I have a data set that consists of max hold frequency vs intensity data from an SDR at a specific RBW. I want to reprocess the data as if I sampled it with the larger resolution bandwidth so I can compare what that file might have looked like.

What would be the correct way to go about doing this to get as close to what my SDR's spectrum analyzer would have looked like with the larger RBW.

My approach was going to be using a window function using the size of the larger RBW and recalculating the spectral density in that window.

I am using scipy to process the data.


Max-hold would not be the best data to work with since it represents the peak envelope instead of the average power at each bin. If working with post-detection data captured from a spectrum analyzer, even with max-hold off there are additional but smaller correction factors which are only of concern if an accurate noise measurement is desired. For those cases, I linked an app-note with further details at the very bottom of this post.

Ideally the OP has access to the time domain data, in which case windowing the data would result in the equivalent of a wider resolution bandwidth (RBW), and be a simple approach for proceeding with reasonable ranges for the increase in RBW. If not, the equivalent operation on the frequency samples can be done using a circular convolution with the Kernel of the time domain window (the Discrete-Time Fourier Transform of the window).

A Gaussian window would likely approximate that used for most spectrum analyzer measurements, but a DPSS window would be optimum for minimizing time-bandwidth product (as desired for spectrum analyzers) given finite measurement intervals, or the Kaiser window which is very close to the DPSS minimum. For further details on that see this post on emulating a Spectrum Analyzer and detailing the window choices further:

Classical spectrum analyzer model

These other related posts on resolution bandwidth and equivalent noise bandwidth with windowing may be of additional interest:

Find the Equivalent Noise Bandwidth

How to calculate resolution of DFT with Hamming/Hann window?

Additionally the SDR's assumed resolution bandwidth and the increase in RBW can be confirmed by computing the autocorrelation using the frequency results before and after the additional processing, assuming the captured signal itself is reasonably white noise within the sampling bandwidth.

See page 6-8 of this app note (App Note 1303, old HP) for further details on additional corrections up to 2.5 dB when using the log power or lin power measurements from a spectrum analyzer in order to get "true-rms" power measurements assuming noise floors as limited by Additive White Gaussian Noise (AWGN).

  • $\begingroup$ I dont have enough karma to upvote or accept but I wanted to add I appreciate your answer and that it has given me a lot to look into. Thanks! $\endgroup$ – ChipsAhoy Oct 21 '20 at 8:08
  • $\begingroup$ @ChipsAhoy You can always accept your own question, did you try?-- glad it helped! $\endgroup$ – Dan Boschen Oct 21 '20 at 11:54

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.