Dieses Maple-Programm beschreibt, wie Smith-Charts
konstruiert werden. Smith-Charts sind bilineare Transformation
der Impedanzebene (als Koordinate der Real- und der
Imaginärteil) in die Ebene komplexer Reflektionskoeffizienten
gamma.
> with(plots):
setoptions(title=‘Smith Chart‘, axes=BOXED);
> mgamma:= z->(z-1)/(z+1);
mgamma := z →
Smith Charts sind in der komplexen Ebene des
Reflektionskoeffizienten gamma. Die Koordinaten sind
jedoch die Impedanzen (Realteile) und die Admittanzen
(Imaginärteile). Die Linien gleicher Realteile (reine
Widerstände) und gleicher Imaginärteile (z.B. Kondensatoren)
sind die neuen Achsen.
Als Beispiel wird der Realteil gleich null gesetzt und der
Imaginärteil variiert.
Im folgenden werden normierte Grössen verwendet.
Damit bekommt man das Bild der imaginären Achse in der
Gamma-Ebene
> plot([Re(mgamma(0 + I *x)), Im(mgamma(0
+I*x)),x=-100..100],
x=-1..1,y=-1..1);
Als weiteres Beispiel setzen wir den Realteil auf 1.
> plot([Re(mgamma(1 + I *x)), Im(mgamma(1 +
I*x)),
x=-100..100],x=-1..1,y=-1..1);
Und nun wird der Realteil auf 2 gesetzt.
> plot([Re(mgamma(2 + I *t)), Im(mgamma(2 +
I*t)),
t=-100..100],x=-1..1,y=-1..1);
Schliesslich setzen wir den konstanten Realteil auf
0.5.
> plot([Re(mgamma(0.5 + I *t)), Im(mgamma(0.5
+I*t)),
t=-100..100],x=-1..1,y=-1..1);
Nun werden wir den Imaginärteil festhalten. Ein reiner Widerstand (nur reale Grössen) wird wie im folgenden Bild abgebildet. Hier ist der Imaginärteil gleich null.
Der reale Widerstand R=1 wird auf gamma=0+I*0
abgebildet.
> plot([Re(mgamma(r + 0*I )), Im(mgamma(r
+0*I)),r=0..100],
x=-1..1,y=-1..1);
Nun setzen wir den Imaginärteil auf den konstanten Wert
I.
> plot([Re(mgamma(r + I )), Im(mgamma(r +
I)),r=0..100],
x=-1..1,y=-1..1);
Wenn der Imaginärteil -I ist, erhält man
> plot([Re(mgamma(r - I )), Im(mgamma(r -
I)),r=0..100],
x=-1..1,y=-1..1);
Für 0.5 I erhält man
> plot([Re(mgamma(r + 0.5*I )), Im(mgamma(r
+0.5*I)),
r=0..100],x=-1..1,y=-1..1);
Wenn der Imaginärteil 2 I ist, dann bekommt man
> plot([Re(mgamma(r + 2*I )), Im(mgamma(r +2*I)),
r=0..100],x=-1..1,y=-1..1);
Für eine Smith-Chart werden nun die Abbildungen des Gitters des kartesischen Koordinatensystems übereinandergelegt.
Wir beginnen, indem wir eine Konstante definieren.
> maxi := 10;
maxi := 10
Damit erstellen wir einen Array der Grösse 4*maxi für die
Bilder der Linien mit konstantem Imaginärteil.
> pp := array(1..4*maxi);
pp := array(1..40,[])
Nun füllen wir den Array mit den Plots für die waagrechten
(Imaginärteil = konstant) Linien aus der Widerstandsebene.
> for i from 1 to 2*maxi do
pp[i] := plot([Re(mgamma(r -
10*(i-maxi)*I/maxi )),
Im(mgamma(r -10*(i-maxi)*I/maxi)),
r=0..100],x=-1..1,y=-1..1):
pp[i+2*maxi] := plot([Re(mgamma(r -
1*(i-maxi)*I/maxi )),
Im(mgamma(r - 1*(i-maxi)*I/maxi)),
r=0..100],x=-1..1,y=-1..1):
od:
Aus den Plots machen wir eine Liste
> L := seq(pp[i],i=1..4*maxi):
und stellen sie dar.
> plots[display](L);
Wir definieren einen Array der Grösse 4*maxi für die Bilder
der Linien mit konstantem Realteil.
> rr := array(1..4*maxi);
rr := array(1..40,[])
Nun füllen wir den Array mit den Plots für die senkrechten
(Realteil = konstant) Linien aus der Widerstandsebene.
> for i from 1 to 2*maxi do
rr[i] := plot([Re(mgamma(10*(i-1)/maxi+r*I
)),
Im(mgamma(10*(i-1)/maxi+r*I)),
r=-100..100],x=-1..1,y=-1..1):
rr[i+2*maxi] := plot([Re(mgamma(1*(i-1)/maxi+r*I
)),
Im(mgamma(1*(i-1)/maxi+r*I)),
r=-100..100],x=-1..1,y=-1..1):
od:
Aus den Plots machen wir eine Liste
> LL := seq(rr[i],i=1..4*maxi):
und stellen sie dar.
> plots[display](LL);
Wenn wir beide Listen übereinander zeichnen, erhalten wir
eine Smith-Chart
> plots[display](L,LL);
Die obige Darstellung ist immer noch nach den gamma-Werten bezeichnet. Nun müsste das ganze noch mit den Real- und Imaginärteilen der Widerstände bezeichnet werden.