Was ist der schärfste Frequenzgang eines nicht kausalen Tiefpassfilters, dessen Sprungantwort nicht übersteuert?


13

Butterworth-, Bessel-, Chebychev- und Sinc-Tiefpassfilter werden in verschiedenen Fällen verwendet, in denen es unterschiedliche Kompromisse zwischen einem gleichmäßig abnehmenden Frequenzgang, einem gleichmäßigen Phasengang, einem steilen Grenzgang oder einer "Brick-Wall" -Reaktion gibt. Ich glaube, dass alle derartigen Filter in einigen Fällen ein Überschwingen ihrer Sprungantwort haben können, was bedeutet, dass ihre Impulsantwort an einigen Stellen negativ ist.

Was wäre der optimale Frequenzgang oder welche Arten von Frequenzgängen wären in einem Filter verfügbar, dessen einzige Einschränkung darin bestand, dass die Impulsantwort nicht überall negativ sein könnte? Sicher ist es möglich, ein Tiefpassfilter zu haben, das eine solche Einschränkung erfüllt, da ein grundlegendes RC-Filter dies tut (obwohl die Reaktion eines solchen Filters etwas mies ist). Wäre die optimale Impulsantwort eine Normalverteilungskurve oder etwas anderes?


1
@supercat, wenn Sie die digitale Filterung mit einbeziehen, ist es ziemlich erstaunlich, wie die Ziegelmauer eine Antwort liefert, die Sie ohne Überschwingen erhalten können.
Kortuk

2
@Kortuk: Wirklich? Ich würde denken, es wäre schwierig, ein Überschwingen zu vermeiden, da eine durch Ziegelmauern gefilterte Rechteckwelle kleine Spitzen aufweist, deren Breite mit steigender Grenzfrequenz gegen Null geht, deren Amplitude jedoch nicht steigt. Was wäre eine gute Referenz?
Supercat

2
Sie sagen in der Frage "nicht kausal", aber alle Ihre Beispiele sind kausal. Was meinst du Ohne Kausalität müssen Sie die gesamte Wellenform aufzeichnen und dann den Filter auf die Aufzeichnung anwenden. (Oder vielleicht die Verwendung von Flusskondensatoren und großen Stromquellen.)
Endolith

1
@endolith: Was wäre der optimale Filter, vorausgesetzt er muss nicht kausal sein.
Supercat

1
@Kortuk: Wenn Sie das Signal auf Null begrenzen, werden alle Vorteile der Filterung vollständig zunichte gemacht. Und während ich in DSP poste, bin ich auch neugierig auf Dinge wie Audiofilmrekorder (zugegebenermaßen eher aus intellektueller als aus praktischer Sicht), bei denen man jede beliebige nicht-negative Impulsfunktion einer Breitenbeschränkung unterwerfen kann.
Supercat

Antworten:


6

Ich werde eine Liste von "Filtern, die nicht überschwingen". Ich hoffe, Sie finden diese Teilantwort besser als gar keine Antwort. Hoffentlich finden Leute, die nach "einem Filter suchen, der nicht übersteuert", diese Liste solcher Filter hilfreich. Vielleicht funktioniert einer dieser Filter in Ihrer Anwendung auch dann, wenn wir den mathematisch optimalen Filter noch nicht gefunden haben.

LTI-Kausalfilter erster und zweiter Ordnung

Die Sprungantwort eines Filters erster Ordnung ("RC-Filter") überschwingt niemals.

Die Sprungantwort eines Filters zweiter Ordnung ("Biquad") kann so ausgelegt werden, dass sie niemals übersteuert. Es gibt mehrere äquivalente Möglichkeiten, diese Klasse von Filtern zweiter Ordnung zu beschreiben, die bei einer Stufeneingabe nicht übersteuern:

  • es ist stark gedämpft oder überfeuchtet.
  • es ist nicht unterdämpft.
  • das Dämpfungsverhältnis (Zeta) beträgt 1 oder mehr
  • der Qualitätsfaktor (Q) beträgt 1/2 oder weniger
  • der Abklingratenparameter (alpha) ist mindestens die ungedämpfte natürliche Winkelfrequenz (omega_0) oder mehr

Insbesondere eine Sallen-Key-Filtertopologie mit einer Verstärkung von eins bei gleichen Kondensatoren und gleichen Widerständen wird kritisch gedämpft: Q = 1/2 und überschreitet daher nicht einen Stufeneingang.

Ein Bessel-Filter zweiter Ordnung ist leicht unterdämpft: Q = 1 / sqrt (3), sodass es zu einem leichten Überschwingen kommt.

Ein Butterworth-Filter zweiter Ordnung ist schwächer gedämpft: Q = 1 / sqrt (2), daher tritt mehr Überschwingen auf.

Von allen möglichen LTI-Filtern erster und zweiter Ordnung, die kausal sind und nicht übersteuern, sind die mit dem "besten" (steilsten) Frequenzgang die "kritisch gedämpften" Filter zweiter Ordnung.

LTI-Kausalfilter höherer Ordnung

Das am häufigsten verwendete Kausalfilter höherer Ordnung mit einer Impulsantwort, die niemals negativ ist (und daher bei einem Stufeneingang niemals übersteuert), ist das "Laufender-Durchschnitt-Filter", auch "Boxcar-Filter" oder " Gleitender-Durchschnitt-Filter" genannt ".

Einige Leute lassen gerne Daten durch einen Boxcar-Filter und die Ausgabe von diesem Filter in einen anderen Boxcar-Filter laufen. Nach einigen solchen Filtern ist das Ergebnis eine gute Approximation des Gaußschen Filters. (Je mehr Filter Sie kaskadieren, desto näher kommt die endgültige Ausgabe einem Gaußschen Wert, unabhängig davon, mit welchem ​​Filter Sie beginnen - Boxcar, Dreieck, RC erster Ordnung oder einem anderen -, aufgrund des zentralen Grenzwertsatzes.)

Praktisch alle Fensterfunktionen haben eine Impulsantwort, die niemals negativ ist, und können daher im Prinzip als FIR-Filter verwendet werden, die bei einem Stufeneingang niemals übersteuern. Insbesondere höre ich gute Dinge über das Lanczos-Fenster , das der zentrale (positive) Lappen der sinc () -Funktion ist (und Null außerhalb dieses Lappens). Einige wenige Impulsformungsfilter haben eine Impulsantwort, die niemals negativ ist, und können daher als Filter verwendet werden, die an einem Stufeneingang niemals übersteuern.

Ich weiß nicht, welcher dieser Filter für Ihre Anwendung am besten geeignet ist, und ich vermute, dass der mathematisch optimale Filter geringfügig besser ist als jeder dieser Filter.

nichtlineare Kausalfilter

Der Medianfilter ist ein beliebter nichtlinearer Filter, der bei einem Step-Function-Eingang niemals übersteuert.

BEARBEITEN: LTI nicht kausale Filter

Die Funktion sech (t) = 2 / (e ^ (- t) + e ^ t) ist eine eigene Fouriertransformation, und ich nehme an, sie könnte als eine Art nicht-kausaler Tiefpass-LTI-Filter verwendet werden, der auf a niemals übersteuert Stufeneingabe.

Das nicht-kausale LTI-Filter, das die Impulsantwort (sinc (t / k)) ^ 2 hat, hat eine Frequenzantwort "abs (k) * triangle (k * w)". Wenn eine Stufeneingabe gegeben wird, weist sie eine große Welligkeit im Zeitbereich auf, überschreitet jedoch nie den endgültigen Einschwingpunkt. Über der Hochfrequenzecke dieses Dreiecks ergibt sich eine perfekte Sperrunterdrückung (unendliche Dämpfung). Im Sperrbereich hat es einen besseren Frequenzgang als ein Gauß-Filter.

Daher bezweifle ich, dass der Gauß-Filter den "optimalen Frequenzgang" ergibt.

Ich vermute, dass es in der Menge aller möglichen "Filter, die nicht überschwingen", keinen einzigen "optimalen Frequenzgang" gibt - einige haben eine bessere Sperrbereichsunterdrückung, während andere schmalere Übergangsbänder usw. haben.


Danke für deine Antwort. Ich hatte es versäumt, meine Frage auf lineare Filter zu beschränken, obwohl es natürlich ein trübes Unterfangen sein kann, den Frequenzgang eines nichtlinearen Filters zu charakterisieren. Wie bereits erwähnt, nähert sich der Boxcar-Filter durch Kaskadierung einem Gaußschen Filter. Ich habe mich gefragt, ob das Gauß-Filter den optimalen Frequenzgang hat, der ohne Überschwingen erzielt werden kann. Beim Schreiben der Frage habe ich über verschiedene analoge Prozesse nachgedacht, die so etwas wie einen definierten Impulsantwortfilter ausführen, z.
Supercat

Es ist möglich, eine Kamera so zu konstruieren, dass jedes Pixel unterschiedliche Lichtmengen von verschiedenen Punkten in der Mitte aufnimmt. Im Idealfall filtert eine Kamera alles über Nyquist heraus, ohne dass etwas darunter unscharf wird. In der Praxis ist dies jedoch unwahrscheinlich.
Supercat

1
LTI? Du definierst es nie. Das Hinzufügen, dass es "linear zeitinvariant" bedeutet, wäre wahrscheinlich hilfreich.
Connor Wolf

1
Q = 0,5 ist also kritisch gedämpft? Gibt es für einen bestimmten Auftrag mehrere Systeme, die kritisch gedämpft sind? Das Biquad mit Q = 0.5 heißt LR2 Linkwitz-Riley-Filter . Es sieht jedoch so aus, als ob Versionen des LR-Filters höherer Ordnung in der Sprungantwort klingeln.
Endolith

"Das Kaskadieren kritisch gedämpfter Filter führt zu einem anderen kritisch gedämpften Filter." Halten Sie also die Dumping-Pole auf -1 und es wird immer kritisch gedämpft? (Und nähern Sie sich einer Gaußschen Filterantwort, wenn die Zahl steigt?)
Endolith

2

Die meisten der in der digitalen Welt verwendeten Filter sind nur eine abgetastete Version des analogen Gegenstücks. Ein wichtiger Grund dafür ist, dass die analoge Filterung vor der Einführung der digitalen viel Arbeit leistete, sodass das Rad nicht neu erfunden wurde, sondern nur frühere Konstruktionen. Der Vorteil gegenüber digital ist jedoch, dass ein Filter höherer Ordnung viel einfacher als in der analogen Welt erzielt werden kann. Stellen Sie sich vor, Sie erhalten jedes Mal eine komplexe Schaltung, wenn Sie dem Entwurf eine weitere Bestellung hinzufügen.

Wenn Sie sich für einen Filter mit Backsteinmauer entscheiden, ist die Gaußsche Kurve ein guter Ausgangspunkt. Wenn Sie Zeitbereich <-> Frequenzbereich kennen; Ein Gaußscher verwandelt sich in einen Gaußschen in der anderen Domäne. Wenn es in einem Wickler wird, wird es in dem anderen schmaler. Um eine perfekte Frequenzspitze zu erzielen, benötigen Sie also unendlich viele Samples.

Wenn Sie Matlab zur Verfügung haben, sollten Sie sich einige der integrierten Filterdesign-Tools ansehen. Hier ist ein Link über Butterworth und Bessel . Mit den Entwurfswerkzeugen können Sie bestimmte Aspekte des Filters angeben. Diese Aspekte ändern sich für jeden Filtertyp, einige Beispiele sind jedoch Durchlassbereich, Sperrbereich, Welligkeit usw. Wenn Sie dem Designer die gewünschten Einschränkungen geben, wird entweder ein Fehler angezeigt (dh der Filter kann nicht mit diesem Filtertyp erstellt werden ) oder Sie erhalten einen Filter mit der Mindestbestellmenge, die erforderlich ist, um die Spezifikation zu erfüllen.


Ein Gaußscher entspricht der Forderung nach einer nichtnegativen Impulsantwort, ist aber keine große Mauer. Andererseits haben Butterworth, Bessel und Chebyshev sinc-ähnliche Schwingungen in ihrer Impulsantwort, die zu einem Überschwingen führen. Von diesen weist das Bessel-Filter das geringste Überschwingen auf, da es eine nahezu flache Gruppenverzögerung (lineare Phase) im Durchlassbereich aufweist.
Eryk Sun

Anders als beim Gaußschen sind diese Filter kausal. Für die Offline-Verarbeitung würde eine lineare Phase NNFIR (nichtnegative FIR) gut funktionieren, oder Sie können die Phasenverzerrung eines kausalen rekursiven Filters mithilfe der Filtfilt- Technik aufheben Überschwingen / Unterschwingen vermeiden. Vorschläge jemand? Verweise?
Eryk Sun

@eryksun, als Randnotiz, wenn es mit dem 1,05-fachen des Maximalwerts oszillieren soll, machen Sie es einfach feucht, um bei 1,00 zu stoppen, und Ihre Sprungantwort wird etwas geringer sein, wie .96, wenn es stabil ist. Problem gelöst.
Kortuk

@Kortuk: Das Problem wurde im Zeitbereich behoben, aber das Abschneiden ist nicht nur nicht linear, sondern öffnet auch bestimmte Teile des Frequenzbereichs, um ein Signal weiterzuleiten, das zuvor nicht vorhanden war. Er will einen möglichst engen Pass / No Pass Filter in der Frequenz ohne Überschwingen im Zeitbereich. Kein Zeitbereichsüberschwingen ist dasselbe wie zu sagen, dass die Impulsantwort niemals negativ ist.
Olin Lathrop

1
@Kortuk: In einigen Domänen liegt Null in der Nähe des Mittelpunkts zwischen Maximum und Minimum, und durch Skalieren eines Signals zum Mittelpunkt werden Probleme mit Überschwingungen vermieden. In anderen Bereichen, wie beispielsweise Bildverarbeitung, Null ist das Minimum, und die dynamische Bereich ist sehr wichtig , da; Es wäre im Allgemeinen besser, einen "unschärferen" Filter zu haben, der nicht übersteuert, als einen schärferen, der dies tut.
Supercat
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.