| Prev | Next | fncheb1 |
| Syntax |
fncheb1(Norder, Ap, b, a) |
| Include: |
include spt\fncheb1.oms |
| See Also | fnbut , fncheb2 , fnbes |
ARGUMENTS:
INPUTS:
Norder = SCALAR. Requested order of transfer function. Coerced to
INTEGER before local processing. Norder >= 2.
Ap = SCALAR. Passband ripple in dB, Ap > 0.0 dB. Coerced to
double for local processing.
b = VECTOR, COLUMN, for return (type disregarded on input).
Numerator polynomial coefficients. Type DOUBLE.
a = VECTOR, COLUMN, for return (type disregarded on input).
Denominator polynomial coefficients. Type DOUBLE.
RETURN: novalue. Filter functions are returned in 'b' and 'a'.
This function creates a normalized TYPE 1 Chebyshev s-domain
lowpass transfer function of the form: H(s) = b(s)/a(s). The 3-dB cutoff
frequency is set to 1 radian/sec. The requested filter order 'Norder'
must be >= 2. The numerator polynomial of the transfer function is
returned through argument 'b', and is a column vector where the elements
form a polynomial as follows:
b => b(1) + b(2)*s + b(3)*s^2 + ...
Denominator polynomial is returned in argument 'a', and is of the
same form. The function calls SPT function 'fnc1pole()'.
A Chebyshev TYPE 1 filter has equi-ripple behavior in the passband
and monotonically increasing attenuation in the stopband. The
passband peak-to-peak ripple is set via parameter 'Ap' in dB, where
Ap > 0.0dB (strictly positive). Due to the nature of Chebyshev functions,
even order filters cannot have a gain of unity at 0 Hz as can odd order
filters. Even order filters start at Ap dB down at 0 Hz and begin
passband ripple characteristics from there. All filters are passive,
i.e., they can a gain of 1.0 at most at any given frequency.
include spt\fncheb1.oms
# Design CHEBYSHEV Type 1 lowpass prototype filter, fc = 1 [radian/sec]
Norder = 5; # Filter Order
Ap = 2d0; # Passband Ripple
b = novalue; # Declare numerator polynomial
a = novalue; # Declare denominator polynomial
fncheb1(Norder, Ap, b, a); # Make prototype filter
# Evaluate this filter around its cutoff.
fmin = 1d-2; # Plotting Limits
fmax = 1d0;
ymax = 10d0;
ymin = -60d0;
N = 201; # Plotting information
n = seq(N)'-1d0;
f = logspace(log10(fmin),log10(fmax),N)';
H = gains(b,a,f);
HdB = db20(H);
fc = 1d0/2/PI; # 3dB down at this cutoff
A plot of the normalized CHEBYSHEV Type 1 filter apperas as:
Reference