EEVblog Electronics Community Forum

EEVblog => EEVblog Specific => Topic started by: EEVblog on September 28, 2013, 06:33:52 am

Title: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: EEVblog 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 (https://www.youtube.com/watch?v=Y0jkPLuFdnM#)
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: nowlan on September 28, 2013, 06:44:49 am
This video is private?
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: SeanB on September 28, 2013, 07:01:20 am
Available now. will watch later when I come back home.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: RobB 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:
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: SysDsnEng 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
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Christe4nM 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!
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: EEVblog 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.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: EEVblog 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:
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Oracle 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...
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: c4757p 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.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: casinada 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  :)
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Salas 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.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: JackOfVA 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.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: walshms on September 29, 2013, 03:56:21 am
Nice Einstein reference, Dave.  :-+

Spooky action at a distance... love it!
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Taucher 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 ;)
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: sub 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.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: BobC 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?
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Taucher 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?
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: BobC 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.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Taucher 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?
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: BobC 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.)
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Taucher 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)

Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Harvs 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.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Elandril 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.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: Taucher 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  :-+
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: iTist on October 09, 2013, 08:23:43 pm
Thanks Dave great explanation.

i build up the Linear Technologies Circuits for the Measurement of  0.1Hz to 10Hz Noise.:

Here some Pictures:
(http://itist.de/wordpress/wp-content/uploads/2013/10/in-the-box_web-300x224.jpg)
In the Box

(http://itist.de/wordpress/wp-content/uploads/2013/10/OP07-Noise_web-300x225.jpg)
OP07 noise 0.1-10Hz  100nV/DIV


(http://itist.de/wordpress/wp-content/uploads/2013/10/LF356-Noise_web-300x225.jpg)
LF356 0.1-10Hz 100nV/DIV


Greetz


Visit my Website:
www.itist.de (http://www.itist.de)
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: martinv on December 26, 2019, 03:54:36 pm
Repeating the experiments in this video, I notice the 1/f noise corner frequency seems to move to a lower and lower frequency as you reduce the span on the instrument.
It is acting more like a spectrum analyzer as you reduce resolution bandwidth the 0Hz peak moves closer and closer to 0.  Using span of 12 Hz moves the corner to 0.2 Hz.  This is repeating the units self noise with a 50 ohm terminator.
Shouldn't the 1/f noise be constant using the PSD (Power Spectral Density)mode?

(side question is if this comment should have been a new topic due to this "Warning" message: 
Quote
Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: David Hess on December 27, 2019, 12:35:45 am
What instrument are you referring to?  RBW (resolution bandwidth) changes with FFT bin width and most DSOs do not include normalization to support noise measurements so you have to calculate it yourself.  Also with a DSO FFT, make sure to average *after* the FFT and not before.  Some only allow averaging before making them useless for noise measurements.

A spectrum analyzer with a noise marker function should return consistent results within the limits of its filtering.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: martinv on December 27, 2019, 01:14:28 am
HP35660A  just like in the video.  I repeated the same experiment using the 50 ohm terminator and got the same results, but after reduce the span I noticed the cutoff frequency of the 1/f noise also reduced. I understand swept spectrum analyzers much more than this 35660A, but am trying to learn...  It appears the 1/f noise measurement is responding like resolution bandwidth is changing, but isn't the PSD measurement supposed to use a 1Hz bandwidth?  There is no RBW setting on this instrument.  Example of 100Hz and 1.6kHz span below. Note the corner frequency seems to move from about 20 Hz to less than 1 Hz even though no settings changed other than span and re-acquiring an average of 10 samples:
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: David Hess on December 27, 2019, 02:45:09 am
To me it looks like lack of frequency resolution on the wider span measurement and not enough averages on the lower span measurement are distorting the results.
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: martinv on December 27, 2019, 04:27:22 am
You may be correct,  I ran a 6Hz span, 20 averages (took a while) and compared the marker value at 1.25 Hz (see additional image I added to previous post).  It is reasonably close.  Basically on this instrument it seems best to not rely on the left 1/3rd of the screen for PSD measurements if your frequency scale is in log mode as there are only about 5 samples. 
Title: Re: EEVblog #528 - Opamp Input Noise Voltage Tutorial
Post by: David Hess on December 27, 2019, 04:37:21 pm
The manual mentions that measurements near DC can be affected by DC offset from the input circuits so it may be necessary to ignore the first few FFT bins when making baseband measurements.  It is not entirely clear from the display how many FFT bins close to DC are not being displayed.