LinearSystems::LowpassToBandpass Function

Overload List

#SignatureDescription
1void LowpassToBandpass(TVec *z, TVec *p, double &k, double CenterFreq, double BW);Frequency transformation from a lowpass to a bandpass filter in s-domain.
2void LowpassToBandpass(TMtx *a, TVec *b, TVec *c, double &D, double CenterFreq, double BW);Convert a lowpass filter prototype in state space form to a bandstop filter.

Overload 1: void LowpassToBandpass(TVec *z, TVec *p, double &k, double CenterFreq, double BW);

Frequency transformation from a lowpass to a bandpass filter in s-domain.

#NameTypeDescription
1zTVec *
2pTVec *
3kdouble &
4CenterFreqdouble
5BWdouble
Remarks:

Transform a lowpass filter prototype in zero-pole form to bandpass filter, where the passband of width BW is centered around the frequency CenterFreq. Assumed sampling frequency is 2. The transformation is defined as ([1], p. 258): s -> (s^2 + W_u W_l)/(s (W_u - W_l))

Wl - lower cutoff frequency
Wu - upper cutoff frequency

The routine also adds zeros at 0. It adds one zero, if the lowpass filter order is odd and already has zeros. If the filter does not have zeros, it adds sufficient zeros at 0 to match the order of the lowpass filter.

References:

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

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

Overload 2: void LowpassToBandpass(TMtx *a, TVec *b, TVec *c, double &D, double CenterFreq, double BW);

Convert a lowpass filter prototype in state space form to a bandstop filter.

#NameTypeDescription
1aTMtx *
2bTVec *
3cTVec *
4Ddouble &
5CenterFreqdouble
6BWdouble
See Also: LinearSystems::LowpassToLowpass, LinearSystems::LowpassToBandstop, LinearSystems::LowpassToHighpass, LinearSystems::LowpassToLowpassZ, LinearSystems::LowpassToBandpassZ, LinearSystems::LowpassToBandstopZ, LinearSystems::LowpassToHighpassZ
Declared in Dew::Signal::Units::LinearSystems · Dew.Signal/Units.LinearSystems.h · Cross-compiler