CMSIS DSP Software Library: Frequency Bin Example

# Frequency Bin Example
[Examples]

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_radix4_init_f32()
  - arm_cfft_radix4_f32()
  - arm_cmplx_mag_f32()
  - arm_max_f32()

Refer arm_fft_bin_example_f32.c

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines