Hallo,
ich habe mein Problem mittlerweile mit der Symbolic Math Toolbox von
Matlab gelöst. Hierfür habe ich das Filter in Teilvierpole zerlegt. Für
die Teilvierpole lassen sich verhältnismäßig einfach die Kettenmatrizen
angeben.
Für_eine_Längsimpedanz_gilt
1 | ___ Z
|
2 | o----|___|----o
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | o-------------o
|
Für_eine_Querimpedanz_gilt
1 | o-------------o
|
2 | |
|
3 | .-. Z
|
4 | | |
|
5 | '-'
|
6 | |
|
7 | o-------------o
|
Wenn man in Matlab die Variable "p" als symbolische Variable definiert
kann man die Wirkungsfunktion des Filters dadurch berechnen, indem man
die Kettenmatrizen alle Teilvierpole definiert und diese anschließend
miteinander multipliziert. Das Element A_11 der Gesamtkettenmatrix
enthält die Wirkungsfunktion des Filters. Die Nullstellen der
Wirkungsfunktion ergeben die Pole der Übertragungsfunktion. Der Kehrwert
der Wirkungsfunktion entspricht der Übertragungsfunktion.
Dementsprechend lassen sich auch die Nullstellen der
Übertragungsfunktion berechnen.
Im Folgenden seht Ihr ein kleines Beispiel, in dem die Pole des Filters
"PI-Filter.png" berechnet und ausgegeben werden.
1 | % Matlab
|
2 | syms p
|
3 | A1 = [1 50;0 1];
|
4 | A2 = [1 0;p*10.4E-12 1];
|
5 | A3 = [1 p*22E-9;0 1];
|
6 | A4 = [1 0;p*10E-12 1];
|
7 | A5 = [1 0;1/50 1];
|
8 | A = A1*A2*A3*A4*A5;
|
9 | W = A(1,1);
|
10 | poles = double(solve(W==0))
|
11 | plot(real(poles),imag(poles),'X');
|
12 | grid on;
|
Mit freundlichen Grüßen
Guido