White noise standard - Page 1
Forum section: electronics / general

author: MrYakimovYA
author_rank: Regular Contributor
timestamp: January 19, 2023, 09:25:37 am
content: Hello everyone!What can I use as a white noise standard to verify my low-noise amplifier? This amplifier is inteded to measure the white noise. But how can I check it? I say about cheap standard. I do the amplifier for myself, it's not my job, so I would want to have noise source say 10 uV rms for as low cost as possible. Of course, I can take 1G resistor, it give me just ~10 uV rms in range 0.1..10 Hz. But I don like such impedance source: 1 G. My amplifier input impedance must be higher several times.Sorry if I ask a question that had been discussed before. I used Google search but could find anything worth.

author: Kleinstein
author_rank: Super Contributor
timestamp: January 19, 2023, 10:27:22 am
content: Using the resistor noise is possible, especially if one can get away with less (e.g. 100 K resistor). The tricky part is the current noise of the amplifier, so that a single resistor is not enough (more like 3 resistors, liek 10 K / 100 K / 1 M).For the scale factor a simple (or possibly 2 stages) divider to divide down a sine or square wave with one frequency at a time is usually OK. The divider ratio could be measured at DC or from the resistor values. A large attenuation still needs care to not get additional signal via an unexpected path (e.g. ground loop). With the divider one could also check the frequency response of the amplifier / filter. The 0.1 - 10 Hz filter is tricky, as the noise BW is different from the -3dB BW normally used for other purposes.If it has to be noise like, one could build a psuedo random noise generator, e.g. based on a µC or shift register chain with feedback. The amplitude is set by the DAC (could be 1 bit). Usually one than needs a divider to bring the signal down to the low voltage range.

author: mawyatt
author_rank: Super Contributor
timestamp: January 19, 2023, 02:24:19 pm
content: Some AWGs have a PN Noise source waveform. This could be measured with a quality DMM with RMS to verify the output level, then attenuated with a precise resistive divider to get to the noise level required for the test.The actual noise for the test should be the RSS of the PN Noise and contribution from the resistive divider, and at 10uV RMS the resistor noise can be neglected if the effective divider resistance is low.Best,

author: Conrad Hoffman
author_rank: Super Contributor
timestamp: January 19, 2023, 04:59:39 pm
content: Use of a noise diode would be common-https://noisecom.com/products/components/nc100-200-300-400-series-chips-and-diodes#:~:text=Noisecom's%20noise%20diodes%20are%20the,flat%20output%20power%20versus%20frequency*. and one can sometimes get away with the breakdown of the B-E junction of a small NPN like 2N2222.

author: magic
author_rank: Super Contributor
timestamp: January 19, 2023, 06:25:15 pm
content: Semiconductors generate all sorts of noise, but they have the annoying property of possessing 1/f noise, sometimes poorly characterized.Resistor is at least supposed to be flat with frequency as long as currents are kept away from it, which may be doable with JFET/CMOS.I recall calculating that about 100kΩ into the fairly inexpensive OPA1641 ought to produce nice and flat noise over audio band, but it's hopeless for 0.1~10Hz. Maybe several MΩ could do that.Current noise is an annoying unknown with JFET opamps - very rarely specified, particularly over frequency. In some cases it starts to increase above a few kHz for reasons not entirely clear.Frequency sweep does look like a safer bet for calibrating amplifier gain, spectrum analysis and that sort of stuff.

author: KT88
author_rank: Frequent Contributor
timestamp: January 19, 2023, 09:54:30 pm
content: Putting a divider in front of the input with 50Ohms towards a sweep generator and some mOhms against ground could do the trick. You measure the voltage at the generator side of the divider and calculate the input voltage of the amplifier. Measure the output voltage as well (with some gain ideally to reject the noise of your meter or scope...). Any noise from the input resistor would be in the few nV down to some pV depending on the ratio of the divider...

author: MrYakimovYA
author_rank: Regular Contributor
timestamp: January 20, 2023, 05:06:19 am
content: Quote from: Kleinstein on January 19, 2023, 10:27:22 amAs I understand three resistors need to mathematically exclude amplifier current noise by means of math?Quote from: Kleinstein on January 19, 2023, 10:27:22 amThank you very much!!!

author: MrYakimovYA
author_rank: Regular Contributor
timestamp: January 20, 2023, 05:16:01 am
content: Quote from: mawyatt on January 19, 2023, 02:24:19 pmThe simplest method what I can do! Thank you!Quote from: mawyatt on January 19, 2023, 02:24:19 pmThen I should take the devider resistors as low as generator can feed.By the way, if I calculate Nyquist noise of resistor 10 uV RMS, could it be lower than calculated, for example 7 uV RMS?

author: MrYakimovYA
author_rank: Regular Contributor
timestamp: January 20, 2023, 05:23:50 am
content: Quote from: Conrad Hoffman on January 19, 2023, 04:59:39 pmThank you! This is an interesting solution!So, the most available white noise standard can be built by two ways:1. I can take several resistors (to take the current noise into accaunt) with known resistance and calculated thermal noise.2. I can take AWG generator that can give us a white noise, then attenuate it's output to the desired magnitude, and feed to the amplifier.

author: David Hess
author_rank: Super Contributor
timestamp: January 20, 2023, 04:31:44 pm
content: At lower levels I have used thermal noise from resistors as my calibrated source. For 10 microvolts RMS, I would use shot noise from a noise diode or reverse biased base-emitter junction, which would then require measurement for calibration so a suitable low noise amplifier would also be needed, although the amplifier you are testing may work for that.

author: Kleinstein
author_rank: Super Contributor
timestamp: January 20, 2023, 04:52:27 pm
content: The level of the resistor current noise (also called excess noise) is usually not known. The datasheet values are usually crude upper limits (often test limit) not actual or typical numbers.The resistors are usually operated with little DC voltage and thus no significant current noise.

author: TimFox
author_rank: Super Contributor
timestamp: January 20, 2023, 05:24:03 pm
content: Thermal noise (Johnson or Nyquist) in a resistor is an available power proportional to absolute temperature.You can calculate its effect using either the equivalent voltage or equivalent current (whichever makes your computation easier), as a voltage in series with the resistance or a current in parallel with the resistance, but only one at a time.An active device (such as a BJT) has two noise generators in the usual model: a voltage generator in series with the input and a current generator in parallel with the input.At low frequencies, these two generators are uncorrelated, but at higher frequencies there is some correlation between the random noise from the two generators.The "excess", "pink", "flicker" or "1/f" noise in a practical resistor happens when there is a current applied through it (usually assumed to be due to random variation in the path seen by this current).One way to assess the two input noise generators for the active device is to carefully measure the AC gain at the frequency where you measure the noise, and then to measure the output noise with several different resistors at the input (minimum cases with a short circuit and a known high resistance).When the amplifier is relatively quiet (low noise values), the calculation of input noise is a small difference between relatively high values, and can be inaccurate.I missed my Nobel prize from obtaining negative noise values using that computation on a legitimately quiet amplifier.

author: mawyatt
author_rank: Super Contributor
timestamp: January 20, 2023, 05:25:29 pm
content: Quote from: MrYakimovYA on January 20, 2023, 05:16:01 amYou are welcome!!With 10uV noise in a low ~10Hz bandwidth, don't think you'll need to worry about the resistor Johnson-Nyquist (thermal) root(4kTR*BW) noise as long as you keep the resistance values reasonable, below 1K ohms effective resistance should be OK. You can use a single stage divider (2 resistors), or a "T" divider (3 resistors), or a 2 stage divider (4 resistors), depending on what you have at hand. Use 1% metal film types and if you want to get really accurate (usually not necessary for noise measurements), you can measure each resistor with your quality DMM since the measured value will be the same at these lower frequencies.The effective impedance as "seen" from the DUT will be looking back up the divider chain, and should be about equal to the shunt resistance at the DUT input since this resistance will be << lower than the series resistance (2 resistor divider). For example you require a 10,000/1 voltage reduction, so select a 10 ohms shunt and 100K series!! Simple as that!!Best,

author: Conrad Hoffman
author_rank: Super Contributor
timestamp: January 20, 2023, 05:53:04 pm
content: As a dinosaur waiting for the asteroid, here's some old-school thoughts. General Radio made the common 1390-B noise generator and several similar units. It used a 6D4 tube in a strong magnetic field for the noise source. It was a low frequency unit, but I don't know how low it went. They made the 1381, which used a semiconductor diode for the noise source. They also made a high frequency noise source, the 1383. That used a 5722 tube, but I don't think it used a magnetic field; at least I don't see one in the manual illustration. It might be useful to download the manuals for the 1390-B and the 1381 for reference. They have a lot of general information on random noise in general.

author: TimFox
author_rank: Super Contributor
timestamp: January 20, 2023, 06:08:49 pm
content: In the 1390, the permanent magnet around the 6D4 thyratron stabilized the current through the gas discharge to give a stable noise output.In the 1381, the noise from a semiconductor diode was amplified into a bandpass filter (100 to 200 kHz pass-band), and the band-limited output was heterodyned down to DC to reduce the flicker noise in the output power.The output amplifier works down to 2 Hz, with selectable high-frequency limit.A very useful manual:https://www.ietlabs.com/pdf/Manuals/GR/GENRAD%201381%20IM.pdfThe 5722 vacuum diode in the 1383 has a naked tungsten filament cathode, and was operated in "saturated" mode (where the current was determined by the cathode temperature).In such a diode, the shot noise power (not modified by space charge) can be calculated on first principles from the DC current.

author: mawyatt
author_rank: Super Contributor
timestamp: January 20, 2023, 07:39:58 pm
content: Quote from: mawyatt on January 19, 2023, 02:24:19 pmJust did a quick check for the OP regarding using the AWG PN Noise source. Our SDG2042X does not support a BW below 20MHz, so a no-go for the low 0.1-10Hz use, however, our SDG6022X does allow BWs this low, so should be a good candidate for use.Here we setup a 100Hz BW PN Noise signal at ~1Vrms from the SDG6022X and connected to our DSO. Waveform shows the typical 6~8 VPP/RMS ratio, is flat across the 100Hz band (and 10Hz) with 0.12Hz resolution, and compares well with our RMS DMMs.Here are a few results from 100, 10, and 1Hz bandwidths for the PN Noise source, note the slow rolling time base for the 1Hz at 20 seconds/div. Apparently the FFT has a "bug" in that the FFT does not recognize the C1 channel Probe selection correctly, and had to set to 10X even tho at 1X (no probe), CH1 does respond correctly.Don't know about other AWGs, and maybe Siglent will enable the lower frequencies for the Noise waveform with the SDG2000X, but the SDG6000X has no problem with even 1Hz (maybe goes lower).Seems this AWG is a good general purpose noise source, and want to thank the OP since this was not a noise source we would have considered without the original request!!Edit: Added FFT result of AWG set to 10Hz BW with 0.02Hz resolution, note the flatness.Best,

author: branadic
author_rank: Super Contributor
timestamp: January 20, 2023, 08:34:46 pm
content: As a white noise source you could use a pseudo random number generator based on linear feedback shift register (LFSR) and divide the output down to the desired level you need.https://electricdruid.net/white-noise-source/-branadic-

author: Conrad Hoffman
author_rank: Super Contributor
timestamp: January 20, 2023, 09:16:41 pm
content: Though discontinued for many years, National Semi made the MM5837 Digital Noise Source IC for audio frequencies. If you can find the datasheet or app notes, they might have a few clues.

author: TimFox
author_rank: Super Contributor
timestamp: January 20, 2023, 09:19:11 pm
content: Quote from: Conrad Hoffman on January 20, 2023, 09:16:41 pmIf I remember correctly, that IC was sold for use in electronic organs.

author: mawyatt
author_rank: Super Contributor
timestamp: January 21, 2023, 12:08:57 am
content: Quote from: branadic on January 20, 2023, 08:34:46 pmThis technique produces a waveform that is noise like in frequency, but not in instantaneous amplitude as it only produces a binary amplitude (0-VDD) from the shift register. We've used this technique in the past, as well as just a random bit (0-1) stored in recycling memory, but recall not seeing the usual 6~8 ratio of VPP/VRMS that is typical of band-limited Gaussian White Noise. We did get better noise resemblance with a random 8 bit word stored and driving an 8 bit DAC tho.Honestly I'm surprised how well behaved the AWG PN noise appears and shown above, we've certainly taken note of this for any future noise source considerations, especially the low frequency noise uniformity that shows an absence of 1/f noiseAnd likely a modern AWG is already in ones lab repertoireBest,

author: Nominal Animal
author_rank: Super Contributor
timestamp: January 21, 2023, 01:11:52 am
content: If you want to generate 1-32 bit white noise programmatically on a 32-bit microcontroller, then I can warmly recommend using the 32 high bits of theXorshift 64*pseudorandom number generator:Code:#include <stdint.h>uint64_t prng_state;uint32_t prng_u32(void){uint64_t x = prng_state;x ^= x >> 12;x ^= x << 25;x ^= x >> 27;prng_state = x;return (x * UINT64_C(2685821657736338717)) >> 32;}You initializeprng_stateto any value except all zero; 1 to 18,446,744,073,709,551,615 inclusive.The output ofprng_u32()passes all randomness tests in the BigCrush test suite of theTestU01framework. In the numeric computation world, it is considered the "gold standard" for numerical (pseudo-)randomness. It even beats Mersenne Twister (MT19937) in both speed and 'randomness'.The period is 264-1; even if you emit 232= 4,294,967,296 values per second, it'll take over 136 years before it repeats the same sequence.One of the microcontroller dev boards I have,Teensy LC, has a 12-bit hardware DAC, and the above can be trivially modified to return the high 36 bits (by changing the last line to)) >> 28;and the return value to uint64_t), in which case every call would produce three samples. I expect an interleaved version to be able to generate 100k - 1M samples/sec, perhaps 100,000 - 300,000 if using DMA to ensure minimal jitter between samples (which might otherwise cause noticeable 'coloring' in the generated spectrum).I could write a test sketch (it's programmed in the Arduino environment usingTeensyduino), but unfortunately I don't have a real oscilloscope or frequency analyzer (nor access to one right now) to analyze and quantify the output.

author: iMo
author_rank: Super Contributor
timestamp: January 21, 2023, 08:39:08 am
content: I think the pseudo generators with, say, 3.3V or 5V output level, with a low-pass and an attenuator after it is the way to go - you can even calculate what you get with some math. We were using an HP3722A generator in our 1/f lab in 80ties, afaik it worked the same way.PS: download its service manual, there is some math too..I did with FPGAs too, there is a Xilinx app note with up to 168 regs long LFSR pseudo random generators (XAPP 052), when higher freqs are required, for example..

author: Kleinstein
author_rank: Super Contributor
timestamp: January 21, 2023, 10:38:27 am
content: For a calibration pseudorandom noise is preferred over real noise, because it is reproducible. Real noise is random by nature and does fluctuate in amplitude.Ideally the period of the pseudorandom sequence would be longer than the lowest frequency of interrest, but shorter than the measurement time. A longer period may bring back some of the limitations of real noise.

author: iMo
author_rank: Super Contributor
timestamp: January 21, 2023, 12:44:24 pm
content: FYI - an interesting HP-Journal paper on "Pseudo-Random and Random Test Signals" attached..

author: MrYakimovYA
author_rank: Regular Contributor
timestamp: January 22, 2023, 04:37:00 am
content: Thank you very much for all answers!!! I'm studiyng, thinking a lot.So I went to one question: why electronic manufactures pay attention to bandwidth 0.1 - 10 Hz? Why not 0.05 - 15 Hz?And the second question: how exactly one should measure noise to say in the datasheet, for example: 'my power supply has 100 uV rms noise'. What this noise does include: white noise, flicker noise, some yet noise?

author: TimFox
author_rank: Super Contributor
timestamp: January 22, 2023, 05:22:18 am
content: 0.1 to 10 Hz: It is conventional to measure 1/f pink noise per decade of frequency (each decade contributes an equal amount of noise power to the white thermal-noise spectrum).

author: Kalvin
author_rank: Super Contributor
timestamp: January 22, 2023, 07:11:35 am
content: Quote from: Nominal Animal on January 21, 2023, 01:11:52 amYou can use Matlab or GNU Octave for getting the spectrum. Just pass the sequence through a zero-order hold, and compute spectrum. If you want, you can apply some filtering to the zero-order output.Alternatively, you can record the samples into an audio file, and use some software for analysis. Even LTSpice can be used for reading audio data and performing analysis.

author: Kalvin
author_rank: Super Contributor
timestamp: January 22, 2023, 07:14:56 am
content: Quote from: MrYakimovYA on January 19, 2023, 09:25:37 amYou can measure your amplifier's frequency response by sweeping a sine wave. No need to use white noise source for that.

author: MrYakimovYA
author_rank: Regular Contributor
timestamp: January 22, 2023, 08:10:15 am
content: Quote from: Kalvin on January 22, 2023, 07:14:56 amYes, I can. But it's very interesting to me to watch reals white noise on oscilloscope or measure it with DMM.

author: RoGeorge
author_rank: Super Contributor
timestamp: January 22, 2023, 09:02:38 am
content: One of my forever postponed projects:- get noise from a random process in the physical world, for example a PN junction- pass the signal through a comparator to get a digital stream of random 0/1- pass the stream through a von Neumann debiasing (or extractor) to get a mathematically guaranteed white noise distribution:https://mathoverflow.net/questions/152107/proof-of-von-neumanns-debiasing-algorithmNow that we have (discrete) ideal white noise, we can generate arbitrary shapes of probability distributions (https://en.wikipedia.org/wiki/Inverse_transform_sampling), and get Gaussian noise, pink noise, etc.This is an animated example from Wikipedia (getting Gaussian noise from white noise), just that the above way would make possible to get custom shaped noise of guaranteed distributions starting from the physical randomness of an unknown distribution (physical randomness as in not a pseudo-random).Image from:https://en.wikipedia.org/wiki/Inverse_transform_sampling

author: Nominal Animal
author_rank: Super Contributor
timestamp: January 22, 2023, 09:16:28 am
content: Quote from: Kalvin on January 22, 2023, 07:11:35 amAs I already explained, numerically the sequence is essentially indistinguishable from true uniform random numbers (i.e., white noise). If it wasn't, it wouldn't pass BigCrush. (It isn't cryptographically secure, though; so given a sequence, there may be ways to predict what the next number is.)A DFT of any subsequence will have a (pseudo-)random spectrum, but it –– every bin (except the zeroth/DC one) in the DFT –– will and do tend to the same average and the same standard deviation, depending only on the size of the DFT and the scaling of the samples. (I have verified this already, of course.)I just do not have the equipment to measure the real-world output (including DAC properties, DMA clock jitter), to quantify it as a white noise source.

author: David Hess
author_rank: Super Contributor
timestamp: January 22, 2023, 05:46:35 pm
content: Quote from: MrYakimovYA on January 22, 2023, 08:10:15 amI measure the noise on my analog oscilloscope using the tangental method to check the calibration of my DMM.https://www.eevblog.com/forum/beginners/measuring-amplifier-noise-with-scope/https://youtu.be/5Rk8I5BT2KU

author: Kalvin
author_rank: Super Contributor
timestamp: January 23, 2023, 07:38:31 am
content: Quote from: Nominal Animal on January 22, 2023, 09:16:28 amAs you have already analyzed the numerical sequence of the random number generator, and it is producing expected spectrum (white noise in this particular case), then it is a white noise generator. The other factors (like DAC properties and DMA jitter) are just implementation dependent imperfections. These imperfections just should not be significant at the frequency range of interest.For audio frequencies it is quite easy to produce sufficiently good white noise using digital LFSR-techniques, as these imperfections will affect the high frequency components. By increasing the output sample rate will push these imperfections higher in the frequency spectrum, until they will be filtered out (you should have some kind of reconstruction low-pass filter at the output of DAC). As the required sample rate and frequency spectrum goes up, the practical limitations of digital techniques will start to appear. At RF frequencies semiconductor junction noise will be typically used as a noise source.

author: Nominal Animal
author_rank: Super Contributor
timestamp: January 23, 2023, 08:53:52 am
content: Quote from: Kalvin on January 23, 2023, 07:38:31 amExactly. I know that in theory this should be almost perfect white noise source up to ~ 50kHz or more, but not being able to quantify it exactly makes me hesitant to make any claims about it. Also, to make it useful for real-world measurements, there should be a high-pass filter at very low frequencies (10 Hz, perhaps).Some time ago I did some careful examination of simple pulse density modulation (which is often used in direct digital synthesis), using an adder. If you restrict the output dynamic range, for example 8-bit to 16..240 (down to 87.5% of the dynamic range available, essentially as if it was just 7.8-bit and not full 8 bit), there will be at least one transition every 16 clocks, pushing the quantization noise quite high in the spectrum, making it easier to filter out. (In other words, that when using PDM, you can push the quantization noise to higher frequencies by using clock frequency higher than you need, restricting to a smaller dynamic range that does not include 0% or 100%. If your output stage has symmetric rise and fall times, this yields a very linear output after a low-pass filter.)This, too, is something that looks good and valid on paper, but I think one really needs to test and measure it in real life before relying on it.(I know it sounds strange coming from someone who does software and is not an EE, but at the core, I'm a physicist. Even when I do simulations or simulators, the first question after the first results always isDoes this make any sense?)

author: Kalvin
author_rank: Super Contributor
timestamp: January 23, 2023, 09:31:57 am
content: Quote from: Nominal Animal on January 23, 2023, 08:53:52 amThis can be done in digital domain, too. A simple IIR-type DC-removal filter (with selectable corner frequency) is very easy to implement as part of LFSR sequence generation. Requires only few arithmetic operations.https://www.embedded.com/dsp-tricks-dc-removal/This kind of IIR-filter will affect the phase somewhat at the lower frequencies. Probably this won't be an issue in practice, but can be checked with Matlab / GNU Octave by running the LFSR-sequence into a FIR-filter and IIR-filter (with identical corner frequencies), and comparing the output spectrums.

author: Kalvin
author_rank: Super Contributor
timestamp: January 23, 2023, 09:34:45 am
content: Quote from: Nominal Animal on January 23, 2023, 08:53:52 amThat is called real-life wisdom.

author: Nominal Animal
author_rank: Super Contributor
timestamp: January 23, 2023, 09:56:55 am
content: Quote from: Kalvin on January 23, 2023, 09:31:57 amYup; Teensy LC is 32-bit Cortex-M0+ with a single-cycle 32×32=32 multiply operation, so the DAC being just 12-bit, there is ample precision to do some filtering without worrying about affecting the output.As an aside, for FIR filters, I actually made an example standalone HTML page (you can save it locally and use it in your browser) for thishere. Just put the coefficients, say-2 1 1, into the top bar (that reads FIR Filter Coefficients when empty), and it'll show you its frequency (magnitude) and phase response. I intended it as an example of how we could use the very well optimized JavaScript engines in common browsers, to implementlocaltools using HTML+CSS+JS, run locally in our browsers even without any network connection; and not as an actual FIR filter analysis tool, though.