Monday, 2 January 2017

Moving Average Cutoff Frequenz

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 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 Terme 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 ergibt 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 Stoppbandwelligkeit 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: 08Frequenzantwort des laufenden Mittelfilters Der Frequenzgang eines LTI-Systems ist die DTFT der Impulsantwort, Die Impulsantwort eines L-sammelnden gleitenden Durchschnittes ist Da der gleitende mittlere Filter FIR ist, Frequenz-Antwort reduziert sich auf die endliche Summe Wir können die sehr nützliche Identität verwenden, um den Frequenzgang zu schreiben, wo wir ae minus jomega haben lassen. N 0 und M L minus 1. Wir können an der Größe dieser Funktion interessiert sein, um zu bestimmen, welche Frequenzen durch den Filter ungedämpft werden und welche gedämpft werden. Unten ist ein Diagramm der Größe dieser Funktion für L 4 (rot), 8 (grün) und 16 (blau). Die horizontale Achse reicht von Null bis pi Radiant pro Probe. Man beachte, daß der Frequenzgang in allen drei Fällen eine Tiefpaßcharakteristik aufweist. Eine konstante Komponente (Nullfrequenz) im Eingang durchläuft das Filter ungedämpft. Bestimmte höhere Frequenzen, wie z. B. pi 2, werden durch das Filter vollständig eliminiert. Wenn es aber die Absicht war, ein Tiefpassfilter zu entwerfen, dann haben wir das nicht sehr gut gemacht. Einige der höheren Frequenzen werden nur um einen Faktor von etwa 110 (für den 16-Punkte-gleitenden Durchschnitt) oder 13 (für den vier-Punkte-gleitenden Durchschnitt) gedämpft. Wir können viel besser als das. (1-exp (-iomega)) H8 (18) (1-exp (- & omega; & sub4; (1-exp (-iomega)) (1-exp (-iomega)) (1-exp (& ndash; Ich verwende die zweite Antwort in meinem Algorithmus, um die 3dB-Grenzfrequenz meines Filters zu berechnen, was großartig ist, als meine Filterlänge Ist normalerweise über 300. Ich überprüfte es mit der Schrittantwort. Aber ich möchte eine Quelle oder Ableitung für diese Formel haben. Ich versuchte von Hand mit Taylor Serie stoppen nach dem zweiten und dritten Begriff. Ich komme nah, aber nicht genau zur Formel und mapple gibt mir ein gültiges, aber extrem kompliziertes Ergebnis. Hoffe ihr könnt helfen. Und Sie müssen nicht jede Summation in diesem mit einem Integral approximieren. Aber Sie müssen sin2 () mit einer endlichen Anzahl von Ausdrücken der Maclaurin-Reihe approximieren. Was Sie brauchen, ist eine exakte Lösung: 2 sin2 (omega0 N2) N2 sin2 (omega02). Und die Antwort, die ich habe, ist, so gut ich kann sagen, die nähste Annäherung, die die wenigsten Annahmen bildet. Ndash robert bristow-johnson Betrachten wir einen nullphasigen gleitenden Durchschnitt der Länge N: Gerade Länge Filter, die auf diskrete Sequenzen mit Integer-Zeit-Indizes können nicht Null-Phase. Wir haben dies umgangen, indem wir die Ausgabezeitindizes immer einen gebrochenen Anteil von frac haben, im Falle von N gleichmäßigen. Als ein Beispiel der realen Welt würde, wenn die Eingabe jeden Mitternacht abgetastet wurde, der nullphasige gleitende Durchschnitt der geraden Länge für jeden Mittag berechnet werden. Diese ungewöhnliche Indexierung ergibt zweckmäßigerweise die gleiche Nullphasenform des Frequenzgangs FN (Omega) für N ungerade und N gleichmäßig: Leider hat der Frequenzgang keine symbolische Lösung für die -3 dB Grenzfrequenz omegac, so dass: Streng genommen ist sqrt Etwa -3,01 dB, aber ich denke, das ist, was die Leute meinen, wenn sie sagen -3 dB, denn sonst ist es nur eine beliebige Zahl. Ein Näherungsfrequenzhub N (Omega) nutzt ein Integral statt einer Summe: Die Hauptkeulen der wahren (Summe) und der approximativen (integralen) Frequenzantwort konvergieren zu einem großen N: Wir können die Konvergenz durch Einführung von Funktionen GN (chi ), Wobei N (omega) mit dem Argument normalisiert ist, dass omega frac, das die erste Null beider Funktionen zu chi 1: GN (chi) bringt, als N-periodische bandbegrenzt bekannt ist Impulszug. Seine Grenze bei großem N und der Funktionshut N (chi) sind beide die Textfunktion. Leider hat die -3 dB Cutoff-Frequenz keine symbolische Lösung in der Näherung Hut N (Omega) entweder. Für verschiedene N unterscheidet sich die Näherung nur von der N 1 - Näherung durch eine Abbildung omega rightarrow omega N, so daß es genügt, die ungefähre -3 dB Cutofffrequenz Hutomegac (N) numerisch für N 1 zu ermitteln, was die ungefähre Grenzfrequenz für beliebiges N ergibt : Das scheint eine andere, einfachere Annäherung zu sein als Massimos. Für Ihre N gt 300 sollte es kein Problem mit ihm. Massimos und diese Antworten Konstanten sind verwandt durch: Ich sah ein wenig weiter und fand, dass Massimo nähert sich FN (Omega) mit Hut M (Omega), die Wahl von M, so dass die (Grenzen der) zweiten Ableitungen des Frequenzgangs und die Näherung übereinstimmen Bei Omega 0: Dies verbessert die Näherung bei kleinem Omega, das den Cutoff-Punkt -3dB einschließt, insbesondere bei kleinen N: Massimos-Approximation überschätzt immer die Cutoff-Frequenz (siehe Fehlervergleich), so dass Raum durch Verbesserung der Konstante 1 bleibt Fehler ist der größte für N 2. Wenn sein Fehler gleich dem (derzeit zweitgrößten) Fehler bei N 3 ist, erhalten wir eine noch bessere, aber genauso billige Annäherung: Diese und andere Tweaks der Konstanten, wie Matts Konstante 0.863031932778066. Arbeiten überraschend gut für große N (siehe Fehlervergleich). Für große N fällt der Fehler um einen Faktor 1000 für jede Zunahme von N um den Faktor 10. Die Erklärung für diese Dinge ist, dass die wahre Grenzfrequenz als Funktion von N eine Laurent-Reihe hat: die Annäherung und ihre Laurent-Reihe Sind: a1 a 2.78311475650302030063992 a3 approx - frac Wenn die ungefähre Übereinstimmung im N - term exakt gemacht wurde, sollte der Approximationsfehler um einen Faktor 105 für eine Erhöhung des großen N um einen Faktor 10 abnehmen. Die Koeffizienten ak (X) als Funktion der Funktion f (x) als xrightarrowinft iterativ durch: Wenn wir f (x) nicht in symbolischer Form haben, sondern sie numerisch mit beliebiger Genauigkeit für sehr große x lösen können , Können wir das Äquivalent des obigen Verfahrens numerisch durchführen. Das folgende Python-Skript, das SymPy und mpmath verwendet, berechnet eine gegebene Zahl (hier 10) der ersten Koeffizienten ak in der gewünschten Genauigkeit für die Laurent-Serie der wahren Cutoff-Frequenz: Auf meinem Computer läuft das Programm etwa 7 Minuten lang. Es gibt folgende Beispiele, die zeigen, dass die Laurent-Reihe nur aus ungeraden negativen Potenzen besteht: Diese Zahlen, die sich auf 24 Dezimalstellen beziehen, sind nicht aus einer Annäherung in dem Sinne, dass die Laurent-Reihe einzigartig ist, es gibt keine andere Laurent-Reihe, die Omegac N). Mit nur a1 und a3 kann eine einfache zweidimensionale trunkierte Laurentreihen-Approximation konstruiert werden: und durch c-frac die Näherung: Beide haben einen 1N5-Fehlerabfall bei großem N, siehe Fehlervergleich. Spalten h) bzw. i). Eine längere abgeschnittene Laurentreihe mit mehr Ausdrücken aus dem Scriptsignal zerfällt noch schneller, 1N für die 5-Term-Approximation an Spalte j) im Fehlervergleich. Pfeil von mir, Olli. Aber aus irgendeinem Grund, ich denke, die Antwort ist viel einfacher. Normalerweise möchte ich acausal symmetrische FIR-Filter zu entwerfen, weil sie Null Phase sind, aber in der Regel beschränke ich mich auf eine ungerade Anzahl von nicht-Null-Taps. Um dies im Allgemeinen zu tun, könnte ich an den kausalen FIR gleitenden Durchschnitt halten. Kann man sagen, die Anzahl der Taps ist N. mathcal - transform (und die geometrische Summenformel) anwenden: Ersetzen von z leftarrow e, um die DTFT zu erhalten: Normalerweise nennen wir die Sache, die X (z) multipliziert die Übertragungsfunktion und die Sache, die X multipliziert (E) bezeichnet der Frequenzgang der e-Faktor eine lineare, konstante Verzögerung von frac-Abtastwerten. Es ändert nicht die Verstärkung. Der Frac-Faktor ist der Verstärkungsfaktor. Die -3 dB Frequenz, omegac, (normalerweise verstehen wir die -3.0103 dB Frequenz, weil das entspricht der halben Leistungsfrequenz) ist so, dass 2 sin2 (Omegac N2) N2 sin2 (Omegac2). So angesichts der Anzahl der Taps N, müssen Sie für Omegac zu lösen. Die vielleicht nicht so einfach für eine geschlossene Form zu tun, aber Sie können graben Sie Ihren Rechner und stecken und tuckern, bis Sie eine Antwort, die genügend Präzision hat zu bekommen. Oder Sie können MATLAB, es zu tun. Eine annehmbare Approximation für Omegac kann für große N durch eine trig Identität (eine, die ich häufig verwenden, wenn im fiedeln mit der bilinearen Transformation) und die ersten drei Begriffe für die Maclaurin-Serie für cos () verwendet werden. Wenn Sie diese Annäherung für sin2 () in der vorherigen Gleichung anschließen und lösen. (Das Überspringen ein lotta Schritte, weil ich zu faul, um LaTeX es aus.) Olli, wie gut das, die mit Ihren Ergebnissen zu tun, dies besser mit einem anderen Begriff für die Annäherung von sin2 (), ist machbar ist, erfordert nur eine quadratische Lösung für Omega02. Die Näherung zu verwenden (halten die ersten vier Begriffe der cos () - Erweiterung) ist: versuchen, dass Annäherung und lösen für Omegac2. Die konsistenteste Antwort bekomme ich mit der Option es aussieht und mit der - Option sieht es aus, die viel näher an der Näherung erster Ordnung i oben. So dass ich glaube, ich würde die - Option. So dass, obwohl ich nicht sagen kann, analytisch, warum die Option abgelehnt werden sollte, ich vermute, meine genaueste Antwort wäre, die die Grenze hat, für große N, oben gezeigt. Hat jemand anderes eine bessere Weise, auf eine gute ungefähre geschlossene Form Lösung zu diesem letzten tweek auf diesem zu betrachten, bevor sie sich zurückzieht. Die Näherung sin2 (theta) ca. theta2 links (1 - frac theta2 frac theta4 rechts) sollte wirklich gut für alle 0 le theta le frac so zu machen, dass passieren und das Verhalten weiterhin gut zu theta ll 1, wir zu machen Sollte den letzten Koeffizienten, frac, fractal, so dass die Approximation gut für sin2left (frac rechts) ist. Erhöht die Komplexität nicht, kann aber eine bessere Antwort liefern. Ndash robert bristow-johnson) ist eigentlich ein bandbegrenzter Impulszug, so dass es mit einer Textfunktion wie in meiner Antwort exakt (bis innerhalb der Genauigkeit von 2.78311475650302030063992) in der Grenze der großen N approximiert Wo Ihre omega0 frac gibt etwa 0,88 mal die wahre cutoff und Ihre omega0 sqrt rechts) gibt etwa 1.035 mal die wahre cutoff. Ich denke, wenn Sie eine bessere Annäherung machen möchten, sollten Sie diese lange Konstante enthalten. Ndash Olli Niemitalo Jan 13 16 am 8:46 Robert, müssen Sie das 39-39-Zeichen in Ihre quadratische Gleichung Formel verwenden, denn das gibt die Lösung, wo die Taylor-Serie noch Art der Annäherung an die ursprüngliche Funktion. Die andere Lösung ist nur für das Taylor-Polynom gültig, aber überhaupt nicht für die ursprüngliche Funktion, weil für dieses größere Wert das Taylor-Polynom nicht einmal der ursprünglichen Funktion nahe kommt. Also für eine Taylor-Erweiterung um x00, müssen Sie normalerweise die kleinste Lösung (in der Größenordnung) zu wählen, weil that39s die, wo die Näherung funktioniert am besten. Ndash Matt L. Jan 13 16 am 14:23 Lets vergleichen die tatsächlichen numerischen Fehler für verschiedene Annäherungen der Cutoff-Frequenz. Der in der Tabelle angegebene Fehler wird durch Subtrahieren der wahren (numerisch gelösten) -3 dB Grenzfrequenz Omegac aus der Näherung berechnet. Hinweise: Die Approximation e) erlaubt N2 nicht. Einige der Fehler werden als 0, aber es bedeutet nur, dass ihre Größe kleiner als etwa 1E-17. Diese und andere mögliche Ungenauigkeiten sind von der Verwendung von Gleitkomma-Arithmetik mit doppelter Genauigkeit bei der Berechnung der Näherung und des Fehlers. Fühlen Sie sich frei, eine weitere Annäherung zu bearbeiten. OK, das macht Spaß. Im gehend, meine eigenen Gedanken und Annäherungen zu addieren, deren erster von dem identisch ist, das von Massimo in dieser Antwort gegeben wird. Und die von Olli in diesem Thread abgeleitet. Ich habe es noch hier, weil seine Ableitung ist anders. Dann zeigen wir eine bessere Approximation, die einen maximalen relativen Fehler von 0,002 für N2 hat (für diesen Fall haben wir natürlich eine analytische Lösung für die genaue Grenzfrequenz: omegacpi2) und für die der relative Fehler kleiner als 1.2cdot ist 10 für Nge 10. Es ist bekannt und wurde von Olli und Robert in ihren Antworten gezeigt, daß die reellwertige Amplitudenfunktion eines N-gleitenden mittleren Filters durch die 3-dB-Grenzfrequenz omegac erfüllt ist Ich weiß, es gibt keine vernünftig einfache analytische Lösung für Gl. (2). Der Schlüssel zu den hier dargestellten Näherungen ist - nicht überraschend - eine Taylor-Näherung. Der Unterschied zwischen der Taylor-Reihe, die in der Antwort von Roberts verwendet wird, ist, dass ich die Sinusfunktionen (oder ihre quadratischen Werte, wie bei Roberts-Antworten) nicht separat annähme, sondern ich nähere die gesamte in (1) angegebene Amplitudenfunktion direkt an. Die Approximation von sin (Nomega2) (oder ihrem quadratischen Wert) führt zu größeren Fehlern, als wenn die vollständige Funktion angenähert wird, da das Argument Nomega2 niemals Null annimmt, auch für große Werte von N. Näherung nur des Nenners sin (omega2) Quadratischen Wert) ist OK, weil sein Argument Omegaomegac nähern Null für große N. Jedenfalls werde ich keine der beiden Näherungen verwenden, aber ich werde die Taylor-Serie von HN (Omega). Für einfachere Notation Ill verwenden xomega2 und FN (x) HN (Omega). Die Taylorreihe von FN (x) um x00 ist gegeben durch Für große Werte von N ist diese Näherung legitim, da die Grenzfrequenz Omegac zu kleinen Werten neigt. Für die erste Näherung verwende ich nur die ersten beiden Terme in (3): Lösung (4) gibt eine erste Näherungslösung: Das Problem bei dieser Lösung ist, daß sie vorgespannt ist, was bedeutet, daß ihr Fehler nicht für große N auf Null konvergiert. Es stellt sich jedoch heraus, dass durch eine einfache Skalierung von (5) diese Vorspannung entfernt werden kann. Für null Vorspannung benötigen wir, wo ich die Notation Omega (N) verwendet habe, um ihre Abhängigkeit von N zu betonen. Das Lösen (6) mit dem allgemeinen Ausdruck führt uns zu der Gleichung, die numerisch für die inzwischen berühmte Lösung gelöst werden muss Die Approximation ( 7) mit einer gegebenen Gleichung (9) identisch ist mit der Massimos-Formel (man muss durch 2pi dividieren, um seine Magie konstant zu erhalten), und auch dieselbe wie die von Olli in einem anderen Thread abgeleitete. Wir sehen, dass eine Taylor-Approximation die richtige Form der Gleichung lieferte, aber die Konstante musste durch einen Grenzprozess bestimmt werden, um eine Formel mit Nullvorspannung zu erhalten. Für die meisten praktischen Zwecke ist diese Formel mit einem maximalen relativen Fehler von 6,9 cdot 10 für Nge 10 ausreichend genau. Mit allen Ausdrücken in der Näherung (3) ergibt sich eine noch bessere Annäherung. Der Prozeß ist genau derselbe wie vorher: Wir setzen die Taylor-Approximation von FN (x) gleich 1sqrt und lösen für xc (es gibt nur gerade Potenzen von x, also brauchen wir nur eine quadratische Gleichung zu lösen). Dies ergibt die folgende Formel: Man beachte, daß von den vier Lösungen der quartischen Gleichung die kleinere der beiden positiven gewählt werden muß, denn das ist der Wert, bei dem sich die Taylorreihe eng an FN (x) annähert. Die andere positive Lösung ist ein Artefakt in einem Bereich, in dem die Taylorreihe von FN (x) abweicht. Die Näherung (10) hat das gleiche kleine Problem wie die erste (5) gegebene Version der vorherigen Näherung, da sie eine kleine Vorspannung aufweist. Diese Vorspannung kann in genau der gleichen Weise wie zuvor unter Berücksichtigung der Grenze (6), diesmal mit Omega (N), entfernt werden. Meine endgültige Approximation basierend auf (10), aber mit Null-Vorspannung ist gegeben durch wobei b auch durch Lösen einer Gleichung wie (8) erhalten werden kann. (9): bfrac sqrt -1) 0.997314251642175tag Ich habe die exakten Werte von Omegac numerisch für N im Bereich von 2.100 berechnet, sodass ich den relativen Fehler berechnen kann, der den Vergleich verschiedener erlaubt Näherungen Omega. Wir wollen nur die durch (7) gegebene Approximationen mit null bias: omega mit einem durch (9) und omega gegeben durch (11) (und (10)) mit b durch (12) diskutieren. Die folgende Abbildung zeigt die relativen Fehler nach (13) als Funktion von N. Die rote Kurve ist der relative Näherungsfehler (7) und die grüne Kurve der Näherungsfehler (11). Beide Näherungen haben Null-Bias (sie konvergieren auf die exakten Werte für große N), aber die grüne Kurve konvergiert wesentlich schneller. Die oben gezeigten Null-Bias-Formeln sind anständige Approximationen zu den tatsächlichen Grenzfrequenzen, aber die bessere (Formeln (10,11,12)) ist sehr umständlich. Olli hatte die große Idee, die Nenner-Konstante in der einfachen Formel (7) zu optimieren. Solange wir den optimalen Wert eines gegebenen durch (9) verwenden, können wir die Nenner-Konstante ändern, ohne die Null-Bias-Eigenschaft zu verlieren. So erhalten wir eine neue Formel mit einer konstanten c zu optimieren. Wenn ich richtig verstanden habe, stützte Olli seine Optimierung von c auf den Fehlerwert für N2. Jedoch denke ich, dass der Wert N2 nicht sehr relevant ist, weil für N2 Omegac analytisch berechnet werden kann: omegac (2) pi2. Wir brauchen also nicht zwangsläufig die Formel (14) für den Fall N2 zu optimieren, wenn es auf Kosten der Approximation bei größeren Werten von N kommt. Ich optimierte die Konstante c in (14) folgendermaßen. Wenn omegac (N) die exakten Grenzfrequenzen für einen gegebenen Satz von Filterlängen N ist, haben wir ein überbestimmtes Gleichungssystem: wobei wir einen vernünftigen Satz von Werten für N wählen können. Nach Umordnen (15) ergibt sich ein weiterer Satz von Gleichungen , Diesmal linear im Unbekannten c: Die optimale Lösung der kleinsten Quadrate von (16) ist wobei L die Anzahl der verschiedenen Werte für N ist, die in der Summe verwendet werden. Wenn Sie alle Integer-Werte von N im Bereich 2,100 verwenden, erhalten Sie, die in der Nähe von Ollis-Wert ist, aber die eine noch bessere Annäherung für alle Nge 3 bietet. Ich habe die Fehlerwerte zu dieser Tabelle hinzugefügt. Spalte f). In seiner Antwort fragte sich Robert, warum er die zweite (größere) positive Lösung für omegac verwerfen muss, wenn er eine vierte Ordnung Taylor-Reihe für sin2 (x) verwendet. Die folgende Abbildung zeigt den Grund. Die ursprüngliche quadratische Amplitudenfunktion ist blau (für N10) dargestellt. Die 3dB-Linie ist rot. Die grüne Funktion ist die Taylor-Näherung, die die rote Linie zweimal kreuzt. Dies sind die beiden positiven Lösungen für Omegac. Da die Funktion gerade ist, erhalten wir auch die gleichen zwei Lösungen mit negativen Vorzeichen, was vier ergibt, wie es für ein Polynom vierten Grades der Fall sein sollte. Es ist jedoch offensichtlich, dass die größere der beiden positiven Lösungen ein Artefakt aufgrund der Divergenz der Taylor-Näherung für größere Argumente ist. Es ist also nur die kleinere Lösung sinnvoll, die andere nicht. Ich gebe eine andere Antwort, weil dieser Ansatz in dem Sinne völlig verschieden ist, dass ich nicht versucht, die Filteramplitudenfunktion zu approximieren, um eine Annäherung der Grenzfrequenz zu berechnen, aber ich verwende einen reinen Datenanpassungsansatz unter den genauen Grenzfrequenzen , Die numerisch berechnet wurden (und auch für einen Satz von Filterlängen in der linken Spalte dieser Tabelle angegeben sind). Bei der Datenanpassung ist es oft das schwierigste, eine geeignete Parametrisierung der Näherungsfunktion zu finden. Da wir aus den anderen Antworten in diesem Thread wissen, daß bei geeignet gewählten Konstanten a und c für einen weiten Bereich von Werten von N eine überraschend gute Annäherung ist und da Wolfram Alpha uns sagt, daß die Laurentreihenentwicklung von (1) bei Ninfty hat Nur Ausdrücke mit ungeraden Potenzen von 1N, scheint es angemessen, die Grenzfrequenz durch eine Laurentreihe mit ungeraden Potenzen von 1N zu parametrisieren: Wir können den exakten Wert von a1 in (2) aus der Bedingung berechnen, daß die Schätzung c (N. ) Hat Null-Bias, dh, dass es auf die wahre Grenzfrequenz für große N konvergiert. Dies ist in meiner anderen Antwort erklärt. Sein Wert Die anderen Konstanten in (2) können durch eine kleinste Quadrate-Anpassung von (2) an die Daten berechnet werden, die die exakten Grenzfrequenzen sind. Die Anpassung der kleinsten Quadrate kann durch das folgende einfache MatlabOctave-Skript berechnet werden (unter der Annahme, dass die Variable wc ein Vektor mit vorberechneten exakten Grenzfrequenzen für den gewünschten Satz von Filterlängen ist): Die resultierenden Koeffizienten beginnen a3amp1.201014809636180 a5amp0.768735238011194 A7amp0.514237034990353 a9amp0.548681885931852end mit a1 gegeben durch (3). Diese Annäherung kommt extrem nah an den exakten Werten von Omegac. Der Näherungsfehler kann in dieser Tabelle (Spalte g) gefunden werden.


No comments:

Post a Comment