Mathematische Frage, die sich aus der Verwendung der bilinearen Transformation ergibt


10

Das hängt also mit dem Kochbuch zusammen, und ich habe vor vielleicht zwei Jahrzehnten versucht, es zu lösen, habe aufgegeben und wurde an das ungelöste Problem erinnert. Aber es ist verdammt einfach, aber ich bin immer noch in den Dreck geraten.

Dies ist ein einfaches Bandpassfilter (BPF) mit Resonanzfrequenz und Resonanz :Ω0Q

H(s)=1QsΩ0(sΩ0)2+1QsΩ0+1

Bei der Resonanzfrequenz

|H(jΩ)|H(jΩ0)=1

und die oberen und unteren Streifen sind so definiert, dass

|H(jΩU)|2=|H(jΩ02BW/2)|2=12

|H(jΩL)|2=|H(jΩ02BW/2)|2=12

Wir nennen dies die "Half-Power-Bandedges" . Da wir Audio sind, definieren wir die Bandbreite in Oktaven, und in der analogen Welt hängt diese Bandbreite in Oktaven, , mit als:BWQ

1Q=2BW12BW=2sinh(ln(2)2BW)

Wir verwenden eine bilineare Transformation (mit vorverzogener Resonanzfrequenz), die Folgendes abbildet:

sΩ01tan(ω0/2)1z11+z1jΩΩ0jtan(ω/2)tan(ω0/2)

Lassen Sie und .z=ejωs=jΩ

Die Resonanzwinkelfrequenz des analogen Filters ist und mit Kompensationsfrequenz Verziehen auf die Resonanzfrequenz in dem realisierten Digitalfilters durchgeführt wird , wenn (die benutzerdefinierte Resonanzfrequenz) ist , dann . ω = ω 0 Ω = Ω 0Ω0ω=ω0Ω=Ω0

Also wenn analoge Winkelfrequenz ist

ΩΩ0=tan(ω/2)tan(ω0/2)

dann wird es auf die digitale Winkelfrequenz als abgebildet

ω=2arctan(ΩΩ0tan(ω0/2))

Nun sind die oberen und unteren Bänder in der analogen Welt

Ω L = Ω 0 2 - B W / 2

ΩU=Ω02BW/2
ΩL=Ω02BW/2

und im digitalen Frequenzbereich sind

ωU=2arctan(ΩUΩ0tan(ω0/2))=2arctan(2BW/2tan(ω0/2))

ωL=2arctan(ΩLΩ0tan(ω0/2))=2arctan(2BW/2tan(ω0/2))

Dann beträgt der tatsächliche Unterschied in der logarithmischen Frequenz der Bandeges (der tatsächlichen Bandbreite im digitalen Filter):

bw=log2(ωU)log2(ωL)=log2(2arctan(2BW/2tan(ω0/2)))log2(2arctan(2BW/2tan(ω0/2))) 

oder

ln(2)bw=ln(arctan(eln(2)BW/2tan(ω0/2)))ln(arctan(eln(2)BW/2tan(ω0/2)))

Dies hat eine funktionale Form von

f(x)=ln(arctan(αex))ln(arctan(αex))

wobei , undx ln ( 2 )f(x)ln(2)bw& agr;tan(ω0/2)xln(2)2BWαtan(ω0/2)

Ich möchte invertieren (aber ich weiß, dass ich es mit einer schönen geschlossenen Form nicht genau machen kann). Ich habe bereits eine Näherung erster Ordnung durchgeführt und möchte sie auf eine Näherung dritter Ordnung bringen. Und dies ist zu einer Art kopulierendem weiblichen Hund geworden, obwohl es einfach sein sollte.f(x)

Das hat etwas mit der Lagrange-Inversionsformel zu tun, und ich möchte nur einen Begriff mehr als ich verwenden.

Wir wissen von oben, dass eine ungerade Symmetriefunktion ist:f(x)

f(x)=f(x)

Dies bedeutet, dass und alle Terme gerader Ordnung der Maclaurin-Reihe Null sind:f(0)=0

y=f(x)=a1x+a3x3+...

Die Umkehrfunktion ist auch eine ungerade Symmetrie, geht durch Null und kann als Maclaurin-Reihe ausgedrückt werden

x=g(y)=b1y+b3y3+...

und wenn wir wissen, was und von , dann haben wir eine gute Idee, was und müssen:a 3 f ( x ) b 1 b 3a1a3f(x)b1b3

b1=1a1b3=a3a14

Jetzt kann ich die Ableitung von berechnen und bei Null auswerten und ich bekommef(x)

a1=2α(1+α2)arctan(α)=sin(ω0)ω0/2
b1=(1+α2)arctan(α)2α=ω0/2sin(ω0)

Aber ich habe eine Hündin Zeit, und damit . Kann das jemand machen? Ich würde mich sogar mit einem festen Ausdruck für die dritte Ableitung von zufrieden geben, die bei bewertet wird .b 3 f ( x ) x = 0a3b3f(x)x=0


2
Nur zur Verdeutlichung: Ihr Ziel ist es, zu invertieren , dh für ein gegebenes möchten Sie das ? Insbesondere möchten Sie dies durch Polynomexpansion tun und suchen nach dem 3. Koeffizienten (da der 2. Null ist, tun Sie dies für die Ungerade der Funktion). Richtig? f(x)x
f(x)=ln(arctan(αex))ln(arctan(αex))
f(x)x
Maximilian Matthé

2
So Sie wissen wollen gegeben , das heißt, Sie wollen wissen , was die Bandbreite des analogen Filters müssen Sie eine gewünschte Bandbreite des digitalen Filters zu erhalten wählen, nicht wahr? BWbw
Matt L.

2
ja, ja und ja.
Robert Bristow-Johnson

1
@ robertbristow-johnson Ich habe die Frage nicht allzu sorgfältig gelesen, aber ich habe bemerkt, dass Sie an bei interessiert sind . Ist es in Ordnung, Mathematica oder Wolfram Alpha zu verwenden, um das zu berechnen? Ich erhalte ein ziemlich sauberes Ergebnis: . wolframalpha.com/input/… Und wenn Sie den Teil "Auswerten bei x = 0" entfernen, spuckt Wolfram den koppelnden weiblichen Eckzahn in seiner vollen Pracht aus. x = 0 4 ( 8 - π 2 ) α 3f(x)x=04(8π2)α3π3
Atul Ingle

1
Tippfehler in meinem dort. Das "saubere" Ergebnis ist tatsächlich: wolframalpha.com/input/…- ( 6 a 2 ) / ( ( a 2 + 1 ) 2 a t a n ( a ) 2 ) + ( 2 a ) / ( ( a 2 + 1 ) a t a n ( a ) ) + ( 16 a 5 ) / ( ( a 2 +)f(x)(6a2)/((a2+1)2atan(a)2)+(2a)/((a2+1)atan(a))+(16a5)/((a2+1)3atan(a))+(12a4)/((a2+1)3atan(a)2)(16a3)/((a2+1)2atan(a))+(4a3)/((a2+1)3atan(1)(a)3)
Atul Ingle

Antworten:


4

Um meinen Teil zu dieser Frage zu ergänzen: Hier ist eine etwas kurze Antwort, die auf einer manuellen Erweiterung der ungeraden Funktion basiert in einer Reihe bis zur dritten Ordnung. Weitere Details finden Sie unter mathSE .f ( x )f(x)

f(x)=ln(arctan(αex))ln(arctan(αex))(1)=f1x+f3x3+O(x5)

Zuerst konzentrieren wir uns auf den linken Term von und beginnen mit f ( x )

ln(arctan(αex))
f(x)

Serienerweiterung von :arctan

Wir erhalten

arctan(αex)=n=0(1)n2n+1α2n+1e(2n+1)x=(2)=j=01j!n=0(1)n(2n+1)j1α2n+1xj

Wir leiten nun aus (2) die Koeffizienten bis zu . Unter Verwendung des Koeffizienten Operators den Koeffizienten zu bezeichnen in einer Reihe erhalten wir [ x k ] x k [ x 0 ] Arctan ( α e x )x3[xk]xk

[x0]arctan(αex)=n=0(1)n2n+1α2n+1=arctanα[x1]arctan(αex)=n=0(1)nα2n+1=α1+α2[x2]arctan(αex)=12n=0(1)n(2n+1)α2n+1==α2ddα(α1+α2)=α(1α2)2(1+α2)2[x3]arctan(αex)=16n=0(1)n(2n+1)2α2n+1=α26n=0(1)n(2n+1)(2n)α2n1+α6n=0(1)n(2n+1)α2n==(α26d2dα2+α6ddα)(α1+α2)==α56α3+α6(1+α2)3

Wir schließen daraus, dass

arctan(αex)=arctan(α)+α1+α2x+α(1α2)2(1+α2)2x2(3)+α56α3+α6(1+α2)3x3+O(x4)

Potenzen in logarithmischen Reihen:

Um die Koeffizienten der logarithmischen Reihe abzuleiten, Wir schreiben den Ausdruck (3) als und wir betrachten Arctan(αex)

ln(arctan(αex))=n=1(1)n+1n(arctan(αex)1)n
ln ( Arctan ( α e x ) )
arctan(αex)=a0+a1x+a2x2+a3x3+O(x4)
(4)ln(arctan(αex))=n=1(1)n+1n((a01)+a1x+a2x2+a3x3)n+O(x4)

Wir setzen nun und extrahieren die Koeffizienten von bis aus x 0 x 3 ( A ( x ) ) nA(x)=(a01)+a1x+a2x2+a3x3x0x3

(A(x))n=((a01)+a1x+a2x2+a3x3)n=j=0n(nj)(a01)j(a1x+a2x2+a3x3)nj(5)=j=0n(nj)(a01)jk=0nj(njk)a1kxk(a2x2+a3x3)njk

Wir erhalten aus (5)

[x0](A(x))n==(a01)n[x1](A(x))n==a1n(a01)n1[x2](A(x))n==a2n(a01)n1+12n(n1)a12(a01)n2[x3](A(x))n==na3(a01)n1+a1a2n(n1)(a01)n2(6)+16n(n1)(n2)a13(a01)n3

Reihenerweiterung des Logarithmus:

Wir berechnen unter Verwendung von (6) die Koeffizienten von in Form vona j ist 0 j 3ln(arctan(αex))aj,0j3

[x0]ln(arctan(αex))=n=1(1)n+1n[x0]A(x)=n=1(1)n+1n[x0](a01)n=ln(a01)[x1]ln(arctan(αex))=n=1(1)n+1n[x1]A(x)=n=1(1)n+1n[x0]a1n(a01)n1=a1n=0(1)n(a01)n=a1a0[x2]ln(arctan(αex))=n=1(1)n+1n[x2]A(x)=n=1(1)n+1n(a2n(a01)n1+12n(n1)a12(a01)n2)==(a2+a122dda0)(1a0)=a2a0a122a02[x3]ln(arctan(αex))=n=1(1)n+1n[x3]A(x)=n=1(1)n+1n(na3(a01)n1+a1a2n(n1)(a01)n2+16n(n1)(n2)a13(a01)n3)==(a3+a1a2dda0+a136d2da02)(1a0)(7)=a3a0a1a2a02+a133a03

Reihenerweiterung von :f(x)

Jetzt ist es Zeit zu ernten. Wir erhalten schließlich mit (3) und (7), dass ungerade istf(x)

f(x)=ln(arctan(αex))ln(arctan(αex))==2a1a0x+2(a3a0a1a2a02+a133a03)x3+O(x5)=2α(1+α2)arctan(α)x+α3(1+α2)3arctan(α)(α46α2+13α(1α2)arctan(α)+2α2(arctan(α))2)x3+O(x5)

Markus, während Sie in Bezug auf richtig sind , da wir wissen, dass eine ungerade Symmetrie hat und die Terme gerader Ordnung Null sind, können Sie sagen, dass diese Erweiterung gut für . O(x4)f(x)O(x5)
Robert Bristow-Johnson

@ robertbristow-johnson: Ja natürlich. Entsprechend aktualisiert. :-)
Markus Scheuer

Große Anstrengung! Beim Versuch , diese detaillierte und langwierige Antwort zu lesen, konnte ich nicht sehen, wie Sie in der Gleichung (4) außerhalb des Logarithmus isolieren können . Die unendliche Reihe enthält bereits jede Potenz von . Was bedeutet der isolierte -Term dort? O(x4)xO(x4)
Fat32

Natürlich habe ich das Gefühl, was Sie dort bedeuten wollen, aber dann könnte die richtige Notation ungefähr so ​​lauten: wobei ich , um mich von all Ihren anderen Notationen fernzuhalten. Und beachten Sie, dass ich und , um zwischen diesen beiden Koeffizientensätzen zu unterscheiden. Nun sind Ihre Gleichung (4) und diese obige Zeile nicht genau gleich. Ich denke jedoch nicht, dass dies Ihren weiteren Fortschritt beeinflussen wird.
ln(arctan(αex)) = n=1(1)n+1n((a01)+a1x+a2x2+a3x3+O1(x4))n = T0+T1x+T2x2+T3x3+O2(x4)
TO1O2
Fat32

@ Fat32: Vielleicht möchten Sie sich die Big-O-Notation
Markus Scheuer

3

(Kommentar in Antwort umwandeln.)

Unter Verwendung von Wolfram Alpha ergibt bei Folgendes: f(x)x=0

f(0)=6α2(α2+1)2(arctan(α))2 + 2α(α2+1)arctan(α)+16α5(α2+1)3arctan(α) + 12α4(α2+1)3(arctan(α))216α3(α2+1)2arctan(α) + 4α3(α2+1)3(arctan(α))3=2(α46α2+1)α(α2+1)3arctan(α)+6(α21)α2(α2+1)3(arctan(α))2+4α3(α2+1)3(arctan(α))3

http://www.wolframalpha.com/input/?i=evaluate+d3%2Fdx3++(+ln+(arctan+(a+exp(+x)))+-+ln+(arctan(a+exp(-+x) )) +) + bei + x% 3D0

Wir können auch überprüfen, ob dies mit Markus 'Antwort hier übereinstimmt .

Sein Koeffizient von ergibt sichx3