Go Down

Topic: Does ADC in + PWM out = trouble? (Read 6784 times) previous topic - next topic

allanhurst

Aha!

  found this link to the ERNIE  specifications.     http://www.tnmoc.org/sites/default/files/Ernie.pdf

It seems my guesses were right.  The amplified noise was sent to a data slicer - much as my Schmidt does - and the pulses counted over a timing period.

perhaps I'll build a modern version ( using a semiconductor noise source, amplifier , Schmidt and arduino digital input ) and see what I get - perhaps we could compare results!

How did you test the data you obtained using a PC for randomness?

regards

Allan.



cossoft

I didn't test it per se.  I did it the dirty way.  I know from experience and information theory that a random stream is in compressible.  I also know that a hash based extractor running on compression levels like this will pass all the standard tests.  So I recorded the noise from one CV4014 stage with the capacitor changes you suggested.  I like the glow of the valves.

60 seconds recording generated a 5.5MB WAV file.  I then compressed it with 7z to produce a 4.3MB file.  I then divide the size of the compressed file by 2 for luck*.  This means that my prototype generates about 39% pure entropy but that's sucking it up via a 32bit / 44.1kHz PC sound card. 

I'm toying with the idea of fronting the Arduino with an  ADC chip.  Something like a Maxim MAX166CCPP.  50kHz bandwidth and 8 bit parallel interface.  Interfacing /protocol looks simple and runs off 5V.  Even with an Ethernet shield, there should be enough available pins on  a standard Uno.  Actually, I might order one tonight...

You see that the entropy rates change depending on how I measure it.   That's why most of my production rate estimates are totally rubbish   :(


* - actually this is to allow for future improvements in compression algorithms.  Don't forget that they're asymptotic so there is actually a lower bound for source's entropy.  You see this in the literature and Shannon's own work.

MarkT

a random stream is fundamentally incompressible, but for any compression algorithm failure to
compress does not imply randomness.  Many PRNGs and all CSPRNGs produce output that doesn't
compress, but the output is completely deterministic containing no more entropy than the PRNG
state.  Proving randomness is hard.  7z failing to compress something is basically uninteresting.

For a hardware random source I'd first think about using statistical tests like DIEHARD to search
for correlations between samples. 

Quality hardware random sources have to continuously monitor themselves for faults (loose
connection could otherwise cause the output to drop to all zeroes thereafter).

BTW an SPI ADC uses fewer pins and is still fast.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Go Up