Digitale Filter

Digitalfilter oder digitale Filter werden verwendet, um digitalisierte (zeitdiskrete und wertquantisierte) Signale zu manipulieren. Die Manipulation zeigt sich dabei im Frequenzbereich, in dem bestimmte Bestandteile eines Signals hervorgehoben oder unterdrückt werden.

Eigenschaften

Digitale Filter können sich u. a. in dem Frequenzbereich unterscheiden, der das Filter passieren darf.

Filtertyp

Beschreibung

Einsatzbereich (Beispiele)

Tiefpass

Frequenzen unterhalb einer Grenzfrequenz können das Filter passieren.

Anti-Aliasing-Filter oder Filter zur Glättung eines Signals.

Hochpass

Frequenzen oberhalb einer Grenzfrequenz können das Filter passieren.

Beseitigung eines störenden Gleichanteils im Signal.

Bandpass

Frequenzen innerhalb eines Frequenzintervalls können das Filter passieren.

Sinnvoll bei amplitudenmodulierten Signalen (Funktechnik, optischen Messsignalen, Ultraschall-Signalen, …), d. h. das Nutzsignal verteilt sich spektral um eine Trägerfrequenz, sodass tiefe und hohe Frequenzen außerhalb des Nutzsignals das SNR (Signal-Rausch-Verhältnis) verschlechtern und unterdrückt werden.

Bandstopp

Frequenzen außerhalb eines Frequenzintervalls können das Filter passieren.

Unterdrückung einer induktiv eingekoppelten Frequenz, z. B. der Netzfrequenz.

Die konkrete Implementierung des Filters bestimmt das Übergangsverhalten vom Durchlassbereich zum Sperrbereich.

Siehe auch: Filtertypen und Parametrierung

Digitale Signale

Ein analoges Signal x(t) wird durch einen Analog-Digital-Umsetzer, z. B. in einer EL3xxx oder ELM3xxx, in ein zeitdiskretes und wertquantisiertes Signal x[n] überführt. Die Zeitdiskretisierung findet mit der Abtastperiodendauer T statt (Inverse der Abtastfrequenz fs).

Digitale Filter 1:

Differenzengleichung

Die allgemeine Differenzengleichung für ein Eingangssignal x[n] (Eingang in ein diskretes System, hier ein Filter) und ein zugehöriges Ausgangssignal y[n] lautet:

Digitale Filter 2:

Dabei sind ak und bk i. d. R. reellwertige Koeffizienten (Filterkoeffizienten). Der aktuelle Ausgangswert y[n] eines Systems wird also als Linearkombination von vergangenen Filtereingängen x[n-k] mit k > 0, vergangenen Filterausgängen y[n-k] mit k > 0 und dem aktuellen Filtereingang x[n] (k = 0) berechnet.

Die Einbeziehung von vergangenen Filterausgängen in die Berechnung eines aktuellen Ausgangswerts stellt eine Rückkopplung dar und bedarf entsprechend einer Überprüfung hinsichtlich der Stabilität des Systems. Filter mit Rückkopplungen werden „IIR-Filter“ (Infinite-Impulse-Response-Filter) genannt. Filter ohne Rückkopplung werden „FIR-Filter“ (Finite-Impulse-Response-Filter) genannt. Der Vorteil von IIR-Filtern ist, dass mit geringen Filterordnungen bereits „gute“ Manipulationen am Signal x[n] durchgeführt werden können. FIR-Filter hingegen können per Definition nie instabil sein.

Übertragungsfunktion

Durch z-Transformation der Differenzengleichung und unter Ausnutzung der Linearität und der Zeitverschiebungseigenschaft ergibt sich folgende allgemeine Darstellung der Filter-Übertragungsfunktion:

Digitale Filter 3:

Die Nenner-Koeffizienten ak gehören zu den Koeffizienten in der Rückkopplung. Damit das Filter mit der Übertragungsfunktion G(z) stabil ist, muss bei der Berechnung dieser Koeffizienten darauf geachtet werden, dass die Polstellen von G(z) innerhalb des Einheitskreises in der komplexen Ebene liegen.

IIR-Filter mit hoher Filter-Ordnung können durch Quantisierungseffekte bei der Berechnung der Koeffizienten instabil werden. Um diese Herausforderung zu umgehen, werden IIR-Filter häufig in kaskadierten Biquad-Filter implementiert, in der Regel bekannt als second-order sections (SOS). Dabei wird die Gesamtübertragungsfunktion durch eine Multiplikation von mehreren Filtern 2ter Ordnung ausgedrückt. Die Übertragungsfunktion G(z) wird dann beschrieben mit:

Digitale Filter 4:

Aus der Übertragungsfunktion G(z) kann durch Übergang in den Frequenzbereich (Frequenz f) mit Digitale Filter 5: der Frequenzgang eines Systems bestimmt werden. Der Amplitudengang entspricht dann dem Betrag des Frequenzgangs und der Phasengang dem Argument des Frequenzgangs.

Umsetzung in der SPS-Bibliothek

Die SPS-Bibliothek Tc3_Filter stellt verschiedene Funktionsbausteine zur Realisierung von digitalen Filtern zur Verfügung.

Mit dem Funktionsbaustein FB_FTR_IIRCoeff können Sie einen freien Filter realisieren. Die Filterkoeffizienten ak und bk können Sie dabei individuell berechnen und dem Funktionsbaustein über eine Konfigurationsstruktur übergeben. Für die Stabilität des Filters sind Sie selbst verantwortlich.

Mit dem Funktionsbaustein FB_FTR_IIRSos können Sie einen freien Filter strukturiert in SOS realisieren. Die Filterkoeffizienten ak und bk können Sie dabei individuell berechnen und dem Funktionsbaustein über eine Konfigurationsstruktur übergeben. Für die Stabilität des Filters sind Sie selbst verantwortlich.

Mit dem Funktionsbaustein FB_FTR_IIRSpec können Sie durch einfache Parametrierung vorgefertigte Filter vom Typ „Butterworth“ und vom Typ „Chebyshev“ realisieren. Die Filterkoeffizienten werden dabei intern als Biquads berechnet.

Mit dem Funktionsbaustein FB_FTR_MovAvg können Sie einen Moving-Average-Filter realisieren, der in vielen Anwendungen zum Glätten von Signalen genutzt wird.

Außerdem werden Ihnen weitere in der Systemtheorie und Regelungstechnik gebräuchliche Filter zur Verfügung gestellt: PT1-, PT2-, PT3- und PTn-Glieder.

Ein PT1-Glied und ein Butterworth-Tiefpassfilter 1. Ordnung können zwar äquivalent ineinander umgerechnet werden, jedoch sind die dargebotenen Parameter der Filter unterschiedlich.

Bilineare Transformation

Die Parametrierung der vordefinierten Filter erfolgt im Laplace-Bereich. Die Umsetzung von der zeitkontinuierlichen Darstellung des Systems in den zeitdiskreten z-Raum erfolgt intern mithilfe der bilinearen Transformation.

Digitale Filter 6:

Beim Filterentwurf wird der Effekt des „Frequency warping“ berücksichtigt.