Let's say I have an acoustic signal that I want to make a spectrogram of filled with broadband noise and tonals, sampled at oh, $44100\textrm{ kHz}$, and I want to zoom in on the band between $2600\textrm{ Hz}$ and $3000\textrm{ Hz}$ (or any band of frequencies, really).

The zoom FFT algorithm says to accomplish this, one simply has to frequency translate, then lowpass filter, then decimate and FFT the resulting lower frequency signal.

However, most of the diagrams I see explaining zoom FFT only show discrete bands with no noise in between, which begs the question:

Would I need a bandpass filter to prevent aliasing during the frequency translation step of the Zoom-FFT algorithm if I have a noisy signal containing energy at all frequencies?

I'm thinking yes, since there's a chance that during the frequency translation some unwanted noise would get shifted into my new band of interest due to aliasing, but I'm not sure.

The processing chain I envision is as follows: $$\boxed{\text{BPF}}{\rightarrow}\boxed{\text{Frequency Xlate}}{\rightarrow}\boxed{\text{Bandlimited downsample}}{\rightarrow}\boxed{\text{FFT}}{\rightarrow}\boxed{\text{Display processing}}$$

Would this be correct?


1 Answer 1


Your BPF is superfluous. Frequency translation (if very simply done by $\cdot e^{j2\pi \Delta f n}$) is a circular shift of the whole Nyquist band.

When you calculate the Fourier of that, you'll notice there's no chance of aliasing at all.

The only step that leads to aliasing is the downsampling, and that's why ever decimator comes with an appropriate filter - in your case, the LPF you already have. You usually implement the filtering and down sampling as one entity - no use in calculating filter output that you'll throw away in the next step.


$\cdot e^{j2\pi \Delta f n} \rightarrow \text {decimating LPF}\rightarrow \text {DFT}$


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.