%% B2B31CZS cvičení - Vlastnosti diskrétních systémů vyšších řádů.
% Shrnutí nejdůležitejších vlastnosti Z-transformace je k dispozici zde - Z-transformace.pdf
% Prohledněte si také interaktivní nástroj pro vizualizaci filtrů pomocí příkazu fvtool (analogický nástroj k wvtool z dřívějška)

% help fvtool

%
%% Úkoly:
%% Obecné vlastnosti systémů 2. řádu, zpětná Z-transformace systémů vyšších řádů.
% Pro diskrétní systémy popsané následujícími diferenčními rovnicemi nakreslete blokové schéma, pro systémy popsané blokovým schématem určete diferenční rovnici. Dále určete přenosovou funkci, nulové body a póly přenosové funkce, impulsovou odezvu a odhadněte frekvenční charakteristiku systému.
%% Systém 1
% y\left\lbrack n\right\rbrack =0\ldotp 4455\cdot x\left\lbrack n-1\right\rbrack +1\ldotp 2728\cdot y\left\lbrack n-1\right\rbrack -0\ldotp 81\cdot y\left\lbrack n-2\right\rbrack

% y[n] = 0.4455 x[n-1] + 1.2728 y[n-1] - 0.81 y[n-2]

% b =
% a =

% Z-rovina

% Frekvenční odezva

% Impulzní odezva

%
%% Systém 2
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack +2\cdot x\left\lbrack n-1\right\rbrack +1\ldotp 5\cdot y\left\lbrack n-1\right\rbrack -y\left\lbrack n-2\right\rbrack

% y[n] = x[n] + 2 x[n-1] + 1.5 y[n-1] - y[n-2]

% b =
% a =

% Z-rovina

% Frekvenční odezva

% Impulzní odezva

%
%% Systém 3
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack +0\ldotp 81\cdot x\left\lbrack n-2\right\rbrack

% y[n] = x[n] + 0.81 x[n-2]

% b =
% a =

% Z-rovina

% Frekvenční odezva

% Impulzní odezva

%
%% Systém 4
% "All=pole" filtr s dvojicí komplexně sdružených pólů:
%% p_{1,2} =0\ldotp 9\cdot e^{\pm j\frac{\pi }{4}}

% p12 = 0.9*exp(+-1i*pi/4)
poles = [0.9*exp(1i*pi/4), 0.9*exp(-1i*pi/4)];

% Nápověda: 
% help poly

% b =
% a =

% Z-rovina

% Frekvenční odezva

% Impulzní odezva

%
%% Systémy 5
% Sledujte změnu rozložení nulových bodů a pólů resp. frekvenční charakteristiky pro systémy (stejné jako systém 3, akorát s jinými koeficienty u členu 2. řádu, resp. prohozenými a a b - FIR vs. IIR):
% \begin{array}{l}
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack +0\ldotp 81\cdot x\left\lbrack n-2\right\rbrack \\
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack +0\ldotp 64\cdot x\left\lbrack n-2\right\rbrack \\
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack +0\ldotp 925\cdot x\left\lbrack n-2\right\rbrack \\
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack -0\ldotp 81\cdot y\left\lbrack n-2\right\rbrack \\
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack -0\ldotp 64\cdot y\left\lbrack n-2\right\rbrack \\
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack -0\ldotp 925\cdot y\left\lbrack n-2\right\rbrack
% \end{array}

b_2 =0.86
close all
% b = 
% a = 

% Z-rovina

% Frekvenční odezva

% Impulzní odezva

%
%% Filtrace 1
% Vyberte si jeden z předchozích systémů a filtrujte jím (pomocí funkce filter) řečové signály (binární řečové signály lze načíst pomocí fce loadbin.m):
% sm2.bin - (promluva "1 0 6 4 7" - muž)
% sf2.bin - (promluva "1 0 6 4 7" - žena)
% sm1.bin - (promluva "Mobilní hlasová shránka" - muž - déšť)
% sf1.bin - (promluva "Mobilní hlasová shránka" - žena)
% Všechny řečové signály mají vzorkovací frekvenci fs = 16kHz.
% Sledujte spektrální výkonové hustoty resp. spektrogramy filtrovaných signálů.
% Výsledek filtrace řečových signálů ověřte ilustrativním poslechem (funkce sound).

% help sound

% Identicky jako v minulém cvičení
sig1 = loadbin('sm2.bin'); % Speech signal - male voice
fs = 16000;

% Spektrogramy před a po filtraci


%
%% Filtrace 2
% Filtrujte systémem č. 4 bílý šum délky 10000 vzorků s rovnoměrným rozložením a zobrazte:
% Časové průběhy vstupního a výstupního signálu
% Spektrogramy vstupního a výstupního signálu počítané ze segmentu délky 256 vzorků
% Krátkodobé výkonové spektrum vstupního a výstupního signálu počítané ze segmentu délky 256 vzorků
% Oboustraný vyhlazený odhad PSD vstupního a výstupního signálu, délku krátkodobého segmentu volte 256 vzorků
% Frekvenční charakteristiku použitého systému

N = 10000;
wlen = 256;
% sig2 =

% Spektrogramy před a po filtraci


% Výkonové spektrum z krátkodobého signálu před a po filtraci


% Vyhlazené PSD před a po filtraci


%
%% Další systémy
% y\left\lbrack n\right\rbrack =1\ldotp 5x\left\lbrack n\right\rbrack +0\ldotp 5x\left\lbrack n-1\right\rbrack -0\ldotp 1y\left\lbrack n-1\right\rbrack +0\ldotp 72y\left\lbrack n-2\right\rbrack
%          2.
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack +x\left\lbrack n-1\right\rbrack +\ldotp \ldotp \ldotp \ldotp +x\left\lbrack n-9\right\rbrack
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack -x\left\lbrack n-3\right\rbrack
% y\left\lbrack n\right\rbrack =x\left\lbrack n\right\rbrack -x\left\lbrack n-9\right\rbrack