ČÍSLICOVÉ SIGNÁLY A SYSTÉMY - CVIČENÍ 8


Návrhy číslicových IIR filtrů založených na analogových prototypech

Butterworthův filtr má maximálně ploché propustné i nepropustné pásmo.

Čebyševův filtr I. typu má zvlnění v propustném pásmu.

Čebyševův filtr II. typu má zvlnění v nepropustném pásmu.

Čebyševovy filtry mají ostřejší přechod než Butherworthovy filtry.

Eliptický filtr má zvlnění v propustném i nepropustném pásmu.

Pro daný řád má nejostřejší přechod (nejužší přechodové pásmo) ze všech filtrů.

Obr.8.1: Zvlnění v propustném pásmu rp a odstup nepropustného pásma rs.

Zvlnění se zadává v dB; pozor na notaci dekadických logaritmů !


Určení řádu IIR filtru a mezních kmitočtů

Vstupní parametry :

rp........zvlnění v propustném pásmu (passband ripple)

rs........odstup nepropustného pásma (stopband ripple)

wp.......normovaný hraniční kmitočet specifikující propustné pásmo

(v případě propustí vektor dvou kmitočtů)

ws.......normovaný hraniční kmitočet specifikující nepropustné pásmo

(v případě propustí a zádrží vektor dvou kmitočtů)

Výstupní parametry :

N........ řád filtru

wn.......normovaný mezní (hraniční, kritický, zlomový) kmitočet

- pokles o 3 dB; v případě pásmových propustí vektor dvou normovaných mezních kmitočtů specifikující dané pásmo

[N,wn]=buttord(wp,ws,rp,rs)

[N,wn]=cheb1ord(wp,ws,rp,rs)

[N,wn]=cheb2ord(wp,ws,rp,rs)

[N,wn]=ellipord(wp,ws,rp,rs)

viz příklad 8.2

Návrhy filtrů požadovaného řádu a mezních kmitočtů

Vstupní parametry :

N.........řád filtru

rp........zvlnění v propustném pásmu (passband ripple)

rs.........odstup nepropustného pásma (stopband ripple)

wn.......normovaný mezní (hraniční, kritický, zlomový) kmitočet

- pokles o 3 dB; v případě propustí a zádrží vektor dvou normovaných mezních kmitočtů specifikující dané pásmo

Výstupní parametry :

b.........vektor koeficientů vstupních vzorků standardní diferenční rovnice

a.........vektor koeficientů výstupních vzorků standardní diferenční rovnice

Pozn.: Tyto koeficienty jsou rovněž používány ve funkcích freqz, filter a v dalších.

viz příklad 8.1

Návrh dolních propustí

[b,a]=butter(N,wn)

[b,a]=cheby1(N,rp,wn)

[b,a]=cheby2(N,rs,wn)

[b,a]=ellip(N,rp,rs,wn)

viz příklad 8.2

Návrh horních propustí

[b,a]=butter(N,wn,'high')

[b,a]=cheby1(N,rp,wn,'high')

[b,a]=cheby2(N,rs,wn,'high')

[b,a]=ellip(N,rp,rs,wn,'high')

viz příklad 8.3

Návrh pásmových propustí

[b,a]=butter(N,[wn1 wn2])

[b,a]=cheby1(N,rp,[wn1 wn2])

[b,a]=cheby2(N,rs,[wn1 wn2])

[b,a]=ellip(N,rp,rs,[wn1 wn2])

[wn1 wn2].......vektor dvou normovaných mezních kmitočtů specifikujících propustné pásmo

viz příklad 8.4

Návrh pásmových zádrží

[b,a]=butter(N,[wn1 wn2],'stop')

[b,a]=cheby1(N,rp,[wn1 wn2],'stop')

[b,a]=cheby2(N,rs,[wn1 wn2],'stop')

[b,a]=ellip(N,rp,rs,[wn1 wn2],'stop')

[wn1 wn2].......vektor dvou normovaných mezních kmitočtů specifikujících nepropustné pásmo

viz příklad 8.5


Příklad 8.1

Uveďte diferenční rovnici rezonátoru s následující přenosovou funkcí. Určete vektory koeficientů b a a.


Příklad 8.2

Určete optimální řád a zlomový kmitočet pro dolní propust s následujícími požadavky:

· filtr je určen pro řečový signál vzorkovaný 8 kHz

· hraniční kmitočet propustného pásma je 800 Hz

· hraniční kmitočet nepropustného pásma je 1000 Hz

· přípustné zvlnění v propustném pásmu je 1 dB

· odstup nepropustného pásma je 20dB

Vyberte a realizujte filtr splňující uvedené požadavky s nejnižším možném řádem. Zobrazte odpovídající kmitočtové charakteristiky.


Příklad 8.3

Určete optimální řád a zlomový kmitočet pro horní propust s následujícími požadavky:

· filtr je určen pro řečový signál vzorkovaný 8 kHz

· hraniční kmitočet propustného pásma je 3200 Hz

· hraniční kmitočet nepropustného pásma je 3000 Hz

· přípustné zvlnění v propustném pásmu je 1 dB

· odstup nepropustného pásma je 20dB

Realizujte Butterworthův filtr optimálního řádu a zobrazte kmitočtové charakteristiky v lineárních a semilogaritmických souřadnicích.


Příklad 8.4

Navrhněte pásmovou propust jako Čebyševův filtr I.typu optimální řádu a splňující požadavky:

· filtr je určen pro řečový signál vzorkovaný 8 kHz

· hraniční kmitočet 1. nepropustného pásma je 800 Hz

· dolní hraniční kmitočet propustného pásma je 1000 Hz

· horní hraniční kmitočet propustného pásma je 3000 Hz

· hraniční kmitočet 2. nepropustného pásma je 3200 Hz

· přípustné zvlnění v propustném pásmu je 1 dB

· odstup nepropustného pásma je 20dB


Příklad 8.5

Navrhněte pásmovou zádrž jako Čebyševův filtr II.typu splňující následující požadavky:

· filtr je určen pro řečový signál vzorkovaný 8 kHz

· hraniční kmitočet 1. propustného pásma je 800 Hz

· dolní hraniční kmitočet nepropustného pásma je 1000 Hz

· horní hraniční kmitočet nepropustného pásma je 3000 Hz

· hraniční kmitočet 2. propustného pásma je 3200 Hz

· přípustné zvlnění v propustném pásmu je 1 dB

· odstup nepropustného pásma je 20dB


Návrh filtrů libovolného tvaru (včetně vícepásmových propustí)

Aproximace funkce lineární po úsecích racionální lomenou funkcí metodou nejmenších čtverců

[b,a]=yulewalk(N,f,m)

Vstupní parametry :

N........řád filtru

f..........vektor normovaného kmitočtu (musí začínat 1 a končit 0, t.j. Nyquistovým kmitočtem)

m.........vektor amplitud (musí odpovídat jednotlivým kmitočtům; délka vektorů f a m musí být stejná !)

Prvky obou vektorů (f, m) představují souřadnice specifikující amplitudovou charakteristiku.

Např.

m = [0 0 1 1 0 0 1 1 0 0];

f = [0 .1 .2 .4 .4 .5 .6 .8 .8 1];

Aproximace vícepásmové propusti funkcí yulewalk řádu 4 a 20 (plná čára).

[b,a] = yulewalk(20,f,m);

viz příklad 8.6


Příklad 8.6

S použitím funkce yulewalk realizujte všechny typy filtrů uvedených v předcházejících příkadech.

a) dolní propust z příkladu 8.2

b) horní propust z příkladu 8.3

c) pásmovou propust z příkladu 8.4

d) pásmovou zádrž z příkladu 8.5

 


Příklad 8.7

S použitím funkce yulewalk realizujte vícepásmovou propust vyhovující požadavkům zadaným graficky