Horní propust

Zadání aproximační úlohy - definice mezních kmitočtů.

>    f_s2:=1000:f_p2:=2000:ap2:=3:as2:=45:

Transformace tolerančního schématu daného filtrtu horní propusti (HP) na nornmovanou dolní propust (NLP).

>    infolevel[syntfil]:=4:  

>    x2:=HP2NLP(f_s2,f_p2,ap2,as2);

>    infolevel[syntfil]:=1:

Filter specification:

f_s = 1000.000000 Hz

f_p = 2000.000000 Hz

ap = 3.000000 dB

as = 45.000000 dB

[Maple Plot]

Specification of NLP:

Os = 2.000000 1/s

ap = 3.000000 dB

as = 45.000000 dB

[Maple Plot]

x2 := 2., 3, 45

Díky nastavení proměnné infolevel[syntfil]:=4  je vykresleno jednak toleranční schéma zadaného filtru, a jednak toleranční schéma odpovídající normované dolní propusti.

Výpočet stupňů a nových útlumů v nepropustném pásmu pro všechny typy standardních aproximací.

>    Nb2:=ButterworthNLPOrder(x2);

>    Butterworth_asnew(Nb2);

>    Nch2:=ChebyshevNLPOrder(x2);

>    Chebyshev_asnew(Nch2);

>    Nc2:=CauerNLPOrder(x2);

>    Cauer_asnew(Nc2);

Nb2 := 8, 2., 3

48.144241489974282593

Nch2 := 5, 2., 3

51.153580310131411741

Nc2 := 4, 2., 3

57.753956206760133983

Výpočet pólů a nul přenosu NLP pro zíkladní typ Cauerovy aproximace. Toto je potřebné pro následnou kaskádní syntézu ARC (aktivní RC) struktury filtru.

>    Gc2,poles2,zeros2:=CauerPolesZeros(Nc2);

Gc2, poles2, zeros2 := 772.14312749934120321, vector([-.21396146741328874092+.41983617383638412018*I, -.21396146741328874092-.41983617383638412018*I, -.75257146078295724312e-1+.95455335289146399189*I, ...
Gc2, poles2, zeros2 := 772.14312749934120321, vector([-.21396146741328874092+.41983617383638412018*I, -.21396146741328874092-.41983617383638412018*I, -.75257146078295724312e-1+.95455335289146399189*I, ...
Gc2, poles2, zeros2 := 772.14312749934120321, vector([-.21396146741328874092+.41983617383638412018*I, -.21396146741328874092-.41983617383638412018*I, -.75257146078295724312e-1+.95455335289146399189*I, ...

Výpočet provozního činitele přenosu, charakteristické funkce a nul přenosové funkce pro vybranou aproximaci. Toto je potřebné pro následnou syntézu příčkové LC struktury filtru.

>    g2,chf2,zer2:=CauerB(Nc2,p);

g2, chf2, zer2 := (7.6755673456220578708+39.276111996431282952*p^4+22.751514235946387155*p^3+46.863386995919668753*p^2+16.489106811495340808*p)/(5.4338855450896831313+p^2), (5.4209982438703151087+39.27...
g2, chf2, zer2 := (7.6755673456220578708+39.276111996431282952*p^4+22.751514235946387155*p^3+46.863386995919668753*p^2+16.489106811495340808*p)/(5.4338855450896831313+p^2), (5.4209982438703151087+39.27...

>   

Výpočet některých ostatních aproximací

Výpočet modulu přenosové funkce dané NLP z provozního činitele přenosu a jeho vykreslení v dB v závislosti na kmitočtu.

>    plot(MagnitudeHdB(1/g2)(omega),omega=0..8,color=blue);

Výpočet modulu přenosu pro mez propustného pásma (měl by samozřejmě vyjít jako zadané ap2  - kontrola).

>    evalf(MagnitudeHdB(1/g2)(1));

Výpočet modulu přenosu pro mez nepropustného pásma (měl by vyjít jako zadané asnew  - kontrola, ale zvhledem k aproximace typu B vyjde menší).

>    evalf(MagnitudeHdB(1/g2)(x2[1]));

[Maple Plot]

-3.0000000000000000134

-50.362267586280388811

Vypořtení a zároveň vykreslení modulové charakteristiky NLP pro základní Cauerovu aproximaci (typ A).

>    plot(MagnitudeHdB(1/Cauer(Nc2,p)[1])(omega),omega=0..8);

Výpočet modulu přenosu pro mez propustného pásma, zde musí vyjít také stejně, tj.  jako ap .

>    evalf(MagnitudeHdB(1/Cauer(Nc2,p)[1])(1));

Výpočet modulu přenosu pro mez nepropustného pásma, zde vyjde přesně stejně, jako asnew .

>    evalf(MagnitudeHdB(1/Cauer(Nc2,p)[1])(x2[1]));

[Maple Plot]

-3.0000000000000000063

-57.753956206760133978

Vypořtení a  vykreslení modulové charakteristiky NLP pro upravenou Cauerovu aproximaci (typ C). Oproti typu B, kde je poslední nula přenosu posunuta také do nekonečna (oproti základnímu typu aproximace), vychází zde ještě navíc začátek modulové charakteristiku z 0dB, což vede na stejné zakončovací rezistory příčkové LC struktury filtru.  

>    g2c,chf2c,zer2c:=CauerC(Nc2,p):

>    plot(MagnitudeHdB(1/g2c)(omega),omega=0..8,color=green);

[Maple Plot]

Zde jsou vykresleny všechny typy najednou.

>    plot([MagnitudeHdB(1/g2)(omega),MagnitudeHdB(1/Cauer(Nc2,p)[1])(omega),MagnitudeHdB(1/g2c)(omega)],omega=0..8,color=[blue,red,green],legend=["B","A","C"]);

[Maple Plot]

>   

Vykreslení modulu "lineárně", fáze a skupinového zpoždění NLP

>