Einführung in das IIR Filter Design

Unendliche Impulsantwortfilter (IIR) sind ein Eckpfeiler der digitalen Signalverarbeitung und bieten eine effiziente Frequenzselektivität mit weniger Koeffizienten als ihre Finite Impulse Response (FIR) -Pendants. Die Ableitung der Übertragungsfunktion eines IIR-Filters aus einer Reihe von Leistungsspezifikationen ist ein systematischer Prozess, der die analoge Prototypentheorie mit digitalen Transformationstechniken verbindet. Dieser Leitfaden bietet einen umfassenden, schrittweisen Ansatz für die Gestaltung von IIR-Filtern, der alles abdeckt, von der Interpretation von Spezifikationen bis hin zum Erhalt eines praktischen H(z) Ausdruck, der für die Implementierung geeignet ist. Die Beherrschung dieser Schritte ist für Studenten, Ingenieure und Forscher, die in der Kommunikation, Audioverarbeitung, Steuerungssysteme arbeiten, oder jedes Feld, das digitale Filterung erfordert.

Filterspezifikationen verstehen

Jedes Filterdesign beginnt mit klaren Anforderungen, je genauer diese definiert werden, desto einfacher wird es, einen geeigneten Prototyp auszuwählen und die gewünschte Reihenfolge zu bestimmen.

  • Frequenz der Bandflanke (ωp): Die obere (oder untere) Frequenz des Bandes, oft in Radianten pro Sekunde oder Hz angegeben. Für Tiefpassfilter ist dies die Grenzfrequenz, bei der der Gewinn zu sinken beginnt.
  • Stopband-Frequenz (ωs): Die Frequenz, über die hinaus die Dämpfung mindestens den angegebenen Stopbandwert betragen muss.
  • Passbandrippel (δp): Die maximal zulässige Variation der Verstärkung innerhalb des Passbands, typischerweise ausgedrückt in Dezibel (dB) als Ap = 20 log10(1+δp oder direkt als dB-Wert (z. B. 1 dB).
  • Stopband-Dämpfung (As): Die minimale im Stopband erforderliche Dämpfung, ausgedrückt in dB (z. B. 60 dB). Dies entspricht der maximal zulässigen Stopband-Verstärkung.
  • Filtertyp: Tiefpass, Hochpass, Bandpass, Bandstopp oder Allpass. Jeder erfordert eine andere Frequenztransformation.
  • Sampling-Frequenz (Fs): Kritisch für die digitale Implementierung, da alle analogen Frequenzen auf den Nyquist-Bereich (0 bis Fs/2) normiert werden müssen.

Zusätzliche Erwägungen können Anforderungen an die Phasenlinearität (die oft besser durch Bessel- oder FIR-Filter erfüllt werden) und Grenzen für die Berechnungsressourcen umfassen.

Auswahl des Filter-Prototyps

Der Prototyp ist ein analoger Tiefpass mit einer normalisierten Grenzfrequenz von 1 rad/s. Vier klassische Prototypen sind weit verbreitet, die jeweils einen unterschiedlichen Kompromiss zwischen Durchlasswelligkeit, Stoppbanddämpfung und Phasenlinearität bieten.

Butterworth-Filter

Der Butterworth-Filter bietet eine maximal flache Durchlassantwort ohne Wellen. Sein Verstärkungsfaktor nimmt monoton mit der Frequenz ab, und sein Roll-Off ist moderat — — 20n dB/Dekade für einen Filter n-ter Ordnung. Er ist ideal, wenn eine glatte Durchlassgröße erforderlich ist und eine moderate Stoppbanddämpfung akzeptabel ist.

Chebyshev Typ I Filter

Chebyshev Typ I Filter führen im Durchlassbereich ein Äquiripple ein, erreichen aber bei der Grenzfrequenz ein steileres Abrollen im Vergleich zu Butterworth. Die Durchlasswelligkeit ist vorgegeben (z.B. 0,5 dB), die nützlich sind, wenn ein schärferes Übergangsband benötigt wird, aber Durchlasswelligkeit toleriert werden kann.

Chebyshev Typ II (Inverse Chebyshev) Filter

Typ II hat Wellen im Stoppband und ein flaches Durchlassband. Es bietet einen steilen Roll-off kurz vor dem Stoppband, aber das Stoppband weist eine Äquirippeldämpfung auf. Dieser Typ wird gewählt, wenn ein flaches Durchlassband obligatorisch ist, aber einige Variationen des Stoppbands akzeptabel sind.

Elliptische (Cauer) Filter

Elliptische Filter bieten für eine gegebene Ordnung einen möglichst steilen Roll-off, indem sie sowohl im Durchlass- als auch im Stopband Ripple ermöglichen. Sie sind optimal für Anwendungen, die eine hohe Selektivität bei niedriger Filterordnung erfordern, wie Anti-Aliasing-Filter oder Kanaltrennung. Der Trade-off ist eine signifikante nichtlineare Phase und Empfindlichkeit gegenüber Koeffizientenquantisierung.

Behälterfilter

Bessel-Filter maximieren die Gruppenverzögerungsflachheit, behalten die Form von Zeitbereichssignalen bei. Ihre Größenreaktion wird langsamer als Butterworth ausgerollt, wodurch sie für pulsbasierte Kommunikationen oder für lineare Phasen geeignet sind.

Die Auswahl hängt von den Spezifikationen ab. Wenn beispielsweise die Durchlasswelligkeit kleiner als 0,1 dB sein muss und eine 60 dB Stoppbanddämpfung erforderlich ist, könnte ein Chebyshev Typ I oder ein elliptisches Design angemessen sein. Online-Ressourcen wie Butterworth-Filter, Chebyshev-Filter und Elliptic-Filter bieten detaillierte Pol-Null- und Übertragungsfunktionstabellen.

Ermittlung der erforderlichen Filterreihenfolge

Sobald der Prototyptyp ausgewählt ist, muss die minimale Ordnung n berechnet werden, die sowohl die Durchlasswelligkeit als auch die Stoppbanddämpfung erfüllt.

n =[]ceil(log10(100.1As0.1Ap – 1] / (2 log10(ω / ωp

))

wobei Ap und As die Durchlasswelligkeit und Stopbanddämpfung in dB und ωp, ωs die Durchlass- und Stopbandkantenfrequenzen sind. Für Chebyshev Typ I gilt eine ähnliche Formel mit hyperbolischen Kosinusfunktionen. Die Elliptic-Filter-Ordnungsschätzung erfordert das vollständige elliptische Integral, das oft mithilfe von Designtabellen oder Software berechnet wird. Die meisten modernen DSP-Umgebungen wie die Funktionen von MATLAB , oder automatisieren diesen Schritt. Es ist wichtig, die Ordnung auf die nächste ganze Zahl zu runden; eine höhere Ordnung kann verwendet werden, wenn es die Rechenressourcen erlauben.

Ableitung der analogen Übertragungsfunktion H(s)

Mit dem bekannten Prototyptyp und der bekannten Ordnung besteht der nächste Schritt darin, die normalisierte Tiefpass-Transferfunktion ]H(s) mit einem Cutoff von 1 rad/s zu erhalten. Für jeden Prototyp sind die Pole (und Nullen für elliptisch / Chebyshev Typ II) analytisch bekannt.

  • Butterworth: Pole liegen auf einem Kreis des Radius 1 in der linken Halbebene in Winkeln (2k+1)π/(2n) + π/2, für k = 0,1,...,n-1. Keine endlichen Nullen.
  • Chebyshev Typ I: Pole liegen auf einer Ellipse mit Foki bei ± jωp Der Radius der kleinen Achse steht in Beziehung zum Ripple-Faktor ε = √(100.1Ap–1.
  • Chebyshev Typ II: hat sowohl Pole als auch Nullen auf der imaginären Achse (Stopband).
  • Elliptisch: Umfasst Jacobian elliptische Funktionen; Pole und Nullen sind in Tabellen oder über numerische Routinen verfügbar.

Die Übertragungsfunktion wird dann als Verhältnis von Polynomen gebildet: H(s) = K * N(s) / D(s), wobei der Gewinn K die Größenantwort normalisiert (z. B. K = 1 für Einheit DC-Gewinn). Für einen Tiefpass-Prototyp ist H(s) ein Tiefpass mit ωc = 1. Viele Lehrbücher, wie Der Scientist and Engineer's Guide to Digital Signal Processing, bieten tabellarische Pole-Null-Positionen und Nennerpolynome für gemeinsame Ordnungen.

Anwendung von Frequenztransformationen

Frequenztransformationen ersetzen die komplexe Variable s mit einer Funktion von s, die die Antwort des Prototyps auf das gewünschte Durchlassband abbildet.

Low-Pass zu Low-Pass

Ersetzen Sie s mit s / ωc, wobei ωc die gewünschte Eckwinkelfrequenz ist.

Low-Pass zum High-Pass

Ersetzen s → ωc / s Dies wandelt Nullen und Pole wechselseitig um und invertiert die Magnitudenantwort.

Low-Pass zum Band-Pass

Die Band-Pass-Transformation ist s → (s2 + ω02) / (s Δω), wobei ω0 die Mittenfrequenz und Δω die Bandbreite ist. Dies verdoppelt die Reihenfolge, da eine Abbildung zweiter Ordnung angewendet wird.

Low-Pass zum Band-Stop

Ähnlich wie Bandpass, aber mit s → s Δω / (s2 + ω02).

Nach der Transformation wird die Übertragungsfunktion H(s) nun in Bezug auf die analoge Kreisfrequenzgröße ausgedrückt, die den gewünschten Durchlassflanken entspricht.

Diskretisierung des Filters mit Hilfe der Bilineartransformation

Die am weitesten verbreitete Methode zur Umwandlung des analogen H(s) in ein digitales H(z) ist die bilineare Transformation:

s = (2/T) · (1 – z−1) / (1 + z−1)

Dabei bildet die gesamte linke halbe s-Ebene in den Einheitskreis der z-Ebene ab, wodurch Stabilität gewährleistet ist (sofern das analoge Filter stabil ist).

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

Um dies zu kompensieren, müssen die bei der Transformation verwendeten analogen Grenzfrequenzen vorgewarrt sein. Wenn der gewünschte digitale Grenzwert ωd (in Radianten pro Probe) ist, ist er vorgewarrt auf Ωanalog = (2/T) tan( ωd/2 . Dann wird die bilineare Transformation auf die vorgewarnte analoge Übertragungsfunktion angewendet.

Die bilineare Transformation führt zu einer rationalen Funktion in z-1 derselben Ordnung wie das analoge Filter. Die Koeffizienten können durch algebraische Substitution und polynomielle Expansion oder häufiger durch die Verwendung digitaler Filterdesignfunktionen in Software wie der von MATLAB erhalten werden. Einfachere Alternativen gibt es: die impulsinvariante Methode und die angepasste z-Transformation, aber sie können Aliasing verursachen oder die Form der Magnitudenantwort nicht erhalten. Die bilineare Transformation wird für die meisten IIR-Designs bevorzugt, da sie kein Aliasing gewährleistet und die Magnitudenantworteigenschaften des Filters bewahrt (außer für Warping, das vorkompensiert ist).

Ausdrücken der endgültigen Übertragungsfunktion H(z)

Nach der Diskretisierung ist die Übertragungsfunktion ein Verhältnis von Polynomen in z-1:

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

wobei N und M typischerweise gleich sind (die Filterreihenfolge). Für einen Abschnitt zweiter Ordnung (SOS) werden die Koeffizienten oft wie folgt geschrieben:

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

Filter höherer Ordnung sollten in kaskadierte Abschnitte zweiter Ordnung einbezogen werden, um die numerische Stabilität zu verbessern und das Quantisierungsrauschen zu reduzieren.

y[n] = b0 x[n] + b1 x[n−1] + ... + bN x[n−N] – a1 y[n−1] – ... – aM y[n−M]

Praktische Überlegungen

Die Ableitung einer theoretischen Übertragungsfunktion ist nur ein Teil des Designs; eine erfolgreiche Implementierung erfordert die Aufmerksamkeit auf die Realitäten der digitalen Signalverarbeitung (DSP):

  • Quantisierungseffekte: Finite-Präzisionsarithmetik kann Polpositionen verschieben, Instabilität verursachen oder den Frequenzgang verändern.
  • Skalierung: Eingangs- und Ausgangssignale sollten skaliert werden, um einen Überlauf in Festpunktsystemen zu verhindern. Zwischenknotengewinne in jeder SOS-Stufe müssen verwaltet werden.
  • Phasenverzerrung: IIR-Filter führen eine nichtlineare Phase ein, die in bestimmten Anwendungen inakzeptabel sein kann.
  • Startup-Transienten: Der unendliche Speicher von IIR-Filtern verursacht einen anfänglichen Transienten; dies kann durch Initialisierung von Zustandsvariablen oder durch Ermöglichung einer Aufwärmphase gemildert werden.
  • Realzeit-Einschränkungen: Die Anzahl der multipliziert akkumulierten Operationen pro Probe beeinflusst direkt den Durchsatz. Verwenden Sie optimierten Code und berücksichtigen Sie Polynom-Näherung für die Koeffizientenberechnung.

Beispiel: Entwerfen eines Chebyshev Typ I Low-Pass Filters

Angenommen, wir benötigen einen digitalen Tiefpassfilter mit folgenden Spezifikationen:

  • Probenahmehäufigkeit: 10 kHz
  • Durchlassbandkante: 2 kHz (ωp = 0,4π rad/Probe)
  • Sperrbandkante: 3 kHz (ωs = 0,6π rad/Probe)
  • Durchlasswelligkeit: 1 dB
  • Sperrbanddämpfung: 40 dB

Schritt 1: Vorwarp die analogen Frequenzen mit 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.

Schritt 2: Bestimmen Sie die Ordnung mit der Chebyshev Typ I Formel: mit 1 dB Ripple und 40 dB Dämpfung, Ordnung n ≈ 4 (aufgerundet).

Schritt 3: Finde die normalisierte Chebyshev Typ I Übertragungsfunktion für n=4, 1 dB Ripple (Pole und Verstärkung in Tabellen verfügbar). Beispiel aus dem Standarddesign: H(s) = K / ((s2 + 0,3473s + 0,8591)(s2 + 0,8506s + 0,3381) .

Schritt 4: Wenden Sie vorwarpierte Tiefpass-zu-Tiefpass-Transformation an: Ersetzen Sie s durch s / Ωp Dies ergibt neue Polynomkoeffizienten.

Schritt 5: Wenden Sie die bilineare Transformation auf die vorgewarnte analoge Übertragungsfunktion an. Mit Hilfe eines Werkzeugs oder einer manuellen Substitution werden b und a Koeffizienten für jeden Abschnitt zweiter Ordnung erhalten. Das endgültige H(z) wird in kaskadierter SOS-Form vorliegen.

Dieses Beispiel, obwohl es verdichtet ist, veranschaulicht die gesamte Pipeline.

Schlussfolgerung

Die Ableitung einer IIR-Filterübertragungsfunktion aus Spezifikationen ist ein methodischer Prozess, der sich von Anforderungen zur Prototypenauswahl, Auftragsermittlung, Ableitung analoger Übertragungsfunktionen, Frequenztransformation, Diskretisierung und Implementierung bewegt. Jeder Schritt hat gut etablierte mathematische Grundlagen und praktische Kompromisse. Durch das Verständnis dieser Grundlagen können Sie Filter entwerfen, die strenge Leistungskriterien mit minimalem Rechenaufwand erfüllen. Für weitere Untersuchungen konsultieren Sie maßgebliche Quellen wie Der Leitfaden für die digitale Signalverarbeitung oder die MATLAB IIR Filter Design Dokumentation für detaillierte Algorithmen und Beispiele.