# Amplified microphone signal output to ADC input. How can I eliminate DC offset?

I'm making simple sound level meter. I try to make it precise. I'm using ADC ref voltage (2,048) so rms calculation can be simpler.

Can I use this ref voltage to set offset voltage to (Vref/2) and measure this signal by diffrential measurement so it eliminate DC offset form readings?

I must use battery supply and 3V3 is from voltage regulator. Entire module is supply by 3,3 volts including ATxmega microcontroller. I'm using electret condenser microphone. I'dont want to use dual polarity supply if this is not necessary.

• two questions: 1. why must the microphone be connected to 3V3 power at all? is it a condenser mic? 2. is the entire circuit, including ADC, intended to run off of single-polarity power supply? if so the ADC will want the quiescent input voltage to be approximately 1/2 of AREF. Jul 16, 2016 at 19:43
• if it is a condenser mic, i think that this is the best simple circuit for a single-supply amp. all the other circuits i see out there are inverting op-amp circuits which place more of a current load onto the condenser mic. i think a non-inverting circuit is better. Jul 16, 2016 at 19:58
• naw, maybe this inverting op-amp circuit is the best simple circuit. Jul 16, 2016 at 20:04

Assuming you cannot measure negative voltages, your schematic is good. You have to compensate in your software for the DC offset.

Compensating is as simple as subtracting the offset; you could implement a calibration procedure, or use a long-term average of the input values to correct for this offset. The latter has the advantage of being fully automatic and compensates for drift.

• JvO is correct. here is an excellent article on how to do this, partly based on an old comp.dsp post of mine. it is essentially a high-pass filter, but there are limit-cycle issues to worry about if you're doing this with small fixed-point words (like 16-bit). Jul 16, 2016 at 19:49
• Without the feedback the voltage on the inverting input will be negative, a thing which the opamp might not like. Does it not pose a problem when feedback is present ?
– Mike
Jul 17, 2016 at 3:03
• @Mike, i think the circuit as it is will have the voltage equal between the + and - input terminals. that's what negative feedback in an op-amp circuit does. Jul 18, 2016 at 17:55

Can I use this ref voltage to set offset voltage to (Vref/2) and measure this signal by diffrential measurement so it eliminate DC offset form readings?

Assuming that your signal into the ADC MUST NOT drop below the ADC_NEG input then this won't work.

Assuming that this is a fairly conventional pseudo differential input ADC, then connect ADC_NEG to ground. This will force ADC_POS to be mid-scale DC on the ADC input.

• Ok. I test it on LTSpice and you are right. So I can't remove offset of (Vref/2) before reading signal. Right? I must compensate offset by subtraction of DC offset voltage in binary representation. Jul 17, 2016 at 13:13
• Correct, you have to remove the offset in code. Jul 17, 2016 at 14:31

Use a non-inverting amplifier. R2 and R3 feed in the Vref offset. If you want to amplify the signal, this topology has the advantage that DC gain is 1, because C2 is blocking DC. Therefore the Vos (input offset voltage) of the opamp will not get amplified.

This topology only works, if your gain is greater or equal 1. To realize smaller gains, you can use R4 to attenuate the input signal, because R4 basically forms a voltage divider with R2 || R3.

simulate this circuit – Schematic created using CircuitLab

• Okey. Can you help me to apply filters for audio frequencies? How can I apply low and high pass filter to this circuit? Sep 1, 2016 at 18:40
• Basically all components for LP and HP are there. C1,R2,R3,R4 (and R1) form a HP. R5. R6. C2 form a HP, too. R5, R6, C3 form a LP. Sep 14, 2016 at 9:47

Why not omit the inline capacitor at all? You can use the DC_bias of the JFET and trim it via differential action in the opa to your target value? Attention: A RRIO Opamp is likely to be needed, if u want to dc-couple. You can also put the whole JFET inside the NFB-Loop of the OPA, if u have access to the gate of the JFET - you can also trim DC via standard methods, to your target value. If you need amplification, math can get a little complex - if buffering is sufficient, the calculation becomes quite simple.