The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....


Unit: SDL_math2
Class: none
Declaration: procedure CalcChebFilterCoeffs (NPoles: integer; HiLoP: boolean; CutoffFq, Ripple: double; var CoeffA0: double; Coeffs: TMatrix);

The procedure CalcChebFilterCoeffs calculates the coefficients of a Chebychev filter. The calculated coefficients CoeffA0 and Coeffs can be directly used by the routine ChebychevFilter to apply a Chebychev filter to a series of signal values.

The parameter NPoles defines the number of poles of the filter and has to be an even number between 2 and 20. The parameter HiLoP determines whether a highpass (HiLoP = TRUE) or a lowpass (HiLoP = FALSE) filter is to be created.

The parameter CutOffFQ controls the cutoff frequency, which is specified as a fraction of the sampling rate. Thus the CutOffFQ parameter may assume values between 0 and 0.500. The parameter Ripple determines the percent ripple in the passband (allowed values: 0 to 29).

Hint: Please note that the stability of Chebychev filters severely degrades if the number of poles is too high (especially at low or high cutoff frequencies). The following table provides a rough estimation of the maximum number of poles:

Cutoff Frequency No. of Poles
0.02, 0.48 4
0.05, 0.45 6
0.1, 0.4 10
0.25 20

Last Update: 2016-Jun-28