Multichannel i2s digital MEMs microphone array clipping and bias

I’m using a multichannel i2s linear array of MEMs microphones Adafruit I2S MEMS Microphone Breakout – SPH0645LM4H connected via i2s to a MiniDsp MCHStreamer Kit soundcard.

I’m recording the input from all the microphones and I see some weird things happening:

  1. The input recording has a zero value centered around a negative bias in all the mics, but not exactly the same for all of them.
  2. The mics have an anomalous shifting when subjected to loud inputs, which happens both towards positive and negative values. (see picture)One mic recording with positive and negative shift cases

For context: I’m recording loud 5ms frequency sweeps at 96Khz generated from a small loudspeaker positioned close in front of the microphones. The recordings are saved into a raspberry pi with linux connected via USB. However, the same happens with MacOs and Windows, so it looks like it is an hardware problem.

I would like to possibly remove the bias but most importantly avoid this weird phenomena under loud signal inputs.

Read more here: Source link