Friday, February 17, 2017

5 Punkt Gleitender Mittel Filter Matlab

Frequenzgang des laufenden Mittelfilters Der Frequenzgang eines LTI-Systems ist die DTFT der Impulsantwort, die Impulsantwort eines L-Sample-gleitenden Mittelwerts Da der gleitende Mittelwert FIR ist, reduziert sich der Frequenzgang auf die endliche Summe We Kann die sehr nützliche Identität verwenden, um den Frequenzgang zu schreiben, wo 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; Horizontale Achse (0, pi, 0, 1) Copyright-Kopie 2000- Universität von Kalifornien, Berkeley Ich muss einen gleitenden Durchschnitt über eine Datenreihe innerhalb einer for-Schleife berechnen. Ich muss den gleitenden Durchschnitt über N9 Tage erhalten. Das Array Im-Berechnen ist 4 Reihe von 365 Werten (M), die selbst Mittelwerte eines anderen Satzes von Daten sind. Ich möchte die Mittelwerte meiner Daten mit dem gleitenden Durchschnitt in einem Diagramm darstellen. Ich googeln ein wenig über gleitende Durchschnitte und den conv Befehl und fand etwas, das ich versuchte, in meinem Code umzusetzen: So grundsätzlich berechne ich meinen Durchschnitt und plot ihn mit einem (falschen) gleitenden Durchschnitt. Ich wählte die wts Wert direkt an der Mathworks-Website, so dass ist falsch. (Quelle: mathworks. nlhelpeconmoving-average-trend-estimation. html) Mein Problem aber ist, dass ich nicht verstehe, was dieses wts ist. Könnte jemand erklären, wenn es etwas mit den Gewichten der Werte zu tun hat: das ist in diesem Fall ungültig. Alle Werte werden gleich gewichtet. Und wenn ich das völlig falsch mache, könnte ich etwas Hilfe dabei haben Mein aufrichtigster Dank. Die Verwendung von conv ist eine hervorragende Möglichkeit, einen gleitenden Durchschnitt zu implementieren. In dem Code, den Sie verwenden, ist wts, wie viel Sie jeden Wert wiegen (wie Sie ahnen). Die Summe dieses Vektors sollte immer gleich Eins sein. Wenn Sie jeden Wert gleichmäßig gewichten und eine Größe N bewegten Filter dann tun möchten, würden Sie tun möchten Mit dem gültigen Argument in conv wird mit weniger Werten in Ms, als Sie in M ​​haben. Verwenden Sie diese, wenn Sie dont die Auswirkungen von Nullpolsterung. Wenn Sie die Signalverarbeitung Toolbox haben, können Sie cconv verwenden, wenn Sie einen kreisförmigen gleitenden Durchschnitt ausprobieren möchten. Etwas wie Sie sollten die conv und cconv Dokumentation für weitere Informationen lesen, wenn Sie havent bereits. Sie können Filter verwenden, um einen laufenden Durchschnitt zu finden, ohne eine for-Schleife zu verwenden. Dieses Beispiel findet den laufenden Durchschnitt eines 16-Element-Vektors unter Verwendung einer Fenstergröße von 5. 2) glatt als Teil der Curve Fitting Toolbox (die in den meisten Fällen verfügbar ist) yy glatt (y) glättet die Daten in dem Spaltenvektor Y unter Verwendung eines gleitenden Durchschnittsfilters. Die Ergebnisse werden im Spaltenvektor yy zurückgegeben. Die voreingestellte Spanne für den gleitenden Durchschnitt ist 5. Wenn der Name impliziert, arbeitet das gleitende Mittelfilter durch Mittelung einer Anzahl von Punkten aus dem Eingangssignal, um jeden Punkt im Ausgangssignal zu erzeugen. In Gleichung ist dies geschrieben: wobei x das Eingangssignal, y das Ausgangssignal und M die Anzahl der Punkte im Mittel ist. Beispielsweise wird in einem 5-Punkt-Gleit-Durchschnittsfilter Punkt 80 in dem Ausgangssignal gegeben durch: Fig. 15-1 zeigt ein Beispiel, 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. Beispielsweise nehmen wir an, dass wir die Kantenschärfe festlegen, indem wir angeben, dass es elf Punkte im Anstieg der Sprungantwort gibt. Dies erfordert, 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