Skip to main content

Moving Average Filter Dsp Code

Ein einleitender digitaler Filter Nun öffnen Sie MicroModeler DSP und wählen Sie einen digitalen Filter von der Symbolleiste an der Oberseite und ziehen Sie sie zu unserer Anwendung. Nun wählen Sie einen gleitenden Durchschnitt Filter, weil seine eine der einfachsten Arten von Filtern. Nach dem Löschen des Filters werden die Anzeigen automatisch aktualisiert. (Klicken Sie auf MicroModeler DSP in einem neuen Fenster zu starten) Wir alle wissen, was ein Durchschnitt ist - fügen Sie die Zahlen zusammen und teilen, wie viele es gibt. Ein gleitender Durchschnitt filtert genau das. Es speichert eine Historie der letzten N Zahlen und gibt ihren Durchschnitt aus. Jedes Mal, wenn eine neue Zahl kommt, wird der Mittelwert effektiv aus den gespeicherten Mustern neu berechnet und eine neue Zahl ausgegeben. Der Frequenzgang eines Filters Oben rechts sehen wir den Graphen von Magnitude vs Frequency, oder wie viel unterschiedliche Frequenzen durch den gleitenden mittleren Filter verstärkt oder reduziert werden. Wie Sie vielleicht erwarten, wird ein Mittelwert der letzten N Abtastwerte eine Art Glättung auf das Signal anwenden, wobei die niedrigen Frequenzen beibehalten und die hohen Frequenzen entfernt werden. Wir können die Anzahl der vorherigen Eingaben oder Proben, die sie durch die Einstellung der Filterlänge N steuert, steuern. Durch Anpassen dieser Funktion können wir sehen, dass wir eine grundlegende Kontrolle darüber haben, welche Frequenzen passieren und welche verworfen werden. Das Innere eines Filters Wenn wir die Strukturansicht betrachten, können wir sehen, wie das Innere eines gleitenden Durchschnittsfilters aussehen könnte. Das Diagramm wurde kommentiert, um zu zeigen, was die verschiedenen Symbole bedeuten. Die Z -1 - Zeichen bedeuten Verzögerung um ein Mal und die Symbole bedeuten addieren oder kombinieren die Signale. Die Pfeile bedeuten multiplizieren (denken verstärken, reduzieren oder skalieren) das Signal um den Betrag rechts neben dem Pfeil angezeigt. Für einen Durchschnitt von 5 Proben nehmen wir ein Fünftel (0,2) der letzten Probe, ein Fünftel der zweitletzten Stichprobe und so weiter. Die Verzögerungskette wird als Verzögerungsleitung bezeichnet, wobei das Eingangssignal um einen weiteren Zeitschritt verzögert wird, wenn man entlang der Verzögerungsleitung fortschreitet. Die Pfeile werden auch als Hähne, so können Sie fast denken sie als Hähne wie die in Ihrem Küchenspüle, die alle eine fünfte offen sind. Man könnte sich vorstellen, dass das Signal von links einfließt und sich fortschreitend verzögert, wenn es sich entlang der Verzögerungsstrecke bewegt und dann in unterschiedlichen Stärken durch die Abgriffe wieder zusammengeführt wird, um den Ausgang zu bilden. Es sollte auch leicht zu sehen, dass die Ausgabe des Filters werden: Das entspricht dem Durchschnitt der letzten 5 Proben. In der Praxis wird der von MicroModeler DSP erzeugte Code Tricks verwenden, um dies effizienter zu machen, so daß nur erste und letzte Abtastungen beteiligt sein müssen, aber das Diagramm ist zu illustrativen Zwecken gut. Wenn Sie dies verstehen können, dann können Sie eine Idee, was ein FIR-Filter ist. Ein FIR-Filter ist identisch mit dem gleitenden Durchschnittsfilter, aber stattdessen können alle Zapfstärken gleich sein, sie können unterschiedlich sein. Hier haben wir einen gleitenden Mittelfilter und einen FIR-Filter. Sie können sehen, dass sie strukturell gleich sind, der einzige Unterschied ist die Stärken der Hähne. Im nächsten Abschnitt werden wir Ihnen Finite Impulse Response (FIR) Filter vorstellen. Durch die Veränderung der Zapfwellenstärken können wir nahe jedem Frequenzgang, den wir wollen, nahe kommen. Der Wissenschaftler und Ingenieure Leitfaden zur digitalen 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. Ein gleitendes Durchschnittsfilter mittelt eine Anzahl von Eingangsabtastwerten und erzeugt eine einzelne Ausgangsabtastung. Diese Mittelungsaktion entfernt die hochfrequenten Komponenten, die in dem Signal vorhanden sind. Gleitende Mittelfilter werden normalerweise als Tiefpassfilter verwendet. Bei dem rekursiven Filteralgorithmus werden auch vorhergehende Abtastwerte für die Mittelung genommen. Ein gleitender Durchschnittsfilter mittelt eine Anzahl von Eingangsabtastungen und erzeugt ein einzelnes Ausgangssignal. Diese Mittelungsaktion entfernt die hochfrequenten Komponenten, die in dem Signal vorhanden sind. Gleitende Mittelfilter werden normalerweise als Tiefpassfilter verwendet. Bei dem rekursiven Filteralgorithmus werden auch vorhergehende Abtastwerte für die Mittelung genommen. Dies ist der Grund, warum seine Impulsantwort bis ins Unendliche reicht. So verwenden Sie das Beispielprogramm Die. zip-Datei enthält sowohl Quellcode als auch ausführbare Dateien. Zum Kompilieren und Ausführen des Quellcodes müssen Sie Visual Basic 6.0 in Ihrem Computer installiert haben. Zum Ausführen der ausführbaren Datei müssen Sie Visual Basic 6.0-Laufzeitdateien herunterladen und installieren. Führen Sie movavgfilt. exe aus und Sie sehen das Hauptfenster. Im Hauptfenster. Der obere Teil ist der Funktionsgenerator. Die unterschiedliche Wellenformen erzeugt, um den Filter zu testen. Wir können interaktiv die Amplitude, Frequenz und Form des erzeugten Signals verändern. Um das Programm zu testen, müssen wir zuerst eine entsprechende Wellenform erzeugen. Hier werden wir eine komplexe Wellenform erzeugen, die aus zwei verschiedenen Frequenzen besteht. Lassen Sie alles in den Standardeinstellungen und klicken Sie aufgeneratequot Button. Nun können Sie in der Grafik neben dem Signalgenerator ein 10 Hz-Signal sehen. Abbildung unten zeigt die Wellenform. Ändern Sie nun die Frequenz auf 100 Hz und klicken Sie erneut auf die Schaltfläche "Generatequot". Die neu erzeugte Wellenform wird der vorhandenen Wellenform hinzugefügt, und die resultierende Wellenform sieht wie eine 10 Hz-Sinuswelle mit 100 Hz-Rauschen aus. Siehe Wellenform unten. Diese Wellenform eignet sich am besten für die Prüfung des Filters, da er zwei unterschiedliche Frequenzen enthält. Sie können den Filter ausführen, indem Sie auf die Schaltfläche "Filterquot" klicken. Von den verfügbaren Optionen auf die quotFilterquot-Schaltfläche. Können Sie Rekursive, nicht rekursive Filterung oder gar keine Filterung auswählen. Die folgende Abbildung zeigt den Ausgang des Filters. Herunterladen Moving Average Filter-Quellcode


Comments