A Simple Complex Down-conversion Scheme
It works like this: say we have a real xR(n) input bandpass signal having the spectrum shown in Figure 1(b), and for our example the sample rate is fs = 24 kHz. The Delay/Hilbert transform filter combination in Figure 1(a) attenuates the negative frequency spectral components of XR(f) to produce the complex uI(n) + juQ(n) signal whose spectrum is provided in Figure 1(c). (The first Delay function in the top path is a cascade of unit delay elements, whose length is the group delay of the Hilbert filter, needed to time-synchronize the uI(n) and uQ(n) sequences.) The follow-on downsample by four (discard all but every fourth sample) performs our desired frequency translation and produces the complex v(m) sequence having the spectrum shown in Figure 1(d) where the new sample rate is 6 kHz.
The compensation filter in Figure 1(a) is used to compensate for the non-flat frequency magnitude response of the Hilbert filter in order to widen the down-converter's usable passband width. (The Delay function after the downsampling in the top path is needed to time-synchronize the yI(m) and yQ(m) sequences.) To make this complex down-converter computationally efficient, I suggest the implementation shown in Figure 2, where the compensation filter's coefficients are hc(0) = -1/32, and hc(1) = 1/2 + 1/16.
If the xR(n) input signal's bandwidth is no greater than fs/6, then Figure 2's Hilbert filter attenuates xR(n)'s undesired negative-frequency spectral components, at the yc(n) output, by approximately 35 dB. That much attenuation may not be something to write home about, but keep in mind that this down-converter requires no multipliers because the multiplies by the hc(0) and hc(1) coefficients can be implemented with binary shifts and adds. Now at the expensive of two multiplies per output sample, the compensation filter coefficients can be set to hc(0) = -0.02148 and hc(1) = 0.54128 to attenuate xR(n)'s undesired negative-frequency spectral components by roughly 45 dB.
Again, I thought some readers might find this little downconversion scheme to be interesting. If you have any questions, or comments, please let me know.
Copyright © 2008, Richard Lyons, All Rights Reserved
Previous post by Rick Lyons:
Computing Chebyshev Window Sequences
Next post by Rick Lyons:
Free DSP Books on the Internet
To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.
Registering will allow you to participate to the forums on ALL the related sites and give you access to all pdf downloads.