Random noise test of analog-to-digital converters

The random noise test of analog to digital converters recommended by the IEEE 1057 Standard for digitizing waveform recorders is studied. The heuristically derived expression presented for the estimation of the random noise standard deviation is experimentally validated. The standard suggests a triangular stimulus signal. Here we will show how to use a sinusoidal stimulus signal to carry out the test. The influence of stimulus signal offset and amplitude on the estimation error is also analyzed and an expression is presented to compute the minimum amplitude value that guarantees an upper bound on the estimator bias.


INTRODUCTION
The standard deviation of the random noise present in an analog to digital converter (ADC) is an important parameter used to describe the performance of ADCs and to choose the proper ADC to use in a given application. The knowledge of the noise standard deviation in a test setup is also needed when performing other ADC tests, namely the Standard Static Test [1], [2] and the Standard Histogram Test [3]- [11]; the Small Waves Histogram Test [12]- [16]; the Sinefitting Test [17]- [23] and the Jitter Test; [24]- [26] for the determination of the error; and precision of the ADC parameters estimated with them. In some cases, random noise is used, with great advantage, as a stimulus signal [27].
The issue of quantifying the uncertainty of the estimates of ADC characteristics does not concern only the tests recommended in the IEEE 1057 standard but are common to all ADC tests, like the ones in the IEC 62008 standard [28]- [29], and the IEEE 1241_2000 standard [30], for example.
In [31] an analysis off the precision of the estimates obtained with this test has been carried out. There, an expression for the minimum number of samples required to guarantee a certain bound on the uncertainty of the results, was presented. This is important in order to minimize the duration of the test because the exact number of samples required can be calculated.
The presence of phase noise in the stimulus signal generator as well as jitter in the sampling instants also affect electronic systems in general and are important to quantify [1], [31] [34]. The test, as described in [1], section 8.6.2, consists in synchronously acquiring two sets of a certain number of samples ( ). The noise standard deviation ( ) is then estimated from the root mean square of the difference between the output codes of those two sets (mse -mean square error). If the noise standard deviation is high enough, a null input voltage is sufficient to perform the test, if not, a triangular stimulus signal should be used.
In section 3, the error in the estimation of the random noise standard deviation due to the use of the heuristically derived estimator recommended in the IEEE standard is analyzed. In section 4 we show how to use a sinusoidal stimulus signal instead of a triangular shaped one. A study about the influence of the stimulus signal amplitude and offset on the estimation of the random noise standard deviation is then presented. This will allow the derivation of an expression for the minimum value of stimulus signal amplitude that guarantees an upper bound on the random noise estimator bias. An expression that allows the exact computation of the random noise standard deviation when necessary is going to be presented. This approach is computationally intensive and not appropriate for hand computation but can be easily implemented in a computer if necessary.
its frequency spectrum and statistical properties. It is usually considered that the noise present is white (flat frequency spectrum), with a stationary probability density function. Also, it considered that the noise is additive and independent of the stimulus signal.
Due to the presence of random noise at the ADC input, the output code ( ) can be considered a discrete random variable which can assume any value between 0 and 2 − 1 for a -bit ADC.
When the additive noise standard deviation is higher than the ADC ideal code bin width ( ) the suggested method in [1] is to short circuit the ADC input and acquire two sets of samples ( and ) and subtract the codes obtained. This eliminates fixed errors of the ADC but preserves the random nature of the output codes.
Considering that the additive noise present has a null mean (a non-null value would be accounted as an offset error), the average of the output codes will also be null. Therefore, the mean square error ( ) is just: The mean square error obtained is twice the variance of each set since they are independent of each other. According to [20] the expected value of the mean square error determined by (1) is twice the variance of the output codes: Taken this into account, and considering that the variance of the output codes is equal to that of the additive noise, the estimated variance of the latter is just where is the normalized noise standard deviation = / . However, this only works when the additive noise standard deviation is higher than the ADC ideal code bin width as we will show next.
It is chosen here to use normalized voltages, expressed in LSB (least significant bits) units, by dividing the voltages with the ideal ADC code bin width . The normalized stimulus signal voltage is represented by and the normalized random noise voltage is represented by . The normalized sampled voltage at instant is thus given by Considering that the normalized additive noise has a null mean and a standard deviation represented by , we have for the sampled voltage, which is also a random variable: Being the additive noise normally distributed, the sampled voltage probability density function is and its distribution function is Due to the subtraction of the codes obtained with the two sample sets in (1), we can consider the ADC as having an ideal behavior since any fixed errors were eliminated by the subtraction and random errors can be considered as being present in the stimulus signal input.
The probability of a sample having output code is equal to the probability of the sampled voltage being equal to or lower than the transition voltage [ + 1] and equal to or greater than and for the last code we have The probability can thus be expressed with the help of the sampled voltage distribution function: In Figure 1, the noise probability function and the probability of occurring code (shaded area) is represented.
The mean, second moment and variance of the output codes are, by definition [20]: In Figure 2 the standard deviation of as a function of the noise standard deviation for two different values of stimulus signal is represented. It was calculated using (7), (11) and (12).
For values of noise standard deviation much greater than the ideal code bin width ( ≫ 1), the standard deviation of the output codes is the same as the standard deviation of noise (not clearly seen in Figure 2 because the horizontal axis only goes to 1 LSB). This corresponds to the case → 0. In these circumstances the discrete variable becomes a continuous variable whose probability density function tends to the probability density function of noise.
In this case the test can be used to estimate the noise standard deviation: In the opposite situation, when the noise standard deviation is lower than 1 LSB ( < 1), it can be observed in Figure 2 that is not equal to anymore, becoming even independent of when it goes to 0 (the curve becomes horizontal). This makes it impossible to estimate the noise standard deviation from the output code's standard deviation.
With the goal of justifying the analytical expression presented in [1] for the relation between and we are going to analyze the case ≪ 1. In Figure 3 it can be seen the case where only two output codes, − 1 and , have a significant probability of occurring for any value of stimulus signal.
The index of the transition voltage closest to determines the value of and consequently which two codes occur for that particular value of . Since the normalized transition voltages are integer values (considering an ADC transfer function with no true zero), the difference [ ] − will always be between -0.5 and 0.5: where ⌊ ⌋ represents the highest integer lower than . The probability that the output code of a sample is − 1 is Because we are considering the case where the probability density function of the sampled voltage is negligible for voltages lower than [ − 1], we can write The probability of occurring code is obviously since we considered that only codes and − 1 could occur. The mean of the output codes is thus and the variance From (7) and (16) this variance can be written as which can be rewritten as This conditional variance is represented in Figure 4 as a function of the DC input voltage. Note that this function is periodic because the transition voltage [ ] in [21] is the closest to , and has a period of 1 because the voltage is normalized to the ideal code bin width ( ).
To justify the values of code standard deviation in the absence of noise ( → 0) consider the following two situations. First the DC input voltage is equal to one of the transition voltages ( [ ]), as represented in Figure 5a.
Half of the represented curve is to the left of the transition voltage and the other to the right. The probability of having code − 1 is equal to the probability of having code (50%) so the variance is 1/4 and the standard deviation is 1/2 as seen by the dashed line in Figure 2 for ≪ 1. In Figure 5b, the case where  the DC input voltage is exactly between two consecutive transition voltages is represented. When the noise standard deviation goes to 0, the probability of having code is 1, so the standard deviation is 0 (solid line in Figure 2). For intermediate cases the curve is between the two lines in Figure 2.
In conclusion, the use of a DC input signal is not appropriate when estimating small values of additive noise because the output codes of the acquired samples do not vary enough to make their standard deviation directly related to the additive noise standard deviation, as stated in [1].

TRIANGULAR STIMULUS SIGNAL
To overcome the problem referred in the previous section, the IEEE standard [1] suggests the use of a triangular stimulus signal that spans several ADC codes (about 10). Due to the subtraction of the codes obtained from the two sets of samples, the mean square error is still twice that of the additive noise if the sets are acquired synchronously in order for the samples of both sets to have the same phase.
The variance of the output codes can be calculated from the amplitude distribution, , of the stimulus signal [20].
For a triangular stimulus signal, with an amplitude and an offset , normalized by the ideal code bin width ( = / and = / ) the amplitude distribution is The output codes variance is thus Inserting (21) leads to The corresponding standard deviation is represented in Figure 6 by a solid line.
Equation (24) states that the variance 2 is the average of the curve in Figure 4, which is the representation of (21), in an interval with length 2 centered at .

Low Noise Approximation
The integral in (24) does not have a closed form. We can, however, obtain an approximated expression. To achieve that we look into the case where we have a small value of noise standard deviation. In this situation the individual bell-shaped curves in Figure 4 do not overlap each other. Furthermore, when goes to  the result of (24) is the same as integrating the curve in Figure 4 from −1 to 1. In this case the result in the value of (24) is independent on the triangular wave offset . Mathematically this statement can be expressed as Using (21) we can write This integral can be numerically calculated leading to a value of √8 π ⁄ . The variance is thus This approximation is represented in Figure 6 by the dasheddot line. It can be seen that, in fact, it approximates the solid thin line for small values of .

High Noise Approximation
We will look now into the case of a noise standard deviation much higher than the ideal code bin width( → ∞). When carrying out the test with a DC stimulus signal with normalized voltage , the variance of conditional to does not depend on the value of and is equal to the random noise variance as stated in (13). In the case of a triangular stimulus signal this leads, from (24), to lim →∞ 2 = 2 .
(29) Figure 5. Representation of the probability density function of noise and the probability of occurring code k − 1 and code k. Figure 6. Representation of the code standard deviation as a function of the additive noise standard deviation (solid line) for a triangular stimulus signal with amplitude Q/2. The dashed and the dot-dashed lines represent the approximation for small and large additive noise standard deviation given by (28) and (29) respectively. The circles represent the uncertainty of the codes standard deviation obtained experimentally. This situation is represented by the dotted line in Figure 6. The goal of the Random Noise Test is to be able to estimate the random noise standard deviation, ̂ from the measured mean square error ( ).

IEEE 1057 Noise Estimator
As we have demonstrated in the previous sections, the expected value of the mean square error is a function of the random noise standard deviation. Combining (28) and (29) From these approximations the IEEE standard [1] presents a heuristically derived expression for the random noise standard deviation estimation: Note that the variables and used in [1] are expressed in volt and squared volt respectively while the variables and used here are dimensionless. The error of the additive noise standard deviation estimation, represented in Figure 7, is given by It can be seen that the error is always smaller, in absolute value, than 0.022 LSB. When → ∞ the error goes to 0. The factor 4 used in (31) is very close to the value of 3.8203 which leads to the optimum approximation for an expression of the kind of (31) and corresponds to the position of the minimum in Figure 8.
We have, so far, showed how the expression for the estimation of the random noise standard deviation from the measured mean square error recommended in the IEEE 1057-94 standard was derived. the remaining of this paper we will go a step further by showing how this test can be carried out with a sinusoidal stimulus signal as well. We will also focus on the influence that the stimulus signal amplitude and offset have on the test results. As we saw in this section, the expression for the random noise estimator was heuristically derived from approximations for which an infinite stimulus signal amplitude is assumed. Furthermore, in the IEEE standard a value of 5 LSB for the stimulus signal amplitude is recommended without any justification. In test conditions where the stimulus signal generator has low accuracy on the wave amplitude and has offset error or the ADC under test has high resolution, it is difficult to have a stimulus signal amplitude exactly equal to 5 LSB. It is thus important to know how different values of stimulus signal amplitude and offset affect the bias of the estimated random noise standard deviation. This will be carried out here for both types of stimulus signal shapes -triangular and sinusoidal. As it will be shown, the higher the amplitude the lower the bias. The goal will be to have an expression that will tell us what should be the minimum value to use in order to guarantee an upper bound on the estimator bias.

SINUSOIDAL STIMULUS SIGNAL
Although the IEEE 1057 standard recommends the use of a triangular wave signal for the cases where the random noise to be measured is small compared to the quantization step, this test can also be carried out with a sine wave as we will show here. Since sine wave generators are more common than triangular wave ones, this will benefit those wanting to measure small values of random noise but without having to look for a triangular wave generator.
The variance of the output codes can be calculated the same way as in the case of triangular wave stimulus, using (22), but with a different amplitude distribution, . For a sine wave, one has [8]: Inputting this into (22) leads to The strategy used in the case of the triangular stimulus signal was to derive two expressions for the asymptotic cases of high and low random noise standard deviation and then heuristically construct an expression for the estimator. As it turns out, those two asymptotic expressions are the same regardless of the stimulus signal shape.
For large values of random noise we concluded earlier that the variance of the output codes is independent of the DC stimulus signal value. Using eq. (13) in (34) leads to  which is the same as the one obtained for the triangular shaped stimulus signal (eq. (29)).
For small values of random noise standard deviation, we made an extra approximation that was to consider an infinite stimulus signal amplitude. The ADC input range will thus only cover the middle of the stimulus signal range. There the sinusoidal shape can be approximated by a straight line which makes it similar to a triangular wave and thus will lead to the same approximation for the output codes variance: It is thus shown that the same heuristically derived expression for the triangular stimulus case, eq. (31), can be employed when using a sinusoidal stimulus signal.

EXPERIMENTAL VALIDATION
A triangular stimulus signal, with amplitude 39.216 mV and frequency 10 Hz, was applied to a 12-bit data acquisition board (Keithley DAS 1601) in the 10 V range and two sets of 10000 samples were acquired at a sampling frequency of 100 kHz. Only the 8 most significant bits were used so that the ADC would present an almost ideal behavior. This was validated by testing the data acquisition board (using all 12 bits) with the Standard Histogram Test and obtaining an integral non-linearity (INL) and differential non-linearity (DNL) lower than 0.5 LSB.
A Stanford DS360 function generator was used to generate the additive noise and a Wavetek 9100 calibrator was used to generate the triangular wave. The data acquisition board used possesses 16 single-ended or 8 differential inputs. It was one of those differential inputs that was used (CH0). The Stanford DS360 function generator was connected between pins 37 ("CH0 HI IN") and 19 ("LL GND") and the Wavetek 9100 calibrator was connected between pins 18 ("CH0 LOW IN") and 19 ("LL GND"). This way the gaussian noise and the triangular wave were added (actually, subtracted) internally.
The results are represented in Figure 6 were a good agreement with the theoretical curve, represented by the thin solid line is observed.

STIMULUS SIGNAL AMPLITUDE
In the previous sections we addressed the problem of determining an estimator for the random noise standard deviation when using a triangular and a sinusoidal stimulus signal.
As observed in equation (24), the code standard deviation depends on the stimulus signal amplitude. This can be verified in Figure 9 where two cases are plotted, one for = 0.5 (dotted line) and another for = 0.75 (solid line). The difference is highest for values of noise standard deviation smaller than 0.5 LSB.
That dependence can be also observed in Figure 10 for two different values of triangular wave offset. The case of null amplitude ( = 0) corresponds to the DC input case represented in Figure 2. The higher the triangular wave amplitude the less influence it has on the output code standard deviation. Whenever the amplitude is a multiple of /2, that is, 2 is integer, the code standard deviation has the same value.
When performing the test to estimate the random noise standard deviation, a value of triangular wave amplitude has to be chosen. This choice will influence the estimated value, however, observing Figure 10, there are some values that seem more advantageous than others, namely the odd multiples of /2 ( = 0.5, 1.5, 2.5, …) because the slope of the curve in those points is smaller making the estimate less sensible to errors in the triangular wave amplitude that in practical conditions are sure to exist. Also, in that case, the output code variance becomes practically independent of the stimulus signal offset. The higher the triangular wave amplitude, the higher will be the additive noise introduced by the function generator (because of its different ranges with higher amplification) making very high values of amplitude not advisable.
The IEEE standard [1] suggests the use of = 5 without explaining the reason. We hope the work presented here sheds some light on the subject. As seen here, a marginally better choice would be, for instance, = 5.5 since the slope of the curve in that point is smaller than at = 5 and consequently the test would be less affected by eventual inaccuracies in the signal amplitude.

CONCLUSIONS
In this paper, the test method proposed by the IEEE 1057 standard [1] to estimate the random noise standard deviation was analyzed in detail. The expression presented there to calculate the additive noise standard deviation from the ADC output codes mean square error is explained here from a different perspective. The influence of both triangular wave amplitude and offset on the estimation error was studied. In Figure 11, the maximum estimation error for different values of triangular stimulus signal amplitude and offset is represented. It can be seen that for small values of amplitude the maximum error depends strongly on the triangular wave offset. The actual error on estimating the noise standard deviation when using the expression presented in [1] is calculated and it was concluded that it was smaller than 2.2% of the ideal ADC code bin width (0.022 LSB). The choice of triangular stimulus amplitude is studied and a justification for the value proposed in [1] is given.
We suggest here that in the case were a triangular or sinusoidal wave generator is not available the test be carried out with a DC stimulus signal, with any value inside the ADC range, and that the noise standard deviation be estimated as being equal to the code root mean square error, divided by 2. If the value obtained is smaller than Q/2 the value used as the noise standard deviation estimative should be Q/2. Of course, the standard deviation could be smaller, but, as shown here, it could not be higher. In summary, we propose, just for the case where a triangular or sine wave generator cannot be used, the following expression for the estimation: Experimental results were presented that validate the approach taken.