Finns det en tumregel för att beräkna den ungefärliga filterordningen för en FIR / IIR baserat på passband mot samplingsfrekvens? Jag verkar komma ihåg att jag läste om det en gång i Undergrad. Jag tror att du kan göra en grov uppskattning som scaler * passband / stopband.
Jag har arbetat med att implementera olika FIR / IIR-filter och skulle vilja ha någon grov formel som säger om en variabel ändras, detta är ungefär hur många fler kranar du behöver för att få liknande prestanda.
Kommentarer
- För FIR-filter finns ' sa formel i detta svar .
Svar
Min favorit " Tumregel " för ordningen på ett lågpass FIR-filter är " Fred harris tumregel ":
$$ N = \ frac {f_s} {\ Delta f} \ cdot \ frac {\ rm atten_ {dB}} {22} $$
där
- $ \ Delta f $ är övergångsbandet, i samma enheter av $ f_s $
- $ f_s $ är filtrets samplingshastighet
- $ \ rm atten_ {dB} $ är målavvisningen i dB
Till exempel om du har ett övergångsband på 100 Hz i ett system som samplas vid 1 kHz, och ditt avslagskrav är 50 dB i stoppbandet så är ordning kan approximeras av:
$$ N = \ frac {1 \ \ rm kHz} {100 \ \ rm Hz} \ cdot \ frac {50} {22} = 23 \ \ rm taps \ tag {avrundning} $$
Tack Fred Harris!
Observera en annan mer detaljerad formel som tar hänsyn till passband ripple är Kaisers formel tack vare James Kaiser från Bell Labs, som jag inkluderade i min grafik nedan.
För de flesta applikationer som jag har gjort har Fred Harris-metoden varit helt bra, med tanke på ett visst avslag , de resulterande filtren som använder traditionella filterdesignalgoritmer som Parks-McClellan och Remez har överskridit mina krav på passbandkrusning när de uppfyller avslagskravet. (Det jag brukar göra är att uppskatta ordern, designa filtret med den ordningen, inspektera resultatet och öka eller minska ordern därifrån för att finjustera). Resultaten från uppskattningarna är just det: uppskattningar och kan variera mycket beroende på övergripande designparametrar och inte för att antas vara en exakt lösning.
För de som är bekanta med filterdesign med fönstertillvägagångssätt, granska rutan eller det rektangulära fönstret (vilket är enkel avkortning) avslöjar varför det tar $ f_s / \ Delta f $ kranar (vilket är samma som $ 2 \ pi / \ Delta \ omega $ om enheterna för normaliserad frekvens är radianer / prov som ofta görs) för att slutföra övergångsbandet. Se bilderna nedan som hjälper till att förklara detta.
Den översta bilden nedan visar den förväntade Sink i frekvens för ett rektangulärt fönster i tiden, i det här fallet som en icke-kausal rektangulär puls centrerad på $ t = 0 $ . Detta upprepas sedan i diskreta former som en kausal vågform som börjar vid $ t = 0 $ , båda med Discrete Time Fourier Transform (DTFT) och Discrete Fourier Transform (DFT) där skillnaden är samplen i tid sträcker sig till $ \ pm \ infty $ för DTFT vilket resulterar i en kontinuerlig vågform i frekvensdomänen. I båda fallen är resultatet en alias Sinc-funktion som är periodisk över intervallet $ f = [0, f_s) $ , med nyckelpunkten för $ N $ samplar i tid för den rektangulära funktionen, frekvenssvaret får sin första noll vid $ f = 1 / N $ (Där $ f $ är den normaliserade frekvensen med 1 som samplingsfrekvens).
Den här nästa bilden nedan visar det rektangulära fönstret när det gäller filterdesign (vilket jag aldrig skulle rekommendera men är informativt). Den första ritningen i det övre vänstra hörnet visar målfrekvenssvaret för vårt filter som ett perfekt " tegelvägg " -svar. Förväxla inte det med " boxcar-fönstret " (eller " rektangulärt fönster ") som också är en rektangulär form – fönstret är i tidsdomänen!
För att förverkliga ett sådant filter skulle vi använda impulsresponsen för det önskade frekvenssvaret som koefficienter i vårt FIR-filter (koefficienterna för filtret är impulsresponsen — sätt en impuls i och ut kommer alla koefficienter!). Impulsresponsen för ett rektangulärt frekvenssvar (brickwall) är det inverterade FT som är en Sink-funktion, i tidsdomänen, som visas i det nedre vänstra hörnet som " Nödvändigt impulssvar ". En Sink-funktion sträcker sig till plus och minus oändlighet, så för att faktiskt inse ett sådant filter skulle vi behöva ett oändligt långt filter och det skulle ha oändligt lång fördröjning. Uppenbarligen kan vi inte göra det, så vi trunkerar koefficienterna till något som är realiserbart. Ju längre filtret är, desto närmare närmar vi det idealiska brickväggssvaret, men också desto längre blir förseningen (och desto mer resurser skulle vi behöva i termer av filterkonstruktionen; fler kranar).
Avkortning av impulsresponsen i tidsdomänen är matematiskt identisk med att multipliceras med ett rektangulärt fönster i tidsdomänen. (Observera att impulssvaret också fördröjs med hälften fönstret för att systemet ska vara kausalt). Multiplicering i tidsdomänen motsvarar faltning i frekvensdomänen. Frekvensdomänen (FT) för impulsresponsen före trunkering är vårt ursprungliga önskade brickwall-frekvenssvar. Frekvensen svar för det rektangulära fönstret är en Sink-funktion i frekvensdomänen.
Så när vi trunkerar det önskade impulsvaret (multiplicera i tid med ett rektangulärt fönster), konvolverar vi önskat frekvensrespons e med en Sink-funktion, vilket resulterar i en approximation av vårt målfrekvenssvar som visas i det övre högra hörnet av bilden nedan.
En nyckelupptagning för Sinc-funktioner i allmänhet är den första nollan är $ 1 / T $ där $ T $ är den rektangulära funktionens varaktighet. För ett samplat system skulle den första nollan vara vid $ 2 \ pi / N $ där $ N $ representerar antalet prover under den rektangulära funktionens varaktighet. I bilderna används en normaliserad radianfrekvens för frekvensaxeln- (om det förvirrar vet du bara att $ 2 \ pi $ är radianfrekvensen för samplingsfrekvensen). Så under konvolutionsprocessen sprider sig den skarpa brickwall-övergången och går i detta fall till 0 (vår $ \ Delta \ omega $ ) över en frekvens på $ 2 \ pi / N $ ! Så här $$ N = 2 \ pi / \ Delta \ omega $$ och naturligtvis är filtret dåligt med sidobänkar etc. Observera detta: Denna övergång från Sink-funktionen är den skarpaste tillgängliga för ett givet antal kranar; den har den bästa upplösningen i frekvens men det sämsta dynamiska området (avslag). Andra fönstertypologier (Blackman, Blackman-harris, Kaiser (min favorit) osv.) Kommer att förbättra det dynamiska omfånget avsevärt men alltid på bekostnad av övergången.
Så från ovanstående ser vi ursprunget till $ 2 \ pi / \ Delta \ omega $ som används i approximationsformlerna, och vi ser också varför det finns en ytterligare multiplikationsfaktor som ökar antalet kranar ovanför detta för typiska filterdesigner; det rektangulära fönstret skulle ge oss den bästa möjliga övergången med $ N $ kranar där $ N = 2 \ pi / \ Delta \ omega $ men har mycket dåligt avslag. Fler kranar används för att jämna ut tidsövergången längre än den skarpa övergången för det rektangulära fönstret, vilket ger större avslag på bekostnad av övergångsbandbredd.
Kommentarer
- Bara för att undvika förvirring, formeln du kallar " Kaiser ' s formel " är faktiskt formeln för Parks McClellan optimala filter (faktiskt hittade av Kaiser), men inte för Kaiser-fönstret metoden. Det sistnämnda har inte ' t två olika $ \ delta $ värden men bara ett.
- Faktiskt bra förtydligande Matt eftersom det finns en Kaiser-fönstermetod. Denna formel hänvisas dock till och kallas " Kaiser ' s Formel " i litteratur, bara så att läsarna inte ' tänker att det var min egen användning av den termen. engold.ui.ac.ir/~sabahi/Advanced%20digital%20communication/…
- Fantastiskt!Ser ut som om det kom från sidan 48 i Fred Harris ' bok: " Multirate Signal Processing for Communication Systems "?
- Tumregeln eller bilderna? Bilderna är mina för en klass jag gör. Jag har inte ' jag har fred ' s bok men jag är ett stort fan och introducerades till hans " tumregel " av honom vid en DSP World-presentation som han gjorde runt 1996. (Observera att han insisterar på att hans namn ska stavas med alla gemener).
- @DanBoschen Är formeln för Parks McClellan också giltig när du utformar bandpass FIR-filter? Om inte, finns det en annan " tumregel " som kan tillämpas?
Svar
Längden på ett FIR-filter eller ordning på ett IIR-filter är mycket omvänt proportionellt mot förhållandet mellan övergångsbandets bredd (smalaste , om många) till samplingsfrekvensen, är andra saker likvärdiga, förutom filter med mycket korta eller mycket låga ordningar.
Kommentarer
- vet inte varför någon nedröstade. Jag fixade tillbaka det till noll.
- andra saker är något likvärdiga?
- Passband-krusning och stoppbanddämpning är också de andra huvudfaktorerna som påverkar filterlängden.