Moving Average Filter In Matlab


Erstellt am Mittwoch, den 08. Oktober 2008 um 20:04 Uhr Zuletzt aktualisiert am Donnerstag, den 14. März 2013 um 01:29 Uhr Geschrieben von Batuhan Osmanoglu Hits: 41410 Moving Average In Matlab Oft finde ich mich in der Notwendigkeit, die Daten zu generieren, die ich den Lärm ein wenig reduzieren muss Bit. Ich schrieb paar Funktionen, um genau das zu tun, was ich will, aber Matlabs in Filterfunktion gebaut funktioniert auch ziemlich gut. Hier schreiben wir über 1D - und 2D-Mittelung von Daten. 1D-Filter kann mit der Filterfunktion realisiert werden. Die Filterfunktion benötigt mindestens drei Eingangsparameter: den Zählerkoeffizienten für den Filter (b), den Nennerkoeffizienten für den Filter (a) und die Daten (X) natürlich. Ein laufender Durchschnittsfilter kann einfach definiert werden durch: Für 2D-Daten können wir die Funktion Matlabs filter2 verwenden. Für weitere Informationen darüber, wie der Filter funktioniert, können Sie Folgendes eingeben: Hier ist eine schnelle und verschmutzte Implementierung eines 16 x 16 gleitenden Durchschnittsfilters. Zuerst müssen wir den Filter definieren. Da alles, was wir wollen, gleicher Beitrag aller Nachbarn ist, können wir einfach die Funktion benutzen. Wir teilen alles mit 256 (1616), da wir nicht die allgemeine Ebene (Amplitude) des Signals ändern wollen. Um den Filter anzuwenden, können wir einfach folgendes ausführen. Die Ergebnisse für die Phase eines SAR-Interferogramms sind. In diesem Fall ist der Bereich in der Y-Achse und der Azimut ist auf der X-Achse abgebildet. Der Filter war 4 Pixel breit im Bereich und 16 Pixel breit in Azimuth. Moving Average Filter (MA Filter) Loading. Der gleitende Durchschnittsfilter ist ein einfacher Low Pass FIR (Finite Impulse Response) Filter, der üblicherweise zum Glätten eines Arrays von abgetastetem Datensignal verwendet wird. Es nimmt M Abtastwerte der Eingabe zu einer Zeit und nehmen den Durchschnitt dieser M-Samples und erzeugt einen einzelnen Ausgangspunkt. Es ist eine sehr einfache LPF (Low Pass Filter) Struktur, die für Wissenschaftler und Ingenieure praktisch ist, um unerwünschte geräuschvolle Komponenten aus den beabsichtigten Daten zu filtern. Wenn die Filterlänge zunimmt (der Parameter M), erhöht sich die Glätte des Ausgangs, während die scharfen Übergänge in den Daten zunehmend stumpf werden. Dies impliziert, dass dieser Filter eine ausgezeichnete Zeitbereichsantwort hat, aber eine schlechte Frequenzantwort. Der MA-Filter führt drei wichtige Funktionen aus: 1) Es nimmt M Eingangspunkte, berechnet den Mittelwert dieser M-Punkte und erzeugt einen einzelnen Ausgangspunkt 2) Aufgrund der Berechnungsberechnungen. Der Filter führt eine bestimmte Verzögerung ein 3) Der Filter fungiert als Tiefpassfilter (mit schlechter Frequenzbereichsantwort und einer guten Zeitbereichsantwort). Matlab-Code: Nach dem Matlab-Code simuliert die Zeitbereichsantwort eines M-Punkt-Moving Average-Filters und zeichnet auch den Frequenzgang für verschiedene Filterlängen auf. Zeit Domain Response: Auf dem ersten Plot haben wir die Eingabe, die in den gleitenden Mittelfilter geht. Der Eingang ist laut und unser Ziel ist es, den Lärm zu reduzieren. Die nächste Abbildung ist die Ausgangsreaktion eines 3-Punkt-Moving Average-Filters. Es kann aus der Figur abgeleitet werden, dass der 3-Punkt-Moving Average-Filter nicht viel beim Ausfiltern des Rauschens getan hat. Wir erhöhen die Filterhähne auf 51 Punkte und wir können sehen, dass das Rauschen in der Ausgabe viel reduziert hat, was in der nächsten Abbildung dargestellt ist. Wir erhöhen die Hähne weiter auf 101 und 501 und wir können beobachten, dass - obwohl das Rauschen fast null ist, die Übergänge drastisch abgestumpft werden (beobachten Sie die Steigung auf beiden Seiten des Signals und vergleichen Sie sie mit dem idealen Ziegelwandübergang in Unsere Eingabe). Frequenzgang: Aus dem Frequenzgang kann behauptet werden, dass der Roll-off sehr langsam ist und die Stoppbanddämpfung nicht gut ist. Angesichts dieser Stoppbanddämpfung kann eindeutig der gleitende Durchschnittsfilter kein Frequenzband von einem anderen trennen. Da wir wissen, dass eine gute Leistung im Zeitbereich zu schlechter Leistung im Frequenzbereich führt und umgekehrt. Kurz gesagt, der gleitende Durchschnitt ist ein außergewöhnlich guter Glättungsfilter (die Aktion im Zeitbereich), aber ein außergewöhnlich schlechter Tiefpassfilter (die Aktion im Frequenzbereich) Externe Links: Empfohlene Bücher: Primary Sidebar29 September, 2013 Gleitender Durchschnitt Durch Faltung Was ist gleitender Durchschnitt und was ist es gut für Wie ist das Bewegen der Mittelung durch die Verwendung der Faltung Bewegen Durchschnitt ist eine einfache Operation verwendet in der Regel zu unterdrücken Rauschen eines Signals: Wir setzen den Wert jedes Punktes auf den Durchschnitt der Werte in seinem Gegend. Nach einer Formel: Hier ist x die Eingabe und y ist das Ausgangssignal, während die Größe des Fensters w ist, soll ungerade sein. Die obige Formel beschreibt eine symmetrische Operation: Die Proben werden von beiden Seiten des tatsächlichen Punktes genommen. Unten ist ein echtes Leben Beispiel. Der Punkt, an dem das Fenster gelegt wird, ist rot. Werte außerhalb von x sollen Nullen sein: Um herumzuspielen und die Effekte des gleitenden Durchschnitts zu sehen, werfen Sie einen Blick auf diese interaktive Demonstration. Wie man es durch Faltung macht Wie Sie vielleicht erkannt haben, ist die Berechnung des einfachen gleitenden Durchschnitts ähnlich der Faltung: In beiden Fällen wird ein Fenster entlang des Signals verschoben und die Elemente im Fenster werden zusammengefasst. Also, versuch es, das Gleiche zu tun, indem du eine Faltung benutzt. Verwenden Sie die folgenden Parameter: Die gewünschte Ausgabe ist: Als erster Ansatz, versuchen wir, was wir bekommen, indem wir das x-Signal durch den folgenden k-Kernel falten: Der Ausgang ist genau dreimal größer als der erwartete. Es kann auch gesehen werden, dass die Ausgangswerte die Zusammenfassung der drei Elemente im Fenster sind. Es ist, weil während der Faltung das Fenster verschoben wird, werden alle Elemente in ihm mit einem multipliziert und dann zusammengefasst: yk 1 cdot x 1 cdot x 1 cdot x Um die gewünschten Werte von y zu erhalten. Die Ausgabe wird durch 3 geteilt: Nach einer Formel, die die Teilung einschließt: Aber wäre es nicht optimal, die Teilung während der Faltung zu machen. Hier kommt die Idee, indem sie die Gleichung neu arrangiert: So werden wir den folgenden k Kernel verwenden: Auf diese Weise werden wir Bekomme die gewünschte Ausgabe: Im Allgemeinen: Wenn wir gleitenden Durchschnitt durch Faltung mit einer Fenstergröße von w machen wollen. Wir verwenden den folgenden k Kernel: Eine einfache Funktion, die den gleitenden Durchschnitt macht: Ein Beispiel ist:

Comments