1
\$\begingroup\$

I'm thinking of using a digital MEMS microphone in a project - looks like it would save on some parts: no need for an amplifier and ADC. The output from the microphone is PDM and I'd need to convert it PCM for any useful processing.

Say I'd like to work with 16-bit, 48 kHz audio. Seems like the answer is to oversample 64x by clocking the microphone at 3.072 MHz, then low-pass filter and decimate the output. What's the effective number of bits (ENOB) I get out of this?

If the microphone datasheet claims 60 dB SNR (just less than 10 bits), and 64x oversampling gives me 2.5 bits (1 bit for every 4x oversampling), then I'm only getting in the neighborhood of 12-13 bits. Is this calculation right?

FWIW, the parts I was considering are http://www.mouser.com/ds/2/720/DS45-1.01%20AKU240%20Family%20Datasheet-552987.pdf or http://www.mouser.com/ds/2/389/DM00121815-524679.pdf. They seem fairly close in specs.

\$\endgroup\$
1
\$\begingroup\$

Ten bit data can be increased in resolution if there is gaussian noise present and oversampling is performed. 4 times over sampling increases the resolution from 10 bits to 11 bits. 4 x 4 times oversampling gets you one more bit and 4 x 4 x 4 (=64) times oversampling gets you another bit. So with 64x oversampling you get 13 bits resolution from a 10 bit source.

See this source from silicon labs entitled AN118, IMPROVING ADC RESOLUTION BY OVERSAMPLING AND AVERAGING

\$\endgroup\$
  • \$\begingroup\$ Right, but since the microphone outputs 1 bit PDM data, wouldn't oversampling by 64 give you 4 bits, not 13? \$\endgroup\$ – alex.forencich Sep 30 '15 at 16:08
  • \$\begingroup\$ @alex the op says 10 bits. \$\endgroup\$ – Andy aka Sep 30 '15 at 17:00
  • \$\begingroup\$ The datasheet says 1 bit, i don't know where the 10 bits figure is coming from. \$\endgroup\$ – alex.forencich Sep 30 '15 at 17:02
  • \$\begingroup\$ 10 bits came from 60 dB SNR on the microphone's datasheet. I've seen papers that claimed that PDM filtered through several low-pass and decimation filters could give > 16 bits of resolution, but they didn't exactly show their work, so I don't know how they derived it, or what assumptions they made. \$\endgroup\$ – jmw Sep 30 '15 at 18:00
  • \$\begingroup\$ Yeah, I was scratching my head over that too. It seems like these are common enough that there would be some well-documented reference implementations to look at. \$\endgroup\$ – alex.forencich Oct 2 '15 at 4:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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