Inleiding tot IIR Filterontwerp

Infinite Impulse Response (IIR) filters zijn een hoeksteen van digitale signaalverwerking, met een efficiënte frequentieselectiviteit met minder coëfficiënten dan hun Finite Impulse Response (FIR) tegenhangers. Het afleiden van een IIR filter . transfer functie van een reeks prestatiespecificaties is een systematisch proces dat analoge prototype theorie combineert met digitale transformatie technieken. Deze gids biedt een uitgebreide, stap-voor-stap benadering van het ontwerpen van IIR filters, die alles omvat van het interpreteren van specificaties tot het verkrijgen van een praktische Hz] ] expressie geschikt voor implementatie. Het beheersen van deze stappen is essentieel voor studenten, ingenieurs en onderzoekers die werken in communicatie, audioverwerking, besturingssystemen, of elk veld waarvoor digitale filtering nodig is.

Inzicht Filter Specificaties

Elk filterontwerp begint met een duidelijke set eisen. Hoe nauwkeuriger deze worden gedefinieerd, hoe gemakkelijker het wordt om een geschikt prototype te selecteren en de vereiste volgorde te bepalen. De belangrijkste parameters zijn meestal:

  • Passbandrandfrequentie (ωp):[ De bovenste (of lagere) frequentie van de passband, vaak gegeven in radialen per seconde of Hz. Voor laagdoorlaatfilters is dit de cutoff frequentie waar de winst begint te dalen.
  • Stopbandrandfrequentie (ωs): De frequentie waarboven de demping ten minste de gespecificeerde stopbandwaarde moet zijn.
  • Passbandrimpel (δp):[ De maximaal toegestane variatie in winst binnen de pasband, typisch uitgedrukt in decibels (dB) als Ap[ = 20 log10(1+δp[) of rechtstreeks als dB-waarde (bijv. 1 dB).
  • Stopbanddemping (As):[ De minimale demping die in de stopband vereist is, uitgedrukt in dB (bv. 60 dB). Dit komt overeen met de maximaal toegestane stopbandaanwinst.
  • Filtertype: Low-pass, high-pass, band-pass, band-stop, of all-pass. Elk vereist een andere frequentietransformatie.
  • Sampling frequency (Fs): Kritisch voor digitale implementatie, aangezien alle analoge frequenties tot het Nyquist-bereik moeten worden genormaliseerd (0 tot F]s/2.

Aanvullende overwegingen kunnen bestaan uit fase-lineariteitsvereisten (vaak beter door Bessel of FIR filters) en computationele resourcelimieten. Alle specificaties moeten zowel in analoge (voorverwarmde) als digitale domeinen worden geregistreerd om verwarring tijdens transformatie te voorkomen.

Het filter Prototype selecteren

Het prototype is een analoge laagdoorlaatfilter met een genormaliseerde cutoff frequentie van 1 rad/s. Vier klassieke prototypes worden op grote schaal gebruikt, elk met een andere uitweg tussen passband rimpel, stopband demping en fase lineariteit.

Butterworth-filter

De Butterworth filter zorgt voor een maximaal vlakke passband respons zonder rimpel. De gain vermindert monotonisch met frequentie, en de roll-off is matig . . 20n dB/decade voor een nth order filter. Het is ideaal wanneer een gladde passband magnitude is vereist en matige stopband demping is aanvaardbaar.

Chebyshev Type I Filter

De filters van Chebyshev Type I voeren equirimpeling in de passband in, maar bereiken een steilere roll-off bij de afkapfrequentie in vergelijking met Butterworth. De pasbandrimpel is gespecificeerd (bv. 0,5 dB). Deze filters zijn nuttig wanneer een scherpere overgangsband nodig is, maar passbandrimpeling kan worden getolereerd.

Chebyshev type II (inverse Chebyshev) filter

Type II heeft rimpeling in de stopband en een platte passband. Het biedt een steile roll-off vlak voor de stopband, maar de stopband vertoont equirimpelde demping. Dit type wordt geselecteerd wanneer een platte passband verplicht is, maar een zekere variatie in de stopband is aanvaardbaar.

Elliptisch filter

Elliptische filters zorgen voor een zo steil mogelijke uitrol van een bepaalde volgorde door rimpeling in zowel passband als stopband toe te staan. Ze zijn optimaal voor toepassingen die een hoge selectiviteit vereisen met een lage filtervolgorde, zoals anti-aliasingfilters of kanaalscheiding. De uitruil is een significante niet-lineaire fase en gevoeligheid voor coëfficiëntkwantisering.

Bessel-filter

Bessel-filters maximaliseren de groepsvertraging, waardoor de vorm van tijddomeinsignalen behouden blijft. Hun omvangrespons is langzamer dan Butterworth, waardoor ze geschikt zijn voor pulsgebaseerde communicatie of waar de lineaire fase kritiek is.

De keuze hangt af van de specificaties. Bijvoorbeeld, als de pasband rimpel minder dan 0,1 dB en een 60 dB stopband demping nodig is, een Chebyshev Type I of elliptisch ontwerp geschikt zou kunnen zijn. Online bronnen zoals Butterworth filter, Chebyshev filter, en Elliptisch filter[] bieden gedetailleerde pool-nul en overdrachtsfunctietabellen.

Bepaalen van de vereiste filtervolgorde

Zodra het prototypetype is gekozen, moet de minimumvolgorde n die voldoet aan zowel de passbandrimpel als de stopbanddemping worden berekend. Voor Butterworth en Chebysjev filters bestaan gesloten uitdrukkingen. Bijvoorbeeld voor een Butterworth laagdoorlaatfilter:

n = ceil( log10( (100.1As[] 1) / (100.1A[[FLT:]]]p] 1) / (2 log10( ω]s[ / ωp[] ) ) ) [

]

waarbij Ap en A]s[ de passbandrimpel en stopbanddemping in dB zijn, en ωp[, ω]s[ zijn de passband en stopbandrandfrequenties. Voor Chebysjev type I is een soortgelijke formule met hyperbolische cosinusfuncties van toepassing. Elliptische filtervolgordeschatting vereist de volledige elliptische integraal, vaak berekend met behulp van ontwerptabellen of software. Meest moderne DSP-omgevingen . . zoals MATLAB

Afgeleid van de Analoge overdrachtsfunctie H(s)

Met het prototype type en de volgorde bekend, de volgende stap is het verkrijgen van de genormaliseerde laag-pass overdracht functie H(s) met een cutoff van 1 rad/s. Voor elk prototype, de polen (en nullen voor elliptisch/Chebyshev Type II) zijn analytisch bekend.

  • Butterworth: De Polen liggen op een cirkel van straal 1 in het linker halve vlak in hoeken (2k+1)π/(2n) + π/2, voor k = 0,1,...,n−1. Geen eindige nullen.
  • Chebyshev Type I: De polen liggen op een ellips met foci bij ± jωp. De straal van de kleine as is gerelateerd aan de rimpelfactor ε = √(100.1Ap[[FLT:]]1][[FLT:]]1).
  • Chebyshev Type II: Heeft zowel polen als nullen op de denkbeeldige as (stopband). De nullen zijn op s = ± j ωs / cos(...).
  • Elliptisch: Beweegt Jacobische elliptische functies; polen en nullen zijn beschikbaar in tabellen of via numerieke routines.

De overdrachtsfunctie wordt dan gevormd als een verhouding van polynomen: H(s) = K * N(s) / D(s), waar de winst K normaliseert de entituderespons (bijv. K = 1 voor eenheid DC-winst).Voor een laag-pass prototype is H(s) een laag-pass met ωc = 1. Veel leerboeken, zoals ]]De wetenschapper en Ingenieur.Gids voor digitale signatuurverwerking, bieden gedraaide pole‐zero-locaties en noemer polynomialen voor gemeenschappelijke orders.

Toepassen van frequentietransformaties

Het genormaliseerde prototypefilter moet worden getransformeerd om aan de gewenste cutofffrequentie en filtertype te voldoen. Frequentietransformaties vervangen de complexe variabele s met een functie van s[] die de prototyperespons op de gewenste passband in kaart brengt.

Laag-doorgang naar Low-pass

Vervang s door s / ωc, waarbij ωc de gewenste hoekfrequentie is. Deze schubben alle pool- en nulfrequenties lineair.

Laagdoorgang naar High-pass

Plaatsvervanger s → ωc / s. Dit zet nullen en polen om die de grootterespons omkeren.

Laagdoorgang naar de band-pas

De band-pass transformatie is s → (s2 + ω02) / (s Δω), waarbij ω0 de middenfrequentie en Δω de bandbreedte is. Dit verdubbelt de volgorde omdat een tweede-orde mapping wordt toegepast.

Laagdoorlaatpunt naar band-stop

De gemiddelde snelheid van de band is ongeveer 1 km/h.

Na transformatie wordt de overdrachtsfunctie H(s) nu uitgedrukt in termen van de analoge hoekfrequentievariabele die overeenkomt met de gewenste passbandranden. Op dit punt is het filter nog steeds een analoog ontwerp; de volgende stap zet het om naar een digitaal filter.

Het filter wordt gediscretiseerd met behulp van de Bilineaire Transformering

De meest gebruikte methode voor het omzetten van de analoge H(s) naar een digitale H(z) is de bilineaire transformatie:

s = (2/T) · (1

waarbij T de bemonsteringsperiode is. Deze transformatie brengt het gehele linker-half s-vlak in de eenheidscirkel in het z-vlak, wat stabiliteit garandeert (mits het analoge filter stabiel is). Echter, de kaart introduceert frequentievervorming: de analoge frequentie Ω en digitale frequentie ω zijn gerelateerd door

Ω = (2/T) tan( ω/2 ).

Om te compenseren, moeten de analoge cutoff frequenties gebruikt in de transformatie vooraf worden gewaarschuwd. Als de gewenste digitale cutoff is ωd (in radialen per sample), voorwarp op Ω[analog = (2/T) tan( ωd[/2). Breng vervolgens de bilineaire transformatie aan op de voorverwarmde analoge overdrachtsfunctie.

De bilineaire transformatie resulteert in een rationele functie in z−1 van dezelfde volgorde als het analoge filter. De coëfficiënten kunnen worden verkregen door algebraïsche substitutie en polynomiale expansie, of meer algemeen door gebruik te maken van digitale filterontwerpfuncties in software zoals MATLABs ] functie. Eenvoudigere alternatieven bestaan: de impuls-invariant methode en afgestemde z-transform, maar ze kunnen leiden tot aliassen of niet in stand houden van de grootte responsvorm. De bilineaire transformatie wordt bij de meeste IIR-ontwerpen voorkeur omdat het geen alias garandeert en de filter-engine responskenmerken behoudt (behalve voor het vervormen, die vooraf wordt bepaald).

Uitdrukking van de definitieve overdrachtsfunctie H(z)

Na discretie is de overdrachtsfunctie een verhouding van polynomen in z−1:

H(z) = (b0 + b1 z−1 + ... + bN z−N) / (1 + a1 z−1 + ... + aM z−M) [

waarbij [N en M doorgaans gelijk zijn (de filtervolgorde).Voor een tweedeordesectie (SOS) worden de coëfficiënten vaak geschreven als:

H(z) = (b0 + b1 z−1 + b2 z−2) / (1 + a1 z−1 + a2 z−2)

De hogere-ordefilters moeten worden meegewogen in cascaded tweede-orde secties om de numerieke stabiliteit te verbeteren en het quantisatiegeluid te verminderen.

y[n] = b0 x[n] + b1 x[n−1] + ... + b[N x[n−N]

Praktische overwegingen

Het afleiden van een theoretische overdrachtsfunctie is slechts een onderdeel van het ontwerp; succesvolle implementatie vereist aandacht voor digitale signaalverwerking (DSP) realiteiten:

  • Kwantiseringseffecten: Finiet-precisie rekenkundig kan poollocaties verschuiven, wat instabiliteit veroorzaakt of de frequentierespons wijzigt. Gebruik cascaded tweedeordesecties met voldoende woordlengte (bv. 32-bits floating point of 24-bits fixed point).
  • Schaal: In- en uitgangssignalen moeten worden geschaald om overstroming in vaste-puntsystemen te voorkomen. In elke SOS-fase moeten tussenknooppuntwinsten worden beheerd.
  • Fasevervorming: IIR-filters introduceren niet-lineaire fase, wat bij bepaalde toepassingen onaanvaardbaar kan zijn. Als fase-lineairheid kritiek is, moet je een FIR-filter of een Bessel-prototype overwegen.
  • Startup transients: Het oneindige geheugen van IIR filters veroorzaakt een eerste transiënte; dit kan worden verminderd door het initialiseren van toestandsvariabelen of het toestaan van een opwarmperiode.
  • Real-time beperkingen: Het aantal vermenigvuldig-accumuleren operaties per steekproef heeft een directe impact op de doorvoer. Gebruik geoptimaliseerde code en overwegen polynomiale benaderingen voor de berekening van de coëfficiënt.

Voorbeeld: Ontwerp van een Chebyshev Type I Low-Pass Filter

Stel dat we een digitaal laagdoorlaatfilter nodig hebben met de volgende specificaties:

  • Monsterfrequentie: 10 kHz
  • Passbandrand: 2 kHz (ωp = 0,4π rad/sample)
  • Stopbandrand: 3 kHz (ωs = 0,6π rad/sample)
  • Passband rimpeling: 1 dB
  • Rembanddemping: 40 dB

Stap 1: Voorverwarm de analoge frequenties met behulp van T = 1/10000 s. Ωp = 2 × 104 tan(0,4π/2) ≈ 2 × 104 × 1.376 ≈ 27520 rad/s; Ω[s = 2 × 104 tan(0,6π/2) ≈ 2 × 104 × 3,077 ≈ 61540 rad/s.

Stap 2: Bepaal de volgorde met behulp van de formule van Chebyshev Type I: met 1 dB rimpel en 40 dB demping, orde n ≈ 4 (afgerond).

Stap 3: Vind genormaliseerde Chebyshev Type I overdrachtsfunctie voor n=4, 1 dB rimpel (polen en winst beschikbaar in tabellen). Voorbeeld van standaardontwerp: H(s) = K / (s2 + 0,3473s + 0,8591)(s2 + 0,8506s + 0,3381) ).

Stap 4: Breng voorverwarmde laag-pass aan op laag-pass transformatie: vervang s door s / Ωp. Dit levert nieuwe polynomiale coëfficiënten op.

Stap 5: Breng bilineaire transformatie aan op de voorverwarmde analoge overdrachtsfunctie. Met behulp van een gereedschap of handmatige substitutieopbrengst b en een coëfficiënten voor elke tweede-ordesectie. De uiteindelijke H(z) zal in gecascadeerde SOS-vorm zijn.

Dit voorbeeld, hoewel gecondenseerd, illustreert de gehele pijpleiding. Voor volledige numerieke berekening, verwijzen naar DSP software documentatie of standaard referenties.

Conclusie

Het afleveren van een IIR filteroverdrachtsfunctie van specificaties is een methodisch proces dat zich verplaatst van vereisten naar prototypeselectie, orderbepaling, analoge overdrachtsfunctie-afleiding, frequentietransformatie, discretie en implementatie. Elke stap heeft gevestigde wiskundige grondslagen en praktische afwegingen. Door deze fundamentele beginselen te begrijpen, kunt u filters ontwerpen die voldoen aan strenge prestatiecriteria met minimale rekenkosten. Raadpleeg voor verder onderzoek gezaghebbende bronnen zoals De gids Wetenschapper en Ingenieurs voor digitale signatuurverwerking] of MATLAB IIR Filter Designdocumentatie[] voor gedetailleerde algoritmen en voorbeelden.