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 Regression ist eine einfache und allgemeine Methode, um fehlende Daten auszufüllen, wenn Sie vollständige Daten haben, ist die Verwendung von linearen Regression. Sagen Sie haben 1000 Läufe von 5 in einer Reihe mit keiner fehlt. Richten Sie die 1000 x 1 Vektor y und 1000 x 4 Matrix X: Regression geben Ihnen 4 Zahlen ein b c d, die eine beste Übereinstimmung für Ihre 1000 Zeilen von Daten mdash unterschiedliche Daten geben, unterschiedlich ein b c d. Dann verwenden Sie diese ein b c d zu schätzen (voraussagen, interpolieren) fehlende wt0. (Für die menschlichen Gewichte, Id erwarten abcd um rund 14.) (Es gibt Zillionen von Bücher und Papiere auf Regression, auf allen Ebenen. Für die Verbindung mit Interpolation, aber ich weiß nicht, eine gute Einführung jedermann) Moving Average Filter Beschreibung Der MovingAverageFilter implementiert einen Tiefpass-Mittelwertfilter. Der MovingAverageFilter ist Teil der Preprocessing Module. Ein Beispiel für ein Signal (Sinus-Zufallsrauschen), das unter Verwendung eines gleitenden Durchschnittsfilters gefiltert wurde. Das rote Signal ist das ursprüngliche Signalrauschen, das grüne Signal das gefilterte Signal unter Verwendung eines gleitenden Durchschnittsfilters mit einer Fenstergröße von 5 und das blaue Signal das gefilterte Signal unter Verwendung eines gleitenden Durchschnittsfilters mit einer Fenstergröße von 20. MovingAverageFilterExampleImage1. Jpg Vorteile Der MovingAverageFilter eignet sich gut zum Entfernen einer kleinen Menge von hochfrequenten Rauschen aus einem N-dimensionalen Signal. Nachteile Der Hauptnachteil des MovingAverageFilters besteht darin, dass die Fenstergröße des Filters groß sein muss, um deutlich hochfrequentes Rauschen auszufiltern. Das Problem mit einem großen Filterfenster besteht darin, dass dies eine große Latenz in jedem Signal hervorruft, das durch den Filter hindurchgeht, was für Realzeitanwendungen nicht vorteilhaft sein kann. Wenn Sie feststellen, dass Sie ein großes Filterfenster benötigen, um hochfrequentes Rauschen zu filtern und die Latenz, die durch diese Fenstergröße induziert wird, nicht für Ihre Echtzeitanwendung geeignet ist, dann möchten Sie vielleicht einen Double Moving Average Filter oder einen Low Pass Filter ausprobieren stattdessen. Beispielcode GRT MovingAverageFilter Beispiel Dieses Beispiel zeigt, wie das GRT MovingAverageFilter PreProcessing Module erstellt und verwendet wird. Der MovingAverageFilter implementiert einen Tiefpass-Durchschnittsfilter. In diesem Beispiel erstellen wir eine Instanz eines MovingAverageFilters und verwenden diese, um einige Dummy-Daten zu filtern, die aus einem Sinuswellen-Zufallsrauschen erzeugt werden. Das Testsignal und die gefilterten Signale werden dann in einer Datei gespeichert (so können Sie die Ergebnisse in Matlab, Excel usw. notieren, falls erforderlich). Dieses Beispiel zeigt Ihnen, wie Sie: - Erstellen einer neuen MovingAverageFilter-Instanz mit einer bestimmten Fenstergröße für ein 1-dimensionales Signal - Filtern von Daten mit dem MovingAverageFilter - Speichern der MovingAverageFilter-Einstellungen in einer Datei - Laden der MovingAverageFilter-Einstellungen aus einer Datei includeGRT. hquot Mit Namensraum GRT int main 40 int argc. Const char argv 91 93 41 123 Erstellen einer neuen Instanz eines gleitenden Durchschnittsfilters mit einer Fenstergröße von 5 für ein 1-dimensionales Signal MovingAverageFilter-Filter 40 5. 1 41 Erstellen und öffnen Sie eine Datei, um die Datei für die Datenstromdatei zu speichern. Öffnen Sie 40 quotMovingAverageFilterData. txtquot. Fstream. Out 41 Erzeugen Sie einige Daten (Sinuswellenrauschen) und filtern Sie es doppelt x 0 const UINT M 1000 Random random für 40 UINT i 0 i lt M i 41 123 Doppelsignal sin 40 x 41 random. GetRandomNumberUniform 40 - 0,2. 0,2 41 DoppelfilterValue-Filter. Filter 40 Signal 41 Datei ltlt Signal ltlt t ltlt gefiltertValue ltlt endl x TWOPI double 40 M 41 10 125 Schließen Sie die Datei. Close 40 41 Speichern Sie die Filtereinstellungen in einem Dateifilter. SaveSettingsToFile 40 quotMovingAverageFilterSettings. txtquot 41 Wir können die Einstellungen später bei Bedarf wieder laden. LoadSettingsFromFile 40 quotMovingAverageFilterSettings. txtquot 41 return EXITSUCCESS 125 Der MovingAverageFilter arbeitet auch mit jedem N-dimensionalen Signal: Erstellen Sie eine neue Instanz des MovingAverageFilters mit einer Fenstergröße von 10 für ein dreidimensionales Signal MovingAverageFilter filter 40 10. 3 41 Der Wert, den Sie filtern möchten Vektor lt doppelte gt Daten 40 3 41 Daten 91 0 93 0. Wert aus Sensordaten abrufen 91 1 93 0. Wert aus Sensordaten abrufen 91 2 93 0. Get value from sensor Filtern Sie den Signalvektor lt double gt filteredValue Filter. Filter 40 Daten 41 Code amp Ressourcen
No comments:
Post a Comment