Monday 30 January 2017

Moving Average Filter Kernel

Die Wissenschaftler und Ingenieure Leitfaden für digitale Signalverarbeitung Von Steven W. Smith, Ph. D. Wie der Name andeutet, arbeitet das gleitende Mittelfilter durch Mittelung einer Anzahl von Punkten von dem Eingangssignal, um jeden Punkt im Ausgangssignal zu erzeugen. In Gleichung ist dies geschrieben: Wo ist das Eingangssignal, ist das Ausgangssignal und M ist die Anzahl der Punkte im Mittelwert. Beispielsweise ist bei einem 5-Punkt-Gleitmittelfilter 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 Summation in Gl . 15-1 von: j 0 bis M -1, bis: j - (M -1) 2 bis (M -1) 2. Zum Beispiel wird in einem 10-Punkt-gleitenden Durchschnittsfilter der Index j. Kann von 0 bis 11 (einseitige Mittelung) oder -5 bis 5 (symmetrische Mittelung) laufen. Symmetrische Mittelung erfordert, dass M eine ungerade Zahl ist. Die Programmierung ist etwas einfacher mit den Punkten auf nur einer Seite, jedoch ergibt sich eine relative Verschiebung zwischen den Eingangs - und Ausgangssignalen. Sie sollten erkennen, dass das gleitende Durchschnittsfilter eine Faltung mit einem sehr einfachen Filterkern 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 zum Implementieren des gleitenden Durchschnittsfilters. Der Wissenschaftler und Ingenieure Leitfaden zur digitalen Signalverarbeitung Von Steven W. Smith, Ph. D. Kapitel 17: Benutzerdefinierte Filter Abbildung 17-7a zeigt ein allgemeines Filterungsproblem: Sie versuchen, eine Wellenform (in diesem Beispiel einen exponentiellen Impuls) zu extrahieren, die in zufälligem Rauschen eingebettet ist. Wie in (b) gezeigt, ist dieses Problem im Frequenzbereich nicht einfacher. Das Signal weist ein Spektrum auf, das hauptsächlich aus niederfrequenten Komponenten besteht. Im Vergleich dazu ist das Spektrum des Rauschens weiß (die gleiche Amplitude bei allen Frequenzen). Da überlappen sich die Spektren von Signal und Rauschen. Es ist nicht klar, wie die beiden am besten getrennt werden können. In der Tat ist die eigentliche Frage, wie zu definieren, was am besten bedeutet. Wir werden uns drei Filter anschauen, von denen jede am besten (optimal) auf eine andere Weise ist. Abbildung 17-8 zeigt den Filterkernel und den Frequenzgang für jeden dieser Filter. Fig. 17-9 zeigt das Ergebnis der Verwendung dieser Filter bei der beispielhaften Wellenform von Fig. 17-7a. Der gleitende Mittelwertfilter ist das Thema von Kapitel 15. Wie Sie sich erinnern, ist jeder Ausgangspunkt, der durch das gleitende Mittelfilter erzeugt wird, der Mittelwert einer bestimmten Anzahl von Punkten aus dem Eingangssignal. Dies macht den Filterkernel zu einem Rechteckimpuls mit einer Amplitude, die gleich dem Reziprokwert der Anzahl der Punkte im Mittel ist. Das gleitende Mittelfilter ist in dem Sinne optimal, daß es die schnellste Sprungantwort für eine gegebene Rauschreduzierung liefert. Das angepasste Filter wurde vorher in Kapitel 7 diskutiert. 17-8a ist der Filterkernel des angepaßten Filters derselbe wie das erfaßte Zielsignal, außer daß es von links nach rechts gedreht worden ist. Die Idee hinter dem angepassten Filter ist die Korrelation. Und dieser Flip ist erforderlich, um eine Korrelation unter Verwendung von Faltung durchzuführen. Die Amplitude jedes Punktes im Ausgangssignal ist ein Maß dafür, wie gut der Filterkernel dem entsprechenden Abschnitt des Eingangssignals entspricht. Erinnern Sie sich, dass die Ausgabe eines angepassten Filters nicht unbedingt so aussieht wie das Signal, das erkannt wird. Das spielt keine Rolle, wenn ein angepasstes Filter verwendet wird, muss die Form des Zielsignals bereits bekannt sein. Das angepasste Filter ist in dem Sinne optimal, daß die Spitze des Peaks weiter oberhalb des Rauschens liegt, als mit irgendeinem anderen linearen Filter erreicht werden kann (siehe Fig. 17-9b). Der Wiener-Filter (benannt nach der optimalen Schätzungstheorie von Norbert Wiener) trennt Signale auf Basis ihrer Frequenzspektren. Wie in Fig. 17-7b, bei einigen Frequenzen gibt es meist Signal, während bei anderen meist Rauschen auftreten. Es scheint logisch, dass die meisten Signalfrequenzen durch den Filter geleitet werden sollten, während die meisten Rauschfrequenzen blockiert werden sollten. Der Wiener-Filter nimmt diese Idee einen Schritt weiter, wobei die Verstärkung des Filters bei jeder Frequenz durch die relative Menge an Signal und Rauschen bei dieser Frequenz bestimmt wird. Diese Beziehung wird verwendet, um die Spektren in Fig. 17-7b in den Wiener-Filter-Frequenzgang in Fig. 17-8b. Das Wiener-Filter ist insofern optimal, als es das Verhältnis der Signalleistung zur Rauschleistung (über die Länge des Signals, nicht an jedem einzelnen Punkt) maximiert. Ein geeigneter Filterkernel wird nach dem benutzerdefinierten Verfahren aus dem Wiener Frequenzgang entworfen. Während die Ideen hinter diesen optimalen Filtern mathematisch elegant sind, scheitern sie oft praktisch. Dies ist nicht zu sagen, sie sollten nie verwendet werden. Der Punkt ist, hören Sie nicht das Wort optimal und aufhören zu denken. Lets Blick auf mehrere Gründe, warum Sie nicht wollen, sie zu benutzen. Zunächst wird die Differenz zwischen den Signalen in Fig. 17-9 ist sehr unbeeindruckend. In der Tat, wenn Sie werent gesagt, welche Parameter wurden optimiert, können Sie wahrscheinlich nicht sagen, indem sie die Signale. Dies ist üblicherweise bei Problemen mit überlappenden Frequenzspektren der Fall. Die geringe Menge an zusätzlicher Leistung, die von einem optimalen Filter erhalten wird, kann nicht die erhöhte Programmkomplexität, den zusätzlichen Konstruktionsaufwand oder die längere Ausführungszeit wert sein. Zweitens: Die Wiener und angepasste Filter sind vollständig durch die Merkmale des Problems bestimmt. Andere Filter, wie die Fenster-sinc und gleitenden Durchschnitt, können nach Ihren Wünschen angepasst werden. Optimale Filterbefürworter würden behaupten, daß dieses Tollen nur die Wirksamkeit des Filters verringern kann. Das ist sehr diskutabel. Denken Sie daran, dass jeder dieser Filter in einer bestimmten Weise optimal ist (d. H. In gewissem Sinne). Dies ist selten genug, um zu behaupten, dass das gesamte Problem optimiert wurde, vor allem, wenn die resultierenden Signale von einem menschlichen Beobachter interpretiert werden. Zum Beispiel könnte ein Biomedizin-Ingenieur ein Wiener-Filter verwenden, um das Signal-Rausch-Verhältnis in einem Elektrokardiogramm zu maximieren. Allerdings ist es nicht offensichtlich, dass dies auch optimiert eine Ärzte Fähigkeit, unregelmäßige Herz-Aktivität durch das Betrachten des Signals zu erkennen. Drittens: Der Wiener und der angepasste Filter müssen durch Faltung ausgeführt werden. Wodurch sie extrem langsam ausgeführt werden. Selbst mit den im nächsten Kapitel erläuterten Geschwindigkeitsverbesserungen (FFT-Faltung) kann die Berechnungszeit übermäßig lang sein. Im Vergleich dazu sind rekursive Filter (wie der gleitende Durchschnitt oder andere, die in Kapitel 19 dargestellt werden) viel schneller und können ein akzeptables Niveau der Leistung bieten. Ich muss ein gleitendes durchschnittliches Filter mit einer Grenzfrequenz von 7,8 Hz entwerfen. Ich habe gleitende durchschnittliche Filter vor verwendet, aber soweit ich weiß, ist der einzige Parameter, der eingegeben werden kann, die Anzahl der zu durchschnittlichen Punkte. Wie kann sich dies auf eine Grenzfrequenz beziehen Die Inverse von 7,8 Hz beträgt 130 ms und Im arbeiten mit Daten, die bei 1000 Hz abgetastet werden. Bedeutet dies implizieren, dass ich sollte eine gleitende durchschnittliche Filter-Fenstergröße von 130 Proben verwenden, oder gibt es etwas anderes, das ich hier fehlte, ist der Filter, der in der Zeitdomäne zu entfernen verwendet wird Das Rauschen hinzugefügt und auch für Glättung Zweck, aber wenn Sie die gleiche gleitende durchschnittliche Filter im Frequenzbereich für Frequenztrennung dann Leistung wird am schlimmsten. So dass in diesem Fall nutzen Frequenzbereich Filter ndash user19373 Feb 3 16 at 5:53 Der gleitende Durchschnitt Filter (manchmal auch umgangssprachlich als Boxcar-Filter) hat eine rechteckige Impulsantwort: Oder anders ausgedrückt: Denken Sie daran, dass eine diskrete Zeit Frequenz Frequenzgang Gleich der diskreten Zeit-Fourier-Transformation ihrer Impulsantwort ist, können wir sie wie folgt berechnen: Was am meisten für Ihren Fall interessiert ist, ist die Amplitudenreaktion des Filters H (omega). Mit ein paar einfachen Manipulationen, können wir, dass in einer einfacher zu verstehen: Das sieht vielleicht nicht leichter zu verstehen. Allerdings wegen Eulers Identität. Erinnern, dass: Daher können wir schreiben, die oben als: Wie ich schon sagte, was Sie wirklich besorgt ist die Größe der Frequenzgang. So können wir die Größenordnung der oben genannten zu vereinfachen, um es weiter zu vereinfachen: Hinweis: Wir sind in der Lage, die exponentiellen Begriffe aus, weil sie nicht beeinflussen die Größe des Ergebnisses e 1 für alle Werte von Omega. Da xy xy für irgendwelche zwei endlichen komplexen Zahlen x und y ist, können wir schließen, daß die Anwesenheit der exponentiellen Terme die Gesamtgrößenreaktion nicht beeinflußt (sie beeinflussen die Systemphasenreaktion). Die resultierende Funktion innerhalb der Größenklammern ist eine Form eines Dirichlet-Kerns. Sie wird manchmal als periodische sinc-Funktion bezeichnet, weil sie der sinc-Funktion etwas im Aussehen ähnelt, aber stattdessen periodisch ist. Wie auch immer, da die Definition der Cutoff-Frequenz etwas unterspezifiziert ist (-3 dB Punkt -6 dB Punkt erste sidelobe Null), können Sie die obige Gleichung, um für was auch immer Sie brauchen, zu lösen. 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. Set Omega gleich der Cutoff-Frequenz. Um eine kontinuierliche Frequenz auf den diskreten Zeitbereich abzubilden, denken Sie daran, dass osga 2pi frac, wobei fs Ihre Abtastrate ist. Finden Sie den Wert von N, der Ihnen die beste Übereinstimmung zwischen der linken und der rechten Seite der Gleichung gibt. Das sollte die Länge des gleitenden Durchschnitts sein. Wenn N die Länge des gleitenden Mittelwerts ist, dann ist eine angenäherte Grenzfrequenz F (gültig für N gt 2) bei der normalisierten Frequenz Fffs: Der Kehrwert dieser Gleichung ist für große N asymptotisch korrekt und hat etwa 2 Fehler Für N2 und weniger als 0,5 für N4. P. S. Nach zwei Jahren, hier schließlich, was war der Ansatz folgte. Das Ergebnis beruht auf der Annäherung des MA-Amplitudenspektrums um f0 als Parabel (2. Ordnung) nach MA (Omega) ca. 1 (frac - frac) Omega2, die in der Nähe des Nulldurchgangs von MA (Omega) Frac durch Multiplikation von Omega mit einem Koeffizienten, der MA (Omega), ca. 10.907523 (frac-frac) Omega2 ergibt. Die Lösung von MA (Omega) - frac 0 liefert die obigen Ergebnisse, wobei 2pi F Omega. Alle der oben genannten bezieht sich auf die -3dB abgeschnitten Frequenz, das Thema dieser Post. Manchmal ist es zwar interessant, ein Dämpfungsprofil im Stoppband zu erhalten, das vergleichbar ist mit dem eines 1. Ordnung IIR-Tiefpaßfilters (Einpol-LPF) mit einer gegebenen -3dB Grenzfrequenz (ein solcher LPF wird auch Leaky-Integrator genannt, Mit einem Pol nicht genau an DC, aber nah an ihm). Tatsächlich haben sowohl das MA und das 1. Ordnung IIR LPF -20dBdecade Slope im Stopband (man braucht ein größeres N als das, das in der Figur verwendet wird, N32, um dies zu sehen), während aber MA spektrale Nullen bei FkN und a hat 1f Evelope hat das IIR-Filter nur ein 1f-Profil. Wenn man ein MA-Filter mit ähnlichen Rauschfilterungs-Fähigkeiten wie dieses IIR-Filter erhalten möchte und die gleichgeschnittenen 3dB-Grenzfrequenzen anpaßt, würde er beim Vergleich der beiden Spektren erkennen, daß die Stopbandwelligkeit des MA-Filters endet 3dB unter dem des IIR-Filters. Um die gleiche Stoppbandwelligkeit (d. h. dieselbe Rauschleistungsdämpfung) wie das IIR-Filter zu erhalten, können die Formeln wie folgt modifiziert werden: Ich fand das Mathematica-Skript zurück, wo ich die Unterbrechung für mehrere Filter einschließlich des MA-Werts berechnete. Das Ergebnis basiert 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 Ableitung der Kreuzung mit 1sqrt von dort. Ndash Massimo Jan 17 16 am 2:08


No comments:

Post a Comment