syntfil[BP2NLP] - frequency transformation from the non-symmetrical bandpass (BP) to the normalized lowpass (NLP) filter specification
Calling sequence:
BP2NLP(f_s, f_p, fp, fs, ap, as)
Parameters:
f_s - lower stopband frequency [Hz]
f_p - lower cutoff frequency [Hz]
fp - upper cutoff frequency [Hz]
fs - upper stopband frequency [Hz]
ap - passband ripple [dB]
as - stopband attenuation [dB]
All parameters must be positive real values, where f_s < f_p < fp < fs and ap < as .
Description:
Os - stopband frequency of normalized lowpass filter [1/s]
ap - passband ripple [dB]
as - stopband attenuation [dB]
Info level:
Setting of variable infolevel[syntfil] can be used to get more detailed results.
infolevel[syntfil] =
2 - signalize non-symmetrical BP, print new values f_s and fs, passband geometric centre, passband width, stopband width and specification of NLP (Os, ap, as)
3 - as level 2 + print specification of entered BP (f_s, f_p, fp, fs, ap, as) and plot BP filter specification
4 - as level 3 + plot specification of NLP
Example:
> | with(syntfil): |
> | infolevel[syntfil]:=1; |
> | x:=BP2NLP(1000,2000,3000,4000,3,40); |
> | infolevel[syntfil]:=4; |
> | BP2NLP(1000,2000,3000,4000,3,40); |
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 = 40.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
Specification of NLP:
Os = 2.500000 1/s
ap = 3.000000 dB
as = 40.000000 dB