128 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 57, NO. 1,JANUARY 2008 An Improved ADC-Error-Correction Scheme Based on a Bayesian Approach Luca De Vito, Linus Michaeli, Member, IEEE, and Sergio Rapuano, Member, IEEE Abstract—The paper presents an improved method for analog- to-digital-converter (ADC) nonlinearity correction based on a Bayesian-filtering approach. In particular, the dependence of a previous method version on the statistical characterization of the input signal has been removed. Now, the method can work on whatever stimulus signal is used without a priori knowledge about it. The proposed improvement has been validated by a numerical simulation using behavioral models provided by an ADC manu- facturer and by an experiment in real ADCs. Index Terms—Analog-to-digital-converter (ADC) correction, Bayes, filtering, nonlinearity, probability density function (pdf). I. I NTRODUCTION N ONLINEARITY-ERROR correction of analog-to-digital converters (ADCs) has been discussed in many papers because of its property of increasing the converter dynamic range. The most important contributions to this research topic can be divided in two main classes [1]. The first one ap- proaches the problem by estimating the errors introduced by the ADC on a set of known input signals. Such errors are collected in a table during the calibration phase and subtracted from the signal, sample by sample, in the operating phase [2]–[4]. The second class achieves the correction by measuring or modeling the converter nonlinearity and by correcting the input using such information [5]–[8]. Once the parameters have been estimated, they are used for the correction by means of a real-time processing. The first-class methods have lower hardware requirements because they just need a memory access and a subtraction, but they need a long and hard calibration procedure. In fact, several papers can be found proposing effective methods [2] or suitable signals [3], [4] for fast and accurate calibration. The methods from the second class, instead, are a little more complex in the correction phase, requiring a digital-signal- processing hardware, but they need an easier calibration. In par- ticular, the method based on a Bayesian filtering proposed in [8] showed good results both with simple signals, such as sine or triangular waves, and with telecommunication signals [9]. The Manuscript received July 15, 2005; revised December 21, 2006. L. De Vito is with the Department of Engineering, University of Sannio, 82100 Benevento, Italy, and also with the Telsey Telecommunications S.p.A., Benevento Research Laboratory, 82018 San Giorgio del Sannio (BN), Italy (e-mail: devito@unisannio.it). L. Michaeli is with the Department of Electronics and Telecommunica- tions, Technical University of Ko˘ sice, SK-04120 Ko˘ sice, Slovakia (e-mail: linus.michaeli@tuke.sk). S. Rapuano is with the Department of Engineering, University of Sannio, 82100 Benevento, Italy (e-mail: rapuano@unisannio.it). Digital Object Identifier 10.1109/TIM.2007.908621 Fig. 1. ADC-correction scheme. most relevant drawback of this method is the need for a priori knowledge of the probability density function (pdf) of the input signal. This is a limitation for the application of this method in fields where no information about the signal is available, such as in general-purpose instrumentation for signal analysis. In this paper, after a brief description of the method proposed in [8], a new formulation is presented. The new approach allows the removal of the necessity of a complete statistic characterization of the input signal. Finally, the results of the tests in a simulation and the first experimental investigations on a real ADC are shown. II. BAYESIAN CORRECTION METHOD The method in [8] is based on the ADC model shown in Fig. 1. The converter is modeled as an ideal quantizer followed by a digital-domain nonlinearity. Let x indicate the input signal and n and k the codes before and after the nonlinearity, respec- tively. According to the ideal quantizing procedure n =[x/Q], where [.] denotes the rounding to the nearest integer, and Q is the ideal code-bin width. An estimate of the original code n can be found by knowing the distorted code k as follows: ˆ n = E{n|k} = 2 N -1 n=0 n · p n|k (n|k) (1) where N is the number of bits of the converter, E{.} is the expected value operator, and p n|k (n|k) is the conditional probability of n, given k. Such probability has been derived using the Bayes theorem as in p n|k (n|k)= p k|n (k|n) p n (n) p k (k) . (2) In [8], the conditional probability p k|n (k|n) is obtained from the transition levels estimated in the calibration phase by means of a sine-wave histogram test [10]. The probability mass function p k (k) of the actual code k could be estimated using 0018-9456/$25.00 © 2008 IEEE