Skip to main content
Visitor II
September 30, 2021
Question

Digital MEMS microphone used for sound pressure level measurements

  • September 30, 2021
  • 1 reply
  • 3596 views

Hello everyone,

I'm interfacing a digital MEMS microphone with a stm32l152re mcu cortex M3 using I2S with DMA In order to measure sound pressure level. the communication is based on acquiring PDM ( Pulse density modulation) values that represents the analog signal and then convert it into a PCM ( pulse code modulation) values. Based on these PCM values the sound pressure value is calculated. I tested the microphone with a sonometer using an acoustic signal generator with frequencies from 20Hz-20Khz.

The MEMS microphone in my case uses 16kHz as a sampling frequency. The measurement was 2-3 dB close to the sonometer taken values using frequencies ranging from 800Hz-8Khz. However, a difference of 10dB is measured in low and High frequencies. In addition, when a sudden and loud noise is abrupted, the noise level difference measured between the MEMS microphone and the sonometer is around 20dB and more. I'm open to any suggestion on which parameter to adjust in order to get close values of the sonometer Or anyone have an idea of what's going wrong.

I hope I made the situation clear and I'm open into any questions or further information related to this topic.

Best Regard,

    This topic has been closed for replies.

    1 reply

    Super User
    October 1, 2021

    > in my case uses 16kHz as a sampling frequency.

    By the sampling theorem, one cannot expect accurate results above 8kHz.

    > when a sudden and loud noise is abrupted

    might have to do with peak measurment and integration time interval?

    Visitor II
    October 1, 2021

    Thanks for your reply.

    >might have to do with peak measurment and integration time interval?

    How can I check this ?

    Super User
    October 1, 2021

    Commonly, your code would collect short buffers of audio samples and calculate the audio energy it it. The buffer length (in ms) is then the integration time. The question remains how your sonometer does it. Are there docs for it or does it follow some standard?