Skip to content

Profile FFT Parameters

Todd Schumann edited this page Aug 9, 2018 · 2 revisions

The FFT parameters define how SDR Calibrator takes FFTs, including the number of bins, if averaging is used, and which window is used.

Profile FFT Parameters

Note: italicized parameters have default values and can be left unset

  • fft_number_of_bins = [USER_SET]: This parameter determines the number of bins that will be present in the resulting FFT. This is value is required by every test (except IQ dump where it is overwritten) and there is no default value. Note that this value can be left unset if fft_minimum_frequency_resolution is set, but as this will just overwrite the value currently in fft_number_of_bins, it is recommended to always leave it set. Note: This value should be a power of 2 as the underlying FFT algorithm will be far more efficient with data of this length. The profile can interpret Python equations so 2**10 is equivalent to 1024
  • fft_minimum_frequency_resolution = False: This parameter defines the minimum resolution of the FFTs taken during execution. To do this, fft_number_of_bins is overwritten and set to 2. It is then multiplied by 2 until the SDR sampling frequency divided by fft_number_of_bins is less than fft_minimum_frequency_resolution. Setting this value to False or 0 will disable this. Note: it is very easy to request an incredibly large number of samples using this if not careful, especially when also using averaging. For example, if the SDR sampling frequency is 12MHz, the averaging is set to 100, and the minimum frequency resolution is set to 1Hz, SDR Calibrator will request over 1.5 billion samples from the SDR, which will hang the controlling computer while taking the FFTs.
  • fft_averaging_number = 1: This parameter defines the number of FFTs SDR Calibrator will average together to produce the final FFT. This reduces variability in the measured signal as well as reducing the fluctuations in the noise (this does not reduce the noise level). The data to produce the FFTs is all taken at once, then divided into the according number of sets, then each set is FFTed, then finally averaged together. The default for this parameter is 1, which disables the averaging. Note: setting this to 0 or False will cause SDR Calibrator to request 0 samples from the SDR and could cause errors depending on the test.
  • fft_window = None: This parameter defines the window to be used for the FFT. Currently, the only options are None (default) and flattop, however, these both implement a flat top window. Additional window options will be added. Note that the flat top window has the best amplitude accuracy of the common window types.

Parameter Quick-Copy

For convenience, here is a copyable list of parameters in this category

# FFT parameters
fft_number_of_bins = 1024
#fft_minimum_frequency_resolution = 1e3
#fft_averaging_number = 100
#fft_window = 'flattop'