FIR- vs. IIR-Filter: Aufbau, Stabilität, Phase, Filterordnung und Rechenaufwand

Beide sind digitale Filter, die den Frequenzgang eines Signals formen, unterscheiden sich aber darin, ob vergangene Ausgaben in die Berechnung eingehen. Ein FIR-Filter (Filter mit endlicher Impulsantwort) multipliziert nur die aktuelle und vergangene Eingaben mit Koeffizienten und summiert sie, daher endet seine Impulsantwort nach so vielen Abtastwerten, wie es Taps hat. Ein IIR-Filter (Filter mit unendlicher Impulsantwort) führt auch vergangene Ausgaben in die Berechnung zurück, daher läuft seine Impulsantwort theoretisch unendlich weiter. Ein FIR-Filter ist immer stabil und wird mit symmetrischen Koeffizienten linearphasig, braucht für einen steilen Frequenzgang aber viele Taps. Ein IIR-Filter erreicht einen steilen Frequenzgang mit niedriger Ordnung, doch seine Phase ist nicht linear, und je nach Lage seiner Pole kann es instabil werden.

MerkmalFIR-FilterIIR-Filter
Differenzengleichung und Impulsantworty[n] = Σh[k]x[n − k]: eine gewichtete Summe nur der Eingaben; die Impulsantwort endet nach N Tapsy[n] = Σb[k]x[n − k] − Σa[k]y[n − k]: vergangene Ausgaben werden zurückgeführt, und die Impulsantwort klingt ab, läuft aber weiter
Übertragungsfunktion H(z) und StabilitätKein Nenner; die einzigen Pole liegen bei z = 0, daher unabhängig von den Koeffizienten immer stabilHat einen Nenner; nur stabil, wenn alle Pole innerhalb des Einheitskreises liegen
PhasengangLinearphasig bei symmetrischen Koeffizienten; die Gruppenlaufzeit beträgt bei jeder Frequenz (N − 1)/2 AbtastwerteNicht linearphasig; die Gruppenlaufzeit ändert sich mit der Frequenz und wächst nahe der Grenzfrequenz
Nötige Ordnung für dieselbe Spezifikation (Beispiel)Für einen Tiefpass bei fs = 48 kHz mit Durchlassbereichsgrenze 4 kHz, Sperrbereichsgrenze 5 kHz, 60 dB Dämpfung und 0,5 dB Welligkeit im Durchlassbereich braucht ein Equiripple-Entwurf etwa 110 TapsEin elliptisches Filter, das dieselbe Spezifikation erfüllt, hat die Ordnung 7 (4 Abschnitte zweiter Ordnung)
Rechenaufwand pro AusgangsabtastwertSo viele Multiply-Accumulate-Operationen wie Taps: im Beispiel etwa 110 (die Symmetrie halbiert die Multiplikationen ungefähr)Etwa 5 Multiplikationen pro Abschnitt zweiter Ordnung: im Beispiel etwa 20
VerzögerungKonstant (N − 1)/2 Abtastwerte: im Beispiel etwa 56 Abtastwerte (etwa 1,2 ms)Ändert sich mit der Frequenz: im Beispiel etwa 9 Abtastwerte bei niedrigen Frequenzen und etwa 75 Abtastwerte an der Durchlassbereichsgrenze
Koeffizientenquantisierung (Festkomma)Der Frequenzgang ändert sich leicht, die Stabilität geht aber nie verlorenEine Gleichung hoher Ordnung direkt zu implementieren kann Pole verschieben und Instabilität verursachen; implementiert wird es als Kaskade von Abschnitten zweiter Ordnung (Biquads)
Wichtigste EntwurfsverfahrenFenstermethode, Equiripple-Verfahren (Parks-McClellan)Bilineare Transformation der Übertragungsfunktion eines Analogfilters (Butterworth, Tschebyscheff, elliptisch u. a.)
Typischer EinsatzKommunikation und Messtechnik, bei denen die Kurvenform erhalten bleiben muss, Audio- und Bildverarbeitung, Dezimations- und Interpolationsfilter, adaptive FilterEingebettete Geräte, die Rechenaufwand und Speicher sparen müssen, Audio-Equalizer, Gleichanteilentfernung und exponentielle Glättung

Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welche Variante?

FIR-Filter
Wenn die Kurvenform nicht verzerrt werden darf (Pulsformung in der Kommunikation, Messtechnik, Audio- und Bildverarbeitung), für Dezimations- und Interpolationsfilter und für adaptive Filter, die stabil bleiben müssen, während sich ihre Koeffizienten ändern. Es braucht viele Multiply-Accumulate-Operationen, doch DSPs und FPGAs können sie parallel ausführen.
IIR-Filter
Wenn Rechenaufwand, Speicher oder Verzögerung klein bleiben müssen. In Anwendungen, in denen Phasenverzerrung keine Rolle spielt, liefert es steile Frequenzgänge, schmale Notches und Gleichanteilentfernung mit wenig Rechenaufwand.

Häufige Fragen

Was beschreiben die Namen FIR und IIR?

Die Länge der Impulsantwort, also der Ausgabe auf einen Impuls (ein Signal, das nur bei n = 0 gleich 1 ist). Die Antwort eines FIR-Filters (Finite Impulse Response) kehrt nach endlicher Länge auf 0 zurück, bei N Taps nach der Länge N. Die Antwort eines IIR-Filters (Infinite Impulse Response) läuft wegen der Rückführung weiter: Für y[n] = 0,2x[n] + 0,8y[n − 1] ist die Impulsantwort 0,2 × 0,8ⁿ, die sich 0 nähert, aber nie endet.

Was ist der Vorteil eines linearen Phasengangs?

Alle Frequenzanteile werden um dieselbe Zeit verzögert, daher bleibt die Kurvenform des Signals im Durchlassbereich erhalten. Bei einem FIR-Filter mit N Taps und symmetrischen Koeffizienten beträgt die Verzögerung bei jeder Frequenz (N − 1)/2 Abtastwerte: 50 Abtastwerte bei 101 Taps (etwa 1,04 ms bei 48 kHz). Ein IIR-Filter verzögert verschiedene Frequenzen unterschiedlich stark, was die Form von Pulsen und Sprüngen verzerrt.

Warum kann ein IIR-Filter instabil werden?

Weil es die Ausgabe zurückführt: Liegt ein Pol (ein Wert von z, bei dem der Nenner der Übertragungsfunktion 0 ist) außerhalb des Einheitskreises, wächst die Ausgabe unbegrenzt. Ein Filter erster Ordnung wie y[n] = x[n] + 0,5y[n − 1] ist stabil, weil der Rückführungskoeffizient betragsmäßig kleiner als 1 ist; in einem steilen Filter hoher Ordnung drängen sich die Pole jedoch nahe am Einheitskreis, und schon das Runden der Koeffizienten kann einen Pol hinausschieben. Deshalb wird es in Abschnitte zweiter Ordnung aufgeteilt.

Lässt sich die Phasenverschiebung eines IIR-Filters beseitigen?

Werden aufgezeichnete Daten nachträglich verarbeitet, hebt das Anwenden desselben Filters vorwärts und dann rückwärts die Phasenverschiebung auf (Nullphasenfilterung). In Echtzeit geht das nicht, weil künftige Eingaben gebraucht würden; Echtzeitsysteme korrigieren die Gruppenlaufzeit daher mit einem Allpassfilter oder wählen ein linearphasiges FIR-Filter.

Verständnis prüfen

Welche Eigenschaft hat ein FIR-Filter (Filter mit endlicher Impulsantwort)?

  1. AEs hat eine Rückkopplung vom Ausgang auf die Eingangsseite, sodass sich mit wenigen Koeffizienten eine steile Charakteristik erzielen lässt
  2. BSeine Impulsantwort dauert unendlich lange an, daher wird es durch Koeffizientenquantisierung leicht instabil
  3. CEs hat keine Rückkopplung und ist daher immer stabil; mit symmetrischen Koeffizienten erhält es einen linearen Phasengang
Antwort und Erläuterung anzeigen

Antwort: C. Es hat keine Rückkopplung und ist daher immer stabil; mit symmetrischen Koeffizienten erhält es einen linearen Phasengang

Ein FIR-Filter multipliziert nur den aktuellen und vergangene Eingänge mit Koeffizienten und addiert sie; eine Rückkopplung des Ausgangs hat es nicht. Seine Impulsantwort endet nach der Zahl der Koeffizienten (Taps), und seine Pole liegen nur bei z = 0, sodass es bei beliebigen Koeffizientenwerten stabil ist. Mit symmetrischen Koeffizienten hat es einen linearen Phasengang: Alle Frequenzanteile werden um dieselbe Zeit verzögert, und die Wellenform behält ihre Form. Dafür braucht eine steile Charakteristik mehr Taps als bei einem IIR-Filter.

Welches der folgenden FIR-Filter mit 5 Taps hat einen linearen Phasengang?

  1. Ah = {1, 2, 3, 2, 1}
  2. Bh = {1, 2, 3, 4, 5}
  3. Ch = {5, 4, 3, 2, 1}
Antwort und Erläuterung anzeigen

Antwort: A. h = {1, 2, 3, 2, 1}

Sind die Koeffizienten eines FIR-Filters symmetrisch zur Mitte (h[n] = h[N − 1 − n]), ist die Phase eine zur Frequenz proportionale Gerade, und alle Frequenzanteile werden um dieselben (N − 1)/2 Abtastwerte verzögert. {1, 2, 3, 2, 1} ist symmetrisch zur mittleren 3 und damit ein Filter mit linearem Phasengang und einer konstanten Verzögerung von 2 Abtastwerten. {1, 2, 3, 4, 5} und {5, 4, 3, 2, 1} sind weder symmetrisch noch antisymmetrisch, daher hängt ihre Verzögerung von der Frequenz ab.

Welche Gruppenlaufzeit hat ein linearphasiges FIR-Filter mit 101 Taps (mit symmetrischen Koeffizienten)?

  1. A50 Abtastwerte
  2. B50,5 Abtastwerte
  3. C101 Abtastwerte
Antwort und Erläuterung anzeigen

Antwort: A. 50 Abtastwerte

Die Gruppenlaufzeit eines FIR-Filters mit N Taps und symmetrischen Koeffizienten beträgt bei allen Frequenzen (N − 1)/2 Abtastwerte. Für N = 101 sind das (101 − 1)/2 = 50 Abtastwerte, die Position des mittleren Koeffizienten (des 51. Koeffizienten h[50]). Bei einer Abtastfrequenz von 48 kHz entspricht das einer Verzögerung von 50 ÷ 48.000 ≈ 1,04 ms; bei der Echtzeitverarbeitung ist zu beachten, dass mehr Taps mehr Verzögerung bedeuten.

  1. Welche Kombination der Verstärkungen beim Gleichanteil und bei der Nyquist-Frequenz hat das IIR-Tiefpassfilter erster Ordnung, das durch die exponentielle Glättung y[n] = 0,2x[n] + 0,8y[n − 1] gegeben ist?
  2. Welche Aussage über die bilineare Transformation, mit der aus der Übertragungsfunktion H(s) eines analogen Filters ein digitales Filter entworfen wird, ist richtig?
  3. Worauf ist zu achten, wenn ein IIR-Filter hoher Ordnung in Festkommadarstellung mit Koeffizienten begrenzter Bitbreite implementiert wird?

Übungsfragen zu Grundlagen der digitalen Signalverarbeitung

Wichtige Begriffe erklärt

FIR-Filter
Digitales Filter, dessen Impulsantwort nach endlicher Länge endet (Filter mit endlicher Impulsantwort). Es berechnet y[n] = Σh[k]x[n − k], multipliziert also den aktuellen und die vergangenen Eingänge, insgesamt N, mit Koeffizienten und addiert sie; eine Rückkopplung des Ausgangs hat es nicht. Seine Pole liegen nur bei z = 0, sodass es unabhängig von den Koeffizienten immer stabil ist; symmetrische Koeffizienten ergeben einen linearen Phasengang, bei dem alle Frequenzanteile um (N − 1)/2 Abtastwerte verzögert werden. Dafür braucht eine steile Charakteristik viele Taps, und jeder Ausgangswert erfordert so viele Multiply-Accumulate-Operationen, wie es Taps gibt.
IIR-Filter
Digitales Filter, das vergangene Ausgänge auf die Eingangsseite zurückführt und dessen Impulsantwort unendlich lange andauert (Filter mit unendlicher Impulsantwort). Es wird mit einer Differenzengleichung wie y[n] = 0,2x[n] + 0,8y[n − 1] (exponentielle Glättung) berechnet, und seine Übertragungsfunktion hat einen Nenner. Es erreicht eine steile Charakteristik mit wenigen Koeffizienten, wenig Rechenaufwand und kleiner Verzögerung, doch seine Phase ist nicht linear. Es wird instabil, wenn nicht alle Pole innerhalb des Einheitskreises liegen, und Filter hoher Ordnung sind empfindlich gegenüber Koeffizientenquantisierung, weshalb sie oft als Kaskade von Abschnitten zweiter Ordnung (Biquads) implementiert werden. Ein gängiges Verfahren ist der Entwurf aus einem analogen Filter mit der bilinearen Transformation.
Linearer Phasengang
Eigenschaft eines Filters, dessen Phasengang eine zur Frequenz proportionale Gerade ist. Alle Frequenzanteile werden dann um dieselbe Zeit verzögert (die Gruppenlaufzeit ist konstant), sodass die Wellenform ihre Form behält. Ein FIR-Filter erhält einen exakt linearen Phasengang, wenn seine Koeffizienten symmetrisch (oder antisymmetrisch) zur Mitte sind; die Verzögerung beträgt bei N Taps (N − 1)/2 Abtastwerte. Ein stabiles, kausales IIR-Filter kann keinen exakt linearen Phasengang erreichen, daher werden FIR-Filter häufig dort eingesetzt, wo Wellenformen erhalten bleiben müssen, etwa bei Audio, in Kommunikationsempfängern und in der Messtechnik.
Gruppenlaufzeit
Größe, die angibt, wie stark jede Frequenzkomponente eines Signals beim Durchgang durch ein Filter verzögert wird, definiert als negative Ableitung des Phasengangs φ(ω) nach der Frequenz (−dφ/dω). Ist die Gruppenlaufzeit bei allen Frequenzen gleich, wird die gesamte Wellenform nur verzögert und behält ihre Form. Ein FIR-Filter mit N Taps und symmetrischen Koeffizienten hat die konstante Gruppenlaufzeit (N − 1)/2 Abtastwerte. Bei IIR- und analogen Filtern ändert sich die Gruppenlaufzeit mit der Frequenz und erreicht oft nahe der Grenzfrequenz ein Maximum, was Pulsformen verzerrt. Bessel-Filter sind auf eine flache Gruppenlaufzeit ausgelegt.
Impulsantwort
Ausgang h[n] eines Systems, wenn der Einheitsimpuls δ[n] (1 nur bei n = 0, sonst 0) angelegt wird. Bei einem linearen zeitinvarianten (LTI) System ist der Ausgang für jeden Eingang die Faltung des Eingangs mit h[n], y[n] = Σx[k]h[n − k]; h[n] beschreibt das System daher vollständig. Ein Filter, dessen h[n] nach endlicher Länge endet, ist ein FIR-Filter, eines, dessen h[n] unendlich lange andauert, ein IIR-Filter. BIBO-Stabilität erfordert, dass Σ|h[n]| endlich ist, und die z-Transformation von h[n] ist die Übertragungsfunktion H(z).
Differenzengleichung
Gleichung, die den Ausgang eines zeitdiskreten Systems als gewichtete Summe aktueller und vergangener Eingänge sowie vergangener Ausgänge ausdrückt. y[n] = x[n] + 0,5y[n − 1] addiert zum Beispiel die Hälfte des vorherigen Ausgangs zum aktuellen Eingang. Eine Gleichung ohne vergangene Ausgänge auf der rechten Seite beschreibt ein FIR-Filter, eine mit vergangenen Ausgängen (mit Rückkopplung) meist ein IIR-Filter, dessen Impulsantwort unendlich lange andauert. Mit Anfangswerten lässt sie sich schrittweise berechnen und direkt in Software oder Hardware umsetzen. Die z-Transformation beider Seiten liefert die Übertragungsfunktion H(z).
z-Transformation
Verfahren, das ein zeitdiskretes Signal x[n] in eine Funktion der komplexen Zahl z umsetzt, X(z) = Σx[n]z^(−n). Eine Verzögerung um einen Abtastwert entspricht der Multiplikation mit z⁻¹, sodass sich eine Differenzengleichung als gebrochenrationale Funktion in z (Übertragungsfunktion H(z)) behandeln lässt. Werte von z, die den Nenner von H(z) zu null machen, heißen Pole, solche, die den Zähler zu null machen, Nullstellen; ein kausales System ist stabil, wenn alle Pole innerhalb des Einheitskreises liegen. Die Auswertung auf dem Einheitskreis mit z = e^(jω) liefert den Frequenzgang. Sie ist das zeitdiskrete Gegenstück zur Laplace-Transformation.
Moving-Average-Filter
Einfachstes Tiefpassfilter, das den Mittelwert der letzten N Abtastwerte ausgibt (gleitender Mittelwert). Es lautet y[n] = (x[n] + x[n − 1] + … + x[n − N + 1])/N und ist ein FIR-Filter, dessen Koeffizienten alle 1/N sind. Seine Verstärkung beim Gleichanteil ist 1 und bei ganzzahligen Vielfachen von fs/N null; mittelt man zum Beispiel über ein Intervall, das genau zur Periode der Netzspannung passt, werden Störungen bei der Netzfrequenz und ihren Oberschwingungen entfernt. Die Koeffizienten sind symmetrisch, daher hat es einen linearen Phasengang mit einer Verzögerung von (N − 1)/2 Abtastwerten. Aktualisiert man die Summe, indem man den neuesten Abtastwert addiert und den ältesten subtrahiert, genügen unabhängig von N wenige Operationen.

Verwandte Vergleiche