Digital Signal Processing Tricks - Frequency Translation without multiplicationFrequency translation is often called for in digital signal processing algorithms. There are simple schemes for inducing frequency translation by 1/2 and 1/4 of the signal sequence sample rate. Let's take a look at these mixing schemes.
Frequency Translation by fs/2
First we'll consider a technique for frequency translating an input sequence by fs/2 by merely multiplying a sequence by (-1)n = 1,-1,1, -1, ..., etc., where fs is the signal sample rate in Hz. This process may seem a bit mysterious at first, but it can be explained in a straightforward way if we review Figure 13-1(a) below.
There we see that multiplying a time domain signal sequence by the (-1)n mixing sequence is equivalent to multiplying the signal sequence by a sampled cosinusoid where the mixing sequence samples are shown as the dots in Figure 13-1(a) below.
Because the mixing sequence's cosine repeats every two sample values, its frequency is fs/2. Figure 13 -1(b) and (c) show the discrete Fourier transform (DFT) magnitude and phase of a 32-sample (-1)n sequence. As such, the right half of those figures represents the negative frequency range.
|Figure 13-1. Mixing sequence comprising (-1)n = 1,-1,1,-1, etc: (a) time-domain sequence; (b) frequency-domain magnitudes for 32 samples; (c) frequency-domain phase.|
Let's demonstrate this (-1)n mixing by an example. Consider a real x(n) signal sequence having 32 samples of the sum of three sinusoids whose [X(m)] frequency magnitude and Phi (m) phase spectra are as shown in Figure 13-2(a) and (b) below.
If we multiply that time signal sequence by ("1)n, the resulting x1, - 1 (n) time sequence will have the magnitude and phase spectra are that shown in Figure 13-2(c) and (d). Multiplying a time signal by our (-1)n, cosine shifts half its spectral energy up by fs/2 and half its spectral energy down by - fs/2.
Notice in these non-circular frequency depictions that as we count up, or down, in frequency we wrap around the end points.
Here's a terrific opportunity for the DSP novice to convolve the (-1)n spectrum in Figure 13-1 with the X(m) spectrum to obtain the frequency translated X1,- 1(m) signal spectrum. Please do so; that exercise will help you comprehend the nature of discrete sequences and their time and frequency domain relationships by way of the convolution theorem.
|Figure 13-2 A signal and its frequency translation by fs/2: (a) original signal magnitude spectrum; (b) original phase; (c) the magnitude spectrum of the translated signal; (d) translated phase.|
Remember now, we didn't really perform any explicit multiplications
- the whole idea here is to avoid multiplications, we merely changed
the sign of alternating x(n) samples to get x1, -1(n).
One way to look at the X1,"1(m) magnitudes in Figure 13 - 2(c) is to see that multiplication by the (-1)n mixing sequence flips the positive frequency band of X(m) [X(0) to X(16)] about the fs/4 Hz point, and flips the negative frequency band of X(m) [X(17) to X(31)] about the - fs/4 Hz sample.
This process can be used to invert the spectra of real signals when bandpass sampling is used. By the way, in the DSP literature be aware that some clever authors may represent the ("1)n sequence with its equivalent expressions of