Was macht ein adaptiver Filter?


12

Ich habe mich ein bisschen mit adaptiven Filtern im Internet beschäftigt und festgestellt, dass es sich um einen speziellen Filter handelt, der seinen Filterwert ständig aktualisiert, sobald er fortfährt. Er ermittelt den Unterschied zwischen Ein- und Ausgang und ermittelt mithilfe der Fehlerfunktion und der vorherigen Koeffizienten die neuen Filterkoeffizienten.

Das ergibt aber keinen Sinn. Es wird immer versucht, den Unterschied zwischen Eingabe und Ausgabe zu minimieren. Also, wie ist es von Nutzen, wenn es versucht, alle Signale so weiterzuleiten, wie es ist.

Kann mir jemand erklären, wie es in realen Anwendungen verwendet wird.

Es ist auch gut, wenn Sie mir über einige Links helfen können, die mir bei der Implementierung eines adaptiven Digitalfilters helfen könnten.

Bitte kommentieren Sie, wenn ich unklar bin, ob ich Zweifel habe!

Antworten:


11

Das Schlüsselkonzept, das Sie vermissen, ist, dass Sie nicht nur den Unterschied zwischen Eingangs- und Ausgangssignalen minimieren. Der Fehler wird oft aus einer 2. Eingabe berechnet. Schauen Sie sich einfach das Wikipedia-Beispiel an, das sich auf das EKG bezieht .

Die Filterkoeffizienten in diesem Beispiel werden neu berechnet, um die Kerbfrequenz eines Kerbfilters gemäß der aus dem Netzsignal extrahierten Frequenz zu ändern. Man könnte ein statisches Sperrfilter verwenden, aber Sie müssten einen größeren Frequenzbereich ablehnen, um die Variabilität der Netzfrequenz zu berücksichtigen. Das adaptive Filter folgt der Netzfrequenz, so dass das Sperrband viel schmaler sein kann und somit mehr der nützlichen EKG-Informationen erhalten bleibt.

BEARBEITEN:

Ich habe mir das noch einmal angesehen und denke, ich verstehe Ihre Frage ein wenig besser. Der LMS-Algorithmus benötigt einen Fehlerterm, um die Filterkoeffizienten zu aktualisieren. In dem EKG-Beispiel, das ich oben umschreibe, gebe ich den Fehlerterm als zweiten Eingang von einer Netzspannung. Jetzt vermute ich, dass Sie denken: "Warum subtrahieren Sie nicht einfach das Rauschen von dem Signal-plus-Rauschen, um das Signal zu verlassen?" Dies würde in einem einfachen gut funktionieren linearenSystem. Schlimmer noch, die meisten Online-Beispiele zeigen (richtig, aber verwirrend), dass der Fehlerterm aus der Differenz zwischen dem gewünschten Signal und dem Ausgang des adaptiven Filters berechnet wird. Dies lässt jede vernünftige Person denken: "Wenn Sie bereits das gewünschte Signal haben, warum sollten Sie sich darum kümmern?". Dies kann dazu führen, dass dem Leser die Motivation fehlt, die mathematischen Beschreibungen adaptiver Filter zu lesen und zu verstehen. Der Schlüssel befindet sich jedoch in Abschnitt 18.4 des Handbuchs zur digitalen Signalverarbeitung , Ed. Vijay K. Madisetti und Douglas B. William.

wo:

  • x = Eingangssignal,
  • y = Ausgabe vom Filter,
  • W = die Filterkoeffizienten,
  • d = gewünschte Leistung,
  • e = fehler

In der Praxis ist die interessierende Menge nicht immer d. Unser Wunsch kann sein, in y eine bestimmte Komponente von d darzustellen, die in x enthalten ist, oder es kann sein, eine Komponente von d innerhalb des Fehlers e zu isolieren, der nicht in x enthalten ist. Alternativ können wir uns ausschließlich für die Werte der Parameter in W interessieren und uns nicht um x, y oder d selbst kümmern. Praktische Beispiele für jedes dieser Szenarien finden Sie weiter unten in diesem Kapitel.

Es gibt Situationen, in denen d nicht immer verfügbar ist. In solchen Situationen erfolgt die Anpassung typischerweise nur, wenn d verfügbar ist. Wenn d nicht verfügbar ist, verwenden wir normalerweise unsere neuesten Parameterschätzungen, um y zu berechnen, um zu versuchen, das gewünschte Antwortsignal d zu schätzen.

Es gibt reale Situationen, in denen d nie verfügbar ist. In solchen Fällen kann man zusätzliche Informationen über die Eigenschaften eines "hypothetischen" d verwenden, wie zum Beispiel sein vorhergesagtes statistisches Verhalten oder Amplitudeneigenschaften, um geeignete Schätzungen von d aus den Signalen zu bilden, die dem adaptiven Filter zur Verfügung stehen. Solche Methoden werden zusammenfassend als blinde Anpassungsalgorithmen bezeichnet. Die Tatsache, dass solche Schemata sogar funktionieren, ist ein Tribut sowohl an den Einfallsreichtum der Entwickler der Algorithmen als auch an die technologische Reife des adaptiven Filterfelds

Ich werde auf dieser Antwort aufbauen, wenn ich Zeit habe, um das EKG-Beispiel zu verbessern.

Ich fand diese Vorlesungsnotizen auch besonders gut: Advanced Signal Processing Adaptive Estimation und Adaptive Filter - Danilo Mandic


Danke für die Erklärung. Ich habe gehört, dass adaptive Filter durch LMS-Algorithmus implementiert werden. Kannst du mir einen nützlichen Link geben, damit ich ihn implementieren kann
Prashant Singh

2
Die adaptive Filtertheorie ist komplex und rechenintensiv. Nur einen Zeiger darauf zu bekommen, wie der LMS-Algorithmus aussieht, sagt Ihnen noch nicht viel. Wenn Sie dafür eine Software schreiben, die nicht funktioniert, können Sie das Problem nur schwer herausfinden. Mit dieser sagte, Wikipedia hat eine gute Seite auf dem Filter LMS.
Jason R

Vielen Dank ! Ich habe die Arbeitsweise von LMS verstanden und umgesetzt: D
Prashant Singh

Sie sagen, "um die Kerbfrequenz eines Kerbfilters gemäß der Frequenz zu ändern, die aus dem Netzsignal extrahiert wurde", während im EKG-Beispiel "und subtrahieren Sie das Rauschen von der Aufzeichnung" steht, aber Kerbfilter sind nicht subtraktiv, sie sind multiplikativ und null aus Alle Signale mit einer bestimmten Frequenz. Verfolgt es also die Frequenzen und Phasen des Netzsignals und subtrahiert sie, wobei gewünschte Signale bei diesen Frequenzen verbleiben? Oder gleicht es bei diesen Frequenzen mit Kerbfiltern irgendetwas aus? Können Sie sich ein besseres Beispiel vorstellen?
Endolith

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.