©2002-2017 Ulm University, Othmar Marti, pict
[Vorherige Seite] [vorheriges Seitenende] [Seitenende] [Ebene nach oben] [PDF-Datei][Epub-Datei][Andere Skripte]

G.3  Darstellung der Filter

Sollen keine Tiefpässe dargestellt werden, muss das Argument I*x durch das entsprechende transformierte Element ersetzt werden.

G.3.1  Tiefpass-Hochpasstransformation

> th := P -> 1/P;

G.3.2  Tiefpass-Bandpasstransformation

> tb := (P) -> (P+1/P)/domega;

G.3.3  Tiefpass-Bandsperrentransformation

> tbs := (P) -> P * domega/(P^2+1);

G.3.4  Beispiel:Butterworth Tiefpässe

Die Funktion butterworth3(I*10^x) muss jeweils durch die entsprechenden Filterfunktionen für die anderen Filter ersetzt werden.

G.3.4.1. Phasenbild

> p1 := complexplot(butterworth1(I * 10^x), x=-10..10,color=black, labels=[‘Realteil‘,‘Imaginärteil‘], title=‘Butterworth Tiefpass 1.,3.,10. Ordnung + kritischer Tiefpass 10. Ordnung‘, titlefont=[HELVETICA,BOLD,9], numpoints=200, thickness=2, axes=boxed, line style=1):

> p2 := complexplot(butterworth3(I * 10^x), x=-10..10,color=red, numpoints=200,thickness=2, axes=boxed,linestyle=1):

> p3 := complexplot(butterworth10(I * 10^x), x=-10..10,color=blue, numpoints=200,thickness=2, axes=boxed,linestyle=1):

> p4 := complexplot(fn(I * 10^x,10), x=-10..10,color=black, numpoints=200,thickness=2, axes=boxed,linestyle=1,color=green):

> plots[display]({p1,p2,p3,p4});

G.3.4.2. Bodeplot:Amplitude

> p1 := loglogplot(evalf(abs(butterworth1(I * x))), x=0.01..100,color=black, labels=[‘Frequenz‘,‘Amplitude‘], title=‘Butterworth Tiefpass 1.,3.,10. Ordnung‘, titlefont=[HELVETICA, BOLD,9], numpoints=200, thickness=2, axes=boxed, linestyle=1, view=[0.01..100,10^(-2)..2]):

> p2 := loglogplot(evalf(abs(butterworth3(I * x))), x=0.01..100,color=red, numpoints=200,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,10^(-2)..2]):

> p3 := loglogplot(evalf(abs(butterworth10(I * x))), x=0.010..100,color=blue, numpoints=200,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,10^(-2)..2]):

> plots[display]({p1,p2,p3});

G.3.4.3. Bodeplot:Phase

> p1 := semilogplot(evalf(180 * argument(butterworth1(I * x))/Pi), x=0.01..100, color=black, labels=[‘Frequenz‘,‘Phase‘], title=‘Butterworth Tiefpass 1.,3.,10.Ordnung‘, titlefont=[HELVETICA,BOLD,9], numpoints=200,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,-180..180]):

> p2 := semilogplot(evalf(180 * argument(butterworth3(I * x))/Pi), x=0.01..100,color=red, numpoints=40,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,-180..180]):

> p3 := semilogplot(evalf(180 * argument(butterworth10(I * x))/Pi), x=0.01..100,color=blue, numpoints=200,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,-180..180]):

> plots[display]({p1,p2,p3});

G.3.4.4. Gruppenlaufzeit

> p1 := semilogplot(eval( -diff(evalc(argument( butterworth1(I * y))), y), y = x )/(2 * Pi), x=0.01..100,color=black, labels=[‘Frequenz‘,‘Gruppenlaufzeit‘], title=‘Butterworth Tiefpass 1.,3.,10. Ordnung‘,titlefont=[HELVETICA,BOLD,9], numpoints=200,thickness=2,axes=boxed,linestyle=1, view=[0.01..100,0.0..2]):

> p2 := semilogplot(eval( -diff(evalc(argument( butterworth3(I * y))), y), y = x )/(2 * Pi), x=0.01..100,color=red, numpoints=200,thickness=2,axes=boxed,linestyle=1, view=[0.01..100,0.0..2]):

> p3 := semilogplot(eval( -diff(evalc(argument( butterworth10(I * y))), y), y=x )/(2 * Pi), x=0.01..100,color=blue, numpoints=200,thickness=2,axes=boxed,linestyle=1, view=[0.01..100,0.0..2]):

> plots[display]({p1,p2,p3});



[Vorherige Seite] [vorheriges Seitenende] [Seitenanfang] [Ebene nach oben]
©2002-2017 Ulm University, Othmar Marti, pict  Lizenzinformationen