Thursday 8 June 2017

Gleichung Des Bewegungs Durchschnitt Filters


FIR-Filter, IIR-Filter und die lineare Konstantkoeffizienten-Differenzgleichung Causal Moving Average (FIR) Filter Wir diskutierten Systeme, bei denen jede Abtastung der Ausgabe eine gewichtete Summe von (bestimmten der) der Abtastwerte der Eingabe ist. Nehmen wir ein kausal gewichtetes Summensystem, wobei Kausal bedeutet, dass eine gegebene Ausgabeprobe nur von der aktuellen Eingangsabtastung und anderen Eingaben früher in der Sequenz abhängt. Weder lineare Systeme im Allgemeinen noch endliche Impulsantwortsysteme müssen kausal sein. Allerdings ist die Kausalität für eine Art von Analyse bequem, die sich bald erkundigen würde. Wenn wir die Eingaben als Werte eines Vektors x symbolisieren. Und die Ausgänge als entsprechende Werte eines Vektors y. Dann kann ein solches System geschrieben werden, wo die b-Werte auf die aktuellen und früheren Eingangsmuster angewendet werden, um die aktuelle Ausgabeprobe zu erhalten. Wir können an den Ausdruck als Gleichung denken, mit dem Gleichheitszeichen Bedeutung gleich oder als prozedurale Anweisung, mit dem Gleichheitszeichen Bedeutung Zuweisung. Er läßt den Ausdruck für jeden Ausgangssample als MATLAB-Schleife von Zuweisungsanweisungen schreiben, wobei x ein N-Längenvektor von Eingangsabtastwerten ist und b ein M-Längenvektor von Gewichten ist. Um mit dem Sonderfall am Anfang umzugehen, werden wir x in einen längeren Vektor einfügen, dessen erste M-1-Abtastwerte null sind. Wir schreiben die gewichtete Summe für jedes y (n) als ein inneres Produkt und werden einige Manipulationen der Eingaben (wie Umkehrung b) zu diesem Zweck durchführen. Diese Art von System wird oft als gleitender Durchschnittsfilter bezeichnet, aus offensichtlichen Gründen. Aus unseren früheren Diskussionen sollte klar sein, dass ein solches System linear und verschiebungsinvariant ist. Natürlich wäre es viel schneller, die MATLAB-Faltungsfunktion conv () anstelle unseres mafilt () zu verwenden. Anstatt die ersten M-1-Abtastwerte der Eingabe als Null zu betrachten, könnten wir sie als die gleichen M-1-Samples ansehen. Dies ist das gleiche wie die Behandlung der Eingabe als periodisch. Nun benutze cmafilt () als den Namen der Funktion, eine kleine Modifikation der früheren mafilt () - Funktion. Bei der Bestimmung der Impulsantwort eines Systems gibt es gewöhnlich keinen Unterschied zwischen diesen beiden, da alle nicht initialen Samples der Eingabe null sind: Da ein solches System linear und verschiebungsinvariant ist, wissen wir, dass seine Wirkung auf irgendwelche Sinusoid wird nur skalieren und verschieben Hier ist es wichtig, dass wir die kreisförmige Version verwenden. Die kreisförmig gefaltete Version wird verschoben und skaliert, während die Version mit normaler Faltung am Anfang verzerrt ist. Lets sehen, was die genaue Skalierung und Verschiebung ist durch die Verwendung einer fft: Sowohl Eingang und Ausgang haben Amplitude nur bei Frequenzen 1 und -1, die so ist, wie es sein sollte, da die Eingabe war eine Sinusoid und das System war linear. Die Ausgangswerte sind um ein Verhältnis von 10.62518 1.3281 größer. Das ist der Gewinn des Systems. Was ist mit der Phase Wir müssen nur sehen, wo die Amplitude ungleich Null ist: Die Eingabe hat eine Phase von pi2, wie wir angefordert haben. Die Ausgangsphase wird um ein zusätzliches 1.0594 (mit entgegengesetztem Vorzeichen für die negative Frequenz) oder etwa 16 eines Zyklus nach rechts verschoben, wie wir auf dem Diagramm sehen können. Nun können wir eine Sinuskurve mit der gleichen Frequenz (1) ausprobieren, aber anstelle von Amplitude 1 und Phase pi2 können wir Amplitude 1.5 und Phase 0 ausprobieren. Wir wissen, dass nur die Frequenz 1 und -1 keine Amplitude von Null haben Bei ihnen: Wieder ist das Amplitudenverhältnis (15.937712.0000) 1.3281 - und für die Phase wird es wieder um 1.0594 verschoben. Wenn diese Beispiele typisch sind, können wir die Wirkung unseres Systems vorhersagen (Impulsantwort .1 .2 .3 .4 .5) bei jedem Sinus mit Frequenz 1 - wird die Amplitude um einen Faktor von 1.3281 erhöht und die (positive Frequenz) Phase wird um 1.0594 verschoben. Wir konnten die Wirkung dieses Systems auf Sinusoiden anderer Frequenzen nach denselben Methoden berechnen. Aber es gibt einen viel einfacheren Weg, und einer, der den allgemeinen Punkt festlegt. Da (kreisförmige) Faltung im Zeitbereich eine Multiplikation im Frequenzbereich bedeutet, folgt daraus, dass mit anderen Worten die DFT der Impulsantwort das Verhältnis der DFT des Ausgangssignals zur DFT des Eingangs ist. In dieser Beziehung sind die DFT-Koeffizienten komplexe Zahlen. Da abs (c1c2) abs (c1) abs (c2) für alle komplexen Zahlen c1, c2 ist, sagt diese Gleichung, dass das Amplitudenspektrum der Impulsantwort immer das Verhältnis des Amplitudenspektrums des Ausganges zu dem des Eingangs ist . Im Fall des Phasenspektrums gilt der Winkel (c1c2) - Winkel (c1) - Winkel (c2) für alle c1, c2 (mit der Maßgabe, dass Phasen, die sich durch n2pi unterscheiden, als gleich angesehen werden). Daher ist das Phasenspektrum der Impulsantwort immer die Differenz zwischen den Phasenspektren des Ausgangssignals und dem Eingang (mit welchen Korrekturen um 2pi erforderlich sind, um das Ergebnis zwischen - pi und pi zu halten). Wir können die Phaseneffekte deutlicher sehen, wenn wir die Darstellung der Phase auspacken, d. h. wenn wir verschiedene Vielfache von 2pi addieren, um die Sprünge zu minimieren, die durch die periodische Natur der angle () - Funktion erzeugt werden. Obwohl die Amplitude und die Phase gewöhnlich für die grafische und sogar tabellarische Darstellung verwendet werden, da sie eine intuitive Möglichkeit sind, über die Auswirkungen eines Systems auf die verschiedenen Frequenzkomponenten ihrer Eingabe nachzudenken, sind die komplexen Fourierkoeffizienten algebraisch nützlicher, da sie es erlauben Der einfache Ausdruck der Beziehung Der allgemeine Ansatz, den wir soeben gesehen haben, wird mit beliebigen Filtern des skizzierten Typs arbeiten, bei dem jede Ausgabeprobe eine gewichtete Summe von einigen Satz von Eingabeproben ist. Wie bereits erwähnt, werden diese oft als Finite Impulse Response Filter bezeichnet, da die Impulsantwort von endlicher Größe oder manchmal Moving Average Filter ist. Wir können die Frequenzgangcharakteristiken eines solchen Filters aus der FFT seiner Impulsantwort bestimmen, und wir können auch neue Filter mit gewünschten Eigenschaften durch IFFT aus einer Spezifikation des Frequenzganges entwerfen. Autoregressive (IIR) Filter Es wäre wenig sinnvoll, Namen für FIR-Filter zu haben, es sei denn, es gab irgendeine andere Art, um sie zu unterscheiden, und so werden diejenigen, die Pragmatik studiert haben, nicht überrascht sein zu erfahren, dass es tatsächlich eine andere Hauptart gibt Des linearen zeitinvarianten Filters. Diese Filter werden manchmal rekursiv genannt, da der Wert der vorherigen Ausgänge (sowie vorherige Eingaben) wichtig ist, obwohl die Algorithmen im allgemeinen mit iterativen Konstrukten geschrieben werden. Sie werden auch Infinite Impulse Response (IIR) Filter genannt, weil im Allgemeinen ihre Reaktion auf einen Impuls für immer weiter geht. Sie werden auch manchmal autoregressive Filter genannt, weil man die Koeffizienten als das Ergebnis der linearen Regression zum Ausdruck bringen kann, um Signalwerte als Funktion früherer Signalwerte auszudrücken. Die Beziehung von FIR - und IIR-Filtern kann deutlich in einer linearen Konstantkoeffizienten-Differenzgleichung gesehen werden, d. h. eine gewichtete Summe von Ausgängen, die gleich einer gewichteten Summe von Eingängen ist, einstellen. Dies ist wie die Gleichung, die wir früher für den kausalen FIR-Filter gegeben haben, außer dass zusätzlich zu der gewichteten Summe der Eingänge auch eine gewichtete Summe der Ausgänge vorliegt. Wenn wir dies als eine Prozedur zur Erzeugung von Ausgangsmustern bedenken wollen, müssen wir die Gleichung neu anordnen, um einen Ausdruck für die aktuelle Ausgabeprobe y (n) zu erhalten. Annahme der Konvention, dass a (1) 1 (zB durch Skalierung anderer als Und bs) können wir den 1a (1) Term beenden: y (n) b (1) x (n) b (2) x (n-1). B (Nb1) x (n-nb) - a (2) y (n-1) -. - a (Na1) y (n-na) Wenn alle a (n) andere als a (1) null sind, reduziert dies auf unseren alten Freund den kausalen FIR-Filter. Dies ist der allgemeine Fall eines (kausalen) LTI-Filters und wird durch den MATLAB-Funktionsfilter implementiert. Betrachten wir den Fall, bei dem die b-Koeffizienten außer b (1) null sind (anstelle des FIR-Falles, wobei a (n) null sind): In diesem Fall wird der aktuelle Ausgangsabtastwert y (n) als a berechnet (N-1), y (n-2) usw. Um eine Vorstellung davon zu bekommen, was mit solchen Filtern passiert, kann man mit dem Fall beginnen, wo: Das heißt, die aktuelle Ausgangsabtastung ist die Summe der aktuellen Eingangsabtastung und der Hälfte der vorherigen Ausgangsabtastung. Nun nehmen Sie einen Eingangsimpuls durch ein paar Zeitschritte, eine zu einer Zeit. Es sollte an dieser Stelle klar sein, dass wir einfach einen Ausdruck für den n-ten Ausgangssamplewert schreiben können: Es ist nur (Wenn MATLAB von 0 gezählt wird, wäre dies einfach .5n). Da das, was wir berechnen, die Impulsantwort des Systems ist, haben wir beispielhaft gezeigt, dass die Impulsantwort tatsächlich unendlich viele Proben ohne Null haben kann. Um diesen trivialen Filter erster Ordnung in MATLAB zu implementieren, könnten wir Filter verwenden. Der Aufruf wird so aussehen: und das Ergebnis ist: Ist das Geschäft wirklich noch linear Wir können das empirisch betrachten: Für einen allgemeineren Ansatz betrachten wir den Wert eines Ausgangsmusters y (n). Durch sukzessive Substitution können wir dies schreiben wie dies ist wie unser alter Freund die Faltungs-Summenform eines FIR-Filters, mit der Impulsantwort, die durch den Ausdruck .5k gegeben wird. Und die Länge der Impulsantwort ist unendlich. So werden die gleichen Argumente, die wir früher gezeigt haben, dass FIR-Filter linear waren, nun hier gelten. So weit kann dies sehr viel Aufsehen über nicht viel sein. Was ist diese ganze Zeile der Untersuchung gut für gut beantworten diese Frage in Stufen, beginnend mit einem Beispiel. Es ist keine große Überraschung, dass wir eine abgetastete exponentielle durch rekursive Multiplikation berechnen können. Lets Blick auf einen rekursiven Filter, der etwas weniger offensichtlich macht. Dieses Mal macht es einen Filter zweiter Ordnung, so dass der Aufruf zum Filtern von der Form sein wird. Setzt den zweiten Ausgangskoeffizienten a2 auf -2cos (2pi40) und den dritten Ausgangskoeffizienten a3 auf 1 und schaut auf den Impuls Antwort. Nicht sehr nützlich als Filter, eigentlich, aber es erzeugt eine abgetastete Sinuswelle (aus einem Impuls) mit drei Multiplikations-Adds pro Probe Um zu verstehen, wie und warum es das tut und wie rekursive Filter entworfen und analysiert werden können Der allgemeinere Fall, müssen wir zurücktreten und einen Blick auf einige andere Eigenschaften von komplexen Zahlen, auf dem Weg zum Verständnis der Z-Transformation. Ein einfacher Moving Average ist ein Durchschnitt der Daten über einen Zeitraum berechnet. Der gleitende Durchschnitt ist der beliebteste Preisindikator für technische Analysen. Dieser Durchschnitt kann mit jedem Preis einschließlich der Hi, Low, Open oder Close verwendet werden und kann auch auf andere Indikatoren angewendet werden. Ein gleitender Durchschnitt glättet eine Datenreihe, die in einem volatilen Markt sehr wichtig ist, da sie dazu beiträgt, signifikante Trends zu identifizieren. Dundas Chart für ASP hat vier Arten von gleitenden Durchschnitten einschließlich Simple, Exponential. Dreieckig. Und gewichtet. Der wichtigste Unterschied zwischen den oben genannten gleitenden Durchschnitten ist, wie sie ihre Datenpunkte abwerten. Wir empfehlen Ihnen, die Verwendung von Finanzformeln zu lesen, bevor Sie weitergehen. Mit Financial Formulas finden Sie eine ausführliche Erläuterung zur Verwendung von Formeln und erklärt auch die verschiedenen Optionen, die Ihnen bei der Anwendung einer Formel zur Verfügung stehen. Ein Liniendiagramm ist eine gute Wahl, wenn man einen einfachen gleitenden Durchschnitt anzeigt. Finanzielle Interpretation: Der Moving Average wird verwendet, um die Wertpapiere mit dem gleitenden Durchschnitt zu vergleichen. Das wichtigste Element, das bei der Berechnung des gleitenden Durchschnitts verwendet wird, ist eine Zeitspanne, die gleich dem beobachteten Marktzyklus sein sollte. Der gleitende Durchschnitt ist ein Nachlaufindikator und wird immer hinter dem Preis stehen. Wenn der Preis nach einem Trend folgt, ist der gleitende Durchschnitt sehr nahe am Sicherheitspreis. Wenn ein Preis steigt, wird der gleitende Durchschnitt wahrscheinlich aufgrund des Einflusses der historischen Daten zurückbleiben. Berechnung: Der gleitende Durchschnitt wird nach folgender Formel berechnet: In der vorherigen Formel steht der n-Wert für einen Zeitraum. Die häufigsten Zeiträume sind: 10 Tage, 50 Tage und 200 Tage. Ein gleitender Durchschnitt bewegt sich, weil bei jedem neuen Datenpunkt der älteste Datenpunkt gelöscht wird. Ein einfacher gleitender Durchschnitt gibt jedem Datenpunktpreis gleiches Gewicht. In diesem Beispiel wird veranschaulicht, wie man einen 20-Tage-Bewegungsdurchschnitt mit der Formel-Methode berechnet. Moving-Average Filter von Traffic-Daten Dieses Beispiel zeigt, wie man Verkehrsflussdaten mit einem gleitenden Durchschnitt mit einem 4-Stunden-Schiebefenster gleicht. Die folgende Differenzgleichung beschreibt einen Filter, der die aktuelle Stunde und die drei vorherigen Datenstunden mittelt. Importieren Sie die Verkehrsdaten und ordnen Sie dem Vektor x die erste Spalte der Fahrzeugzählungen zu. Erstellen Sie die Filterkoeffizientenvektoren. Berechnen Sie den 4-stündigen gleitenden Durchschnitt der Daten und zeichnen Sie sowohl die ursprünglichen Daten als auch die gefilterten Daten auf. MATLAB und Simulink sind eingetragene Warenzeichen von The MathWorks, Inc. Bitte sehen Sie sich mathworkstrademarks für eine Liste anderer Marken an, die im Besitz von The MathWorks, Inc. sind. Andere Produkt - oder Markennamen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Eigentümer. Wählen Sie Ihr LandDie Wissenschaftler und Ingenieure Leitfaden 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 Gleichungsform ist dies geschrieben: Wo ist das Eingangssignal, ist das Ausgangssignal und M ist die Anzahl der Punkte im Mittelwert. Zum Beispiel ist bei einem 5-Punkt-Gleitendurchschnitt-Filter Punkt 80 im Ausgangssignal gegeben durch: Alternativ kann die Gruppe von Punkten aus dem Eingangssignal symmetrisch um den Ausgangspunkt gewählt werden: Dies entspricht der Änderung der Summierung in Gl . 15-1 von: j 0 bis M -1, bis: j - (M -1) 2 bis (M -1) 2. Zum Beispiel, in einem 10 Punkt gleitenden Durchschnitt Filter, der Index, j. Kann von 0 bis 11 laufen (einseitige Mittelung) oder -5 bis 5 (symmetrische Mittelung). Symmetrische Mittelung erfordert, dass M eine ungerade Zahl ist. Die Programmierung ist mit den Punkten nur auf einer Seite etwas leichter, was zu einer relativen Verschiebung zwischen den Eingangs - und Ausgangssignalen führt. Sie sollten erkennen, dass der gleitende Durchschnittsfilter eine Faltung mit einem sehr einfachen Filterkernel ist. Beispielsweise hat ein 5-Punkt-Filter den Filterkern: 82300, 0, 15, 15, 15, 15, 15, 0, 08230. Das heißt, das gleitende Mittelfilter ist eine Faltung des Eingangssignals mit einem rechteckigen Impuls mit einem Bereich von einem. Tabelle 15-1 zeigt ein Programm zur Implementierung des gleitenden Durchschnittsfilters.

No comments:

Post a Comment