0
$\begingroup$

I'm working on an application where I want to grab high-resolution pieces of the spectrum, but I don't need the whole spectrum-- just a few bands. I've looked into using the Goertzel algorithm (too slow; with the number of points we want the regular FFT is faster), pruned FFTs (doesn't look like much of an improvement in performance), and polyphase filter banks (PFBs) (the problem being that it requires an FFT of the same size that I would have otherwise already computed, defeating the point).

The books that I've looked at so far ("Digital Signal Processing, 4th ed" by Proakis/Manolakis and "Signal Analysis: Wavelets, Filter Banks, Time-Frequency Transforms and Applications" by Mertins) both focus on either "critically sampled", where the decimation rate $D$ equals the number of subbands $N$ or "oversampled" where $N > D$.

Is there a way to produce a computationally efficient PFB such that $D > N$? In my application the loss of information is unimportant because I only need a few subbands of small bandwidth.

$\endgroup$
1
  • 1
    $\begingroup$ You might be interested in the zoom FFT. $\endgroup$
    – Jason R
    Jun 12, 2015 at 18:40

1 Answer 1

0
$\begingroup$

To analyze a slice of the spectrum:

  1. Use an IQ mixer to translate the centre of the slice, $F_c$, to 0 Hz. This is done by multiplying the signal with $e^{-j2\pi F_c/F_s}$, where $F_s$ is the sample frequency.
  2. Use a decimation low-pass FIR filter to remove the signal components outside the slice. The pass band of the filter is half the slice width. Output from this process is the down-converted slice sampled at a low sampling rate (just meeting the Nyquist criteria).
  3. Apply your favourite window function and FFT to the time signal.

This process is repeated for each of the wanted slices.

$\endgroup$
1
  • $\begingroup$ This was what I was looking at, but might be too computationally intensive if I have to look at several bands. Good to know I'm on the right track though. $\endgroup$
    – user16223
    Jun 16, 2015 at 11:57

Your Answer

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