Úvodní sekvence příkazů - start programu a připojení knihovny SYNTFIL:
> restart;
> read `F:/usr/bicak/maple/los/syntfil.m`;
> with(syntfil):
> Digits:=18;
Během výpočtu bylo zjištěno, že přesnost na implicitních deset cifer nevyhovuje, proto byl nastaven počet platných cifer 18. Tím jsou komplikovanější i všechny výpisy. Bylo by možné nastavení provést až pro "kritické" části výpočtu.
Zadání tolerančního schema pásmové propusti a jeho transformace na NDP:
Po zpracování příkazu se zobazí toleranční schema s vyznačením oblasti nesymetrie a parametry pro popis PP pomocí středního kmitočtu fm,
šířky propustného pásma (delta_fp) a vzdálenosti mezí nepropustného pásma (delta_fs) pro symetrizovanou PP.
> x:=BP2NLP(1000,1100,1300,1700,1,30);
Filter specification:
f_s = 1000.000000 Hz
f_p = 1100.000000 Hz
fp = 1300.000000 Hz
fs = 1700.000000 Hz
ap = 1.000000 dB
as = 30.000000 dB
Non-symetrical BP was entered.
New stopband frequency was calculated fs = 1430.000000 Hz.
fm = 1195.826074 Hz
delta_fp = 200.000000 Hz
delta_fs = 430.000000 Hz
Specification of NLP:
Os = 2.150000 1/s
ap = 1.000000 dB
as = 30.000000 dB
Výpočet stupňů pro jednotlivé aproximace:
> bx:=ButterworthNLPOrder(x);
> cx:=ChebyshevNLPOrder(x);
> dx:=CauerNLPOrder(x);
Zjištění útlumu na mezi nepropustného pásma pro daný stupeň a aproximaci:
> Butterworth_asnew(bx);
> Chebyshev_asnew(cx);
> Cauer_asnew(dx);
Výpočet provozního činitele přenosu a charakteristické funkce pro vybrané aproximace:
> bpol,bchpol:=Butterworth(bx,s);
> cpol,cchpol:=Chebyshev(cx,s);
> Cauer();
Error, (in Cauer) Cauer needs 4 parameters: order, Os, ap, var
U Cauerovy aproximace je třeba navíc zadávat variantu (a,b,c).
> capol,cachpol,cazero:=Cauer(cx,s,b);
Převod provozního činitele přenosu na přenos:
> Hb:=unapply(1/bpol,s);
> Hc:=unapply(1/cpol,s);
> Hca:=unapply(1/capol,s);
Několik příkladů zobrazení přenosové funkce:
> plot(20*log10(abs(Hb(I*omega))),omega=0..1);
> plot(20*log10(abs(Hc(I*omega))),omega=0..1);
> plot(20*log10(abs(Hca(I*omega))),omega=0..1);
> plot(20*log10(abs(Hca(I*omega))),omega=2..7);
Zjištění parametrů funkce pro výpočet prvků NDP:
> DroppNLP();
Error, (in DroppNLP) DroppNLP needs 6 or 7 parameters: termination::{common,open,short}, R, direction::{front,rear}, struct::{PI,T}, pol, chpol, [zeros]
Výpočet prvků NDP pro Butterworthovu aproximaci:
> matb,elemsb:=DroppNLP(common,1,front,T,bpol,bchpol);
Výpočet prvků zadané Dp (t.j. zpětná transformace z NDP na zadanou DP):
> velemsb:=ElemsBP(elemsb,100,1100,1300):
Výpočet přenosové funkce z prvků filtru a zobrazení průběhu modulové kmitočtové charakteristiky přenosu v dB:
> Hbb:=unapply(MakeH(velemsb),s);
> plot(20*log10(abs(Hbb(I*2*Pi*f))),f=800..3000);
Obdobný výpočet pro Čebyševovu aproximaci:
> matc,elemsc:=DroppNLP(common,1,front,PI,cpol,cchpol);
> velemsc:=ElemsBP(elemsc,100,1100,1300):
> Hbc:=unapply(MakeH(velemsc),s);
plot(20*log10(abs(Hbc(I*2*Pi*f))),f=1000..1400);
Výpočet pro Cauerovu aproximaci:
> matca,elemsca:=DroppNLP(common,1,front,PI,capol,cachpol,cazero);
> velemsca:=ElemsBP(elemsca,100,1100,1300):
> Hbca:=unapply(MakeH(velemsca),s);
plot(20*log10(abs(Hbca(I*2*Pi*f))),f=500..2200);
>