Image

Well-Controlled Audio-Band Noise Source Uses Basic Microcontroller Filtering

Dec. 3, 2013
A standard PSoC can be configured to provide a linear feedback shift register, which is turn can be provide a digital pseudo-random sequence which, with appropriate filtering, yields white-noise source covering the audio band.

A white-noise source can be constructed based on the random noise of a Zener diode or reverse-biased base-emitter junction. While these circuits work, they are temperature sensitive and not predictably calibrated.

Related Articles

Another approach is to use a pseudorandom sequence (PRS) generator that, when filtered, yields a noise with characteristics that is flat in frequency, Gaussian in amplitude distribution, and as stable in amplitude as the reference that is used. The noise source, including PRS, filter, and driver, can be implemented entirely within a programmable system-on-chip (PSoC) device (Fig. 1).

1. The basic pseudorandom noise generator based on a linear feedback shift register is simple, but an effective circuit requires attention to filtering and parameter settings.

The PRS is derived from a modular linear feedback shift register (LFSR) with the output fed back to specific taps that are XORed with the data stream. The tap values are available from a variety of sources, including the PSoC device’s own design software. The PRS generator in the PSoC is a modular design available in bit lengths from 2 to 32.

The bit-stream output is a digital signal that is converted to analog noise with a filter. A sync pulse is available, triggering once per sequence (Fig. 2). The bit-stream output of the PRS repeats every 2n-1 clock pulses. For a 1.0-MHz clock, a 16-bit PRS repeats its pattern every 65 ms. If the system is slow and repeating patterns might interfere, just use a longer sequence. A 32-bit sequence yields a repeat pattern at 1.19 hours.

2. With proper filtering, the pseudorandom noise generator digital output waveform is converted into a close representation of an analog noise pattern.

The bit-stream digital output can connect directly to the input of an on-chip, switched-capacitor, low-pass filter. This yields a signal that is proportional to the supply voltage. A supply-independent source can be generated by setting the filter input to a reference, then connecting the PRS bit stream to the filter’s modulator input. This multiplies the reference fed to the filter by +1 or –1 and provides an amplitude-stable source.

The analog noise output and the bit  stream are synchronized as shown in the waveforms of Figure 2. The bit-stream amplitude is constant and doesn’t look very Gaussian because it is always driven to the supply rails. Making the signal Gaussian requires limiting the bandwidth and keeping the output from hitting the rails. This can be accomplished by setting the filter corner frequency at less than 5% of the PRS clock rate. This implementation is a white-noise generator with a bandwidth of 20 kHz, sampled at 1.0 MHz.

Figure 3 shows the noise spectra. (See Listing 1 in the spreadsheet available here for the raw file for the spectra in Figure 3.) The PRS noise (red trace) has a sin(x)/x shape with the first null at the sample rate. The filtered output noise (blue trace) is as flat in the band as the 20-kHz filter allows. The finished noise source has an observed noise output of about 1.5 V p-p and measured amplitude of 275 mV rms.

3. The frequency spectrum of the filtered noise shows how closely it mimics a true random signal, within defined limits.

Small clock spurs occur at some sub-multiples of the clock rate, but they are easily filtered out with an external single-pole low-pass RC filter. Higher corner frequencies can be achieved by reducing the over-sample ratio and increasing the clock rates. The practical corner-frequency limits for a PSoC low-pass filter are 300 Hz to 120 kHz.

Dennis Seguine is a member of the technical staff at Cypress Semiconductor Corp. He has been an applications engineer for Cypress Semiconductor since 2000, following many years of analog, embedded system, and software design for the underwater, instrumentation, and medical industries. He can be reached at [email protected].

About the Author

Dennis Seguine | Technical Staff

Dennis Seguine is a member of the technical staff at Cypress Semiconductor Corp. He has been an applications engineer for Cypress Semiconductor since 2000, following many years of analog, embedded system, and software design for the underwater, instrumentation, and medical industries.

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!