# Random number generator

Mr Peanut
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?

## Answers and Replies

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.

Mentor
I wonder if you can't invert Box–Muller transform. Not that I have an idea how...

Mr Peanut
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

Homework Helper
Gold Member
If you have two independent Gaussian random variables $x$ and $y$ and you define a complex Gaussian r.v. $z$ such that

$$z = x + iy$$

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

Thus

$$\theta = \arctan(y,x)$$

is uniform over $(-\pi,\pi)$, assuming you use the 4-quadrant arctangent