Saturday 21 October 2017

Moving Average Filter Cutoff


Frequenzgang des laufenden Mittelfilters Der Frequenzgang eines LTI-Systems ist der DTFT der Impulsantwort, Die Impulsantwort eines L-Sample-Gleitdurchschnitts ist Da der gleitende Mittelwertfilter FIR ist, reduziert sich der Frequenzgang auf die endliche Summe Wir Kann die sehr nützliche Identität verwenden, um den Frequenzgang zu schreiben, wo wir ae minus jomega gelassen haben. 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 und die abgeschwächt werden. Unten ist eine Darstellung 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. Beachten Sie, dass in allen drei Fällen der Frequenzgang eine Tiefpasscharakteristik aufweist. Eine konstante Komponente (Nullfrequenz) im Eingang geht durch den Filter ungedämpft. Bestimmte höhere Frequenzen wie pi 2 werden durch den Filter vollständig eliminiert. Allerdings, wenn die Absicht war, einen Tiefpassfilter zu entwerfen, dann haben wir nicht sehr gut gemacht. Einige der höheren Frequenzen werden nur um einen Faktor von etwa 110 (für den 16 Punkt gleitenden Durchschnitt) oder 13 (für den vier Punkt gleitenden Durchschnitt) gedämpft. Wir können viel besser machen. Die obige Auftragung wurde durch den folgenden Matlab-Code erstellt: Omega 0: pi400: pi H4 (14) (1-exp (-iomega4)) (1-exp (-iomega)) H8 (18) (1-exp (- (1-exp (-iomega)) (1-exp (-iomega)) (1-exp (-iomega)) (1-exp (-iomega)) (1-exp (-Iomega) H16)) Achse (0, pi, 0, 1) Copyright Kopie 2000- - Universität von Kalifornien, BerkeleyEin einfach zu bedienender Digitalfilter Der exponentielle gleitende Durchschnitt (EMA) ist eine Art von unendlichen Impulsantwort (IIR) In vielen eingebetteten DSP-Anwendungen eingesetzt werden. Es erfordert nur eine geringe Menge an RAM und Rechenleistung. Was ist ein Filter Filter kommen sowohl in analoge und digitale Formen und existieren, um bestimmte Frequenzen aus einem Signal zu entfernen. Ein gemeinsamer analoger Filter ist der unten gezeigte Tiefpass-RC-Filter. Analoge Filter zeichnen sich durch ihren Frequenzgang aus, wie viel die Frequenzen gedämpft sind (Größenreaktion) und verschoben (Phasenreaktion). Der Frequenzgang kann mit einer Laplace-Transformation analysiert werden, die eine Übertragungsfunktion in der S-Domäne definiert. Für die obige Schaltung ist die Übertragungsfunktion gegeben durch: Für R entspricht ein Kilo-Ohm und C gleich einem Mikrofarad, die Größenreaktion ist unten gezeigt. Beachten Sie, dass die x-Achse logarithmisch ist (jedes Häkchen ist 10 mal größer als das letzte). Die y-Achse ist in Dezibel (was eine logarithmische Funktion des Ausgangs ist). Die Cutoff-Frequenz für diesen Filter beträgt 1000 rad oder 160 Hz. Dies ist der Punkt, an dem weniger als die Hälfte der Leistung bei einer gegebenen Frequenz vom Eingang zum Ausgang des Filters übertragen wird. Analoge Filter müssen in eingebetteten Designs verwendet werden, wenn ein Signal mit einem Analog-Digital-Wandler (ADC) abgetastet wird. Der ADC erfasst nur Frequenzen, die bis zur Hälfte der Abtastfrequenz liegen. Wenn zum Beispiel der ADC 320 Abtastungen pro Sekunde erfaßt, wird der Filter oberhalb (mit einer Grenzfrequenz von 160 Hz) zwischen dem Signal und dem ADC-Eingang angeordnet, um ein Aliasing zu verhindern (was ein Phänomen ist, bei dem höhere Frequenzen im abgetasteten Signal erscheinen Niedrigere Frequenzen). Digitale Filter Digitale Filter dämpfen Frequenzen in der Software und nicht mit analogen Komponenten. Ihre Implementierung umfasst das Abtasten der analogen Signale mit einem ADC, wobei dann ein Softwarealgorithmus angewendet wird. Zwei gängige Designansätze zur digitalen Filterung sind FIR-Filter und IIR-Filter. FIR Filter Finite Impulse Response (FIR) Filter verwenden eine endliche Anzahl von Samples, um die Ausgabe zu erzeugen. Ein einfacher gleitender Durchschnitt ist ein Beispiel für einen Tiefpass-FIR-Filter. Höhere Frequenzen werden abgeschwächt, weil die Mittelung das Signal glättet. Der Filter ist endlich, weil der Ausgang des Filters durch eine endliche Anzahl von Eingangsmustern bestimmt wird. Als Beispiel addiert ein 12-fach gleitender Durchschnittsfilter die 12 letzten Abtastwerte, dividiert dann um 12. Der Ausgang der IIR-Filter wird durch (bis zu) eine unendliche Anzahl von Eingangsabtastungen bestimmt. IIR Filter Infinite Impulse Response (IIR) Filter sind eine Art von Digital-Filter, wo die Ausgabe ist inifintely in Theorie ohnehin beeinflusst durch eine Eingabe. Der exponentielle gleitende Durchschnitt ist ein Beispiel für einen Tiefpass-IIR-Filter. Exponentieller Moving Average Filter Ein exponentieller gleitender Durchschnitt (EMA) wendet für jede Probe exponentielle Gewichte an, um einen Durchschnitt zu berechnen. Obwohl dies kompliziert erscheint, ist die Gleichung, die in der digitalen Filterung parlance als die Differenzgleichung zur Berechnung der Ausgabe bekannt ist, einfach. In der folgenden Gleichung ist y die Ausgabe x ist die Eingabe und Alpha ist eine Konstante, die die Cutoff-Frequenz setzt. Um zu analysieren, wie sich dieser Filter auf die Frequenz des Outputs auswirkt, wird die Z-Domain-Übertragungsfunktion verwendet. Die Größenreaktion ist unten für alpha gleich 0,5 dargestellt. Die y-Achse ist wiederum in Dezibel dargestellt. Die x-Achse ist logarithmisch von 0,001 bis pi. Die realen Welt-Frequenz-Karten zur x-Achse mit Null ist die Gleichspannung und pi gleich der Hälfte der Abtastfrequenz. Jegliche Frequenzen, die größer als die Hälfte der Abtastfrequenz sind, wird aliased. Wie bereits erwähnt, kann ein analoger Filter sicherstellen, dass praktisch alle Frequenzen im digitalen Signal unterhalb der halben Abtastfrequenz liegen. Der EMA-Filter ist aus eingebetteten Designs aus zwei Gründen vorteilhaft. Zuerst ist es einfach, die Cutoff-Frequenz einzustellen. Eine Verringerung des Wertes von alpha verringert die Grenzfrequenz des Filters, wie durch Vergleich des obigen Alpha-0,5-Plots mit dem darunter liegenden Diagramm dargestellt, wobei alpha 0,1. Zweitens ist die EMA einfach zu kodieren und erfordert nur eine geringe Menge an Rechenleistung und Speicher. Die Code-Implementierung des Filters verwendet die Differenzgleichung. Es gibt zwei Multiplikationsoperationen und eine Additionsoperation für jede Ausgabe, die die Operationen ignoriert, die zum Abrunden von Festpunktmathematik erforderlich sind. Nur das aktuellste Sample muss im RAM gespeichert sein. Dies ist wesentlich geringer als die Verwendung eines einfachen gleitenden Durchschnittsfilters mit N Punkten, die N Multiplikations - und Additionsoperationen sowie N Abtastwerte erfordert, die im RAM gespeichert werden sollen. Der folgende Code implementiert den EMA-Filter mit 32-Bit-Fixpunkt-Mathematik. Der untenstehende Code ist ein Beispiel für die Verwendung der obigen Funktion. Fazit Filter, sowohl analog als auch digital, sind ein wesentlicher Bestandteil von Embedded Designs. Sie erlauben es Entwicklern, unerwünschte Frequenzen bei der Analyse der Sensoreingabe loszuwerden. Damit digitale Filter sinnvoll sind, müssen analoge Filter alle Frequenzen über die Hälfte der Abtastfrequenz entfernen. Digitale IIR-Filter können leistungsstarke Werkzeuge im eingebetteten Design sein, in denen Ressourcen begrenzt sind. Der exponentielle gleitende Durchschnitt (EMA) ist ein Beispiel für einen solchen Filter, der in eingebetteten Designs aufgrund der geringen Speicher - und Rechenleistungsanforderungen gut funktioniert. Ich muss einen gleitenden Durchschnittsfilter mit einer Grenzfrequenz von 7,8 Hz entwerfen. Ich habe gleitende durchschnittliche Filter vor, aber so weit wie Im bewusst, der einzige Parameter, der eingezogen werden kann, ist die Anzahl der Punkte gemittelt werden. Wie kann sich das auf eine Grenzfrequenz beziehen. Die Umkehrung von 7,8 Hz beträgt 130 ms und arbeitet mit Daten, die bei 1000 Hz abgetastet werden. Bedeutet dies, dass ich sollte eine gleitende durchschnittliche Filter-Fenster Größe von 130 Proben, oder gibt es etwas anderes, dass ich hier fehlt gefragt Juli 18 13 um 9:52 Der gleitende durchschnittliche Filter ist der Filter in der Zeitzone zu entfernen verwendet Das Rauschen hinzugefügt und auch für die Glättung Zweck, aber wenn Sie den gleichen gleitenden Durchschnitt Filter im Frequenzbereich für Frequenz Trennung dann Leistung wird am schlimmsten sein. So in diesem Fall verwenden Frequenzbereich Filter ndash user19373 Feb 16 16 at 5:53 Der gleitende durchschnittliche Filter (manchmal umgangssprachlich als Boxcar Filter) hat eine rechteckige Impulsantwort: Oder anders gesagt: Denken Sie daran, dass eine diskrete Zeit-System Frequenzgang Ist gleich der diskreten Zeit-Fourier-Transformation seiner Impulsantwort, wir können es wie folgt berechnen: Was am meisten interessiert war für Ihren Fall ist die Größenreaktion des Filters, H (Omega). Mit einem paar einfachen Manipulationen können wir das in einer leichter zu verstehenden Form bekommen: Das kann nicht leichter verstehen. Allerdings wegen Eulers Identität. Erinnere dich daran: Deshalb können wir das obige schreiben: Wie ich schon sagte, was du wirklich besorgt hast, ist die Größe des Frequenzganges. So können wir die Größenordnung der oben genannten nehmen, um es weiter zu vereinfachen: Anmerkung: Wir sind in der Lage, die exponentiellen Begriffe auszuschließen, weil sie nicht die Größe des Ergebnisses e 1 für alle Werte von Omega beeinflussen. Da xy xy für irgendwelche zwei endlichen komplexen Zahlen x und y ist, können wir schließen, dass das Vorhandensein der exponentiellen Terme die Gesamtgrößenreaktion nicht beeinflussen (stattdessen beeinflussen sie die Systemphasenreaktion). Die resultierende Funktion innerhalb der Größenklammern ist eine Form eines Dirichlet-Kernels. Es wird manchmal eine periodische Sinc-Funktion genannt, weil es der Sinc-Funktion etwas im Aussehen ähnelt, aber stattdessen periodisch ist. Wie auch immer, da die Definition der Cutoff-Frequenz etwas unterdimensioniert ist (-3 dB Punkt -6 dB Punkt erste Sidelobe null), können Sie die obige Gleichung verwenden, um zu lösen, was auch immer Sie brauchen. Im Einzelnen können Sie folgendes tun: Stellen Sie H (Omega) auf den Wert ein, der der Filterantwort entspricht, die Sie bei der Cutoff-Frequenz wünschen. Setzen Sie Omega gleich der Cutoff-Frequenz. Um eine kontinuierliche Frequenz auf die diskrete Zeit-Domain zuzuordnen, denken Sie daran, dass Omega 2pi frac, wo fs ist Ihre Sample-Rate. Finden Sie den Wert von N, der Ihnen die beste Übereinstimmung zwischen der linken und rechten Seite der Gleichung gibt. Das sollte die Länge deines gleitenden Durchschnitts sein. Wenn N die Länge des gleitenden Durchschnitts ist, dann ist eine ungefähre Grenzfrequenz F (gültig für N gt 2) in normalisierter Frequenz Fffs: Die Umkehrung dieser ist Diese Formel ist asymptotisch korrekt für großes N und hat etwa 2 Fehler Für N2 und weniger als 0,5 für N4. P. S. Nach zwei Jahren, hier endlich was war der Ansatz verfolgt. Das Ergebnis beruhte auf der Annäherung des MA-Amplitudenspektrums um f0 als Parabel (2. Ordnung Serie) nach MA (Omega) ca. 1 (frac-arc) Omega2, die genauer in der Nähe des Nulldurchgangs von MA (Omega) - Frac durch Multiplikation von Omega mit einem Koeffizienten, der MA (Omega) ca. 10.907523 (frac-arc) Omega2 erhält. Die Lösung von MA (Omega) - Hand 0 gibt die obigen Ergebnisse an, wobei 2pi F Omega. Alle oben genannten bezieht sich auf die -3dB abgeschnitten Frequenz, das Thema dieser Post. Manchmal ist es aber interessant, ein Dämpfungsprofil im Stopband zu erhalten, das mit dem eines 1. Ordnung IIR Tiefpassfilters (einpoliges LPF) mit einer gegebenen -3dB-Cutoff-Frequenz vergleichbar ist (ein solches LPF heißt auch Leck-Integrator, Mit einem Pol nicht genau bei DC aber in der Nähe davon). In der Tat haben sowohl die MA als auch die 1. Ordnung IIR LPF -20dBdecade-Steigung im Stop-Band (man braucht ein größeres N als das in der Figur verwendete, N32, um dies zu sehen), aber während MA spektrale Nullen bei FkN und a hat 1f evelope, der IIR filter hat nur ein 1f profil. Wenn man einen MA-Filter mit ähnlichen Rauschfilter-Fähigkeiten wie dieses IIR-Filter erhalten möchte und die 3dB-Cut-Off-Frequenzen gleich ist, beim Vergleich der beiden Spektren, würde er erkennen, dass die Stopband-Welligkeit des MA-Filters endet 3dB unterhalb der des IIR-Filters. Um die gleiche Stoppband-Welligkeit (d. h. gleiche Rauschleistungsdämpfung) als das IIR-Filter zu erhalten, können die Formeln wie folgt modifiziert werden: Ich habe das Mathematica-Skript zurückgelegt, wo ich den Cut-Off für mehrere Filter, einschließlich der MA-Datei, berechnet habe. Das Ergebnis beruhte auf der Annäherung des MA-Spektrums um f0 als Parabel nach MA (Omega) Sin (OmegaN2) Sin (Omega2) Omega 2piF MA (F) ca. N16F2 (N-N3) pi2. Und die Kreuzung mit 1sqrt von dort ableiten. Ndash Massimo Jan 17 16 at 2:08

No comments:

Post a Comment