Saturday 11 November 2017

Gewichteter Gleitender Mittelwertfilter


Exponentialfilter Diese Seite beschreibt die exponentielle Filterung, den einfachsten und beliebtesten Filter. Dies ist Teil des Abschnitts Filterung, der Teil eines Leitfadens zur Fehlererkennung und - diagnose ist. Überblick, Zeitkonstante und Analogäquivalent Der einfachste Filter ist der Exponentialfilter. Es hat nur einen Abstimmungsparameter (außer dem Probenintervall). Es erfordert die Speicherung nur einer Variablen - der vorherigen Ausgabe. Es ist ein IIR (autoregressive) Filter - die Auswirkungen einer Eingangsveränderung Zerfall exponentiell, bis die Grenzen der Displays oder Computer Arithmetik verstecken. In verschiedenen Disziplinen wird die Verwendung dieses Filters auch als 8220exponentielle Glättung8221 bezeichnet. In einigen Disziplinen wie der Investitionsanalyse wird der exponentielle Filter als 8220Exponential Weighted Moving Average8221 (EWMA) oder nur 8220Exponential Moving Average8221 (EMA) bezeichnet. Dies missbräuchlich die traditionelle ARMA 8220moving average8221 Terminologie der Zeitreihenanalyse, da es keinen Eingabehistorie gibt, der verwendet wird - nur die aktuelle Eingabe. Es ist das diskrete Zeit-Äquivalent der 8220 erster Ordnung lag8221, die üblicherweise in der analogen Modellierung von kontinuierlichen Zeitsteuerungssystemen verwendet wird. In elektrischen Schaltkreisen ist ein RC-Filter (Filter mit einem Widerstand und einem Kondensator) eine Verzögerung erster Ordnung. Bei der Betonung der Analogie zu analogen Schaltungen, ist der einzige Tuning-Parameter die 8220time constant8221, in der Regel als klein geschriebenen griechischen Buchstaben Tau () geschrieben. Tatsächlich entsprechen die Werte bei den diskreten Abtastzeiten genau der äquivalenten kontinuierlichen Zeitverzögerung mit der gleichen Zeitkonstante. Die Beziehung zwischen der digitalen Implementierung und der Zeitkonstante wird in den folgenden Gleichungen gezeigt. Exponentielle Filtergleichungen und Initialisierung Das Exponentialfilter ist eine gewichtete Kombination der vorherigen Schätzung (Ausgabe) mit den neuesten Eingangsdaten, wobei die Summe der Gewichtungen gleich 1 ist, so dass die Ausgabe mit dem Eingang im stationären Zustand übereinstimmt. Nach der bereits eingeführten Filternotation ist y (k) ay (k - 1) (1 - a) x (k) wobei x (k) die Roheingabe zum Zeitschritt ky (k) die gefilterte Ausgabe zum Zeitschritt ka ist Ist eine Konstante zwischen 0 und 1, normalerweise zwischen 0,8 und 0,99. (A-1) oder a wird manchmal die 8220-Glättungskonstante8221 genannt. Für Systeme mit einem festen Zeitschritt T zwischen Abtastwerten wird die Konstante 8220a8221 nur dann berechnet und gespeichert, wenn der Anwendungsentwickler einen neuen Wert der gewünschten Zeitkonstante angibt. Bei Systemen mit Datenabtastung in unregelmäßigen Abständen muss bei jedem Zeitschritt die exponentielle Funktion verwendet werden, wobei T die Zeit seit dem vorhergehenden Abtastwert ist. Der Filterausgang wird normalerweise initialisiert, um dem ersten Eingang zu entsprechen. Wenn die Zeitkonstante 0 nähert, geht a auf Null, so dass keine Filterung 8211 der Ausgang dem neuen Eingang entspricht. Da die Zeitkonstante sehr groß wird, werden Ansätze 1, so dass neue Eingabe fast ignoriert wird 8211 sehr starkes Filtern. Die obige Filtergleichung kann in folgendes Vorhersagekorrektor-Äquivalent umgeordnet werden: Diese Form macht deutlich, dass die variable Schätzung (Ausgabe des Filters) unverändert von der vorherigen Schätzung y (k-1) plus einem Korrekturterm basiert wird Auf die unerwartete 8220innovation8221 - die Differenz zwischen dem neuen Eingang x (k) und der Vorhersage y (k-1). Diese Form ist auch das Ergebnis der Ableitung des Exponentialfilters als einfacher Spezialfall eines Kalman-Filters. Die die optimale Lösung für ein Schätzproblem mit einem bestimmten Satz von Annahmen ist. Schrittantwort Eine Möglichkeit, den Betrieb des Exponentialfilters zu visualisieren, besteht darin, sein Ansprechen über die Zeit auf eine Stufeneingabe aufzuzeichnen. Das heißt, beginnend mit dem Filtereingang und dem Ausgang bei 0 wird der Eingangswert plötzlich auf 1 geändert. Die resultierenden Werte sind nachstehend aufgetragen: In dem obigen Diagramm wird die Zeit durch die Filterzeitkonstante tau geteilt, so daß man leichter prognostizieren kann Die Ergebnisse für einen beliebigen Zeitraum, für jeden Wert der Filterzeitkonstante. Nach einer Zeit gleich der Zeitkonstante steigt der Filterausgang auf 63,21 seines Endwertes an. Nach einer Zeit gleich 2 Zeitkonstanten steigt der Wert auf 86,47 seines Endwertes an. Die Ausgänge nach Zeiten gleich 3,4 und 5 Zeitkonstanten betragen jeweils 95,02, 98,17 bzw. 99,33 des Endwerts. Da der Filter linear ist, bedeutet dies, dass diese Prozentsätze für jede Größenordnung der Schrittänderung verwendet werden können, nicht nur für den hier verwendeten Wert 1. Obwohl die Stufenantwort in der Theorie aus praktischer Sicht eine unendliche Zeit in Anspruch nimmt, sollte man an den exponentiellen Filter 98 bis 99 8220done8221 denken, der nach einer Zeit gleich 4 bis 5 Filterzeitkonstanten reagiert. Variationen des Exponentialfilters Es gibt eine Variation des exponentiellen Filters mit dem Namen 8220nonlinearem exponentiellem Filter8221 Weber, 1980. Es soll starkes Rauschen innerhalb einer bestimmten 8220typical8221 Amplitude filtern, aber dann schneller auf größere Änderungen reagieren. Copyright 2010 - 2013, Greg Stanley Teilen Sie diese Seite: Dokumentation Dieses Beispiel zeigt, wie Sie gleitende durchschnittliche Filter und Resampling verwenden, um die Auswirkungen von periodischen Komponenten der Tageszeit auf stündliche Temperaturablesungen zu isolieren sowie unerwünschte Leitungsgeräusche von einem offenen zu entfernen - Lochspannungsmessung. Das Beispiel zeigt auch, wie die Pegel eines Taktsignals zu glätten sind, während die Kanten durch Verwendung eines Medianfilters bewahrt werden. Das Beispiel zeigt auch, wie ein Hampel-Filter verwendet wird, um große Ausreißer zu entfernen. Motivation Glättung ist, wie wir wichtige Muster in unseren Daten zu entdecken, während Sie Dinge, die unwichtig sind (d. H. Rauschen). Wir verwenden Filter, um diese Glättung durchzuführen. Das Ziel der Glättung ist es, langsame Änderungen im Wert zu produzieren, so dass seine einfacher zu sehen, Trends in unseren Daten. Manchmal, wenn Sie Eingangsdaten untersuchen, können Sie die Daten glatt machen, um einen Trend im Signal zu sehen. In unserem Beispiel haben wir eine Reihe von Temperaturmessungen in Celsius genommen jede Stunde am Logan Flughafen für den gesamten Monat Januar 2011. Beachten Sie, dass wir visuell sehen können, die Wirkung, die die Tageszeit auf die Temperaturwerte hat. Wenn Sie sich nur für die tägliche Temperaturschwankung im Laufe des Monats interessieren, tragen die stündlichen Fluktuationen nur zu Lärm bei, was die täglichen Variationen schwer unterscheiden kann. Um den Effekt der Tageszeit zu entfernen, möchten wir nun unsere Daten mit einem gleitenden Mittelfilter glätten. Ein Moving Average Filter In seiner einfachsten Form nimmt ein gleitender Durchschnittsfilter der Länge N den Durchschnitt jeder N aufeinanderfolgenden Samples der Wellenform an. Um einen gleitenden Mittelwertfilter auf jeden Datenpunkt anzuwenden, konstruieren wir unsere Koeffizienten unseres Filters, so daß jeder Punkt gleich gewichtet ist und 124 zum Gesamtdurchschnitt beiträgt. Dies gibt uns die durchschnittliche Temperatur über jeden Zeitraum von 24 Stunden. Filterverzögerung Beachten Sie, dass der gefilterte Ausgang um etwa zwölf Stunden verzögert wird. Dies ist auf die Tatsache zurückzuführen, dass unser gleitender Durchschnittsfilter eine Verzögerung hat. Jedes symmetrische Filter der Länge N hat eine Verzögerung von (N-1) 2 Abtastungen. Wir können diese Verzögerung manuell berücksichtigen. Extrahieren von Durchschnittsdifferenzen Alternativ können wir auch das gleitende Mittelfilter verwenden, um eine bessere Schätzung zu erhalten, wie die Tageszeit die Gesamttemperatur beeinflusst. Dazu werden zuerst die geglätteten Daten von den stündlichen Temperaturmessungen subtrahiert. Dann segmentieren Sie die differenzierten Daten in Tage und nehmen Sie den Durchschnitt über alle 31 Tage im Monat. Extrahieren von Peak Envelope Manchmal möchten wir auch eine glatt variierende Schätzung haben, wie sich die Höhen und Tiefen unseres Temperatursignals täglich ändern. Um dies zu erreichen, können wir die Hüllkurvenfunktion verwenden, um extreme Höhen und Tiefen zu verbinden, die über eine Untermenge der 24-Stundenperiode erkannt werden. In diesem Beispiel stellen wir sicher, dass es mindestens 16 Stunden zwischen jedem extrem hohen und extrem niedrigen Niveau gibt. Wir können auch ein Gefühl dafür, wie die Höhen und Tiefen sind Trends, indem sie den Durchschnitt zwischen den beiden Extremen. Weighted Moving Average Filter Andere Arten von Moving Average Filtern gewichten nicht jede Probe gleichermaßen. Ein weiteres gemeinsames Filter folgt der Binomialexpansion von (12,12) n Dieser Filtertyp approximiert eine Normalkurve für große Werte von n. Es ist nützlich zum Herausfiltern von Hochfrequenzrauschen für kleine n. Um die Koeffizienten für das Binomialfilter zu finden, falten Sie 12 12 mit sich selbst und konvergieren dann iterativ den Ausgang mit 12 12 eine vorgeschriebene Anzahl von Malen. Verwenden Sie in diesem Beispiel fünf Gesamt-Iterationen. Ein anderer Filter, der dem Gaußschen Expansionsfilter ähnlich ist, ist der exponentiell gleitende Durchschnittsfilter. Diese Art des gewichteten gleitenden Durchschnittsfilters ist einfach zu konstruieren und erfordert keine große Fenstergröße. Sie passen einen exponentiell gewichteten gleitenden Durchschnittsfilter durch einen Alpha-Parameter zwischen null und eins an. Ein höherer Wert von Alpha wird weniger Glättung haben. Untersuche die Messwerte für einen Tag. Wählen Sie Ihre CountryIm nicht suren der richtigen Lösung aber seit dem Summieren der Durchschnitt jeder Probe würde eine angemessene Menge von Rundungsfehler führen. Hmm Ich frage mich, wenn die Trennung der gebrochenen Teil aus dem ganzen Teil helfen würde. Teilen Sie den ganzen Teil jeder Zahl durch den Zähler. Halten Sie drei laufende Summen: 1) der Durchschnitt der ganzen Teile, 2) der Rest von jeder Division und 3) der Bruchteil einer jeden Zahl. Jedes Mal, wenn der ganze Teil einer Zahl geteilt wird, wird das gesamte Teilergebnis zu der durchschnittlichen laufenden Summe addiert, und der Rest wird zu der verbleibenden laufenden Summe addiert. Wenn die verbleibende laufende Summe einen Wert größer oder gleich dem Zählwert erhält, wird sein dividiert durch die Zählung mit dem gesamten Teilergebnis zu der durchschnittlichen laufenden Summe addiert, und der Rest wird zu der restlichen laufenden Summe addiert. Auch wird bei jeder Berechnung der Bruchteil zur Bruchlaufsumme addiert. Wenn die Mittelung beendet ist, wird die verbleibende laufende Summe durch die Zählung geteilt, und das Ergebnis wird der durchschnittlichen laufenden Summe als eine fließende Zahl hinzugefügt. Zum Beispiel: Nun, was mit der fraktionalen laufenden Summe zu tun. Die Gefahr des Überlaufs ist hier viel weniger wahrscheinlich, obwohl es noch möglich ist, so dass man damit umgehen würde, wäre es, die gebrochene laufende Summe durch den Zähler am Ende aufzuteilen und es zu unserem Ergebnis hinzuzufügen: Eine Alternative wäre, den fraktionalen Betrieb zu überprüfen Summe bei jeder Berechnung, um zu sehen, ob sie größer oder gleich count ist. Wenn das passiert, tun Sie einfach das Gleiche, was wir mit der restlichen Summe machen. Excellent Jomit Vaghela 6-Mar-07 21:00 Ich mochte, was Sie gesagt haben kleine Jobs schnell zu großen Arbeitsplätzen. Denken an Optimierung während Codierung ist eine gute Praxis. Große Anstrengung und Erklärung,

No comments:

Post a Comment