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).
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:
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:
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:
Aus der Übertragungsfunktion G(z) kann durch Übergang in den Frequenzbereich (Frequenz f) mit 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“, „Chebyshev“ und „Bessel“ realisieren. Die Filterkoeffizienten werden dabei intern als Biquads berechnet.
Mit dem Funktionsbaustein FB_FTR_MovAvg und FB_FTR_Median können Sie einen Mittelwert- bzw. Median-Filter realisieren, der in vielen Anwendungen zum Glätten von Signalen genutzt wird.
Mit dem Funktionsbaustein FB_FTR_Gaussian erstellen Sie einen Glättungsfilter mit minimalem Group Delay, sodass die Form ihres Signals beim Durchlaufen des Filters nur minimal beeinflusst wird und nur die störenden Signalanteile entfernt werden.
Mit dem Funktionsbaustein FB_FTR_Notch können Sie einen Bandstopp-Filter realisieren, der zur Unterdrückung eines schmalen Frequenzbandes genutzt wird.
Mit dem Funktionsbaustein FB_FTR_ActualValue können Sie eine Plausibilitätskontrolle einer gemessenen Eingangsgröße vornehmen.
Außerdem werden Ihnen weitere in der Systemtheorie und Regelungstechnik gebräuchliche Filter zur Verfügung gestellt: PTt-, PT1-, PT2-, PT3- , PTn-, PT2oscillation- und LeadLag-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.
Beim Filterentwurf wird der Effekt des „Frequency warping“ berücksichtigt.