I have a PDM-Mems Microphone which provides me with 101010 data, the Microphone has a Clock of 3Mhz. I read the manual about how PDM is generated, but I haven't worked with digital filters yet and in the manual only stands to use a Low-Pass. But I can't find a formula for a digital Low-Pass filter.

My question is how can I perform a digital Low-Pass with the PDM-Output data?

Microphone: https://learn.adafruit.com/adafruit-pdm-microphone-breakout?view=all

  • 1
    \$\begingroup\$ You don't need a digital low pass. You either need a counter (processing on the digital side) or you need an analog filter (to convert PDM to a voltage). \$\endgroup\$ Apr 29, 2019 at 8:28
  • \$\begingroup\$ The PDM-Signal is later used for a Speech-processing Neural Network, what do you mean with a Counter ? Like a sort of Counting algorithm and calculate the mean of the windows? \$\endgroup\$
    – FoldFence
    Apr 29, 2019 at 8:33
  • \$\begingroup\$ I'd just count the pulses within a given time. Many microcontroller have units that can do that for you, so that you just have to query a register every so and so many microseconds. \$\endgroup\$ Apr 29, 2019 at 8:48
  • \$\begingroup\$ Ah ok, so I first must have a look on the windowing and later then average each window and look at the differences to the first window if I understand it correctly. Thanks for your help =) \$\endgroup\$
    – FoldFence
    Apr 29, 2019 at 9:14
  • \$\begingroup\$ Related question: electronics.stackexchange.com/questions/404393/… \$\endgroup\$
    – Jon Nordby
    Jun 4, 2023 at 21:05

1 Answer 1


To interface a microcontroller with a PDM microphone, there are generally 3 options. In preferred order, they are:

  1. Use a digital audio input peripheral of the microcontroller with PDM support. A modern microcontroller such as STM32L4, STM32F4, Nordic NRF52, ESP32 et.c. have these. Usually they will do the necessary conversion to PCM audio samples for you.
  2. Use a PDM to I2S/TDM conversion chip, and then use a I2S/TDM audio pheripheral of the microcontroller. One example for such a chip would be Analog Devices ADAU7002
  3. Use an analog low-pass filter to convert the PDM stream into an audio-rate analog signal. And then use the ADC input at audio sampling rates (16-48 kHz typical).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.