Der Moving Average als Filter Der gleitende Durchschnitt wird oft für die Glättung von Daten in Anwesenheit 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 gebräuchlichsten Filter in der Signalverarbeitung ist. Wenn man sie als Filter betrachtet, kann man sie beispielsweise mit gefensterten Filtern vergleichen (siehe Artikel zu Tiefpaß-, Hochpass - und Bandpass - und Bandsperrfiltern für Beispiele). Der Hauptunterschied zu diesen Filtern besteht darin, daß der gleitende Durchschnitt für Signale geeignet ist, für die die Nutzinformation im Zeitbereich enthalten ist. Von denen Glättungsmessungen durch Mittelung ein Paradebeispiel sind. Window-sinc-Filter, auf der anderen Seite, sind starke Künstler im Frequenzbereich. Mit Ausgleich in der Audioverarbeitung als typisches Beispiel. Es gibt einen detaillierteren Vergleich beider Arten von Filtern in Time Domain vs. Frequency Domain Performance von Filtern. Wenn Sie Daten haben, für die sowohl die Zeit als auch die Frequenzdomäne wichtig sind, dann möchten Sie vielleicht einen Blick auf Variationen auf den Moving Average werfen. Die eine Anzahl gewichteter Versionen des gleitenden Durchschnitts zeigt, die besser sind. Der gleitende Durchschnitt der Länge (N) kann so definiert werden, wie er üblicherweise implementiert ist, wobei der aktuelle Ausgabeabtastwert der Durchschnitt der vorhergehenden (N) Abtastwerte ist. Als Filter betrachtet, führt der gleitende Durchschnitt eine Faltung der Eingangsfolge (xn) mit einem rechteckigen Puls der Länge (N) und der Höhe (1N) durch (um den Bereich des Pulses und damit die Verstärkung des Filters zu erzeugen , 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 ungeradzahligen 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 genau ((N-1) 2). Der gleitende Durchschnitt kann dann exakt mit den ursprünglichen Daten ausgerichtet werden, indem er um eine ganze Zahl von Abtastwerten verschoben wird. Zeitdomäne Da der gleitende Durchschnitt eine Faltung mit einem rechteckigen Puls ist, ist sein Frequenzgang eine sinc-Funktion. Dies macht es ähnlich dem Dual des Fenstersynchronfilters, da es sich hierbei um eine Faltung mit einem Sinc-Puls handelt, der zu einem rechteckigen Frequenzgang führt. Es ist diese sinc Frequenzantwort, die den gleitenden Durchschnitt ein schlechter Darsteller im Frequenzbereich macht. Allerdings führt es sehr gut im Zeitbereich. Daher ist es perfekt, um Daten zu löschen, um Rauschen zu entfernen, während gleichzeitig eine schnelle Sprungantwort beibehalten wird (1). Für das typische Additiv-Weiß-Gauß-Rauschen (AWGN), das oft angenommen wird, hat die Mittelung (N) - Proben den Effekt, das SNR um einen Faktor von (sqrt N) zu erhöhen. Da das Rauschen für die einzelnen Proben unkorreliert ist, gibt es keinen Grund, jede Probe unterschiedlich zu behandeln. Daher wird der gleitende Durchschnitt, der jeder Probe das gleiche Gewicht gibt, die maximale Menge an Rauschen für eine gegebene Sprungantwortschärfe beseitigen. Implementierung Da es sich um ein FIR-Filter handelt, kann der gleitende Durchschnitt durch Faltung implementiert werden. Es hat dann die gleiche Effizienz (oder das Fehlen davon) wie jedes andere FIR-Filter. Sie kann aber auch rekursiv und effizient umgesetzt werden. Es folgt unmittelbar aus der Definition, daß diese Formel das Ergebnis der Ausdrücke für (yn) und (yn1) ist, dh, daß die Veränderung zwischen (yn1) und (yn) ein zusätzlicher Term (xn1N) ist Das Ende, während der Term (xn-N1N) von Anfang entfernt wird. In praktischen Anwendungen ist es oft möglich, die Division durch (N) für jeden Term auszulassen, indem die resultierende Verstärkung von (N) an einer anderen Stelle kompensiert wird. Diese rekursive Umsetzung wird viel schneller als Faltung. Jeder neue Wert von (y) kann mit nur zwei Additionen anstelle der (N) Additionen berechnet werden, die für eine einfache Implementierung der Definition erforderlich wären. Eine Sache, mit der Sie nach einer rekursiven Implementierung Ausschau halten, ist, dass Rundungsfehler akkumulieren. Dies kann ein Problem für Ihre Anwendung sein oder auch nicht, aber es bedeutet auch, dass diese rekursive Implementierung tatsächlich mit einer Integer-Implementierung besser funktionieren wird als mit Gleitkommazahlen. Dies ist sehr ungewöhnlich, da eine Gleitkomma-Implementierung gewöhnlich einfacher ist. Der Schluss davon muss sein, dass Sie die Nützlichkeit des einfachen gleitenden Durchschnittsfilters in Signalverarbeitungsanwendungen nie unterschätzen sollten. 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. Probieren Sie es jetztFrequenzantwort von Moving Average Filter und FIR Filter Vergleichen Sie den Frequenzgang des gleitenden Durchschnittsfilters mit dem des regulären FIR-Filters. Stellen Sie die Koeffizienten des regulären FIR-Filters als Folge von skalierten 1s ein. Der Skalierungsfaktor ist 1filterLength. Erstellen Sie ein dsp. FIRFilter-Systemobjekt und legen Sie seine Koeffizienten auf 140 fest. Um den gleitenden Durchschnitt zu berechnen, erstellen Sie ein dsp. MovingAverage-Systemobjekt mit einem gleitenden Fenster mit der Länge 40, um den gleitenden Durchschnitt zu berechnen. Beide Filter haben die gleichen Koeffizienten. Der Eingang ist Gaußsches weißes Rauschen mit einem Mittelwert von 0 und einer Standardabweichung von 1. Stellen Sie den Frequenzgang beider Filter mithilfe von fvtool dar. Die Frequenzantworten entsprechen genau, was beweist, dass das gleitende Mittelfilter ein Spezialfall des FIR-Filters ist. Zum Vergleich den Frequenzgang des Filters ohne Rauschen. Vergleichen Sie den Frequenzgang des Filters mit dem des idealen Filters. Sie können sehen, dass der Hauptlappen im Durchlassbereich nicht flach ist und die Wellen im Stopband nicht eingeschränkt sind. Der Frequenzgang des gleitenden Durchschnittsfilters stimmt nicht mit dem Frequenzgang des idealen Filters überein. Um ein ideales FIR-Filter zu realisieren, ändern Sie die Filterkoeffizienten zu einem Vektor, der keine Folge von skalierten 1s ist. Der Frequenzgang des Filters ändert sich und neigt dazu, sich näher an die ideale Filterantwort zu verschieben. Entwerfen Sie die Filterkoeffizienten anhand vordefinierter Filterspezifikationen. Beispielsweise ein FIR-Filter mit einer normierten Grenzfrequenz von 0,1, einer Durchlaßbandwelligkeit von 0,5 und einer Stoppbanddämpfung von 40 dB. Verwenden Sie fdesign. lowpass, um die Filterspezifikationen und die Designmethode zu definieren, um den Filter zu entwerfen. Die Antwort des Filters im Durchlaßbereich ist nahezu flach (ähnlich der idealen Reaktion), und das Stoppband hat Gleichstromgrenzen eingeschränkt. MATLAB und Simulink sind eingetragene Warenzeichen von The MathWorks, Inc. Bitte lesen Sie mathworkstrademarks für eine Liste anderer Marken, die Eigentum von The MathWorks, Inc. sind. Andere Produkt - oder Markennamen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Eigentümer. Wählen Sie Ihr LandDer Wissenschaftler und Ingenieure Leitfaden für digitale Signalverarbeitung Von Steven W. Smith, Ph. D. Kapitel 15: Verschieben von Durchschnittsfiltern Rauschreduzierung und Schrittreaktion Viele Wissenschaftler und Ingenieure fühlen sich schuldig, wenn Sie den gleitenden Mittelfilter verwenden. Weil es so einfach ist, ist der gleitende Durchschnitt Filter oft das erste, was versucht, wenn mit einem Problem konfrontiert. Auch wenn das Problem vollständig gelöst ist, gibt es immer noch das Gefühl, dass etwas mehr getan werden sollte. Diese Situation ist wirklich ironisch. Nicht nur ist der gleitende durchschnittliche Filter sehr gut für viele Anwendungen, er ist für ein allgemeines Problem optimal und verringert zufälliges weißes Rauschen, während es die schärfste Schrittantwort hält. Abbildung 15-1 zeigt ein Beispiel dafür, wie dies funktioniert. Das Signal in (a) ist ein in zufälligem Rauschen vergrabener Impuls. In (b) und (c) verringert die Glättungswirkung des gleitenden Durchschnittsfilters die Amplitude des zufälligen Rauschens (gut), verringert aber auch die Schärfe der Kanten (schlecht). Von allen möglichen linearen Filtern, die verwendet werden könnten, erzeugt der gleitende Durchschnitt das niedrigste Rauschen für eine gegebene Flankenschärfe. Der Betrag der Rauschunterdrückung ist gleich der Quadratwurzel der Anzahl der Punkte im Durchschnitt. Zum Beispiel verringert ein 100-Punkte-gleitender Durchschnittsfilter das Rauschen um den Faktor 10. Um zu verstehen, warum der gleitende Durchschnitt die beste Lösung ist, stellen wir uns vor, wir wollen einen Filter mit fester Kantenschärfe entwerfen. Nehmen wir zum Beispiel an, dass wir die Kantenschärfe festlegen, indem wir angeben, dass es elf Punkte im Anstieg der Sprungantwort gibt. Dies setzt voraus, dass der Filterkern elf Punkte hat. Die Optimierungsfrage lautet: Wie wählen wir die elf Werte im Filterkernel aus, um das Rauschen am Ausgangssignal zu minimieren Da das Rauschen, das wir reduzieren wollen, zufällig ist, ist keiner der Eingangspunkte etwas Besonderes, jeder ist genauso laut wie sein Nachbar . Daher ist es nutzlos, irgendeinem der Eingangspunkte eine bevorzugte Behandlung zu geben, indem ihm ein größerer Koeffizient im Filterkern zugewiesen wird. Das niedrigste Rauschen wird erhalten, wenn alle Eingangsabtastwerte gleich behandelt werden, d. h. das gleitende Mittelfilter. (Später in diesem Kapitel zeigen wir, dass andere Filter im Wesentlichen so gut sind. Der Punkt ist, kein Filter ist besser als der einfache gleitende Durchschnitt).
No comments:
Post a Comment