Difference between IIR and FIR filters: a practical design guide

Ein digitaler Filter ist ein mathematischer Algorithmus, der mit einem digitalen Datensatz (z. B. Sensordaten) arbeitet, um Informationen von Interesse zu extrahieren und unerwünschte Informationen zu entfernen. Zu den Anwendungen dieser Art von Technologie gehört das Entfernen von Störungen aus Sensordaten oder sogar das Bereinigen von Rauschen in einem gemessenen Signal, um die Datenanalyse zu vereinfachen. Aber wie wählen wir den besten digitalen Filtertyp für unsere Anwendung aus? Und was sind die Unterschiede zwischen einem IIR-Filter und einem FIR-Filter?

Digitale Filter sind in die folgenden zwei Kategorien unterteilt:

  • Unendliche Impulsantwort (IIR)
  • Endliche Impulsantwort (FIR)

Wie die Namen schon vermuten lassen, wird jeder Filtertyp nach der Länge seiner Impulsantwort kategorisiert. Bevor Sie jedoch mit einer detaillierten mathematischen Analyse beginnen, sollten Sie die Unterschiede in der Leistung und den Eigenschaften der einzelnen Filtertypen berücksichtigen.

Beispiel

Um die Unterschiede zwischen einem IIR und FIR zu veranschaulichen, ist der Frequenzgang eines FIR 14. Ordnung (durchgezogene Linie) und eines Chebyshev Typ I IIR 4. Ordnung (gestrichelte Linie) unten in Abbildung 1 dargestellt. Beachten Sie, dass, obwohl die Magnitudenspektren einen ähnlichen Dämpfungsgrad aufweisen, das Phasenspektrum des IIR-Filters im Durchlassbereich nichtlinear ist (\(\ small 0 \ rightarrow7.5Hz \)) und bei der Grenzfrequenz sehr nichtlinear wird, \ (\ small f_c = 7,5 Hz \). Beachten Sie auch, dass die FIR eine höhere Anzahl von Koeffizienten erfordert (15 gegenüber 10 der IIR), um den Dämpfungseigenschaften der IIR zu entsprechen.

 FIR vs IIR: Frequenzgang einer FIR 14. Ordnung (durchgezogene Linie) und einer Chebyshev Typ I IIR 4. Ordnung (gestrichelte Linie); Fir-Filter, IIR-Filter
Abbildung 1: FIR vs IIR: Frequenzgang einer FIR 14. Ordnung (durchgezogene Linie) und einer Chebyshev Typ I IIR 4. Ordnung (gestrichelte Linie)

Dies sind nur einige der Unterschiede zwischen den beiden Filtertypen. Eine detaillierte Zusammenfassung der wichtigsten Vor- und Nachteile jedes Filtertyps folgt nun.

IIR-Filter

IIR-Filter (Infinite Impulse Response) werden im Allgemeinen für Anwendungen ausgewählt, bei denen die lineare Phase nicht zu wichtig ist und der Speicher begrenzt ist. Sie wurden in großem Umfang in der Audioentzerrung, der biomedizinischen Sensorsignalverarbeitung, intelligenten IoT / IIoT-Sensoren und Hochgeschwindigkeits-Telekommunikations- / HF-Anwendungen eingesetzt.

Vorteile

  • Niedrige Implementierungskosten: benötigt weniger Koeffizienten und Speicher als FIR-Filter, um einen ähnlichen Satz von Spezifikationen zu erfüllen, d. H. Grenzfrequenz und Sperrbanddämpfung.
  • Niedrige Latenz: Geeignet für Echtzeitsteuerung und sehr schnelle HF-Anwendungen aufgrund der geringen Anzahl von Koeffizienten.
  • Analoges Äquivalent: Kann verwendet werden, um die Eigenschaften analoger Filter mithilfe von S-z-Ebenen-Mapping-Transformationen nachzuahmen.

  • Nichtlineare Phaseneigenschaften: Die Phasencharakteristik eines IIR-Filters ist im Allgemeinen nichtlinear, insbesondere in der Nähe der Grenzfrequenzen. Zur Verbesserung der Durchlassphasencharakteristik können Allpass-Entzerrfilter eingesetzt werden.
  • Detailliertere Analyse: Erfordert mehr Skalierung und numerische Überlaufanalyse bei Implementierung in Fixed Point. Die Direct Form II-Filterstruktur ist besonders empfindlich gegenüber den Auswirkungen der Quantisierung und erfordert besondere Sorgfalt während der Entwurfsphase.
  • Numerische Stabilität: Aufgrund der Rückkopplungspfade weniger numerisch stabil als ihre Gegenstücke zur FIR (Finite Impulse Response).

FIR-Filter

FIR-Filter (Finite Impulse Response) werden im Allgemeinen für Anwendungen ausgewählt, bei denen die lineare Phase wichtig ist und eine angemessene Menge an Speicher und Rechenleistung verfügbar ist. Sie sind in Audio- und biomedizinischen Signalverstärkungsanwendungen weit verbreitet. Ihre All-Zero-Struktur (siehe unten) stellt sicher, dass sie für keine Art von Eingangssignal instabil werden, was ihnen einen deutlichen Vorteil gegenüber dem IIR verschafft.

Vorteile

  • Linear phase: Tannen kann leicht entwickelt, um haben linear phase. Dies bedeutet, dass keine Phasenverzerrung in das zu filternde Signal eingeführt wird, da alle Frequenzen zeitlich um den gleichen Betrag verschoben sind – und somit ihre relativen harmonischen Beziehungen (d. h. konstante Gruppen- und Phasenverzögerung) beibehalten werden. Dies ist bei IIR-Filtern, die eine nichtlineare Phasencharakteristik aufweisen, sicherlich nicht der Fall.
  • Stabilität: Da Tannen keine vorherigen Ausgabewerte verwenden, um ihre aktuelle Ausgabe zu berechnen, d.h. sie haben keine Rückkopplung, sie können für keine Art von Eingangssignal instabil werden, was ihnen einen deutlichen Vorteil gegenüber IIR-Filtern verschafft.
  • Arbitrary frequency response: Die fir() -Funktion von Parks-McClellan und ASN FilterScript ermöglicht das Design einer FIR mit einer beliebigen Größenantwort. Dies bedeutet, dass eine FIR einfacher angepasst werden kann als eine IIR.
  • Fixpunktleistung: Die Auswirkungen der Quantisierung sind weniger stark als die eines IIR.
  • Hoher Rechen- und Speicherbedarf: Tannen benötigen normalerweise viel mehr Koeffizienten, um einen scharfen Cut-off zu erreichen als ihre IIR-Gegenstücke. Dies hat zur Folge, dass sie viel mehr Speicher und deutlich mehr MAC-Operationen (Multiple und Accumulate) benötigen. Moderne Mikrocontroller-Architekturen, die auf den Cortex-M-Kernen des Arm basieren, bieten jedoch jetzt DSP-Hardwareunterstützung über SIMD (Signal Instruction, Multiple Data), die den Filtervorgang erheblich beschleunigt.
  • Höhere Latenz: die höhere Anzahl von Koeffizienten bedeutet, dass ein FIR im Allgemeinen weniger geeignet ist als ein IIR für schnelle Anwendungen mit hohem Durchsatz. Dies wird problematisch für Echtzeit-Regelanwendungen, bei denen ein FIR-Filter möglicherweise zu viel Gruppenverzögerung aufweist, um eine Schleifenstabilität zu erreichen.
  • Kein analoges Äquivalent: Mit der bilinearen, angepassten Z-Transformation (s-z-Mapping) kann ein analoges Filter einfach in ein äquivalentes IIR-Filter transformiert werden. Dies ist jedoch für eine FIR nicht möglich, da sie kein analoges Äquivalent hat.

Mathematische Definitionen

Wie in der Einleitung erläutert, stammen die Namen IIR und FIR aus den mathematischen Definitionen jedes Filtertyps, d. h. Ein IIR-Filter wird durch seine theoretisch unendliche Impulsantwort kategorisiert,

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

und eine FIR, die durch ihre endliche Impulsantwort kategorisiert wird,

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

Wir werden nun die mathematischen Eigenschaften jedes Filtertyps nacheinander analysieren.

IIR-Definition

Wie oben zu sehen ist, wird ein IIR-Filter durch seine theoretisch unendliche Impulsantwort kategorisiert,

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

Praktisch ist es nicht möglich, die Ausgabe eines IIR mit dieser Gleichung zu berechnen. Daher kann die Gleichung in Bezug auf eine endliche Anzahl von Polen \ (\ small p \) und Nullen \ (\ small q \) neu geschrieben werden, wie durch die lineare konstante Koeffizientendifferenzgleichung definiert, die durch gegeben ist:

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

dabei sind \(\small a_k\) und \(\small b_k\) die Nenner- und Zählerpolynomkoeffizienten des Filters, dessen Wurzeln gleich den Polen bzw. Nullen des Filters sind. Somit kann eine Beziehung zwischen der Differenzgleichung und der z-Transformation (Übertragungsfunktion) daher definiert werden, indem die z-Transformationsverzögerungseigenschaft so verwendet wird, dass,

\(\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+\Summe\Grenze_{k=1}^p a_kz^{-k}}
\)

Wie man sieht, ist die Übertragungsfunktion eine Frequenzbereichsdarstellung des Filters. Beachten Sie auch, dass die Pole auf die Ausgangsdaten und die Nullen auf die Eingangsdaten wirken. Da die Pole auf die Ausgangsdaten einwirken und die Stabilität beeinflussen, ist es wichtig, dass ihre Radien innerhalb des Einheitskreises (dh < 1) für die BIBO-Stabilität (begrenzter Eingang, begrenzter Ausgang) bleiben. Die Radien der Nullen sind weniger kritisch, da sie die Filterstabilität nicht beeinflussen. Dies ist der Hauptgrund, warum FIR-Filter (Finite Impulse Response) immer stabil sind.

BIBO-Stabilität

Ein lineares zeitinvariantes (LTI) System (wie ein digitales Filter) wird als begrenzter Eingang, begrenzter Ausgang stabil oder BIBO stabil bezeichnet, wenn jeder begrenzte Eingang zu einem begrenzten Ausgang führt, als

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

Wobei \(\small h(k)\) die Impulsantwort des LTI-Systems ist. Bei der Analyse dieser Gleichung sollte klar sein, dass das BIBO-Stabilitätskriterium nur erfüllt ist, wenn die Pole des Systems innerhalb des Einheitskreises liegen, da die ROC (Region of Convergence) des Systems den Einheitskreis enthalten muss. Folglich genügt es zu sagen, dass ein begrenztes Eingangssignal immer dann ein begrenztes Ausgangssignal erzeugt, wenn alle Pole innerhalb des Einheitskreises liegen.

Die Nullen hingegen sind durch diese Anforderung nicht eingeschränkt und können daher irgendwo in der Z-Ebene liegen, da sie die Systemstabilität nicht direkt beeinflussen. Daher kann eine Systemstabilitätsanalyse durchgeführt werden, indem zunächst die Wurzeln der Übertragungsfunktion (d. h. Wurzeln der Zähler- und Nennerpolynome) berechnet und dann die entsprechenden Pole und Nullen auf die z-Ebene aufgetragen werden.

Eine interessante Situation ergibt sich, wenn irgendwelche Pole auf dem Einheitskreis liegen, da das System als marginal stabil gilt, da es weder stabil noch instabil ist. Obwohl marginal stabile Systeme nicht BIBO-stabil sind, wurden sie von digitalen Oszillator-Designern ausgenutzt, da ihre Impulsantwort eine einfache Methode zur Erzeugung von Sinuswellen bietet, die sich im Bereich der Telekommunikation als unschätzbar erwiesen haben.

Biquad IIR-Filter

Die hier diskutierte IIR-Filterimplementierung wird als biquad bezeichnet, da sie zwei Pole und zwei Nullen aufweist, wie unten in Abbildung 2 dargestellt. Die Biquad-Implementierung ist besonders nützlich für Fixpunkt-Implementierungen, da die Auswirkungen der Quantisierung und der numerischen Stabilität minimiert werden. Der Gesamterfolg einer Biquad-Implementierung hängt jedoch von der verfügbaren Zahlengenauigkeit ab, die ausreichend sein muss, um sicherzustellen, dass sich die quantisierten Pole immer innerhalb des Einheitskreises befinden.

 Direkte Form I (biquad) IIR Filter Realisierung und Transferfunktion.; Direkte Form; Biquad Filter

Abbildung 2: Direkte Form I (biquad) IIR Filterrealisierung und Transferfunktion.

Bei der Analyse von Abbildung 2 ist ersichtlich, dass die Biquad-Struktur tatsächlich aus zwei Rückkopplungspfaden (skaliert um \(\small a_1\) und \(\small a_2\)), drei Feed-Forward-Pfaden (skaliert um \(\small b_0, b_1\) und \(\small b_2\)) und einer Sektionsverstärkung \ (\small K\) besteht. Somit kann die Filteroperation von Abbildung 1 durch die folgende einfache rekursive Gleichung zusammengefasst werden:

\(\displaystyle y(n)=K\zeiten\Big – a_1 y(n-1)-a_2 y(n-2)\)

Bei der Analyse der Gleichung ist zu beachten, dass die Biquad-Implementierung nur vier Additionen (mit nur einem Akkumulator) und fünf Multiplikationen erfordert, die auf jedem Cortex-M-Mikrocontroller problemlos untergebracht werden können. Die Streckenverstärkung \(\small K\) kann auch vor der Implementierung mit den Vorwärtspfadkoeffizienten vormultipliziert werden.

Eine Sammlung von Biquad-Filtern wird als Biquad-Kaskade bezeichnet, wie unten dargestellt.

 Biquad Cascade; Biquad Filter

Der ASN Filter Designer kann eine Kaskade von bis zu 50 Biquads entwerfen und implementieren (nur Professional Edition).

Gleitkommaimplementierung

Bei der Implementierung eines Filters in Gleitkommazahlen (dh bei Verwendung von Arithmetik mit doppelter oder einfacher Genauigkeit) werden direkte Form-II-Strukturen als bessere Wahl angesehen als die direkte Form-I-Struktur. Die direkte Form II transponierte Struktur wird als die numerisch genaueste für die Gleitkommaimplementierung angesehen, da die unerwünschten Auswirkungen des numerischen Swampings minimiert werden, wie durch Analyse der Differenzgleichungen gezeigt.

 Direkte Form II Transponierte Struktur, Transferfunktion und Differenzgleichungen; IIR-Filter; Biquad Filter

Abbildung 3 – Direkte Form II Transponierte Struktur, Übertragungsfunktion und Differenzgleichungen

Die Filterzusammenfassung (in Abbildung 4 dargestellt) bietet dem Konstrukteur einen detaillierten Überblick über den entworfenen Filter, einschließlich einer detaillierten Zusammenfassung der technischen Spezifikationen und der Filterkoeffizienten, die einen schnellen und einfachen Weg zur Dokumentation Ihres Entwurfs darstellt.

Der ASN Filter Designer unterstützt den Entwurf und die Implementierung von Einzelschnitt- und Biquad (Standardeinstellung) IIR-Filtern.

 Biquad Filter ASN Filterdesigner DSP

Abbildung 4: detaillierte Spezifikation.

FIR-Definition

Rückgabe der linearen konstanten Koeffizientendifferenzgleichung des IIR, d. h.

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

Beachten Sie, dass, wenn wir die \ (\small a_k\) Koeffizienten (dh die Rückkopplung) auf Null setzen, die Definition auf unsere ursprüngliche FIR-Filterdefinition reduziert wird, was bedeutet, dass die FIR-Berechnung nur auf vergangenen und gegenwärtigen Eingabewerten basiert, nämlich:

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

Implementierung

Obwohl mehrere praktische Implementierungen für FIRs existieren, sind die direkte Formstruktur und ihr transponierter Cousin vielleicht die am häufigsten verwendeten, und als solche sind alle entworfenen Filterkoeffizienten für die Implementierung in einer direkten Formstruktur vorgesehen.

Die direkte Formstruktur und die zugehörige Differenzgleichung sind unten gezeigt. Die direkte Form wird für die Implementierung eines festen Punktes aufgrund des Einzelakkumulatorkonzepts befürwortet.

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

 Direkte Form; Direkte Formularstruktur

Die empfohlene (Standard-) Struktur im ASN Filter Designer ist die transponierte Struktur der direkten Form, da diese eine überlegene numerische Genauigkeit bei der Verwendung von Gleitkommaarithmetik bietet. Dies kann leicht durch die Analyse der folgenden Differenzgleichungen (die für die Implementierung verwendet werden) gesehen werden, da die unerwünschten Effekte des numerischen Swampings minimiert werden, da die Gleitkommaaddition für Zahlen ähnlicher Größe durchgeführt wird.

\(\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}\)

 Direkte Form Transponiert

Was haben wir gelernt?

Digitale Filter sind in die folgenden zwei Kategorien unterteilt:

  • Unendliche Impulsantwort (IIR)
  • Endliche Impulsantwort (FIR)

IIR-Filter (Infinite Impulse Response) werden im Allgemeinen für Anwendungen ausgewählt, bei denen die lineare Phase nicht zu wichtig ist und der Speicher begrenzt ist. Sie wurden in großem Umfang in der Audioentzerrung, der biomedizinischen Sensorsignalverarbeitung, intelligenten IoT / IIoT-Sensoren und Hochgeschwindigkeits-Telekommunikations- / HF-Anwendungen eingesetzt.

FIR-Filter (Finite Impulse Response) werden im Allgemeinen für Anwendungen ausgewählt, bei denen die lineare Phase wichtig ist und eine angemessene Menge an Speicher und Rechenleistung verfügbar ist. Sie sind in Audio- und biomedizinischen Signalverstärkungsanwendungen weit verbreitet.

ASN Filter Designer bietet Ingenieuren alles, was sie zum Entwerfen, Experimentieren und Bereitstellen komplexer digitaler IIR- und FIR-Filter für eine Vielzahl von Sensormessanwendungen benötigen. Diese Vorteile in Verbindung mit der automatischen Dokumentation und Codegenerierungsfunktionalität ermöglichen es Ingenieuren, einen IIR / FIR-Digitalfilter innerhalb von Minuten statt Stunden zu entwerfen und zu validieren.