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