IIRFilters.ExactIirZeros Method

procedure ExactIirZeros(Order: Integer; wc: Double; FilterType: TFilterType; Analog: Boolean; z: TVec);

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
1OrderInteger
2wcDoublescalar
3FilterTypeTFilterType
4AnalogBoolean
5zTVecsource TVec

Result: stored in self (calling object)

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: SignalUtils.IirFilter, IIRFilters.ButterFilter, IIRFilters.ChebyshevIFilter