Electronic – Advice to improve the microphone circuit


I'm still working on a circuit to hear my heartbeat. I've come a long way but it still doesn't sound as good as some example recordings I've heard. I was wondering if someone could spot something wrong in my input circuit. Currently I'm using an electret mic (CUI POM-2245L-C33-R) on a short wire inside the tube of a stethoscope (really close to the chest piece). The mic goes into my OPA350 opamp with a gain of around 30 like this. Sorry my VCC got cut off in this pic but it is 3.3V:
enter image description here

That feeds into a low pass filter at about 2.5k like this:

enter image description here

The output of the lowpass goes into a little codec DSP where I have a 250 tap low pass FIR filter at 220Hz. I've tried different frequencies. The DSP has some analog gain I can adjust, as well as digital gain, then it outputs to a pair of headphones. They seem to have enough bass response to hear the recordings I mentioned before.

Oh and all this is on a little 4 layer board I made, and I have decoupling all over. I can hear my heart beat, but it's a little muddied. I'm looking for ways to improve my design to get things clearer, maybe by getting better SNR. I've considered going full differential on the audio path, so diff output opamps into diff inputs on dsp. I've also tried increasing C4 to 10uF, and various different FIR filters. I've tried more gain but then it sounds like things are clipping. Could be noise though. Oh and I see some pro versions of this use piezo contact mics. I've tried that but I keep failing at it not sure why. I bought some piezo discs off of digi, and connected them across J1, with a 1Meg also across J1. I get sound but barely get hearbeat.

Anyway I thought I'd post what I had and see if anyone with more experience than me might spot a problem. I don't really know if I'm matching mic impedance to opamp input impedance properly.

Best Answer

Adding to @GeorgeHerold's answer:

  1. You need to include frequencies down to below 30Hz. Most of the energy in a typical heartbeat is between 30 and 40Hz. Given the cutoff for the highpass that @GeorgHerold computed, you are losing a good 15dB at the lower end.
  2. Try using a directional microphone instead of an omnidirectional. Directional microphones have two openings, one in front and one in back by the solder pads. I find I get much better results by installing a directional mic such that the front (where you normally speak into the mic) is inside the tube, with the port on the back of the microphone out in open air.

Actually, I don't use a stethoscope in my experiments. A simple plastic shell with a hole in it for the microphone works very well. What I've used for this is a plastic cap like you would use to close one end of a plastic water line. I had some laying around that are about 2" in diameter, and they work well.

I find that a directional electret microphone installed in a platic cap as described works well enough that I can capture heart sounds using nothing more than a PC or smartphone with no additional electronics - I can then do filtering, recording, or other processing digitally.
The PC soundcard has a 20dB boost on the mic input, but the smartphones don't. Since the cards use 16Bit sampling, you have plenty of headroom to digitally amplify the signal even without using the boost. If you resample from 44100 down to 400 or so, then you could probably gain the equivalent of a few bits