Welche IIR-Filter entsprechen in etwa einem Gauß-Filter?

15

Vor kurzem ist mir aufgefallen, dass Bessel-Filter, obwohl sie zusammen mit den anderen gebräuchlichen Typen aufgeführt sind, wirklich eine Kuriosität sind, die zu einer anderen "Klasse" gehört, und ich versuche, mehr darüber zu erfahren.

Die rechteckige Amplitudenantwort stellt die ideale Frequenzbereichsantwort dar, da das Übergangsband Null ist und das Sperrband eine unendliche Dämpfung aufweist. Die Gaußsche Größenantwort stellt dagegen die ideale Zeitbereichsantwort dar, da in der Impulsantwort und der Sprungantwort keine Überschwinger auftreten. Viele der in der Praxis erzielten Antworten sind Annäherungen an diese idealen Quellen

Ein Brickwall-Filter ist also eine Faltung mit einer sinc-Funktion und hat die folgenden Frequenzdomäneneigenschaften:

  • Flaches Passband
  • Null Stopband
  • Unendliche Abrollrate / kein Übergangsband

Es ist nicht kausal und nicht realisierbar, weil es unendlich viele Schwänze in beide Richtungen gibt. Es wird durch diese IIR-Filter angenähert, wobei sich die Annäherung mit zunehmender Reihenfolge verbessert:

  • Butterworth (maximal flaches Durchlassband)
  • Chebyshev (maximale Abrollrate mit Stopband- oder Passband- Welligkeit)
  • Elliptisch (maximale Abrollrate mit Stopp- und Durchlassbandwelligkeit)
  • Legendre (maximale Abrollrate mit monotonem Durchlassbereich)

4 Filtertypen nähern sich mit zunehmender Reihenfolge der Brickwall-Reaktion


Der Gauß-Filter ist eine Faltung mit einer Gauß-Funktion und hat die folgenden Zeitdomäneneigenschaften:

  • Null Überschwingen
  • Minimale Anstiegs- und Abfallzeit
  • Minimale Gruppenlaufzeit

Es ist aus den gleichen Gründen wie die sinc-Funktion nicht realisierbar und kann mit diesen IIR-Filtern näherungsweise berechnet werden, wenn die Reihenfolge zunimmt:

  • Bessel (maximal flache Gruppenlaufzeit) nach 1 und 2

e-12(πω)2

Bessel-Filter nähern sich angeblich der Gaußschen Antwort, wenn die Reihenfolge zunimmt, mit einer Vermutung für Gaußsche

Meine Fragen sind also:

Ist bis jetzt alles in Ordnung? Wenn ja, gibt es andere IIR-Filter, die sich dem Gaußschen annähern? Wofür sind sie optimiert? Vielleicht eines, das Überschwingen minimiert?

Wenn Sie nach "IIR Gaussian" suchen, können Sie ein paar Dinge finden (Deriche? Van Vliet?), Aber ich weiß nicht, ob sie wirklich mit einem Bessel identisch sind oder ob sie für eine andere Eigenschaft optimiert sind, usw.

Endolith
quelle
eigentlich, wenn ich "IIR" sage, denke ich wirklich "physikalisch realisierbare analoge Filter"?
Endolith

Antworten:

5

Die Filter Deriche und van Vliet sind Heuristiken. In beiden Fällen wählen sie die Positionen der Pole und Nullen, um entweder die RMS-Differenz oder die maximale Differenz der Impulsantwort des Filters von einem Gaußschen zu minimieren.

Beide Filter sind kausal-anti-kausale Paare. Ich denke, sie haben keinen Phasenfehler oder keine Gruppenverzögerung, aber Sie müssen in der Lage sein, sie auf den Daten rückwärts und vorwärts auszuführen. Dies macht sie in der Bildverarbeitung populär, schränkt aber möglicherweise ihre Anwendbarkeit an anderer Stelle ein.

Dass es sich um Heuristiken handelt, zeigt die Fülle der Papiere, mit denen sie optimiert wurden. Zum Beispiel hat eine Google-Suche (während ich nach dem Link zum Deriche-Artikel gesucht habe) diesen aufgedeckt , der versucht, das Problem zu lösen, dass der Deriche-Derivat-von-Gauß-Filter keine DC-Antwort von genau 0 hat. Es gibt auch einige interessante Fragen zur korrekten Initialisierung der Randbedingungen .

Die folgende Übersicht ist eine gute Quelle: Dave Hale, Recursive Gaussian Filter , Bericht CWP-546 des Colorado School of Mines Center für Wellenphänomene.

Wandering Logic
quelle
3

Ich denke, Sie haben eine schöne Zusammenfassung der vorhandenen Analyselösungen für zeitdiskrete IIR-Filter gegeben. Ich würde der Filterliste aber auch Bessel-Filter hinzufügen, die sich den idealen frequenzselektiven Filtereigenschaften annähern. Die Größenantwort zeigt keinen so scharfen Übergang wie die anderen Filtertypen derselben Ordnung, aber dies ist der Preis, den Sie für eine nahezu lineare Phase im Durchlassbereich zahlen. Das Bessel-Filter ist also ein Kompromiss zwischen einem frequenzselektiven Größenverhalten und einem guten Phasenverhalten.

Für die Approximation eines Gaußschen Filters mit IIR-Filtern sind mir außer dem von Ihnen erwähnten Bessel-Filter keine analytischen Lösungen bekannt. Beachten Sie jedoch, dass der Bessel-Filter nicht dazu gedacht war, einen Gauß-Filter zu approximieren. Ich bin mir also nicht sicher, wie gut er wirklich darin ist, einen solchen Filter zu approximieren. Wenn Sie wirklich ein IIR-Filter für diesen Zweck wollen, würde ich vorschlagen, dass Sie sich für eine numerische Approximation des Gauß-Filters entscheiden. Hierfür gibt es verschiedene Möglichkeiten.

Sie können versuchen, den Gaußschen Filter im Frequenzbereich zu approximieren. Das Problem ist, dass Sie eine Entscheidung bezüglich der gewünschten Phasenantwort treffen müssen. Eine reine Größenannäherung mit minimalem Phasengang führt sehr wahrscheinlich zu sehr schlechten Eigenschaften im Zeitbereich. Wenn Sie eine lineare gewünschte Phase angeben, erhalten Sie ein komplexes Approximationsproblem (da Sie den komplexen Frequenzgang mit Betrag und Phase approximieren). Obwohl ein solches Approximationsproblem ziemlich schwierig zu lösen ist, gibt es in der Literatur Methoden.

Ein einfacherer und wahrscheinlich besserer Ansatz ist die Approximation des Gaußschen Filters im Zeitbereich. Pronys Methode wäre ein guter Ausgangspunkt.

Bitte beachten Sie, dass dies nur meine Gedanken zum Thema sind. Ich habe nicht versucht, selbst einen IIR-Gauß-Filter zu entwerfen. Ich würde mich für eine FIR-Implementierung entscheiden, es sei denn, es gibt sehr gute Gründe dagegen.

EDIT: nur noch ein paar Bemerkungen zur Frage, ob ein Bessel-Filter einem Gauß-Filter nahekommt oder nicht. Mir ist kein aussagekräftiges Fehlerkriterium bekannt, das der Bessel-Filter bei der Approximation eines Gauß-Filters minimiert. Ich würde mich freuen, davon zu erfahren. Die Leute mögen behaupten, dass die Impulsantwort eines Bessel-Filters ähnlich wie Gauß aussieht oder dass sein Frequenzgang einem Gauß-Filter ähnelt, aber ich habe noch keinen Beweis dafür gesehen, dass Bessel-Filter in irgendeiner Weise einem Gauß-Filter nahe kommen und dass der Approximationsfehler gleich ist Null, wenn die Filterreihenfolge zunimmt. Ich leugne nicht, dass es einem Gaußschen Filter ähnlicher ist als den anderen Standardfiltern (Butterworth, Chebyshev usw.), aber dies ist für die Frage nicht wichtig.

Siehe unten vier Diagramme der Impulsantworten von Bessel-Filtern (Ordnungen 5, 10, 15, 20), entworfen in Oktave (Funktion besself). Wie Sie sehen, nimmt das Klingeln im Schwanz mit zunehmender Filterreihenfolge nicht ab, und ich sehe nicht, wie sich diese Filter einem Gaußschen annähern, und wenn ja, nach welchem ​​Optimalitätskriterium. Wenn mich dies jedoch jemand aufklären könnte, wäre ich mehr als glücklich.

Bildbeschreibung hier eingeben

Matt L.
quelle
Ich bin es von Orten wie diese bekommen: „Die Impulsantwort des Bessel-Thomson - Filter tendiert zu einer Gauß als der Filter erhöht wird , “ robots.ox.ac.uk/~sjrob/Teaching/SP/l3.pdf „Ein Das analoge Bessel-Filter ist eine Annäherung an ein Gauß-Filter, und die Annäherung verbessert sich mit zunehmender Filterreihenfolge. " dsprelated.com/showmessage/130958/1.php
endolith
... und da die Fourier-Transformation eines Gaußschen ein Gaußscher ist, halte ich es nicht für richtig, zu sagen, dass sie sich einer Brickwall-Antwort annähert, wie es die anderen tun.
Endolith
Die Fourier-Transformation eines Gaußschen ist zweifellos ein Gaußscher. Es handelt sich aber um Bessel-Filter, die meines Wissens keine aussagekräftige Annäherung an einen Gaußschen Wert darstellen. Ich habe meine Antwort bearbeitet, um weitere Informationen hinzuzufügen.
Matt L.
Fügte einige weitere Details zu der Frage hinzu. Können Sie Ihre Diagramme als Linienkurven anstelle von Stämmen und mit derselben Y-Achse wiederholen? Es sieht so aus, als würde sich die Form mit der Reihenfolge ändern, aber es ist schwer zu sagen.
Endolith
1
Ich habe versucht, die Bessel-Filter bis zur Ordnung 60 zu berechnen und ihre Impulsantworten durch Gaußsche anzupassen, und obwohl mein Code grob ist, scheinen sie sich der Gaußschen zu nähern, wobei das "Unterschwingen" abnimmt und der Fehler mit der Ordnung abnimmt. 10. Ordnung: imgur.com/1qNsHeg 60. Ordnung: imgur.com/BgmFzZp Fehler bei zunehmender Ordnung: imgur.com/cpHDDJs Die Berechnungen könnten jedoch falsch sein. Wie hast du deine berechnet?
Endolith