Digitální filtr - Digital filter

Obecný filtr s konečnou impulsní odezvou s n stupni, každý s nezávislým zpožděním, d i a zesílením zesílení, a i .

Ve zpracování signálu , je digitální filtr je systém, který provádí matematické operace na vzorku , diskrétního signálu snížit nebo zvýšit některé aspekty tohoto signálu. To je na rozdíl od jiného hlavního typu elektronického filtru , analogového filtru , což je typicky elektronický obvod pracující na analogových signálech s nepřetržitým časem .

Digitální filtrační systém se obvykle skládá z převodníku analogově-digitálního signálu (ADC) pro vzorkování vstupního signálu, dále za mikroprocesorem a některými periferními součástmi, jako je paměť pro ukládání dat a koeficienty filtrování atd. Programové instrukce (software) běžící na mikroprocesor implementuje digitální filtr provedením nezbytných matematických operací s čísly přijatými od ADC. V některých vysoce výkonných aplikacích se místo univerzálního mikroprocesoru používá specializovaný procesor FPGA nebo ASIC nebo specializovaný procesor digitálního signálu (DSP) se specifickou paralelní architekturou pro urychlení operací, jako je filtrování.

Digitální filtry mohou být dražší než ekvivalentní analogový filtr kvůli jejich zvýšené složitosti, ale jsou praktické v mnoha provedeních, která jsou nepraktická nebo nemožná jako analogové filtry. Digitální filtry lze často vyrobit ve velmi vysokém řádu a často se jedná o filtry s konečnou impulsní odezvou, což umožňuje lineární fázovou odezvu. Při použití v kontextu analogových systémů v reálném čase mají digitální filtry někdy problematickou latenci (rozdíl v čase mezi vstupem a odezvou) v důsledku přidružených převodů analogových na digitální a digitálních analogových signálů a vyhlazování filtry nebo kvůli jiným zpožděním při jejich implementaci.

Digitální filtry jsou samozřejmostí a nezbytným prvkem každodenní elektroniky, jako jsou rádia , mobilní telefony a AV přijímače .

Charakterizace

Digitální filtr je charakterizován přenosovou funkcí nebo ekvivalentní diferenciální rovnicí . Matematická analýza přenosové funkce může popsat, jak bude reagovat na jakýkoli vstup. Navrhování filtru jako takového sestává z vývoje specifikací vhodných pro daný problém (například nízkoprůchodový filtr druhého řádu se specifickou mezní frekvencí) a poté vytvoření přenosové funkce, která odpovídá specifikacím.

Přenosová funkce pro lineární, časově invariantní, digitální filtr může být vyjádřen jako přenosová funkce v Z -domény ; pokud je příčinná, pak má tvar:

kde pořadí filtru je větší z N nebo M . Viz Z Už -transform je LCCD rovnici pro další diskusi o této přenosové funkce .

Toto je forma rekurzivního filtru , který obvykle vede k chování s nekonečnou impulsní reakcí (IIR), ale pokud je jmenovatel roven jednotě , tj. Bez zpětné vazby, pak se z toho stane filtr s konečnou impulzní odezvou (FIR).

Analytické techniky

K analýze chování daného digitálního filtru lze použít celou řadu matematických technik. Mnoho z těchto analytických technik může být také použito v návrzích a často tvoří základ specifikace filtru.

Obvykle filtry charakterizujeme výpočtem, jak budou reagovat na jednoduchý vstup, jako je impuls. Tyto informace lze poté rozšířit a vypočítat reakci filtru na složitější signály.

Impulsní reakce

Impulsní odezva , často označován nebo , je měření, jak bude filtr reagovat na Kronecker delta funkce. Například vzhledem k rozdílové rovnici by člověk nastavil a pro a vyhodnotil. Impulsní odezva je charakterizací chování filtru. Digitální filtry se obvykle uvažují ve dvou kategoriích: nekonečná impulsní odezva (IIR) a konečná impulsní odezva (FIR). V případě lineárních časově invariantních filtrů FIR je impulsní odezva přesně stejná jako sled koeficientů filtru, a tedy:

Filtry IIR na druhé straně jsou rekurzivní, přičemž výstup závisí na aktuálních a předchozích vstupech i na předchozích výstupech. Obecná forma filtru IIR je tedy:

Vykreslení impulzní odezvy odhalí, jak filtr reaguje na náhlé, chvilkové rušení. Filtr IIR je vždy rekurzivní. I když je možné, že rekurzivní filtr má konečnou impulsní odezvu, nerekurzivní filtr má vždy konečnou impulsní odezvu. Příkladem je filtr klouzavého průměru (MA), který lze implementovat rekurzivně i nerekurzivně.

Diferenční rovnice

V systémech diskrétního času je digitální filtr často implementován převedením přenosové funkce na lineární diferenční rovnici s konstantním koeficientem (LCCD) prostřednictvím Z-transformace . Funkce přenosu diskrétní frekvenční domény je zapsána jako poměr dvou polynomů. Například:

Toto je rozšířeno:

a aby byl příslušný filtr příčinný , dělí se čitatel a jmenovatel podle nejvyššího řádu :

Koeficienty jmenovatele, jsou koeficienty zpětné vazby a koeficienty čitatele jsou koeficienty zpětné vazby . Výsledná lineární diferenční rovnice je:

nebo pro výše uvedený příklad:

přeskupit podmínky:

pak pomocí inverzní z -transformace:

a nakonec řešením pro :

Tato rovnice ukazuje, jak vypočítat další výstupní vzorek, pokud jde o minulé výstupy, současný vstup a minulé vstupy . Použití filtru na vstup v tomto formuláři je ekvivalentní realizaci přímé formy I nebo II (viz níže) v závislosti na přesném pořadí hodnocení.

Stručně řečeno, například tak, jak to používá počítačový programátor implementující výše uvedenou rovnici v kódu, lze popsat následovně:

= výstup nebo filtrovaná hodnota = vstupní nebo příchozí hrubá hodnota = číslo vzorku, číslo iterace nebo číslo časového období

a proto:

= aktuální filtrovaná (výstupní) hodnota = poslední filtrovaná (výstupní) hodnota = předposlední filtrovaná (výstupní) hodnota = aktuální hrubá vstupní hodnota = poslední nezpracovaná vstupní hodnota = předposlední nezpracovaná vstupní hodnota




Provedení filtru

Přestože jsou filtry snadno srozumitelné a vypočítatelné, praktické výzvy jejich návrhu a implementace jsou významné a jsou předmětem mnohem pokročilého výzkumu.

Existují dvě kategorie digitálního filtru: rekurzivní filtr a nerekurzivní filtr . Ty jsou často označovány jako filtry s nekonečnou impulsní odezvou (IIR) a filtry s konečnou impulsní odezvou (FIR).

Realizace filtru

Poté, co je filtr navržen, musí být realizován vytvořením vývojového diagramu signálu, který popisuje filtr z hlediska operací se sekvencemi vzorků.

Danou přenosovou funkci lze realizovat mnoha způsoby. Zvažte, jak by mohl být vyhodnocen takový jednoduchý výraz, jako je ten, který lze také vypočítat . Stejným způsobem mohou být všechny realizace považovány za „faktorizace“ stejné přenosové funkce, ale různé realizace budou mít různé numerické vlastnosti. Konkrétně jsou některé realizace efektivnější, pokud jde o počet operací nebo úložných prvků potřebných pro jejich implementaci, a jiné poskytují výhody, jako je zlepšená numerická stabilita a snížená chyba zaokrouhlování. Některé struktury jsou lepší pro aritmetiku s pevnou řádovou čárkou a jiné mohou být lepší pro aritmetiku s pohyblivou řádovou čárkou .

Přímý formulář I

Jednoduchým přístupem pro realizaci filtru IIR je přímá forma I , kde je rozdílová rovnice vyhodnocena přímo. Tento formulář je praktický pro malé filtry, ale může být neefektivní a nepraktický (numericky nestabilní) pro složité návrhy. Obecně tento formulář vyžaduje 2N zpožďovací prvky (pro vstupní i výstupní signály) pro filtr řádu N.

Biquad filtr DF-I.svg

Přímý formulář II

Alternativní přímá forma II potřebuje pouze N zpožďovacích jednotek, kde N je pořadí filtru - potenciálně poloviční než přímá forma I. Tato struktura se získá obrácením pořadí částí čitatele a jmenovatele přímé formy I, protože jsou ve skutečnosti dva lineární systémy a platí vlastnost komutativity. Potom si všimnete, že existují dva sloupce zpoždění ( ), které se odpichují ze střední sítě, a ty lze kombinovat, protože jsou nadbytečné, což vede k implementaci, jak je uvedeno níže.

Nevýhodou je, že přímá forma II zvyšuje možnost aritmetického přetečení u filtrů s vysokým Q nebo rezonancí. Ukázalo se, že jak se zvyšuje Q , hluk zaokrouhlování obou topologií přímé formy se zvyšuje bez hranic. Důvodem je, že koncepčně je signál nejprve veden přes pólový filtr (který normálně zvyšuje zisk na rezonančních frekvencích), než je výsledek nasycen, a poté prochází filtrem s celou nulou (který často zeslabuje většinu poloviční pól zesiluje).

Biquad filtr DF-II.svg

Kaskádové sekce druhého řádu

Běžnou strategií je realizovat digitální filtr vyššího řádu (větší než 2) jako kaskádovanou sérii sekcí „biquadratric“ (nebo „biquad“) druhého řádu (viz filtr digitálních biquad ). Výhodou této strategie je, že rozsah koeficientů je omezený. Kaskádové přímé formy II profily výsledky v N zpožďovacích prvků pro filtry řádu N . Kaskádové sekce přímé formy I mají za následek N + 2 zpožďovací prvky, protože zpožďovací prvky vstupu libovolné sekce (kromě první sekce) jsou nadbytečné se zpožďovacími prvky výstupu předchozí sekce.

Jiné formy

Mezi další formy patří:

  • Přímá transpozice formulářů I a II
  • Podsekce nižších (typicky druhého) řádu/kaskády
  • Paralelní podsekce nižšího (typického druhého) řádu
    • Pokračující rozšiřování frakce
  • Mříž a žebřík
    • Jedna, dvě a tři násobné mřížkové formy
    • Tří a čtyřnásobné normalizované žebříkové formy
    • ARMA struktury
  • Struktury stavového prostoru:
    • optimální (ve smyslu minimálního hluku): parametry
    • optimálně blok a optimálně pro sekci: parametry
    • vstup vyvážený rotací Givens: parametry
  • Spojené formy: Gold Rader (normální), State Variable (Chamberlin), Kingsbury, Modified State Variable, Zölzer, Modified Zölzer
  • Wave Digital Filters (WDF)
  • Agarwal – Burrus (1AB a 2AB)
  • Harris – Brooking
  • ND-TDL
  • Multifeedback
  • Analogově inspirované formuláře, jako jsou Sallen-key a stavové proměnné filtry
  • Systolická pole

Porovnání analogových a digitálních filtrů

Digitální filtry nepodléhají komponentám nelinearit, které značně komplikují konstrukci analogových filtrů. Analogové filtry se skládají z nedokonalých elektronických součástek, jejichž hodnoty jsou specifikovány jako mezní tolerance (např. Hodnoty odporů mají často toleranci ± 5%) a které se mohou také měnit s teplotou a s časem se unášet. Jak se zvyšuje pořadí analogového filtru, a tím i počet jeho komponent, účinek chyb proměnných komponent se výrazně zvětšuje. V digitálních filtrech jsou hodnoty koeficientů uloženy v paměti počítače, což je činí mnohem stabilnějšími a předvídatelnějšími.

Protože koeficienty digitálních filtrů jsou určité, lze je použít k dosažení mnohem komplexnějších a selektivnějších návrhů - konkrétně u digitálních filtrů lze dosáhnout nižšího zvlnění propustného pásma, rychlejšího přechodu a vyššího útlumu zastavovacího pásma, než je praktické u analogových filtrů. I kdyby bylo možné návrhu dosáhnout pomocí analogových filtrů, technické náklady na návrh ekvivalentního digitálního filtru by byly pravděpodobně mnohem nižší. Dále lze snadno upravit koeficienty digitálního filtru tak, aby byl vytvořen adaptivní filtr nebo uživatelsky ovladatelný parametrický filtr. Přestože jsou tyto techniky možné v analogovém filtru, jsou opět podstatně obtížnější.

Při navrhování filtrů s konečnou impulsní odezvou lze použít digitální filtry. Ekvivalentní analogové filtry jsou často komplikovanější, protože vyžadují zpožďovací prvky.

Digitální filtry se méně spoléhají na analogové obvody, což potenciálně umožňuje lepší poměr signálu k šumu . Digitální filtr vnáší šum do signálu během analogového dolního průchodu, převodu z analogového na digitální, z digitálního na analogový a může zavádět digitální šum v důsledku kvantování. U analogových filtrů je každá součást zdrojem tepelného šumu (například Johnsonova šumu ), takže jak roste složitost filtrů, roste i hluk.

Digitální filtry však do systému zavádějí vyšší základní latenci. V analogovém filtru je latence často zanedbatelná; přesně řečeno, je to čas, kdy se elektrický signál šíří filtračním obvodem. V digitálních systémech je latence zavedena zpožďovacími prvky v digitální signálové cestě a analogově-digitálními a digitálně-analogovými převodníky , které systému umožňují zpracovávat analogové signály.

Ve velmi jednoduchých případech je nákladově efektivnější použít analogový filtr. Zavedení digitálního filtru vyžaduje značné režijní obvody, jak již bylo diskutováno, včetně dvou nízkoprůchodových analogových filtrů.

Dalším argumentem pro analogové filtry je nízká spotřeba energie. Analogové filtry vyžadují podstatně méně energie, a proto jsou jediným řešením, když jsou požadavky na výkon přísné.

Při výrobě elektrického obvodu na desce plošných spojů je obecně snazší použít digitální řešení, protože procesní jednotky jsou v průběhu let vysoce optimalizovány. Vytvoření stejného obvodu s analogovými komponentami by při použití diskrétních komponent zabralo mnohem více místa . Dvě alternativy jsou FPAA a ASIC , ale jsou drahé pro malé množství.

Typy digitálních filtrů

Existují různé způsoby, jak charakterizovat filtry; například:

  • Lineární filtr je lineární transformace vstupních vzorků; ostatní filtry jsou nelineární . Lineární filtry splňují princip superpozice , tj. Pokud je vstup váženou lineární kombinací různých signálů, je výstup podobně váženou lineární kombinací odpovídajících výstupních signálů.
  • Kauzální filtr používá pouze předchozí vzorky vstupních nebo výstupních signálů; zatímco nekauzální filtr používá budoucí vstupní vzorky. Nekauzální filtr lze obvykle změnit na kauzální filtr přidáním zpoždění.
  • Časově invariantní filtr má konstantní vlastnosti v průběhu času; jiné filtry, jako jsou adaptivní filtry, se v čase mění.
  • Stabilní filtr vytváří výstup, který konverguje na konstantní hodnotu s časem, nebo zbytky, ohraničenou v konečném intervalu. Nestabilní filtr může produkovat výstup, který roste bez mezí, se omezená nebo dokonce nulové vstup.
  • A konečnou impulzní odezvy (FIR) filtr používá pouze vstupní signály, zatímco nekonečnou impulsní odezva (IIR), filtr používá jak vstupní signál a předchozí vzorky výstupního signálu. Filtry FIR jsou vždy stabilní, zatímco filtry IIR mohou být nestabilní.

Filtr může být reprezentován blokovým diagramem , který lze poté použít k odvození algoritmu zpracování vzorku k implementaci filtru s hardwarovými pokyny. Filtr může být také popsán jako rozdílová rovnice , soubor nul a pólů nebo impulzní odezva nebo kroková odpověď .

Některé digitální filtry jsou založeny na rychlé Fourierově transformaci , matematickém algoritmu, který rychle extrahuje frekvenční spektrum signálu, což umožňuje manipulaci se spektrem (například vytvoření pásmových filtrů velmi vysokého řádu) před převedením upraveného spektra zpět na signál časové řady s inverzní operací FFT. Tyto filtry poskytují O (n log n) výpočetní náklady, zatímco konvenční digitální filtry bývají O (n 2 ).

Další formou digitálního filtru je model stavového prostoru . Dobře používaným filtrem stavu prostoru je Kalmanův filtr publikovaný Rudolfem Kálmánem v roce 1960.

Tradiční lineární filtry jsou obvykle založeny na útlumu. Alternativně mohou být navrženy nelineární filtry, včetně filtrů pro přenos energie, které umožňují uživateli přesouvat energii navrženým způsobem tak, aby nežádoucí hluk nebo efekty mohly být přesunuty do nových frekvenčních pásem s nižší nebo vyšší frekvencí, rozloženou v rozsahu frekvencí, rozdělené nebo soustředěné. Filtry pro přenos energie doplňují tradiční konstrukci filtrů a přinášejí mnoho dalších stupňů volnosti v konstrukci filtrů. Filtry pro přenos digitální energie lze relativně snadno navrhnout a implementovat a využívat nelineární dynamiku.

Viz také

Reference

Další čtení