Was sind FIR-Filter?
In der Signalverarbeitung ist die Filterung ein wesentlicher Prozess zur Entfernung unerwünschter Komponenten aus einem Signal. Eine spezielle Klasse von Filtern sind FIR (Finite Impulse Response) Filter, auf die wir in diesem Beitrag näher eingehen werden. Nach einer kurzen Beschreibung digitaler Filter im Allgemeinen wird die Struktur und Funktion von FIR-Filtern erörtert. Schließlich geben wir einen Überblick über die Implementierung von FIR-Filtern in unserer Messsoftware OXYGEN.
Was sind digitale Filter?
Ein digitaler Filter ist ein mathematischer Algorithmus zur Manipulation eines Signals, um Informationen zu extrahieren und unerwünschte Informationen zu entfernen, z. B. durch Sperren oder Durchlassen eines bestimmten Frequenzbereichs. Es handelt sich also um ein digitales System, das eine Eingangssequenz durch einen Transformationsprozess in eine Ausgangssequenz umwandelt.
Es gibt verschiedene Klassen von Filtern. Basierend auf der Länge ihrer Impulsantwort können wir digitale Filter jedoch in die folgenden Kategorien einteilen:
- Unendliche Impulsantwort (IIR)
- Endliche Impulsantwort (FIR)
Analoge Filter werden mit elektronischen Bauteilen wie Kondensatoren, Spulen, Widerständen usw. realisiert. Im Gegensatz dazu, werden digitale Filter mit Logikbausteinen wie ASICs, FPGAs oder in Form eines sequenziellen Programms mit einem Signalprozessor umgesetzt.
Was ist der Unterschied zwischen IIR- und FIR-Filtern?
Im Allgemeinen unterscheiden sich IIR- und FIR-Filter durch die Reaktion eines Filters auf einen Eingangsimpuls. Fällt die Impulsantwort des Filters nach Ablauf einer endlichen Zeit auf null ab, spricht man von einem FIR-Filter (Finite Impulse Response). Ist die Impulsantwort dagegen zeitlich unbegrenzt, handelt es sich um ein IIR-Filter (Infinite Impulse Response). Ob die Impulsantwort eines digitalen Filters nach einer endlichen Zeit auf null abfällt, hängt davon ab, wie die Ausgangswerte berechnet werden. Bei FIR-Filtern hängen die Ausgangswerte nur von den aktuellen und vorhergehenden Eingangswerten ab, während bei IIR-Filtern die Ausgangswerte zusätzlich von den vorhergehenden Ausgangswerten abhängen.
Der Vorteil von IIR-Filtern gegenüber FIR-Filtern besteht darin, dass IIR-Filter in der Regel weniger Koeffizienten benötigen, um vergleichbare Filteroperationen durchzuführen, schneller arbeiten und weniger Arbeitsspeicher benötigen. Ein großer Nachteil von IIR-Filtern ist jedoch ihr nicht-lineares Phasenverhalten. Für Anwendungen, die keine Phaseninformation benötigen, wie die Überwachung der Signalamplitude, sind IIR-Filter gut geeignet. Deshalb sind für Anwendungen, die eine lineare Phasenreaktion erfordern, FIR-Filter im Allgemeinen besser geeignet.
Wie funktionieren FIR-Filter?
Abb. 1 zeigt die Funktionsweise eines FIR-Filters. Am Eingang werden die Daten/Werte x(n) vom A/D-Wandler Takt für Takt (Sample für Sample) angelegt.
In der oberen Reihe der Skizze befinden sich Schiebeelemente (z-1), die die am Eingang anliegenden Daten/Werte pro Taktzyklus um einen Schritt verschieben. Das bedeutet, dass am Ende des folgenden Beispiels der Wert x(n-3), drei Takte vor dem aktuellen Wert x(n) liegt. In der Mitte befinden sich die FIR-Koeffizienten k0–km. Diese Koeffizienten stellen einen Verstärker dar, der den Eingangswert mit der Verstärkung „k“ multipliziert. Die untere Reihe ist der Summationszweig, der die Ergebnisse aller Multiplikationen addiert (Integration). Das Ausgangssignal y(n) ist nun das gemäß den FIR-Koeffizienten verarbeitete Signal und kann durch den folgenden mathematischen Ausdruck dargestellt werden:
$$ y(n)=\sum\limits_{i = 0}^m k(i)*x(n-i) $$
Abb. 1: Kalkulationsprozess eines FIR-Filters
In unserem Whitepaper stellen wir im Weiteren ein detailliertes Beispiel vor, wie die Filterkoeffizienten eines FIR-Tiefpassfilters bestimmt werden können.
Whitepaper hier herunterladen!
FIR-Filter in OXYGEN
OXYGEN ist unsere intuitive Test- und Messsoftware. Es ist eine All-in-One-Software für die Messung, Visualisierung und Analyse verschiedenster Anwendungen. Sie enthält eine Vielzahl von Features, unter anderem ein FIR-Filter-Tool.
Es ist ein einfach zu bedienendes Tool, das Ihnen die Wahl zwischen vier verschiedenen Filtertypen ermöglicht:
- Tiefpass
- Hochpass
- Bandpass
- Bandstopp
Nach der Auswahl geben Sie einfach die Filterlänge, die gewünschte Fensterfunktion und die Angabe, ob Sie die Signalverzögerung kompensieren möchten, ein und schon kann es losgehen. Eine detailliertere Anleitung zum Einrichten eines FIR-Filters in OXYGEN finden Sie in unserem Whitepaper.
Kurz und bündig
Digitale Filter sind mathematische Algorithmen zur Manipulation von Signalen, um unerwünschte Informationen zu entfernen. Bei FIR-Filtern handelt es sich um eine Unterklasse, deren Impulsantwort eine endliche Länge hat. Im Vergleich zu IIR-Filtern sind FIR-Filter grundsätzlich stabiler und können für eine lineare Phase ausgelegt werden.