Berechnen von Filterparametern TP 2. Ordnung

06/07/2008 - 18:45 von Johannes Bauer | Report spam
Hallo Gruppe,

ich bastele ja gerade mit filtern rum und bin ordentlich am Rechnen. Und
schon wieder stehe ich vor einen sehr seltsamen Problem. Angenommen ich
habe einen TP 2. Ordnung (passiv) gegeben, mit dessen
Übertragungsfunktion (also der Betrag):

tp2 := (r1, c1, l1, omega) -> sqrt(1/(omega^4 * l1^2 * c1^2 +
omega^2*r1^2*c1^2 - 2*omega^2*l1*c1 + 1));

wobei omega = 2 * Pi * f

Ich dimensioniere den jetzt mit Werten als 9kHz Grenzfrequenz-Filter:

r1 = 200 kOhm
c1 = 88.4 pF
l1 = 1 uH

In Maple probiere ich jetzt aus, ob das denn auch passt:


evalf(tp2(r1, c1, l1, 2*Pi*9*kilo));


0.7071845094

Prima, bei 9kHz also genau 1/sqrt(2). Was ich jetzt allerdings versuche,
ist rauszufinden, bei welcher Frequenz die Amplitude genau auf "val"
abgesunken ist, und wieder bemühe ich Maple:

sols := solve(tp2(r1, c1, l1, 2*Pi*f) = val, f);

gibt mir vier Lösungen, a, -a, b und -b. Dass a und -a symmetrisch und b
und -b symmetrisch sind, leuchtet mir ein - schließlich ist das Spektrum
ja auch im negativen symmetrisch.

Allerdings sind auch die Lösungen a und b Murks:


val := 0.707;


val := 0.707

evalf(sols[1]);


405292.5161 I


evalf(sols[2]);


-405292.5161 I


evalf(sols[3]);


11
0.3183097962 10 I


evalf(sols[4]);


11
-0.3183097962 10 I


Kein Ergebnis ist an den 9kHz auch nur nahe dran. Alle sind Pfusch. Ich
nehme an, dass das Problem einfach zu schlecht konditioniert ist, um es
gescheit lösen zu können. Ist das möglich? Wenn ja, wie bekomme ich die
Ergebnisse, die ich suche?

Vielen Dank für die Hilfe,
Johannes

"Wer etwas kritisiert muss es noch lange nicht selber besser können. Es
reicht zu wissen, daß andere es besser können und andere es auch
besser machen um einen Vergleich zu bringen." - Wolfgang Gerber
in de.sci.electronics <47fa8447$0$11545$9b622d9e@news.freenet.de>
 

Lesen sie die antworten

#1 Helmut Sennewald
06/07/2008 - 19:08 | Warnen spam
"Johannes Bauer" schrieb im Newsbeitrag
news:
Hallo Gruppe,

ich bastele ja gerade mit filtern rum und bin ordentlich am Rechnen. Und
schon wieder stehe ich vor einen sehr seltsamen Problem. Angenommen ich
habe einen TP 2. Ordnung (passiv) gegeben, mit dessen Übertragungsfunktion
(also der Betrag):

tp2 := (r1, c1, l1, omega) -> sqrt(1/(omega^4 * l1^2 * c1^2 +
omega^2*r1^2*c1^2 - 2*omega^2*l1*c1 + 1));

wobei omega = 2 * Pi * f

Ich dimensioniere den jetzt mit Werten als 9kHz Grenzfrequenz-Filter:

r1 = 200 kOhm
c1 = 88.4 pF
l1 = 1 uH




Hallo Johannes,

wie soll denn die Filterstruktur aussehen?

Generator->R1->L1->Ausgang->C nach Masse

9kHz00Hz ?
Also da müsstest du schon 1H einwerfen.
Das kann man aber nicht mit ein paar pF Streukapazitàt bauen
und der parallele Verlustwiderstand wàre auch kleiner 200kOhm.

In Maple probiere ich jetzt aus, ob das denn auch passt:

> evalf(tp2(r1, c1, l1, 2*Pi*9*kilo));
0.7071845094

Prima, bei 9kHz also genau 1/sqrt(2). Was ich jetzt allerdings versuche,
ist rauszufinden, bei welcher Frequenz die Amplitude genau auf "val"
abgesunken ist, und wieder bemühe ich Maple:

sols := solve(tp2(r1, c1, l1, 2*Pi*f) = val, f);

gibt mir vier Lösungen, a, -a, b und -b. Dass a und -a symmetrisch und b
und -b symmetrisch sind, leuchtet mir ein - schließlich ist das Spektrum
ja auch im negativen symmetrisch.

Allerdings sind auch die Lösungen a und b Murks:

> val := 0.707;
val := 0.707
> evalf(sols[1]);
405292.5161 I

> evalf(sols[2]);
-405292.5161 I

> evalf(sols[3]);
11
0.3183097962 10 I

> evalf(sols[4]);
11
-0.3183097962 10 I


Kein Ergebnis ist an den 9kHz auch nur nahe dran. Alle sind Pfusch. Ich
nehme an, dass das Problem einfach zu schlecht konditioniert ist, um es
gescheit lösen zu können. Ist das möglich? Wenn ja, wie bekomme ich die
Ergebnisse, die ich suche?

Vielen Dank für die Hilfe,
Johannes



Ich vermute deine Formel für die Übertragungsfunktion
ist falsch.

Du könntest es mit LTspice plotten und mit dem .MEASURE
Kommando die Frequenz für jede gewünschte Dàmpfung
berechnen lassen.

Gruß
Helmut

Ähnliche fragen