Wednesday, February 1, 2017

Moving Average Filter Group Delay

Moving Average Filter (MA Filter) Wird geladen. Der gleitende Mittelwertfilter ist ein einfaches Tiefpassfilter (Finite Impulse Response), das üblicherweise zum Glätten eines Arrays von abgetastetem Datensignal verwendet wird. Es nimmt M Abtastwerte von Eingang zu einem Zeitpunkt und nimmt den Durchschnitt dieser M-Abtastwerte und erzeugt einen einzigen Ausgangspunkt. Es ist eine sehr einfache LPF (Low Pass Filter) Struktur, die praktisch für Wissenschaftler und Ingenieure, um unerwünschte laute Komponente aus den beabsichtigten Daten zu filtern kommt. Mit zunehmender Filterlänge (Parameter M) nimmt die Glätte des Ausgangs zu, während die scharfen Übergänge in den Daten zunehmend stumpf werden. Dies impliziert, dass dieses Filter eine ausgezeichnete Zeitbereichsantwort, aber einen schlechten Frequenzgang aufweist. Das MA-Filter erfüllt drei wichtige Funktionen: 1) Es benötigt M Eingangspunkte, berechnet den Mittelwert dieser M-Punkte und erzeugt einen einzelnen Ausgangspunkt 2) Aufgrund der Berechnungsberechnungen. Führt das Filter eine bestimmte Verzögerung ein 3) Das Filter wirkt als ein Tiefpaßfilter (mit einer schlechten Frequenzbereichsantwort und einer guten Zeitbereichsantwort). Matlab-Code: Der folgende Matlab-Code simuliert die Zeitbereichsantwort eines M-Point Moving Average Filters und zeigt auch den Frequenzgang für verschiedene Filterlängen. Time Domain Response: Auf dem ersten Plot haben wir die Eingabe, die in den gleitenden Durchschnitt Filter geht. Der Eingang ist laut und unser Ziel ist es, den Lärm zu reduzieren. Die nächste Abbildung ist die Ausgangsantwort eines 3-Punkt Moving Average Filters. Es kann aus der Figur abgeleitet werden, daß der 3-Punkt-Moving-Average-Filter nicht viel getan hat, um das Rauschen herauszufiltern. Wir erhöhen die Filterabgriffe auf 51 Punkte und wir können sehen, dass sich das Rauschen im Ausgang stark reduziert hat, was in der nächsten Abbildung dargestellt ist. Wir erhöhen die Anzapfungen weiter auf 101 und 501, und wir können beobachten, dass auch wenn das Rauschen fast Null ist, die Übergänge drastisch abgebaut werden (beobachten Sie die Steilheit auf beiden Seiten des Signals und vergleichen Sie sie mit dem idealen Ziegelwandübergang Unser Eingang). Frequenzgang: Aus dem Frequenzgang kann behauptet werden, dass der Roll-off sehr langsam ist und die Stopbanddämpfung nicht gut ist. Bei dieser Stoppbanddämpfung kann klar sein, daß der gleitende Durchschnittsfilter kein Frequenzband von einem anderen trennen kann. Wie wir wissen, führt eine gute Leistung im Zeitbereich zu einer schlechten Leistung im Frequenzbereich und umgekehrt. Kurz: Der gleitende Durchschnitt ist ein außergewöhnlich guter Glättungsfilter (die Aktion im Zeitbereich), aber ein außergewöhnlich schlechtes Tiefpaßfilter (die Aktion im Frequenzbereich) Externe Links: Empfohlene Bücher: Primäre SidebarFIR Filter Grundlagen 1.1 Was sind "FIR-Filterquot-FIR-Filter sind einer von zwei primären Typen von digitalen Filtern, die in digitalen Signalverarbeitungsanwendungen (DSP) verwendet werden, wobei der andere Typ IIR ist. 1.2 Was bedeutet "FIRquot" bedeutet "FIRquot" bedeutet "FInite Impulse Responsequot". Wenn Sie einen Impuls, das heißt, ein einziges quadratisches Beispiel, gefolgt von vielen quot0quot Proben, setzen, werden Nullen herauskommen, nachdem das quot1quot Beispiel seinen Weg durch die Verzögerungslinie des Filters gemacht hat. 1.3 Warum ist die Impulsantwort quotfinitequot Im allgemeinen Fall ist die Impulsantwort endlich, da es keine Rückmeldung in der FIR gibt. Ein Mangel an Feedback garantiert, dass die Impulsantwort endlich ist. Daher ist der Begriff "endliche Impulsantwort" annähernd gleichbedeutend mit einer Quotno-Rückmeldung. Wenn jedoch die Rückkopplung verwendet wird, ist die Impulsantwort endlich, der Filter ist jedoch immer noch ein FIR. Ein Beispiel ist das gleitende Mittelfilter, bei dem jedes Mal, wenn eine neue Probe eintritt, subtrahiert (rückgekoppelt) wird. Dieser Filter hat eine endliche Impulsantwort, obwohl er Rückkopplung verwendet: nach N Abtastungen eines Impulses die Ausgabe Wird immer Null sein. 1.4 Wie kann ich etwas aussprechen? Einige Leute sagen, die Buchstaben F-I-R andere Leute auszusprechen, als wäre es eine Art von Baum. Wir bevorzugen den Baum. (Der Unterschied besteht darin, ob Sie über einen F-I-R-Filter oder einen FIR-Filter sprechen.) 1.5 Was ist die Alternative zu FIR-Filtern DSP-Filter können auch "Infinite Impulse Responsequot (IIR)" sein. (Siehe dspGurus IIR FAQ.) IIR-Filter verwenden Feedback, so dass bei der Eingabe eines Impulses die Ausgabe theoretisch unendlich klingelt. 1.6 Wie FIR-Filter mit IIR-Filtern vergleichen Jedes hat Vor - und Nachteile. Insgesamt aber überwiegen die Vorteile von FIR-Filtern die Nachteile, so dass sie viel mehr als IIRs verwendet werden. 1.6.1 Was sind die Vorteile von FIR-Filtern (im Vergleich zu IIR-Filtern) Im Vergleich zu IIR-Filtern bieten FIR-Filter folgende Vorteile: Sie lassen sich leicht als quasi-lineare Phasenquotten konzipieren (und sind in der Regel). Einfach ausgedrückt, verzögern lineare Phasenfilter das Eingangssignal, aber donrsquot verzerrt seine Phase. Sie sind einfach zu implementieren. Bei den meisten DSP-Mikroprozessoren kann die FIR-Berechnung durch Schleifen einer einzigen Anweisung durchgeführt werden. Sie eignen sich für Mehrpreisanwendungen. Mit Multi-Rate bedeuten wir entweder einen Dekrementquot (Reduzierung der Abtastrate), eine Interpolation (Erhöhung der Abtastrate) oder beides. Ob Dezimierung oder Interpolation, die Verwendung von FIR-Filtern erlaubt es, einige der Berechnungen wegzulassen, wodurch eine wichtige Recheneffizienz geschaffen wird. Im Gegensatz dazu, wenn IIR-Filter verwendet werden, muss jeder Ausgang individuell berechnet werden, auch wenn dieser Ausgang verworfen wird (so dass die Rückkopplung wird in den Filter integriert werden). Sie haben gewünschte numerische Eigenschaften. In der Praxis müssen alle DSP-Filter mit Hilfe einer Finite-Precision-Arithmetik, dh einer begrenzten Anzahl von Bits, implementiert werden. Die Verwendung von Finite-Precision-Arithmetik in IIR-Filtern kann aufgrund des Feedbacks erhebliche Probleme verursachen, aber FIR-Filter ohne Rückkopplung können gewöhnlich mit weniger Bits implementiert werden, und der Konstrukteur hat weniger praktische Probleme, die mit der nicht idealen Arithmetik zusammenhängen. Sie können mit Hilfe von fractional arithmetic implementiert werden. Im Gegensatz zu IIR-Filtern ist es immer möglich, ein FIR-Filter unter Verwendung von Koeffizienten mit einer Grße von weniger als 1,0 einzusetzen. (Die Gesamtverstärkung des FIR-Filters kann bei Bedarf an seinem Ausgang eingestellt werden.) Dies ist ein wichtiger Aspekt bei der Verwendung von Festpunkt-DSPs, da sie die Implementierung viel einfacher macht. 1.6.2 Was sind die Nachteile von FIR-Filtern (im Vergleich zu IIR-Filtern) Im Vergleich zu IIR-Filtern haben FIR-Filter manchmal den Nachteil, dass sie mehr Speicher und Berechnung benötigen, um eine gegebene Filtercharakteristik zu erreichen. Auch sind bestimmte Reaktionen mit FIR-Filtern nicht praktikabel. 1.7 Welche Begriffe werden bei der Beschreibung von FIR-Filtern verwendet? Impulsantwort - Der Impulsantwortfaktor eines FIR-Filters ist eigentlich nur der Satz von FIR-Koeffizienten. (Wenn Sie ein quotimplusequot in einen FIR-Filter setzen, der aus einem quotierten Quot-Sample besteht, gefolgt von vielen quot0quot-Samples, ist das Ausgangssignal des Filters die Menge der Koeffizienten, wenn sich die 1 Sample nacheinander um jeden Koeffizienten bewegt, um die Ausgabe zu bilden. Tippen - Ein FIR quottapquot ist einfach ein Koeffizientenverzögerungspaar. Die Anzahl der FIR-Anzapfungen (oft als "Anfasser" bezeichnet) ist ein Hinweis auf 1) die zur Implementierung des Filters erforderliche Speicherkapazität, 2) die Anzahl der erforderlichen Berechnungen und 3) die Menge des Filterfilters, Multiply-Accumulate (MAC) - In einem FIR-Kontext ist ein MACquot der Vorgang des Multiplizierens eines Koeffizienten mit dem entsprechenden verzögerten Datenabtastwert und der Akkumulierung des Ergebnisses. FIRs erfordern normalerweise einen MAC pro Hahn. Die meisten DSP-Mikroprozessoren implementieren die MAC-Operation in einem einzigen Befehlszyklus. Transition Band - Das Frequenzband zwischen Passband - und Stopband-Kanten. Je schmaler das Übergangsband ist, desto mehr Taps werden benötigt, um den Filter zu implementieren. (Ein quotsmallquot-Übergangsband führt zu einem quotsharpquot-Filter.) Delay Line - Der Satz von Speicherelementen, die die quotZ-1quot-Verzögerungselemente der FIR-Berechnung implementieren. Zirkulärer Puffer - Ein spezieller Puffer, der zirkulär ist, weil eine Inkrementierung am Ende dazu führt, dass er an den Anfang wickelt, oder weil das Dekrementieren von Anfang an bewirkt, dass es bis zum Ende umwickelt. Zirkuläre Puffer werden oft von DSP-Mikroprozessoren bereitgestellt, um den Quotientenquot der Proben durch die FIR-Verzögerungsleitung zu implementieren, ohne die Daten im Speicher wörtlich bewegen zu müssen. Wenn ein neues Sample zum Puffer hinzugefügt wird, ersetzt es automatisch die älteste. Ich bin neu auf Digitalfilter, hoffentlich kann ich hier einige intuitive Einsichten bekommen. Also, hier die Frage: Ein Tiefpassfilter mit 5Hz Grenzfrequenz soll entworfen werden. Die dargestellten Signale haben eine maximale Frequenz von 1 kHz. Daher erfüllt eine 1MHz-Abtastrate die Naquist-Sampling-Theorie für das digitale Filterteil vollständig. Say Ich möchte ein 5Hz-Analog-Tiefpassfilter zu implementieren, muss ich mindestens 0.2s warten, oder sogar 10-mal mehr Zeit, um eine genaue Daten, wegen der Ladezeit der RC-Schaltungen zu bekommen. Sind die Dinge die gleichen für digitale Filter Say Ich möchte ein 10-Tap (Datenlänge) Tiefpassfilter mit Cut-off-Frequenz 5Hz implementieren. Die Abtastrate beträgt 1 MHz. Kann ich eine gültige Daten innerhalb 1 (1MHz10) 10us Zeit Das scheint nicht sehr vernünftig für mich. In dieser Anmeldung sind zwei Filter auszulegen. In beiden Filtern wollen wir nur den DC kennen. Das DC-Signal wird in großen Geräuschen begraben. Eine Grenzfrequenz von 5 Hz wird gewählt, da wir gültige Messwerte bei 5 Hz haben wollen. Und niedrigere Cutoff-Frequenz bedeutet kleinere Geräusche, aber auch längere Zeit benötigt, um eine angemessene Lesung zu erhalten. Ein Filter hat eine Bandbreite von 6 kHz (nicht 1 MHz, was nur ein Beispiel war). Und wir planen, es mit einer Abtastrate von 36 kHz zu überschreiten. Der andere Filter hat eine Bandbreite von 60 Hz, und wir planen, ihn bei 1kHz zu übertakten. Wie aus der Filterbeschreibung hervorgeht, wollen wir möglichst geringe Geräusche. Daher wird erwartet, dass die digitalen Filter scharfe Kante bei 5 Hz haben. Und alle anderen Parameter, wie lineare Phase, kleine Welligkeit. Und etc sind für uns nicht wichtig, da wir uns nur um DC-Messwerte kümmern. Und ich bin ganz durch die enormen Arten von digitalen Filtern verwirrt. Wie wählt man sie aus Say, zwischen FIR und IIR angefragt Es gibt große Flexibilität bei der Gestaltung eines digitalen Filters. Sie können digitale Filter, die sich sehr ähnlich verhalten analoge Filter (wie Andy aka beschrieben). Sie können auch digitale Filter, die schwer zu reproduzieren in analoge wie ein Linearphasenfilter oder ein Half-Band-Filter. Oder nicht-lineare digitale Filter wie Median-Filter, die keine analoge Äquivalenz in LTI-Systemen haben. Für Ihre Anforderungen eines scharfen Tiefpassfilters Id schlagen Sie eine einfache IIR der Form: out (1-a) in einem aus der näheren a ist zu 1 desto niedriger die Cutoff-Frequenz Ihres Filters. Sie können ein Problem mit der Abtastrate 1MHz und 5Hz Cutoff haben, weil: a exp (-2piffs), wobei f die Cutoff-Frequenz und fs die Abtastfrequenz ist. Für Ihr Beispiel: a exp (-2pi51E6) 0.99997 Wenn Sie wirklich eine 1MHz Abtastrate benötigen (da Ihre Daten beispielsweise von einem 1MSPS ADC abgetastet werden müssen), dann ist ein mehrstufiger 3-Stufenfilter besser geeignet. Dazu würden Sie: Durchschnittliche 32 Werte bei 1 MHz und Ausgabe einer Probe von 32 bei 1MHz32 Durchschnittliche 32 Werte bei 1MHz32 und Ausgeben eines Beispiels von 32 bei 1MHz322 (1MHz1024) Implementieren Sie einen LPF wie oben mit einer Abtastrate von 1MHz1024. UPDATE BASIERT AUF NEUE INFO VON OP: Basierend auf Ihrer Information, dass: Sie interessieren sich nur für DC Sie sind nicht sicher über die Cutoff-Frequenz, weil Sie 60Hz und 6kHz Bandbreite erwähnen, sondern auch eine Cutoff-Frequenz von 5Hz Sie benötigen Flexibilität in Sample-Rate Ich denke Ihre beste Wahl ist ein CIC Decimator. Grundsätzlich ist es ein MA (FIR) Digitalfilter, bestehend aus einem Integrator am Eingang getaktet bei der ADC Abtastrate (36kHz gezeigt), ein Differenzierer am Ausgang getaktet bei der Ausgangsleistung. Sie können steuern, wie viel Filter Sie erhalten, indem Sie die Ausgaberate ändern. Zum Beispiel mit einer Eingangsrate von 36kHz und einer Ausgangsfrequenz von 5Hz gibt Ihnen dies einen 360005 7200 Punkt gleitenden Durchschnitt. In Wirklichkeit youd wie die Preise als binäre Verhältnisse zu halten, so M13 gibt 36kHz in 36kHz213 aus und MA Länge ist 2M 8192 Die Gruppenverzögerung wird dies 2 (M-1) Fin oder 113ms für das obige Beispiel. Das ist einer der Nachteile einer solchen einfachen Schaltung, wäre aber kein Problem in einem System, dessen DC-Wert sich langsam ändert. Danke für deine Antwort. Könnte ich ein bisschen auf meine Spezifikationen hinzufügen 1. Eigentlich zwei Filter sind zwei entworfen werden. 2. Das Eingangssignal eines Filters hat eine Bandbreite von 6 kHz. Und die Filter-Cutoff-Frequenz beträgt 5 Hz. Das Eingangssignal des anderen Signals ist 60 Hz und die Grenzfrequenz ist ebenfalls 5 Hz. Daher ist die Flexibilität bei dieser Anwendung nicht sehr wichtig. Ndash richieqianle Es gibt viele Arten von Filtern, und die transiente (Zeit-Bereich) Antwort ist direkt auf die Frequenz-Bereich Antwort. Aber es spielt keine Rolle, ob die Implementierung ist analog oder digital jedem Filter mit einem bestimmten Frequenzgang wird die gleiche transiente Antwort haben. Sie wählen ein Filter-Design auf der Grundlage, welche Aspekte seiner Leistung sind sehr wichtig in Ihrer Anwendung. Einige Architekturen haben insbesondere flache Frequenzbereichs-Durchlassbänder, andere weisen besonders steile Übergangsbänder auf und einige sind speziell für ihre Zeitbereichsantwort optimiert (z. B. kein Klingeln). Sein ein Thema, das wirklich zu breit ist, um hier zu adressieren. Antwort von einem einfachen RC-Tiefpassfilter zu einem Tiefpass-IIR-Filter ist ziemlich einfach: - Dies ist ein 4-Schritt-Demo, dass es keinen grundlegenden Unterschied in der Leistung zwischen einem analogen Filter und Ein digitales IIR-Filter. Betrachtet eure 1MHz Abtastrate und die gewünschte Abschaltung von 5Hz, das macht den Faktor (TCR) sehr, sehr klein. Zum Beispiel wird CR für ein analoges 5Hz LP-Filter sein: - Wenn Sie in einem 1us Zeitschritt Faktor, wird TCR 3,183E-8. Allerdings können Sie Ihre Daten um mindestens 10.000: 1 sinnvoll dezimieren und mit einer Abtastrate arbeiten, die 100Hz beträgt. Das macht die Zahlen natürlich einfacher. Wenn Sie diese Filter kaskadieren möchten, um eine höhere Ordnung zu erhalten, schrieb ich ein Dokument, das Ihnen beim Start helfen könnte. Es ist hier . Beantwortet Apr 30 14 bei 13:38


No comments:

Post a Comment