Pásmová propust

Zadání aproximační úlohy a transformace tolerančního schématu daného filtrtu pásmové propusti (BP) na nornmovanou dplní propust (NLP).

>    f_s3:=1000: f_p3:=1100: fp3:=3000: fs3:=4000: ap3:=3: as3:=25:

>    infolevel[syntfil]:=3:             

>    x3:=BP2NLP(f_s3,f_p3,fp3,fs3,ap3,as3);

>    infolevel[syntfil]:=1:

Filter specification:

f_s = 1000.000000 Hz

f_p = 1100.000000 Hz

fp = 3000.000000 Hz

fs = 4000.000000 Hz

ap = 3.000000 dB

as = 25.000000 dB

Non-symetrical BP was entered.

New stopband frequency was calculated fs = 3300.000000 Hz.

fm = 1816.590212 Hz

delta_fp = 1900.000000 Hz

delta_fs = 2300.000000 Hz

[Maple Plot]

Specification of NLP:

Os = 1.210526 1/s

ap = 3.000000 dB

as = 25.000000 dB

x3 := 1.2105263157894736842, 3, 25

Díky nastavení proměnné infolevel[syntfil]:=3  je jednak vykresleno toleranční schéma, a jednak jsou vypsány přepočítané mezní kmitočty na střední kmitočet a šířku propustného pásma a šířku mezí nepropustného pásma.

>   

Alternativní zadání tolerančního schématu pomocí středního kmitočtu, šířky propustného pásma a šířku mezí nepropustného pásma

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

>    Nb3:=ButterworthNLPOrder(x3);

>    Butterworth_asnew(Nb3);

>    Nch3:=ChebyshevNLPOrder(x3);

>    Chebyshev_asnew(Nch3);

>    Nc3:=CauerNLPOrder(x3);

>    Cauer_asnew(Nc3);

Nb3 := 16, 1.2105263157894736842, 3

26.540773307411947269

Nch3 := 6, 1.2105263157894736842, 3

27.221203941674095789

Nc3 := 4, 1.2105263157894736842, 3

33.840333157295486363

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

>    Gc3,poles3:=ChebyshevPoles(Nch3);

Gc3, poles3 := 31.924107043551472089, vector([-.38229512502700325038e-1+.97640601697962195635*I, -.38229512502700325038e-1-.97640601697962195635*I, -.10444497050596691430+.71477881324504316802*I, -.104...
Gc3, poles3 := 31.924107043551472089, vector([-.38229512502700325038e-1+.97640601697962195635*I, -.38229512502700325038e-1-.97640601697962195635*I, -.10444497050596691430+.71477881324504316802*I, -.104...
Gc3, poles3 := 31.924107043551472089, vector([-.38229512502700325038e-1+.97640601697962195635*I, -.38229512502700325038e-1-.97640601697962195635*I, -.10444497050596691430+.71477881324504316802*I, -.104...

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

>    g3,chf3,zer3:=InvChebyshevB(Nch3,p);

g3, chf3, zer3 := (5.2146273588449965750+1.3672235695431910127*p^6+6.0955998983314238659*p^5+13.588245166426047642*p^4+19.336158488244151351*p^3+19.049761095263319700*p^2+12.171848670132006866*p)/(5.21...
g3, chf3, zer3 := (5.2146273588449965750+1.3672235695431910127*p^6+6.0955998983314238659*p^5+13.588245166426047642*p^4+19.336158488244151351*p^3+19.049761095263319700*p^2+12.171848670132006866*p)/(5.21...
g3, chf3, zer3 := (5.2146273588449965750+1.3672235695431910127*p^6+6.0955998983314238659*p^5+13.588245166426047642*p^4+19.336158488244151351*p^3+19.049761095263319700*p^2+12.171848670132006866*p)/(5.21...

>   

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/g3)(omega),omega=0..5);

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

>    evalf(MagnitudeHdB(1/g3)(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/g3)(x3[1]));

[Maple Plot]

-3.0000000000000000656

-24.275931013049390081

Vypořtení a zároveň vykreslení modulové charakteristiky NLP pro základní Inverzní Čebyševovy aproximace (typ A). Oproti typu B, kde je poslední nula přenosu posunuta do nekonečna je zde tato nula na reálném končném  kmitočru.

>    plot([MagnitudeHdB(1/g3)(omega),MagnitudeHdB(1/InvChebyshev(Nch3,p)[1])(omega)],omega=0..8,legend=["A","B"]);

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

>    evalf(MagnitudeHdB(1/InvChebyshev(Nch3,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/InvChebyshev(Nch3,p)[1])(x3[1]));

[Maple Plot]

-3.0000000000000000641

-27.221203941674095796

>   

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

>