|Scalable Noise Generator
Using some shift
registers and exclusive OR gates, it is possible to construct what
is known as a psuedo random code generator. Depending on what taps
are used on the shift register, a sequence of up to 2^n-1 numbers
can be generated before the sequence repeats. If we feed the
output of the shift registers into an A/D converter and look at
the output, we will see what looks like white noise.
The noise produced by this circuit has a flat spectral
distribution and can be considered white noise. However, instead
of having a gaussian output characteristics, it is uniformly
distributed. A snap shot of the output appears below:
Click above for output Trace
Choosing the right taps is something of an art. There are lots
of combinations that produce complete sequences but sometimes the
sequences produce less than ideal spectral output. The taps chosen
for this design were found in Spread Spectrum Systems by
Robert Dixon. Code sequences of this type are used for Direct
Sequence and Frequency Hopping modulation techniques. An FFT of
our derived data sequence appears below:
Click Above for Spectral Display
The circuit itself is composed of two parts: 1) a
16-bit sequence generator followed by a 12-bit parallel A/D
converter. The 100Khz clock is derived from a 555 timer. At turn on,
the spare XOR gate is used to force some 1's into the shift
register. Without this feature, the shift registers could wake up
with all zeros and the psuedo random sequence would be all zeros -
not very random.
The output of the DAC is followed by a 30Khz
low-pass filter. This translates into an equivalent noise bandwidth
of about 47Khz. The output voltage will swing between +/-5 volts.
Increased dynamic range can be attained by increasing the gain of
the op-amp. Upping the clock frequency with appropriate changes to
the LPF will allow greater bandwidth. However be careful to not
exceed the specifications on the DAC.
To maximize the output performance of the DAC,
perform the following steps:
Offset Adjustment: with the data bus set to all
0's adjust R2 to give -5.00 volts output.
Gain Adjustment: with the data bus set to all
1's, adjust R1 to give a reading of +4.9976 volts.
Click the above thumbnail to view the schematic
How to save and view