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 der beiden Arten von Filtern in Time Domain 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 werden. 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 jetztDie 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. Frequenzantwort des laufenden Durchschnittsfilters Der Frequenzgang eines LTI-Systems ist der DTFT der Impulsantwort, die Impulsantwort eines L-Sample-Gleitwertes ist Da der gleitende Durchschnittsfilter FIR ist , Der Frequenzgang reduziert sich auf die endliche Summe Wir können die sehr nützliche Identität verwenden, um den Frequenzgang zu schreiben, wo wir ae minus jomega gelassen haben. N 0 und M L minus 1. Wir können an der Größe dieser Funktion interessiert sein, um zu bestimmen, welche Frequenzen durch den Filter ungedämpft und die abgeschwächt werden. Unten ist eine Darstellung der Größe dieser Funktion für L 4 (rot), 8 (grün) und 16 (blau). Die horizontale Achse reicht von null bis pi Radiant pro Probe. Beachten Sie, dass in allen drei Fällen der Frequenzgang eine Tiefpasscharakteristik aufweist. Eine konstante Komponente (Nullfrequenz) im Eingang geht durch den Filter ungedämpft. Bestimmte höhere Frequenzen wie pi 2 werden durch den Filter vollständig eliminiert. Allerdings, wenn die Absicht war, einen Tiefpassfilter zu entwerfen, dann haben wir nicht sehr gut gemacht. Einige der höheren Frequenzen werden nur um einen Faktor von etwa 110 (für den 16 Punkt gleitenden Durchschnitt) oder 13 (für den vier Punkt gleitenden Durchschnitt) gedämpft. Wir können viel besser machen. Die obige Auftragung wurde durch den folgenden Matlab-Code erstellt: Omega 0: pi400: pi H4 (14) (1-exp (-iomega4)) (1-exp (-iomega)) H8 (18) (1-exp (- (1-exp (-iomega)) (1-exp (-iomega)) (1-exp (-iomega)) (1-exp (-iomega)) (1-exp (-Iomega) H16)) Achse (0, pi, 0, 1) Copyright Kopie 2000- - Universität von Kalifornien, BerkeleyEs gibt viele Artikel über den Frequenzgang des gleitenden Durchschnittsfilters, aber alle scheinen sich auf die Größe zu konzentrieren. Allerdings ist die Phasenreaktion faszinierend und ich finde es schwer zu interpretieren. Die Phase scheint zu wickeln, aber sie wickelt sich innerhalb des - pi, pi) Intervalls anstatt an ihren Rändern. Beispiel unten: Ein Phasenauswicklungsalgorithmus würde das nicht lösen, also ist es wirklich ein Pseudo-Wrap. Weiterhin, wenn ich dem gleitenden Durchschnitt Hähne hinzufüge, legt es diesen Vorgang ab, also vermute ich, dass mathematisch der gleitende Durchschnittsfilter niemals 0 oder 2 pi erreichen wird, obwohl ich noch nie eine Erklärung gesehen habe. Beispiel für einen 11-tippen: Ich finde dieses Verhalten faszinierend und interessiere mich für die Interpretation eines Experten. Schlägt dies vor, dass die Merkmale an bestimmten Schwachstellen im Frequenzgang verzerrt werden. Ist es richtig, die Phase eines gleitenden Durchschnittsfilters stückweise-linear anstatt linear zu betrachten, vermute ich nicht, da symmetrische FIR-Filter analytisch gezeigt werden, um eine lineare Phase zu haben , Aber ich habe eine harte Zeit, diese lineare zu nennen. Fragte Jan 15 16 at 9:41 Der Frequenzgang einer kausalen Länge N gleitenden Durchschnitt Filter ist zu beachten, dass A (Omega) ist nicht die Größe von H (Omega), aber es ist eine real-Wert Amplitude Funktion, die positiv annimmt Sowie negative Werte. Die Phase phi (omega) - (N-1) omega2, wie in (1) definiert, ist offensichtlich linear. Das ist auch die gemeinsame Definition, wenn wir über eine lineare Phasenreaktion sprechen. Die Phase, die du geplottet hast, ist nicht Phi (Omega), sondern Hut (Omega), wie durch den Unterschied zwischen Phi (Omega) und Hut (Omega) definiert ist, dass, wenn A (Omega) Null kreuzt, ein Phasensprung von pm pi im Hut auftritt (Omega), entsprechend einer Vorzeichenänderung in A (Omega). Trotzdem verweisen wir noch auf H (Omega) als Frequenzgang mit einer linearen Phase, weil phi (omega) eine lineare Funktion von Omega ist. Man beachte, daß in der Praxis eine lineare Phase nur im Durchlaßband eines Filters relevant ist, d. h. in einem Frequenzbereich, in dem keine Nullen von H (Omega) auftreten. Im Passband ist auch Hut (Omega) linear, weil es nur auf die Nullen von H (Omega) springt.
Comments
Post a Comment