1
$\begingroup$

I have a project that is resource constrained and must maintain a specific FFT length and small FFT bin width, down at baseband. My sampling rate is very high and needs to be downsampled to anywhere from 1/2 to 1/20 of the input rate, which got me thinking:

Is there a way to use the lost samples to improve the spectral response of the FFT and/or the SNR, given the constraints?

The traditional approach is downsample, filter (window), then FFT. Can anything better be done?

$\endgroup$
  • 1
    $\begingroup$ the "traditional approach" looks questionable: You'd typically filter -> downsample -> FFT (not: downsample->filter, since that would lead to aliasing); and implementation-wise, that'd generally be decimating filter-> FFT. But: considering your decimation might be high, that filter would usually be an FFT-based filter. Which begs the question why you're going back to time domain at; what do you do with your result of the FFT? $\endgroup$ – Marcus Müller Nov 20 '19 at 9:29
  • 1
    $\begingroup$ Also, since whatever we propose in algorithm might be infeasible due to your project being "resource constrained": Please define roughly, at least, what that entails, and what a "very high" sampling rate is. Also, telling us what the FFT length that you can do is might help understand at which level we need to optimize. Generally: It's often a very good idea to give an overall idea of the system you're building and which problem you're solving with it. $\endgroup$ – Marcus Müller Nov 20 '19 at 9:41
  • $\begingroup$ I also removed the snr and spectral-efficiency tags, since you mention neither topic in your question. $\endgroup$ – Marcus Müller Nov 20 '19 at 9:42
  • $\begingroup$ @MarcusMüller SNR is mentioned. I can imagine also that spectral efficiency will be improved if aliasing in downsampling can be reduced. $\endgroup$ – Olli Niemitalo Nov 20 '19 at 9:52
  • $\begingroup$ @MarcusMüller I am not a veteran in DSP and I may have used the wrong language; I will try to do better. I understand the order of filter+decimation isn't important because of the Noble Identities, but what I was trying to get at was if their was someway to improve upon the common approach. I've implemented rudimentary PFBs, but they lose the spectral resolution that downsampling provides (given the constraints). The resource issue has to do with FPGA memory - I'm at about 80% of the memory and so cannot do longer FFT lengths. The overall system is a wideband homodyne receiver. $\endgroup$ – raptor Nov 20 '19 at 15:39
2
$\begingroup$

must maintain a specific FFT length and small FFT bin width, down at baseband.

Well, the FFT bin width is defined as $\frac{f_\text{sample}}{N}$, with $N$ being the FFT length and $f_\text{sample}$ the sampling rate of the signal that undergoes the FFT. So, if both these parameters are fixed, you have no freedom in choosing the bin width whatsoever.

Note that this describes a pure view on the "tool" FFT. My guess is that you want to build some spectrum estimation – and you can certainly build a "finer" estimator.

Is there a way to use the lost samples to improve the spectral response of the FFT and/or the SNR, given the constraints?

Since if done without aliasing, the downsampling removed no information from the signal you're interested, no.

What you can, however, do is build a better frequency estimator; that might be using the same FFT length multiple times (or, in fact, even build a larger FFT from your small FFT used multiple times), but it's hard to advise here: your resource constraint doesn't give us anything to go on – and FFTs are typically highly optimized, so if a larger FFT itself won't fit/run on your system, then chances are that complex estimators won't, either.

|improve this answer|||||
$\endgroup$
  • 2
    $\begingroup$ Upvoted (as I do when an answer is basically what I would have said). I prefer the term "complicated" rather than "complex", in this context. Also, the computational burden of a finer estimator is generally trivial compared to the calculation of the FFT, so that is not likely a concern. Whether it is even applicable depends on the nature of the signal. $\endgroup$ – Cedron Dawg Nov 20 '19 at 14:06
  • $\begingroup$ Ah - the information theory side is where I get mixed up. I guess I thought that if a larger FFT can improve SNR, then using more of the thrown-away time samples could do so, too. $\endgroup$ – raptor Nov 20 '19 at 15:45
  • 1
    $\begingroup$ @raptor absolutely, they can reduce the variance of your spectral estimation – what they can't do is give you finer frequency resolution! $\endgroup$ – Marcus Müller Nov 20 '19 at 17:40
  • 1
    $\begingroup$ @raptor what you're looking for is Bartlett's method or Welch's method $\endgroup$ – Marcus Müller Nov 20 '19 at 17:41

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.