I am trying to bias a 50Hz 5V(p-p) AC signal (by a signal generator) by +2.5V to connect it to an ADC. I'm measuring both input and output voltages using the measuring function of a GDS-2102 oscilloscope. I've used the following circuit:


simulate this circuit – Schematic created using CircuitLab

However, I'm not getting a 2.5V bias. It is around 2.8V. If I increase the resistance to \$1M\Omega\$, the bias decreases to around 1.6V. I don't understand - shouldn't the bias be determined by the voltage divider? And since the resistor values are the same, why am I not getting exactly 2.5V?

  • \$\begingroup\$ does your ADC input (node 1) has a high input impedance ? If not, it might come from it drawing to much current and causing voltage drop. \$\endgroup\$
    – MaximGi
    Mar 9, 2016 at 10:47
  • \$\begingroup\$ How are you measuring the voltages and how accurate is your +5V? \$\endgroup\$
    – Andy aka
    Mar 9, 2016 at 10:48
  • \$\begingroup\$ The input and output waveforms are measured on an oscilloscope. The input peak to peak voltage is around 4.95-5.05V \$\endgroup\$
    – Hassaan
    Mar 9, 2016 at 10:50
  • 3
    \$\begingroup\$ JRE's answer is good. THe cheaper answer is to decrease R1,R2 - 22k will probably get you close enough - so that any errors introduced by the ADC's own leakage currents introduce much smaller errors in the bias voltage. \$\endgroup\$
    – user16324
    Mar 9, 2016 at 11:17
  • 1
    \$\begingroup\$ Note that decreasing R1 and R2 may require making C1 bigger. R1 and R2 with C1 form a highpass filter, so changes to R1 and R2 imply changes to C1. A quick run at an impedance calculator says that C1 has 560 Ohm at 50Hz, so it should be OK. \$\endgroup\$
    – JRE
    Mar 9, 2016 at 11:22

1 Answer 1


The ADC input floats to some DC voltage. If you disconnect your voltage divider from the ADC, you will see the voltage on the ADC float to some DC voltage.

The ADC input looks something like this:


simulate this circuit – Schematic created using CircuitLab

R1 and R2 aren't resistors as such, but rather more like leakage paths from the power rails to the input. The values aren't really representative - they may be much higher or lower.

The voltage divider you've put at the input is in parallel to the figurative voltage divider inside the ADC.

The way to fix your problem is to use an op-amp to do the summing so that it has a low output impedance. That will drive the signal to the ADC to the desired level against the relatively high impedance of its internal voltage divider.

What you want to do looks like this:


simulate this circuit

Op-amps tend to have low leakage, so you should be able to select R1 and r2 so as to get exactly 2.5V when the op-amp is connected, though you may want (or need) to use lower values.

The circuit I've given inverts the signal - I don't expect that to be a problem, but if it is just use a second inverting opamp after the first.

You will want to use an opamp designed for rail to rail operation. The TL081 is the default used in the CircuitLab, and I didn't bother to go looking for its specifications - I don't think it is rail to rail.

  • \$\begingroup\$ Your op-amp design doesn't make sense. The capacitor should not be connected to the negative input of the op-amp, it should be connected to the positive input. \$\endgroup\$ Sep 12, 2018 at 11:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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