Author Topic: EEVblog #528 - Opamp Input Noise Voltage Tutorial  (Read 28697 times)

0 Members and 1 Guest are viewing this topic.

Online EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37717
  • Country: au
    • EEVblog
EEVblog #528 - Opamp Input Noise Voltage Tutorial
« on: September 28, 2013, 06:33:52 am »
Dave explains one of the most confusing parameters in an opamp datasheet, Input Noise Voltage Density, that mysterious nV/RootHz figure.
Along with different types of opamp noise, corner noise frequency, and how to calculate output noise spectral density.
And how to use a Dynamic Signal Anayser to measure the Power Spectral Density response over frequency of various opamps.

! Private video
 

Offline nowlan

  • Frequent Contributor
  • **
  • Posts: 649
  • Country: au
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #1 on: September 28, 2013, 06:44:49 am »
This video is private?
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 16276
  • Country: za
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #2 on: September 28, 2013, 07:01:20 am »
Available now. will watch later when I come back home.
 

Offline RobB

  • Contributor
  • Posts: 36
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #3 on: September 28, 2013, 08:41:22 am »
Forgive me Dave, this is all well above my pay grade but..... The DSA has two channels so is it possible to combine these two channels as a balanced config to eliminate the common mode 50Hz ? doing this is going to increase the baseline noise obviously. Which begs the question why only BNC input and not also have a balanced input?

Cheers

PS how dare you wave that crapio calculator in front of the HP DSA. Get a real calc like an HP :box:
« Last Edit: September 28, 2013, 08:49:05 am by RobB »
 

Offline SysDsnEng

  • Newbie
  • Posts: 1
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #4 on: September 28, 2013, 10:05:46 am »
Dave,

a very nice fundamental friday video!

- In order to reduce 50 Hz coupling, don't use the cable at all, and try connecting the testbox using a T-Type of BNC connector.
- Will be very interesting to watch if it is possible to improve the noise figure of the DSA itself by replacing or updating some
components. :-+

All the best
SysDsnEng
 

Offline Christe4nM

  • Supporter
  • ****
  • Posts: 252
  • Country: nl
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #5 on: September 28, 2013, 11:10:04 am »
Another good FF Dave. You went pretty fast through the whiteboard section though. Even for me, already familiar with the notation stuff I had to concentrate to keep up. Maybe you might have taken a bit more time in smaller steps from the spectrum graph onward. But eh, that's just details.

I'm left with two questions hat someone might be able to answer (please ;) )

1) By searching the web for DSAs I had a hard time finding a modern one. Agilent has an ancient HP machine, Rhode and Schwarz don't even list one. So how do they do this stuff in the modern times if not with a DSA? Most signal analyzers and spectrum analyzers go down only to 10 Hz, and only if you're paying premium for an already premium instrument. (Not looking to buy one, but just curious how they do this in the industry)

2) How would you do such measurements without a DSA. Is this something one can do at home with a good scope (i.e. low noise floor) ?
Maybe this is an idea for a followup video so we can try this stuff at home too. If even possible, since we're talking very low signals here and unwanted / external noise is introduced easily messing up the measurements.

Thanks!
 

Online EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37717
  • Country: au
    • EEVblog
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #6 on: September 28, 2013, 12:32:26 pm »
1) By searching the web for DSAs I had a hard time finding a modern one. Agilent has an ancient HP machine, Rhode and Schwarz don't even list one. So how do they do this stuff in the modern times if not with a DSA? Most signal analyzers and spectrum analyzers go down only to 10 Hz, and only if you're paying premium for an already premium instrument. (Not looking to buy one, but just curious how they do this in the industry)

Plenty still around. Stanford Research make a decent one, high end National Instruments PXI DSA cards are available, and USB ones like Data Physics

Quote
2) How would you do such measurements without a DSA. Is this something one can do at home with a good scope (i.e. low noise floor) ?
Maybe this is an idea for a followup video so we can try this stuff at home too. If even possible, since we're talking very low signals here and unwanted / external noise is introduced easily messing up the measurements.

You can role your own front end amps and put into any DAQ type card, and there are DSA applications that work on sound cards (the DC coupled ones) which are ok given their single range.
 

Online EEVblogTopic starter

  • Administrator
  • *****
  • Posts: 37717
  • Country: au
    • EEVblog
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #7 on: September 28, 2013, 12:34:50 pm »
The DSA has two channels so is it possible to combine these two channels as a balanced config to eliminate the common mode 50Hz ? PS

Not possible AFAIK

Quote
how dare you wave that crapio calculator in front of the HP DSA. Get a real calc like an HP :box:

HP have made some nice calcs, and I have a few, but RPN is painful :box:
 

Oracle

  • Guest
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #8 on: September 28, 2013, 12:43:42 pm »
Why you see a 50 hz spike like that if you faraday caged the opamp? and whitout the cage how much it will increase?

Anyway  :-+ for your video Dave. This was pretty interesting...
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #9 on: September 28, 2013, 12:46:39 pm »
Why you see a 50 hz spike like that if you faraday caged the opamp? and whitout the cage how much it will increase?

Lower frequencies require thicker shielding. That box will probably eliminate most of it, but not all. The majority of it probably got in through the coax shield, which is quite thin.

Without the cage it would increase dramatically, probably to the point of a completely useless measurement.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline casinada

  • Frequent Contributor
  • **
  • Posts: 599
  • Country: us
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #10 on: September 28, 2013, 03:41:08 pm »
Can you open the box to see the noise coming from outside?
Can you plug the box directly to the DSA using a coupler and getting rid of the cable?
Thank you for the interesting video  :)
 

Offline Salas

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: gr
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #11 on: September 28, 2013, 06:00:13 pm »
Why you see a 50 hz spike like that if you faraday caged the opamp? and whitout the cage how much it will increase?

Anyway  :-+ for your video Dave. This was pretty interesting...

Matching the source impedance with the input impedance is a consideration for minimum pick up also.
 

Offline JackOfVA

  • Supporter
  • ****
  • Posts: 350
  • Country: us
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #12 on: September 28, 2013, 08:16:33 pm »
I ran the same noise floor test today with my HP 3562A DSA.  Image below.

At 158.5 Hz (closest possible frequency to 160 Hz), the noise spectral density is 34.6 nV/sqrt(Hz). 

Note the offset where each decade sweep ends.  According to the operation manual, this seems to be a product of the way the 3562A handles log sweeps, window function and FFT bin width. Or, perhaps I'm doing something wrong in the instrument setup - this is the first time I've used the spectral density function and I could well have the instrument setup botched.
 

Offline walshms

  • Regular Contributor
  • *
  • Posts: 183
  • Country: us
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #13 on: September 29, 2013, 03:56:21 am »
Nice Einstein reference, Dave.  :-+

Spooky action at a distance... love it!
 

Offline Taucher

  • Frequent Contributor
  • **
  • Posts: 456
  • Country: de
  • 1DsaYDGWXEYhEKL rfrbFyYsehaAtfBWawf
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #14 on: September 30, 2013, 09:11:34 pm »

This post came just perfect as I'm having trouble with a low noise DC measurement (thermopile signal) - please correct me if I'm wrong, but there should be a noticeable increase in noise if the source resistance is not 50 Ohm but let's say 100kOhm (like with a thermopile).
I'd really like to know if such a DSA would show different curves when measuring just a plain resistor of 1, 100, 1k, 10k, 100k etc.

And please make a video on current-noise - it seems to be the "black arts" of analog amplifier design ;)

Offline sub

  • Regular Contributor
  • *
  • Posts: 107
  • Country: au
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #15 on: September 30, 2013, 10:01:21 pm »
1) By searching the web for DSAs I had a hard time finding a modern one. Agilent has an ancient HP machine, Rhode and Schwarz don't even list one. So how do they do this stuff in the modern times if not with a DSA? Most signal analyzers and spectrum analyzers go down only to 10 Hz, and only if you're paying premium for an already premium instrument. (Not looking to buy one, but just curious how they do this in the industry)

Plenty still around. Stanford Research make a decent one, high end National Instruments PXI DSA cards are available, and USB ones like Data Physics

I've used the Stanford Research one, it's beautiful once you've gotten used to the incessant beeping.  4nV/sqrt(Hz) at the input on the lowest range.  I'm using an ancient HP one now, which has a noise floor >20dB higher.
 

Offline BobC

  • Supporter
  • ****
  • Posts: 119
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #16 on: October 01, 2013, 02:47:43 am »
Zero Hz noise will bite your butt!  I needed to buffer a precision voltage reference to drive a few 0.1% linearity 10k 10-turn potentiometers, and I picked the wrong opamp to use as a voltage follower.  It was so bad, I lost bits on a 10-bit ADC (didn't even bother trying the 12-bit ADC yet).

What is the right way to choose a driver for this DC application?
 

Offline Taucher

  • Frequent Contributor
  • **
  • Posts: 456
  • Country: de
  • 1DsaYDGWXEYhEKL rfrbFyYsehaAtfBWawf
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #17 on: October 01, 2013, 08:13:03 am »
Zero Hz noise will bite your butt!  I needed to buffer a precision voltage reference to drive a few 0.1% linearity 10k 10-turn potentiometers, and I picked the wrong opamp to use as a voltage follower.  It was so bad, I lost bits on a 10-bit ADC (didn't even bother trying the 12-bit ADC yet).

- why use an opamp in front of the ADC at all ([edit]you could add some more resistance to limit currents)?
- if you wanted 1/1024 precision ... according to my calculations your noise should be smaller than 1µV ... while you need approx 1mV.
Did you possibly pump lots of current through the potentiometer and disregard filtering?
« Last Edit: October 01, 2013, 08:35:28 am by Taucher »
 

Offline BobC

  • Supporter
  • ****
  • Posts: 119
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #18 on: October 01, 2013, 12:38:38 pm »
The opamp isn't "in front of the adc": it is between the precision voltage reference and the pots.  The pot wipers are directly connected to the adc inputs.  The reason for the voltage follower is that the load of the pots is far higher than the precision voltage reference can drive on its own.  I needed more current from the reference.  I couldn't get larger pots with adequate precision, nor could I find a voltage reference with greater drive capability.

I was also avoiding the need for a 16-bit adc by planning to oversample a 12-bit adc: The noise from the resistors is intended to be the main noise source in the system, and oversampling is a great way to deal with it.  This avoids the lag inherent in using analog filtering, since I can feed the raw adc samples to a Kalman filter when I need faster results (which will happen about 10% of the time).

This is the simplest configuration I could think of to get great data with minimal part count and minimal cost.  But it needs a low-noise precision reference with some oomph.  (You should see what the mechanical folks had to do to minimize backlash to the pot shafts.)

We also considered using optical encoders to eliminate the need for analog circuitry and adcs, but getting 16-bit precision in absolute encoders was prohibitively expensive and had reliability concerns in our rather extreme operating environment.
 

Offline Taucher

  • Frequent Contributor
  • **
  • Posts: 456
  • Country: de
  • 1DsaYDGWXEYhEKL rfrbFyYsehaAtfBWawf
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #19 on: October 01, 2013, 12:44:51 pm »
but why not just put some extra k-ohms around the pot to limit the flowing current?

Offline BobC

  • Supporter
  • ****
  • Posts: 119
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #20 on: October 02, 2013, 02:37:44 am »
but why not just put some extra k-ohms around the pot to limit the flowing current?
Done simplistically, that would add more noise sources to the system, as well as reduce the scale of the input signal to a tiny portion of the full ADC range.  However, we did consider using a larger-valued pot, and putting the opamp between the wiper and the ADC.  The bigger pot still would have made the noise worse, and the amplifier would have amplified that too!

Today we tried a different opamp, one that was already on the board!  We also have a current sensor device reading the drop across a 4-connection 1 milli-ohm shunt, and we were boosting the device's output with a current-mode opamp.  That signal was driven through a 0.1% resistor at the ADC input to generate a very clean input voltage.  That opamp didn't come in a single package, so we got the dual package and forgot about the extra opamp.  Until today.

That opamp was selected for its great performance in the current domain, with excellent noise and offset numbers.  Turns out it was also pretty good in the DC voltage domain, good enough to solve the problem of boosting the precision reference to drive the pots.

I believe that's the first time I've found the solution to an analog problem was already on the board.  (Back in the days of jellybean TTL boards, the answer to a problem was rarely more than a few jumpers away.  We thought of circuit boards then much as folks think of FPGAs today: Almost infinitely reconfigurable.  Especially if they were wire-wrapped.)
 

Offline Taucher

  • Frequent Contributor
  • **
  • Posts: 456
  • Country: de
  • 1DsaYDGWXEYhEKL rfrbFyYsehaAtfBWawf
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #21 on: October 02, 2013, 08:24:25 am »
Done simplistically, that would add more noise sources to the system, as well as reduce the scale of the input signal to a tiny portion of the full ADC range.  However, we did consider using a larger-valued pot, and putting the opamp between the wiper and the ADC.  The bigger pot still would have made the noise worse, and the amplifier would have amplified that too!

That opamp was selected for its great performance in the current domain, with excellent noise and offset numbers.  Turns out it was also pretty good in the DC voltage domain, good enough to solve the problem of boosting the precision reference to drive the pots.

:clap:
Great to hear that you found a solution - which opamp type/model was that good one?

Just as clarification: my suggestion was to completely get get rid of the opamp between pot and ADC - thus eliminate that noise source, which was reportedly overwhelmingly large and trade in some more noise from the additional resistance - not to forget maybe adding a passive lowpass filter in between pot and adc ;)

I've done some calculations using my xls cheatsheet and got 1,4µV noise p-p for a 5Hz bandwidth.
Filtered to 1Hz it should be 0,6µV.

Let's assume 2µV noise and 1,2V reference - then a source resistance of 1M should be good for approx. 845'128 steps ~ 19 bit ;)

10k pot should have 0,1mA/V(ref) current flowing - if your source can't handle that then 100k total resistance would lower it to 10µA which pretty much any source should be able to handle.

Code: [Select]
At a room temperature of 293K (20°C), the equation simplifies to:
ERMS = 1.27 x 10^(-10) = sqrt(RF)
Since the peak to peak noise is five times the RMS value 99% of the time, the peak-to-peak noise can be equated as follows:
Ep-p = 6.35 x 10^(-10) = sqrt(RF)

« Last Edit: October 02, 2013, 08:26:12 am by Taucher »
 

Offline Harvs

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #22 on: October 03, 2013, 07:11:21 am »
Zero Hz noise will bite your butt!  I needed to buffer a precision voltage reference to drive a few 0.1% linearity 10k 10-turn potentiometers, and I picked the wrong opamp to use as a voltage follower.  It was so bad, I lost bits on a 10-bit ADC (didn't even bother trying the 12-bit ADC yet).

What is the right way to choose a driver for this DC application?

To have enough noise in a unity gain buffer to loose bits on a 10-bit ADC it would have to be terrible.  Seriously I've never seen an opamp when used correctly would cause this.

But that aside, as far as the question of reducing 1/f noise at very low frequency, auto-zero or chopper amplifiers inherently remove (most) of this noise from the op-amp.  They also remove (most) of their input offset voltage which is why they are commonly chosen.  Often though they will not have high output current capabilities required of a buffer circuit, however they can be cascaded with a higher current capable op-amp, with the chopper amp closing the loop to maintain the precision.
 

Offline Elandril

  • Contributor
  • Posts: 22
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #23 on: October 05, 2013, 12:40:51 am »
Thanks Dave, that was a really nice video on opamp input noise!  :)

But, from the POV of a physicist speaking, I have to mention that the explanation of the nV/sqrt(Hz) unit was a bit dodgy. Especially the "this is not divided by..." is mathematically not correct, since it is exactly that ("divided by" equals "per"). This voltage over root-Hz does indeed mean that the noise voltage is determined as a typical density function over a range of sqrt(Hz) units. It is also not a nV reference to 1 Hz, but it gives the noise voltage caused by operating the opamp over a bandwidth of 1 sqrt(hz), which incidentally translates to operating it over a 1 Hz frequency range. So in practice it boils down to what you said, but seen for units of this sort in general, it should be mentioned. Therefore you calculations should actually read "noise voltage = 10 nV/sqrt(Hz) * sqrt(f-max - f_min)" to be mathematically sound.  ;)

More generally, this e_n is actually a function of frequency, which in case of most data sheets is just given by a few values at key frequencies. So for this sample data sheet:
e_n(10 Hz) = 10.3 nV/sqrt(Hz)
e_n(100 Hz) = 10.0 nV/sqrt(Hz)
e_n(1kHz) = 9.6 nV/sqrt(Hz)
So if you were to operate the opamp in a typical audio range of e.g. 20 - 20 000 Hz, we would have to calculate the total expected noise level E_n by integrating this curve. Since this density function is given per root-hz, we have to integrate the square of the curve, i.e. integrate e_n(f)^2 df, in the required frequency range, and then take the root of the result.
E_n = sqrt( Int_a^b { e_n(f)^2 df } ),
where Int_a^b denoted the integration from frequency a (=20 Hz) to b (= 20 kHz).
Lacking the full noise density function, we can now either do the integration on a forward step function (1), or more realistically interpolate the function linearily in the V^2/Hz space (2).

(1) E_n^2 = Int_a^b{ e_n(f)^2 df } = Int_20Hz^100Hz{ e_n(10 Hz)^2 df } + Int_100Hz^1kHz{ e_n(100 Hz)^2 df } + Int_1kHz^20kHz{ e_n(1kHz)^2 df } =
          = e_n(10 Hz)^2 * (100-20)Hz + e_n(100 Hz)^2 * (1k-100)Hz + e_n(1kHz)^2 * (20k-1k)Hz = 1.85 muV^2
   E_n = sqrt(1.85 muV^2) = 1.36 muV

(2) Now we interpolate e_n(f) linearly between the key frequencies from the data sheet:
   E_n^2 = Int_a^b{ e_n(f)^2 df } = Int_20Hz^100Hz{ [e_n(10 Hz)^2 + (e_n(100 Hz)^2-e_n(10 Hz)^2)*(f-10Hz)/(100Hz-10Hz)] df } +
           Int_100Hz^1kHz{ [e_n(100 Hz)^2 + (e_n(1kHz)^2-e_n(100 Hz)^2)*(f-100Hz)/(1kHz-100Hz)] df } + Int_1kHz^20kHz{ e_n(1kHz)^2 df } =
        = e_n(10 Hz)^2 * (100-20)Hz + (e_n(100 Hz)^2-e_n(10 Hz)^2)/(100Hz-10Hz) * 4000
          + e_n(100 Hz)^2 * (1k-100)Hz + (e_n(1kHz)^2-e_n(100 Hz)^2)/(1kHz-100Hz) * 405 000 Hz^2
         + e_n(1kHz)^2 * (20k-1k)Hz
        = (8216.53 + 86472 + 1.75104e6) nV^2 = 1.85 muV^2
   E_n = sqrt(1.85 muV^2) = 1.36 muV

As we can see for this case the two methods yield basically the same result, since the third frequency range dominates the terms.

I just wanted to add this, in case some of your viewers get confused when they encounter similar units.
 
The following users thanked this post: Oscill8

Offline Taucher

  • Frequent Contributor
  • **
  • Posts: 456
  • Country: de
  • 1DsaYDGWXEYhEKL rfrbFyYsehaAtfBWawf
Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
« Reply #24 on: October 05, 2013, 12:58:16 am »
   E_n^2 = Int_a^b{ e_n(f)^2 df } = Int_20Hz^100Hz{ [e_n(10 Hz)^2 + (e_n(100 Hz)^2-e_n(10 Hz)^2)*(f-10Hz)/(100Hz-10Hz)] df } +
           Int_100Hz^1kHz{ [e_n(100 Hz)^2 + (e_n(1kHz)^2-e_n(100 Hz)^2)*(f-100Hz)/(1kHz-100Hz)] df } + Int_1kHz^20kHz{ e_n(1kHz)^2 df } =
        = e_n(10 Hz)^2 * (100-20)Hz + (e_n(100 Hz)^2-e_n(10 Hz)^2)/(100Hz-10Hz) * 4000
          + e_n(100 Hz)^2 * (1k-100)Hz + (e_n(1kHz)^2-e_n(100 Hz)^2)/(1kHz-100Hz) * 405 000 Hz^2
         + e_n(1kHz)^2 * (20k-1k)Hz
        = (8216.53 + 86472 + 1.75104e6) nV^2 = 1.85 muV^2
   E_n = sqrt(1.85 muV^2) = 1.36 muV

That block of numbers and chars looks hypnotic ;)
But nice work  :-+


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf