| |
|
October 8, 1998
Use precise, tunable noise to test data systems
A binary sequence generates wideband tunable analog noise more accurately
than a commercial noise generator does.
Tom Napier, Consultant
You cannot quantify the response of a data-transmission system to a noisy input unless
you test it with noise having precisely known characteristics. The accuracy of your
measurements cannot be better than the calibration of the level, bandwidth, and amplitude
distribution of the noise source. You can simplify the measurement of data receivers'
performance by using an accurate synthetic noise source.
You should test a bit synchronizer, the part of a receiving system that translates a
demodulated signal into clean digital data, by feeding it with a mixture of binary data
and Gaussian noise and then measuring its output bit-error rate for SNR. A bit-error-rate
tester (BERT) measures the error rate of a network under normal op- erating conditions (Reference 1). It rarely provides noise injection because generating
calibrated, variable-bandwidth, Gaussian noise is difficult to do at a reasonable cost.
Traditionally, a skilled technician used a BERT; several noise generators; a wideband
rms power meter and an array of mixers, filters, and attenuators to measure the
performance of a bit synchronizer. This technician would plot the bit-error rate against
the signal-to-noise level one point at a time. The setting, measurement, and adjustment of
the noise level for each point took perhaps 10 minutes of painstaking work. Plotting the
complete curve at one bit rate took a couple of hours or much longer if the application
required measurements at low bit-error rates. (Even an approximate bit-error-rate
measurement can take a great deal of time. Because 10% accuracy requires counting 100
errors, confirming that a 10-kbps system has an error rate better than 10-9
takes more than 16 weeks.)
The characterization of a bit synchronizer requires you to plot its error-rate curve at
many bit rates. This task can take several days and does not take place too often. When
choosing which bit synchronizer to buy, you have to assume that the manufacturers have
done such a test and have accurately reported the results. Generating binary data for the
test is easy; the data comprises a continuous stream of bits from a pseudorandom sequence.
This sequence simulates random data but is predictable. Most BERTs offer a dozen or more
sequence lengths and can synchronize themselves to the received data even if it contains
as much as 10% of bit errors. Once synchronized, the BERT knows what bits to expect and
can thus report how many errors it finds. Knowing the bit rate and the elapsed time, the
BERT can calculate the bit-error rate.
You can easily set the data amplitude because the signal is, in effect, switching
between two dc levels. The tough problem is mixing the correct level of noise with the
binary signal. This noise is easy enough to specify. The InteRange Instrumentation Group
standard for testing bit synchronizers says that the synchronizers' 3-dB bandwidth should
be five times their bit rate. Within this bandwidth, the noise power should not vary
significantly with frequency (Reference 2). In telemetry
testing, you measure the reference-noise power in a bandwidth equal to the bit rate. You
must know this power to an accuracy better than the resolution that the test requires; an
absolute accuracy of 0.1 dB is desirable. To measure the bit-error-rate with both light
and heavy noise, the noise power must be adjustable over approximately 12 dB.
The amplitude distribution of the noise should be Gaussian, implying that the noise
contains occasional peaks that are many times the noise's mean amplitude. To avoid getting
misleading test results, the noise amplifier must not clip these peaks, because you are
trying to count the bit errors they induce. A noise generator that clips its output can
lead to the generation of no errors (Figure 1). Even the
test signal generator's output amplifier needs a head room approximately ten times the
amplitude of the binary signal.
A typical commercial noise generator is a fixed-bandwidth, fixed-amplitude device. Its
rms output amplitude is usually specified to lie within a 6-dB range. Its flatness (the
variation of its output amplitude with frequency) may be no better than 1 or 2 dB. Its
amplitude distribution is specified only as a peak-to-rms ratio of, typically, 5-to-1.
Even at a single bit rate, a commercial noise generator can give misleading results (Reference 3). When you change the bit rate, you must change the
bandwidth of the noise generator to match the rate. The good news is that lowpass
filtering makes the noise more Gaussian; the bad news is that it reduces the noise's rms
amplitude. You have to amplify the noise to retain the same SNR.
At low bandwidths, the output of a wideband noise generator is so tiny that you need to
switch to a generator designed for a low-frequency output. An instrument intended to test
bit-error rates over a six-decade bit-rate range, a common requirement, might need a dozen
noise generators, a wideband variable-gain amplifier, and a wideband rms power meter to
set the amplitude of the noise. This equipment could be expensive and cumbersome. In
designing such a BERT, you quickly realize that noise generation is the crux of the
problem. The BERT requires a noise generator with a calibrated amplitude and a Gaussian
distribution that you can tune over a wide frequency range without a change in amplitude.
In the late 1960s, Hewlett-Packard sold generators that lowpass-filtered the output of
a binary pseudorandom sequence to achieve audio-frequency noise. The advantage of such a
generator was that, because what you now know as a FIR filter performed the filtering, the
output amplitude was constant. The noise bandwidth was proportional to the frequency of
the clock driving the sequence generator. A literature search reveals many papers
describing variants of this idea. They all have one thing in common: The noise bandwidth
is about one-twentieth of the shift-register clock rate. This tester needs noise flat to
100 MHz, so the classical designs would require a 2-GHz shift register.
Previous designs achieved a Gaussian output by averaging a binary sequence over time.
This approach uses only the lower part of the (sine v)/v frequency spectrum of the
pseudorandom sequence, inherently making the noise white. To solve this problem, you can
separate the two problems: making the spectrum flat and making the distribution Gaussian.
A little experimentation shows that you can approximate a FIR filter having the inverse of
the (sine v)/v shape using a shift register and a DAC. The binary weighted inputs to the
DAC are not the optimum coefficients for a FIR filter but at least the amplitude
distribution of the DAC output is uniform. That is, when you feed a long pseudorandom
sequence to the shift register, all possible DAC input states, other than the all-zeros
state, occur equally often. (This situation is the "window property" of a
pseudorandom sequence.)
By tinkering, you may find the optimum 5-bit interconnection between the shift-register
bits and the DAC inputs. Figure 2 shows the 8-bit
arrangement that leads to the flattest and widest bandwidth correction for the (sine v)/v
spectrum. The DAC output has a spectrum that is flat to within 0.2 dB to as much as 45% of
the shift clock rate (Figure 3). Its 3-dB bandwidth is 59%
of the clock rate. Incidentally, Reference 4 shows an approach
using a shift-register-to-DAC interconnection to achieve odd output spectra, albeit not
this flattened one. Once you generate a wideband, uniformly distributed noise source, the
remaining problem is to make it Gaussian. A brute-force solution is based on the Central
Limit Theorem. Loosely stated, this theorem is that the sum of many uncorrelated uniform
distributions tends to a Gaussian distribution.
A total of 12 summed distributions is enough to give an output that has a 6-to-1
peak-to-rms ratio. This approach is better than using a typical commercial noise generator
because you can predict the deviation from a true Gaussian distribution (Reference 5). You can compensate for this difference in the
bit-error-rate computation. You can get "uncorrelated" sequences by using two
master pseudorandom sequence generators, one with 28 bits and another with 31. These
generated patterns repeat every 268,435,455 and 2,147,483,647 bits, respectively. By
exclusive-ORing bits from the shift register, you can make taps into each sequence at
points many millions of bits apart (Figure 4).
Each tap drives an individual 8-bit shift register connected to its own high-speed DAC.
Using triple-video DACs saves space. You trim the output of each DAC to a standard level
and sum the 12 currents to generate the analog noise output. The noise bandwidth is more
than half the shift clock frequency, and you can use boards that generate noise tunable to
100 MHz. At a 200-MHz clock rate, the noise pattern repeats about every 91 years. However,
if you reset the shift registers to a given initial pattern, the noise repeats exactly.
This approach is useful when testing two competing bit synchronizers because you can test
both with exactly the same data and noise, eliminating statistical artifacts from the
results. This noise source allows you to automate bit-error-rate measurements, greatly
speeding the production-line testing of bit synchronizers.
The analog noise output makes a small step every clock period. This step reflects the
fact that the FIR filter flattens the first lobe of the (sine v)/v spectrum but does not
suppress the lobes that occur at frequencies higher than the clock rate. Because you are
testing with a noise bandwidth five times the bit rate, the shift clock rate is 10 times
the bit rate. The equipment under test significantly attenuates the higher frequencies in
the noise. Other applications might require a tunable lowpass filter to remove the noise
above the clock frequency.
If the high-frequency lobes are present in the output, measuring the noise amplitude
with an rms meter can give misleading results. However, you can easily calculate the
effective output noise power from the known output from each DAC. You can rely on the
inherent accuracy of the noise generator in routine measurements, but it is wise to check
it from time to time with a spectrum analyzer. Generating noise tunable to 100 MHz
requires expensive ECL parts, fast DACs, and skill in laying out high-frequency circuits.
If you need, say, 10-MHz noise, you can use common TTL parts and cheap DACs. You can
implement the shift registers and FIR filters as an FPGA, yielding a more accurate noise
generator than any current commercial generator. You could tune this generator down to
zero frequency, and it could be cheaper than today's fixed-bandwidth units (Reference 6).
- Wolaver, Dan, and James Hanlent, "Ensure the accuracy of bit-error-rate
tests," Electronic Design, May 9, 1991.
- Carlson, JR, "Specifying and evaluating PCM bit synchronizers," Proceedings of
the European Telemetry Conference, 1990.
- Napier, Tom, "Noise testing sets pitfalls for the unwary," EDN, June 24, 1993,
pg 129.
- Davies, Antony C, "Properties of waveforms obtained by nonrecursive digital
filtering of pseudorandom binary sequences," IEEE Transactions on Computers, Volume
C-20, No. 3, March 1971.
- Napier, TM, and RA Peloso, "A predictable performance wideband noise
generator," The Proceedings of the International Telemetering Conference, 1990.
- "Digital Gaussian white-noise-generation system and method of use," US Patent
No. 5,057,795, 1991.
|