Monday 24 April 2017

Moving Durchschnittliche Filter Design 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 Zugriffe: 41055 Moving Average In Matlab Oft finde ich die Notwendigkeit, die Daten zu mitteln, die ich habe, um das Rauschen ein wenig zu reduzieren Bit. Ich schrieb paar Funktionen, um genau das tun, was ich will, aber Matlabs in Filter-Funktion gebaut funktioniert auch ziemlich gut. Hier schreibe ich über 1D und 2D Mittelung von Daten. 1D-Filter kann mit der Filterfunktion realisiert werden. Die Filterfunktion erfordert mindestens drei Eingangsparameter: den Zählerkoeffizienten für den Filter (b), den Nennerkoeffizienten für den Filter (a) und natürlich die Daten (X). Ein laufender Mittelwertfilter kann einfach definiert werden: Für 2D-Daten können wir die Funktion Matlabs filter2 verwenden. Für weitere Informationen, wie der Filter funktioniert, können Sie eingeben: Hier ist eine schnelle und schmutzige Implementierung eines 16 von 16 gleitenden durchschnittlichen Filters. Zunächst müssen wir den Filter definieren. Da alles, was wir wollen, gleicher Beitrag aller Nachbarn ist, können wir einfach die Funktion verwenden. Wir teilen alles mit 256 (1616), da wir nicht den allgemeinen Pegel (Amplitude) des Signals ändern wollen. Um den Filter anzuwenden, können wir einfach Folgendes sagen: Unten sind die Ergebnisse für 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 in Azimuth. Frequenzantwort des laufenden Mittelfilters Der Frequenzgang eines LTI-Systems ist die DTFT der Impulsantwort, Die Impulsantwort eines L - Gleitende Mittelwertfilter ist FIR, der Frequenzgang reduziert sich auf die endliche Summe Wir können die sehr nützliche Identität verwenden, um den Frequenzgang zu schreiben, da wir ae minus jomega haben lassen. 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 werden und welche gedämpft werden. Unten ist ein Diagramm 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. Man beachte, daß der Frequenzgang in allen drei Fällen eine Tiefpaßcharakteristik aufweist. Eine konstante Komponente (Nullfrequenz) im Eingang durchläuft das Filter ungedämpft. Bestimmte höhere Frequenzen, wie z. B. pi 2, werden durch das Filter vollständig eliminiert. Wenn es aber die Absicht war, ein Tiefpassfilter zu entwerfen, dann haben wir das nicht sehr gut gemacht. Einige der höheren Frequenzen werden nur um einen Faktor von etwa 110 (für den 16-Punkte-gleitenden Durchschnitt) oder 13 (für den vier-Punkte-gleitenden Durchschnitt) gedämpft. Wir können viel besser als das. (1-exp (-iomega)) H8 (18) (1-exp (- & omega; & sub4; (1-exp (-iomega)) (1-exp (-iomega)) (1-exp (& ndash; (B, a, x) filtert die Eingangsdaten x unter Verwendung einer rationalen Übertragungsfunktion, die durch die Zähler - und Nennerkoeffizienten b definiert ist Und a. Wenn a (1) nicht gleich 1 ist, dann filtert der Filter die Filterkoeffizienten um a (1). Daher muss a (1) ungleich Null sein. Wenn x ein Vektor ist, gibt der Filter die gefilterten Daten als Vektor mit der gleichen Größe wie x zurück. Wenn x eine Matrix ist, wirkt das Filter entlang der ersten Dimension und gibt die gefilterten Daten für jede Spalte zurück. Wenn x ein mehrdimensionales Array ist, wirkt das Filter entlang der ersten Array-Dimension, deren Größe nicht gleich 1 ist. Y-Filter (b, a, x, zi) verwendet Anfangsbedingungen zi für die Filterverzögerungen. Die Länge von zi muss max (Länge (a), Länge (b)) - 1 sein. Y-Filter (b, a, x, zi, dim) entlang der Dimension dim. Wenn z. B. x eine Matrix ist, gibt das Filter (b, a, x, zi, 2) die gefilterten Daten für jede Zeile zurück. Y, zf filter () liefert auch die endgültigen Bedingungen zf der Filterverzögerungen mit einer der vorherigen Syntaxen zurück. Rationale Übertragungsfunktion Die Input-Output-Beschreibung der Filteroperation an einem Vektor in der Z-Transformationsdomäne ist eine rationale Übertragungsfunktion. Eine rationale Übertragungsfunktion hat die Form Y (z) b (1) b (2) z x2212 1. B (n b 1) z x 2212 n b 1 a (2) z x2212 1. A (n a 1) z x 2212 n a X (z). Die sowohl FIR - als auch IIR-Filter behandelt. N a ist die Rückkopplungsfilterreihenfolge und n b die Vorwärtsfilterordnung. Sie können auch die rationale Übertragungsfunktion als die folgende Differenzengleichung ausdrücken: a (1) y (n) b (1) x (n) b (2) x (n × 2212 1). B (n b 1) x (n × 2212 n b) x 2212 a (2) y (n × 2212 1) × 2212. X2212 a (n a 1) y (n × 2212 n a). Darüber hinaus können Sie die rationale Übertragungsfunktion mit ihrer direkten Form II-transponierten Implementierung darstellen, wie im folgenden Diagramm dargestellt. Wegen der Normalisierung wird ein (1) 1 angenommen. Der Betrieb des Filters am Abtastwert m wird durch die Zeitdomänendifferenzgleichungen y (m) b (1) x (m) z 1 (m x 2212 1) z 1 (m) b (2) x (m) z 2 m x2212 1) x2212 A (2) y (m) x00A0x00A0 x22EE x00A0x00A0x00A0x00A0x00A0 x00A0x00A0x00A0x00A0x00A0 x22EE x00A0x00A0x00A0x00A0x00A0x00A0x00A0x00A0x00A0x00A0x00A0x00A0 x22EE zn x2212 2 (m) b (n x2212 1) x (m) zn x2212 1 (m x2212 1) x2212 eine (n x2212 1 ) Y (m) zn x2212 1 (m) b (n) x (m) x 2212 a (n) y (m). Wenn Sie die Signalverarbeitung Toolboxx2122 haben, können Sie einen Filter entwerfen, d. Mit designfilt. Anschließend können Sie mit Y Filter (d, X) Ihre Daten filtern. Wähle dein Land


No comments:

Post a Comment