Pásmová zádrž
Zadání aproximační úlohy a transformace tolerančního schématu daného filtrtu pásmové zádrže (BS) na nornmovanou dolní propust (NLP).
> | fp4:=1000: fs4:=1200: f_s4:=3000: f_p4:=4000: ap4:=3: as4:=25: |
> | infolevel[syntfil]:=3: |
> | x4:=BS2NLP(fp4,fs4,f_s4,f_p4,ap4,as4); |
> | infolevel[syntfil]:=1: |
Filter specification:
fp = 1000.000000 Hz
fs = 1200.000000 Hz
f_s = 3000.000000 Hz
f_p = 4000.000000 Hz
ap = 3.000000 dB
as = 25.000000 dB
Non-symetrical BS was entered.
New stopband frequency was calculated f_s = 3333.333333 Hz.
fm = 2000.000000 Hz
delta_fp = 3000.000000 Hz
delta_fs = 2133.333333 Hz
Specification of NLP:
Os = 1.406250 1/s
ap = 3.000000 dB
as = 25.000000 dB
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 nepropustného pásma a šířku mezí propustného pásma.
Výpočet stupňů a nových útlumů v nepropustném pásmu pro všechny typy standardních aproximací.
> | infolevel[syntfil]:=1: |
> | Nb4:=ButterworthNLPOrder(x4); |
> | Butterworth_asnew(Nb4); |
> | Nch4:=ChebyshevNLPOrder(x4); |
> | Chebyshev_asnew(Nch4); |
> | Nc4:=CauerNLPOrder(x4); |
> | Cauer_asnew(Nc4); |
Výpočet pólů a případně nul (pro eliptické filtry) přenosu NLP pro vybranou aproximaci. Toto je potřebné pro následnou kaskádní syntézu ARC (aktivní RC) struktury filtru.
> | Gc4,poles4:=ChebyshevPoles(Nch4); |
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.
> | g4,chf4:=Chebyshev(Nch4,p); |
> |
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/g4)(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/g4)(1)); |
Výpočet modulu přenosu pro mez nepropustného pásma (měl by vyjít jako zadané asnew - kontrola).
> | evalf(MagnitudeHdB(1/g4)(x4[1])); |
> |
Vykreslení modulu "lineárně", fáze a skupinového zpoždění NLP
> |