- 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:
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.
Input signal in Time domain
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