Creating Equal Probability Random Values with a Hardware Random Number Generator

In summary, the speaker has been experimenting with a hardware random number generator that takes transistor noise and converts it to a digital output. They are using a program to read the output into an array of double precision values, with voltages ranging from -7 to 7 and 16 bit precision. The array of voltages has a Gaussian distribution centered over zero, but the speaker wants a distribution with equal probability for every value. They are considering multiplying each value by 1000 and dropping the digits greater than 1 to achieve a uniform distribution. This method appears to be reasonable, and the technical term for a distribution with equal probability for every value is a uniform distribution. The speaker also mentions a possible method using the Box-Muller transform
  • #1
Mr Peanut
30
0
I've been experimenting with a hardware random number generator. My circuit amplifies transistor noise and converts it to a digital output. My program (.Net) reads the output into an array of double precision values. My voltages range from -7 to 7 (well within the range of my ADC) and have 16 bit precision. The array of voltages distributes in a Gaussian fashion centered over zero. I want a distribution that has equal probability of every value’s occurrence.
One method I am toying multiplies each value by 1000 then drops all the digits that are greater than 1, eg 10.7823432... becomes 0.23432...
Using this method I get a distribution that appears to be random with equal probability for each value. Two questions:

1) What is the technical term for a distribution of random values where every value has an equal probability of occurring?

2) Is my method for obtaining this set of numbers reasonable?
 
Physics news on Phys.org
  • #2
1) Uniform distribution. You didn't say what you did for - numbers.

2) Pretty reasonable, since Gaussian would be close to flat in a narrow interval around 0.
 
  • #3
I wonder if you can't invert Box–Muller transform. Not that I have an idea how...
 
  • #4
mathman said:
1) You didn't say what you did for - numbers.

I should have said I multiply by 1000 then form a new number (retaining the sign) by using only the decimal point and the numerical characters to the right of the decimal point.

-10.7823432... becomes -0.23432
 
  • #5
If you have two independent Gaussian random variables [itex]x[/itex] and [itex]y[/itex] and you define a complex Gaussian r.v. [itex]z[/itex] such that

[tex]z = x + iy[/tex]

then the phase of [itex]z[/itex] is uniformly distributed over [itex](-\pi,\pi)[/itex]. This is because the pdf of [itex]z[/itex] is circularly symmetric (depends only on [itex]|z|[/itex]).

Thus

[tex]\theta = \arctan(y,x)[/tex]

is uniform over [itex](-\pi,\pi)[/itex], assuming you use the 4-quadrant arctangent
 

1. What is a hardware random number generator?

A hardware random number generator (RNG) is a device that generates random numbers by measuring physical processes or phenomena, such as thermal noise or radioactive decay. Unlike software-based RNGs, which use algorithms to generate pseudorandom numbers, hardware RNGs produce truly random and unpredictable values.

2. How does a hardware random number generator create equal probability random values?

A hardware RNG uses a physical process or phenomenon that is inherently random, such as the timing of radioactive decay, to generate a stream of bits. These bits are then converted into random numbers with equal probability by applying mathematical operations, such as XOR or modular arithmetic. This ensures that each possible value has an equal chance of being selected.

3. Why is it important to have equal probability in random values?

Equal probability in random values ensures that each possible outcome has an equal chance of occurring, which is essential for many applications such as cryptography, statistical analysis, and simulations. Without equal probability, certain numbers or patterns may be more likely to be generated, leading to biased results.

4. How accurate and secure are hardware random number generators?

Hardware RNGs are considered highly accurate and secure, as they generate truly random values that cannot be predicted or reproduced. However, the accuracy and security may vary depending on the quality and design of the device. It is important to choose a reputable hardware RNG from a trusted manufacturer for maximum accuracy and security.

5. Can hardware random number generators be used for any type of random number generation?

Hardware RNGs can be used for many types of random number generation, such as generating cryptographic keys, simulating complex systems, and creating unbiased sampling for statistical analysis. However, they may not be suitable for applications that require large quantities of random numbers in a short amount of time, as hardware RNGs can be slower compared to software-based RNGs.

Similar threads

  • Set Theory, Logic, Probability, Statistics
Replies
7
Views
333
  • Set Theory, Logic, Probability, Statistics
Replies
7
Views
954
  • Set Theory, Logic, Probability, Statistics
Replies
3
Views
1K
  • Programming and Computer Science
Replies
1
Views
634
  • Programming and Computer Science
Replies
2
Views
1K
Replies
1
Views
3K
  • Set Theory, Logic, Probability, Statistics
Replies
4
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
9
Views
3K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
  • Programming and Computer Science
Replies
22
Views
3K
Back
Top