Żpracování signálů a obrazů 2. Číslicová filtrace.......... Petr Česák Zimní semestr 2002/2003
. 2. Číslicová filtrace FIR+IIR ZADÁNÍ Účelem cvičení je seznámit se s průběhem frekvenčních charakteristik a impulsních odezev základních typů číslicových filtrů FIR a IIR (dolní propusti, horní propusti, pásmové propusti, pásmové zádrže) a demonstrovat použití těchto filtrů pro filtraci zadaných signálů. ÚKOL MEŘENÍ Filtry FIR 1. Zobrazte a přeneste do sešitu frekvenční odezvu dolní propusti FIR pro parametry nastavené následovně: Řád=100, Fvz=1000Hz, fzlom1=60hz, obdélníkové okno. Zjistěte šířku přechodového pásma filtru a amplitudu překývnutí amplitudové charakteristiky. 2. Totéž proveďte pro stejný filtr, ale upravený oknem Hamming. Porovnejte velikost překývnutí amplitudové frekvenční charakteristiky a šířku přechodového pásma s předchozím případem. 3. Totéž proveďte pro stejný filtr, ale upravený jiným oknem z nabízeného výběru a pro řád filtru M=200. Porovnejte velikost překývnutí amplitudové frekvenční charakteristiky a šířku přechodového pásma s předchozím případem. 4. Pomocí výše uvedených filtrů filtrujte vstupní harmonický signál s parametry: amplituda=1v, offset=2v, fsignal=100hz, počet bodů N=256. Zakreslete do sešitu průběhy vstupních a výstupních signálů a určete přibližně zpoždění výstupu filtru proti vstupu. Filtry IIR 5. Zobrazte a zakreslete do sešitu frekvenční odezvu dolní propusti Butterworth IIR pro implicitně nastavené parametry programem (Řád=3, Fvz=1000Hz, fzlom1=60hz). Zjistěte šířku přechodového pásma filtru (pro povolené kolísání v propustném pásmu 0,1 a v nepropustném pásmu 0,01). 6. Totéž proveďte pro stejný typ filtru se stejným nastavením, ale řád filtru volte 10. Porovnejte šířku přechodového pásma filtru s předchozím případem. 7. Totéž proveďte pro stejný filtr jako v bodě 5, ale pro filtry Chebychev 1, Chebychev 2 a Elliptic. Zakreslete přibližně amplitudové frekvenční charakteristiky filtrů a porovnejte je s předchozími případy. Petr Česák 1
8. Filtrujte vstupní harmonický signál s parametry (amplituda=1v, offset=2v, Fsignal=100Hz) pomocí filtru s parametry (řád=3, Fvz=1000Hz, fzlom1=50hz, fzlom2=150hz, filtr Butterworth) v konfiguraci dolní propust, horní propust, pásmová propust a pásmová zádrž. Do sešitu přibližně zaznamenejte frekvenční charakteristiky filtrů, vstupní a výstupní signály. Určete přibližně zpoždění výstupu filtru. 9. Prohlédněte si zdrojový soubor programu pro návrh filtru IIR.M. POKYNY Program pro návrh filtrů FIR spustíte příkazem FIR_CZ (česká verze) a program pro návrh filtrů IIR spustíte příkazem IIR_CZ (česká verze) v příkazovém okně Matlab Command Window. Pro usnadnění práce lze spustit současně s Matlabem libovolný textový editor (např. MS Word). Nemusíte pak pracně obkreslovat obrázky změřených závislostí, ale pomocí příkazu Edit-Copy (Alt+PrintScreen) uložit aktivní obrázek do schránky a vyvolat jej pomocí příkazu Paste (Vlož - Shift+Insert) ve zvoleném textovém editoru. Přepínání mezi aplikacemi (Matlab, Word, atd.) se provádí stiskem kláves Alt+Tab. Zájemci mohou uložit hodnoty výpočtu do specifikovaného souboru do aktuálního adresáře. Ovládání vlastního programu je jednoduché. Kliknutím myší na zvoleném tlačítku nastavíte daný parametr nebo aktivujete danou operaci. Spočtení filtru a následnou filtraci dle nastavených parametrů provedete kliknutím na tlačítko Start (Run). Zvětšení (zoom) provedete označením bloku v grafu. Zvětšení zrušíte dvojitým kliknutím kdekoliv v grafu. Další vysvětlení funkce tlačítek lze nalézt pod tlačítkem Info. Náplň cvičení spočívá v praktické demonstraci vybraných možností SIGNAL PROCESSING TOOLBOXu programu MATLAB souvisící s analýzou a návrhem číslicových filtrů. MATLAB je otevřený systém, umožňující dopsání vlastních částí programu a jejich spolupráci s firmou připravenými podprogramy. Možné formy popisu LTID systému využívané MATLABEM: tf (transfer function) - přenosová funkce (podíl polynomů s koeficienty b,a), [z,p,n] (zeroes, poles,order of filter) - podíl součinů kořenových dvojčlenů, nuly, póly, řád filtru, [A,B,C,D] - znázornění ve stavovém prostoru; IIR filtry lze vyjádřit i ve tvaru SOS (second order sections), tj. v kaskádní formě složené z racionálních lomených funkcí druhého řádu. Mezi těmito formami je možno přecházet. Petr Česák 2
Návrh číslicového filtru v MATLABU spočívá v zapsání jediného příkazu; také k znázornění frekvenční charakteristiky filtru resp. jeho impulsní odezvy stačí jediný příkaz. Implementovány jsou tyto metody: pro FIR filtry: REMEZ (Parksův-McClellanův algoritmus) a FIRLMS (návrh filtrů FIR s obecnou frekvenční odezvou pomocí metody minimalizace čtverců odchylek); pro IIR filtry: YULWALK (metoda umožňující návrh IIR filtru s obecnou frekvenční charakteristikou, tedy nikoliv jen základní frekvenčně selektivní filtry); Ovládání vlastního programu je jednoduché. Kliknutím myší na zvoleném tlačítku nastavíte daný parametr nebo aktivujete danou operaci. Spočtení FFT dle nastavených parametrů provedete kliknutím na tlačítko Start (Run). Zvětšení (zoom) provedete označením bloku v grafu. Zvětšení zrušíte dvojitým kliknutím kdekoliv v grafu. Další vysvětlení funkce tlačítek lze nalézt pod tlačítkem Info. 1. úkol měření Parametry: Řád=100, Fvz=1000Hz, fzlom1=60hz, obdélníkové okno 65 Hz Překývnutí amplitudové charakteristiky: 0,13dB (14%) Petr Česák 3
2. úkol měření Parametry: Řád=100, Fvz=1000Hz, fzlom1=60hz, Hamming okno 24 Hz Překývnutí amplitudové charakteristiky: 0dB (0%) Při porovnání s předchozím případem má tento filtr užší šířku přechodového pásma a zároveň nemá žádné překývnutí. 3. úkol měření Parametry: Řád=200, Fvz=1000Hz, fzlom1=60hz, von Hann okno 13 Hz Překývnutí amplitudové charakteristiky: 0dB (0%) Petr Česák 4
Při porovnání s předchozím případem má tento filtr užší šířku přechodového pásma a stejnou velikost překývnutí. 4. úkol měření Při vstupním harmonickém signálu s parametry: amplituda=1v, offset=2v, fsignal=100hz, počet bodů N=256Filtr má filtr z 1. úkolu měření zpoždění: 80ns z 2. úkolu měření zpoždění: 70ns Petr Česák 5
z 3. úkolu měření zpoždění: 130ns 5. úkol měření Butterworth IIR s parametry: Řád=3, Fvz=1000Hz, fzlom1=60hz 142 Hz Petr Česák 6
6. úkol měření Butterworth IIR s parametry: Řád=10, Fvz=1000Hz, fzlom1=60hz 38 Hz Při porovnání s předchozím případem má tento filtr užší šířku přechodového pásma. 7. úkol měření Chebychev 1 IIR s parametry: Řád=3, Fvz=1000Hz, fzlom1=60hz 175 Hz Petr Česák 7
Chebychev 2 IIR s parametry: Řád=3, Fvz=1000Hz, fzlom1=60hz 94 Hz Elliptic IIR s parametry: Řád=3, Fvz=1000Hz, fzlom1=60hz 115 Hz Při porovnání s předchozím případem mají tyto filtry horší vlastnosti (šířku přechodového pásma, průběh v propustném pásmu). U Chebychev 2 IIR je velmi znatelný pokles přenosu již před 60Hz. Petr Česák 8
8. úkol měření Při filtrování vstupního harmonického signálu s parametry: amplituda=1v, offset=2v, Fsignal=100Hz pomocí filtru s parametry: řád=3, Fvz=1000Hz, fzlom1=50hz, fzlom2=150hz, filtr Butterworth v konfiguraci: dolní propust má zpoždění: 20ms horní propust má zpoždění: 15ms Petr Česák 9
pásmová propust má zpoždění: 35ms pásmová zádrž má zpoždění: 50ms ZÁVĚR Seznámili jsme se s průběhem frekvenčních charakteristik a impulsních odezev základních typů číslicových filtrů FIR a IIR (dolní propusti, horní propusti, pásmové propusti, pásmové zádrže) Petr Česák 10