Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Frequency Bin Example
Description
Demonstrates the calculation of the maximum energy bin in the frequency domain of the input signal with the use of Complex FFT, Complex Magnitude, and Maximum functions.
Algorithm:
The input test signal contains a 10 kHz signal with uniformly distributed white noise. Calculating the FFT of the input signal will give us the maximum energy of the bin corresponding to the input frequency of 10 kHz.
Block Diagram:
FFTBin.gif
Block Diagram
The figure below shows the time domain signal of 10 kHz signal with uniformly distributed white noise, and the next figure shows the input in the frequency domain. The bin with maximum energy corresponds to 10 kHz signal.
FFTBinInput.gif
Input signal in Time domain
FFTBinOutput.gif
Input signal in Frequency domain
Variables Description:
  • testInput_f32_10khz points to the input data
  • testOutput points to the output data
  • fftSize length of FFT
  • ifftFlag flag for the selection of CFFT/CIFFT
  • doBitReverse Flag for selection of normal order or bit reversed order
  • refIndex reference index value at which maximum energy of bin ocuurs
  • testIndex calculated index value at which maximum energy of bin ocuurs
CMSIS DSP Software Library Functions Used:
  • arm_cfft_f32()
  • arm_cmplx_mag_f32()
  • arm_max_f32()

Refer arm_fft_bin_example_f32.c