Rekursive Moving Average Filter Stierquote (0) 0 Stier 2 160160160160 Der gleitende Mittelwertfilter ist ein FIR - Filter der Länge N, wobei alle Hähne gleich (1N) gesetzt sind .160 Sein bekannt für die lausige Frequenztrennung, aber hervorragende Zeitreaktion - in Dieser Sinn, es aus-Bessels ein Bessel-Filter.160 Sie können es mit SigmaStudios FIR-Block implementieren, wie hier beschrieben: Je länger der Filter, desto mehr Glättung - aber der Standard-FIR-Filter-Algorithmus verwendet viele Anweisungen für riesige Filter, weil es Muss Koeffizienten für jeden Hahn multiplizieren.160 Dies ist eine Verschwendung, wenn alle Koeffizienten gleich sind.160 Wie Kapitel 15 von Steven W. Smiths Buch aussagt, können Sie einen gleitenden Durchschnittsfilter mit einer rekursiven Technik machen, die einen Hahn vor hat Und nach einer (N-1) Größenverzögerung.160 Ein solcher Filter erscheint unten als Teil einer Testschaltung mit Signalquelle und einem Bessel-Filter zum Vergleich: 160160160160 Koeffizienten werden am Eingang an den einzelnen Verstärkungsblock gezogen.160 Die Gegenwart Sample fügt der Ausgabe hinzu, wenn sie in die Verzögerung eintritt, die verzögerte Probe subtrahiert von der Ausgabe, wenn sie beendet wird.160 Der Addierer mit der Rückkopplung akkumuliert diese Additionen und Subtraktionen, um die Ausgabe zu bilden - das tut etwas, das in C trivial ist, aber ansonsten a ist Schmerzen in der GUI.160 Obwohl eine rekursive Technik verwendet wird, bleibt der Filter ein echter FIR-Filter - die Länge seiner Impulsantwort wird nur durch Ihre Verzögerung eingestellt. 160160160160 Meine Testeingabe ist eine Rechteckwelle mit zusätzlichem Rauschen.160 Gefilterte Ergebnisse erscheinen als obere Spur in beiden Fotos - Zuerst der gleitende Mittelwertfilter: Der Bessel-Filter: 160160160160 Der gleitende Mittelwertfilter ermöglicht mehr Rauschen, aber besser bewahrt es Quadratische Wellenform - es ist nicht um die Ecken herum, und die Auf - und Absteigungen sind symmetrisch (seine lineare Phase) .160 Das Hören der beiden Wellenformen mit Kopfhörern zeigt ein ähnliches Ergebnis - mehr Lärm mit dem gleitenden Durchschnittsfilter, aber das Merkmal Klang einer quadratischen Welle kommt durch. Exponential Filter Diese Seite beschreibt exponentielle Filterung, die einfachste und beliebteste Filter. Dies ist Teil des Bereichs Filterung, die Teil eines Leitfadens zur Fehlererkennung und Diagnose ist. Übersicht, Zeitkonstante und Analogäquivalent Der einfachste Filter ist der Exponentialfilter. Es hat nur einen Abstimmparameter (außer dem Stichprobenintervall). Es erfordert die Speicherung von nur einer Variablen - die vorherige Ausgabe. Es handelt sich um einen IIR (autoregressiven) Filter - die Effekte einer Eingangsänderung zerfallen exponentiell, bis die Grenzen von Displays oder Computerarithmetik es ausblenden. In verschiedenen Disziplinen wird die Verwendung dieses Filters auch als 8220exponentielle Glättung8221 bezeichnet. In einigen Disziplinen wie Investitionsanalyse wird der Exponentialfilter als 8220Exponentially Weighted Moving Average8221 (EWMA) oder nur 8220Exponential Moving Average8221 (EMA) bezeichnet. Dies missbraucht die traditionelle ARMA 8220moving average8221 Terminologie der Zeitreihenanalyse, da es keine Eingangshistorie gibt, die verwendet wird - nur die aktuelle Eingabe. Es ist die diskrete Zeitäquivalent der 8220 ersten Ordnung lag8221, die üblicherweise in der analogen Modellierung von Dauerregelungssystemen verwendet wird. In elektrischen Schaltungen 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 Einzelabstimmungsparameter die 8220time constant8221, die gewöhnlich als Kleinbuchstabe Griechischer Buchstabe Tau () geschrieben wird. 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 ist in den nachstehenden Gleichungen dargestellt. Exponentielle Filtergleichungen und Initialisierung Das Exponentialfilter ist eine gewichtete Kombination der vorherigen Schätzung (Ausgabe) mit den neuesten Eingangsdaten, wobei die Summe der Gewichte 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 Rohaufnahme zum Zeitpunkt Schritt 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 8220smoothing constant8221 genannt. Bei Systemen mit einem festen Zeitschritt T zwischen den Samples wird die Konstante 8220a8221 nur dann vereinfacht und gespeichert, wenn der Applikationsentwickler einen neuen Wert der gewünschten Zeitkonstante angibt. Bei Systemen mit Datenabtastung in unregelmäßigen Abständen muss bei jedem Zeitschritt die Exponentialfunktion oben verwendet werden, wobei T die Zeit seit dem vorherigen Sample ist. Der Filterausgang wird in der Regel initialisiert, um dem ersten Eingang zu entsprechen. Wenn sich die Zeitkonstante 0 nähert, geht a auf Null, so dass keine Filterung 8211 vorhanden ist, so ist die Ausgabe gleich der neuen Eingabe. Da die Zeitkonstante sehr groß wird, nähert sich 1 1, so dass neue Eingabe fast ignoriert wird 8211 sehr schwere Filterung. Die obige Filtergleichung kann in das folgende Prädiktor-Korrektor-Äquivalent umgeordnet werden: Diese Form macht es deutlicher, dass die variable Schätzung (Ausgabe des Filters) als unverändert von der vorherigen Schätzung y (k-1) plus einem Korrekturterm auf der Grundlage vorhergesagt 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. Was 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, seine Antwort über die Zeit auf eine Stufeneingabe zu zeichnen. Das heißt, beginnend mit dem Filtereingang und - ausgang bei 0 wird der Eingabewert plötzlich auf 1 geändert. Die daraus resultierenden Werte sind unten aufgetragen: In der obigen Kurve wird die Zeit durch die Filterzeitkonstante Tau geteilt, so dass Sie leichter vorhersagen können 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. Die Ausgänge nach mal gleich 3,4 und 5 Zeitkonstanten sind 95,02, 98,17 bzw. 99,33 des Endwertes. Da der Filter linear ist, bedeutet dies, dass diese Prozentsätze für jede Größe der Stufenänderung verwendet werden können, nicht nur für den hier verwendeten Wert von 1. Obwohl die Stufenreaktion in der Theorie eine unendliche Zeit hat, von einem praktischen Standpunkt aus, denken Sie an den exponentiellen Filter als 98 bis 99 8220done8221, der nach einer Zeit gleich 4 bis 5 Filterzeitkonstanten reagiert. Variationen des Exponentialfilters Es gibt eine Variation des Exponentialfilters, der so genannte 8220nonlineare Exponentialfilter8221 Weber, 1980. beabsichtigt, das Rauschen innerhalb einer bestimmten Amplitude von 8220 typischen8221 stark zu filtern, aber dann schneller auf größere Veränderungen zu reagieren. Copyright 2010 - 2013, Greg Stanley Teilen Sie diese Seite: Moving Average Filter (MA Filter) Loading. Der gleitende Durchschnittsfilter ist ein einfacher Low Pass FIR (Finite Impulse Response) Filter, der üblicherweise zum Glätten eines Arrays von abgetastetem Datensignal verwendet wird. Es nimmt M Abtastwerte der Eingabe zu einer Zeit und nehmen den Durchschnitt dieser M-Samples und erzeugt einen einzelnen Ausgangspunkt. Es ist eine sehr einfache LPF (Low Pass Filter) Struktur, die für Wissenschaftler und Ingenieure praktisch ist, um unerwünschte geräuschvolle Komponenten aus den beabsichtigten Daten zu filtern. Wenn die Filterlänge zunimmt (der Parameter M), erhöht sich die Glätte des Ausgangs, während die scharfen Übergänge in den Daten zunehmend stumpf werden. Dies impliziert, dass dieser Filter eine ausgezeichnete Zeitbereichsantwort hat, aber eine schlechte Frequenzantwort. Der MA-Filter führt drei wichtige Funktionen aus: 1) Es nimmt M Eingangspunkte, berechnet den Mittelwert dieser M-Punkte und erzeugt einen einzelnen Ausgangspunkt 2) Aufgrund der Berechnungsberechnungen. Der Filter führt eine bestimmte Verzögerung ein 3) Der Filter fungiert als Tiefpassfilter (mit schlechter Frequenzbereichsantwort und einer guten Zeitbereichsantwort). Matlab-Code: Nach dem Matlab-Code simuliert die Zeitbereichsantwort eines M-Punkt-Moving Average-Filters und zeichnet auch den Frequenzgang für verschiedene Filterlängen auf. Zeit Domain Response: Auf dem ersten Plot haben wir die Eingabe, die in den gleitenden Mittelfilter geht. Der Eingang ist laut und unser Ziel ist es, den Lärm zu reduzieren. Die nächste Abbildung ist die Ausgangsreaktion eines 3-Punkt-Moving Average-Filters. Es kann aus der Figur abgeleitet werden, dass der 3-Punkt-Moving Average-Filter nicht viel beim Ausfiltern des Rauschens getan hat. Wir erhöhen die Filterhähne auf 51 Punkte und wir können sehen, dass das Rauschen in der Ausgabe viel reduziert hat, was in der nächsten Abbildung dargestellt ist. Wir erhöhen die Hähne weiter auf 101 und 501 und wir können beobachten, dass - obwohl das Rauschen fast null ist, die Übergänge drastisch abgestumpft werden (beobachten Sie die Steigung auf beiden Seiten des Signals und vergleichen Sie sie mit dem idealen Ziegelwandübergang in Unsere Eingabe). Frequenzgang: Aus dem Frequenzgang kann behauptet werden, dass der Roll-off sehr langsam ist und die Stoppbanddämpfung nicht gut ist. Angesichts dieser Stoppbanddämpfung kann eindeutig der gleitende Durchschnittsfilter kein Frequenzband von einem anderen trennen. Da wir wissen, dass eine gute Leistung im Zeitbereich zu schlechter Leistung im Frequenzbereich führt und umgekehrt. Kurz gesagt, der gleitende Durchschnitt ist ein außergewöhnlich guter Glättungsfilter (die Aktion im Zeitbereich), aber ein außergewöhnlich schlechtes Tiefpassfilter (die Aktion im Frequenzbereich) Externe Links: Empfohlene Bücher: Primäre SidebarDokumentation Beschreibung gd, w grpdelay (B, a) gibt die Gruppenverzögerungsantwort zurück, gd. Des durch die Eingangsvektoren, b und a spezifizierten diskreten Zeitfilters. Die Eingangsvektoren sind die Koeffizienten für den Zähler, b. Und Nenner, a. Polynome in z -1 Die Z-Transformation des diskreten Zeitfilters ist H (z) B (z) A (z) x2211 l 0 N x2212 1 b (n 1) z x2212 l x 2211 l 0 M x 2212 1 a (l 1) z x 2212 L. Die Filtergruppen-Verzögerungsantwort wird bei 512 gleich beabstandeten Punkten im Intervall 0, 960) am Einheitskreis ausgewertet. Die Auswertungspunkte auf dem Einheitskreis werden in w zurückgegeben. Gd, w grpdelay (b, a, n) gibt die Gruppenverzögerungsantwort des diskreten Zeitfilters zurück, die bei n gleich beabstandeten Punkten auf dem Einheitskreis im Intervall 0, 960 ausgewertet werden. N ist eine positive ganze Zahl. Für beste Ergebnisse setzen Sie auf einen Wert, der größer ist als die Filterreihenfolge. Gd, w grpdelay (sos, n) gibt die Gruppenverzögerungsantwort für die zweite Matrix der zweiten Ordnung zurück, sos. Sos ist eine K - by-6-Matrix, wobei die Anzahl der Abschnitte K. Muss größer oder gleich 2 sein. Wenn die Anzahl der Abschnitte kleiner als 2 ist, betrachtet grpdelay die Eingabe als Zählervektor, b. Jede Reihe von SOS entspricht den Koeffizienten eines zweiten (Biquad) Filters. Die i-te Zeile der SOS-Matrix entspricht bi (1) bi (2) bi (3) ai (1) ai (2) ai (3). Gd, w grpdelay (d, n) gibt die Gruppenverzögerungsantwort für den digitalen Filter zurück, d. Verwenden Sie designfilt, um d basierend auf Frequenz-Response-Spezifikationen zu erzeugen. Gd, f grpdelay (.n, fs) gibt eine positive Abtastfrequenz fs in hertz an. Es gibt einen Längenvektor, f. Wobei die Frequenzpunkte in Hertz enthalten sind, bei denen die Gruppenverzögerungsantwort ausgewertet wird. F enthält n Punkte zwischen 0 und fs2. Gd, w grpdelay (. N, ganz) und gd, f grpdelay (.n, ganz, fs) n n-Punkte um den ganzen Einheitskreis (von 0 bis 2 960 oder von 0 bis fs). Gd grpdelay (.w) und gd grpdelay (. F, fs) die bei den Winkelfrequenzen in w (in radianssample) bzw. in f (in Zykluseinheitszeit) ausgewertete Gruppenverzögerungsantwort zurück, wobei fs die Abtastfrequenz ist. W und f sind Vektoren mit mindestens zwei Elementen. Grpdelay (.) Ohne Ausgabeargumente zeichnet die Gruppenverzögerungsantwort gegenüber der Frequenz auf. Grpdelay arbeitet sowohl für reale als auch für komplexe Filter. Anmerkung: Wenn die Eingabe zu grpdelay eine Einzelgenauigkeit ist, wird die Gruppenverzögerung mit einer Präzisions-Arithmetik berechnet. Die Ausgabe, gd. Ist eine einfache Präzision. Wähle dein Land
No comments:
Post a Comment