verschil tussen IIR-en FIR-filters: a practical design guide

een digitaal filter is een wiskundig algoritme dat werkt op een digitale dataset (bijvoorbeeld sensorgegevens) om interessante informatie te extraheren en ongewenste informatie te verwijderen. Toepassingen van dit type technologie, omvatten het verwijderen van glitches uit sensorgegevens of zelfs het opruimen van ruis op een gemeten signaal voor eenvoudiger data-analyse. Maar hoe kiezen we het beste type digitale filter voor onze toepassing? En wat zijn de verschillen tussen een IIR-filter en een FIR-filter?

digitale filters zijn onderverdeeld in de volgende twee categorieën:

  • oneindige impulsrespons (IIR)
  • eindige impulsrespons (FIR)

zoals de namen suggereren, wordt elk type filter gecategoriseerd door de lengte van zijn impulsrespons. Alvorens met een gedetailleerde wiskundige analyse te beginnen, is het echter verstandig om de verschillen in prestaties en kenmerken van elk type filter te waarderen.

voorbeeld

om de verschillen tussen een IIR en spar te illustreren, wordt de frequentierespons van een 14e orde SPAR (vaste lijn) en een 4e orde Chebyshev Type I IIR (streeplijn) hieronder weergegeven in Figuur 1. Merk op dat hoewel de magnitude spectra een vergelijkbare mate van demping hebben, het fasespectrum van het IIR-filter niet-lineair is in de passband (\(\small 0\rightarrow7.5Hz\)), en zeer non-lineair wordt bij de cut-off frequentie, \(\small f_c=7,5 Hz\). Merk ook op dat de SPAR een hoger aantal coëfficiënten vereist (15 versus de IIR ‘ s 10) om de dempingskenmerken van de IIR aan te passen.

FIR vs IIR: frequentierespons van een 14e orde FIR (volle lijn), en een 4e orde Chebyshev Type I IIR (stippellijn); Fir-Filter, IIR-Filter
Figuur 1: FIR vs IIR: frequentierespons van een 14e orde FIR (volle lijn), en een 4e orde Chebyshev Type I IIR (gestippelde lijn)

Dit zijn slechts enkele van de verschillen tussen de twee soorten filters. Een gedetailleerd overzicht van de belangrijkste voor-en nadelen van elk type filter volgt nu.

IIR-filters

IIR-filters (infinite impulse response) worden over het algemeen gekozen voor toepassingen waarbij de lineaire fase niet te belangrijk is en het geheugen beperkt is. Ze zijn op grote schaal ingezet in audio-egalisatie, biomedische sensor signaalverwerking, IoT/IIoT slimme sensoren en high-speed Telecommunicatie/RF-toepassingen.

voordelen

  • lage uitvoeringskosten: vereist minder coëfficiënten en geheugen dan FIR-filters om te voldoen aan een soortgelijke reeks specificaties, dat wil zeggen, cut-off frequentie en stopband demping.
  • lage latentie: geschikt voor realtimecontrole en zeer snelle RF-toepassingen vanwege het lage aantal coëfficiënten.
  • analoog equivalent: kan worden gebruikt voor het nabootsen van de kenmerken van analoge filters met behulp van transformaties van het S-z-vlak.

nadelen

  • niet-lineaire fasekenmerken: De fasekarakteristieken van een IIR-filter zijn over het algemeen niet-lineair, vooral in de buurt van de cut-off-frequenties. All-pass egalisatiefilters kunnen worden gebruikt om de passband fasekarakteristieken te verbeteren.
  • gedetailleerdere analyse: vereist meer schaling en numerieke overloopanalyse wanneer geà mplementeerd in een vast punt. De direct form II filterstructuur is bijzonder gevoelig voor de effecten van kwantisering en vereist speciale aandacht tijdens de ontwerpfase.
  • numerieke stabiliteit: Minder numeriek stabiel dan hun FIR (finite impulse response) tegenhangers, als gevolg van de feedback paden.

FIR-filters

FIR-filters (eindige impulsrespons) worden over het algemeen gekozen voor toepassingen waarbij de lineaire fase belangrijk is en een behoorlijke hoeveelheid geheugen en computationele prestaties beschikbaar zijn. Ze hebben een wijd ingezet in audio en biomedische signaalverbeteringstoepassingen. Hun all-zero-structuur (hieronder besproken) zorgt ervoor dat ze nooit onstabiel worden voor elk type ingangssignaal, waardoor ze een duidelijk voordeel hebben ten opzichte van de IIR.

voordelen

  • lineaire fase: sparren kunnen gemakkelijk worden ontworpen om een lineaire fase te hebben. Dit betekent dat er geen fase vervorming in het te filteren signaal wordt geïntroduceerd, omdat alle frequenties met dezelfde hoeveelheid in de tijd worden verschoven – waardoor hun relatieve harmonische relaties (dat wil zeggen constante groep en fase vertraging) worden gehandhaafd. Dit is zeker niet het geval bij IIR-filters, die een niet-lineaire fasekarakteristiek hebben.
  • stabiliteit: als sparren gebruiken geen eerdere uitgangswaarden om hun huidige output te berekenen, d.w.z. ze hebben geen feedback, ze kunnen nooit onstabiel worden voor elk type ingangssignaal, wat hen een duidelijk voordeel geeft ten opzichte van IIR-filters.
  • arbitraire frequentierespons: de functie Firarb() van Parks-McClellan en ASN FilterScript maakt het mogelijk een spar met een willekeurige magnitude respons te ontwerpen. Dit betekent dat een spar gemakkelijker kan worden aangepast dan een IIR.
  • prestatie met vaste punten: de effecten van kwantisatie zijn minder ernstig dan die van een IIR.

nadelen

  • hoge computationele en geheugenbehoefte: Sparren vereisen meestal veel meer coëfficiënten voor het bereiken van een scherpe cut-off dan hun IIR tegenhangers. Het gevolg hiervan is dat ze veel meer geheugen en aanzienlijk een hogere hoeveelheid MAC (meerdere en accumuleren) operaties vereisen. Moderne Microcontroller-architecturen gebaseerd op de Cortex-M-cores van de Arm bevatten nu DSP-hardwareondersteuning via SIMD (signal instruction, multiple data) die de filtering aanzienlijk versnellen.
  • hogere latentie: het hogere aantal coëfficiënten, betekent dat in het algemeen een spar minder geschikt is dan een IIR voor snelle hoge productietoepassingen. Dit wordt problematisch voor real-time closed-loop control toepassingen, waar een FIR filter te veel groep vertraging kan hebben om lus stabiliteit te bereiken.
  • geen analoog equivalent: met behulp van de bilineaire, overeenkomende z-transformatie (s-z-mapping) kan een analoog filter eenvoudig worden omgezet in een equivalent IIR-filter. Dit is echter niet mogelijk voor een spar omdat het geen analoog equivalent heeft.

Wiskundige definities

Zoals besproken in de inleiding, de naam van IIR-en FIR afkomstig van de wiskundige definitie van elk type van filter, dat wil zeggen een IIR-filter is gecategoriseerd door haar theoretisch infinite impulse response,

\(\displaystyle
y(n)=\sum_{k=0}^{\infty}h(k)x(n-k))
\)

en een FIR ingedeeld door de finite impulse response,

\(\displaystyle
y(n)=\sum_{k=0}^{N-1}h(k)x(n-k))
\)

We zullen nu de analyse van de wiskundige eigenschappen van elk type filter in turn’.

IIR definitie

zoals hierboven te zien is, wordt een IIR-filter gecategoriseerd op basis van zijn theoretisch oneindige impulsrespons,

\(\displaystyle y (n)=\sum_{k = 0}^{\infty}h(k) x(n-k)\)

praktisch gesproken is het niet mogelijk om de output van een IIR te berekenen met behulp van deze vergelijking. Daarom kan de vergelijking opnieuw worden geschreven in termen van een eindig aantal polen \(\small p\) en nullen \(\small q\), zoals gedefinieerd door de lineaire constante coëfficiënt verschil vergelijking gegeven door:

\(\displaystyle
y (n)= \ sum_{k = 0}^{q}b_k x (n-k) – \sum_{k = 1}^{p}a_ky (n-k))
\)

waar \(\small a_k\) en \(\small b_k\) de noemer en teller veeltermcoëfficiënten van het filter zijn, waarvan de wortels gelijk zijn aan respectievelijk de polen en nullen van het filter. Dus een relatie tussen de verschil-vergelijking en de z-transformatie (functie transfer) kan dus worden gedefinieerd met behulp van de z-transformatie vertraging goederen, zodanig dat,

\(\displaystyle
\sum_{k=0}^{q}b_kx(n-k)-\sum_{k=1}^{p}a_ky(n-k)\quad\stackrel{\displaystyle\mathcal{Z}}{\longleftrightarrow}\quad\frac{\sum\limits_{k=0}^q b_kz^{k}}{1+\sum\limits_{k=1}^p a_kz^{-k}}
\)

gezien de gegevensoverdracht-functie is een frequentie-domein voorstelling van het filter. Merk ook op dat de polen op de outputgegevens handelen, en de nullen op de inputgegevens. Aangezien de polen de uitgangsgegevens beïnvloeden en de stabiliteit beïnvloeden, is het van essentieel belang dat hun stralen binnen de eenheidscirkel (d.w.z. <1) blijven voor de stabiliteit van BIBO (bounded input, bounded output). De straal van de nullen is minder kritisch, omdat ze de filterstabiliteit niet beïnvloeden. Dit is de belangrijkste reden waarom alle-nul SPAR (eindige impulsrespons) filters altijd stabiel zijn.

BIBO stabiliteit

Een lineaire tijd-invariante (LTI) systeem (zoals een digitaal filter) wordt gezegd dat begrensd ingang, uitgang begrensd stabiel, of BIBO stabiel als elke begrensd input geeft aanleiding tot een begrensd output, zoals

\(\displaystyle \sum_{k=0}^{\infty}\left|h(k)\right|<\infty \)

Waar, \(\small h(k)\) is de LTI systeem impulse response). Bij het analyseren van deze vergelijking moet duidelijk zijn dat aan het stabiliteitscriterium van BIBO alleen wordt voldaan als de polen van het systeem binnen de eenheidscirkel liggen, aangezien het ROC (convergentieregio) van het systeem de eenheidscirkel moet omvatten. Bijgevolg is het voldoende om te zeggen dat een Begrensd ingangssignaal altijd een Begrensd uitgangssignaal zal produceren als alle polen binnen de eenheidscirkel liggen.

de nullen aan de andere kant zijn niet beperkt door deze eis en kunnen daarom overal op het Z-vlak liggen, omdat ze de stabiliteit van het systeem niet rechtstreeks beïnvloeden. Daarom kan een systeemstabiliteitsanalyse worden uitgevoerd door eerst de wortels van de transferfunctie (d.w.z. de wortels van de teller-en noemerpolynomen) te berekenen en vervolgens de corresponderende Polen en nullen op het Z-vlak uit te zetten.

een interessante situatie doet zich voor als er Polen op de eenheidscirkel liggen, aangezien van het systeem wordt gezegd dat het marginaal stabiel is, aangezien het noch stabiel noch instabiel is. Hoewel marginaal stabiele systemen niet BIBO stabiel zijn, zijn ze door ontwerpers van digitale oscillatoren uitgebuit, omdat hun impulsrespons een eenvoudige methode is om sinusgolven te genereren, die van onschatbare waarde zijn gebleken op het gebied van telecommunicatie.

Biquad IIR-filters

de hier besproken implementatie van het IIR-filter zou biquad zijn, aangezien het twee polen en twee nullen heeft, zoals hieronder in Figuur 2 wordt geïllustreerd. De biquad implementatie is vooral nuttig voor vaste punt implementaties, omdat de effecten van kwantisatie en numerieke stabiliteit worden geminimaliseerd. Het algemene succes van elke biquad-implementatie is echter afhankelijk van de beschikbare nummerprecisie, die voldoende moet zijn om ervoor te zorgen dat de gekwantiseerde Polen altijd binnen de eenheidscirkel zijn.

directe vorm I (biquad) IIR filterrealisatie en transferfunctie.; Direct Form; Biquad filter

Figuur 2: directe vorm I (biquad) IIR filterrealisatie en transferfunctie.

bij het analyseren van Figuur 2 kan worden gezien dat de biquadstructuur eigenlijk bestaat uit twee feedbackpaden (geschaald door \(\small a_1\) en \(\small a_2\)), drie feed forward-paden (geschaald door \(\small b_0, b_1\) en \(\small b_2\)) en een sectieversterking, \(\small K\). De filterwerking van Figuur 1 kan dus worden samengevat met de volgende eenvoudige recursieve vergelijking:

\(\displaystyle y(n) = K \ times \ Big-A_1 y (n-1) – a_2 y (n-2)\)

bij het analyseren van de vergelijking, merk op dat de biquad implementatie slechts vier toevoegingen vereist (die slechts één accumulator vereisen) en vijf vermenigvuldigingen, die gemakkelijk kunnen worden ondergebracht op elke Cortex-M microcontroller. De sectiewinst, \(\small K\) kan ook vooraf worden vermenigvuldigd met de voorwaartse wegcoëfficiënten vóór implementatie.

een verzameling Biquadfilters wordt een Biquadcascade genoemd, zoals hieronder wordt geïllustreerd.

Cascade Van Biquad; Biquad-filter

de ASN Filter Designer kan een cascade van maximaal 50 biquads ontwerpen en implementeren (alleen professionele editie).

Floating point implementatie

bij de implementatie van een filter in floating point (dat wil zeggen met behulp van dubbele of enkele precisie rekenkunde) worden directe vorm II-structuren beschouwd als een betere keuze dan de directe vorm I-structuur. De Direct Form II getransponeerde structuur wordt beschouwd als de meest numerieke accurate voor floating point implementatie, omdat de ongewenste effecten van numerieke swamping worden geminimaliseerd zoals gezien door het analyseren van de verschilvergelijkingen.

directe vorm II getransponeerde strucutre, transfer functie en verschilvergelijkingen; IIR Filters; Biquad-Filters

Figuur 3 – direct Form II Transponed strucutre, transfer function and difference equations

de filteroverzicht (getoond in Figuur 4) geeft de ontwerper een gedetailleerd overzicht van het ontworpen filter, inclusief een gedetailleerd overzicht van de technische specificaties en de filtercoëfficiënten, die een snelle en eenvoudige route geeft om uw ontwerp te documenteren.

de ASN Filter Designer ondersteunt het ontwerp en de implementatie van zowel single sectie en Biquad (standaardinstelling) IIR filters.

Biquad filter ASN Filter Designer DSP

Figuur 4: gedetailleerde specificatie.

FIR definitie

het Terugzenden van de IIR-lineaire constante coëfficiënt verschil vergelijking, d.w.z.

\(\displaystyle
y(n)=\sum_{k=0}^{q}b_kx(n-k)-\sum_{k=1}^{p}a_ky(n-k))
\)

Merk op dat als we de \(\kleine a_k\) coëfficiënten (d.w.z. de feedback) naar nul, de definitie vermindert onze oorspronkelijke de FIR-filter definitie, wat betekent dat de FIR berekening is slechts gebaseerd op het verleden en het heden ingangen waarden, namelijk:

\(\displaystyle
y (n)= \ sum_{k = 0}^{q}b_kx (n-k)
\)

implementatie

hoewel er verschillende praktische implementaties voor sparren bestaan, zijn de directe vormstructuur en zijn getransponeerde neef misschien het meest gebruikt, en als zodanig zijn alle ontworpen filtercoëfficiënten bedoeld voor implementatie in een directe vormstructuur.

de directe vormstructuur en de bijbehorende verschilvergelijking worden hieronder weergegeven. De directe vorm wordt aanbevolen voor vaste punt implementatie op grond van de single accumulator concept.

\(\displaystyle y(n) = b_0x(n) + b_1x(n-1) + b_2x(n-2) + …. +b_qx(N-q) \)

directe vorm; directe vormstructuur

de aanbevolen (standaard) structuur binnen de ASN-Filterontwerper is de directe vorm getransponeerde structuur, omdat deze superieure numerieke nauwkeurigheid biedt bij het gebruik van zwevende-komma-rekenkunde. Dit kan gemakkelijk worden gezien door het analyseren van de verschil vergelijkingen hieronder (gebruikt voor implementatie), omdat de ongewenste effecten van numerieke swamping worden geminimaliseerd, omdat floating point optelling wordt uitgevoerd op getallen van vergelijkbare grootte.

\(\displaystyle \begin{eqnarray}y(n) & = &b_0x(n) &+& w_1(n-1) \\ w_1(n)&=&b_1x(n) &+& w_2(n-1) \\ w_2(n)&=&b_2x(n) &+& w_3(n-1) \\ \vdots\quad &=& \quad\vdots &+&\quad\vdots \\ w_q(n)&=&b_qx(n) \end{eqnarray}\)

Directe vorm Omgezet

Wat hebben we geleerd?

digitale filters zijn onderverdeeld in de volgende twee categorieën:

  • oneindige impulsrespons (IIR)
  • eindige impulsrespons (FIR)

IIR (infinite impulse response) filters worden over het algemeen gekozen voor toepassingen waarbij de lineaire fase niet te belangrijk is en het geheugen beperkt is. Ze zijn op grote schaal ingezet in audio-egalisatie, biomedische sensor signaalverwerking, IoT/IIoT slimme sensoren en high-speed Telecommunicatie/RF-toepassingen.

FIR (finite impulse response) filters worden over het algemeen gekozen voor toepassingen waar lineaire fase belangrijk is en een behoorlijke hoeveelheid geheugen en computationele prestaties beschikbaar zijn. Ze hebben een wijd ingezet in audio en biomedische signaalverbeteringstoepassingen.

ASN Filter Designer biedt ingenieurs alles wat ze nodig hebben voor het ontwerpen, experimenteren en implementeren van complexe IIR en FIR digitale filters voor een verscheidenheid aan sensormeettoepassingen. Deze voordelen in combinatie met automatische documentatie en code generatie functionaliteit kunnen ingenieurs ontwerpen en valideren van een IIR/FIR digitale filter binnen minuten in plaats van uren.