Signalverarbeitung / Digitale Filter Digitale Filter sind durch essenziell abgetastete Systeme. Die Eingangs - und Ausgangssignale werden durch Abtastwerte mit gleichem Zeitabstand dargestellt. Finite Implulse Response (FIR) - Filter sind gekennzeichnet durch ein Zeitverhalten, das nur von einer gegebenen Anzahl der letzten Abtastwerte des Eingangssignals abhängt. Anders ausgedrückt: Sobald das Eingangssignal auf Null abgesunken ist, wird der Filterausgang nach einer bestimmten Anzahl von Abtastperioden das gleiche tun. Der Ausgang y (k) ist durch eine Linearkombination der letzten Eingangsabtastwerte x (k i) gegeben. Die Koeffizienten b (i) geben das Gewicht für die Kombination an. Sie entsprechen auch den Koeffizienten des Zählers der Z-Domain-Filtertransferfunktion. Die folgende Abbildung zeigt ein FIR-Filter der Ordnung N 1: Bei linearen Phasenfiltern sind die Koeffizientenwerte um das mittlere symmetrisch und die Verzögerungsleitung kann um diesen Mittelpunkt zurückgeklappt werden, um die Anzahl der Multiplikationen zu reduzieren. Die Übertragungsfunktion der FIR-Filter pocesses nur einen Zähler. Dies entspricht einem Nullfilter. FIR-Filter erfordern typischerweise hohe Ordnungen in der Größenordnung von einigen Hunderten. Somit benötigt die Wahl dieser Art von Filtern eine große Menge an Hardware oder CPU. Trotzdem ist ein Grund, eine FIR-Filter-Implementierung zu wählen, die Fähigkeit, eine lineare Phasenreaktion zu erreichen, die in einigen Fällen eine Anforderung sein kann. Trotzdem hat der Fiter-Designer die Möglichkeit, IIR-Filter mit guter Phasenlinearität im Durchlaßband wie Bessel-Filter zu wählen. Oder ein Allpassfilter zu entwerfen, um die Phasenreaktion eines Standard-IIR-Filters zu korrigieren. Moving Average Filter (MA) Edit Moving Average (MA) Modelle sind Prozessmodelle in der Form: MA Prozesse ist eine alternative Darstellung von FIR Filtern. Durchschnittliche Filter Edit Ein Filter, der den Durchschnitt der N letzten Abtastwerte eines Signals berechnet. Es ist die einfachste Form eines FIR-Filters, wobei alle Koeffizienten gleich sind. Die Übertragungsfunktion eines Durchschnittsfilters ist gegeben durch: Die Übertragungsfunktion eines Durchschnittsfilters weist N gleich beabstandete Nullen entlang der Frequenzachse auf. Die Null bei DC wird jedoch durch den Pol des Filters maskiert. Daher gibt es eine größere Keule, die für das Filterdurchlassband verantwortlich ist. Cascaded Integrator-Comb (CIC) Filter Edit Ein Kaskadiertes Integrator-Kammfilter (CIC) ist eine spezielle Technik zur Implementierung von Durchschnittsfiltern, die in Serie geschaltet werden. Die Serienplatzierung der mittleren Filter verstärkt den ersten Lappen bei DC im Vergleich zu allen anderen Lappen. Ein CIC-Filter implementiert die Übertragungsfunktion von N Durchschnittsfiltern, die jeweils den Durchschnitt von R M Abtastwerten berechnen. Seine Übertragungsfunktion ist folglich gegeben durch: CIC-Filter werden verwendet, um die Anzahl der Abtastwerte eines Signals um einen Faktor R zu dezimieren oder, anders ausgedrückt, ein Signal mit einer niedrigeren Frequenz erneut abzutasten, wobei R 1 Abtastwerte aus R weggeworfen werden. Der Faktor M gibt an, wie viel von dem ersten Lappen durch das Signal verwendet wird. Die Anzahl der mittleren Filterstufen, N. Wie gut andere Frequenzbänder gedämpft werden, auf Kosten einer weniger flachen Übertragungsfunktion um DC herum. Die CIC-Struktur ermöglicht es, das gesamte System mit nur Addierern und Registern zu implementieren, wobei keine Multiplikatoren verwendet werden, die in Bezug auf Hardware gierig sind. Eine Abwärtsabtastung mit dem Faktor R erlaubt die Erhöhung der Signalauflösung durch log 2 (R) (R) Bits. Kanonische Filter Bearbeiten Kanonische Filter implementieren eine Filterübertragungsfunktion mit einer Anzahl von Verzögerungselementen gleich der Filterreihenfolge, einem Multiplikator pro Zählerkoeffizienten, einem Multiplikator pro Nennerkoeffizienten und einer Reihe von Addierern. Ähnlich wie aktive Filter kanonische Strukturen zeigte sich diese Art von Schaltungen sehr empfindlich gegenüber Elementwerten: eine kleine Änderung in Koeffizienten hatte einen großen Einfluss auf die Übertragungsfunktion. Auch hier hat sich das Design von aktiven Filtern von kanonischen Filtern zu anderen Strukturen wie Ketten zweiter Ordnung oder Leapfrog-Filtern verschoben. Kette der Sektionen der zweiten Ordnung Edit Eine Sektion zweiter Ordnung. Oft als Biquad bezeichnet. Implementiert eine Übertragungsfunktion zweiter Ordnung. Die Übertragungsfunktion eines Filters kann in ein Produkt aus Übertragungsfunktionen aufgeteilt werden, die jeweils einem Paar von Pole und möglicherweise einem Paar von Nullen zugeordnet sind. Wenn die Übertragungsfunktionen ordnungsgemäß ungerade sind, muss ein erster Ordnungsteil zur Kette hinzugefügt werden. Dieser Abschnitt ist dem realen Pol und dem realen Nullpunkt zugeordnet, falls einer vorhanden ist. Direct-Form 1 Direct-Form 2 Direct-Form 1 Transponierte Direct-Form 2 transponiert Das von der folgenden Abbildung transponierte Direct-Formular 2 ist besonders interessant in Bezug auf die benötigte Hardware sowie die Signal - und Koeffizienten-Quantisierung. Digitale Leapfrog-Filter Filterstruktur bearbeiten Digitale Leapfrog-Filter basieren auf der Simulation von analogen aktiven Leapfrog-Filtern. Der Anreiz für diese Wahl ist, von den ausgezeichneten Passband-Empfindlichkeitseigenschaften der ursprünglichen Leiter-Schaltung zu erben. Das folgende 4. Ordnung allpolige Tiefpass-Leapfrog-Filter kann als digitale Schaltung implementiert werden, indem die analogen Integratoren durch Akkumulator ersetzt werden. Das Ersetzen der Analogintegratoren durch Akkumulatoren entspricht der Vereinfachung der Z-Umwandlung zu z 1 s T. Die die beiden ersten Terme der Taylorreihe von z e x p (s T) sind. Diese Näherung ist gut genug für Filter, bei denen die Abtastfrequenz viel höher ist als die Signalbandbreite. Transferfunktion Edit Die Zustandsraumdarstellung des vorangehenden Filters kann wie folgt geschrieben werden: Aus dieser Gleichung kann man die A, B, C, D Matrizen schreiben als: Aus dieser Darstellung lassen sich Signalverarbeitungswerkzeuge wie Octave oder Matlab graphisch darstellen Den Frequenzgang des Filters oder seine Nullen und Pole zu untersuchen. In dem digitalen Leapfrog-Filter stellen die relativen Werte der Koeffizienten die Form der Übertragungsfunktion (Butterworth, Chebyshev.) Ein, während ihre Amplituden die Grenzfrequenz einstellen. Das Dividieren aller Koeffizienten um einen Faktor von zwei verschiebt die Cutoff-Frequenz um eine Oktave (auch einen Faktor von zwei) nach unten. Ein spezieller Fall ist das Buterworth-Filter 3. Ordnung, das Zeitkonstanten mit relativen Werten von 1, 1/2 und 1 aufweist. Dadurch kann dieses Filter in Hardware ohne Multiplikator implementiert werden, jedoch mit Verschiebungen. Autoregressive Filter (AR) Edit Autoregressive (AR) Modelle sind Prozessmodelle in der Form: Wo u (n) die Ausgabe des Modells ist, ist x (n) die Eingabe des Modells und u (n - m) sind vorherige Abtastwerte des Modellausgangswertes. Diese Filter werden autoregressiv genannt, da die Ausgangswerte auf der Grundlage von Regressionen der vorherigen Ausgabewerte berechnet werden. AR-Prozesse können durch ein Allpol-Filter dargestellt werden. ARMA Filter Edit Autoregressive Moving-Average Filter (ARMA) sind Kombinationen von AR - und MA-Filtern. Der Ausgang des Filters ist als Linearkombination sowohl der gewichteten Eingangs - als auch der gewichteten Ausgangssamples gegeben: ARMA-Prozesse können als digitales IIR-Filter mit beiden Pole und Nullen betrachtet werden. AR-Filter werden in vielen Fällen bevorzugt, da sie mit den Yule-Walker-Gleichungen analysiert werden können. MA - und ARMA-Prozesse hingegen können durch komplizierte nichtlineare Gleichungen analysiert werden, die schwer zu studieren und zu modellieren sind. Wenn wir einen AR-Prozeß mit Abgriff-Gewichtungskoeffizienten a (einen Vektor von a (n), a (n - 1).) Einen Eingang von x (n) haben. Und eine Ausgabe von y (n). Können wir die yule-walker Gleichungen verwenden. Wir sagen, dass x 2 die Varianz des Eingangssignals ist. Wir behandeln das Eingangsdatensignal als Zufallssignal, auch wenn es ein deterministisches Signal ist, weil wir nicht wissen, was der Wert ist, bis wir ihn erhalten. Wir können die Yule-Walker-Gleichungen folgendermaßen ausdrücken: wobei R die Kreuzkorrelationsmatrix der Prozeßausgabe ist und r die Autokorrelationsmatrix der Prozeßausgabe ist: Varianzbearbeitung Wir können zeigen: Wir können die Eingangssignalabweichung als: , Expandiert und ersetzt r (0). Können wir die Ausgangsvarianz des Prozesses mit der Eingangsvarianz verknüpfen: Im, die etwas in dem Moment kodiert, in dem Im ein Bündel von Werten über die Zeit von einem Hardwarekompaß nimmt. Dieser Kompass ist sehr genau und Updates sehr oft, mit dem Ergebnis, dass wenn es leicht wackelt, ich am Ende mit dem ungeraden Wert, der wild unvereinbar mit seinen Nachbarn ist. Ich möchte diese Werte glätten. Nachdem ich einiges gelesen hatte, scheint es, dass was ich will, ein Hochpaßfilter, ein Tiefpaßfilter oder ein gleitender Durchschnitt ist. Gleitender Durchschnitt kann ich mit erhalten, halten Sie einfach eine Geschichte der letzten 5 Werte oder was auch immer, und verwenden Sie den Durchschnitt dieser Werte stromabwärts in meinem Code, wo ich war einmal nur mit dem jüngsten Wert. Das sollte, glaube ich, die Wackeln schön abschneiden, aber es schlägt mir, dass seine wahrscheinlich ziemlich ineffizient, und dies ist wahrscheinlich eines dieser bekannten Probleme zu Proper Programmers, denen theres eine wirklich ordentliche Clever Math-Lösung. Ich bin jedoch einer jener schrecklichen selbstprogrammierten Programmierer ohne einen Fetzen der formalen Bildung in irgendetwas sogar vage mit CompSci oder Mathe verwandt. Lesen um ein Bit deutet darauf hin, dass dies ein Hoch-oder Tiefpassfilter sein kann, aber ich kann nicht finden, was in Begriffen verständlich für einen Hack wie ich, was die Wirkung dieser Algorithmen wäre auf einer Reihe von Werten, geschweige denn wie die Mathematik Arbeitet. Die Antwort hier. Zum Beispiel, technisch beantwortet meine Frage, aber nur verständlich für diejenigen, die wahrscheinlich schon wissen, wie das Problem zu lösen. Es wäre ein sehr schöner und kluger Mensch, der die Art des Problems erklären könnte, und das, wie die Lösungen funktionieren, in Begriffen, die einem Kunstabsolventen verständlich sind. Wenn Ihr gleitender Durchschnitt muss lang sein, um die gewünschte Glättung zu erreichen, und Sie brauchen nicht wirklich eine bestimmte Form des Kernels, dann sind Sie besser dran, wenn Sie einen exponentiell verfallenden gleitenden Durchschnitt verwenden: wo Sie Wählen Sie winzig, um eine passende Konstante zu sein (zB, wenn Sie winzige 1- 1 / N wählen, wird es die gleiche Menge der Mittelung wie ein Fenster der Größe N haben, aber verteilt unterschiedlich über ältere Punkte). Wie auch immer, da der nächste Wert des gleitenden Durchschnitts hängt nur von der vorherigen und Ihre Daten, müssen Sie nicht eine Warteschlange oder etwas zu halten. Und Sie können denken, dies zu tun, so etwas wie: Nun, ich habe einen neuen Punkt, aber ich dont wirklich vertrauen es, so Im werde 80 meiner alten Schätzung der Messung zu halten, und nur vertrauen diesem neuen Datenpunkt 20. Das ist So ziemlich das gleiche wie zu sagen, Nun, ich vertraue nur diesem neuen Punkt 20, und ich benutze 4 andere Punkte, die ich vertrauen die gleiche Menge, außer dass anstatt explizit nehmen die 4 anderen Punkten, youre unter der Annahme, dass die Mittelung haben Sie das letzte Mal War vernünftig, so können Sie Ihre vorherige Arbeit. Beantwortet Sep 21 10 at 14:27 Hey, ich weiß, das ist 5 Jahre zu spät, aber danke für eine großartige Antwort. I39m arbeitet an einem Spiel, bei dem der Klang sich nach Ihrer Geschwindigkeit ändert, aber wegen des Laufenlassens des Spiels auf einem langsam-ass Computer, würde die Geschwindigkeit wild schwanken, was für die Lenkung gut war, aber super ärgerlich in Bezug auf Sound. Das war eine wirklich einfache und billige Lösung für etwas, das ich für ein wirklich komplexes Problem halten würde. Ndash Wenn Sie versuchen, den gelegentlichen ungeraden Wert zu entfernen, ist ein Tiefpassfilter die beste der drei Optionen, die Sie identifiziert haben. Tiefpaßfilter erlauben langsame Änderungen, wie die, die durch das Drehen eines Kompasses von Hand verursacht werden, während Abweisen von Hochgeschwindigkeitsänderungen, wie z. B. durch Stöße auf der Straße, verursacht werden. Ein gleitender Durchschnitt wird wahrscheinlich nicht ausreichen, da die Auswirkungen eines einzelnen Blips in Ihren Daten auf mehrere nachfolgende Werte wirken, abhängig von der Größe des gleitenden Durchschnittsfensters. Wenn die ungeraden Werte leicht erkannt werden, können Sie sogar mit einem Glitch-Entfer - nal-Algorithmus besser abschneiden, der sie komplett ignoriert: Hier ist ein Guick-Graphen zu veranschaulichen: Der erste Graphen ist das Eingangssignal mit einem unangenehmen Glitch. Die zweite Grafik zeigt die Wirkung eines 10-stelligen Gleitmittels. Der endgültige Graph ist eine Kombination aus dem 10-Sample-Mittelwert und dem einfachen Glitch-Detektionsalgorithmus, der oben gezeigt ist. Wenn der Glitch detektiert wird, wird anstelle des tatsächlichen Wertes der 10-Sample-Mittelwert verwendet. Beantwortet Sep 21 10 am 13:38 Schön erklärt und Bonuspunkte für die Grafik) ndash Henry Cooke Sep 22 10 at 0:50 Wow. Seldomly sah so eine schöne Antwort ndash Muis Jun 4 13 at 9:14 Der gleitende Durchschnitt ist ein Tiefpassfilter. Ndash nomen Okt 21 13 am 19:36 Versuchen Sie einen laufenden / Streaming-Median statt. Ndash kert Apr 25 14 am 22:09 Gleitender Durchschnitt kann ich unten erhalten. Aber es scheint mir, dass seine wahrscheinlich ziemlich ineffizient. Theres wirklich kein Grund ein gleitender Durchschnitt sollte ineffizient sein. Sie halten die Anzahl der Datenpunkte, die Sie in einem Puffer (wie eine zirkuläre Warteschlange) wollen. An jedem neuen Datenpunkt pflücken Sie den ältesten Wert und subtrahieren ihn von einer Summe, und drücken Sie den neuesten und fügen Sie ihn der Summe hinzu. Jeder neue Datenpunkt beinhaltet also nur einen Pop / Push, eine Addition und eine Subtraktion. Ihr gleitender Durchschnitt ist immer diese Verschiebungssumme geteilt durch die Anzahl der Werte in Ihrem Puffer. Es wird ein wenig trickiger, wenn youre Empfangen von Daten gleichzeitig von mehreren Threads, aber da Ihre Daten von einem Hardware-Gerät kommt, das scheint sehr zweifelhaft für mich. Oh und auch: schreckliche Selbst-gelehrte Programmierer vereinen) Der gleitende Durchschnitt schien mir ineffizient, weil Sie einen Puffer von Werten speichern müssen - besser, nur einige Clever Maths mit Ihrem Eingabewert und aktuellen Arbeitswert zu tun Ich denke, dass ist wie exponentiell gleitenden Durchschnitt Arbeitet. Eine Optimierung, die ich für diese Art von gleitendem Durchschnitt gesehen habe, beinhaltet die Verwendung eines Fixlängen-Warteschlangen-Amps, einen Zeiger auf, wo Sie sich in dieser Warteschlange befinden, und einfach den Zeiger um (mit oder einem If) wickeln. Voila Kein teurer Push / Pop. Power für die Amateure, Bruder ndash Henry Cooke Henry: Für einen geraden-gleitenden Durchschnitt brauchst du den Puffer einfach so, dass du weißt, welcher Wert geknallt wird, wenn der nächste Wert gedrückt wird. Das heißt, die quotfixed-Länge Warteschlange amp ein Pointerquot Sie beschreiben ist genau das, was ich durch quotcircular queue. quot Bedeutet, warum ich sagte, es ist nicht ineffizient. Was meinst du, ich meinte, Und wenn Ihre Antwort ist quotan Array, das seine Werte zurück verschiebt sich auf jedem indexierten removalquot (wie std :: vector in C). Also, I39m so weh I don39t sogar wollen, um mit Ihnen zu sprechen) ndash Dan Tao 22 September at 1:58 Henry: Ich don39t wissen über AS3, aber ein Java-Programmierer bekam Sammlungen wie CircularQueue zu seiner Verfügung (I39m Nicht ein Java-Entwickler, so I39m sicher, es gibt bessere Beispiele da draußen that39s genau das, was ich aus einer schnellen Google-Suche gefunden), die genau die Funktionalität implementiert, über die wir reden. I39m ziemlich zuversichtlich, die Mehrheit der mittleren und niedrigen Sprachen mit Standard-Bibliotheken haben etwas ähnliches (z. B. in. NET there39s QueueltTgt). Jedenfalls war ich selbst Philosophie. alles ist vergeben. Ndash Dan Tao Ein exponentiell abnehmender gleitender Durchschnitt kann von Hand mit nur dem Trend berechnet werden, wenn Sie die richtigen Werte verwenden. Sehen Sie fourmilab. ch/hackdiet/e4/ für eine Idee, wie dies schnell mit einem Stift und Papier, wenn Sie für exponentiell geglättet gleitenden Durchschnitt mit 10 Glättung suchen. Aber da Sie einen Computer haben, möchten Sie wahrscheinlich binäre Verschiebung im Gegensatz zur Dezimalverschiebung tun) Auf diese Weise brauchen Sie nur eine Variable für Ihren aktuellen Wert und einen für den Durchschnitt. Daraus kann dann der nächste Mittelwert berechnet werden. Beantwortet eine Technik namens Bereichstor, die gut funktioniert mit Low-Vorkommen falschen Proben. Unter der Annahme einer der oben erwähnten Filtertechniken (gleitender Durchschnitt, exponentiell), sobald Sie über ausreichende Historie verfügen (eine Zeitkonstante), können Sie die neue, eingehende Datenprobe für die Angemessenheit testen, bevor sie zur Berechnung hinzugefügt wird. Ist ein gewisses Wissen über die maximale vernünftige Änderungsrate des Signals erforderlich. Wird die Rohprobe mit dem letzten geglätteten Wert verglichen, und wenn der absolute Wert dieser Differenz größer als der zulässige Bereich ist, wird diese Probe herausgeworfen (oder durch eine Heuristik ersetzt, zB eine Vorhersage basierend auf der Steigungsdifferenz oder dem Trend Vorhersagewert aus der doppelten exponentiellen Glättung) antwortete am 30. April um 6: 56Die Wissenschaftler und Ingenieure Leitfaden für digitale Signalverarbeitung Von Steven W. Smith, Ph. D. Kapitel 15: Verschieben von Durchschnittsfiltern Verwandte des Moving Average Filters In einer perfekten Welt müssten Filter-Designer nur mit Zeitdomänen - oder frequenzbereichskodierten Informationen umgehen, aber niemals eine Mischung aus beiden im selben Signal. Leider gibt es einige Anwendungen, bei denen beide Domains gleichzeitig wichtig sind. Zum Beispiel, Fernsehsignale fallen in diese fiese Kategorie. Die Videoinformation wird im Zeitbereich kodiert, dh die Form der Wellenform entspricht den Mustern der Helligkeit in dem Bild. Während der Übertragung wird das Videosignal jedoch entsprechend seiner Frequenzzusammensetzung, wie etwa seiner Gesamtbandbreite, behandelt, wie die Trägerwellen für die Tonampelfarbe addiert werden, die Eliminierungsampere-Wiederherstellung der Gleichspannungskomponente usw. Als weiteres Beispiel ist eine elektromagnetische Interferenz Wird am besten im Frequenzbereich verstanden, auch wenn die Signalinformation im Zeitbereich codiert wird. Zum Beispiel könnte die Temperaturüberwachung in einem wissenschaftlichen Experiment mit 60 Hertz von den Stromleitungen, 30 kHz von einem Schaltnetzteil oder 1320 kHz von einer lokalen AM-Funkstation verunreinigt sein. Verwandte des gleitenden Durchschnittsfilters weisen eine bessere Frequenzbereichsleistung auf und können in diesen gemischten Domänenanwendungen nützlich sein. Multiple-Pass-Gleit-Durchschnittsfilter beinhalten, daß das Eingangssignal zweimal oder mehrmals durch einen gleitenden Durchschnittsfilter geleitet wird. Abbildung 15.3a zeigt den Gesamtfilterkern, der aus einem, zwei und vier Durchgängen resultiert. Zwei Durchläufe entsprechen der Verwendung eines dreieckigen Filterkerns (eines rechteckigen Filterkerns, der mit sich selbst konstruiert wurde). Nach vier oder mehr Pässen sieht der äquivalente Filterkernel wie ein Gaußscher (Rückruf des zentralen Grenzwertsatzes) aus. Wie in (b) gezeigt, erzeugen mehrere Durchgänge eine s-förmige Sprungantwort im Vergleich zu der geraden Linie des einzigen Durchgangs. Die Frequenzantworten in (c) und (d) sind durch Gl. 15-2 multipliziert mit sich für jeden Durchlauf. Das heißt, jede Zeitbereichs-Faltung führt zu einer Multiplikation der Frequenzspektren. Abbildung 15-4 zeigt den Frequenzgang zweier anderer Verwandter des gleitenden Durchschnittsfilters. Wenn ein reiner Gaußscher als Filterkern verwendet wird, ist der Frequenzgang auch ein Gaußscher, wie in Kapitel 11 erläutert. Der Gaußsche ist wichtig, weil er die Impulsantwort vieler natürlicher und künstlicher Systeme ist. Beispielsweise wird ein kurzer Lichtimpuls, der in eine lange faseroptische Übertragungsleitung eintritt, aufgrund der unterschiedlichen Pfade, die von den Photonen innerhalb der Faser aufgenommen werden, als ein Gauss-Puls austreten. Der Gaußsche Filterkernel wird auch weitgehend in der Bildverarbeitung verwendet, da er einzigartige Eigenschaften hat, die schnelle zweidimensionale Windungen ermöglichen (siehe Kapitel 24). Der zweite Frequenzgang in Fig. 15-4 entspricht der Verwendung eines Blackman-Fensters als Filterkernel. (Der Begriff Fenster hat hier keine Bedeutung, er ist einfach Teil des akzeptierten Namens dieser Kurve). Die genaue Form des Blackman-Fensters ist in Kapitel 16 gegeben (Gleichung 16-2, Abb. 16-2), sie sieht jedoch sehr ähnlich wie ein Gaußscher. Wie sind diese Verwandten des gleitenden Durchschnittsfilters besser als der gleitende Mittelfilter selbst? Drei Wege: Erstens, und am wichtigsten, haben diese Filter eine bessere Stopbanddämpfung als das gleitende Mittelfilter. Zweitens verjüngen sich die Filterkerne zu einer kleineren Amplitude nahe den Enden. Es sei daran erinnert, dass jeder Punkt in dem Ausgangssignal eine gewichtete Summe einer Gruppe von Abtastungen von dem Eingang ist. Wenn sich der Filterkern verjüngt, werden die Abtastwerte im Eingangssignal, die weiter entfernt sind, weniger Gewicht als die in der Nähe befindlichen. Drittens sind die Schrittantworten glatte Kurven, und nicht die abrupte gerade Linie des gleitenden Durchschnitts. Diese letzten beiden sind in der Regel von begrenztem Nutzen, obwohl Sie Anwendungen finden könnten, wo sie echte Vorteile sind. Der gleitende Durchschnittsfilter und seine Verwandten sind alle ungefähr gleich, wenn man zufälliges Rauschen reduziert, während eine scharfe Sprungantwort beibehalten wird. Die Mehrdeutigkeit liegt darin, wie die Anstiegszeit der Sprungantwort gemessen wird. Wenn die Anstiegszeit von 0 bis 100 des Schritts gemessen wird, ist der gleitende Durchschnittsfilter das beste, was Sie tun können, wie zuvor gezeigt. Im Vergleich dazu misst die Messung der Risse von 10 bis 90 das Blackman-Fenster besser als das gleitende Mittelfilter. Der Punkt ist, das ist nur theoretische Squabbeln betrachten diese Filter gleich in diesem Parameter. Der größte Unterschied in diesen Filtern ist die Ausführungsgeschwindigkeit. Mit einem rekursiven Algorithmus (beschrieben als nächstes), wird der gleitende Durchschnitt Filter wie Blitz in Ihrem Computer laufen. In der Tat ist es die schnellste digitale Filter zur Verfügung. Mehrere Durchgänge des gleitenden Durchschnitts werden entsprechend langsamer, aber immer noch sehr schnell sein. Im Vergleich dazu sind die Gauß - und die Blackman-Filter quälend langsam, weil sie die Faltung verwenden müssen. Denken Sie einen Faktor von zehnmal die Anzahl der Punkte im Filterkernel (basierend auf der Multiplikation, die etwa zehnmal langsamer als die Addition ist). Beispielsweise erwarten Sie, dass ein 100-Punkt-Gaussian 1000-mal langsamer als ein gleitender Durchschnitt mit Rekursion ist.
No comments:
Post a Comment