cascade (<PoleZeroSpec>[,<PoleZeroSpec>]*) ;

Each pole or pole/zero specification represents one first or second order substage in the resulting cascade filter. The stages appear in the same order as they are specified, starting at the input of the filter. A pole may appear without a zero, but not the other way round. The pole specification needs to precede the zero specification. A pole or zero with a zero imaginary part is interpreted as a single real root; otherwise a pair of complex roots is assumed. A non-real pole may be accompanied by a real zero, but if it is tried the other way round, only the real part of the zero is taken into consideration.

<PoleZeroSpec>: <PoleSpec>[<ZeroSpec>]<PoleSpec>: pole ( <real> )| pole ( <real>, <imag> )<ZeroSpec>: zero ( <real> )| zero ( <real>, <imag> )

Each biquad has built-in damping
to move the poles that this biquad realizes away from the imaginary
axis. Each one of the two integrators that constitute a biquad
may contribute to the total amount of damping in this biquad.
By default, half of the total for each biquad goes to each integrator.
This behavior can be modified with the variable `cascdist`.
`cascdist` should be between 0 and 1. If it is 0, the first
integrator will not contribute to the damping, and the second integrator
will contribute everything. If it is 1, the first integrator will
contribute all damping, and the second integrator nothing.
If it is 0.5, half of the
total goes to each integrator, which is the default.

As an example, the following input

cascade ( pole (-0.425971), pole (-0.285118, 0.703363) zero (0, 1.55741), pole (-0.081731, 1.01253) zero (0, 2.33188) ) ;results in the same filter as the following.

cauer(5, 0.5, 1.5);