Saturday, October 29, 2016

Filter erster ordnung

Nehmen wir den IIR-Filter erster Ordnung an: yn alpha xn (1 - alpha) yn - 1 Wie kann ich den Parameter alpha s. t. Das IIR annähernd so gut wie möglich die FIR, die das arithmetische Mittel der letzten k Proben ist: Wo n in k, infty), was bedeutet, dass der Eingang für den IIR länger als k sein kann und dennoch Id die beste Annäherung der haben Mittelwert der letzten k Eingänge. Ich weiß, die IIR hat unendliche Impulsantwort, daher Im auf der Suche nach der besten Annäherung. Id für die analytische Lösung glücklich sein, ob es für oder ist. Wie konnten diese Optimierungsprobleme nur mit der 1. Ordnung IIR gelöst werden. (1 - alpha) yn - 1 genau ndash Es ist verpflichtet, eine sehr schlechte Annäherung zu werden. Can39t Sie leisten, alles, was mehr als ein First-Order IIR ndash leftaroundover Okt 6 11 at 13:42 Vielleicht möchten Sie Ihre Frage bearbeiten, so dass Sie don39t verwenden yn zwei verschiedene Dinge bedeuten, z. Könnte die zweite angezeigte Gleichung zn frac xn cdots frac xn-k1 lesen, und Sie könnten sagen, was genau ist Ihr Kriterium der Quoten gut als möglichequot z. B. Wollen Sie vert yn - znvert so klein wie möglich für alle n, oder vert yn - znvert2 so klein wie möglich für alle n sein. Ndaren Dilip Sarwate Ich weiß, das ist eine alte Post so, wenn Sie sich erinnern können: wie ist Ihre Funktion 39f39 abgeleitet I39ve codiert eine ähnliche Sache, sondern mit den komplexen Übertragungsfunktionen für FIR (H1) und IIR (H2 ) Und dann Summe (abs (H1 - H2) 2). I39ve verglichen dieses mit Ihrer Summe (fj), aber erhalten unterschiedliche resultierende Ausgänge. Dachte, ich würde vor dem Pflügen durch die Mathematik fragen. (1 - alpha) alpha xn - 1 (1 - alpha) 2 yn - 1 ampamp alpha xn (1 - alpha) alpha xn - 1 (1 - alpha) 2 yn - 2 ampamp alpha xn (1 - alpha) alpha xn-1 (1 - alpha) 2 alpha xn-2 (1 - alpha) 3 yn - 3 Ende, so daß der Koeffizient von xn-m alpha (1-alpha) m ist . Der nächste Schritt ist, Derivate zu nehmen und gleich Null zu sein. Betrachtet man ein Plot des abgeleiteten J für K 1000 und Alpha von 0 bis 1, sieht es aus wie das Problem (wie Ive es aufgestellt) ist schlecht gestellt, weil die beste Antwort ist Alpha 0. Ich denke, Theres ein Fehler hier. Die Art und Weise sollte es nach meinen Berechnungen sein: Mit dem folgenden Code auf MATLAB ergibt etwas Äquivalentes zwar unterschiedlich: Jedenfalls haben diese Funktionen Minimum. So können wir annehmen, dass wir uns nur um die Annäherung über die Unterstützung (Länge) des FIR-Filters kümmern. In diesem Fall ist das Optimierungsproblem genau: J2 (alpha) sum (alpha (1-alpha) m - frac) 2 Das Plotten J2 (alpha) für verschiedene Werte von K versus alpha ergibt das Datum in den Diagrammen und der Tabelle unten. Für K 8. alpha 0,1533333 für K 16. alpha 0,08 für K 24. alpha 0,0533333 für K 32. alpha 0,04 für K 40. alpha 0,0333333 für K 48. alpha 0,0266667 für K 56. alpha 0,0233333 für K 64. alpha 0,02 für K 72. alpha 0.0166667 Die roten gestrichelten Linien sind 1 / K und die grünen Linien alpha, der Wert von alpha, der J2 (alpha) minimiert (ausgewählt unter tt alpha 0: 0,01: 1/3). Theres eine nette Diskussion dieses Problems in der eingebetteten Signalverarbeitung mit der Mikrosignalarchitektur. Etwa auf den Seiten 63 und 69. Auf Seite 63 ist eine Ableitung des exakten rekursiven gleitenden Durchschnittsfilters (die niaren in seiner Antwort gegeben hat) enthalten. Zur Bequemlichkeit in Bezug auf die folgende Diskussion entspricht sie der folgenden Differenzengleichung: Die Näherung Die den Filter in die von Ihnen angegebene Form bringt, vorausgesetzt, dass x approx y, weil (und ich zitiere aus S. 68) y der Mittelwert von xn Proben ist. Diese Approximation erlaubt es uns, die vorstehende Differenzengleichung wie folgt zu vereinfachen: Einstellen von alpha, erhalten wir zu Ihrer ursprünglichen Form y alpha xn (1-alpha) y, was zeigt, dass der Koeffizient, den Sie (in Bezug auf diese Approximation) genau 1over haben wollen (Wobei N die Anzahl der Proben ist). Ist diese Annäherung die beste in irgendeiner Hinsicht Sein sicherlich elegant. Heres, wie sich die Amplitudenreaktion bei 44,1 kHz für N 3 vergleicht und wenn N auf 10 zunimmt (Annäherung in blau): Wie die Peters-Antwort nahelegt, kann die Annäherung eines FIR-Filters mit einem rekursiven Filter unter einer Kleinste-Quadrate-Norm problematisch sein. Eine ausführliche Diskussion darüber, wie dieses Problem im Allgemeinen gelöst werden kann, finden Sie in JOSs These, Techniken für Digitalfilter Design und System Identifikation mit Anwendung auf die Violine. Er befürwortet die Verwendung der Hankel-Norm, aber in Fällen, in denen die Phasenreaktion keine Rolle spielt, deckt er auch die Kopecs-Methode ab, die in diesem Fall gut funktionieren könnte (und eine L2-Norm verwendet). Einen breiten Überblick über die Techniken in der Arbeit finden Sie hier. Sie können andere interessante Approximationen liefern. FIR-Filter, IIR-Filter und die lineare Konstantenkoeffizienten-Differenzengleichung Causal Moving Average (FIR) - Filter Weve diskutierte Systeme, bei denen jede Probe des Outputs eine gewichtete Summe der (gewissen) der Proben ist Des Eingangs. Nehmen wir ein kausal gewichtetes Summensystem, wobei Kausal bedeutet, dass ein gegebenes Ausgangssample nur von dem aktuellen Eingangssample und anderen Eingängen früher in der Sequenz abhängt. Weder lineare Systeme überhaupt noch endliche Impulsantwortsysteme müssen kausal sein. Jedoch ist Kausalität bequem für eine Art Analyse, die bald erforschen würde. Wenn wir die Eingaben als Werte eines Vektors x symbolisieren. Und die Ausgänge als entsprechende Werte eines Vektors y. Dann kann ein solches System beschrieben werden, bei dem die b-Werte ein Gewicht sind, das auf die aktuellen und früheren Eingangsabtastwerte angewendet wird, um die aktuelle Ausgangsabtastung zu erhalten. Wir können an den Ausdruck als Gleichung denken, wobei das Gleichheitszeichen bedeutet gleich oder als Verfahrensanweisung mit dem Gleichheitszeichen Bedeutung Zuordnung. Schreiben wir den Ausdruck für jeden Ausgangsprobe als MATLAB-Schleife von Zuweisungsanweisungen, wobei x ein N-Längenvektor von Eingangsabtastwerten ist und b ein M-Längenvektor von Gewichten ist. Um mit dem Spezialfall am Anfang umzugehen, werden wir x in einen längeren Vektor xhat einbetten, dessen erste M-1 Abtastwerte Null sind. Wir werden die gewichtete Summe für jedes y (n) als inneres Produkt schreiben und einige Manipulationen der Eingänge (wie Reversieren b) zu diesem Zweck durchführen. Diese Art von System wird oft als ein gleitender Durchschnitt Filter, aus offensichtlichen Gründen. Aus unseren früheren Diskussionen sollte klar sein, dass ein solches System linear und verschiebungsinvariant ist. Natürlich wäre es viel schneller, die MATLAB-Convolution-Funktion conv () anstelle unseres mafilt () zu verwenden. Anstatt die ersten M-1 Abtastwerte des Eingangs null zu betrachten, könnten wir sie als die letzten M-1 Abtastwerte betrachten. Dies ist die gleiche wie die Behandlung der Eingabe als periodisch. Nun verwenden Sie cmafilt () als den Namen der Funktion, eine kleine Änderung der früheren mafilt () - Funktion. Bei der Bestimmung der Impulsantwort eines Systems gibt es gewöhnlich keinen Unterschied zwischen diesen beiden, da alle nicht initialen Abtastungen der Eingabe Null sind: Da ein System dieser Art linear und schichtinvariant ist, wissen wir, dass seine Wirkung auf irgendwelche Sinusoid wird nur zu skalieren und verschieben. Hier ist es wichtig, dass wir die kreisförmige Version verwenden. Die kreisförmig gefaltete Version wird verschoben und skaliert, während die Version mit gewöhnlicher Faltung zu Beginn verzerrt ist. Lets sehen, was die exakte Skalierung und Verschiebung ist mit einem fft: Beide Eingang und Ausgang haben Amplitude nur bei Frequenzen 1 und -1, wie es sein sollte, da der Eingang war ein Sinus und das System war linear. Die Ausgangswerte sind um ein Verhältnis von 10,6251 / 8 1,3281 größer. Das ist der Gewinn des Systems. Was ist mit der Phase Wir müssen nur schauen, wo die Amplitude ungleich Null ist: Der Eingang hat eine Phase von pi / 2, wie wir wollten. Die Ausgangsphase wird um eine zusätzliche 1,0594 (mit umgekehrtem Vorzeichen für die negative Frequenz) oder etwa 1/6 eines Zyklus nach rechts verschoben, wie wir im Diagramm sehen können. Nun können wir eine Sinuskurve mit der gleichen Frequenz (1) ausprobieren, aber statt der Amplitude 1 und der Phase pi / 2 versuchen wir die Amplitude 1.5 und die Phase 0. Wir wissen, dass nur Frequenz 1 und -1 Amplitude ungleich Null haben (15.9377 / 12.0000) ist 1.3281 - und für die Phase ist es wieder um 1.0594 verschoben. Wenn diese Beispiele typisch sind, können wir die Wirkung unseres Systems vorhersagen (Impulsantwort .1 .2 .3 .4 .5) auf jedem Sinus mit der Frequenz 1 - wird die Amplitude um den Faktor 1,3281 erhöht und die (positive Frequenz) Phase um 1,0594 verschoben. Wir können die Wirkung dieses Systems auf Sinusoide anderer Frequenzen mit denselben Methoden berechnen. Aber es gibt einen viel einfacheren Weg, und eine, die den allgemeinen Punkt. Da die (zirkuläre) Faltung im Zeitbereich eine Multiplikation im Frequenzbereich bedeutet, folgt daraus, daß mit anderen Worten die DFT der Impulsantwort das Verhältnis der DFT des Ausgangs zu der DFT des Eingangs ist. In dieser Beziehung sind die DFT-Koeffizienten komplexe Zahlen. Wegen der abs (c1 / c2) abs (c1) / abs (c2) für alle komplexen Zahlen c1, c2 gibt diese Gleichung an, dass das Amplitudenspektrum der Impulsantwort immer das Verhältnis des Amplitudenspektrums der Ausgabe zu diesem ist Des Eingangs. Im Falle des Phasenspektrums ist der Winkel (c1 / c2) - Winkel (c1) - Winkel (c2) für alle c1, c2 (mit der Maßgabe, dass sich um n2pi unterschiedliche Phasen unterscheiden). Daher wird das Phasenspektrum der Impulsantwort immer die Differenz zwischen den Phasenspektren des Ausgangs und dem Eingang sein (mit welchen Korrekturen um 2pi benötigt werden, um das Ergebnis zwischen - pi und pi zu halten). Wir können die Phaseneffekte deutlicher sehen, wenn wir die Darstellung der Phase entpacken, d. h. wenn wir verschiedene Multiples von 2pi hinzufügen, wie es erforderlich ist, um die Sprünge zu minimieren, die durch die periodische Natur der angle () - Funktion erzeugt werden. Obwohl die Amplitude und die Phase üblicherweise für grafische und sogar tabellarische Darstellungen verwendet werden, sind die komplexen Fourier-Koeffizienten algebraisch nützlicher, da sie eine intuitive Möglichkeit sind, über die Auswirkungen eines Systems auf die verschiedenen Frequenzkomponenten seines Eingangs nachzudenken Der einfache Ausdruck der Beziehung Der allgemeine Ansatz, den wir soeben gesehen haben, wird mit beliebigen Filtern des skizzierten Typs arbeiten, wobei jeder Ausgangssample eine gewichtete Summe eines Satzes von Eingangsabtastwerten ist. Wie bereits erwähnt, werden diese oft als Finite-Impulse-Response-Filter bezeichnet, da die Impulsantwort von Finite-Size - oder manchmal Moving-Average-Filtern ist. Wir können die Frequenzantwortcharakteristiken eines solchen Filters aus der FFT seiner Impulsantwort bestimmen, und wir können auch neue Filter mit gewünschten Eigenschaften durch IFFT aus einer Spezifikation des Frequenzgangs entwerfen. Autoregressive (IIR) - Filter Es wäre wenig Sinn, mit Namen für FIR-Filter, es sei denn, es gab eine andere Art von ihnen zu unterscheiden, und so diejenigen, die Pragmatik studiert haben, werden nicht überrascht sein, zu erfahren, dass es tatsächlich eine andere große Art Des linearen zeitinvarianten Filters. Diese Filter werden manchmal rekursiv genannt, weil der Wert der vorherigen Ausgaben (sowie vorhergehende Eingaben) von Bedeutung ist, obwohl die Algorithmen im Allgemeinen unter Verwendung von iterativen Konstrukten geschrieben werden. Sie werden auch als Infinite Impulse Response (IIR) - Filter bezeichnet, weil im Allgemeinen ihre Reaktion auf einen Impuls für immer weitergeht. Sie werden auch manchmal als autoregressive Filter bezeichnet, da man die Koeffizienten als das Ergebnis einer linearen Regression verstehen kann, um Signalwerte als Funktion früherer Signalwerte auszudrücken. Die Beziehung von FIR - und IIR-Filtern ist deutlich in einer linearen konstanten Koeffizienten-Differenzgleichung zu sehen, d. h. eine gewichtete Summe von Ausgängen, die gleich einer gewichteten Summe von Eingängen ist, einzustellen. Dies ist wie die Gleichung, die wir früher für das kausale FIR-Filter angegeben haben, außer dass wir neben der gewichteten Summe von Eingängen auch eine gewichtete Summe von Ausgängen haben. Wenn wir dies als eine Prozedur zur Erzeugung von Ausgangssamples betrachten wollen, müssen wir die Gleichung neu anordnen, um einen Ausdruck für den aktuellen Ausgabeprobe y (n) zu erhalten, wobei die Konvention angenommen wird, dass a (1) 1 (z Und bs) können wir den 1 / a (1) Term loswerden: y (n) b (1) x (n) b (2) x (n-1). B (Nb1) x (n-nb) - a (2) y (n-1) -. - a (Na1) y (n-na) Wenn alle anderen a (n) als a (1) Null sind, reduziert dies auf unseren alten Freund das kausale FIR-Filter. Dies ist der allgemeine Fall eines (kausalen) LTI-Filters und wird durch den MATLAB-Funktionsfilter implementiert. Schauen wir uns den Fall an, bei dem die b-Koeffizienten außer b (1) null sind (anstelle des FIR-Falles, bei dem a (n) Null ist): In diesem Fall wird die aktuelle Ausgabeprobe y (n) als a berechnet Gewichtete Kombination der aktuellen Eingangsabtastung x (n) und der vorhergehenden Ausgangsabtastwerte y (n - 1), y (n - 2) usw. Um eine Vorstellung davon zu erhalten, was mit solchen Filtern geschieht, Das heißt, der Stromausgangsabtastwert ist die Summe der aktuellen Eingangsabtastung und der Hälfte der vorhergehenden Ausgangsabtastung. Nun nehmen einen Eingangsimpuls durch ein paar Zeitschritte, eine zu einer Zeit. Es sollte an diesem Punkt klar sein, daß wir leicht einen Ausdruck für den n-ten Ausgabe-Abtastwert schreiben können: er ist nur (Wenn MATLAB von 0 gezählt wird, wäre dies einfach 0,5 n). Da das, was wir berechnen, die Impulsantwort des Systems ist, haben wir durch Beispiel gezeigt, daß die Impulsantwort tatsächlich unendlich viele Proben ungleich Null haben kann. Um diesen trivialen Filter erster Ordnung in MATLAB zu implementieren, könnten wir Filter verwenden. Der Aufruf sieht folgendermaßen aus: und das Ergebnis ist: Ist dieses Geschäft wirklich noch linear? Wir können dies empirisch betrachten: Für einen allgemeineren Ansatz betrachten wir den Wert eines Ausgabebeispiels y (n). Durch sukzessives Ersetzen können wir dies so schreiben: Dies ist genau wie unser alter Freund die Faltungssummenform eines FIR-Filters mit der Impulsantwort, die durch den Ausdruck .5k geliefert wird. Und die Länge der Impulsantwort ist unendlich. Es gelten also die gleichen Argumente, die wir zeigen, dass FIR-Filter linear waren. Bisher scheint dies viel Aufhebens um nicht viel zu sein. Was ist diese ganze Untersuchung gut für gut beantworten diese Frage in Stufen, beginnend mit einem Beispiel. Es ist nicht eine große Überraschung, dass wir berechnen können eine Stichprobe Exponential durch rekursive Multiplikation. Betrachten wir einen rekursiven Filter, der etwas weniger offensichtlich macht. Dieses Mal machen wir es zu einem Filter zweiter Ordnung, so daß der Aufruf zum Filter die Form Lets hat, die den zweiten Ausgangskoeffizienten a2 auf -2cos (2pi / 40) und den dritten Ausgangskoeffizienten a3 auf 1 setzen und betrachten Die Impulsantwort. Nicht sehr nützlich als Filter tatsächlich, aber es erzeugt eine abgetastete Sinuswelle (aus einem Impuls) mit drei Multiplikations-Additionen pro Probe Um zu verstehen, wie und warum es das tut und wie rekursive Filter entworfen und analysiert werden können in Der allgemeinere Fall, müssen wir Schritt zurück und werfen Sie einen Blick auf einige andere Eigenschaften von komplexen Zahlen, auf dem Weg zum Verständnis der z transform. Exponential Filter Diese Seite beschreibt exponentielle Filterung, die einfachste und beliebteste Filter. Dies ist Teil des Abschnitts Filterung, der Teil des Leitfadens zur Fehlerdetektion und - diagnose ist. Überblick, Zeitkonstante und Analogäquivalent Der einfachste Filter ist der Exponentialfilter. Es hat nur einen Abstimmungsparameter (außer dem Probenintervall). Es erfordert die Speicherung nur einer Variablen - der vorherigen Ausgabe. Es ist ein IIR (autoregressive) Filter - die Auswirkungen einer Eingangsveränderung Zerfall exponentiell, bis die Grenzen der Displays oder Computer Arithmetik verstecken. In verschiedenen Disziplinen wird die Verwendung dieses Filters auch als 8220exponentielle Glättung8221 bezeichnet. In einigen Disziplinen wie der Investitionsanalyse wird der exponentielle Filter als 8220Exponential Weighted Moving Average8221 (EWMA) oder nur 8220Exponential Moving Average8221 (EMA) bezeichnet. Dies missbräuchlich die traditionelle ARMA 8220moving average8221 Terminologie der Zeitreihenanalyse, da es keinen Eingabehistorie gibt, der verwendet wird - nur die aktuelle Eingabe. Es ist das diskrete Zeit-Äquivalent der 8220 erster Ordnung lag8221, die üblicherweise in der analogen Modellierung von kontinuierlichen Zeitsteuerungssystemen verwendet wird. In elektrischen Schaltkreisen ist ein RC-Filter (Filter mit einem Widerstand und einem Kondensator) eine Verzögerung erster Ordnung. Bei der Betonung der Analogie zu analogen Schaltungen, ist der einzige Tuning-Parameter die 8220time constant8221, in der Regel als klein geschriebenen griechischen Buchstaben Tau () geschrieben. Tatsächlich entsprechen die Werte bei den diskreten Abtastzeiten genau der äquivalenten kontinuierlichen Zeitverzögerung mit der gleichen Zeitkonstante. Die Beziehung zwischen der digitalen Implementierung und der Zeitkonstante wird in den folgenden Gleichungen gezeigt. Exponentielle Filtergleichungen und Initialisierung Das Exponentialfilter ist eine gewichtete Kombination der vorherigen Schätzung (Ausgabe) mit den neuesten Eingangsdaten, wobei die Summe der Gewichtungen gleich 1 ist, so dass die Ausgabe mit dem Eingang im stationären Zustand übereinstimmt. Nach der bereits eingeführten Filternotation ist y (k) ay (k - 1) (1 - a) x (k) wobei x (k) die Roheingabe zum Zeitschritt ky (k) die gefilterte Ausgabe zum Zeitschritt ka ist Ist eine Konstante zwischen 0 und 1, normalerweise zwischen 0,8 und 0,99. (A-1) oder a wird manchmal die 8220-Glättungskonstante8221 genannt. Für Systeme mit einem festen Zeitschritt T zwischen Abtastwerten wird die Konstante 8220a8221 nur dann berechnet und gespeichert, wenn der Anwendungsentwickler einen neuen Wert der gewünschten Zeitkonstante angibt. Bei Systemen mit Datenabtastung in unregelmäßigen Abständen muss bei jedem Zeitschritt die exponentielle Funktion verwendet werden, wobei T die Zeit seit dem vorhergehenden Abtastwert ist. Der Filterausgang wird normalerweise initialisiert, um dem ersten Eingang zu entsprechen. Wenn die Zeitkonstante 0 nähert, geht a auf Null, so dass keine Filterung 8211 der Ausgang dem neuen Eingang entspricht. Da die Zeitkonstante sehr groß wird, werden Ansätze 1, so dass neue Eingabe fast ignoriert wird 8211 sehr starkes Filtern. Die obige Filtergleichung kann in folgendes Vorhersagekorrektor-Äquivalent umgeordnet werden: Diese Form macht deutlich, dass die variable Schätzung (Ausgabe des Filters) unverändert von der vorherigen Schätzung y (k-1) plus einem Korrekturterm basiert wird Auf die unerwartete 8220innovation8221 - die Differenz zwischen dem neuen Eingang x (k) und der Vorhersage y (k-1). Diese Form ist auch das Ergebnis der Ableitung des Exponentialfilters als einfacher Spezialfall eines Kalman-Filters. Die die optimale Lösung für ein Schätzproblem mit einem bestimmten Satz von Annahmen ist. Schrittantwort Eine Möglichkeit, den Betrieb des Exponentialfilters zu visualisieren, besteht darin, sein Ansprechen über die Zeit auf eine Stufeneingabe aufzuzeichnen. Das heißt, beginnend mit dem Filtereingang und dem Ausgang bei 0 wird der Eingangswert plötzlich auf 1 geändert. Die resultierenden Werte sind nachstehend aufgetragen: In dem obigen Diagramm wird die Zeit durch die Filterzeitkonstante tau geteilt, so daß man leichter prognostizieren kann Die Ergebnisse für einen beliebigen Zeitraum, für jeden Wert der Filterzeitkonstante. Nach einer Zeit gleich der Zeitkonstante steigt der Filterausgang auf 63,21 seines Endwertes an. Nach einer Zeit gleich 2 Zeitkonstanten steigt der Wert auf 86,47 seines Endwertes an. Die Ausgänge nach Zeiten gleich 3,4 und 5 Zeitkonstanten sind jeweils 95,02, 98,17 bzw. 99,33 des Endwerts. Da der Filter linear ist, bedeutet dies, dass diese Prozentsätze für jede Größenordnung der Schrittänderung verwendet werden können, nicht nur für den hier verwendeten Wert 1. Obwohl die Stufenantwort in der Theorie aus praktischer Sicht eine unendliche Zeit in Anspruch nimmt, sollte man an den exponentiellen Filter 98 bis 99 8220done8221 denken, der nach einer Zeit gleich 4 bis 5 Filterzeitkonstanten reagiert. Variationen des Exponentialfilters Es gibt eine Variation des Exponentialfilters mit dem Namen 8220nonlinearem exponentiellem Filter8221 Weber, 1980. Es soll starkes Rauschen innerhalb einer bestimmten 8220typical8221 Amplitude filtern, reagiert aber schneller auf größere Änderungen. Copyright 2010 - 2013, Greg Stanley Teilen Sie diese Seite: Ich muss einen gleitenden mittleren 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 verwenden Frequenzbereich Filter ndash user19373 Feb 3 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 ist Gleich der diskreten Zeit-Fourier-Transformation ihrer Impulsantwort, können wir sie wie folgt berechnen: Was am meisten für Ihren Fall interessiert ist, ist die Größenreaktion 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 Ff / fs: Der umgekehrte Wert dieser Formel ist für große N asymptotisch korrekt und hat ungefähr 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 der MA und der 1. Ordnung IIR LPF -20dB / Dekade Slope im Stop-Band (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 Fk hat / N und einer 1 / f-Evelope hat das IIR-Filter nur ein 1 / f-Profil. Wenn man ein MA-Filter mit ähnlichen Rauschfilterungs-Fähigkeiten wie dieses IIR-Filter erhalten möchte und die gleichgeschnittenen 3dB-Trennfrequenzen anpaßt, würde er beim Vergleich der beiden Spektren erkennen, daß die Sperrbandwelligkeit 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 (OmegaN / 2) / Sin (Omega / 2) Omega 2piF MA (F) ca. N1 / 6F2 (N-N3) pi2. Und Ableitung der Kreuzung mit 1 / sqrt von dort. Ndash Massimo Jan 17 um 2: 08Signalverarbeitung / 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 Cascaded Integrator-Comb Filter (CIC) ist eine spezielle Technik zur Realisierung von mittleren Filtern in Serie. 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 Filtertransferfunktion 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 zweiter Ordnung Edit Eine Sektion zweiter Ordnung. Oft als Biquad bezeichnet. Implementiert eine Übertragungsfunktion zweiter Ordnung. Die Übertragungsfunktion eines Filters kann in ein Produkt von Ü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-Leapfrogfilter 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.


No comments:

Post a Comment