Master Program in Electronics/Telecommunications Examiner: Magnus Isaksson
Supervisor: Niclas Björsell
DEPARTMENT OF TECHNOLOGY AND BUILT ENVIRONMENT
Post-Correction of Analog to Digital Converters
Gong, Pu Guo, Hua September 2008
Master’s Thesis in Electronics/Telecommunications
I
Abstract
As the rapid development of the wireless communication system and mobile video devices, the integrated chip with low power consuming and high conversion efficiency is widely needed. ADC and DAC are playing an important role in these applications.
The aim of this thesis is to verify a post-correction method which is used for improving the performance of ADC. First of all, this report introduces the development and present status of ADC, and expatiate its important parameters from two different classes (static performance and dynamic performance). Based on the fundamental principle, the report then focuses on the dynamic integral non-linearity modeling of ADC. Refer to this model, one post-correction method is described and verified.
Upon the face of post-correction, this method is to modify the output signals which have been converted from analog to digital format by adding a correction term.
Improvement made by the post-correction needs to be checked out. Thus the performance analysis mainly relay on the measures of total harmonic distortion and signal to noise and distortion ratio is also included in this thesis.
Key words: analog to digital converter, INL, post-correction.
II
Acknowledgments
First and foremost, we would like to express our deep appreciation to our academic supervisor, Mr. Niclas Björsell, for his invaluable guidance, his kindness, and support throughout our graduate study at the University of Gävle. Without his encouragement and patient support, this work would not have been possible.
We are deeply grateful to our parents, without their endless support, love, prayer, and encouragement, this work could not been completed.
III
List of Acronyms
ADC Analog to Digital Converter DAC Digital to Analog Converter DFT Discrete Fourier Transform DSP Digital-Signal-Process DNL Differential Non-Linearity ENOB Effective Number of Bits FSR Full Scale Range
HCF High-Code Frequency component IC Integrated Chip
INL Integral Non-Linearity
LCF Low-Code Frequency component LSB Least Significant Bit
SINAD Signal to Noise and Distortion Ratio SFDR Spurious Free Dynamic Range SNR Signal to Noise Ratio
THD Total Harmonic Distortion THE Total Harmonic Energy
IV
V
TABLE OF CONTENTS
1
Introduction ... 1
1.1 Background ... 1
1.2 Task ... 2
1.3 Thesis Organization ... 2
2
Theory ... 3
2.1 Offset Error and Gain Error ... 3
2.2 Integral Non-Linearity ... 4
2.3 Differential Non-Linearity ... 8
2.4 Total Harmonic Distortion ... 9
2.5 Spurious Free Dynamic Range ... 10
2.6 Signal to Noise and Distortion Ratio ... 10
2.7 Effective Number of Bits ... 11
3
Method ... 12
3.1 Test Set-up ... 12
3.1.1 Test Set-up of the Measurement on the First ADC ... 12
3.1.2 Test Set-up of the Measurement on the Second ADC ... 13
3.2 Identification of INL Model Parameters ... 14
3.3 Performance Analysis ... 16
3.3.1 Effects of the LCF
INL
... 173.3.2 Total Harmonic Distortion ... 18
3.3.3 Signal to Noise and Distortion Ratio ... 19
4
Results ... 22
4.1 The Spectrum of the Measured Input Signals ... 22
4.2 Identification of INL Model Parameters ... 23
4.2.1 The Weighted Least-Squares Solution ... 24
4.2.2 Un-Weighted Least-Squares Solution ... 26
4.3 Total Harmonic Distortion ... 28
4.4 Signal to Noise and Distortion Ratio ... 29
4.5 Measurement Result on the Second ADC ... 30
5
Conclusion & Future Work ... 31
5.1 Conclusion ... 31
5.2 Future Work ... 31
VI
Reference ... 33
Appendix ... 35
A. MATLAB script based on least-squares solution ... 35
B. MATLAB script based on un-weighted least-squares solution ... 39
C. MATLAB script of THE and THD ... 43
D. MATLAB script of SINAD ... 44
1
1 Introduction
1.1 Background
Nowadays, with the rapid development of electronic technology and widely use of digital processing in telecommunication field, it is common to deal with the analog signals by using electronic systems.
The biggest advantage of using the digital-signal-process (DSP) is that it will be convenient to coding, conversion, analyzing, saving the data; and also have a good noise immunity. Actually, the signals processed by the computer are discrete-time signal, but most signals in the natural world are continuous-time signals, such as sound waves, video signals, and temperature. In order to enter the digital system, the analog signals need to be converted to digital signals after been transferred to electric form. Thus, it is necessary to find some transmitters that are used for communicating with the input analog signals;
these transmitters are called Analog to Digital Converter (ADC).
Figure 1: The function of ADC
It is obviously that ADC becomes more and more important in the modern electronic industry, but it is also the bottle-neck of electronic technology. In the rapid-developing multimedia and wireless communication field, long standby time and low response time are required. Therefore, ADC also needs to have higher conversion speed and lower power consumption in the future [1].
In order to accommodate different signals, “five converter architectures are widely used to perform amplitude quantization: Flash, pipeline, integrating, successive approximation and sigma-delta. Each of these architectures has its own unique
advantages and disadvantages, which should be investigated when determine which ADC best meets an application requirement [2].”
2
1.2 Task
A practical ADC cannot fully provide the performance of an ideal, due to imperfections in the component. Thus, there is a potential for improvements of performance if the effect from the imperfections can be minimized [3]. One way to improve the performance is use post-correction.
This thesis will verify the theoretical results in [4] where a post-correction utilizing dynamic modeling of the integral nonlinearity (INL) is discussed. The verification is carried out with measurements on two different ADCs (AD9430 and AD6645 of Analog Device Corporation) and data analysis on MATLAB. The purpose of post-correction is to improve the performance, thus the measures of performance are also needed. Normally, total harmonic distortion (THD), signal to noise and distortion ratio (SINAD) and spurious free dynamic range (SFDR) are used.
1.3 Thesis Organization
This thesis is organized as follows.
Chapter 2 describes important parameters of ADC.
Chapter 3 shows how the post-correction method is performed.
Chapter 4 presents the results which can prove the method has been expatiated.
Chapter 5 evaluates and discusses the performance of ADC, also devotes to conclusions drawn from the research.
3
2 Theory
Based on the performance parameters of ADC, it can be classified as two main parts, static performance and dynamic performance, respectively. Static performance includes offset error, gain error, INL and differential nonlinearity (DNL). Dynamic performance includes signal to noise ratio (SNR), SINAD, SFDR and effective number of bits (ENOB).
More details will be given to the parameters which are relative to this report.
2.1 Offset Error and Gain Error
Because of the imperfection in design of ADC, the curve shows the relationship between the analog input and the digital output code may shift left or right, this error is defined as offset error (see Figure 2).
The variation of the slope of the curve also causes error; this error is defined as gain error (see Figure 3).
Figure 2: Offset error [5]
4
Figure 3: Gain error [5]
2.2 Integral Non-Linearity
There are two important parameters limit the accuracy of ADCs, INL and DNL, respectively. They represent the linearity of the conversion. Discussion about INL based on the IEEE standards and [4] is presented below.
According to [6], the INL is defined as the difference between the ideal and measured code transition levels after correcting for static gain and offset (As shown in Figure 4).
Figure 4: The relationship between the analog input signal v and the digital output code kfrom an ideal n=3 bits ADC (dashed line) and a practical one (solid line) [4]
5 Within the ADC range (Vmin,
V
max), the expression of the ideal code transition levelsT
k is
)
11
( k T
Q
T
k
, (1)where
Q [Volt] is the ideal width of a code bin.
kis the digital output code.
T1is the ideal voltage corresponding to the first transition level.
For the practical ADC is imperfect, there is a difference between
T
k and the actual code transition levelT [k ]
, and this difference is called INL (after gain and offset correction):Q k k
INL
N
2
] [
% ] 100
[
(2)
or
Q k k
INL [ ]
] [
, (3)
where
OS
k
G T k V
T
k ] [ ]
[
.Gis the gain.
V
OSis the offset.N is the number of bits.
In (2), the INL is expressed as a percentage of the full scale range (FSR). In (3), the INL is expressed in least significant bits (LSBs).
6
Figure 5: Exemplary measured INL from a 12 bit commercial ADC [4].
As shown in Figure 5, the INL is made of two parts: one is a smooth curve and another one is a prickly saw-tooth wave. Now, the INL can be expressed in a new form
] [ ]
[ ' ]
[ k INL k INL k
INL
HCF
LCF , (4) where]
'
[ k
HCF
INL
is the high-code frequency component (HCF).
] [k
LCF
INL
is the low-code frequency component (LCF).
The smooth curve represents the LCF, which means slow variation over the codes has an approximate polynomial expression:
L LLCF
INL k h
0 h
1k h
2k
2 h k
, (5)where
s
h
k'
is the polynomial coefficient.L
is the order of the polynomial.Normally,
h
0andh1are equal to zero because the correction for gain and offset error have been made.The prickly saw-tooth wave represents the HCF, which means the difference between the LCF and the actualINL
k . Furthermore, the HCF can be divided in to two parts: k INL k INL k
INL
HCF NoiseHCF
'
, (6)7 where
k
HCF
INL
is piecewise linear line which depends on the design of the component.
k
Noise
INL
is the part which is impossible to have an exact mathematical expression.
As a result, a new form of the INL[k] is obtained:
k INL k INL k INL k
INL
HCF
LCF
Noise , (7) k
HCF
INL
is assumed to be piecewise linear in the code k, in other words, it is described by the first polynomial
0
1k
within a limited set of neighboring code valuesp
p
k k
k
1
; denoted as the code intervalK
p. The HCFINL k
is thus modeled:
0
1
p1
HCFINLk
p
p k k , (8)where
p p
p
k k k k
K :
1 P
p 1 , ,
.The initial value of
k
0is given byk
0 1
, and the upper end point is by definition,N
kp 2 . Typically the number of intervals
P
is small compare with the total number of codes,P 2
N 1
.However, this static model cannot give a fine description of an ADC in the broadband condition; hence the frequency information should be included. The stimuli frequency
is introduced and (7) is renewed: k , INL k INL k , INL k ,
INL
HCF
LCF
Noise (9)where
f
s f
2
, is the normalized frequency variable in Radian.f
is the actual frequency in Hertz.f
sis the sampling frequency in Hertz.8
The HCF
INL [k ]
mainly represents the imperfections in the quantizer which are not frequency dependent; and the HCF component is considered to be static.The block diagram of this dynamic INL model is shown in Figure 6.
Figure 6: The block diagram of the dynamic INL model [7].
2.3 Differential Non-Linearity
According to [8], the DNL is defined as: “DNL is the difference, after correcting for static gain, between a specified code bin width and the ideal code bin width, divided by the ideal code bin width. When given as one number without code bin specification, it is the maximum differential nonlinearity of the entire range. It is given in (10)
k
W
k Q
QDNL , (10)
where
kW is the width of code bink, G
T
k1
T k
.Q
is the ideal code bin width.Gis the static gain.
The maximum differential nonlinearity is the maximum value of DNL
k for allk. Inaddition the RMS value of the DNL can be given as shown in (11):”
9
2 2
1
2
2 2
1 N
k
RMS N DNLk
DNL . (11)
2.4 Total Harmonic Distortion
According to [9], the THD is defined as: “THD is the square root of the sum of squares of a specified set of harmonic distortion components including their aliases.
To estimate
THD
, calculate the root sum of squares of the specified subset of harmonics,f
h, as shown in (12):
h
f
hM X
THD 1 ( ( ))
2, (12)
where
) ( f
hX
is the magnitude of the component at the hth harmonic of the discrete Fourier transform (DFT) of the ADC output data record.M
is the number of samples in the data record.The members of the set of harmonics,
f
h, used in (12), must be specified. The choice of harmonic components included in the set is a tradeoff between the desire to include all harmonics with a significant portion of the harmonic distortion energy, but not to include DFT bins whose energy content is dominated by random noise. Unless otherwisespecified, to estimate THD, the set is normally composed of the lowest nine harmonics, 2nd through 10th inclusive, of the input sine wave.
The THD is also often expressed as a dB ratio with respect to RMS amplitude of the fundamental component of output, as shown in (13) and (14): ”
2
2
( ( ))
)) ( 1 (
i s i
RMS
X f X f f
A M
, (13)
RMS
dB A
THD 20log10 THD . (14)
10
2.5 Spurious Free Dynamic Range
According to [10], the SFDR is defined as: “For a pure sine wave input, the SFDR is the ratio of the amplitude of the averaged DFT value at the fundamental frequency,
f
i, to the amplitude of the averaged DFT value of the largest magnitude harmonic or spurious signal component observed over the full Nyquist band, max{ X f
h} { X [ f
sp]}
, given in (15):
max
) log (
20
10h f sp
f
r
dB
X f X f
f SFDR X
h sp
. (15)
SFDR is generally a function of both the amplitude,
X f
i , and the frequency,f
i, of the input sine wave, and possibly of the ADC sample frequencyf
sas well as input noise or dither. Thus, the amplitude and frequency of the input, and the sample frequency, for which SFDR measurements are made, shall be specified.The SFDR is often used for this measure where both harmonic distortion and spurious signals are considered to be undesirable spurs in the spectrum of a sampled pure sine wave. SFDR is used to indicate the ADC usable dynamic range beyond which special detection and threshold problems occur in spectral analysis.”
2.6 Signal to Noise and Distortion Ratio
According to [11], the SINAD is defined as: “The SINAD is the ratio of the signal to the total noise. Unless otherwise specified, it is assumed to be the ratio of root-mean- square (RMS) signal to RMS noise, including harmonic distortion, for sine wave input signals, SINAD depends on the amplitude and frequency of the applied sine wave.
The SINAD is given by (16):
) (
) (
RMS noise
RMS signal
SINAD
, (16)11 where
) ( RMS
signal
= sine wave peak amplitude/ 2.”2.7 Effective Number of Bits
At the output of the ADC, the output signal includes main signal, noise and harmonic distortion. So the actual bit converted by ADC is not equal to the resolution of ADC itself.
Thus, the ENOB is defined as the practical number of bits which is converted by ADC.
ENOB is another method of specifying SINAD. ENOB is defined as (SINAD - 1.76)/6.02 and says that the converter is equivalent to a perfect ADC of this (ENOB) number of bits [12].
12
3 Method
This chapter will describe and verify the theoretical results in [4] where a post- correction utilizing dynamic modeling of the INL is discussed. What kind of method should be used in post-correction depends on the ADC modeling [13]. In this thesis, the model describes the deviation in output code between a practical and ideal ADC. Thus, the post-correction is performed by adding a correction term (see Figure 7).
Figure 7: Post‐correction of an ADC by adding a correction term [14]
3.1 Test Set-up
In this thesis work, the verification of the theoretical in [4] is based on measurements on two different ADCs, AD 9430 and AD6645, respectively. Both are from Analog
Devices○R, USA.
3.1.1 Test Set-up of the Measurement on the First ADC
The clock signal is generated with a high quality signal generator. The clock signal can be adjusted via variable delays and filters to different requirements and applications. A vector signal generator (VSG) (R&S SMU200A) is the foundation input signals
generation. A frame grabber (FG) acquires data from the ADC in real time. In addition to this equipment a second signal generator and a signal analyzer is part of the test set-up.
The signal analyzer is used to examine and verify input signals. All instruments are connected to a computer via GPIB or local area network (LAN) [15].
The AD9430 is a 12-bit ADC. The maximum sampling rate is 210 MHz and Analog bandwidth is 700MHz.
The diagram of the test set-up is shown in Figure 8.
13 Figure 8: The diagram of the test set‐up for AD9430 [16]
3.1.2 Test Set-up of the Measurement on the Second ADC
The clock signal is generated with a signal generator. The input signal is generated with an Arbitrary-waveform generator (AWG). The data is acquired and sent to the computer via a USB cable. The software “ADC analyzer” installed on the computer is used to analyze the data and present the result.
The AD6645 is a 14-bit ADC. The guaranteed sample rate is 80MSPS and IF-sampling is up to 200 MHz.
The diagram of the test set-up is shown in Figure 9.
Figure 9: The diagram of the test set‐up for AD6645 [17]
14
3.2 Identification of INL Model Parameters
As described in Chapter 2.2, the HCF is assumed to be piecewise linear in the codek. There will be P pairs of polynomial coefficients
0 p ,
1p
and the parameter vector
is introduced:
p p
1 0 1 0
1 1
. (17)
is considered to be the local gain and offset in INL for the different code intervalsK
p.Also mentioned in Chapter 2.2, the LCF is modeled by polynomial of order L, and a new form of LCF component is obtained:
k m f k m
INL
TLCF
,
, (18)where
T
is transpose.
m
h2
mhL
m
. k k k
L
f
2
, which is the regressor.Put all the experimental data of INL at the unique test frequency
f
min a vectory
m:
m
m MINL m INL y
N
m , 1, ,
, 1 2
, 1
. (19)
Then two vectors are introduced,
g
pandf
:15
1
1
0 1
1 p p p
k k
g
, (20)where
0
1 k
.N
kp 2 .
The Vandermonde matrix
f
of size 2
N 1 L 1
:
N L N
N
L
f
1 2 1
2 1 2
1 1
1
1 0
1 0
. (21)
Then the experimental INL is described as a vector form:
mm
g f m e
y
, (22)where
g
pg
g
1
.
e
mis the error.As there are
M
sets of test frequencies, (22) can be expanded, that is:
e M GF
y
m e
e
f M g
f g
y y
1
1 1
. (23)
The least-squares solution of (23) is by a block matrix notation given by:
16
yF F G F G
G
T T
T T
1
ˆ ˆ
. (24)This solution can be separated into one solution for
and another one for
m : g
Tg g
T y
ˆ
1 , (25) m f f f y
mg m M
T
T
ˆ , 1 , ,
ˆ
1
, (26)where
Mm
y
my M
1
1
, the average value of all INL data. f
Tf f
Tf
I
1
.I
is the unity matrix of proper size.The MATLAB program based on (25) and (26) is written (see Appendix A). The results will be presented in Chapter 4.2.1. But the results show there is something wrong with this solution. In order to solve the problem, the un-weighted least-square solution is used, which is:
y g
I ˆ
, (27)where
T TI
g g g
g
1 .The new version of MATLAB code can be seen in Appendix B. And the new results are shown in Figure 16, Figure 17 and Figure 18 in Chapter 4.2.2.
The results meet the specification of LCF
INL
andHCFINL
[18].3.3 Performance Analysis
The function of post-correction is to improve the performance of the ADC. Normally, THD, SFDR and SINAD are used.
17
3.3.1 Effects of the
LCFINL
k ,
LCF
INL
can be considered as a weakly nonlinear dynamic polynomial transfer function, which will mainly affect the THD and SFDR. In order to measure the effect of this component on ADC, an evaluation in the frequency domain is needed (performed in continuous time).
Let v
t be the time domain input to a static nonlinear system, and x
t represents the output which is a unit amplitude cosine with zero initial phase: cos 2
0 0
0
t j t
j
e
t e t
v
, (28)where
t
is the absolute time.j
is the imaginary unit.According to (28) and (5), the harmonic distortion on the output is given by:
L j t j t Lt j t j t
j t
j
e e
e h h e
e h e
h t
x
2 2
2
0 0
0 0
0
0 2
2 1
0
. (29)The even exponents produce the harmonic distortion on even multiples of the
fundamental frequency; at the same time the odd exponents produce the distortion at odd overtones.
According to the binomial theorem:
i ii
d i c d
c
0
. (30)
Now,
v
t
can be expressed as:18
even t
i i
odd t
i i t
v
i
i i
i
2
0 1 0
1 1 0
cos 2 2
1 1 2 2
1 2
1
1 cos
2 1 2
1 1 2
1
. (31)
t
v
are the input to the linear parts of the parallel Hammerstein model, where each branchv
t
will be filtered by the corresponding zero-phase linear filter. The output of the Parallel Hammerstein model y
t is: t A A t A t A L t
y
0
1cos
0
2cos 2
0
Lcos
0 . (32)The real valued A-coefficients are obtained from filtering the components
v
t
by theindividual zero-phase filters in the parallel Hammerstein model:
odd q q
q h i i
even q
q q h i
i
A
L
q i
i i q L
q i
i i q
q
1 0 1 0
2 2 1 2
1 1
2 2 1 2
1 1
, (33)
where
q
is an arbitrary order.If the input signal is pure sinusoidal, amplitude A1represents the fundamental tone and all the other
A
q(q 1
) represent the distortion products. Thus the THD can be expressed as a function of these amplitudes.3.3.2 Total Harmonic Distortion
The total harmonic energy (THE) is defined as:
n
Y
nTHE R 1
2
2 , (34)19 where
R
is the length of the data record.
nY
is the complex value of the spectral component at frequency
n.Note that the
nis the nth harmonic frequency of the DFT of the ADC output andY
n =A
n.Using the above expression forLCF
THE
:
Ll l L
l l
LCF
A
Y R THE R
2 2 2 2
2 2
1
1
. (35)The THD is given by:
A
1THD THE
. (36)To achieve the maximum gain in the post-correction of the ADC, the THD form the LCF component is used:
1
log
1020 A
THD THE
LCF
LCF . (37)
3.3.3 Signal to Noise and Distortion Ratio
The definition of SINAD is in Chapter 2.6. Based on the result from [19], the maximum achievable SINAD for a N-bit ADC is for a floating-point post-correction is expressed as:
2 2
3 1
2
RMS N
SINAD DNL
, (38)where
20
2 1
1 2
2 1
1 N
k
RMS N DNL k
DNL .
According to Chapter 2.2 and (10), the relationship between INL
k andDNL [k ]
can beformulated asDNL
k INL
k1
INL
k .Assume the error due to the LCF component has been eliminated. It means the remaining
kINL is theHCF
INL ' k
. The form ofDNL
k is renewed:
1 2
1 0
0
1 1
1 1 1
1
' 1
'
p p
p p
HCF HCF
k k k
k p p
p
k k k p
k e k
e
k INL k
INL k DNL
, (39)
where
ke are random variables independent and identically distributed.
2
DNL
RMSis obtained:
P
p
p p
p N p
k Error N
k N
RMS
k k
p p
k k p
k DNL
k DNL DNL
N N
1
2 2 1
0 0
1 2
1 2
1
2 2
2
1 2 2
1 2 1
2 1
2 2
1 2 2
1
2
, (40)
where
k
Error
DNL
is the DNL
k related to e
k .The potential for improvement from HCF
INL k
can be expressed as:
P
p
p p
p N p
RMS
HCFDNL p k k p p k k
1
2 2 1
0 0
1 2
1
2 1 1
2 2
1
.(41)
21 Put (41) into (38) to calculate the SINAD.
22
4 Results
This chapter will present the graph of input signal spectrum and estimated INL, also the results of the performance analysis.
4.1 The Spectrum of the Measured Input Signals
The measurement on AD9430 is carried out within the frequency range 10 MHz-90 MHz.
The spectrum of the measured signal at 10 MHz is shown below:
Figure 10: The spectrum of the measured signal at 10 MHz (sampling frequency
f
s=210 MHz)From the figure, the SINAD is 62.2 dB, THD is -67.9 dB. The highest peak is the fundamental signal; the other smaller peaks represent the overtones. The third harmonic is the second highest peak (around -70 dB) and thereby defines the SFDR.
The property of the spectrum at other frequencies is similar to the one at 10 MHz, as shown in Figure 11.
23 Figure 11: The spectrum of the measured signal at different frequencies (20 MHz, 30 MHz, 40
MHz, 60 MHz, and 90 MHz)
4.2 Identification of INL Model Parameters
The MATLAB code based on the method described in Chapter 3.1 of this report is shown in Appendix A.
With the help of page 6 of this report, the code interval is defined. The code intervals
K
p are determined manually from graph of HCFINL k
(e.g. Figure 12).Figure 12: The estimation ofHCF
INL k
(black line) [20]The information of code intervals at different frequencies is shown in Table 1.
24
Frequency Code Intervals
10MHz
124 276 501 745 892 1060 1178 1245 1323 1451 1494 1542 1701 1786 1946 2091 2220 2301 2341 2478 2602 2734 2853 2946
3081 3191 3318 3369 3580 3707 3877 3975 4096
20MHz 37 292 540 809 1055 1323 1580 1835 2093 2338 2602 2845 3330 3612 3760 3868 4015 4096
30MHz 43 247 391 521 754 1319 1558 1707 1818 1959 2092 2301 2479 2604 2730 2857 2990 3019 3312 3504 3622 3837 4011 4096
40MHz 43 174 522 807 941 1066 1227 1572 1800 1955 2086 2313 2605 2842 3096 3336 3623 3867 4016 4096
60MHz 86 300 687 1068 1262 1571 1799 1967 2091 2224 2605 2839 3061 3354 3703 3857 4060 4096
90MHz 43 176 555 687 889 1035 1225 1570 1785 2071 2253 2560 2801 3060 3324 3627 3847 3962 4015 4096
Table1: Code intervals at different frequencies
Normally, the 2nd or the 3rd harmonic component is the highest peak in spectrum besides the fundamental signal. Thus the order
L
in (21) is set to 3.4.2.1 The Weighted Least-Squares Solution
At 10 MHz, theINL, HCF
INL
and LCFINL
(using the least-squares solution) are shown in following figures25 Figure 13: The estimation of INL (10MHz) using the least‐squares solution
Figure 14: The estimation of HCF
INL
(10MHz) using the least‐squares solution26
Figure 15: The estimation of LCF
INL
(10MHz) using the least‐squares solutionThe weighted least-squares solution (see Chapter 3.2) given by (25) and (26) can cause numerical problems [18]. This phenomenon is validated in Figure 13, Figure 14 and Figure 15. The HCF component is expected to be a prickly saw-tooth wave centered around zero, but the information given by Figure 14 does not meet this property. It means there must be some problem with the method, and un-weighted least-squares solution is used instead.
4.2.2 Un-Weighted Least-Squares Solution
In order to avoid the miss behavior in Chapter 4.2.1, the un-weighted least-squares solution was used.
At 10 MHz, theINL,HCF
INL
and LCFINL
(using the least-squares solution) are shown in following figures:27 Figure 16: The estimation (blue line) of INL (10MHz) using the un‐weighted least‐squares
solution
Figure 17: The estimation of HCF
INL
(10MHz) using the un‐weighted least‐squares solution28
Figure 18: The estimation of LCF
INL
(10MHz) using the un‐weighted least‐squares solutionThe property of the graph of INL at other frequencies is similar to the one at 10 MHz, as shown in Figure 19.
Figure 19: The estimation (blue line) of INL at other frequencies using the un‐weighted least‐
squares solution (20 MHz, 30 MHz, 40 MHz, 60 MHz, 90 MHz)
4.3 Total Harmonic Distortion
The MATLAB code based on the method described in Chapter 3.3.1 and Chapter 3.3.2 is shown in Appendix C.
At 10 MHz,
) (
01
h
= 0.0029,h
3(
0)
= 3.6419e-10,29
)
2 (
02
h
= -1.7804e-07,h
3( 3
0)
= 2.6728e-11.LCF
THD
=-71.2516 dB
THD at other frequencies are in Table 2.
Frequency THD 20 MHz -71.5090 dB 30 MHz -73.8301 dB
Table 2: THD at different frequencies
Since the model order L is chosen to be 3, only the second and third harmonic are covered by the LCF-model. As can be seen in Figure 10 also the fifth, sixth and seventh harmonic might be included (L=7). Thus, the THD from the model (-71.3 dB) is slightly better than the measured value (-67.9 dB).
4.4 Signal to Noise and Distortion Ratio
The MATLAB code based on the method described in Chapter 3.3.3 is shown in Appendix D.
2 2
3 1
2
RMS N
SINAD DNL
=72.2432 dB.Since the HCF component is not frequency dependent, the SINAD at other frequencies are the same.
The HCF model does not fully describe the SINAD since the remaining distortion
original from the model error Noise
INL k , m
is not included or the suboptimal decision of code intervals. Thus, the SINAD from the model (72.2 dB) is better than the measured value (62.2 dB, see Figure 10).30
4.5 Measurement Result on the Second ADC
Figure 20: Result of measurement on AD6645 displayed in “ADC analyzer”
No data can be exported and saved except the pictures format (see Figure 20), more details in Chapter 5.
31
5 Conclusion & Future Work
5.1 Conclusion
In this thesis, a verification of a post-correction method based on a three-component model of an ADC is discussed. “Three-component” represents the low-code frequency component (A smooth wave or polynomial curve), the high-code component (a prickly saw-tooth wave) and the model error (is zero mean and independent identically
distributed), and the performance analysis in THD and SINAD are also done for them.
The purpose is to give a practical realization on MATLAB and verify the method.
From the result of MATLAB simulation, some inconspicuous shortcomings are discovered and modified. E.g. in the Chapter 3.2, the least-squares solution used in the identification of INL model parameters has some disadvantages when describing the property of the LCF and HCF component, therefore the un-weighted least-squares solution is used as a replacement.
In the performance analysis section, the value of THD and SINAD is calculated by the MATLAB script based method from Chapter 3.2. Normally, the measure of SFDR is also one part of the performance analysis. The second or third harmonic is the limiting
spurious and the post-correction can eliminate these harmonics. Thus the SFDR is limited by non-harmonics or high order harmonics and the exact value is impossible. As a result, the SFDR is not included in the performance analysis of this thesis [4].
5.2 Future Work
The MATLAB programs used in this thesis work still have the potential of improvement. E.g. the code intervals are determined by eyes from the figure of INL.
Though this way still works but it is slow and inaccurate. If a program can be designed to determine the code intervals, the identification of the INL model will have more accuracy and cost less time. On the other hand, the code still has the possibility of size reduction;
some function could be carried out with less rows of code. E.g. the calculation of the average of all INL data.
On the schedule, the analysis and evaluation on another ADC (Type: AD 6645, made by Analog Devices) are also included.
Unfortunately, one problem occurs when using the software “ADC Analyzer”. This software provided by the Analog Devices is only able to read and analyze the data which
32
is directly coming from the ADC (see Figure 20), but impossible to export and save the data on the computer (except picture format). It means the post-correction for this ADC cannot be evaluated by using the MATLAB program based on the method described in previous Chapters of this report. If there is another kind of software can provide such function, the evaluation and analysis can be continued.
33
Reference
[1] Z.Jiang, "Analyzes and Application of ADC Technology", Journal of the 58th Electronics Research Institute of the Ministry of Information Industry of People’s Republic of China on Electronics & Packaging, March 2007.
[2] T. E. Linnenbrink, J. Blair, S. Rapuano, P. Daponte, E. Balestrieri, L. De Vito, S.
Max, and S. J. Jilden, "ADC testing," IEEE Instrumentation & Measurement Magazine, vol. 9, pp. 39-49, 2006.
[3] N. Björsell, “Modeling Analog to Digital Converters at Radio Frequency.” Doctoral Thesis Royal institute of technology, pp1-2, 2007.
[4] N. Björsell and P. Händel, "Achievable ADC performance by post-correction utilizing dynamic modeling of the integral nonlinearity," EURASIP Journal on Advances in Signal Processing, 2007.
[5] Y.Chen, “Design of High-Speed Analog-to-Digital Converter Based-on Pipelined Architecture”, Master Thesis Chaoyang University of Technology, January 2005.
[6] IEEE, "Std 1241-2000 IEEE Standard for Terminology and Test Methods for Analog-to-Digital Converters,” pp.44-45, 2000.
[7] N. Björsell, “Modeling Analog to Digital Converters at Radio Frequency.” Doctoral Thesis Royal institute of technology, pp.24, 2007.
[8] IEEE, "Std 1241-2000 IEEE Standard for Terminology and Test Methods for Analog-to-Digital Converters,” pp.45, 2000.
[9] IEEE, "Std 1241-2000 IEEE Standard for Terminology and Test Methods for Analog-to-Digital Converters,” pp.47-48, 2000.
[10] IEEE, "Std 1241-2000 IEEE Standard for Terminology and Test Methods for Analog-to-Digital Converters,” pp.49, 2000.
[11] IEEE, "Std 1241-2000 IEEE Standard for Terminology and Test Methods for Analog-to-Digital Converters,” pp.51-53, 2000.
[12] National Semiconductor Corporation, “A/D Converter Definition Of Terms”, January 2000.
[13] L. Michaeli, L. Sochová, and J. Saliga, "ADC look-up table based post correction combined with dithering," in IMEKO World Congress Rio de Janeiro, Brazil, 2006.
[14] N. Björsell, “Modeling Analog to Digital Converters at Radio Frequency.” Doctoral Thesis Royal institute of technology, pp.33, 2007.
[15] N. Björsell, “Modeling Analog to Digital Converters at Radio Frequency.” Doctoral Thesis Royal institute of technology, pp.7, 2007.
[16] N. Björsell, “Modeling Analog to Digital Converters at Radio Frequency.” Doctoral Thesis Royal institute of technology, pp.8, 2007.
34
[17] Analog Devices, “High Speed ADC USB FIFO Evaluation Kit”, 2004.
[18] P. Händel, N. Björsell, and M. Jansson, "Model Based Dynamic Characterization of Analog-Digital-Converters at Radio Frequency — Invited paper," in 2007
International Conference on Signal Processing and its Applications, 12-15 February, 2007, Sharjah, UAE.
[19] N. Giaquinto, M. Savino, and A. Trotta, "Detection, digital correction and global effect of A/D converters nonlinearities," Smolenice Castle, Slovakia, 1996, pp. 122- 127.
[20] N. Björsell, “Modeling Analog to Digital Converters at Radio Frequency.” Doctoral Thesis Royal institute of technology, pp.25, 2007.
35
Appendix
A. MATLAB script based on least-squares solution
clear all
load ('INLdata.mat') y10=zeros(4095,1);
for o=1:1:4095;
y10(o)=INL10(o);
end
y15=zeros(4095,1);
for o=1:1:4095;
y15(o)=INL15(o);
end
y20=zeros(4095,1);
for o=1:1:4095;
y20(o)=INL20(o);
end
y25=zeros(4095,1);
for o=1:1:4095;
y25(o)=INL25(o);
end
y30=zeros(4095,1);
for o=1:1:4095;
y30(o)=INL30(o);
end
y35=zeros(4095,1);
for o=1:1:4095;
y35(o)=INL35(o);
end
36
y40=zeros(4095,1);
for o=1:1:4095;
y40(o)=INL40(o);
end
y45=zeros(4095,1);
for o=1:1:4095;
y45(o)=INL45(o);
end
y50=zeros(4095,1);
for o=1:1:4095;
y50(o)=INL50(o);
end
y55=zeros(4095,1);
for o=1:1:4095;
y55(o)=INL55(o);
end
y60=zeros(4095,1);
for o=1:1:4095;
y60(o)=INL60(o);
end
y65=zeros(4095,1);
for o=1:1:4095;
y65(o)=INL65(o);
end
y70=zeros(4095,1);
for o=1:1:4095;
y70(o)=INL70(o);
end
y75=zeros(4095,1);
for o=1:1:4095;
37 y75(o)=INL75(o);
end
y80=zeros(4095,1);
for o=1:1:4095;
y80(o)=INL80(o);
end
y85=zeros(4095,1);
for o=1:1:4095;
y85(o)=INL85(o);
end
y90=zeros(4095,1);
for o=1:1:4095;
y90(o)=INL90(o);
end
yavg=((y10+y15+y20+y25+y30+y35+y40+y45+y50+y55+y60+y65+y70+y75+y80+y85 +y90)/17);
% Create the G-matrix
K=[124 276 501 745 892 1060 1178 1245 1323 1451 1494 1542 1701 1786 1946 2091 2220 2301 2341 2478 2602 2734 2853 2946 3081 3191 3318 3369 3580 3707 3877 3975 4096];
P=length(K);
gg=zeros(max(K)-1,P*2);
for p=1:P if p==1 L=K(1)-1;
gg(1:L,1:2)=[ones(L,1) [0:L-1]'];
else
L=K(p)-K(p-1);
gg(K(p-1):K(p-1)+L-1,p*2-1:p*2)=[ones(L,1) [0:L-1]'];
end end
%Vandermonde matrix f ym=zeros(4095,1);
38
for o=1:1:4095;
ym(o)=INL10(o);
end
ff=zeros(4095,4);
for i=1:1:4095;
for j=0:1:3;
ff(i,j+1)=i^j;
end end
v=ones(1,4095);
i=diag(v);
paichuizhi=i-ff*(inv((ff')*ff))*(ff');
eta_hat=inv(gg'*paichuizhi*gg)*gg'*paichuizhi*(yavg);
theta_hat=inv(ff'*ff)*ff'*(ym-gg*(eta_hat));
%y=gg*eta_hat+ff*theta_hat;
y_hcf=gg*eta_hat;
y_lcf=ff*theta_hat;
y=y_hcf+y_lcf;
plot(y),grid on,xlabel('Transition level [LSB]'),ylabel('INL [LSB]'),title('INL ()')
figure(2)
plot(y_hcf),grid on,xlabel('Transition level [LSB]'),ylabel('HCF [LSB]'),title('HCF')
figure(3)
plot(y_lcf),grid on,xlabel('Transition level [LSB]'),ylabel('LCF [LSB]'),title('LCF')
39
B. MATLAB script based on un-weighted least-squares solution
clear all
load ('INLdata.mat') y10=zeros(4095,1);
for o=1:1:4095;
y10(o)=INL10(o);
end
y15=zeros(4095,1);
for o=1:1:4095;
y15(o)=INL15(o);
end
y20=zeros(4095,1);
for o=1:1:4095;
y20(o)=INL20(o);
end
y25=zeros(4095,1);
for o=1:1:4095;
y25(o)=INL25(o);
end
y30=zeros(4095,1);
for o=1:1:4095;
y30(o)=INL30(o);
end
y35=zeros(4095,1);
for o=1:1:4095;
y35(o)=INL35(o);
end
y40=zeros(4095,1);
for o=1:1:4095;