2d Moving Average Filter Matlab




2d Moving Average Filter MatlabDie Wissenschaftler und Ingenieure Leitfaden fur digitale Signalverarbeitung Von Steven W. Smith, Ph. D. Wie der Name andeutet, arbeitet das gleitende Mittelfilter durch Mittelung einer Anzahl von Punkten von dem Eingangssignal, um jeden Punkt im Ausgangssignal zu erzeugen. In Gleichung ist dies geschrieben: Wo ist das Eingangssignal, ist das Ausgangssignal und M ist die Anzahl der Punkte im Mittelwert. Beispielsweise ist bei einem 5-Punkt-Gleitmittelfilter Punkt 80 im Ausgangssignal gegeben durch: Alternativ kann die Gruppe von Punkten aus dem Eingangssignal symmetrisch um den Ausgangspunkt gewahlt werden: Dies entspricht der Anderung der Summation in Gl . 15-1 von: j 0 bis M -1, bis: j - (M -1) / 2 bis (M -1) / 2. Zum Beispiel wird in einem 10-Punkt-gleitenden Durchschnittsfilter der Index j. Kann von 0 bis 11 (einseitige Mittelung) oder -5 bis 5 (symmetrische Mittelung) laufen. Symmetrische Mittelung erfordert, dass M eine ungerade Zahl ist. Die Programmierung ist etwas einfacher mit den Punkten auf nur einer Seite, jedoch ergibt sich eine relative Verschiebung zwischen den Eingangs - und Ausgangssignalen. Sie sollten erkennen, dass das gleitende Durchschnittsfilter eine Faltung mit einem sehr einfachen Filterkern ist. Zum Beispiel hat ein 5-Punkt-Filter den Filterkernel: 82300, 0, 1/5, 1/5, 1/5, 1/5, 1/5, 0, 08230. Das hei?t, der gleitende Durchschnittsfilter ist eine Faltung Des Eingangssignals mit einem Rechteckimpuls mit einer Flache von Eins. Tabelle 15-1 zeigt ein Programm zum Implementieren des gleitenden Durchschnittsfilters. Moving Average Funktion resultmovingmean (data, window, dim, option) berechnet einen zentrierten gleitenden Durchschnitt der Datenmatrixdaten unter Verwendung einer Fenstergro?e, die im Fenster in dim Dimension angegeben ist Algorithmus in der Option angegeben. Dim und Option sind optionale Eingange und werden standardma?ig auf 1. Dim und option optionale Eingange konnen ganz ubersprungen werden oder konnen durch a ersetzt werden. Beispielsweise gibt movingmean (data, window) die gleichen Ergebnisse wie movingmean (data, window, 1,1) oder movingmean (data, window ,, 1). Die Gro?e und Dimension der Eingabedatenmatrix ist nur durch die maximale Matrixgro?e fur Ihre Plattform begrenzt. Das Fenster muss eine ganze Zahl sein und sollte ungerade sein. Wenn das Fenster gerade ist, wird es auf die nachstniedrigere ungerade Zahl abgerundet. Die Funktion berechnet den gleitenden Durchschnitt mit einem Mittelpunkt und (Fenster-1) / 2 Elementen vor und nach der angegebenen Dimension. An den Randern der Matrix wird die Anzahl der Elemente vor oder nachher reduziert, so dass die tatsachliche Fenstergro?e kleiner als das angegebene Fenster ist. Die Funktion ist in zwei Teile, ein 1d-2d-Algorithmus und ein 3D-Algorithmus gebrochen. Dies wurde getan, um die Losungsgeschwindigkeit zu optimieren, insbesondere in kleineren Matrizen (d. H. 1000 x 1). Ferner werden mehrere verschiedene Algorithmen fur das Problem 1d-2d und 3d bereitgestellt, da in bestimmten Fallen der Standardalgorithmus nicht der schnellste ist. Dies geschieht typischerweise, wenn die Matrix sehr breit ist (d. h. 100 x 100000 oder 10 x 1000 x 1000), und der gleitende Durchschnitt wird in der kurzeren Dimension berechnet. Die Gro?e, bei der der Standardalgorithmus langsamer ist, hangt vom Computer ab. MATLAB 7.8 (R2009a) Tags fur Diese Datei Bitte anmelden, um Tags zu speichern. Bitte melden Sie sich an, um einen Kommentar oder eine Bewertung hinzuzufugen. Kommentare und Bewertungen (8) Die Funktion befasst sich mit Enden, indem sie den nachlaufenden oder fuhrenden Teil des Fensters beschneiden und zu einem anfanglichen oder nachlaufenden gleitenden Durchschnitt anstelle eines zentrierten Bildes ubergehen. Um mit dem Beispiel zu gehen, das Sie in Ihrem Kommentar gegeben haben, wenn die Fenstergro?e 3 ist, dann in einer Mitte von 1 die Funktion Mittelwerte von Daten von den Punkten 1 und 2 an einer Mitte von 2 Punkten 1, 2 und 3 werden in einer Mitte von 9 gemittelt Die Punkte 8, 9 und 10 werden gemittelt und in einer Mitte von 10 (angenommen, der Vektor hat 10 Eintrage) werden die Punkte 9 und 10 gemittelt. Wie bewegt sich movingmean mit den Enden? Fangt es mit einer Fenstergro?e an, die nur Punkt 1 bei 1, dann 3 Punkte bei Punkt 2, dann Erhohung in Fenstergro?e bis die Fenstergro?e ist, die in der Funktionseingabe spezifiziert ist, beginnen Danke. Nett und einfach. Vielen Dank. Gute Arbeit Sehr nutzlich, wie Stephan Wolf sagte. Gerade was ich lookin fur war. Zentrierter gleitender Durchschnitt, der in der Lage ist, in einem Diagramm uber die gesamte Breite zu arbeiten, ohne die Fenstergro?e des Filters zu betrachten und den Anfang zu bewegen. MathWorks ist der fuhrende Entwickler der mathematischen Computer-Software fur Ingenieure und Wissenschaftler. Erstellt am Mittwoch, den 08. Oktober 2008 um 20:04 Uhr Zuletzt aktualisiert am Donnerstag, den 14. Marz 2013 um 01:29 Uhr Geschrieben von Batuhan Osmanoglu Zugriffe: 40717 Moving Average In Matlab Oft finde ich mich in der Notwendigkeit der Mittelung der Daten, die ich haben, um das Rauschen ein wenig zu reduzieren. Ich schrieb paar Funktionen, um genau das tun, was ich will, aber Matlabs in Filter-Funktion gebaut funktioniert auch ziemlich gut. Hier schreibe ich uber 1D und 2D Mittelung von Daten. 1D-Filter kann mit der Filterfunktion realisiert werden. Die Filterfunktion erfordert mindestens drei Eingangsparameter: den Zahlerkoeffizienten fur den Filter (b), den Nennerkoeffizienten fur den Filter (a) und naturlich die Daten (X). Ein laufender Mittelwertfilter kann einfach definiert werden: Fur 2D-Daten konnen wir die Funktion Matlabs filter2 verwenden. Fur weitere Informationen, wie der Filter funktioniert, konnen Sie eingeben: Hier ist eine schnelle und schmutzige Implementierung eines 16 von 16 gleitenden durchschnittlichen Filters. Zuerst mussen wir den Filter definieren. Da alles, was wir wollen, gleicher Beitrag aller Nachbarn ist, konnen wir einfach die Funktion verwenden. Wir teilen alles mit 256 (1616), da wir nicht den allgemeinen Pegel (Amplitude) des Signals andern wollen. Zur Anwendung des Filters konnen wir einfach sagen, die folgenden Unten sind die Ergebnisse fur die Phase eines SAR-Interferogramms. In diesem Fall ist der Bereich in der Y-Achse und der Azimut auf der X-Achse abgebildet. Der Filter war 4 Pixel breit im Bereich und 16 Pixel breit im Azimut.