LinearSystems::LowpassToBandstopZ Function

Overload List

#SignatureDescription
1void LowpassToBandstopZ(TVec *Num, TVec *Den, double Freq, double BW, double PrototypeFreq);Apply frequency band transformation from lowpass to bandstop in the z-domain.
2void LowpassToBandstopZ(TVec *z, TVec *p, double &k, double Freq, double BW, double PrototypeFreq);The function returns modified z (zeros), p (poles) and k (gain).

Overload 1: void LowpassToBandstopZ(TVec *Num, TVec *Den, double Freq, double BW, double PrototypeFreq);

Apply frequency band transformation from lowpass to bandstop in the z-domain.

#NameTypeDescription
1NumTVec *
2DenTVec *
3Freqdouble
4BWdouble
5PrototypeFreqdouble
Remarks:

Freq is the center frequency of the stopband with width BW of the new filter. The function returns modified num and den. PrototypeFreq is the cutoff frequency of the prototype lowpass filter after it has been mapped to z-domain. Freq, BW and PrototypeFreq must be between 0 and 1 (Sampling frequency = 2). The transformation is defined with the following mapping ([1] p. 260 and [2] p. 434, [3] p. 352): z^(-1) -> (a2 - a1 z^(-1) + z^(-2))/(1 - a1 z^(-1) + a2 z^(-2)) beta = (cos((w2 + w1)/2))/(cos((w2 - w1)/2)) k1 = tan((w2 - w1)/2)tan(wc/2) a1 = (2 beta)/(k1 + 1), a2 = (1 - k1)/(k1 + 1)

wc - old cutoff frequency
w2 - desired upper cutoff frequency
w1 - desired lower cutoff frequency

References:

[1] Theory and application of digital signal processing, Lawrence R. Rabiner and Bernard Gold. Prentice-Hall, 1975

[2] Discrete-time signal processing, Oppenheim and Schafer, Prentice-Hall, 1989

[3] Digital signal processing, Vinay K. Ingle and John G. Proakis, Brooks-Cole, 2000

Declared in Dew::Signal::Units::LinearSystems · Dew.Signal/Units.LinearSystems.h · Cross-compiler

Overload 2: void LowpassToBandstopZ(TVec *z, TVec *p, double &k, double Freq, double BW, double PrototypeFreq);

The function returns modified z (zeros), p (poles) and k (gain).

#NameTypeDescription
1zTVec *
2pTVec *
3kdouble &
4Freqdouble
5BWdouble
6PrototypeFreqdouble
See Also: LinearSystems::Bilinear, LinearSystems::RationalSubstitution, LinearSystems::LowpassToBandstop, LinearSystems::LowpassToLowpassZ, LinearSystems::LowpassToHighpassZ, LinearSystems::LowpassToBandpassZ
Declared in Dew::Signal::Units::LinearSystems · Dew.Signal/Units.LinearSystems.h · Cross-compiler