I can think of two possible methods of digital down conversion. One seems superior to the the other for most cases, but I'd like to get some DSP experts' comments on the practical differences between these two.

For both methods described below, I start with the assumption that the $x(t)$ input is already constrained to the band of interest, to avoid the consideration of antialiasing. Antialiasing filters may be necessary in practical applications.

In method A, the in phase component is generated by mixing $x(t)$ with $\cos(\omega t)$ and low pass filtering out the undesired high frequency images. Since there is excess bandwidth in the signal you can use a decimating filter instead of a straight lowpass, shown in my figure below as a blue box around a low pass and a decimator. The quadrature component is similarly obtained by mixing with $\sin(\omega t)$ and then filtering. As a formality I show multiplying the quadrature component by $j$ and adding it to the in phase component.

In method B, convolution is used to perform the discrete Hilbert transform on $x(t)$. This is the reconstruction of the missing quadrature component in $x(t)$. Downconversion is accomplished by mixing the resultant complex signal with a complex sinusoid, no unwanted images generated! Depending on the bandwidth of the baseband signal, it may be smart to add a decimating filter to reduce the data rate, but the output here is usable without that filter. That is, it is not aliased (provided the input signal is limited to the appropriate band).

The primary constraint that I can see in method A is that you can't downconvert by small amounts relative to your bandwidth. Say, for example, you had a 1kHz bandwidth in your signal of interest. If you want to downconvert by 100Hz, method A will not allow for that. The band of the images generated in mixing will intersect the band of the signal of interest. I've seen vector analyzers with analog front ends that can use double down conversion to reject images. A similar method could be used in DSP of course. The problem isn't unsolvable, it just isn't solved by method A.

Method B appears to work around the problems with method A. The construction of a complex signal from the real signal essentially eliminates all negative frequency components, and mixing with a complex sinusoid ensures no images are created, so the only signal present in the output is the signal desired. No filtering is required. However, the convolution required to do the discrete Hilbert transform could be expensive. I would generally choose method A.

enter image description here

My question is: are there advantages / drawbacks of these methods I haven't thought of? What are some practical considerations I should keep in mind before choosing a method?

  • 1
    $\begingroup$ A well-thought-out question. Both methods do work and are used in practice. One drawback of method B is that you need to design a good filter (shown as $h(t)$) to approximate the Hilbert transform. A good approximation to the ideal HT response can be hard to obtain over large fractions of the Nyquist zone, so it has similar limitations to the ones that you noted for method A. I almost exclusively use method A in my own work. $\endgroup$
    – Jason R
    Commented Aug 21, 2015 at 10:56
  • 1
    $\begingroup$ Conceptually, we understand the processes in your two figures. But I suggest you not use those figures in any formal document. First, there is no such thing as a 'multiply by j' operation. And second, adding two real-valued signals does not produce a complex-valued signal. Have a look at Figure 6 at <intersil.com/content/dam/Intersil/documents/tb31/tb314.pdf> for a more realistic graphical depiction of 'complex down-conversion'. $\endgroup$ Commented Aug 22, 2015 at 8:30
  • 1
    $\begingroup$ It just occurred to me, Big Endian, perhaps the material at <dsprelated.com/showarticle/153.php> would be on some mild interest to you. $\endgroup$ Commented Aug 22, 2015 at 9:33

2 Answers 2


As you already know, the two methods are theoretically identical if there's no noise. If there is out-of-band noise then the low pass filters in method A will further suppress the out-of-band noise, whereas there's no such noise suppression with method B. This would be one advantage of method A over method B.

Note, however, that the phase splitter in method B (which is the complex-valued filter with a wire in the real part and a Hilbert transformer in the imaginary part) could be replaced by a complex valued band pass filter filtering out the positive in-band frequencies. With such a filter, both methods would be equivalent, even with out-of-band noise.

I do not think that the need to implement a Hilbert transformer is a disadvantage of method B, because the Hilbert transform does not need to be approximated over the whole band, just over the signal bandwidth.

  • $\begingroup$ As my brain kept me from falling asleep last night, I though the same thing about the complex band pass filter. You make a good point about the band in which we are concerned with the response of the Hilbert transform. I had not considered it in those terms. $\endgroup$
    – Void Star
    Commented Aug 21, 2015 at 22:24

Here's another difference between the two methods. If the two lowpass digital filters in Method A are identical then their frequency-domain passband magnitude responses will be identical. And that's a good thing if your final goal is phase- or FM-demodulation. In Method B any practical Hilbert transformer will have ripples (fluctuations) in its frequency-domain passband magnitude response. And that will cause freq-dependent phase error in your final complex-valued I(n) + jQ(n) output. One solution to that problem is to "window" (Hanning, Hamming, etc.) the Hilbert transformer's coefficients to flatten its magnitude response.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.