Analog Angle Blog

Can Adding Noise Actually Improve System Performance?

Noise in its various guises is an always-present concern for most design efforts. This noise can appear in various forms: it can be in a data link; in a front-end component used to amplify an analog signal or detect a digital one; on power rails where it affects overall circuit performance, or it can radiate into the circuitry from nearby external sources, to cite just a few examples. Even if noise is not an immediate problem, it’s like gravity: it’s always there, coloring the design approach and execution either explicitly or implicitly. As a senior engineer made clear to me many years ago: if there was no electrical noise anywhere at all, the entire design process would be far, far easier in so many ways.

That’s why even the thought of deliberately adding noise to a signal of interest seems counterproductive at best, and possibly even ridiculous. Well, think again: if done right, it’s actually a way to increase resolution of an A/D converter without hardware cost. (Of course, there is no “free lunch” in these things, and there is a well-defined system cost which we’ll explain later.)

The idea is simple: add a small amount random noise to the signal being digitized; this is also called adding “dither.” Of course, not just any handy noise will do: analog white noise or digital pseudorandom are used (Figure 1 ). Then, use statistical analysis of the dithered conversion results, and assess what proportion of these conversion results fall on either side of the conversion threshold. By doing so, you can get another bit or even two of converter resolution (References 1 and 2 provides analysis and details on how this approach works), even though it is somewhat counterintuitive.

Figure 1

The noise added to the input of the A/D converter can be generated by an analog noise circuit or a digital random-noise generator. (Image source: Analog Devices)

The noise added to the input of the A/D converter can be generated by an analog noise circuit or a digital random-noise generator. (Image source: Analog Devices)

There are subtleties and implications for differential nonlinearity (DNL) which they also discuss. Injecting out-of-band dither can improve spurious dynamic range (SFDR) (Figure 2 ).

Figure 2

Adding the random noise can also improve SFDR, as shown by these DNL plots for the Analog Devices AD6645 converter, without (left) and with (right) dither. (Image source: Analog Devices)

Adding the random noise can also improve SFDR, as shown by these DNL plots for the Analog Devices AD6645 converter, without (left) and with (right) dither. (Image source: Analog Devices)

So, what about the cost? The cost is obvious: more conversion cycles are needed. Depending on the increase in apparent resolution for which you are striving for, the oversampling can be at two, four, or even eight times the nominal. Plus, the number-crunching of the many conversion results consumes processor resources.

But if you have a basic low/moderate speed A/D converter that has unused time between conversions – such as one doing temperature readings only every few seconds – and a processor which is also under-utilized, this may be a viable approach. Yes, there may be a slight increase in power consumption, but there’s no incremental hardware cost. That may be an acceptable tradeoff in some situations (or when you need that increased resolution only when the signal reaches a zone of interest).

Interestingly, there is a mechanical analog to this electrical dithering which used in hydraulic-power systems, where fluid pressure is used to control the position of as servo valve. Systems which need high-precision positioning along with small amounts of movement are degraded by static friction – better known as stiction. The result is that the valve does not move until the applied pressure crosses some small threshold and then it moves as directed, so response is sluggish at first. That initial “jerk” affects system accuracy and low-speed, low-level performance.

What servohydraulic engineers do is deliberately introduce a small amount of dither on the idle servovalve loop. It’s analogous to imposing a small AC signal on a static DC level. The challenge is to put just enough dither on the servovalve to keep it quivering back and forth, but not so much that it degrades overall accuracy. Some advanced systems dynamically adjust the dither level during use, turning it higher when the valve is static, then turning it down as the directed valve motion begins.

So the next time a fellow engineer tells you about all the difficulties that noise in its various manifestations is causing for so many aspects of the system design, just pose this question: do you think noise is ever beneficial? That will take his or her mind off their immediate concerns – at least for a while, anyway.

What Analog’s ‘Imperfections’ Taught Me

What Does Your Noise Nemesis Look Like?

RF Shielding: All or Nothing at All?

External References

2 comments on “Can Adding Noise Actually Improve System Performance?

  1. vbiancomano
    August 5, 2018

    Apart from the discussion of how to use noise to advantage, it always struck me odd that engineers by and large, myself included, report that the reconstructed analog output of a digitally encoded voice signal (e.g., PCM) actually sounds better than the analog source input! All this without knowingly performing any tricks with circuitry. Perception, or reality? Either way, what happens here?

  2. GSKrasle
    August 6, 2018

    I have seen a lot of applications of “noise” (as in “dithering”) to improve performance; it's something that is (unfortunately) not covered in curricula where frictionless vacuums are “ideal” and usable ways to deal with the real world are deferred to those (unnecessarily) painful learning experiences we all suffer when first we leave the ivory towers.

    In image-processing, especially compression, dithering conceals edges introduced when dynamic range or resolution is reduced. But I use it all the time to increase ADC resolution, especially in oscilloscopes, where 8-bits is usual, with 10-bits only seldom available. Obviously, that limits the number of steps available, so it is only natural to invoke the built-in averaging function to seek more resolution. That often works, but not when you have a beautiful smooth NOISELESS signal. Adding noise, so that when the REAL signal is half-way between steps it gives half-density to each of the adjacent steps (or at least equally-distributed among steps on either side) would be ideal, but what kind of noise gives that result? Well, a sawtooth or triangle does, and is easy to subtract- or filter-out if necessary. A sine is pretty good, and even easier to remove. 

    A a good example of MECHANICAL dithering (to overcome stiction, like the case mentioned in the article) applies to d'Arsonval and similar meters: either pulses are introduced into the signal itself or through a separate mechanism (vibrator). This takes the place of the user tapping the meter to make sure it doesn't stick.  

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.