Řešení aproximační úlohy

Zadání tolerančního schématu pásmové propusti (PP) a jeho transformace na schéma normované dolní propusti (NDP). Pro volbu infolevel[syntfil] > 2  je navíc vykresleno toleranční schéma filtru.  

>    infolevel[syntfil]:=3:

>    f_s:=1000:f_p:=2000:fp:=3000:fs:=4000:

>    ap:=3:as:=45:

>    x:=BP2NLP(f_s,f_p,fp,fs,ap,as);

Filter specification:

f_s = 1000.000000 Hz

f_p = 2000.000000 Hz

fp = 3000.000000 Hz

fs = 4000.000000 Hz

ap = 3.000000 dB

as = 45.000000 dB

Non-symetrical BP was entered.

New stopband frequency was calculated f_s = 1500.000000 Hz.

fm = 2449.489743 Hz

delta_fp = 1000.000000 Hz

delta_fs = 2500.000000 Hz

[Maple Plot]

Specification of NLP:

Os = 2.500000 1/s

ap = 3.000000 dB

as = 45.000000 dB

x := 2.50000000000000000, 3, 45

Alternativní zadání PP pomocí fm , delta_fp  a delta_fs . Tímto způsobem je vždy zadané symetrické schéma. Parametry jsou určeny tak, aby výsledek byl shodný s předchozím výpočtem.

>    fm:=evalf(sqrt(f_p*fp)): delta_fp:=fp-f_p: delta_fs:=fs-f_s:

>    BP22NLP(fm,delta_fp,delta_fs,ap,as);

>    infolevel[syntfil]:=1:  

Filter specification:

fm = 2449.489743 Hz

delta_fp = 1000.000000 Hz

delta_fs = 3000.000000 Hz

ap = 3.000000 dB

as = 45.000000 dB

f_s = 1372.281323 Hz

f_p = 2000.000000 Hz

fp = 3000.000000 Hz

fs = 4372.281323 Hz

[Maple Plot]

Specification of NLP:

Os = 3.000000 1/s

ap = 3.000000 dB

as = 45.000000 dB

3.00000000000000000, 3, 45

Výpočet stupňů přenosových funkcí a nové hodnoty útlumu v nepropustném pásmu pro všechny standardní aproximace.

>    N1:=ButterworthNLPOrder(x);

>    Butterworth_asnew(N1);

>    N2:=ChebyshevNLPOrder(x);

>    Chebyshev_asnew(N2);

>    N3:=CauerNLPOrder(x);

>    Cauer_asnew(N3);

N1 := 6, 2.50000000000000000, 3

47.7322498501106914

N2 := 4, 2.50000000000000000, 3

48.3950508383725919

N3 := 3, 2.50000000000000000, 3

46.8210610677701716

Výpočet provozního činitele přenosu, charakteristické funkce a nul přenosové funkce (pólů provozního činitele přenosu).

>    G,phi,zeros:=Cauer(N3,p);

G, phi, zeros := (8.15849999290396356+30.5287458703747864*p^3+18.1112364746872678*p^2+28.7431080822003832*p)/(8.15849999290396354+p^2), (30.5287458703747864*p^3+23.3872233689770184*p)/(8.15849999290396...
G, phi, zeros := (8.15849999290396356+30.5287458703747864*p^3+18.1112364746872678*p^2+28.7431080822003832*p)/(8.15849999290396354+p^2), (30.5287458703747864*p^3+23.3872233689770184*p)/(8.15849999290396...

Výpočet pólů a nul přenosové funkce pro následnou kaskádní syntézu.

>    Gc,poles,zeros:=CauerPolesZeros(N3);

Gc, poles, zeros := 30.5287458703747864, vector([-.140123971578636630+.913321511212400794*I, -.140123971578636630-.913321511212400794*I, -.313003956268522743]), vector([2.85630880559227411*I, -2.856308...
Gc, poles, zeros := 30.5287458703747864, vector([-.140123971578636630+.913321511212400794*I, -.140123971578636630-.913321511212400794*I, -.313003956268522743]), vector([2.85630880559227411*I, -2.856308...
Gc, poles, zeros := 30.5287458703747864, vector([-.140123971578636630+.913321511212400794*I, -.140123971578636630-.913321511212400794*I, -.313003956268522743]), vector([2.85630880559227411*I, -2.856308...