Wednesday 11 October 2017

Moving Average Band Pass Filter


Der Moving Average als Filter Der gleitende Durchschnitt wird oft zum Glätten von Daten in Gegenwart von Rauschen verwendet. Der einfache gleitende Durchschnitt wird nicht immer als der Finite Impulse Response (FIR) Filter erkannt, der es ist, während er tatsächlich einer der häufigsten Filter in der Signalverarbeitung ist. Wenn man sie als Filter behandelt, kann man sie beispielsweise mit Fenster-Sinc-Filtern vergleichen (siehe die Artikel über Tiefpass-Hochpass - und Bandpass - und Bandsperrfilter für Beispiele dafür). Der Hauptunterschied zu diesen Filtern besteht darin, dass der gleitende Durchschnitt für Signale geeignet ist, für die die nützlichen Informationen im Zeitbereich enthalten sind. Von denen Glättungsmessungen durch Mittelung ein Beispiel sind. Window-Sinc-Filter sind dagegen starke Darsteller im Frequenzbereich. Mit Ausgleich in der Audioverarbeitung als typisches Beispiel. Es gibt einen detaillierteren Vergleich beider Filtertypen in der Zeitdomäne vs. Frequency Domain Performance von Filtern. Wenn Sie Daten haben, für die sowohl die Zeit als auch der Frequenzbereich wichtig sind, dann möchten Sie vielleicht einen Blick auf Variationen über den Moving Average haben. Die eine Anzahl von gewichteten Versionen des gleitenden Durchschnittes darstellt, die besser sind. Der gleitende Durchschnitt der Länge (N) kann so geschrieben werden, wie es typischerweise implementiert ist, wobei die aktuelle Ausgabeprobe als der Durchschnitt der vorherigen (N) Abtastwerte vorliegt. Als Filter erscheint der gleitende Durchschnitt eine Faltung der Eingangsfolge (xn) mit einem rechteckigen Puls der Länge (N) und der Höhe (1N) (um den Bereich des Pulses und damit die Verstärkung des Filters zu bilden , eins ). In der Praxis ist es am besten, (N) ungerade zu nehmen. Obwohl ein gleitender Durchschnitt auch unter Verwendung einer geraden Anzahl von Abtastwerten berechnet werden kann, hat die Verwendung eines ungeraden Wertes für (N) den Vorteil, daß die Verzögerung des Filters eine ganzzahlige Anzahl von Abtastwerten ist, da die Verzögerung eines Filters mit (N) Proben sind genau ((N-1) 2). Der gleitende Durchschnitt kann dann exakt mit den Originaldaten ausgerichtet werden, indem er durch eine ganzzahlige Anzahl von Samples verschoben wird. Zeitdomäne Da der gleitende Durchschnitt eine Faltung mit einem rechteckigen Puls ist, ist sein Frequenzgang eine Sinc-Funktion. Das macht es so etwas wie das Dual des Fenster-Sinc-Filters, denn das ist eine Faltung mit einem Sinc-Puls, der zu einem rechtwinkligen Frequenzgang führt. Es ist dieser Sinc-Frequenzgang, der den gleitenden Durchschnitt zu einem schlechten Performer im Frequenzbereich macht. Allerdings führt es im Zeitbereich sehr gut aus. Daher ist es perfekt, um Daten zu sperren, um Rauschen zu entfernen, während gleichzeitig noch eine schnelle Schrittantwort beibehalten wird (Abbildung 1). Für die typische additive White Gaussian Noise (AWGN), die oft angenommen wird, hat die Mittelung (N) Samples die Wirkung, das SNR um einen Faktor (sqrt N) zu erhöhen. Da das Rauschen für die einzelnen Proben unkorreliert ist, gibt es keinen Grund, jede Probe anders zu behandeln. Daher wird der gleitende Durchschnitt, der jeder Probe das gleiche Gewicht gibt, die maximale Menge an Rauschen für eine gegebene Schrittantwortschärfe loswerden. Implementierung Da es sich um einen FIR-Filter handelt, kann der gleitende Durchschnitt durch Faltung umgesetzt werden. Es wird dann die gleiche Effizienz (oder das Fehlen davon) wie jeder andere FIR-Filter haben. Allerdings kann es auch rekursiv realisiert werden. Es folgt unmittelbar aus der Definition, dass diese Formel das Ergebnis der Ausdrücke für (yn) und (yn1) ist, dh wo wir bemerken, dass die Änderung zwischen (yn1) und (yn) ist, dass ein zusätzlicher Term (xn1N) erscheint Das Ende, während der Begriff (xn-N1N) von Anfang an entfernt wird. In praktischen Anwendungen ist es oft möglich, die Division durch (N) für jeden Term zu verlassen, indem die resultierende Verstärkung von (N) an einer anderen Stelle kompensiert wird. Diese rekursive Umsetzung wird viel schneller als die Faltung sein. Jeder neue Wert von (y) kann mit nur zwei Additionen berechnet werden, anstelle der (N) Additionen, die für eine einfache Implementierung der Definition notwendig wären. Eine Sache, mit einer rekursiven Umsetzung zu suchen, ist, dass Rundungsfehler sich ansammeln. Dies kann oder auch kein Problem für Ihre Anwendung sein, aber es bedeutet auch, dass diese rekursive Implementierung tatsächlich besser funktionieren wird mit einer Integer-Implementierung als mit Gleitkommazahlen. Das ist ganz ungewöhnlich, da eine Gleitkomma-Implementierung in der Regel einfacher ist. Die Schlussfolgerung von all dem muss sein, dass Sie nie unterschätzen die Nützlichkeit der einfachen gleitenden durchschnittlichen Filter in Signalverarbeitung Anwendungen. Filter Design Tool Dieser Artikel wird mit einem Filter Design Tool ergänzt. Experimentiere mit verschiedenen Werten für (N) und visualisiere die resultierenden Filter. Versuchen Sie es jetztSmoothing entfernt kurzfristige Variationen oder Quoten, um die wichtige zugrunde liegende unverfälschte Form der Daten zu enthüllen. Igoracutes Glatte Operation führt Kasten, quotbinomialquot und Savitzky-Golay Glättung durch. Die verschiedenen Glättungsalgorithmen fliegen die Eingangsdaten mit unterschiedlichen Koeffizienten. Glättung ist eine Art Tiefpassfilter. Die Art der Glättung und die Menge der Glättung ändert die Filteracuten Frequenzgang: Moving Average (aka Box Glättung) Die einfachste Form der Glättung ist die quellende Durchschnitt, die einfach jeden Datenwert mit dem Durchschnitt der benachbarten Werte ersetzt. Um das Verschieben der Daten zu vermeiden, ist es am besten, die gleiche Anzahl von Werten vor und nach dem, wo der Durchschnitt berechnet wird, zu bewerten. In Gleichungsform wird der gleitende Durchschnitt berechnet durch: Ein anderer Begriff für diese Art von Glättung ist quotsliding averagequot, quotbox smoothingquot oder quotboxcar smoothingquot. Es kann implementiert werden, indem man die Eingangsdaten mit einem kastenförmigen Impuls von 2M1-Werten gleich 1 (2M1) umgibt. Wir nennen diese Werte die Quotenkoeffizienten des quotsmoothing Kernelquot: Binomial Smoothing Binomial Glättung ist ein Gaußscher Filter. Es faltet Ihre Daten mit normalisierten Koeffizienten aus Pascalacutes Dreieck auf einem Niveau gleich dem Glättungsparameter. Der Algorithmus stammt aus einem Artikel von Marchand und Marmet (1983). Savitzky-Golay Smoothing Savitzky-Golay Glättung verwendet einen anderen Satz von vorberechneten Koeffizienten, die auf dem Gebiet der Chemie populär sind. Es ist eine Art von Least Squares Polynom Glättung. Die Glättungsmenge wird durch zwei Parameter gesteuert: die Polynomreihenfolge und die Anzahl der Punkte, die verwendet werden, um jeden geglätteten Ausgangswert zu berechnen. Referenzen Marchand, P. und L. Marmet, Binomial Glättungsfilter: Ein Weg, um einige Fallstricke der kleinsten quadratischen Polynomglättung zu vermeiden, Rev. Sci. Instrum . 54 1034-41, 1983. Savitzky, A. und M. J.E. Golay, Glättung und Differenzierung von Daten durch vereinfachte Verfahren der kleinsten Quadrate, Analytische Chemie. 36 1627-1639, 1964. Die Wissenschaftler und Ingenieure Leitfaden zur digitalen Signalverarbeitung Von Steven W. Smith, Ph. D. Kapitel 14: Einführung in digitale Filter Hochpass-, Bandpass - und Bandsperrfilter Hochpass-, Bandpass - und Bandsperrfilter werden mit einem Tiefpassfilter ausgelegt und dann in die gewünschte Antwort umgewandelt . Aus diesem Grund geben die meisten Diskussionen zum Filterdesign nur Beispiele für Tiefpaßfilter. Es gibt zwei Methoden für die Tiefpass-zu-Hoch-Umwandlung: spektrale Inversion und spektrale Umkehrung. Beide sind gleichermaßen nützlich. Ein Beispiel für die spektrale Inversion ist in 14-5 gezeigt. Abbildung (a) zeigt einen Tiefpassfilter-Kernel namens windowed-sinc (das Thema von Kapitel 16). Dieser Filterkernel ist 51 Punkte lang, obwohl viele der Samples einen so kleinen Wert haben, dass sie in diesem Graphen null erscheinen. Der entsprechende Frequenzgang ist in (b) dargestellt, der durch Hinzufügen von 13 Nullen zum Filterkern gefunden wird und eine 64-Punkte-FFT aufgenommen wird. Es müssen zwei Dinge getan werden, um den Tiefpassfilterkernel in einen Hochpassfilterkern zu ändern. Zuerst ändern Sie das Vorzeichen jeder Probe im Filterkernel. Zweitens füge man die Probe im Zentrum der Symmetrie hinzu. Dies führt zu dem in (c) gezeigten Hochpaßfilterkern mit dem in (d) gezeigten Frequenzgang. Spektrale Inversion kippt den Frequenzgang top-for-bottom. Die Passbänder in Stoppbänder umwandeln und die Stoppbänder in Passbänder. Mit anderen Worten, es ändert sich ein Filter von Tiefpass zu Hochpass, Hochpass auf Tiefpass, Bandpass auf Band-Ablehnung oder Band-Ablehnung zu Bandpass. Abbildung 14-6 zeigt, warum diese zweistufige Modifikation des Zeitbereichs zu einem invertierten Frequenzspektrum führt. In (a) wird das Eingangssignal x n an zwei Systeme parallel angelegt. Eines dieser Systeme ist ein Tiefpassfilter mit einer Impulsantwort von h n. Das andere System tut nichts zum Signal und hat daher eine Impulsantwort, die eine Delta-Funktion ist, delta n. Die Gesamtausgabe y n ist gleich dem Ausgang des Allpass-Systems abzüglich des Ausgangssignals des Tiefpaßsystems. Da die niederfrequenten Komponenten vom ursprünglichen Signal subtrahiert werden, erscheinen nur die hochfrequenten Komponenten im Ausgang. Somit wird ein Hochpaßfilter gebildet. Dies könnte als zweistufige Operation in einem Computerprogramm durchgeführt werden: das Signal durch ein Tiefpaßfilter laufen lassen und dann das gefilterte Signal vom Original subtrahieren. Der gesamte Vorgang kann jedoch in einer Signalstufe durch Kombinieren der beiden Filterkern durchgeführt werden. Wie in Kapitel 7 beschrieben, können parallele Systeme mit hinzugefügten Ausgängen durch Hinzufügen ihrer Impulsantworten zu einer einzigen Stufe kombiniert werden. Wie in (b) gezeigt, ist der Filterkern für das Hochpaßfilter gegeben durch: delta n - h n. Das ist, ändern Sie das Zeichen aller Proben, und fügen Sie dann eine der Probe in der Mitte der Symmetrie. Damit diese Technik funktioniert, müssen die aus dem Tiefpaßfilter austretenden niederfrequenten Komponenten die gleiche Phase haben wie die niederfrequenten Komponenten, die das Allpass-System verlassen. Andernfalls kann keine vollständige Subtraktion stattfinden. Dies stellt zwei Einschränkungen für die Methode dar: (1) Der ursprüngliche Filterkern muss linksbündige Symmetrie haben (d. h. eine Null - oder lineare Phase), und (2) der Impuls muss im Zentrum der Symmetrie addiert werden. Die zweite Methode zur Tiefpass-zu-Hochpass-Umwandlung, Spektralumkehrung. Ist in Abb. 14-7 Genau wie zuvor entspricht der Tiefpaßfilterkern in (a) dem Frequenzgang in (b). Der Hochpaßfilterkernel (c) wird durch Ändern des Vorzeichens jedes anderen Samples in (a) gebildet. Wie in (d) gezeigt, dreht sich der Frequenzbereich links-nach rechts. 0 wird 0,5 und 0,5 wird 0. Die Grenzfrequenz des Beispiel-Tiefpaßfilters beträgt 0,15, was dazu führt, dass die Grenzfrequenz des Hochpaßfilters 0,35 beträgt. Das Ändern des Vorzeichens eines jeden anderen Samples ist gleichbedeutend mit dem Multiplizieren des Filterkerns mit einem Sinusoid mit einer Frequenz von 0,5. Wie in Kapitel 10 diskutiert, hat dies die Wirkung, den Frequenzbereich um 0,5 zu verschieben. Betrachten Sie (b) und stellen Sie sich die negativen Frequenzen zwischen -0,5 und 0 vor, die ein Spiegelbild der Frequenzen zwischen 0 und 0,5 sind. Die Frequenzen, die in (d) erscheinen, sind die negativen Frequenzen von (b) um 0,5 verschoben. Schließlich sind die Fig. 14-8 und 14-9 zeigen, wie Tiefpass - und Hochpaßfilterkern zu Bandpass - und Bandsperrfiltern kombiniert werden können. Kurz gesagt, das Hinzufügen der Filterkerne erzeugt ein Bandsperrfilter, während das Falten der Filterkerne ein Bandpassfilter erzeugt. Diese basieren auf der Art und Weise, wie kaskadierte und parallele Systeme kombiniert werden, wie in Kapitel 7 diskutiert. Eine Mehrfachkombination dieser Techniken kann auch verwendet werden. Beispielsweise kann ein Bandpaßfilter durch Hinzufügen der beiden Filterkerne zur Bildung eines Bandpaßfilters entworfen werden und dann spektrale Inversion oder spektrale Umkehrung wie zuvor beschrieben verwendet werden. Alle diese Techniken funktionieren sehr gut mit wenigen Überraschungen.

No comments:

Post a Comment