Základy FIR filtrů

Kvě 23, 2021
admin

1.1 Co jsou to „FIR filtry?“

FIR filtry jsou jedním ze dvou základních typů digitálních filtrů používaných v aplikacích digitálního zpracování signálu (DSP), druhým typem je IIR.

1.2 Co znamená „FIR“?

„FIR“ znamená „konečná impulzní odezva“. Pokud vložíte impuls, tj. jeden vzorek „1“ následovaný mnoha vzorky „0“, vyjdou nuly poté, co vzorek „1“ projde zpožděním filtru.

1.3 Proč je impulsní odezva „konečná?“

V běžném případě je impulsní odezva konečná, protože ve FIR není zpětná vazba. Absence zpětné vazby zaručuje, že impulsní odezva bude konečná. Proto je termín „konečná impulsní odezva“ téměř synonymem termínu „bez zpětné vazby“.

Jeli však použita zpětná vazba, a přesto je impulsní odezva konečná, filtr je stále FIR. Příkladem je filtr s klouzavým průměrem, ve kterém se při každém příchodu nového vzorku odečítá (vrací zpět) N-tý předchozí vzorek. Tento filtr má konečnou impulsní odezvu, i když používá zpětnou vazbu: po N vzorcích impulsu bude výstup vždy nulový.

1.4 Jak se vyslovuje „FIR?“

Někteří lidé vyslovují písmena F-I-R; jiní lidé vyslovují, jako by to byl druh stromu. My dáváme přednost stromu. (Rozdíl je v tom, zda mluvíme o filtru F-I-R, nebo o filtru FIR.)

1.5 Jaká je alternativa k filtrům FIR?

DSP filtry mohou být také „Infinite Impulse Response“ (IIR). (Viz časté dotazy k IIR na dspGuru.) Filtry IIR používají zpětnou vazbu, takže při zadání impulsu se výstup teoreticky rozeznívá donekonečna.

1.6 Jaké jsou filtry FIR ve srovnání s filtry IIR?

Každý z nich má své výhody i nevýhody. Celkově však výhody filtrů FIR převažují nad nevýhodami, takže se používají mnohem více než filtry IIR.

1.6.1 Jaké jsou výhody filtrů FIR (ve srovnání s filtry IIR)?

Ve srovnání s filtry IIR mají filtry FIR tyto výhody:

  • Mohou být snadno navrženy tak, aby měly „lineární fázi“ (a obvykle ji mají). Zjednodušeně řečeno, filtry s lineární fází zpožďují vstupní signál, ale nezkreslují jeho fázi.
  • Jsou jednoduché na implementaci. Na většině mikroprocesorů DSP lze výpočet FIR provést zacyklením jediné instrukce.
  • Jsou vhodné pro aplikace s více rychlostmi. Pod pojmem multi-rate rozumíme buď „decimaci“ (snížení vzorkovací frekvence), „interpolaci“ (zvýšení vzorkovací frekvence), nebo obojí. Ať už se jedná o decimaci nebo interpolaci, použití FIR filtrů umožňuje vynechat některé výpočty, čímž se dosáhne významné výpočetní efektivity. Naproti tomu, pokud se použijí filtry IIR, musí se každý výstup vypočítat zvlášť, i když se tento výstup zahodí (takže zpětná vazba bude začleněna do filtru).
  • Mají žádoucí číselné vlastnosti. V praxi musí být všechny filtry DSP implementovány pomocí aritmetiky s konečnou přesností, tj. s omezeným počtem bitů. Použití aritmetiky s konečnou přesností u filtrů IIR může způsobit značné problémy kvůli použití zpětné vazby, ale filtry FIR bez zpětné vazby lze obvykle implementovat s použitím menšího počtu bitů a konstruktér musí řešit méně praktických problémů souvisejících s neideální aritmetikou.
  • Mohou být implementovány s použitím zlomkové aritmetiky. Na rozdíl od filtrů IIR je vždy možné implementovat filtr FIR s použitím koeficientů s velikostí menší než 1,0. Na rozdíl od filtrů IIR je vždy možné implementovat filtr FIR s použitím koeficientů s velikostí menší než 1,0. (Celkové zesílení FIR filtru lze v případě potřeby upravit na jeho výstupu.) To je důležitý aspekt při použití DSP s pevnou řádovou čárkou, protože to výrazně zjednodušuje implementaci.

1.6.2 Jaké jsou nevýhody filtrů FIR (ve srovnání s filtry IIR)?

Ve srovnání s filtry IIR mají filtry FIR někdy tu nevýhodu, že k dosažení dané charakteristiky odezvy filtru vyžadují více paměti a/nebo výpočtu. Také některé odezvy není praktické realizovat pomocí filtrů FIR.

1.7 Jaké pojmy se používají při popisu filtrů FIR?

  • Impulsní odezva – „Impulsní odezva“ filtru FIR je vlastně jen soubor koeficientů FIR. (Pokud do filtru FIR vložíte „impuls“, který se skládá ze vzorku „1“ následovaného mnoha vzorky „0“, výstupem filtru bude sada koeficientů, protože vzorek 1 postupně prochází kolem každého koeficientu a tvoří výstup.)
  • Tap – FIR „tap“ je jednoduše dvojice koeficientů/zpoždění. Počet odboček FIR (často označovaných jako „N“) udává 1) množství paměti potřebné k implementaci filtru, 2) počet potřebných výpočtů a 3) množství „filtrování“, které může filtr provádět; ve skutečnosti více odboček znamená větší útlum stop pásma, menší zvlnění, užší filtry atd.
  • Multiply-Accumulate (MAC) – V kontextu FIR je „MAC“ operace vynásobení koeficientu odpovídajícím zpožděným vzorkem dat a kumulace výsledku. FIR obvykle vyžadují jednu MAC na odbočku. Většina mikroprocesorů DSP implementuje operaci MAC v jediném instrukčním cyklu.
  • Přechodové pásmo – pásmo frekvencí mezi hranami propustného a zastavovacího pásma. Čím užší je přechodové pásmo, tím více odboček je zapotřebí k realizaci filtru. („Malé“ přechodové pásmo má za následek „ostrý“ filtr.)
  • Zpožďovací řádek – Sada paměťových prvků, které realizují „Z^-1“ zpožděné prvky výpočtu FIR.
  • Kruhový buffer – Speciální buffer, který je „kruhový“, protože inkrementace na konci způsobí jeho zabalení na začátek, nebo protože dekrementace od začátku způsobí jeho zabalení na konec. Kruhové vyrovnávací paměti jsou často poskytovány mikroprocesory DSP k realizaci „pohybu“ vzorků přes zpožďovací linku FIR, aniž by se data musela doslova přesouvat v paměti. Když je do vyrovnávací paměti přidán nový vzorek, automaticky nahradí nejstarší vzorek.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.