Lecture Notes Session 12

advertisement
EE247
Lecture 12
• Administrative issues
ƒ Midterm exam Tues. Oct. 24th
o You can only bring one 8x11 paper with your
own written notes (please do not photocopy)
o No books, class or any other kind of
handouts/notes, calculators, computers, PDA,
cell phones....
o Midterm includes material covered to end of
lecture 14
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 1
EE247
Lecture 12
Today:
– Example of Switched-Capacitor filters NOT
followed by an ADC!
– Data converters
•
•
•
•
ADC & DAC transfer curve
Sampling, aliasing, reconstruction
Amplitude quantization
Static converter error sources
– Offset & full-scale error
– DNL & INL
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 2
Summary of Last Lecture
• Switched-Capacitor Filters (continued)
– Effect of non-idealities
– Bilinear switched-capacitor filters
– Filter design summary
• Comparison of various filter
topologies
• Data Converters (continued today)
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 3
Last Lecture Questions
• Based on the CODEC example, class
may have the impression that S.C.
filters are always followed by an ADC!
• Assumption not accurate
– Example- Switched-capacitor filters used in
the transmit path of ISDN ICs
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 4
Data Transmission Over Existing Twisted-Pair
Phone Lines
Backbone
Digital Network
Central Office
Xmitter
Customer
Twisted Pair
Xmitter
Receiver
Receiver
3 to 5km
POTS
• Data transmitted over existing voice grade phone lines covering
distances close to 3.5miles
– Voice-band MODEMs
– ISDN
– HDSL, SDSL,……
– ADSL
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 5
Data Transmission Over Twisted-Pair Phone Lines
ISDN (U-Interface) Transceiver
Backbone
Digital Network
Central Office
Xmitter
Customer
Twisted Pair
Xmitter
Receiver
Receiver
3 to 5km
POTS
•
•
•
•
•
Full duplex transmission (RX & TX signals sent simultaneously)
160kbit/sec baseband data (80kHz signal bandwidth)
Standardized line code 2B1Q (4 level code 3:1:-1:-3)
Max. desired loop coverage 18kft (~36dB signal attenuation)
Final required BER (bit-error-rate) 10-7 Æ (min. SNDR=27dB)
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 6
Analog Front-End
2nd order
Butterworth
S.C. Filter
2b S.C.
DAC
Class A/B
Line Driver
fs=2.56MHz
fs=20.48MHz
To avoid stringent
requirements for nonlinear echo canceller:
Æ high linearity analog
circuitry needed (~ 75dB)
EECS 247 Lecture 12: Data Converters
13bit
Double-Loop
Peak signal frequency Æ80kHz
© 2006 H. K. Page 7
Data Converters
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 8
Data Converters
• Stand alone data converters
– Used in variety of systems
– Example: Analog Devices AD9235 12bit/ 65Ms/s
ADC- Applications:
• Ultrasound equipment
• IF sampling in wireless receivers
• Hand-held scopemeters
• Low cost digital oscilloscopes
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 9
Data Converters
• Embedded data converters
– Cost, reliability, and performance Æ integration of
data conversion interfaces along with DSPs
– Main challenges
• Feasibility of integrating sensitive analog functions in
technologies optimized for digital performance
• Down scaling of supply voltage
• Interference & spurious signal pick-up from on-chip digital
circuitry
• Portable applications dictate low power consumption
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 10
D/A Converter Transfer Characteristics
MSB
b1 b2 b3
• An ideal digital-toanalog converter:
– Accepts digital inputs b1-bn
– Produces either an analog
output voltage or current
– Assumption (will be
revisited)
• Uniform, binary digital
encoding
• Unipolar output ranging
from 0 to VFS
LSB
……..…
bn
V0
D/A
Nomenclature:
N = # of bits
VFS = f u l l s cal e o u tp u t
Δ = mi n . s t ep s iz e → 1L SB
Δ=
VFS
2N
V
o r N = lo g2 F S → r es ol u ti o n
Δ
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 11
D/A Converter Transfer Characteristics
MSB
b1 b2 b3
N = # of bit s
VFS = f u l l s cal e o u t p u t
Δ = m i n . st ep s i z e → 1L S B
Δ=
LSB
……..…
D/A
bn
V0
VFS
2N
V0 = VFS
N
bi
∑
i
i =1 2
N
= Δ × ∑ bi × 2 N −i ,
i =1
bi = 0 or 1
binary-weighted
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 12
D/A Converter
Exampe: D/A with 3-bit Resolution
Exa mp l e : N = 3
MSB
LSB
b1 b2 b3
1 0 1
Ass ume VFS = 0 .8V
In put cod e i s 1 01
V0 = Δ (b1 × 22 + b2 × 21 + b3 × 20 )
T hen : Δ =VF S / 23 = 0. 1V
V0
D/A
→ V0 = 0.1V (1 × 22 + 0 × 21 + 1 × 20 ) =
→ V0 = 0.5V
Note : MSB → VF S / 2 & L S B → VFS / 2 N
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 13
Ideal D/A Transfer Characteristic
• Ideal DAC
introduces
no error!
Analog
Output
VFS
Ideal Response
• One-to-one
mapping
VFS /2
from input
to output
Step Height (1LSB =Δ)
VFS /8
000 001 010 011 100 101 110 111
EECS 247 Lecture 12: Data Converters
Digital Input
Code
© 2006 H. K. Page 14
A/D Converter Transfer Characteristic
• For an ideal analog-to-digital
converter with uniform, binary
digital encoding & a unipolar
input range for 0 to VFS
MSB
b1 b2 b3
LSB
……..…
bm
Vin
A/D
w here N = # of b i t s
VFS = f ul l scal e ou t put
Δ = step s i ze
Δ=
VFS
N ot e : D ( bi = 1,al l i ) → VFS − Δ
1 ⎞
⎛
→ VFS ⎜ 1 −
⎟
⎝ 2N ⎠
2N
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 15
Ideal A/D Transfer Characteristic
Digital Output
• Ideal ADC
introduces
error
111
Æ(+-1/2 Δ)
Δ = VFS
/2 N
N= # of bits
110
101
100
011
• This error is
called
``quantization
error``
010
001
1LSB
Analog
input
000
0
EECS 247 Lecture 12: Data Converters
Δ
2Δ
3Δ 4Δ 5Δ
6Δ
7Δ
© 2006 H. K. Page 16
Example: Non-Linear A/D Converter
For Voice-Band Telephony Applications
Coder Output
(DIGITAL)
Non-linear ADC and DAC
used in voice-band
CODECs
• To maximize dynamic
range with lower # of
bits
• Coding scheme called
A-law & μ-law
-VFS
-VFS/2 -VFS/4
Coder Input
(ANALOG)
• Also called companding
Ref: P. R. Gray, et al. "Companded
pulse-code modulation voice codec
using monolithic weighted capacitor
arrays," IEEE Journal of Solid-State
Circuits, vol. 10, pp. 497 - 499,
December 1975.
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 17
Data Converter Performance Metrics
• Data Converters are typically characterized by static, time-domain,
& frequency domain performance metrics :
– Static
•
•
•
•
•
Monotonicity
Offset
Full-scale error
Differential nonlinearity (DNL)
Integral nonlinearity (INL)
– Dynamic
•
•
•
•
•
•
Delay, settling time
Aperture uncertainty
Distortion- harmonic content
Signal-to-noise ratio (SNR), Signal-to-(noise+distortion) ratio (SNDR)
Idle channel noise
Dynamic range & spurious-free dynamic range (SFDR)
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 18
Typical Sampling Process
CT ⇒ SD ⇒ DT
time
Continuous
Time
Physical
Signals
Sampled Data
(e.g. T/H signal)
Clock
"Memory
Content"
Discrete Time
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 19
Discrete Time Signals
• A sequence of numbers (or vector) with
discrete index time instants
• Intermediate signal values not defined
(not the same as equal to zero!)
• Mathematically convenient, non-physical
• We will use the term "sampled data" for
related signals that occur in real,
physical interface circuits
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 20
Uniform Sampling
y(kT)=y(k)
t= 1T
k= 1
2T
2
3T
3
4T
4
5T
5
6T ...
6 ...
• Samples spaced T seconds in time
• Sampling Period T ⇔ Sampling Frequency fs=1/T
• Problem: Multiple continuous time signals can yield
exactly the same discrete time signal (aliasing)
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 21
Data Converters
• ADC/DACs need to sample/reconstruct to
convert from continuous time to discrete time
signals and back
• We distinguish between purely mathematical
discrete time signals and "sampled data
signals" that carry information in actual
circuits
• Question: How do we ensure that
sampling/reconstruction fully preserve
information?
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 22
Aliasing
• The frequencies fx and Nfs ± fx, N integer, are
indistinguishable in the discrete time domain
• Undesired frequency interaction and
translation due to sampling is called aliasing
• If aliasing occurs, no signal processing
operation downstream of the sampling
process can recover the original continuous
time signal!
• Let's look at this in the frequency domain...
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 23
Sampling Sine Waves
Voltage
Time domain
fs = 1/T
time
y(nT)
Amplitude
Frequency domain
fs - fin
fin
EECS 247 Lecture 12: Data Converters
fs + fin
fs
2fs … f
© 2006 H. K. Page 24
Signal scenario
before sampling
Amplitude
Frequency Domain Interpretation
fin
fs /2
fs
2fs …….. f
Discrete
Time
Amplitude
Signal scenario
after sampling Æ DT
ÆSignals @
nfS ± fmax__signal fold
back into band of
interest
ÆAliasing
Continuous
Time
0.5
EECS 247 Lecture 12: Data Converters
f/fs
© 2006 H. K. Page 25
How to Avoid Aliasing
•
•
Must obey sampling theorem:
fmax_Signal < fs/2
Two possibilities:
1. Sample fast enough to cover all spectral
components, including "parasitic" ones
outside band of interest- usually not
practical
2. Limit fmax_Signal through filtering
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 26
Brick Wall Anti-Aliasing Filter
Amplitude
Filter
Continuous
Time
0
fs
2fs
...
f
Discrete
Time
0
0.5
f/fs
Sampling at Nyquist rate (fs=2fsignal) Æ required brick-wall anti-aliasing filters
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 27
Practical Anti-Aliasing Filter
Amplitude
Filter
Continuous
Time
0
fs/2
fs
2fs
...
f
• Practical filter: Nonzero "transition band"
• In order to make this work, we need to
sample faster than 2x the signal bandwidth
• "Oversampling"
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 28
Practical Anti-Aliasing Filter
Desired
Signal
Parasitic
Tone
Attenuation
Continuous
Time
0
B
fs/2
0
B/fs
0.5
fs-B
fs
...
f
Discrete
Time
EECS 247 Lecture 12: Data Converters
f/fs
© 2006 H. K. Page 29
Data Converter
Classification
• fs > 2fmax Nyquist Sampling
– "Nyquist Converters"
– Actually always slightly oversampled (e.g. CODEC fsigmax 3.4kHz Æ
ADC sampling 8kHz)
• fs >> 2fmax Oversampling
– "Oversampled Converters"
– Anti alias filtering is often trivial
– Oversampling is also used to reduce quantization noise, see later
in the course...
• fs < 2fmax Undersampling (sub-sampling)
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 30
Sub-Sampling
Amplitude
BP Filter
Continuous
Time
0
fs
...
f
Discrete
Time
0
0.5
f/fs
• Sub-sampling Æ sampling at a rate less than Nyquist rate Æ aliasing
• For signals centered @ an intermediate frequency Æ Not destructive!
• Sub-sampling can be exploited to mix a narrowband RF or IF signal down
to lower frequencies
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 31
Where Are We Now?
Analog Input
• We now know how to
preserve signal
information in CTÆDT
transition
Analog
Preprocessing
Sampling
(+Quantization)
A/D
Conversion
000
...001...
110
DSP
D/A
Conversion
• How do we go back
from DTÆ CT?
Anti-Aliasing
Filter
?
Analog
Postprocessing
Analog Output
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 32
Ideal Reconstruction
x(k)
⇒
x(t)
• The DSP books tell us:
x(t ) =
∞
∑ x(k ) ⋅ g (t − kT )
k = −∞
g (t ) =
sin( 2πBt )
2πBt
• Unfortunately not all that practical...
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 33
Zero-Order Hold Reconstruction
• How about just
creating a staircase,
i.e. hold each discrete
time value until new
information becomes
available?
1
Amplitude
0.6
0.2
-0.2
• What does this do to
the frequency content
of the signal?
-0.6
-1
sampled data
after ZOH
0
10
20
30
Time [μs]
EECS 247 Lecture 12: Data Converters
• Let's analyze this in
two steps...
© 2006 H. K. Page 34
1) DTÆ CT: Infinite Zero Padding
Time Domain
DT sequence
Frequency Domain
...
...
0.5
Zero padded
DT sequence
Infinite
Interpolation:
CT Signal!
f/fs
...
...
0.5/i
1.5/i
2.5/i
f/fs
0.5fs
1.5fs
2.5fs
f
...
...
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 35
2) Add a Hold Function
...
...
Tp
Ts
• Hold pulses for Tp period
• Using the Fourier transform of a rectangular impulse:
H( f ) =
Tp sin(πfT p )
Ts
EECS 247 Lecture 12: Data Converters
πfT p
© 2006 H. K. Page 36
Hold Pulse Tp=Ts
1
0.9
| H ( f ) |=
0.8
0.7
Tp sin(πfT p )
πfT p
Ts
abs(H(f))
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.5
1
1.5
f/fs
2
2.5
EECS 247 Lecture 12: Data Converters
3
© 2006 H. K. Page 37
ZOH Spectral Distortion
1
Continuous Time
Pulse Train
Spectrum
X(k)
0.5
0
0
0.5
1
1.5
2
2.5
3
1
ZOH Transfer
Function
("Sinc Distortion")
ZOH
0.5
0
0
0.5
1
1.5
2
2.5
3
0
0.5
1
1.5
2
2.5
3
1
ZOH output,
Spectrum of
Staircase
Approximation
0.5
0
f/fs
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 38
Smoothing Filter
1
Again:
• A brick wall
filter would be
nice
• Oversampling
helps to
reduce filter
order
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.5
1
1.5
2
2.5
3
f/fs
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 39
Summary
• Sampling theorem fs > 2fmax, usually dictates
anti-aliasing filter
• If theorem is met, CT signal can be recovered
from DT without loss of information
• ZOH and smoothing filter reconstruct CT from
DT signal
• Oversampling helps reduce order &
complexity of anti-aliasing & smoothing filters
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 40
Next Topic
Analog Input
• Done with
"Quantization in time"
• Next: Quantization in
amplitude
Analog
Preprocessing
Anti-Aliasing
Filter
Sampling
(+Quantization)
A/D
Conversion
DSP
000
...001...
110
D/A
Conversion
D/A+ZOH
Analog
Postprocessing
Smoothing
Filter
Analog Output
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 41
Amplitude
Quantization
• Amplitude quantization
Æ quantization “noise”
• Static ADC/DAC performance measures
– Offset
– Gain
– INL
– DNL
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 42
Ideal ADC ("Quantizer")
• Quantization step:
Ideal converter with infinite # of bits
ADC characteristics
• Full-scale input range:
-0.5Δ … (2N-0.5)Δ
• E.g. N = 3 Bits
Digital Output Code
Δ (= 1 LSB)
7
6
5
4
3
2
1
0
-1
0
1
2
3
4
5
6
7
8
VFS
Æ VFS= -0.5Δ to 7.5Δ
ADC Input Voltage [ Δ]
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 43
Quantization Error
• Difference between analog input and output of the ADC
converted to analog via an ideal DAC
• Called:
‰:Quantization error
‰ Residue
‰ Quantization noise
Vin
Residue
ADC
EECS 247 Lecture 12: Data Converters
Ideal
DAC
- Σ
+
εq (Vin )
© 2006 H. K. Page 44
• For an ideal ADC:
• Quantization error is
bounded by –Δ/2 … +Δ/2
for inputs within full-scale
range
Quantization error [LSB] Digital Output Code
Quantization Error
7
6
5
4
3
2
1
0
-1
ideal converter with infinite bits
ADC characteristics
0
1
0
1
2
3
4
5
6
7
8
2
3
4
5
6
ADC Input Voltage [Δ]
7
8
0.5
ADC Model
Vin
+
Dout
0
-0.5
εq (Vin )
-1
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 45
ADC Dynamic Range
• Assuming quantization noise is much larger
compared to circuit generated noise:
D.R.Maximum = 10 log
Full Scale Signal Power
Quantization Noise Power
• Crude assumption: Same peak/rms ratio for signal
and quantization noise!
Peak Full Scale
Peak Quantization Noise
V
= 20 log FS = 20 log 2 N = 6.02 × N [ dB ]
Δ
D.R.Maximum = 20 log
Question: What is the quantization noise power?
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 46
Quantization Error
Let us assume Vin is a ramp signal with amplitude equal to ADC full-scale
Vin_Ramp
VFS
Time
Quantization
error [LSB]
Δ/2
Time
0
−Δ/2
Note: Quantization error waveformÆ periodic and also ramp
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 47
Quantization Error
Need to find the rms value for quantization error waveform:
ε eq2 =
=
1
T
+T / 2
∫
−T / 2
Δk2
+ Δ / 2k
k
−Δ / 2k
→ ε eq2 =
→ ε eq =
∫
2
(k × t ) d t =
Δ
k
+ Δ / 2k
∫
−Δ / 2k
2
12
Æ Independent of k
−Δ/2k
0
Δ/2k
Time
−Δ/2
Δ
12
εq=k.t
Δ/2
2
t dt
Δ2
Quantization
error
(k × t ) d t
In general above equation applies if:
• Input signal much larger than 1LSB
• Input signal busy
• No signal clipping
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 48
Quantization Error PDF
•
•
• Uniformly distributed from
–Δ/2 … +Δ/2 provided that
– Busy input
– Amplitude is many LSBs
– No overload
Zero mean
Variance
e2 =
+Δ / 2 2
e
Δ2
∫ de = 12
−Δ / 2 Δ
• Not Gaussian!
Pdf
1/Δ
+Δ/2
-Δ/2
Ref: W. R. Bennett, “Spectra of quantized signals,”
Bell Syst. Tech. J., vol. 27, pp. 446-72, July
1988.
error
B. Widrow, “A study of rough amplitude
quantization by means of Nyquist sampling
theory,” IRE Trans. Circuit Theory, vol. CT-3, pp.
266-76, 1956.
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 49
Signal-to-Quantization Noise Ratio
• If certain conditions are met (!) the quantization error can be
viewed as being "random", and is often referred to as “noise”
• In this case, we can define a peak “signal-to-quantization noise
ratio”, SQNR, for sinusoidal inputs:
2
1 ⎛ 2N Δ ⎞
⎜
⎟
2 ⎜⎝ 2 ⎟⎠
= 1.5 × 22N
SQNR =
Δ2
e.g. N
8
12
16
20
12
= 6.02N + 1.76 dB
SQNR
50 dB
74 dB
98 dB
122 dB
Ac curate for N>3
• Actual converters do not quite achieve this performance due to
other errors, including
– Electronic noise
– Deviations from the ideal quantization levels
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 50
SQNR Measurement
SQN R peak = 6.02N + 1.76 dB
Ideal
20log(SQNR)
Realistic
6dB/octave
0dB
Dynamic Range
Vin [dB]
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 51
Static, Ideal Macro Models
ADC
Vin
+
εq
Dout
DAC
Din
EECS 247 Lecture 12: Data Converters
Vout
© 2006 H. K. Page 52
Cascade of Data Converters
ADC
Vin
+
DAC
Vout
εq
DAC
ADC
Din
+
εq
EECS 247 Lecture 12: Data Converters
Dout
© 2006 H. K. Page 53
Static Converter Errors
Deviations of characteristic from
ideal
– Offset
– Full scale error
– Differential nonlinearity, DNL
– Integral nonlinearity, INL
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 54
ADC
Offset Error
DAC
Ref: “Understanding Data Converters,” Texas Instruments Application Report
SLAA013, Mixed-Signal Products, 1995.
EECS 247 Lecture 12: Data Converters
ADC
© 2006 H. K. Page 55
Full Scale Error
Actual full scale point
Ideal full scale
point
DAC
Ideal full scale
point
Full scale
error
Full scale
error
Actual
full scale
point
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 56
Offset and Full Scale Errors
• Alternative specification in % Full Scale = 100% * (#
of LSB value)/ 2N
• Gain error can be extracted from offset & full scale
error
• Non-trivial to build a converter with extremely good
gain/offset specs
• Typically gain/offset is most easily compensated by
the digital pre/post-processor
• More interesting: Linearity measuresÆDNL, INL
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 57
Offset and Full-Scale Error
7
Digital Output Code
Note:
Æ For further
measurements
(DNL, INL)
connecting the
endpoints &
deriving ideal
codes based on
the non-ideal
endpoints
elliminates
offset and fullscale error
ADC characteristics
ideal converter
6
Full-scale
error
5
4
3
2
1
Offset error
0
-1
0
EECS 247 Lecture 12: Data Converters
1
2
3
4
5
6
ADC Input Voltage [LSB]
7
8
© 2006 H. K. Page 58
ADC Differential Nonlinearity
DNL = deviation
of code width from
Δ (1LSB)
ADC characteristics
ideal converter
8
7
-0.4 LSB DNL error
Æ Endpoints
connected
Æ Ideal
characterisctics
derived
Æ DNL measured
Digital Output Code
6
5
4
3
0 LSB DNL error
2
1
+0.4 LSB DNL error
0
-1
0
1
2
3
4
5
6
7
8
9
ADC Input Voltage [Δ]
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 59
ADC Differential Nonlinearity
• Ideal ADC transitions point equally spaced by
1LSB
• For DNL measurement, offset and full-scale
error is eliminated
• DNL [k] (a vector) measures the deviation of
each code from its ideal width
• Typically, worst-case DNL along with the
vector for the entire code is reported
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 60
ADC Differential Nonlinearity
Example
A 3bit ADC is designed
to have an ideal
LSB=0.1V
The measured
transitions levels for the
end product is shown in
the table below, compute
the DNL
Transition
#
Ideal
transition
point [V]
Real
transition
point [V]
1
0.05
0.02
2
0.15
0.13
3
0.25
0.2
4
0.35
0.37
5
0.45
0.42
6
0.55
0.5
7
0.65
0.68
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 61
ADC Differential Nonlinearity
Example
1- Find the average code width
(LSB size)
Code #
Code
Width [V]
DNL
[LSB]
LSB=(Last transition-first
transition)/(2N-2)
0
-
-
1
0.11
0
LSB=(0.68-0.02)/6=0.11V
2
0.07
-0.37
2- Find all code widths
3
0.17
0.55
Width[k]=Transition[k+1]Transition[k]
4
0.05
-0.55
3- Divide code width by LSB
4- Find DNL:
5
0.08
-0.27
6
0.18
0.64
DNL[k]=(W[k]-LSB
7
-
-
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 62
ADC Differential Nonlinearity
Example
1
Max.
DNL
DNL [LSB}
0.5
0
-0.5
-1
0
1
2
3
4
5
6
7
Code #
Code
#
Code
Width [V]
0
-
-
1
0.11
0
2
0.07
-0.37
3
0.17
0.55
4
0.05
-0.55
5
0.08
-0.27
6
0.18
0.64
7
-
-
EECS 247 Lecture 12: Data Converters
DNL
[LSB]
© 2006 H. K. Page 63
ADC Differential Nonlinearity
Examples
ADC characteristics
ideal converter
8
7
6
5
4
3
Missing code
(+0.5/-1 LSB DNL)
2
1
0
Digital Output Code
Digital Output Code
7
-1
ADC characteristics
ideal converter
8
6
5
4
3
2
Non-monotonic
(> 1 LSB DNL)
1
0
0
1
2
3
4
5
6
7
8
9
ADC Input Voltage [Δ]
EECS 247 Lecture 12: Data Converters
-1
0
1
2
3
4
5
6
7
8
9
ADC Input Voltage [Δ]
© 2006 H. K. Page 64
ADC DNL
• DNL=-1 implies missing code
• For an ADC DNL < -1 not possible
• Can show:
al l i
∑
DN L[i ] = 0
• For a DAC DNL can be < -1
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 65
DAC Differential Nonlinearity
• To find DNL for DAC
– Draw end-point line from 1st point to last
– Find ideal LSB size
– Find segment sizes:
segment [m]=V[m]-V[m-1]
DN L[ m] =
s egment[ m] − V [ L SB ]
V [ L SB ]
• Unlike ADC DNL, for a DAC DNL can be <-1LSB
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 66
DAC Differential Nonlinearity
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 67
Impact of DNL on Performance
• Same as a somewhat larger
quantization error, consequently
degrades SQNR
• How much – later in the course...
• People sometimes speak of "DNL
noise", i.e. "additional quantization
noise due to DNL"
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 68
ADC Integral Nonlinearity
INL = deviation of
code transition from
its ideal location
Digital Output Code
• A straight line through the
endpoints is usually used as
reference,
i.e. offset and full scale errors
are ignored in INL calculation
7
6
5
-1 LSB INL
4
3
• Ideal converter steps is found
for the endpoint line, then INL
is measured
2
• Note that INL errors can be
much larger than DNL errors
and vice-versa
0
1
-1
0
1
2
3
4
5
6
ADC Input Voltage [Δ]
EECS 247 Lecture 12: Data Converters
7
8
© 2006 H. K. Page 69
ADC Integral Nonlinearity
Best Fit versus End-Point
• End-Point
– Ideal converter steps is found
for the endpoint line, then INL
is measured
• Best-Fit
+1/2 LSB INL
7
Digital Output Code
– A straight line through the
endpoints is used as
reference,
i.e. offset and full scale errors
are ignored in INL calculation
– A best-fit line (in the leastmean squared sense)
– Ideal converter steps is found
then INL is measured
Note: Typically INL smaller for best-fit
compared to end-point
EECS 247 Lecture 12: Data Converters
6
5
-1/2 LSB INL
Best Fit
4
3
2
1
0
-1
0
1
2
3
4
5
6
ADC Input Voltage [Δ]
7
8
© 2006 H. K. Page 70
ADC Differential Nonlinearity
Example
Code #
Can show:
IN L[ m] =
m −1
∑
i =1
DNL
[LSB]
INL
[LSB]
0
-
-
1
0
0
Æ INL is found by computing
the cumulative sum of DNL
2
-0.37
0
3
0.55
-0.37
For the previous example:
Note: INL for the last code=0
4
-0.55
0.18
5
-0.27
-0.37
6
0.64
-0.64
7
-
0
DN L[i ]
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 71
ADC Differential Nonlinearity
Example
Max.
DNL
1
Code
#
DNL [LSB]
0.5
INL
[LSB]
0
-
-
1
0
0
2
-0.37
0
1
3
0.55
-0.37
0.5
4
-0.55
0.18
0
5
-0.27
-0.37
6
0.64
-0.64
-
0
0
-0.5
-1
INL [LSB]
DNL
[LSB]
0
1
2
3
4
-0.5
-1
0
1
2
3
4
5
Max.
INL
5
6
6
7
7 7
Code #
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 72
DAC Integral Nonlinearity
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 73
DAC DNL and INL
* Ref:
“Understanding Data Converters,” Texas Instruments Application
Report SLAA013, Mixed-Signal Products, 1995.
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 74
Example: INL & DNL
Large INL & Small DNL
Large DNL & Small INL
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 75
Monotonicity
•
Monotonicity guaranteed if
| INL | ≤ 0.5 LSB
The best fit straight line is taken as the reference for determining the INL.
•
This implies
| DNL | ≤ 1 LSB
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 76
Non-Monotonic DAC
DN L[ m] =
Analog
Output [LSB]
s eg ment[ m] − V [ L SB ]
V [ LSB]
7
s eg ment[ 4 ] − V [ L SB ]
6
DN L[ 4 ] =
V [ LSB]
− 0. 5 − 1
=
= − 1 . 5[ L S B ]
1
2. 5 − 1
DN L[ 5] ==
= 1.5[ L SB ]
1
5
• DNL< -1LSB for a DAC
Æ Non-monotonicity
• When can nonmonotonicity can cause
major problems?
2
4
3
1
Digital
Input
0
000 001 010 011 100 101 110 111
EECS 247 Lecture 12: Data Converters
© 2006 H. K. Page 77
Non-Monotonic ADC
• Code 011
associated with two 111
transition levels ! 110
Digital Output
101
• For non-monotonic
ADC
ÆDNL not
defined
100
011
010
001
Analog
input
000
0
EECS 247 Lecture 12: Data Converters
Δ
2Δ
3Δ 4Δ 5Δ
6Δ
7Δ
© 2006 H. K. Page 78
Download