Filter

Ein Filter in der Digitalen Signalverarbeitung (DSP) ist ein System, das dazu dient, bestimmte Frequenzen eines Signals zu verstärken oder zu dämpfen. Die Funktion eines Filters kann je nach Typ und Anwendung variieren, aber im Allgemeinen gibt es zwei Hauptkategorien von Filtern: Tiefpassfilter und Hochpassfilter.

  1. Tiefpassfilter (TPF):
    Ein Tiefpassfilter lässt niedrige Frequenzen durch und dämpft oder blockiert hohe Frequenzen. Es wird häufig verwendet, um Rauschen zu reduzieren oder um sicherzustellen, dass nur die relevanten Teile eines Signals erhalten bleiben
  2. Hochpassfilter (HPF):
    Ein Hochpassfilter lässt hohe Frequenzen durch und dämpft oder blockiert niedrige Frequenzen. Es kann dazu verwendet werden, tieffrequente Störungen zu entfernen und bestimmte Frequenzbereiche zu betonen.
  3. Bandpassfilter (BPF):
    Ein Bandpassfilter ist eine Kombination aus Hoch- und Tiefpass. Nur Frequenzen innerhalb eines bestimmten Bereiches werden verstärkt. Frequenzen außerhalb des Bereiches werden gedämpft.
  4. Bandpasssperrfilter (Notch Filter)
    Dieser Filter verhält sich invers zum Bandpassfilter. Die Frequenzen innerhalb des Bandes werden jedoch blockiert. Nu Frequenzen außerhalb des Bandes werden durchgelassen.

Filter in der DSP können auch in verschiedenen Ordnungen existieren, was sich auf die Steilheit des Übergangs zwischen dem durchgelassenen und blockierten Frequenzbereich auswirkt. Höhere Ordnungen führen zu steileren Übergängen, aber sie können auch komplexer in der Implementierung sein.

Die Ordnung eines Filters gibt an, wie viele vergangene Eingangswerte (bei einem zeitdiskreten System) oder vergangene Zeitpunkte (bei einem zeitkontinuierlichen System) in die Berechnung des aktuellen Ausgangswerts einfließen.

Es gibt zwei Haupttypen von Filtern in der digitalen Signalverarbeitung (DSP), die unterschiedliche Arten von Koeffizienten verwenden:

  1. Finite-Impulsantwort (FIR) Filter:
    • Bei FIR-Filtern sind die Koeffizienten die Werte, die den Beitrag jedes verzögerten Eingangswerts zum aktuellen Ausgangswert repräsentieren.
    • Ein FIR-Filter hat eine endliche Anzahl von Koeffizienten, und die Filterantwort hängt nur von einer endlichen Anzahl vergangener Eingangswerte ab.
    • Beispiel: Für ein einfaches FIR-Filter 3. Ordnung könnten die Koeffizienten a, b und c sein: y[n]=ax[n]+bx[n−1]+cx[n−2].

      y ist das Ausgangssignal des Filters und x das Eingangssignal zum Zeitpunkt 0,1,2

  2. Infinite-Impulsantwort (IIR) Filter:
    • Bei IIR-Filtern werden die Koeffizienten sowohl für die Verzögerungselemente als auch für die Rückkopplung zwischen den Ausgangs- und Eingangssignalen verwendet.
    • Ein IIR-Filter hat eine unendliche Impulsantwort, und die Filterantwort hängt von vergangenen Ausgangswerten sowie Eingangswerten ab.
    • Beispiel: Für ein einfaches IIR-Filter 2. Ordnung könnten die Koeffizienten a, b, c und d sein: y[n]=ax[n]+bx[n−1]−cy[n−1]−dy[n−2].

Die genauen Werte der Koeffizienten hängen von den spezifischen Anforderungen des Filters ab, einschließlich der gewünschten Filtercharakteristik (z.B., Tiefpass, Hochpass) und der Filterordnung. Filterentwurfsalgorithmen, wie Fensterung, Frequenzsamplung oder Parks-McClellan-Algorithmus werden verwendet, um geeignete Koeffizienten zu bestimmen, die die gewünschte Filterfunktion erfüllen.

Fenster-Design-Algorithmus:

Der Fenster-Design-Algorithmus ist eine einfache Methode, um die Koeffizienten eines FIR-Filters zu entwerfen. Der Designer wählt ein gewünschtes Filterfenster (z.B., Rechteckfenster, Hammingfenster) und formt die Koeffizienten des idealen Filters durch Multiplikation mit dem ausgewählten Fenster.
Die Blöcke in GNUSDR stellen ein Set an unterschiedlichen Fensteralgorithmen zur Verfügung.

Der Begriff Fenster bedeutet, dass die unendliche Impulsantwort durch den Algorithmus auf eine endliche Impulsantwort geschränkt wird.

Parks-McClellan-Algorithmus (Remez-Algorithmus):

Der Parks-McClellan-Algorithmus ist eine iterative Methode zur Minimierung des Fehlerwerts zwischen dem gewünschten und dem tatsächlichen Frequenzgang. Der Algorithmus minimiert dabei den maximalen Fehler zwischen dem gewünschten und tatsächlichen Amplitudenfrequenzgang unter Berücksichtigung spezifizierter Frequenzbereiche. Er liefert einen Filter mit einer gleichmäßigen Frequenzantwort, der den spezifizierten Anforderungen genügt.
Dieser Algorithmus ist leitungsfähiger und vermeidet breite Übergangsbänder. Wie aber immer in der digitalen Signalverarbeitung erfordert er eine höhere Rechenleistung.

Insgesamt ermöglicht der Einsatz von Filtern in DSP eine präzise Kontrolle über die Frequenzzusammensetzung von Signalen, was in vielen Anwendungen von entscheidender Bedeutung ist.

Ein Filter wird mathematisch durch seine Übertragungsfunktion beschrieben. Sie beschreibt die Beziehung zwischen dem Eingangs- und dem Ausgangssignal.

Im allgemeinen Fall für kontinuierliche Zeit kann die Übertragungsfunktion folgendermaßen ausgedrückt werden:

Y(f)=H(f)⋅X(f)

Y(f) das komplexe Spektrum des Ausgangssignals,
X(f) das komplexe Spektrum des Eingangssignals, und
H(f) die Übertragungsfunktion des Filters.


Aus der Übertragungsfunktion wird z.B. die Grenzfrequenz und die Filterordnung abgeleitet.
Die Grenzfrequenz eines Filters ist dabei die Frequenz, bei der das Ausgangssignal des Filters um 3 dB (ca. 70,7 %) im Vergleich zum Durchgangsbereich des Signals abgefallen ist. In anderen Worten markiert die Grenzfrequenz den Punkt, an dem das Filter beginnt, bestimmte Frequenzen zu dämpfen.