FIR- versus IIR-filters: structuur, stabiliteit, fase, filterorde en rekenwerk
Beide zijn digitale filters die de frequentierespons van een signaal vormen, maar ze verschillen in de vraag of eerdere uitgangswaarden in de berekening worden gebruikt. Een FIR-filter (finite impulse response) vermenigvuldigt alleen de huidige en eerdere ingangswaarden met coëfficiënten en telt ze op, dus zijn impulsrespons eindigt na evenveel samples als het taps heeft. Een IIR-filter (infinite impulse response) voert ook eerdere uitgangswaarden terug in de berekening, dus zijn impulsrespons gaat in theorie eeuwig door. Een FIR-filter is altijd stabiel en heeft een lineaire fase als zijn coëfficiënten symmetrisch zijn, maar een steile karakteristiek vergt veel taps. Een IIR-filter haalt een steile karakteristiek met een lage orde, maar zijn fase is niet lineair en het kan instabiel worden, afhankelijk van waar zijn polen liggen.
| Kenmerk | FIR-filter | IIR-filter |
|---|---|---|
| Differentievergelijking en impulsrespons | y[n] = Σh[k]x[n − k]: een gewogen som van alleen ingangswaarden; de impulsrespons eindigt na N taps | y[n] = Σb[k]x[n − k] − Σa[k]y[n − k]: eerdere uitgangswaarden worden teruggekoppeld, en de impulsrespons dempt uit maar gaat door |
| Overdrachtsfunctie H(z) en stabiliteit | Geen noemer; de enige polen liggen in z = 0, dus het filter is altijd stabiel, wat de coëfficiënten ook zijn | Heeft een noemer; alleen stabiel als alle polen binnen de eenheidscirkel liggen |
| Faseresponsie | Lineaire fase als de coëfficiënten symmetrisch zijn; de groepsvertraging is (N − 1)/2 samples bij elke frequentie | Geen lineaire fase; de groepsvertraging verandert met de frequentie en neemt toe bij de kantelfrequentie |
| Benodigde orde voor dezelfde specificatie (voorbeeld) | Voor een laagdoorlaatfilter bij fs = 48 kHz met doorlaatbandgrens 4 kHz, sperbandgrens 5 kHz, 60 dB demping en 0,5 dB rimpel in de doorlaatband vergt een equiripple-ontwerp ongeveer 110 taps | Een elliptisch filter dat aan dezelfde specificatie voldoet, is van de 7e orde (4 secties van de tweede orde) |
| Rekenwerk per uitgangssample | Evenveel multiply-accumulates als taps: ongeveer 110 in het voorbeeld (symmetrie halveert ruwweg het aantal vermenigvuldigingen) | Ongeveer 5 vermenigvuldigingen per sectie van de tweede orde: ongeveer 20 in het voorbeeld |
| Vertraging | Constant (N − 1)/2 samples: ongeveer 56 samples (ongeveer 1,2 ms) in het voorbeeld | Varieert met de frequentie: in het voorbeeld ongeveer 9 samples bij lage frequenties en ongeveer 75 samples aan de grens van de doorlaatband |
| Kwantisatie van coëfficiënten (vaste komma) | De frequentierespons verandert iets, maar de stabiliteit gaat nooit verloren | Een vergelijking van hoge orde rechtstreeks implementeren kan polen verschuiven en instabiliteit veroorzaken; het filter wordt geïmplementeerd als cascade van secties van de tweede orde (biquads) |
| Belangrijkste ontwerpmethoden | Venstermethode, equiripple-methode (Parks-McClellan) | Bilineaire transformatie van een analoog prototype (Butterworth, Chebyshev, elliptisch en andere) |
| Typische toepassingen | Communicatie en meettechniek waarbij de golfvorm behouden moet blijven, audio- en beeldbewerking, decimatie- en interpolatiefilters, adaptieve filters | Embedded apparaten die rekenwerk en geheugen moeten sparen, audio-equalizers, verwijdering van DC en exponentiële afvlakking |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.