1
$\begingroup$

I'm not fully used to the language of DSP, so forgive me if I confuse some of the notation, or if the below is trivial.

I'm interested in the case where we want to do the point-wise multiplication of two discrete signals, $f[x_n]=g[x_n]h[x_n]$ for $n=0,\dots,M-1$. This is easy enough to do in the computer. However, I'll take a detour and formulate the problem in the (Discrete) Fourier domain, where the multiplication becomes a convolution: $$ \widehat{f}[k_n] = \sum_{j=-M}^M \widehat{g}[k_j]\widehat{h}[k_n-k_j]. $$ Interesting is that (just like the MATLAB conv command) we get $2M-1$ outputs; i.e., the convolved signal is inherently longer than the original signal. If we take the result back to the sample domain, we have to throw away $M$ samples to get back to the original domain (or get back to sample domain and pick every second entry).

I ran the following test in MATLAB that seems to confirm my thought,

M=100;
x=[0:M-1];
g=sin(x/M*6*pi);
h=cos(x/M*6*pi);
f=g.*h;

ff = fft(f);gf = fft(g);hf = fft(h);
v  = ifftshift( (-1/2:1/M:1/2-1/M) + mod(M,2)/(2*M) ); % Normalized frequencies

figure(1); plot( x, g, x, h, x, f )
title('Discrete multiplication')
legend('g','h','f')

figure(2); plot( v, abs(gf), v, abs(hf), v, abs(ff) )
title('Spectrum')

This generates the following two figures: Discrete multiplication

and

Discrete spectrum

that appears to confirm my thoughts. The spectrum of $f[x_n]$ (in yellow) is broader than the spectrum of either input signals. Then to get to the question in the title: (1) is it possible that the point-wise multiplication of two discrete, band-limited functions is aliased itself? And (2) although I was able to recreate the $f$ also using the convolution theorem using

ghf = conv( fftshift(gf), fftshift(hf)./M, 'same' ); 
gh  = ifft(ifftshift(ghf),'symmetric'); % = identical to the vector 'f'

would it be possible to circumvent the aliasing by outputing the 'full' convolution, thereby getting $2M-1$ samples back, rather than $M$ samples?

$\endgroup$
  • $\begingroup$ In order to be band-limited, the signal needs to be infinitely long. Hence it can't have "$M$" samples. $\endgroup$ – Hilmar Feb 8 at 9:44
2
$\begingroup$

(1) is it possible that the point-wise multiplication of two discrete, band-limited functions is aliased itself?

Yes. Or at least it's possible that the result won't fit in a tidy manner into your sampling rate. Because multiplying two signals together creates energy at different frequencies than the frequencies of the original (this is easiest to do by a single-frequency example: $2 \cos \omega_1 t \cdot \cos \omega_2 t = \cos (\omega_1 - \omega_2)t + \cos(\omega_1 + \omega_2)t$. If that $\omega_1 + \omega_2$ is to great to fit into your sampling rate, then it'll alias.

(2) would it be possible to circumvent the aliasing by outputing the 'full' convolution, thereby getting $2𝑀−1$ samples back?

Yes and no. Yes, you could, but to be consistent the result would have to be at a sample rate $\frac{2M - 1}{M}$ times the original.

An equivalent operation would be to upsample both signals by a factor of two and then multiply -- if the upsampling were done in a way that results in correctly band limited signals, once you multiplied them they would fit into the new, bigger bandwidth made available to them by upsampling.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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