What I'm doing is that I send an audio signal consisting of a single frequency into a resonator. To check whether and how the signal has changed I perform a QAM demodulation.

I do not need intend to recover the signal or something like that, I'm just interested in the magnitude of the change/modulation of the input signal.

In the next step I would like to use multiple frequencies simultaneously and analysed how the amplitude of each signal has changed.

Is there a different/better way than just analysing the signal by Fourier transform?


Well, you can of course instead of using the Discrete Fourier Transform as filter bank just employ bandpass filters to extract your individual tones.

(The DFT is really just a filter bank, if you think about it: it correlates an input sample vector with different complex oscillations. Which is convolution with their conjugate time inverse, which is a filter operation.)

This might be advantageous, since the filter shape of a DFT is inherently sinc-shaped, which I guess isn't quite close to what you want in terms of spectral sidelobes.

So, yeah, simply design a narrow low-pass filter, and shift it in frequency to the appropriate position. (Do that for every tone.).

If you've got many tones that you space on a regular grid, you might want to do a polyphase filter bank, but I'd consider this an "advanced computational optimization that you probably don't need in your measurement process, as you don't care whether computations take a milli- or 100 microsecond".

  • $\begingroup$ Thanks for your answer. But it opens another question, as filters are applied by convolutions (as far as I know, correct me if I'm wrong) I still have to perform a DFT. Do I, therefore, face the same issue as by just using the DFT in the first place? $\endgroup$
    – Stanissse
    Feb 15 '21 at 20:08
  • $\begingroup$ no, not really. In the first place, you're using the DFT as the filter. In the second case, you're using many DFTs just as an algorithmic means to implement a different filter (you don't have to use the DFT to do a convolution. It's just an elegant ways to get there.). $\endgroup$ Feb 15 '21 at 22:08

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.