Úvodní sekvence příkazů - start programu a připojení knihovny SYNTFIL:
> restart;
> read `F:/usr/bicak/maple/los/syntfil.m`;
> with(syntfil);
Zjištění potřebných parametrů procedury:
> LP2NLP();
Error, (in LP2NLP) LP2NLP needs 4 parameters: fp, fs, ap, as
Zadání tolerančního schema dolní propusti a jeho transformace na NDP:
> fp:=1000;
> x:=LP2NLP(fp,2000,3,30);
Filter specification:
fp = 1000.000000 Hz
fs = 2000.000000 Hz
ap = 3.000000 dB
as = 30.000000 dB
Specification of NLP:
Os = 2.000000 1/s
ap = 3.000000 dB
as = 30.000000 dB
Zjištění potřebných parametrů pro funkci výpočet stupně:
> ButterworthNLPOrder();
Error, (in ButterworthNLPOrder) ButterworthNLPOrder needs 3 parameters: Os, ap, as
Výpočet stupně 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);
Převod provozního činitele přenosu na přenos:
> Hb:=unapply(1/bpol,s);
> Hc:=unapply(1/cpol,s);
Několik příkladů zobrazení přenosové funkce:
> plot(abs(Hb(I*omega)),omega=0..1);
> plot(abs(Hc(I*omega)),omega=0..1);
> plot(20*log10(abs(Hb(I*omega))),omega=0..1);
> plot(20*log10(abs(Hc(I*omega))),omega=0..1);
> plot(20*log10(abs(Hb(I*10^o))),o=-1..1);
> plot(20*log10(abs(Hc(I*10^o))),o=-1..1);
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:
> mat,elems:=DroppNLP(common,1,front,T,bpol,bchpol);
Výpočet prvků zadané Dp (t.j. zpětná transformace z NDP na zadanou DP):
> oelems:=ElemsLP(elems,100,fp):
Výpočet přenosové funkce z prvků filtru, zobrazení provozního činitele přenosu z kroku aproximace (bpol) a zobrazení průběhu modulové kmitočtové charakteristiky přenosu v dB:
> MakeH(oelems);
> bpol;
> Hbb:=unapply(MakeH(oelems),s);
> plot(20*log10(abs(Hbb(I*2*Pi*f))),f=100..2000);
Obdobný výpočet pro Čebyševovu aproximaci:
> cmat,celems:=DroppNLP(common,1,front,PI,cpol,cchpol);
> ocelems:=ElemsLP(celems,100,fp):
> MakeH(ocelems);
> Hbc:=unapply(MakeH(ocelems),s);
plot(20*log10(abs(Hbc(I*2*Pi*f))),f=100..2000);
>