Friday, 3 November 2017

Moving Average Convolution Matlab


29. September, 2013.Moving Durchschnitt durch Faltung. Was ist gleitenden Durchschnitt und was ist es gut für. Wie ist das Bewegen der Mittelung durch die Verwendung von Faltung durchgeführt. Moving Durchschnitt ist eine einfache Operation verwendet in der Regel zu unterdrücken Rauschen eines Signals setzen wir den Wert von jedem Zeigen Sie auf den Durchschnitt der Werte in seiner Nachbarschaft Durch eine formula. Here x ist 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 die Proben genommen werden Von beiden Seiten des eigentlichen Punktes. Below ist ein echtes Leben Beispiel Der Punkt, auf dem das Fenster tatsächlich gelegt wird, ist rot Werte außerhalb x sollen Nullen sein. Um herumzuspielen und die Effekte des gleitenden Durchschnitts zu sehen, schau dir das an Interaktive Demonstration. How, um es durch Faltung zu tun. Wie Sie vielleicht erkannt haben, die Berechnung der einfachen gleitenden Durchschnitt ist ähnlich wie die Faltung in beiden Fällen ein Fenster ist entlang dem Signal und die Elemente im Fenster sind zusammengefasst Also, geben Sie es auszuprobieren Zu tun Gleiches Ding unter Verwendung von Faltung Verwenden Sie die folgenden Parameter. Die gewünschte Ausgabe ist. Als erster Ansatz, lassen Sie uns versuchen, was wir bekommen, indem wir das x-Signal durch den folgenden k-Kernel ausfüllen. Die Ausgabe ist genau dreimal größer als die erwartete Es kann auch sein Gesehen, dass die Ausgangswerte die Zusammenfassung der drei Elemente im Fenster sind. Es liegt daran, dass während der Faltung das Fenster entlang geschoben wird, alle Elemente in ihm werden 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, wird die Ausgabe durch 3.By eine Formel einschließlich der Division geteilt. Aber wäre es nicht optimal, die Division während der Faltung zu machen Hier kommt die Idee von Um die Gleichung neu zu ordnen. So werden wir den folgenden k Kernel verwenden. Auf diese Weise erhalten wir die gewünschte Ausgabe. Im Allgemeinen, wenn wir gleitenden Durchschnitt durch Faltung mit einer Fenstergröße von w wollen, werden wir den folgenden k kernel verwenden. Einfach Funktion, die den gleitenden Durchschnitt tut. Ein Beispielgebrauch ist. Der Wissenschaftler und Ingenieur s Guide zur digitalen Signalverarbeitung Von Steven W Smith, Ph D. Wie der Name schon sagt, arbeitet der gleitende Durchschnittsfilter durch Mittelung einer Anzahl von Punkten aus dem Eingangssignal Um jeden Punkt im Ausgangssignal zu erzeugen In der Gleichungsform wird dies geschrieben. Wenn das Eingangssignal das Ausgangssignal ist und M die Anzahl der Punkte im Durchschnitt ist, z. B. in einem 5-Punkt-Gleitmittel-Filter, Punkt 80 Im Ausgangssignal ist gegeben durch eine Alternative, die Gruppe Von Punkten aus dem Eingangssignal können symmetrisch um den Ausgangspunkt gewählt werden. Dies entspricht der Änderung der Summierung in Gl. 15-1 von j 0 bis M -1 auf j - M -1 2 bis M -1 2 Ein 10-Punkt-Gleitender Durchschnitt-Filter, der Index, j kann von 0 bis 11 eine Seite Mittelung oder -5 bis 5 symmetrische Mittelung laufen Symmetrische Mittelung erfordert, dass M eine ungerade Zahl Programmierung ist etwas einfacher mit den Punkten auf nur einer Seite aber dies Erzeugt eine relative Verschiebung zwischen den Eingangs - und Ausgangssignalen. Sie sollten erkennen, dass der gleitende Mittelfilter eine Faltung mit einem sehr einfachen Filterkern ist. Zum Beispiel hat ein 5-Punkt-Filter den Filterkern 0, 0, 1 5, 1 5, 1 5, 1 5, 1 5, 0, 0 Das heißt, das gleitende Durchschnittsfilter ist eine Faltung des Eingangssignals mit einem rechteckigen Impuls mit einem Bereich von einer Tabelle 15-1 zeigt ein Programm zur Implementierung des gleitenden Durchschnittsfilters. Verwenden von MATLAB , Wie kann ich den 3-tägigen gleitenden Durchschnitt einer bestimmten Spalte einer Matrix finden und die bewegten a anhängen Verage auf diese Matrix Ich versuche, den 3-tägigen gleitenden Durchschnitt von unten nach oben der Matrix zu berechnen, die ich meinen Code zur Verfügung gestellt habe. Angesichts der folgenden Matrix a und Maske. Ich habe versucht, den Conv-Befehl zu implementieren, aber ich erhalte einen Fehler hier Ist der Conv-Befehl, den ich versucht habe, auf der 2. Spalte der Matrix zu verwenden. Die Ausgabe, die ich wünsche, ist in der folgenden Matrix gegeben. Wenn Sie irgendwelche Vorschläge haben, würde ich es sehr schätzen Danke. Für Spalte 2 von Matrix a, Ich berechne den 3-tägigen gleitenden Durchschnitt wie folgt und stelle das Ergebnis in Spalte 4 der Matrix ein Ich benannte Matrix a wie gewünschtOutput nur zur Veranschaulichung Der 3-Tages-Durchschnitt von 17, 14, 11 ist 14 der 3-Tages-Durchschnitt von 14 , 11, 8 ist 11 der 3-Tages-Durchschnitt von 11, 8, 5 ist 8 und der 3-Tages-Durchschnitt von 8, 5, 2 ist 5 Es gibt keinen Wert in den unteren 2 Zeilen für die 4. Spalte, weil die Berechnung für Der 3-tägige gleitende durchschnittliche Start am unteren Rand Die gültige Ausgabe wird erst nach mindestens 17, 14 und 11 angezeigt. Hoffentlich macht das Sinn Aaron J Un 12 13 bei 1 28. Im Allgemeinen würde es helfen, wenn Sie den Fehler zeigen In diesem Fall tun Sie zwei Dinge falsch. Erste Ihre Faltung muss durch drei oder die Länge des gleitenden Durchschnittes geteilt werden. Zweitens bemerken die Größe Von c Sie können nicht einfach passen c in a Die typische Art, einen gleitenden Durchschnitt zu bekommen wäre, dasselbe zu verwenden. Aber das sieht nicht so aus, wie Sie wollen. Stattdessen sind Sie gezwungen, ein paar Zeilen zu benutzen.

No comments:

Post a Comment