]> Noise Shaping As Error Correction

Analog Design

Kevin Aylward B.Sc.

Noise Shaping

As

Error Correction


Back to Contents

Overview

The purpose of this paper is to provide a clearer, “light bulb switches on” explanation of the process that is usually referred to as “Noise Shaping”.  The name is a bit of an unfortunate misnomer as “noise” usually refers to random disturbances not deterministic errors that are inherent in quantising a signal. That is, the output error for any input is a strict deterministic function of its input.  Typically this concept is introduced by way of Delta-Sigma converters, where upon much confusion invariable abounds as to the true nature of how “noise shaping”, or more exactly distortion/error shaping actually “works”. The usually approach is to “explain” the process purely in the frequency domain, such that how actual voltages/currents are becoming more linear is all cloaked in darkness with a bit of a nod and a wink.

The crux of the matter is that noise shaping is actually error correction, and this process is not dependant on any concept of oversampling or restricted to Sigma-Delta converters. A Delta-Sigma converter simply has the ability to implement this error correction method in a simple way.


Analysis

A typical error correction scheme is shown in Fig.1

Fig.1

Fig.1 represents a nominal unity gain buffer that has distortion resulting from some non-linearity of its instantaneous input to output transfer voltage function, via F(v(t)). The idea here is that if the difference between the buffer’s output and its input could be taken and then added to the buffer’s output, then the final output would be error/distortion free. This technique is a “feed-forward” method that is sometimes used in R.F design, where it is difficult to take advantage of negative feedback due to stability issues.

Now suppose that instead of being able to access the current error due to circuit design considerations, the last sampled error was available instead. For low frequency/low slew rate voltages tending to DC conditions, the last error would tend to be the same as the following error, therefore subtracting a delayed error would still also tend to cancel the current error. Clearly as frequency went higher, the error would be less and less cancelled. Fig.2 represents such a configuration.

Fig.2

That is:

V o (t)= V i (t)+ε(t)ε(t t d ) MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOvamaaBaaaleaacaWGVbaabeaakiaacIcacaWG0bGaaiykaiabg2da9iaadAfadaWgaaWcbaGaamyAaaqabaGccaGGOaGaamiDaiaacMcacqGHRaWkcqaH1oqzcaGGOaGaamiDaiaacMcacqGHsislcqaH1oqzcaGGOaGaamiDaiabgkHiTiaadshadaWgaaWcbaGaamizaaqabaGccaGGPaaaaa@4C59@

The usual simplified way to analyse this type of instantaneous difference equation is to assume small signal conditions, i.e. low non-linearity, and take Z transforms. To wit:

V ¯ o (z)= V ¯ i (z)+ ε ¯ (z) ε ¯ (z) z 1 MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGabmOvayaaraWaaSbaaSqaaiaad+gaaeqaaOGaaiikaiaadQhacaGGPaGaeyypa0JabmOvayaaraWaaSbaaSqaaiaadMgaaeqaaOGaaiikaiaadQhacaGGPaGaey4kaSIafqyTduMbaebacaGGOaGaamOEaiaacMcacqGHsislcuaH1oqzgaqeaiaacIcacaWG6bGaaiykaiaadQhadaahaaWcbeqaaiabgkHiTiaaigdaaaaaaa@4CA0@

V ¯ o (z)= V ¯ i (z)+ ε ¯ (z)(1 z 1 ) MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGabmOvayaaraWaaSbaaSqaaiaad+gaaeqaaOGaaiikaiaadQhacaGGPaGaeyypa0JabmOvayaaraWaaSbaaSqaaiaadMgaaeqaaOGaaiikaiaadQhacaGGPaGaey4kaSIafqyTduMbaebacaGGOaGaamOEaiaacMcacaGGOaGaaGymaiabgkHiTiaadQhadaahaaWcbeqaaiabgkHiTiaaigdaaaGccaGGPaaaaa@4AA7@

Which is the usual expression popping up in Delta-Sigma analysis.

Letting z= e iωt MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOEaiabg2da9iaadwgadaahaaWcbeqaaiaadMgacqaHjpWDcaWG0baaaaaa@3CB5@ , i.e. looking at the frequency response, shows that as ω1 MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqyYdCNaeyOKH4QaaGymaaaa@3A5A@  the ε ¯ (z) MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGafqyTduMbaebacaGGOaGaamOEaiaacMcaaaa@39FC@  product term 0 MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyOKH4QaaGimaaaa@388C@

Clearly if the error term had a power exponent, the error term would go to zero faster i.e. 0.54 is smaller than 0.5 (ignoring the technicality of complex numbers). So, if the error correction results were:

V ¯ o (z)= V ¯ i (z)+ ε ¯ (z) (1 z 1 ) n MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGabmOvayaaraWaaSbaaSqaaiaad+gaaeqaaOGaaiikaiaadQhacaGGPaGaeyypa0JabmOvayaaraWaaSbaaSqaaiaadMgaaeqaaOGaaiikaiaadQhacaGGPaGaey4kaSIafqyTduMbaebacaGGOaGaamOEaiaacMcacaGGOaGaaGymaiabgkHiTiaadQhadaahaaWcbeqaaiabgkHiTiaaigdaaaGccaGGPaWaaWbaaSqabeaacaWGUbaaaaaa@4BC7@

Errors at frequencies away from zero would be more attenuated for larger n.

Expanding the error term by the binomial theorem, for example, would give the following for n=3

V ¯ o (z)= V ¯ i (z)+ ε ¯ (z)(13 z 1 +3 z 2 z 3 ) MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGabmOvayaaraWaaSbaaSqaaiaad+gaaeqaaOGaaiikaiaadQhacaGGPaGaeyypa0JabmOvayaaraWaaSbaaSqaaiaadMgaaeqaaOGaaiikaiaadQhacaGGPaGaey4kaSIafqyTduMbaebacaGGOaGaamOEaiaacMcacaGGOaGaaGymaiabgkHiTiaaiodacaWG6bWaaWbaaSqabeaacqGHsislcaaIXaaaaOGaey4kaSIaaG4maiaadQhadaahaaWcbeqaaiabgkHiTiaaikdaaaGccqGHsislcaWG6bWaaWbaaSqabeaacqGHsislcaaIZaaaaOGaaiykaaaa@53AF@

This represents summing up weighted values of successive past values of errors.

“Noise shaping”, i.e. noise becoming lower at low frequencies and higher at higher frequencies, can thus be seen as the inevitable consequence of error correction by adding and subtracting the (optimum) values of past errors. Correction by using prior error values is clearly less effective the further away in time that those values were taken. This means that faster signals will inevitable result is in larger errors. At high enough frequencies the added correction signal will be so far off that high frequency errors (noise) will be larger than without the added correction.

However, a somewhat more convincing approach than the frequency domain is to analyse in the real universe, i.e. in the voltage time domain. Assume that the distortion is a sinusoidal error:

  ε(t)= ε pk sin( ω e t) E(t)=ε(t)ε(t t d ) E(t)= ε pk (sin( ω e t)sin( ω e (t t d ))) E(t)= ε pk (sin( ω e t)(sin( ω e t)cos( ω e t d )sin( ω e t d )cos( ω e t)) E(t)= ε pk ((1cos( ω e t d ))sin( ω e t)sin( ω e t d )cos( ω e t)) MathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGceaqabeaacqaH1oqzcaGGOaGaamiDaiaacMcacqGH9aqpcqaH1oqzdaWgaaWcbaGaamiCaiaadUgaaeqaaOGaci4CaiaacMgacaGGUbGaaiikaiabeM8a3naaBaaaleaacaWGLbaabeaakiaadshacaGGPaaabaGaamyraiaacIcacaWG0bGaaiykaiabg2da9iabew7aLjaacIcacaWG0bGaaiykaiabgkHiTiabew7aLjaacIcacaWG0bGaeyOeI0IaamiDamaaBaaaleaacaWGKbaabeaakiaacMcaaeaacaWGfbGaaiikaiaadshacaGGPaGaeyypa0JaeqyTdu2aaSbaaSqaaiaadchacaWGRbaabeaakiaacIcaciGGZbGaaiyAaiaac6gacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDaiaacMcacqGHsislciGGZbGaaiyAaiaac6gacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaaiikaiaadshacqGHsislcaWG0bWaaSbaaSqaaiaadsgaaeqaaOGaaiykaiaacMcacaGGPaaabaGaamyraiaacIcacaWG0bGaaiykaiabg2da9iabew7aLnaaBaaaleaacaWGWbGaam4AaaqabaGccaGGOaGaci4CaiaacMgacaGGUbGaaiikaiabeM8a3naaBaaaleaacaWGLbaabeaakiaadshacaGGPaGaeyOeI0IaaiikaiGacohacaGGPbGaaiOBaiaacIcacqaHjpWDdaWgaaWcbaGaamyzaaqabaGccaWG0bGaaiykaiGacogacaGGVbGaai4CaiaacIcacqaHjpWDdaWgaaWcbaGaamyzaaqabaGccaWG0bWaaSbaaSqaaiaadsgaaeqaaOGaaiykaiabgkHiTiGacohacaGGPbGaaiOBaiaacIcacqaHjpWDdaWgaaWcbaGaamyzaaqabaGccaWG0bWaaSbaaSqaaiaadsgaaeqaaOGaaiykaiGacogacaGGVbGaai4CaiaacIcacqaHjpWDdaWgaaWcbaGaamyzaaqabaGccaWG0bGaaiykaiaacMcaaeaacaWGfbGaaiikaiaadshacaGGPaGaeyypa0JaeqyTdu2aaSbaaSqaaiaadchacaWGRbaabeaakiaacIcacaGGOaGaaGymaiabgkHiTiGacogacaGGVbGaai4CaiaacIcacqaHjpWDdaWgaaWcbaGaamyzaaqabaGccaWG0bWaaSbaaSqaaiaadsgaaeqaaOGaaiykaiaacMcaciGGZbGaaiyAaiaac6gacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDaiaacMcacqGHsislciGGZbGaaiyAaiaac6gacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDamaaBaaaleaacaWGKbaabeaakiaacMcaciGGJbGaai4BaiaacohacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDaiaacMcacaGGPaaaaaa@DBA7@

Which represents a sum of quadrature signals, where the squared magnitude may be calculated as:

E(t)= ε pk ((1cos( ω e t d ))sin( ω e t)sin( ω e t d )cos( ω e t)) E 2 (t)= ε pk 2 ((1cos( ω e t d )(1cos( ω e t d ))+ sin 2 ( ω e t d )) E 2 (t)=2 ε pk 2 (1cos( ω e t d )) MathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGceaqabeaacaWGfbGaaiikaiaadshacaGGPaGaeyypa0JaeqyTdu2aaSbaaSqaaiaadchacaWGRbaabeaakiaacIcacaGGOaGaaGymaiabgkHiTiGacogacaGGVbGaai4CaiaacIcacqaHjpWDdaWgaaWcbaGaamyzaaqabaGccaWG0bWaaSbaaSqaaiaadsgaaeqaaOGaaiykaiaacMcaciGGZbGaaiyAaiaac6gacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDaiaacMcacqGHsislciGGZbGaaiyAaiaac6gacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDamaaBaaaleaacaWGKbaabeaakiaacMcaciGGJbGaai4BaiaacohacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDaiaacMcacaGGPaaabaGaamyramaaCaaaleqabaGaaGOmaaaakiaacIcacaWG0bGaaiykaiabg2da9iabew7aLnaaBaaaleaacaWGWbGaam4AaaqabaGcdaahaaWcbeqaaiaaikdaaaGccaGGOaGaaiikaiaaigdacqGHsislciGGJbGaai4BaiaacohacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDamaaBaaaleaacaWGKbaabeaakiaacMcacaGGOaGaaGymaiabgkHiTiGacogacaGGVbGaai4CaiaacIcacqaHjpWDdaWgaaWcbaGaamyzaaqabaGccaWG0bWaaSbaaSqaaiaadsgaaeqaaOGaaiykaiaacMcacqGHRaWkciGGZbGaaiyAaiaac6gadaahaaWcbeqaaiaaikdaaaGccaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDamaaBaaaleaacaWGKbaabeaakiaacMcacaGGPaaabaGaamyramaaCaaaleqabaGaaGOmaaaakiaacIcacaWG0bGaaiykaiabg2da9iaaikdacqaH1oqzdaWgaaWcbaGaamiCaiaadUgaaeqaaOWaaWbaaSqabeaacaaIYaaaaOGaaiikaiaaigdacqGHsislciGGJbGaai4BaiaacohacaGGOaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDamaaBaaaleaacaWGKbaabeaakiaacMcacaGGPaaaaaa@AA44@

Which has a normalised plot of ω e t d MathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqyYdC3aaSbaaSqaaiaadwgaaeqaaOGaamiDamaaBaaaleaacaWGKbaabeaaaaa@3ADF@ :

Showing the usual shaped noise power spectrum.

So…, the design problem is how can the appropriate error topology be constructed?

Low and behold, somewhat conveniently, feeding back signals as in a 1st order Delta-Sigma converter produces exactly the same equation as the 1st order feed-forward error correction topology shown above. Well, that was a surprise…


Other Noise Shaping Systems

The ADC design problem for noise shaping/error correction is that a DAC is typically required to enable the ADC output to be subtracted from its input in order to calculate the error. Fortunately, for the SAR (successive approximation register) ADC, there is already a feedback DAC by design. This DAC may be modified to effect error subtractions. Ref. 1 describes such a noise shaped ADC.


Summary

Noise shaping is seen to be in actuality, error correction by subtraction of prior errors, where it is noted that prior errors sufficiently close in time to current samples, are almost the same as current sample errors. Whilst oversampling may increase the reduction effect of this error correction, oversampling is not a requirement for noise shaping.


References

1 “A 90-MS/s 11-MHz-Bandwidth 62-dB SNDR Noise Shaping SAR ADC” MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaacbaqcLbyaqaaaaaaaaaWdbiaa=nbiaaa@37B1@  Jeffrey A Fredenburg, Michael P. Flynn” MathType@MTEF@5@5@+=feaagCart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqiVv0Je9sqqrpepC0xbbL8F4rqaqFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaacbaqcLbyaqaaaaaaaaaWdbiaa=nbiaaa@37B1@  IEEE Journal Of Solid-State Circuits, December 2012, Volume 47, Number 12.

2 DistortionFeedback.xht

3 SigmaDelta.xht


© Kevin Aylward 2013-2015

All rights reserved

The information on the page may be reproduced

providing that this source is acknowledged.

Website last modified 21st April 2015

www.kevinaylward.co.uk