Există o regulă generală pentru calcularea ordinii de filtrare aproximative a unui FIR / IIR în funcție de banda de trecere vs rata de eșantionare? Parcă îmi amintesc că am citit despre asta odată la Undergrad. Aș crede că ați putea face o estimare aproximativă, cum ar fi scaler * passband / stopband.
Am lucrat la implementarea diferitelor filtre FIR / IIR și aș dori o formulă aproximativă care spune dacă o variabilă este modificată, aceasta este aproximativ câte mai multe atingeri de care ai avea nevoie pentru a obține performanțe similare.
Comentarii
- Pentru filtrele FIR există ' formula formulată în acest răspuns .
Răspuns
Preferatul meu " Regula generală " pentru ordinea unui filtru FIR low-pass este " regula de referință fred harris ":
$$ N = \ frac {f_s} {\ Delta f} \ cdot \ frac {\ rm atten_ {dB}} {22} $$
unde
- $ \ Delta f $ este banda de tranziție, în aceleași unități de $ f_s $
- $ f_s $ este rata de eșantionare a filtrului
- $ \ rm atten_ {dB} $ este respingerea țintă în dB
De exemplu, dacă aveți o bandă de tranziție de 100 Hz într-un sistem eșantionat la 1 kHz, iar cerința dvs. de respingere este de 50 dB în banda de oprire, atunci ordinea poate fi aproximată prin:
$$ N = \ frac {1 \ \ rm kHz} {100 \ \ rm Hz} \ cdot \ frac {50} {22} = 23 \ \ rm taps \ tag {rounding up} $$
Mulțumesc Fred Harris!
Rețineți o altă formulă mai detaliată care ține cont de banda de trecere ripple este formula lui Kaiser datorită lui James Kaiser de la Bell Labs, pe care l-am inclus în graficul meu de mai jos.
Pentru majoritatea aplicațiilor pe care le-am făcut, abordarea Fred Harris a fost foarte bună, dat fiind o anumită respingere , filtrele rezultate folosind algoritmi tradiționali de proiectare a filtrelor, cum ar fi Parks-McClellan și Remez, au depășit cerințele mele de bandă de trecere la îndeplinirea cerinței de respingere. (Ceea ce fac de obicei este să estimez comanda, să proiectez filtrul cu acea comandă, să inspectez rezultatul și să creșteți sau să micșorați ordinea de acolo pentru a regla fin). Rezultatele din estimări sunt doar: estimări și pot varia foarte mult în funcție de parametrii globali de proiectare și nu trebuie presupus a fi o soluție exactă.
Pentru cei familiarizați cu proiectarea filtrelor folosind abordări de ferestre, revedeți cutia sau fereastra dreptunghiulară (care este simplă trunchiere) dezvăluie de ce este nevoie de $ f_s / \ Delta f $ (care este același cu $ 2 \ pi / \ Delta \ omega $ dacă unitățile pentru frecvența normalizată sunt radiani / eșantion așa cum se face adesea) pentru a finaliza banda de tranziție. Vedeți imaginile de mai jos care vă ajută să explicați acest lucru.
Imaginea de sus de mai jos arată frecvența Sinc așteptată pentru o fereastră dreptunghiulară în timp, în acest caz ca un impuls dreptunghiular non-cauzal centrat pe $ t = 0 $ . Aceasta se repetă apoi în forme discrete ca formă de undă cauzală începând de la $ t = 0 $ , ambele cu Transformarea Fourier Discretă în Timp (DTFT) și Transformata Fourier Discretă (DFT) unde diferența este că eșantioanele în timp se extind la $ \ pm \ infty $ pentru DTFT, rezultând o formă de undă continuă în domeniul frecvenței. În ambele cazuri, rezultatul este o funcție Sinc aliasată, care este periodică peste intervalul $ f = [0, f_s) $ , cu punctul cheie care pentru $ N $ eșantioane în funcția dreptunghiulară, răspunsul de frecvență va avea primul său nul la $ f = 1 / N $ (Unde $ f $ este frecvența normalizată cu 1 fiind rata de eșantionare).
Următoarea imagine de mai jos prezintă abordarea ferestrei dreptunghiulare pentru proiectarea filtrului (pe care nu l-aș recomanda niciodată, dar este informativ). Primul grafic din colțul din stânga sus arată răspunsul frecvenței țintă pentru filtrul nostru ca răspuns ideal " zid de cărămidă ". Vă rugăm să nu confundați asta cu fereastra dreptunghiulară " boxcar " (sau " ") care este, de asemenea, o formă dreptunghiulară – fereastra este în domeniul timpului!
Pentru a realiza un astfel de filtru, am folosi răspunsul la impuls al răspunsului de frecvență dorit ca coeficienți în filtrul nostru FIR (coeficienții filtrului sunt răspunsul la impuls — punem un impuls în și ieșesc toți coeficienții!). Răspunsul la impuls pentru un răspuns de frecvență dreptunghiulară (zid de cărămidă) este FT invers care este o funcție Sinc, în domeniul timpului, afișat în colțul din stânga jos ca " Răspuns de impuls necesar ". O funcție Sinc se extinde la infinit plus și minus, așa că, pentru a realiza efectiv un astfel de filtru, am avea nevoie de un filtru infinit de lung și ar avea o întârziere infinit de lungă. Evident, nu putem face asta, deci tăiem coeficienții la ceva realizabil. Cu cât filtrul este mai lung, cu atât aproximăm răspunsul ideal al zidului de zid, dar, de asemenea, întârzierea va fi mai lungă (și cu atât mai multe resurse ar avea nevoie în termeni de construcția filtrului; mai multe atingeri).
Trunchierea răspunsului la impuls în domeniul timpului este identic matematic cu înmulțirea cu o fereastră dreptunghiulară în domeniul timpului. (Rețineți că răspunsul la impuls este, de asemenea, întârziat cu jumătate din durată a ferestrei pentru ca sistemul să fie cauzal). Înmulțirea în domeniul timpului este echivalentă cu convoluția în domeniul frecvenței. Domeniul de frecvență (FT) al răspunsului la impuls înainte de trunchiere este răspunsul dorit de frecvență dorit. răspunsul pentru fereastra dreptunghiulară este o funcție Sinc în domeniul frecvenței.
Deci, când trunchiez răspunsul la impuls dorit (înmulțim în timp cu o fereastră dreptunghiulară), convolvem răspunsul de frecvență dorit e cu o funcție Sinc, rezultând o aproximare a răspunsului nostru în frecvență țintă așa cum se arată în colțul din dreapta sus al imaginii de mai jos.
O preluare cheie pentru funcțiile Sinc, în general, este primul nul este $ 1 / T $ unde $ T $ este durata funcției dreptunghiulare. Pentru un sistem eșantionat, primul nul ar fi la $ 2 \ pi / N $ unde $ N $ reprezintă numărul de eșantioane pe durata funcției dreptunghiulare. În imagini se utilizează o frecvență radiană normalizată pentru axa frecvenței- (dacă acest lucru vă încurcă, știți doar că $ 2 \ pi $ este frecvența radiană pentru rata de eșantionare). Deci, în procesul de convoluție, tranziția ascuțită a zidului se extinde și în acest caz merge la 0 ( $ \ Delta \ omega $ ) pe o frecvență de $ 2 \ pi / N $ ! Așadar, aici $$ N = 2 \ pi / \ Delta \ omega $$ și, desigur, filtrul este slab cu lobi laterali etc. Rețineți acest lucru: această tranziție de la funcția Sinc este cel mai clar disponibil pentru un anumit număr de robinete; are cea mai bună rezoluție în frecvență, dar cea mai slabă gamă dinamică (respingere). Alte tipologii de ferestre (Blackman, Blackman-Harris, Kaiser (preferatul meu) etc.) vor îmbunătăți semnificativ gama dinamică, dar întotdeauna în detrimentul tranziției.
Deci, din cele de mai sus, vedem originea $ 2 \ pi / \ Delta \ omega $ care este utilizat în formulele de aproximare și vedem, de asemenea, de ce există un factor suplimentar de multiplicare care crește numărul de atingeri deasupra acestuia pentru proiectele tipice de filtrare; fereastra dreptunghiulară ne-ar oferi cea mai bună tranziție posibilă cu $ N $ robinete unde $ N = 2 \ pi / \ Delta \ omega $ , dar au o respingere foarte slabă. Se utilizează mai multe atingeri pentru a netezi tranziția temporală, dincolo de tranziția ascuțită a ferestrei dreptunghiulare, oferind o respingere mai mare în detrimentul lățimii de bandă de tranziție. li> Doar pentru a evita confuzia, formula pe care o numiți " Kaiser ' formula " este de fapt formula pentru filtrele optime Parks McClellan (într-adevăr găsite de Kaiser), dar nu și pentru metoda ferestrei Kaiser. Acesta din urmă nu are ' nu are două valori $ \ delta $ diferite, ci doar una.
Răspuns
Lungimea unui filtru FIR sau ordinea unui filtru IIR este foarte aproximativ invers proporțională cu raportul lățimii benzii de tranziție (cea mai îngustă) , dacă mulți) la rata de eșantionare, alte lucruri fiind oarecum echivalente, cu excepția filtrelor de comandă foarte scurte sau foarte scăzute.
Comentarii
- nu știu de ce cineva a votat în jos. L-am remediat la zero.
- alte lucruri sunt oarecum echivalente?
- Ridicarea benzii de trecere și atenuarea benzii de oprire sunt, de asemenea, alți factori principali care afectează lungimea filtrului.