Unusual Frequency Response of SparkFun RedBoard ATP’s PDM Microphone

Hello,

I’ve recently tested the SparkFun RedBoard ATP’s PDM microphone and I noticed an unusual frequency response.

My test setup includes a calibrated microphone in an enclosed box with sound isolation padding on the interior and exterior. I am playing a logarithmic chirp from 10Hz to 20kHz at 75dB SPL. For data collection, I am using the SparkFun RedBoard Artemis ATP, testing the PDM output at both 8kHz and 44.1kHz sampling rates.

According to the datasheet, I expect a near-flat frequency response. However, the output appears to be band-passed. I am aware that my microcontroller applies high-pass and low-pass filters to the PDM output, but I would expect the roll-off to be closer to the Nyquist frequency edges. Specifically, when sampling at 44.1kHz, the signal peaks around 2kHz, and the roll-off starts at about 5kHz, which seems incorrect.

I have verified that my speaker setup is not the issue by recording the same chirp sound with a Sony audio recorder, which shows a significantly flatter frequency response consistent with my calibration microphone.

Interestingly, I purchased a second PDM microphone from Adafruit, the “Adafruit PDM Microphone Breakout with JST SH Connector (PID: 4346),” and encountered a nearly identical frequency response despite using completely different chips. Is there something in the PDM library that could be attenuating the PDM microphone? Is there a way to work around this issue?

Any insights or recommendations on what might be causing this behavior would be greatly appreciated!

Thank you!


8kHz Spectrum


44.1kHz Spectrum

The high-pass and low-pass filters in the PDM library are designed to remove unwanted noise and aliasing artifacts but may be affecting your frequency response more than expected.

Yeah, that’s been my theory so far, I’ll need to test with another MCU to confirm