Testing White Noise Generator Devices

What is this fundamental flaw are you detecting in the bjt noise? The only thing an lfsr can do in this application that an avalanching transistor (plus amplifier) definitely can't is operate on 5 volts or less.
I think it is a design error to reverse bias a BJT emitter-base close to it's limit which is called a BREAKdown. It may work for a while but is probably damaged. Perhaps an adjustable current-limiter is needed.
NG-2907.png
 
Not a problem as long as the power limits are not exceeded (< 25mA). BE junctions are used as Zeners all the time. I built a bipolar variable 0-15VDC supply 40 years ago that still works fine. It uses a BE ~7V "Zener". Some may call it "breakdown" but it's actually the "avalanche" voltage. The same is true for the collector "breakdown" but at higher voltages, the current limit is very small.
 
See https://en.wikipedia.org/wiki/1-bit_DAC#Oversampling_Examples

You already own good D/A converters. I would generate the white noise in software and play it on existing hardware.
Ed
I was wondering what would be the best clock rate for a LFSR generating white noise. How much time should one shift take. An ordinary Arduino loop takes 5 microseconds, an 8266 takes 2 or less microsecs. I usually add delayMicroseconds(10) which would loop for almost 12 hours.
 
I was wondering what would be the best clock rate for a LFSR generating white noise. How much time should one shift take. An ordinary Arduino loop takes 5 microseconds, an 8266 takes 2 or less microsecs. I usually add delayMicroseconds(10) which would loop for almost 12 hours.
Assuming the output stays constant until the next pulse arrives (zero-order hold behaviour): you get a sin(pi f T)/(pi f T) shaped response when the pulses have a width T, so the shorter the pulses, the whiter the noise.
 
Several True Random Number Generators that can be used to generate white noise can be found here: TRNGs. They are based on well-known microcontroller boards.
Usage example: in Linux, set the parameters of the serial port of the TRNG with
stty -F /dev/ttyUSB0 cs8 115200 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo min 1 time 0 ; stty -F /dev/ttyUSB0
route the output of the TRNG for some time to a file (end with CTRL/C):
cat /dev/ttyUSB0 > test.bin
and create a wav file containing white noise:
dd if=test.bin status=noxfer | sox -t u16 -c 1 -r 48000 - -c 1 test.wav trim 0 300
Beware of the volume!
 
Last edited:
I wouldn't call those true random, they are intended as entropy sources for crypto. Crypto needs entropy sources, those don't have to be pure random though, just a guaranteed proportion of true entropy (fundamentally un-predictable according to the laws of physics) - any structure is rejected by cryptographic hashing anyway, so you can live with 80% entropy or whatever.

For simulations you want good statistical properties from your random number source, but not necessarily any entropy at all (some deterministic PRNGs have very good statistics, despite being deterministic). In fact in some cases its essential that simulations are fully predictable (for running sims in parallel for instance), so a PRNG is a requirement, so the separate processes can keep in step, by giving them all the same seed.
 
The hardware true random number generators are usually used to seed pseudo-random number generators. The hardware ones tend to be too slow for wide use in computers.

I use pseudo-random numbers a lot. A properly-seeded PRNG of sufficient period (hundreds of bits) is indistinguishable from true random numbers for all practical purposes.
Ed
 
I bought large Goldfish and used movement sensors for random number
generator.
Started my fish tank hobby.
For White noise and relaxation music Was easier to build generative Modules
using Synthesizer Software. Since more elaborate filters and could run to
a clock. German software Native Instruments, Reaktor
Could Transmit or receive Midi.
Wanted to use the Fish as Gate triggers as well.
I prefer more advance waveforms for relaxation music.
But used filtered white noise and quantized for random number
generation for modulation.
 
Several True Random Number Generators that can be used to generate white noise can be found here: TRNGs. They are based on well-known microcontroller boards.
Usage example: in Linux, set the parameters of the serial port of the TRNG with
stty -F /dev/ttyUSB0 cs8 115200 -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo min 1 time 0 ; stty -F /dev/ttyUSB0
route the output of the TRNG for some time to a file (end with CTRL/C):
cat /dev/ttyUSB0 > test.bin
and create a wav file containing white noise:
dd if=test.bin status=noxfer | sox -t u16 -c 1 -r 48000 - -c 1 test.wav trim 0 300
Beware of the volume!
Thanks. I will keep this one in mind.
 
Assuming the output stays constant until the next pulse arrives (zero-order hold behaviour): you get a sin(pi f T)/(pi f T) shaped response when the pulses have a width T, so the shorter the pulses, the whiter the noise.

From tests I've run, it's necessary to ensure that the LFSR clock is at least 3 times the highest frequency of interest. For 20kHz, this means 60kHz is required. --Rod Elliot

https://sound-au.com/project182.htm
 
If it is just for creating ambient tone for sleeping
then simple transistor circuit much easier.

Of course listening to constant noise gets boring if not
annoying. Eventually leads to wanting filter modulation
and amplitude envelopes.

All depends what the individual considers
helpful or relaxing.
Can even stream 10 or 20 hour videos of
actual water recordings. Or find more elaborate
ambient music artists.

All in all very fascinating fun world for hardware or
software to create ambience.
 
From tests I've run, it's necessary to ensure that the LFSR clock is at least 3 times the highest frequency of interest. For 20kHz, this means 60kHz is required. --Rod Elliot

https://sound-au.com/project182.htm

Peculiar that he needs to run tests for that, instead of just calculating it. Apparently he is willing to accept a drop to 20 dB log10(sin(π/3)/(π/3)) ~= -1.65 dB at 20 kHz.

I like the trick he uses to get out of the all zeros state. It's the simplest circuit I've ever seen for that.
 
I think it is a design error to reverse bias a BJT emitter-base close to it's limit which is called a BREAKdown. It may work for a while but is probably damaged. Perhaps an adjustable current-limiter is needed.
View attachment 1195970
I think if you keep the reverse base current below 10uA you'll have a circuit that would be stable for a very long time. That circuit seems deceptively capable of doing that especially if you start with the pot turned all the way down and only set it for a couple uA. You could use a higher value emitter resistor. You don't need any 50MHz of course. I haven't found any diodes that are louder than the transistor, that's why people do it, but you still don't want to accidentally put a used one back in your bin and grab it later for an amplifier input stage.
 
Last edited:
  • Like
Reactions: steveu
Using boosted Zener.

I abandoned the idea of using BJT for white noise since the BJT is too delicate. Fortunately, an actual Zener diode is "heavily-doped" ..LOL.. to withstand the stress of avalanche operation. I read that BJT can generate 30mv but Zener does only 20mv. I remedy that with a Zener-adapter. It is very robust and I can see it's output on my "Heisenberg" BitScope.

The schematic has a 2N3906 as a buffer which gives up a little gain to provide negative feedback for stability. I call R6 the gain resistor. It can be anything between 220 and 560. I don't know how much feedback is needed to compensate for material variance. I selected 470. I tested 220 but that causes clipping in the opamp of the support PCB which is gained by 10k/1k.

I discovered that the opamp will oscillate if the zener adapter is not plugged. An input termination resistor prevents oscillation but the test PCB needs shielding, shorter tracks and wires. The MC1458 (2X741) does not oscillate since it's frequency response rolls off sooner that 4562 or 5532. The 5532 does 300khz and the 4562 does 200khz. This is not a problem for the custom adapter but a flaw in the fabricated PCB and wires.

The oscillation bug reminds me that audio gear needs to be protected from out-of-band signals. Rod Elliot has an IEC filter for that.

I prefer a digital generator but I want to compare analog and digital. Do they sound the same. Others may want everything analog with a pink noise filter for audio equipment.
 

Attachments

  • zener_adapt_sch.png
    zener_adapt_sch.png
    8.1 KB · Views: 87
  • vero_zener.png
    vero_zener.png
    11.6 KB · Views: 80
  • blurry.png
    blurry.png
    163.3 KB · Views: 74
  • 1458_spectrum.png
    1458_spectrum.png
    21 KB · Views: 70
  • 4562_spectrum1.png
    4562_spectrum1.png
    51.3 KB · Views: 67
  • 4562_spectrum2.png
    4562_spectrum2.png
    20.5 KB · Views: 67
  • REW_scope.png
    REW_scope.png
    19.8 KB · Views: 80
  • Like
Reactions: MarcelvdG and Pano