Rekursive Filter

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Autor: Prof. Dr.-Ing. Schneider

Einleitung

Rekursive Softwarefilter spielen eine zentrale Rolle in der digitalen Signalverarbeitung, da sie es ermöglichen, Messwerte effizient zu glätten, Störungen zu reduzieren und relevante Informationen hervorzuheben. Im Gegensatz zu nicht-rekursiven Verfahren nutzen rekursive Filter neben aktuellen auch vergangene Ausgabewerte, wodurch sie mit geringem Rechenaufwand oft eine hohe Filterwirkung erzielen. Zu den grundlegenden Filtertypen zählen der einfache Mittelwertfilter, der gleitende Mittelwert sowie der Medianfilter, die vor allem zur Glättung und Ausreißerunterdrückung eingesetzt werden. Ergänzt werden diese durch rekursive Tiefpassfilter, die insbesondere hochfrequente Störungen dämpfen und langsame Signalverläufe betonen. Die Auswahl des geeigneten Filters hängt dabei stark von den Eigenschaften des Eingangssignals und den Anforderungen an die Signalverarbeitung ab, wie etwa Rechenaufwand, Verzögerung oder Empfindlichkeit gegenüber Ausreißern.

Inhalt

Mittelwertfilter

Vorteile:

  • Sehr einfach zu implementieren
  • Gute Glättung bei zufälligem Rauschen
  • Geringer Rechenaufwand

Nachteile:

  • Träge Reaktion auf Signaländerungen, keine Filterung dynamischer Signale möglich
  • Verwischt Kanten und schnelle Übergänge
  • Empfindlich gegenüber Ausreißern

Anwendungsgebiete:

  • Einfache Signalglättung für statische Messung
  • Messwertverarbeitung (z. B. Temperatur, Feuchte)
  • Grundlegende Datenvorverarbeitung

Formel

x¯(k)=k1kx¯(k1)+1kx(k)

Standardabweichung

Formel

Rekursive Varianz v(k)=v(k1)+(x(k)x¯(k1))(x(k)x¯(k))

Rekursive Standardabweichung v(k)k1

Gleitendes Mittelwertfilter

Formel

Die Formel für das gleitende Mittelwertfilter lautet: x¯(k)=x(1)+x(2)++x(k)k für k Messwerte

Vorteile:

  • Kontinuierliche Glättung von Datenströmen
  • Effizient berechenbar
  • Gut für Echtzeitanwendungen

Nachteile:

  • Zeitverzögerung (Delay)
  • Glättet auch relevante Signaländerungen
  • Empfindlich gegenüber Ausreißern

Anwendungsgebiete:

  • Zeitreihenanalyse
  • Embedded Systems / Mikrocontroller
  • Trendanalyse in Finanzdaten

💻 Demos

Tiefpassfilter 1. Ordnung

Formel

  • Die Formel für das Tiefpassfilter lautet: x¯(k)=αx¯(k1)+(1α)x(k) für den aktuellen Messwert x(k).
  • α ist hierbei ein Filterparameter 0<α<1.

Vorteile:

  • Sehr effizient (geringer Speicherbedarf)
  • Gute Glättung dynamischer Werte bei geringer Verzögerung
  • Einfacher zu implementieren als Median oder gleitender Mittelwert
  • Flexibel parametrierbar
  • Die Eckfrequenz ist eine physikalischer Parameter.

Nachteile:

  • Zeitverzögerung (Delay)
  • Parameterwahl teilweise komplex
  • Kann instabil werden bei falscher Auslegung
  • Beeinflusst die Phasenlage

Anwendungsgebiete:

  • Echtzeit-Signalverarbeitung
  • Audiofilterung und Rauschunterdrückung
  • Regelungstechnik und Sensorfusion

💻 Demos

Medianfilter

Vorteile:

  • Sehr robust gegenüber Ausreißern
  • Erhält Kanten und Strukturen gut
  • Keine Verzerrung durch Extremwerte

Nachteile:

  • Höherer Rechenaufwand (Sortierung)
  • Weniger geeignet für gaußsches Rauschen
  • Rekursive Umsetzung aufwändiger

Anwendungsgebiete:

  • Bildverarbeitung (z. B. Salz-und-Pfeffer-Rauschen)
  • Sensorsignale mit Störimpulsen
  • Mustererkennung und Vorverarbeitung

💻 Demos

Video Tutorials

Butterworth Tiefpassfilter 2. Ordnung

Der Butterworth-Filter ist ein digitaler oder analoger Filter, der für seinen maximal flachen Frequenzgang im Durchlassbereich bekannt ist. Das bedeutet, dass er im gewünschten Frequenzbereich keine Welligkeit aufweist und Signale dort möglichst unverfälscht durchlässt.

Typischerweise wird er als Tiefpass, Hochpass oder Bandpass eingesetzt, wobei der Tiefpass besonders häufig in der Signalverarbeitung verwendet wird, um hochfrequentes Rauschen zu unterdrücken und langsam veränderliche Signalanteile zu erhalten.

In der digitalen Signalverarbeitung wird der Butterworth-Filter oft als IIR-Filter (Infinite Impulse Response) realisiert. Dadurch erreicht er eine gute Filterwirkung bei vergleichsweise geringer Filterordnung, allerdings mit einer gewissen Phasenverzerrung, die in vielen Messanwendungen akzeptabel ist.

Aufgrund seines guten Kompromisses aus Glättung, Stabilität und geringer Komplexität ist der Butterworth-Filter ein Standardverfahren in der Messtechnik, Robotik und Sensordatenverarbeitung.

Formel

x¯(k)=b0x(k)+b1x(k1)+b2x(k2)a1x¯(k1)a1x¯(k2)

  • Der aktuelle Ausgang x¯(k) entsteht aus einer Mischung aus aktuellen und vergangenen Eingangswerten sowie vergangenen Ausgangswerten.
  • Der Signalanteil berücksichtig die aktuellen und 2 vorherige Messwerte.
  • Die Rückkopplung beschreibt das Gedächtnis des Filters (2 vorherige Filterwerte).

Bestimmen Sie die Parameter mit MATLAB®.

%% Butterworth-Filter-Designer
fs = 10;      % Abtastrate in Hz
fc = 2;       % Grenzfrequenz in Hz
n  = 2;       % Ordnung

Wn = fc/(fs/2);   % normierte Frequenz (Nyquist!)

[b, a] = butter(n, Wn, 'low');

% Parameterzuordnung
% a1 = a(2) 
% a2 = a(3)

%% Filtergleichung Butterworth 2. Ordnung
y = filter(b, a, x);

Vorteile:

  • gute Glättung
  • unterdrückt hochfrequentes Rauschen
  • maximal flacher Durchlassbereich
  • keine Verstärkung oder Abschwächung einzelner Frequenzen im Nutzsignalbereich
  • Signal bleibt weitgehend unverfälscht
  • geringer Rechenaufwand
  • steilere Filterwirkung als Filter 1. Ordnung
  • echtzeitfähig

Nachteile:

  • Phasenverschiebung/Delay
  • Einschwingverhalten
  • falsche koeffizienten führen zur Instabilität
  • Ausreißer werden nicht behandelt

Anwendungsgebiete:

  • Filterung/Glättung verrauschter Sensorsignale
  • Robotik: Abstandserfassung, Hinderniserkennung, Positionsbestimmung
  • Anti-Aliasing

💻 Demos

MATLAB®: RekursivesButterworthFilter.m]

Literatur

Kim, P.: Kalman-Filter für Einsteiger: mit MATLAB Beispielen. CreateSpace Independent Publishing: 2016. ISBN-13: 978-1502723789