2 ms·
That's a strikingly simple circuit! It gives you a continuously-varying output voltage. To get random numbers, you have to sample the output (presumably using
by denton-scratch 5y ago
That's a strikingly simple circuit!
It gives you a continuously-varying output voltage. To get random numbers, you have to sample the output (presumably using a clock of some kind), and compare the sample with some reference (e.g. using a comparator).
How often you can sample depends on the bandwidth of the analogue noise-source. You still need to debias, and probably whiten as well. That's digital circuitry, and it's hard to make analogue and digital circuitry play nicely together on the same circuit board; the digital part tends to influence the analogue part through the power lines.
- dragontamer 5y ago> That's digital circuitry, and it's hard to make analogue and digital circuitry play nicely together on the same circuit board; the digital part tends to influence the analogue part through the power lines. Yeah. We can fortunately handwave a lot of those issues away by: 1. Working with an Arduino, which only has a 20MHz clock (best case), maybe 4MHz typical scenario. 2. Filtering down the white-noise to the Arduino-level speeds. (Note: Arduino / ATMega328pb ADC clock is only a fraction of its primary clock). After all: sampling at 100MHz (generating a bit every 10 nanoseconds) would be very difficult! But sampling this at 1MHz is really easy, and probably could be done on a breadboard and hobby equipment. It'd still be noisy as all heck, but running things slowly and at 5V will solve a lot of issues that faster clocks make difficult. You don't care about 100MHz noise when your circuits are only 1MHz!! -------- Now if someone actually wanted that 100MHz (10 nanosecond) random bit generator... okay. That's tough. Now we gotta talk about ADC / High Speed Comparators, high-frequency / more expensive buffers / filters / opamps, miniscule errors, well done PCB-circuits, maybe even transmission line theory, large planes of copper to stabilize circuits... power-network filtering... etc. etc.