Signalverarbeitung Fallstudie: Das Entfernen der Bad, halten das Gute

Das Blockschaltbild eines Systems, das ein digitales Filter verwendet einen SNOI zu entfernen und die SOI behalten gezeigt. Dieses System nimmt an, dass die Signale in kontinuierlicher Zeit stammen und nach dem Filtern werden dem kontinuierlichen Zeitbereich zurückgeführt.

Der Analog-Digital-Wandler (ADC) und Digital-Analog-Wandler (DAC) Schnittstellen darstellen, wie ein Echtzeitsystem ist configured- aber später, wenn dieses System zu simulieren, werden Sie WAV-Dateien verwenden voraufgezeichneten Sprache zu verarbeiten ( die gestrichelten Linien).

Das empfangene Signal, r(t), Ist von der Form

image1.jpg

Von diesem Punkt an, davon ausgehen, dass Rauschen vernachlässigbar und Abfall w(t) Aus der Betrachtung.

Das Herz des Systems ist das digitale Filterblock, der zwischen dem ADC und DAC sitzt. Die SOI ist die Rede von nominale Bandbreite von 4 kHz, und die SNOI ein oder mehrere Sinustöne irgendwo auf der 0- bis 4-kHz-Band

image2.jpg

Betrachten wir die finite Impulsantwort (FIR) mit unendlicher Impulsantwort (IIR) und adaptive FIR Filteroptionen angezeigt.

Das FIR-Notch-Filter hat die Systemfunktion

image4.jpg

welches ein Paar konjugierter Nullen im Winkel

image5.jpg

relativ zu der positiven reellen Achse in der z-Ebene. Das IIR-Notch-Filter fügt ein Paar konjugierter Pole am Radius r hinter den FIR Nullen, die auf dem Einheitskreis sind:

image6.jpg

Die Pol-Null Plots für diese beiden Filter gezeigt. Hier werden die Grundstücke mit Funktionen im Python-Modul erstellt ssd.py. Für das IIR:

Im [528]: B, a = ssd.fir_iir_notch (1000,8000,0) In [529]: Ssd.zplane (b, a, 1.2) Out [529]: (2, 0) In [532]: B, a = ssd.fir_iir_notch (1000,8000,0.9) In [533]: Ssd.zplane (b, a, 1.2) Out [533]: (2, 2)

Das FIR-Kerbe hat einen einzigen Design-Parameter, während der IIR-Kerbe, auch die Pole-Radius hat, r. Angesichts der Abtastrate, fs Hz, und die Störung Tonfrequenz, fk Hz, eingestellt

image8.jpg

Wenn mehr als ein störender Ton vorhanden ist, erstellen Kaskade von Notch-Filter - eine für jeden störenden Ton, mit

bild9.jpg

entsprechend eingestellt.

Mit zwei IIR Notch-Filter in Kaskade, die Faltungstheorem für z-Transformationen sagt, dass die Gesamtsystemfunktion ein vierter Ordnung IIR-Filter ist:

image10.jpg

Sie können die Koeffizienten durch Faltung von zweiter Ordnung Zähler und Nenner Koeffizientensätze finden.

Das adaptive Filter ist exotischer. Dieser Filter ist ein Beispiel eines zeitveränderlichen linearen Systems. Sorgen Sie sich nicht um völlig jetzt die Mathematik hinter diesem Filtersystem / Algorithmus zu absorbieren. Die Absicht hier ist, dass Sie mit einem allgemeinen Sinn, über seinen Betrieb zur Verfügung zu stellen, inspirieren Sie, dieses Thema weiter zu einem bestimmten Zeitpunkt in der Zukunft zu studieren.

Ein FIR-Filter ist der Kern dieses Systems, aber die Koeffizienten sind nicht festgelegt:

image11.jpg

hat N Koeffizienten einm[n] Das (geändert) nach der Ausgabe jedes neue Signalabtastung aktualisiert werden

image12.jpg

m im einm[n] Ist der Filterkoeffizientenindex und n bezeichnet die Zeit zu aktualisieren. Das kleinsten Quadrates (LMS) Adaptionsalgorithmus ist für die Einstellung der Filterkoeffizienten in einer Weise, dass der Mittelwert der quadrierten Fehler (squared error mean [MSE]) zum Zeitpunkt n,

image13.jpg

minimiert.

Bei dieser Anwendung haben Sie die adaptive Filter konfiguriert Interference Cancellation auszuführen. Der Fehlerausgang e[n] Eine Schätzung des SOI ist,

image14.jpg

Der Ausgang des FIR-Filter, gekennzeichnet

image15.jpg

ist auch eine Schätzung der SNOI,

image16.jpg

Im Gegensatz zu den FIR- und IIR-Kerbfilter stellt der adaptive Filter seine Koeffizienten ein Durchlaßband-Antwort zu bilden (in Form eines Bandpass) an der Stelle jedes störenden Ton. Gibt das Filter eine große Anzahl von Abgriffen (oder Freiheitsgrade) erlaubt es, mehrere Durchlaßbänder zu bilden, falls erforderlich. Er tut dies auf seine eigene, ohne vorherige Information!

Nach Konvergenz der LMS, neigt der Ausgang nur die SNOI zu enthalten, die eine oder mehrere Sinusoiden ist. Der Fehlerausgang ist der (SOI + SNOI) - SNOI = SOI. Eine Schätzung der SOI ist genau das, was Sie wollen, aber dieser Filter ist komplexer. Auch wenn die SOI durch Zufall stetigen Töne enthält, das adaptive Filter tut sein Bestes, um sie zu entfernen. gewünschten Töne von Ihrem SOI Beseitigung ist wahrscheinlich ein Hemmschuh.

Für jede Probe n, der LMS-Algorithmus durchführt, in drei Schritten:

  1. Berechnet den folgenden wo n ist der Zeitindex

    image17.jpg

    Die Filterkoeffizienten zum Zeitpunkt genutzt n sind einm[n], Für m = 0, 1,. . ., M.

  2. Bildet die Fehlerfolge

    image18.jpg
  3. Aktualisiert die Filterkoeffizienten, unter Verwendung einer stochastische (Momentan) Gradient die Richtung des steilsten Abfalls zu schätzen

    image19.jpg

der Parameter # 956- als das bekannte Konvergenzparameter. Ob # 956- zu klein ist, dann gefiltert Konvergenz langsam ist, aber wenn sie zu groß ist, dann wird der Algorithmus instabil wird. Eine ungefähre obere Grenze # 956- 1 / [(M + 1)Pr], woher Pr ist die Macht r[n]. Als Anfangsbedingungen, stellen Sie die alle Filterkoeffizienten auf 0.

Für eine Zwei-Tap-FIR, können Sie die steilsten Abstiegs sehen, wie es gezeigt wird. Jede Aktualisierung des LMS-Algorithmus bewegt Sie im Durchschnitt in Richtung der Unterseite des Fehlerfläche, und minimiert so die MSE.

Menü