Existuje pravidlo pro výpočet přibližného pořadí filtrování FIR / IIR na základě propustného pásma vs. vzorkovací frekvence? Zdá se, že si pamatuji, že jsem o tom četl jednou v Undergradu. Myslím, že byste mohli udělat hrubý odhad, jako je scaler * passband / stopband.
Pracoval jsem na implementaci různých filtrů FIR / IIR a chtěl bych nějaký hrubý vzorec, který říká, že pokud dojde ke změně jedné proměnné, toto přibližně je, kolik dalších klepnutí byste potřebovali pro dosažení podobného výkonu.
Komentáře
- Pro filtry FIR je k dispozici ' sa vzorec uvedený v této odpovědi .
Odpovědět
Mým oblíbeným " pravidlem " pro pořadí nízkoprůchodového FIR filtru je " pravidlo fred harris ":
$$ N = \ frac {f_s} {\ Delta f} \ cdot \ frac {\ rm atten_ {dB}} {22} $$
kde
- $ \ Delta f $ je přechodové pásmo, ve stejných jednotkách $ f_s $
-
$ f_s $ je vzorkovací frekvence filtru - $ \ rm atten_ {dB} $ je odmítnutí cíle v dB
Například pokud máte v systému vzorkovaném při 1 kHz přechodové pásmo 100 Hz a váš požadavek na odmítnutí je 50 dB v zastavovacím pásmu, pak pořadí lze odhadnout pomocí:
$$ N = \ frac {1 \ \ rm kHz} {100 \ \ rm Hz} \ cdot \ frac {50} {22} = 23 \ rm taps \ tag {rounding up} $$
Děkuji Fred Harris!
Všimněte si dalšího podrobnějšího vzorce, který zohledňuje přístupové pásmo zvlnění je Kaiserův vzorec díky Jamesi Kaiserovi z Bell Labs, který jsem zahrnul do mé grafiky níže.
U většiny aplikací, které jsem udělal, byl přístup Freda Harrisa v pohodě, jak bylo dané určité odmítnutí , výsledné filtry využívající tradiční algoritmy návrhu filtrů, jako jsou Parks-McClellan a Remez, při splnění požadavku na odmítnutí překročily mé požadavky na zvlnění propustného pásma. (To, co obvykle dělám, je odhadnout pořadí, navrhnout filtr s touto objednávkou, zkontrolovat výsledek a odtud zvýšit nebo snížit pořadí, aby se doladilo). Výsledky odhadů jsou právě tyto: odhady a mohou se značně lišit v závislosti na celkových parametrech návrhu a nelze je považovat za přesné řešení.
Pro ty, kdo znají design filtrů využívajících přístupy k oknům, zkontrolujte boxcar nebo obdélníkové okno (což je jednoduché zkrácení) odhaluje, proč to trvá $ f_s / \ Delta f $ kohoutky (což je stejné jako $ 2 \ pi / \ Delta \ omega $ , pokud jsou jednotkami pro normalizovanou frekvenci radiány / vzorek, jak se často dělá) k dokončení přechodového pásma. Podívejte se na níže uvedené obrázky, které to vysvětlují.
Horní obrázek níže ukazuje očekávanou frekvenci Sinc pro obdélníkové okno v čase, v tomto případě jako nekauzální obdélníkový puls soustředěný na $ t = 0 $ . To se poté opakuje v diskrétních formách jako kauzální průběh od $ t = 0 $ , a to jak s diskrétní časově Fourierovou transformací (DTFT), tak s diskrétní Fourierovou transformací (DFT) kde rozdíl spočívá v tom, že vzorky v čase se rozšíří na $ \ pm \ infty $ pro DTFT, což má za následek kontinuální průběh ve frekvenční doméně. V obou případech je výsledkem aliasovaná funkce Sinc, která je periodická v intervalu $ f = [0, f_s) $ , s klíčovým bodem, který pro $ N $ vzorky v době obdélníkové funkce, frekvenční odezva bude mít svou první nulu na $ f = 1 / N $ (Kde $ f $ je normalizovaná frekvence, přičemž 1 je vzorkovací frekvence).
Tento další obrázek níže ukazuje přístup obdélníkového okna k návrhu filtru (který bych nikdy nedoporučoval, ale je informativní). První obrázek v levém horním rohu zobrazuje cílovou frekvenční odezvu pro náš filtr jako ideální " cihlovou zeď " odpověď. Nezaměňujte to s " oknem vagónu " (nebo " obdélníkovým oknem "), který má také obdélníkový tvar – okno je v časové doméně!
K realizaci takového filtru bychom jako koeficienty v našem FIR filtru použili impulsní odezvu požadované frekvenční odezvy (koeficienty filtru jsou impulzní odezva — vložte impuls do a vyjít všechny koeficienty!). Impulzní odezva pro obdélníkovou frekvenční (cihlovou) odezvu je inverzní FT, což je funkce Sinc, v časové oblasti, zobrazená v levém dolním rohu jako " požadovaná impulzní odezva ". Funkce Sinc rozšíří na plus a mínus nekonečno, takže abychom skutečně realizovali takový filtr, potřebovali bychom nekonečně dlouhý filtr a měl by nekonečně dlouhé zpoždění. Je zřejmé, že to nemůžeme udělat, takže zkracujeme koeficienty na něco realizovatelného. Čím delší je filtr, tím blíže se přibližujeme ideální reakci cihlové zdi, ale také čím delší bude zpoždění (a čím více zdrojů bychom potřebovali, pokud jde o konstrukce filtru; více klepnutí).
Zkrácení impulzní odezvy v časové doméně je matematicky identické s vynásobením obdélníkovým oknem v časové doméně. (Pamatujte, že impulzní odezva se také zpozdí o polovinu doby trvání okna, aby byl systém kauzální). Násobení v časové doméně je ekvivalentní konvoluci ve frekvenční doméně. Frekvenční doména (FT) impulzní odezvy před zkrácením je naše původní požadovaná frekvenční odezva cihlové zdi. odezva pro obdélníkové okno je funkce Sinc ve frekvenční doméně.
Takže když zkrátíme požadovanou impulzní odezvu (vynásobíme časem obdélníkovým oknem), spojíme požadovanou frekvenční odezvu e s funkcí Sinc, což má za následek aproximaci naší cílové frekvenční odezvy, jak je znázorněno v pravém horním rohu obrázku níže.
Klíčovým odběrem funkcí Sinc obecně je první null $ 1 / T $ , kde $ T $ je doba trvání obdélníkové funkce. U vzorkovaného systému by první null byl na $ 2 \ pi / N $ , kde $ N $ představuje počet vzorků po dobu trvání obdélníkové funkce. Na obrázcích se pro kmitočtovou osu používá normalizovaná radiánová frekvence – (pokud to matou, stačí vědět, že $ 2 \ pi $ je radiánová frekvence pro vzorkovací frekvenci). V procesu konvoluce se tedy ostrý přechod cihlové zdi rozšíří a v tomto případě jde na 0 (náš $ \ Delta \ omega $ ) ve frekvenci $ 2 \ pi / N $ ! Takže zde $$ N = 2 \ pi / \ Delta \ omega $$ a filtr je samozřejmě špatný s postranními laloky atd. Všimněte si toto: Tento přechod z funkce Sinc je nejostřejší dostupný pro daný počet odboček; má nejlepší frekvenční rozlišení, ale nejhorší dynamický rozsah (odmítnutí). Jiné typologie oken (Blackman, Blackman-harris, Kaiser (můj oblíbený) atd.) Výrazně zlepší dynamický rozsah, ale vždy na úkor přechodu.
Takže z výše uvedeného vidíme původ $ 2 \ pi / \ Delta \ omega $ , který se používá v aproximačních vzorcích, a také vidíme, proč existuje další multiplikační faktor, který zvyšuje počet odboček nad toto pro typické vzory filtrů; obdélníkové okno by nám poskytlo nejlepší možný přechod s kohoutky $ N $ , kde $ N = 2 \ pi / \ Delta \ omega $ , ale mají velmi špatné odmítnutí. Používá se více klepnutí k uhlazení časového přechodu dále za ostrý přechod obdélníkového okna, což poskytuje větší odmítnutí na úkor šířky pásma přechodu.
Komentáře
- Aby nedošlo k nedorozumění, vzorec, který nazýváte " Kaiser ' s vzorec " je ve skutečnosti vzorec pro optimální filtry Parks McClellan (skutečně nalezený Kaiserem), ale ne pro metodu Kaiserova okna. Ta druhá nemá ' dvě různé hodnoty $ \ delta $, ale pouze jednu.
- Opravdu, dobré vysvětlení, Matte, protože existuje metoda okna Kaiser. Tento vzorec je však v aplikaci označován jako " Kaiser ' s Formula " literatury, jen aby si čtenáři ' nemysleli, že jsem tento výraz použil sám. engold.ui.ac.ir/~sabahi/Advanced%20digital%20communication/…
- Úžasné!Vypadá to, že to přišlo ze stránky 48 v knize Freda Harrisa ': " Multirate Signal Processing for Communication Systems "?
- Pravidlo nebo obrázky? Obrázky jsou moje pro třídu, kterou dělám. Nemám ' knihu fred ', ale jsem velkým fanouškem a seznámil jsem se s jeho " pravidlo " ním na prezentaci DSP World, kterou udělal už kolem roku 1996. (Všimněte si, že trvá na tom, aby bylo jeho jméno napsáno malými písmeny).
- @DanBoschen Je vzorec pro Parks McClellan platný i při navrhování pásmových FIR filtrů? Pokud ne, existuje další " základní pravidlo ", které lze použít?
Odpověď
Délka FIR filtru nebo pořadí IIR filtru je velmi zhruba nepřímo úměrná poměru šířky přechodového pásma (nejužší) , pokud je jich mnoho) vzorkovací frekvenci, jiné věci jsou poněkud ekvivalentní, s výjimkou filtrů velmi krátkého nebo velmi nízkého řádu.
Komentáře
- nevím proč někdo hlasoval proti. Opravil jsem to zpět na nulu.
- jiné věci jsou poněkud ekvivalentní?
- zvlnění pásma a útlum zastavovacího pásma jsou také dalšími hlavními faktory, které ovlivňují délku filtru.