Prev Next fncheb2

Normalized Chebychev Type 2 Lowpass Filter
Syntax fncheb2(Norder, Ap, As, b, a)
Include: include spt\fncheb2.oms
See Also fnbut , fncheb1 , fnbes

      Norder = SCALAR. Requested order of transfer function. Coerced to
               INTEGER before local processing. Norder >= 2.
      Ap     = SCALAR. Passband attenuation in dB at cutoff frequency,
               Ap > 0.0 dB. Coerced to DOUBLE for local processing.
      As     = SCALAR. Stopband minimum attenuation in dB, As > Ap.
               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 2 Chebychev s-domain lowpass transfer function of the form: H(s) = b(s)/a(s). The cutoff frequency is set to 1 radian/sec at an attenuation of 'Ap' dB, where Ap > 0.0 dB. 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.

A Chebychev TYPE 2 filter (sometimes called the Inverse Chebychev Filter) has monotonic behavior in the passband and equi-ripple attenuation in the stopband of maximum value 'As' dB, where As > Ap.


include spt\fncheb2.oms

# Design CHEBYCHEV Type 2 lowpass prototype filter, fc = 1 [radian/sec]
Norder = 5;        # Filter Order
Ap     = 2d0;      # Passband variation
As     = 45d0;     # Stopband attenuation
b      = novalue;  # Declare numerator   polynomial
a      = novalue;  # Declare denominator polynomial 
fncheb2(Norder, Ap, As, b , a ); # Make the filter

# Evaluate this filter around its cutoff.
fmin    =  1d-2; # Plotting Limits
fmax    =  1d1;
ymax    =  10d0;
ymin    = -60d0;

N       = 301; # 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; # Ap dB down at this cutoff

A plot of the normalized CHEBYSHEV Type 2 filter appears as: