Úvod do číslicového zpracování signálů - UCZ
Cvičení 2
Číslicový integrátor | Číslicový diferenciátor | Funkce filter | Konvoluce | Frekvenční charakteristiky | Rozložení nul a pólů

kodovani ISO 8859-2
Úloha 2.1 "Číslicový integrátor"

Pro jednoduchou číslicovou soustavu uvedenou na obrázku sestavte diferenční rovnici, její obraz v Z-transformaci a  rovnici pro přenos.Realizujte soustavu pomocí cyklu for a sledujte její chování pro různé druhy vstupních posloupností, uvažte vliv počátečních podmínek soustavy.

Zadaná soustava

Parametry soustavy




Řešení :
Diferenční rovnice popisující soustavu

Obraz diferenční rovnice v Z-transformaci

Výpočet přenosu

Realizace soustavy pomocí cyklu for

%generace signalu
N = 100;
n = [1:N];
%sig = sin(n*2*pi/30);
%sig = square(n*2*pi/30);
sig = sawtooth(n*2*pi/30);
figure(1);
stem(sig);
%pocatecni nastaveni
b_0 = 1;
a_1 = -1;
y_new = 0;
y_old = 0;
x = 0;
output = [];
%filtrace
for i = 1:100
   x = sig(i);
   y_new = (b_0*x) - (a_1*y_old);
   y_old = y_new;
   output = [output y_new];
end
%vysledky
figure(2);
stem(output);

Vygenerované vstupní posloupnosti

Odpovídající výstupní posloupnosti


Úloha 2.2 "Číslicový diferenciátor"

Pro jednoduchou číslicovou soustavu uvedenou na obrázku sestavte diferenční rovnici, její obraz v Z-transformaci a  rovnici pro přenos. Realizujte soustavu pomocí cyklu for a sledujte její chování pro různé druhy vstupních posloupností, včetně odezvy na jednotkový impuls.

Zadaná soustava

Parametry soustavy



Úloha 2.3 "Funkce filter"

Číslicové systémy odpovídající svou strukturou jednoduchým filtrům FIR a IIR se v programu Matlab často realizují pomocí funkce filter. Nastudujte si pomocí nápovědy tuto funkci a s jejím využitím znovu realizujte úlohy 2.1 a 2.2.


Řešení :
Pro úlohu 2.1 bude část %filtrace vypadat následujícím způsobem

output = [];
output = filter([b_0],[1,a_1],sig);


Úloha 2.4 "Konvoluce"

Konvoluce dvou posloupností je dána vztahem

Pro následující dvě zadané posloupnosti "ručně" vypočítejte prvek y[1] konvoluční posloupnosti. Pomocí funkcí conv a filter vypočtěte celou konvoluční posloupnost.

Zadané posloupnosti



Úloha 2.5 "Frekvenční charakteristiky"

Pomocí nápovědy v Matlabu nastudujte použití funkce freqz pro zobrazení frekvenčních charakteristik filtrů. Následně pak pomocí těchto funkcí zobrazte frekvenční a fázovou charakteristiku pro integrátor i derivátor viz. úlohy 2.1 a 2.2.


Řešení :
Pro integrátor bude nejjednodušší zápis vypadat přibližně takto (koeficient a(1) byl nahrazen číslem -0.999 tak, aby soustava nebyla na mezi stability)
freqz(1 ,[1 -0.999])

Úloha 2.6 "Rozložení nul a pólů"

Pro zobrazení nul a pólů přenosové funkce H(z) Matlab disponuje funkcí zplane. Využijte tuto funkci pro zobrazení nul a pólů přenosové funkce číslicového integrátoru a diferenciátoru.


Řešení :
Pro integrátor platí následující zápis
zplane([1 0],[1 -1])
Pomocí nápovědy se pokuste zjistit, jaký je rozdíl ve významu sloupcových a řádkových vektorů jako parametrů této funkce.

Tento text vznikl jako podklad pro cvičení z předmětu UCZ na katedře teorie obvodů ČVUT. Pro přípravu těchto stránek bylo využito informací z webových stránek Číslicové Signály a Systémy (CSS), kde je také možno najít další zajímavé informace :-)

Jan Novotný: novotnj2@feld.cvut.cz 29.9.2001