I used the digital microphone (MP45DT02) on the STM32f4discovery development board to calculate the frequency of the collected sound.
My specific approach is to convert the collected pdm data into pcm format (lib library 4 provided by st company), and then process it with FFT, and print the calculated maximum frequency through the serial port.
My i2s sampling rate is 32k, and FFT calculates 1k data, but the calculated maximum frequency is very large. Should the maximum frequency calculated according to the FFT algorithm be below 1k? ?
Winston Posted on November 25, 2020
maxvalue is the value of the first point, maxvalue only represents the amplitude of the point frequency rather than the frequency. The frequency algorithm is: (the number of points where the maxvalue is located/1k)*sampling frequency.
Ernest Posted on November 25, 2020
Try to convert all 16-bit sampled data to float.
Royce Posted on November 25, 2020
I use atmel, I am learning st, arm dsp generally uses little endian mode.