3 ms·
Fascinating! I don't think the article went into what physically encoded numbers into the probability streams to begin with, only mentioning that this is simple
by avdempsey 9y ago
Fascinating! I don't think the article went into what physically encoded numbers into the probability streams to begin with, only mentioning that this is simple. Does anyone know about that? Is this happening on the analog to digital conversion?
- madengr 9y agoIf you wanted to process two coherent signals, I would assume you’d need to randomize the distribution of 1’s and 0’s within each stream. Yeah, I wonder how that is done.
- neltnerb 9y agoI imagine the internal registers simply clock out their stored data to the bitstream in sequence rather than carrying it in a parallel bus to adders and the like. I suppose that wouldn't be a random pattern though, each iteration through it would be the same.
- seiferteric 9y agoCould you have a true random number generator that with each clock cycle had a 50% chance of producing a 1 or 0, then XOR that stream with the data stream?
- neltnerb 9y agoHow expensive are RNGs to implement? I'm not sure how they work. I think your idea would work though. You might make do with a very long prime value like 4073 that just clocks around endlessly, which will rarely line up meaningfully with anything else. It does seem memory intensive though, maybe these minor issues aren't a big deal in simple enough systems that this could ever work anyway. Maybe you just use 127 bits or something to randomize it, probably more than enough since the goal is likely mostly to avoid aliasing. Even with multiple incoming synchronized sources if you use different mixing patterns it might work out fine.
- seiferteric 9y agoYes I guess true randomness isn't really needed.
- teemwerk 9y agoi don't know how truly random a crc function is, but they're really cheap to implement in an fpga. especially if you're just pulling the bit off the end for a bitstream, and you can just feed the output or some polynomial into the input instead of an input stream. but that's where my thoughts end. https://en.wikipedia.org/wiki/Computation_of_cyclic_redundancy_checks https://en.wikipedia.org/wiki/Computation_of_cyclic_redundan...
- pjc50 9y agoIn physical hardware you can get "real" noise out of a single diode with appropriate processing. https://www.maximintegrated.com/en/app-notes/index.mvp/id/3469 https://www.maximintegrated.com/en/app-notes/index.mvp/id/34... The effect is a true quantum process whereby one electron tunneling across the junction triggers a large number of other electrons into moving.
- neltnerb 9y agoNice! I see the noise spectra, I am guessing the long tail out at high frequencies means that the recovery time is short enough that subsequent bits aren't correlated?
- abstrakraft 9y agoA natural noise process (e.g. thermal) with a variable threshold could do it. PRNGs spend a lot of effort on statistical properties that may not matter for this use case. You absolutely must, however, guarantee the correct bias, so such a noise process would need to be tightly controlled, likely temperature controlled.
- grumpygoron 9y agoUsually you just compare the target value with a random number sequence to generate the bitstream, and use a counter to sum everything up and convert it back. Most recent work takes advantage of deterministic number sequences like Halton, Sobol, or LFSR sequences. It might seem counter intuitive to be using deterministic number sequences but you really only care about the correlation between the generated bitstreams at the end of the day since this affects the accuracy.
- pjc50 9y agoIt looks rather a lot like delta-sigma ADCs. https://en.wikipedia.org/wiki/Delta-sigma_modulation https://en.wikipedia.org/wiki/Delta-sigma_modulation