Wednesday 31 May 2017

Moving Average Filter Design Matlab


Frequenzgang des laufenden Mittelfilters Der Frequenzgang eines LTI-Systems ist der DTFT der Impulsantwort, Die Impulsantwort eines L-Sample-Gleitdurchschnitts ist Da der gleitende Mittelwertfilter FIR ist, reduziert sich der Frequenzgang auf die endliche Summe Wir Kann 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, BerkeleyCreated am Mittwoch, 08. Oktober 2008 um 20:04 Uhr Zuletzt aktualisiert am Donnerstag, den 14. März 2013 um 01:29 Uhr Geschrieben von Batuhan Osmanoglu Zugriffe: 41409 Moving Average In Matlab Oft finde ich mich in der Notwendigkeit der Mittelung der Daten, die ich habe, um das Rauschen ein wenig zu reduzieren. 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 Azimut. Moving Average Function Ergebnismovingmean (Daten, Fenster, Dim, Option) berechnet einen zentrierten gleitenden Durchschnitt der Datenmatrix Daten mit einer Fenstergröße, die im Fenster in Dim Dimension angegeben ist Der in der Option angegebene Algorithmus. Dim und Option sind optionale Eingänge und wird standardmäßig auf 1. Dim und Option optionale Eingänge können ganz übersprungen werden oder können mit einem ersetzen. Zum Beispiel gibt Movingan (Daten, Fenster) die gleichen Ergebnisse wie MovingMan (Daten, Fenster, 1,1) oder MovingMan (Daten, Fenster ,, 1). Eingabedaten Matrix Größe und Dimension ist nur durch die maximale Matrix Größe für Sie Plattform begrenzt. Das Fenster muss eine Ganzzahl sein und sollte ungerade sein. Wenn das Fenster selbst dann ist, wird es auf die nächstniedrigere ungerade Zahl abgerundet. Funktion berechnet den gleitenden Durchschnitt mit einem Mittelpunkt und (Fenster-1) 2 Elementen vor und nach in der angegebenen Dimension. An den Kanten der Matrix wird die Anzahl der Elemente vor oder nachher reduziert, so dass die tatsächliche Fenstergröße kleiner als das angegebene Fenster ist. Die Funktion ist in zwei Teile unterteilt, ein 1d-2d-Algorithmus und ein 3D-Algorithmus. Dies wurde getan, um die Lösungsgeschwindigkeit zu optimieren, insbesondere in kleineren Matrizen (d. h. 1000 x 1). Weiterhin werden mehrere verschiedene Algorithmen zum 1d-2d - und 3d-Problem bereitgestellt, da in bestimmten Fällen 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 kürzeren Dimension berechnet. Die Größe, in der der Standardalgorithmus langsamer ist, hängt vom Computer ab. MATLAB 7.8 (R2009a) Tags für diese Datei Bitte melden Sie sich an, um Dateien zu markieren. Bitte loggen Sie sich ein, um einen Kommentar oder eine Bewertung hinzuzufügen. Kommentare und Bewertungen (8) Die Funktion befasst sich mit Enden, indem sie den nachlaufenden oder führenden Teil des Fensters schneidet und zu einem führenden oder nachlaufenden gleitenden Durchschnitt anstatt einer zentrierten übergeht. Um mit dem Beispiel zu gehen, das Sie in Ihrem Kommentar gegeben haben, wenn die Fenstergröße 3 ist, dann in einer Mitte von 1 die Funktion Mittelwerte von den Punkten 1 und 2 in einem Zentrum von 2 Punkten 1, 2 und 3 werden in einer Mitte von 9 gemittelt Die Punkte 8, 9 und 10 werden gemittelt und in einem Zentrum von 10 (man nimmt an, daß der Vektor 10 Einträge hat), werden die Punkte 9 und 10 gemittelt. Wie geht es mit den Enden um, beginnt mit einer Fenstergröße, die nur Punkt 1 bei 1, dann 3 Punkte am Punkt 2 und dann in Fenstergröße ansteigt, bis die Fenstergröße in der Funktionseingabe angegeben ist. Schön und einfach. Vielen Dank. Guter Job Sehr nützlich, wie Stephan Wolf sagte. Genau das, worauf ich hinausschaue. Mittlerer gleitender Durchschnitt, der in der Lage ist, in einer Handlung über die ganze Breite zu arbeiten, ohne die Fenstergröße des Filters zu suchen und den Anfang zu bewegen. Great Beschleunigung des Tempo der Technik und Wissenschaft MathWorks ist der führende Entwickler von mathematischen Computing-Software für Ingenieure und Wissenschaftler.

No comments:

Post a Comment