IIRFilters::ExactIirZeros Function

void ExactIirZeros(int Order, double wc, TFilterType FilterType, bool Analog, TVec *z);

Place the exact fixed zeros of a Butterworth or Chebyshev type I filter into z, given the filter Order, the bilinear-warped band-centre frequency Wc, the FilterType and the Analog flag. The locations are: DIGITAL (Analog=False) lowpass = Order zeros at z=1z=-1; highpass = Order zeros at z=+1z=+1; bandpass = Order zeros at z=+1z=+1 then Order at z=1z=-1; bandstop = 2Order unit-circle zeros at z=e^(+/- jtheta), theta=2arctanW_c/4. ANALOG (Analog=True) lowpass = no zeros; highpass/bandpass = Order zeros at the origin; bandstop = 2Order zeros at +/- jW_c. Domain: Order a positive integer; Wc the warped centre frequency (only used for bandstop). z is sized and overwritten; it must allow a complex result for the bandstop and analog-bandstop cases. No NaN is produced.

#NameTypeDescription
1Orderint
2wcdouble
3FilterTypeTFilterType
4Analogbool
5zTVec *
Remarks:

The order defies the Order of the filter, WC is the bilinear warped center frequency of the stopband of a bandstop filter. FilterType defines, if the filter is lowpass, highpass, bandpass or bandstop, Analog specifies, if the filter is designed for the s-domain or for the z-domain. The result is placed in z.

See Also: IirFilter, IIRFilters::ButterFilter, IIRFilters::ChebyshevIFilter
Declared in Dew::Signal::Units::IIRFilters · Dew.Signal/Units.IIrFilters.h · Cross-compiler