Gaußscher FIR-Filter ohne Multiplikatoren?


8

Was ist der einfachste Weg, um ein Gaußsches FIR-Filter mit Einheitsverstärkungskoeffizienten und ohne Multiplikatoren zu implementieren?

Bitte stellen Sie Ihrer Antwort die Spoiler-Notation voran, indem Sie zuerst die folgenden zwei Zeichen ">!"

Hinweis: Ein Gauß-FIR-Filter ist ein FIR-Filter mit einer Impulsantwort, die eine Gauß-Funktion ist. Mit "Einheitsverstärkungskoeffizienten" meine ich, dass alle Koeffizienten in der Filterstruktur 1 sind.


2
Ich frage mich, wo ich einen Gaußschen Filter aufnehmen kann. Vielleicht kann ich im selben Laden einen Kalman-Filter bekommen. Ich habe gehört, dass Kalman-Filter sehr gut sind.
Robert Bristow-Johnson

Einige interessante Merkmale von Gaußschen Filtern: Sie haben die minimale Anstiegs- und Abfallzeit ohne Überschwingen einer Schrittfunktion und die geringstmögliche Gruppenverzögerung für eine bestimmte Bandbreite. Eine Anwendung ist die GMSK-Modulation, bei der ein richtig skaliertes Gauß-Filter für das Frequenzsteuerwort eines NCO (oder die Steuerspannung für einen VCO) verwendet wird, wobei jedes Symbol im Filter als Impuls dargestellt wird. Wenn der Filter genau 1 Symbolperiode lang ist, würde dies eine vollständige Antwort signalisieren, oder wenn weniger eine teilweise Antwortsignalisierung implementieren würde (wie dies bei GSM und UHF SATCOM der Fall ist).
Dan Boschen

So sehr ich das Dsp-Puzzle-Thema auch liebe, ich finde, dass die Art und Weise, wie dieses hier eingestellt ist, zwar herausfordernd, aber ein bisschen widersprüchlich ist (oder es gibt etwas, das ich nicht verstehe). Einerseits wird ein Gaußsches Zeitbereichsprofil angegeben, andererseits zeigt die akzeptierte Antwort auf etwas wie h = [1,1]. Ein rechter Impuls hat ein Sinc-Frequenzspektrum und der Durchschnitt einer großen Anzahl von ihnen KÖNNTE sich einem Gaußschen annähern. Das wäre aber ein Gaußsches Profil im Frequenzbereich . Wo gehe ich falsch?
A_A

Danke für die Antwort, ich stehe korrigiert. (Es war übrigens kein Kommentar zu der akzeptierten Antwort,
sondern

Es ist ein guter Kommentar - ich hatte gehofft, dass meine Klarstellung das Spoiler-Format tragen würde, aber das ist nicht der Fall, also habe ich meine Antwort gelöscht, die zu aufschlussreich war. Ich möchte nur sagen, dass ein Gaußsches Profil im Zeitbereich auch ein Gaußsches Profil im Frequenzbereich ist.
Dan Boschen

Antworten:


5

Dies ist eine Annäherung, aber Sie können es so gut machen, wie Sie möchten.

Verwenden Sie einfach eine Kaskade aus mehreren Filtern mit rechteckigen Impulsantworten. Im einfachsten Fall wäre dies ein Filter mit zwei Abgriffen. Dies funktioniert aufgrund des zentralen Grenzwertsatzes . Sie müssen jedoch skalieren, da sonst die resultierende Impulsantwort möglicherweise zu groß wird. Die Skalierung könnte durch Bitverschiebung erfolgen.


Wie wenden Sie das CLT hier an? Das gesamte Verfahren ist deterministisch.
MBaz

@ MBaz: Keine Notwendigkeit für Zufälligkeit hier. Was CLT sagt, ist, dass sich das PDF eines Wohnmobils, das die Summe vieler unabhängiger Wohnmobile ist, einem Gaußschen nähert. Dieses PDF ist nur die Faltung der PDFs der anderen unabhängigen Wohnmobile. Mit anderen Worten, wenn Sie viele Funktionen miteinander verknüpfen, erhalten Sie einen Gaußschen Wert.
Matt L.

Richtig, vorausgesetzt, die Summe der IID-Wohnmobile nähert sich mit der CLT einem Gaußschen Wert, und die Verteilung einer Summe der Wohnmobile ist eine Faltung ihrer einzelnen PDFs. Da die resultierende Impulsantwort für die Kaskade von FIRs die Faltung ihrer einzelnen Impulsantworten ist, können wir schließen, dass sich die Impulsantwort für die Kaskade von FIRs mit identischen Impulsantworten auch einem Gaußschen nähert.
Dan Boschen

@DanBoschen Ja, ich habe vermisst, dass die Impulsantwort als (skaliertes) PDF interpretiert wird.
MBaz

Es ist eine großartige Brücke zwischen zwei ansonsten unterschiedlichen Disziplinen ... Die Mathematik, die Sie mit diskreten PDFs ausführen können, gilt für das, was Sie mit Koeffizienten von FIR-Filtern tun können ... am Ende ist es nur die Mathematik, die äquivalent ist, aber zu einigen führen kann gute einsichten wie diese!
Dan Boschen

4

Nicht ganz so elegant wie die Antwort von Matt L., scheint aber auch zu funktionieren.

Anstatt FIR-Filter mit einem Koeffizienten in Reihe zu schalten, schalten Sie sie parallel, aber machen Sie sie jetzt unterschiedlich lang und mit unterschiedlichen Verzögerungen und summieren Sie dann alle Filterausgänge zusammen. Wie bei Matts Antwort wird dies nicht richtig skaliert. Der ursprüngliche Gaußsche Wert muss skaliert und zu ganzzahligen Werten gemacht werden (hier tritt der Fehler auf). Überprüfen Sie diese URL auf den Fehler.


Ja das funktioniert auch, gutes Denken!
Dan Boschen
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.