A7B3ZZS. PŘEDNÁŠKA Návrh filtrů. prosince 24 Návrhy jednoduchých filtrů Návrhy složitějších filtrů Porovnání FIR a IIR Nástroje pro návrh FIR filtrů v MATLABu Nástroje pro návrh IIR filtrů v MATLABu Kvantování koeficientů číslicových filtrů Aplikace Filtrace EEG signálu (FIR) Filtrační syntéza (IIR)
Návrhy jednoduchých filtrů Přímé umístění nul a pólů uvnitř jednotkové kružnice DP, HP, PP, PZ Rezonátory a ekvalizéry Úzkopásmové zádrže Hřebenové filtry
Návrhy složitějších filtrů DP, HP, PP, PZ + specifikace Libovolné frekvenční charakteristiky Výběr filtrů Finite Impulse Response (FIR) Infinite Impulse Response (IIR) Který? Složitost (implementace) Stabilita Lineární fáze
Porovnání FIR a IIR FIR filtr IIR filtr Rovnice Přenosová funkce Stabilita Stabilní Stabilní pokud póly < M m m n x m h n y ) ( ) ( ) ( M n n z n h z H ) ( ) ( M m m N m m m n x b m n y a n y ) ( ) ( ) ( N m m m M m m m z a z b z H ) (
Porovnání FIR a IIR pokrač. Linearita fáze FIR filtr Snadné dosáhnout IIR filtr Velmi obtížné dosáhnout. Složité postupy Složitost Další Pro dosažení specif. požadavků je potřeba mnoha koeficientů Není citlivé na chyby vzniklé zaokrouhlením Požadavek pouze několika koeficientů Pozor na chyby ze zaokrouhlení a přetečení při implementacích DSP
Proč lineární fáze? Lineární fázi vyžaduje řada aplikací z: biomedicíny telekomunikací zpracování obrazů atd.
FIR filtry Impulsní charakteristika FIR filtrů musí být symetrická nebo antisymetrická Typ I Typ II Typ III Typ IV Typ II Typ IV Typ I Typ III
FIR filtry Typ I Sudý počet nul na z = Lichý počet nul na z = - Typ II Sudý počet nul na z = Sudý počet nul na z = - Typ III Lichý počet nul na z = - Sudý počet nul na z = Typ IV Lichý počet nul na z = Lichý počet nul na z = -
FIR filtry Typ I Nemá omezení a lze použít k návrhu všech filtrů Typ II Nevhodný pro HP vždy nula na z = - Typ III Nevhodný pro DP nula na z = Typ IV Vhodný jako PZ nula na z = a nula na z = -
Nástroje pro návrh FIR filtrů v MATLABu Metoda váhových oken Funkce FIR umožňuje návrh DP, HP, PP, PZ
Nástroje pro návrh FIR filtrů v MATLABu Metoda váhových oken Funkce FIR umožňuje návrh DP, HP, PP, PZ Metoda frekvenčního vzorkování Funkce FIR2 umožňuje návrh vícepásmových propustí
Metoda váhových oken Frekvenční charakteristiky ideálních filtrů jsou tvořeny obdélníkovými funkcemi a tedy impulzní odezva je inverzním obrazem obdélníkové funkce, což je funkce sinc(x) = sin(x)/x
Metoda váhových oken
Metoda váhových oken Metoda váhových oken Funkce FIR Vymezení frekvenčního pásma
Metoda váhových oken Metoda váhových oken Funkce FIR Vymezení frekvenčního pásma Převedení na normalizovanou (číslicovou) frekvenci
Metoda váhových oken Metoda váhových oken Funkce FIR Vymezení frekvenčního pásma Převedení na normalizovanou (číslicovou) frekvenci Získání impulsní odezvy pomocí IDFT
Metoda váhových oken Metoda váhových oken Funkce FIR Vymezení frekvenčního pásma Převedení na normalizovanou (číslicovou) frekvenci Získání impulsní odezvy pomocí IDFT Vybrání konečného počtu N vzorků symetricky rozložených kolem
Metoda váhových oken Metoda váhových oken Funkce FIR Vymezení frekvenčního pásma Převedení na normalizovanou (číslicovou) frekvenci Získání impulsní odezvy pomocí IDFT Vybrání konečného počtu N vzorků symetricky rozložených kolem Vážení vhodnou funkcí kvůli potlačení zvlnění
Metoda váhových oken Metoda váhových oken Funkce FIR Vymezení frekvenčního pásma Převedení na normalizovanou (číslicovou) frekvenci Získání impulsní odezvy pomocí IDFT Vybrání konečného počtu N vzorků symetricky rozložených kolem Vážení vhodnou funkcí kvůli potlačení zvlnění Posunutí impulzní odezvy o (N - ) vzorků doprava, abychom získali kauzální filtr
Metoda váhových oken Metoda váhových oken Změna normované frekvence
Metoda váhových oken Změna řádu filtru
Metoda frekvenčního vzorkování Frekvenční charakteristika je Fourierovým obrazem impulzní charakteristiky Impulzní odezva je inverzním obrazem frekvenční charakteristiky
Metoda frekvenčního vzorkování Frekvenční charakteristika je Fourierovým obrazem impulzní charakteristiky Impulzní odezva je inverzním obrazem frekvenční charakteristiky Použití v obrazu spektra si stanovíme průběh frekvenční charakteristiky
Metoda frekvenčního vzorkování Frekvenční charakteristika je Fourierovým obrazem impulzní charakteristiky Impulzní odezva je inverzním obrazem frekvenční charakteristiky Použití v obrazu spektra si stanovíme průběh frekvenční charakteristiky charakteristiku navzorkujeme s vhodným počtem bodů o N koeficientech
Metoda frekvenčního vzorkování Frekvenční charakteristika je Fourierovým obrazem impulzní charakteristiky Impulzní odezva je inverzním obrazem frekvenční charakteristiky Použití v obrazu spektra si stanovíme průběh frekvenční charakteristiky charakteristiku navzorkujeme s vhodným počtem bodů o N koeficientech provedeme inverzní DFT, kterou získáme impulzní odezvu o N koeficientech
Metoda frekvenčního vzorkování funkce FIR2
Remezův algoritmus Rovnoměrná aproximace v propustném i nepropustném pásmu
Výhody a nevýhody filtrů FIR Poměrně jednoduchý a intuitivní návrh
Výhody a nevýhody filtrů FIR Poměrně jednoduchý a intuitivní návrh Filtr je nerekursivní (bez zpětných vazeb), je tudíž vždy stabilní (nemůže způsobit kmitání)
Výhody a nevýhody filtrů FIR Poměrně jednoduchý a intuitivní návrh Filtr je nerekursivní (bez zpětných vazeb), je tudíž vždy stabilní (nemůže způsobit kmitání) Filtry FIR mohou zajistit lineární průběh fázové charakteristiky
Výhody a nevýhody filtrů FIR Poměrně jednoduchý a intuitivní návrh Filtr je nerekursivní (bez zpětných vazeb), je tudíž vždy stabilní (nemůže způsobit kmitání) Filtry FIR mohou zajistit lineární průběh fázové charakteristiky S filtry FIR se hůře dosahuje velká strmost přechodu mezi propustným a nepropustným pásmem
Výhody a nevýhody filtrů FIR Poměrně jednoduchý a intuitivní návrh Filtr je nerekursivní (bez zpětných vazeb), je tudíž vždy stabilní (nemůže způsobit kmitání) Filtry FIR mohou zajistit lineární průběh fázové charakteristiky S filtry FIR se hůře dosahuje velká strmost přechodu mezi propustným a nepropustným pásmem Pro dosažení velké strmosti jsou třeba filtry s mnoha koeficienty, takové filtry mají dlouhé zpoždění
Nástroje pro návrh IIR filtrů v MATLABu Umožňují navrhovat filtry požadovaných typů (DP, HP, PP, PZ), zvolených pásem, hodnot útlumů a průběhů Čtyři typy průběhů (podle plochosti charakteristiky) Butterworth Čebyšev Čebyšev 2 Eliptický maximálně plochý průběh bez zvlnění buttord.m, butter.m zvlnění v propustném pásmu chebord.m, cheby.m zvlnění v nepropustném pásmu cheb2ord.m, cheby2.m zvlnění povoleno v obou pásmech ellipord.m, ellip.m
IIR filtry
Nástroje pro návrh IIR filtrů v MATLABu Vyberte a realizujte filtr splňující uvedené požadavky s nejnižším možném řádem filtr je určen pro řečový signál vzorkovaný 8 khz hraniční kmitočet propustného pásma je 8 Hz hraniční kmitočet nepropustného pásma je Hz přípustné zvlnění v propustném pásmu je db odstup nepropustného pásma je 2dB [N,wn]=buttord(wp,ws,rp,rs) [b,a]=butter(n,wn) [b,a]=cheby(n,rp,wn) [b,a]=cheby2(n,rs,wn) [b,a]=ellip(n,rp,rs,wn) N Fm Butterworth 3 85 Čebyšev I 6 8 Čebyšev II 6 94 Eliptický 4 8
Nástroje pro návrh IIR filtrů v MATLABu DP wp=8/4; %mezni kmitocet propustneho pasma ws=/4; %mezni kmitocet nepropust. pasma rp=; %zvlneni v propustnem pasmu rs=2; %potlaceni v nepropustnem pasmu [n,wn]=ellipord(wp,ws,rp,rs); [b,a]=ellip(n,rp,rs,wn);
Nástroje pro návrh IIR filtrů v MATLABu Realizujte Butterworthův filtr optimálního řádu a zobrazte kmitočtové charakteristiky filtr je určen pro řečový signál vzorkovaný 8 khz hraniční kmitočet propustného pásma je 32 Hz hraniční kmitočet nepropustného pásma je 3 Hz přípustné zvlnění v propustném pásmu je db odstup nepropustného pásma je 2dB N Fm Butterworth 3 349 Čebyšev I 6 32 Čebyšev II 6 358 Eliptický 4 32
Nástroje pro návrh IIR filtrů v MATLABu HP wp=32/4; ws=3/4; rp=; rs=2; [n,wn]=buttord(wp,ws,rp,rs); [b,a]=butter(n,wn,'high');
Nástroje pro návrh IIR filtrů v MATLABu PP - Čebyševův filtr I.typu filtr je určen pro řečový signál vzorkovaný 8 khz hraniční kmitočet. nepropustného pásma je 8 Hz dolní hraniční kmitočet propustného pásma je Hz horní hraniční kmitočet propustného pásma je 3 Hz hraniční kmitočet 2. nepropustného pásma je 32 Hz přípustné zvlnění v propustném pásmu je db odstup nepropustného pásma je 2dB wp=[/4 3/4]; ws=[8/4 32/4]; rp=; rs=2; [n,wn]=chebord(wp,ws,rp,rs); [b,a]=cheby(n,rp,wn);
Nástroje pro návrh IIR filtrů v MATLABu PZ - Čebyševův filtr II.typu filtr je určen pro řečový signál vzorkovaný 8 khz hraniční kmitočet. nepropustného pásma je 8 Hz dolní hraniční kmitočet propustného pásma je Hz horní hraniční kmitočet propustného pásma je 3 Hz hraniční kmitočet 2. nepropustného pásma je 32 Hz přípustné zvlnění v propustném pásmu je db odstup nepropustného pásma je 2dB ws=[/4 3/4]; wp=[8/4 32/4]; rp=; rs=2; [n,wn]=cheb2ord(wp,ws,rp,rs); [b,a]=cheby2(n,rs,wn,'stop');
Nástroje pro návrh IIR filtrů v MATLABu Návrh filtrů libovolného tvaru (včetně vícepásmových propustí) m = [ ]; f = [..2.4.4.5.6.8.8 ]; [b,a] = yulewalk(2,f,m);
yulewalk Nástroje pro návrh IIR filtrů v MATLABu rad = 4; db = [ 2 2 ]; f = [.2.25.75.8 ]; m =.^(-db/2); [b,a]=yulewalk(rad,f,m);
Výhody a nevýhody filtrů IIR Filtr je rekursivní (se zpětnými vazbami), může být nestabilní (pro amplitudově omezený vstupní signál by generoval signál s neustále rostoucími amplitudami)
Výhody a nevýhody filtrů IIR Filtr je rekursivní (se zpětnými vazbami), může být nestabilní (pro amplitudově omezený vstupní signál by generoval signál s neustále rostoucími amplitudami) Filtr IIR bude stabilní, pokud všechny jeho póly leží uvnitř jednotkové kružnice
Výhody a nevýhody filtrů IIR Filtr je rekursivní (se zpětnými vazbami), může být nestabilní (pro amplitudově omezený vstupní signál by generoval signál s neustále rostoucími amplitudami) Filtr IIR bude stabilní, pokud všechny jeho póly leží uvnitř jednotkové kružnice S filtry IIR lze dosáhnout velmi strmé přechody mezi propustným a nepropustným pásmem, a to i při malém řádu filtru
Výhody a nevýhody filtrů IIR Filtr je rekursivní (se zpětnými vazbami), může být nestabilní (pro amplitudově omezený vstupní signál by generoval signál s neustále rostoucími amplitudami) Filtr IIR bude stabilní, pokud všechny jeho póly leží uvnitř jednotkové kružnice S filtry IIR lze dosáhnout velmi strmé přechody mezi propustným a nepropustným pásmem, a to i při malém řádu filtru Filtry IIR nemají lineární průběh fázové charakteristiky
Imaginary Part Imaginary Part db db Kvantování koeficientů číslicových filtrů Kvantování koeficientů FIR filtrů puvodni kvantovany -2-2 -4-4 -6.5 w/p puvodni 2 9-6.5 w/p kvantovany.5 8-2 2 4 6 Real Part -.5 - - Real Part
Imaginary Part Imaginary Part db db Kvantování koeficientů číslicových filtrů Kvantování koeficientů IIR filtrů puvodni kvantovany -2-2 -4-4 -6-6 -8.5 w/p puvodni -8.5 w/p kvantovany.5.5 -.5 -.5 - - -.5.5 Real Part - - -.5.5 Real Part
Imaginary Part Kvantování koeficientů číslicových filtrů řečový signál je vzorkován frekvencí 8 khz mezní frekvence dolní propusti je 5 Hz zvlnění v propustném pásmu by mělo být menší než,5 db odstup nepropustného pásma alespoň 5 db.8.6.4.2 -.2 -.4 -.6 -.8 - - -.5.5 Real Part eliptický filtr splňující uvedené požadavky by měl být 8. řádu s normovanou mezní frekvencí,25 (tj. 5 Hz)
H3(f) [db] H2(f) [db] H(f) [db] Kvantování koeficientů číslicových filtrů 2 6 des.mist -2-4 -6-8 5 5 2 25 3 35 4 2 6 des.mist -2-4 -6-8 5 5 2 25 3 35 4 2 5 des.mist -2-4 -6-8 5 5 2 25 3 35 4 ---> f[hz]
---> w3[n] ---> w2[n] ---> w[n] Kvantování koeficientů číslicových filtrů. -. 6 des.mist 2 4 6 8 2 4 6 8 2. -. 6 des.mist 2 4 6 8 2 4 6 8 2 x 5 5 des.mist - 2 4 6 8 2 4 6 8 2 ---> n
Kvantování koeficientů číslicových filtrů
Imaginary Part Kvantování koeficientů číslicových filtrů Příklad kaskádního spojení IIR filtrů 2.řádu 2 3 des.mista -2-4 -6-8 5 5 2 25 3 35 4 a).5..5.5 -.5 -.5 2 3 4 b) - - -.5.5 c)
Kvantování koeficientů číslicových filtrů f_s = 8; % vzorkovaci frekvence fn = 5/(f_s/2); % normovany kmitocet proustneho pasma f2n = 54/(f_s/2); % normovany kmitocet neproustneho pasma rp =.5; % zvlneni v db v propustnem pasmu rs = 5; % odstup v db nepropustneho pasma [n,fn]=ellipord(fn,f2n,rp,rs) [b,a] = ellip(8,.5,5,.25); % vypocet koeficientu filtru [h,f]=freqz(b,a,52,f_s); % vypocet frekvencnich charakteristik plot(f,2*log(abs(h))) % vykresleni modulove charakteristiky % Koeficienty filtru b a a jsou v MATLABu počítány s přesností 6 číslic b2=round(b*.e6)./e6; a2=round(a*.e6)./e6; b3=round(b*.e5)./e5; a3=round(a*.e5)./e5; % zaokrouhleni koeficientu na 6 des.mist % zaokrouhleni koeficientu na 5 des.mist
---> h[n] ---> h[n] ---> h[n] Kvantování koeficientů číslicových filtrů Limitní cykly y[n]=x[n]-a*y[n-], a=,75 kvantovani 4-mi bity.5 -.5-2 3 a=-,5.5 -.5-2 3.8.6.4.2 2 3 ---> n.8.6.4.2 2 3 ---> n
Filtrace EEG signálu Filtrace EEG signálu Pásmo Amplituda Typická činnost <,5 Hz Pohybové a oční artefakty,5-4 Hz Velká Vlny vznikají v hlubokém spánku, tranzu 4-8 Hz Střední Souvisí se stavem během denního snění, jsou příznačné pro některé psychické poruchy 8-3 Hz Malá Souvisí s relaxací 3-3 Hz Nejmenší Souvisí s iritací, zlostí, frustrací, starostmi, duševním napětím; vznikají rovněž při usilovném přemýšlení > 3 EMG aktivita REM 6-7 Hz Rychlé pohyby očí (Rapid eye movement) během spánku.5 Frekvencni charakteristiky FIR filru pro rozklad EEG signalu vlny:.. 4 Hz 2 3 4 5 6 vlny: 4.. 8 Hz.5 2 3 4 5 6 alfa vlny: 8.. 3 Hz.5 2 3 4 5 6 vlny: 3.. 3 Hz.5 2 3 4 5 6 > 3 Hz.5 2 3 4 5 6 soucet propusti.5 2 3 4 5 6 --> frekvence EEG signal - 2 3 4 5 6 7 8 vlny:.. 4 Hz -.2 2 3 4 5 6 7 8 vlny: 4.. 8 Hz -.2. 2 3 4 5 6 7 8 alfa vlny: 8.. 3 Hz -..2 2 3 4 5 6 7 8 vlny: 3.. 3 Hz -.2. 2 3 4 5 6 7 8 > 3 Hz -. 2 2 3 4 5 6 7 8 soucet filtrovanych signalu -2 2 3 4 5 6 7 8
Filtrační syntéza I Syntetické zvuky s použitím IIR filtrů Typ filtru Parametry filtru [Hz] [Hz] [db] [db] Vstupní signál Výstupní signál DP 6 6 4 Obdélník Flétna HP 34 34 4 Pila Trubka PP [7 24] [7 34] 4 Obdélník Hoboj.5 sinusovka.8.6 Amplitudove spektrum.5 fletna.8.6 Amplitudove spektrum -.5-2 obdelnik.4.2 2 3 4 Amplitudove spektrum.5 -.5-2 trubka.4.2 2 3 4 Amplitudove spektrum..5 -.5.5.5 -.5.5-2 pila.5 2 3 4 Amplitudove spektrum.8.6.4-2 hoboj.5 2 3 4 Amplitudove spektrum.3.2 -.5-2.2 2 3 4 -.5-2. 2 3 4
ellip cheby2 cheby butter Filtrační syntéza II Syntetické zvuky s použitím IIR filtrů DOLNI PROPUST HORNI PROPUST PASMOVA PROPUST.5 2 4.5 2 4.5 2 4.5 2 4 ---> f.5 2 4.5 2 4.5 2 4.5 2 4 ---> f.5 2 4.5 2 4.5 2 4.5 2 4 ---> f
DP HP PP Filtrační syntéza III.5.5.5 2 4 2 4 2 4 ---> f [Hz] ---> f [Hz] ---> f [Hz] f=[ 6/4 6/4 4/4]; m=[ ]; [dpb,dpa]=yulewalk(5,f,m); subplot(,3,), plot(abs(freqz(dpb,dpa,4))) axis([ 4 -..]) xlabel('---> f [Hz]'), legend('dp') f=[ 34/4 34/4 4/4]; m=[ ]; [hpb,hpa]=yulewalk(5,f,m); subplot(,3,2), plot(abs(freqz(hpb,hpa,4))) axis([ 4 -..]) xlabel('---> f [Hz]'), legend('hp') f=[ 7/4 7/4 24/4 34/4 4/4]; m=[ ]; [ppb,ppa]=yulewalk(5,f,m); subplot(,3,3), plot(abs(freqz(ppb,ppa,4))) axis([ 4 -..]) xlabel('---> f [Hz]'), legend('pp') % 'DP' % 'HP' % 'PP'
Frequency Filtrační syntéza IV.9.8.7.6.5.4.3.2. 2 4 6 8 2 4 6 Time