allpassshiftc
Allpass filter for complex shift transformation
Syntax
[AllpassNum,AllpassDen] = allpassshiftc(Wo,Wt)
[AllpassNum,AllpassDen] = allpassshiftc(0,0.5)
[AllpassNum,AllpassDen] = allpassshiftc(0,-0.5)
Description
[AllpassNum,AllpassDen] = allpassshiftc(Wo,Wt)
returns
the numerator, AllpassNum
, and denominator, AllpassDen
,
vectors of the allpass mapping filter for performing a complex frequency
shift of the frequency response of the digital filter by an arbitrary
amount.
[AllpassNum,AllpassDen] = allpassshiftc(0,0.5)
calculates
the allpass filter for doing the Hilbert transformation, a 90 degree
counterclockwise rotation of an original filter in the frequency domain.
[AllpassNum,AllpassDen] = allpassshiftc(0,-0.5)
calculates
the allpass filter for doing an inverse Hilbert transformation, i.e.
a 90 degree clockwise rotation of an original filter in the frequency
domain.
Examples
Design the allpass filter precisely rotating the whole filter
by the amount defined by the location of the selected feature from
an original filter, W
o=0.5
,
and its required position in the target filter, W
t=0.25
:
Wo = 0.5; Wt = 0.25; [AllpassNum, AllpassDen] = allpassshiftc(Wo, Wt);
Calculate the frequency response of the mapping filter in the full range:
[h, f] = freqz(AllpassNum, AllpassDen, 'whole');
Arguments
Variable | Description |
---|---|
Wo | Frequency value to be transformed from the prototype filter |
Wt | Desired frequency location in the transformed target filter |
AllpassNum | Numerator of the mapping filter |
AllpassDen | Denominator of the mapping filter |
Frequencies must be normalized to be between -1 and 1, with 1 corresponding to half the sample rate.
References
Oppenheim, A.V., R.W. Schafer and J.R. Buck, Discrete-Time Signal Processing, Prentice-Hall International Inc., 1989.
Dutta-Roy, S.C. and B. Kumar, “On Digital Differentiators, Hilbert Transformers, and Half-band Low-pass Filters,” IEEE® Transactions on Education, vol. 32, pp. 314-318, August 1989.
Version History
Introduced in R2011a