Design of Audio Delta-Sigma A/D Converters
-
Upload
hariprasathv -
Category
Documents
-
view
41 -
download
1
description
Transcript of Design of Audio Delta-Sigma A/D Converters
Design of an Audio Delta - Sigma A/D ConverterHari Prasath Venkatram
Contents
I Introduction 1
II Architecture 1
III Modulator Design - I CRFB - using MAT-LAB Toolbox 1
IV Modulator Design - II -CIFF using MAT-LAB Toolbox 2
V Switched-Capacitor Realization and kT/CNoise 3
V-A Switched-Capacitor Implementation . . . . 4
VI Spectre-Verification 4
VIIDecimation Filter 9VII-AHogenauer Filter Structure . . . . . . . . . 9
VIIINon-Ideal Effects 9VIII-AFinite-DC Gain . . . . . . . . . . . . . . . . 9VIII-BBandwidth and Slew-Rate . . . . . . . . . . 12VIII-CAnalog-Noise . . . . . . . . . . . . . . . . . 12VIII-DCapacitor Mismatch - D/A . . . . . . . . . 12
VIII-D.1Butterfly Randomization . . . . . . 12VIII-D.2First-Order Mismatch Shaping . . . 13
VIII-EDigital Truncation Errors . . . . . . . . . . 13
IX Conclusion 14
I. Introduction
Parameter ValueSignal BW 0-20 kHzClock Freq ≤ 5.2 MHzAccuracy ≥ 18 bit
II. Architecture
The maximum oversampling ratio for the given signalbandwidth and the clock frequency is 128. For OSR of 128,several modulators were simulated with 1-4 bit quantizers.Modulator Order Vs Peak SNR for different Quantizers isshown in the figure 1. From the figure 1, the 3-order Mod-ulator with 2 bit quantizer has a peak SNR of 122 dB. The2-nd Order Modulator with 4-bit quantizer has a peak SNRof 116 dB. 3-rd Order Modulator with 2-bit quantizer waschosen to reduce the complexity of the quantizer used in thedelta-sigma modulator. The SQNR for the chosen 3-rd Or-der Modulator is 122 dB. Thus, the design is thermal noiselimited. The complexity of the Dynamic Element Match-ing Logic is reduced by the choice of a 2-bit quantizer. The
1 2 3 4 5 640
60
80
100
120
140
160
Modulator Order
Pea
kSN
Rin
dB
Modulator Order Vs Peak SNR, OSR = 128
1 bit Quantizer 2 bit Quantizer 3 bit Quantizer 4 bit Quantizer
Fig. 1. Order Vs SNR, OSR = 128
Out-Of-Band Gain H∞ = 2 was chosen to allow maximuminput to the quantizer. The advantages of having a low-pass nature for the STF in the CIFB and CRFB modulatorcomes at the cost of large capacitors required for their real-izations. After my initial design in MATLAB for CRFB, Ifound that the capacitors required are very large and hencechanged the modulator architecture to CIFF which gives areasonable values for the capacitors. The following sectionexplains my initial CRFB design and then a CIFF designwhich was implemented in Spectre.
III. Modulator Design - I CRFB - using MATLABToolbox
Among the different architectural choices CIFB,CIFF,CRFBand CRFF, I initially chose CRFB for the following rea-sons [1].• The flicker noise corner for deep-sub micron process arein the order of MHz range. Hence, the STF was chosen tohave a maximally flat lowpass nature to filter any out-bandnoise or tones.• Further, NTF zero optimization was performed to im-prove SQNR by 8-dB when compared to NTF without zerooptimization. This allows me to use a 4 level quantizerinstead of a 9 level quantizer without zero optimizationand reduce the digital logic required for dynamic elementmatching.Further, the dynamic-range scaled coefficients were con-verted to rational fractions. The quantized coefficientscause a peaking of 0.01 dB in the in-band and the over-all peaking in the STF is less than 0.03 dB. Hence, I chosethese quantized coefficients to realize the capacitor ratiosfor the circuit-level implementation.
Z-1
1 - Z-1c1b1
u
a1 a2 a3
Z-1
1 - Z-1c2
1
1 - Z-1c3
g1
x1 x2
x3
y v
TABLE I
Unscaled - CRFB Modulator Coefficients
i ai gi
1 0.1617253168531 3.614248218646310e-042 0.5797742477013 03 0.7504538491571 0
i bi ci
1 0.1617253168531 12 0 13 0 1
TABLE II
Dynamic Range Scaled -CRFB Modulator Coefficients
i ai gi
1 0.255504864607152 9.155624560380091e-042 0.539232455621136 03 0.275531395915048 0
i bi ci
1 0.255504864607152 0.5887025816652572 0 0.3947571457098133 0 2.72366002670908
The choice of this modulator is not optimum in termsof practical realization. The capacitors required for realiz-ing this modulator coefficients are very large. Therefore,I changed my design to CIFF architecture. The follow-ing sections explain the similar design procedure for CIFFmodulator. [1]
TABLE III
Dynamic Range Scaled -CRFB Quantized Modulator
Coefficients
i ai gi bi ci
1 0.25 0.001 0.25 0.62 0.5 0 0 0.43 0.25 0 0 2.7
−120 −100 −80 −60 −40 −20 0
20
40
60
80
100
120
140
Amplitude in dB
SQ
NR
indB
SQNR Vs Amplitude , OSR = 128, H∞=2
−6 −4 −2 0
115
120
125
130
Fig. 2. Amplitude Vs SNR, OSR = 128
−1 −0.5 0 0.5 1−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Real Axis
Imagin
ary
Axis
Pole - Zero Plot
Fig. 3. Pole - Zero Map
IV. Modulator Design - II -CIFF using MATLABToolbox
Among the different architectural choices CIFB,CIFF,CRFBand CRFF, I chose CIFF for the following reasons.
• The Integrators process only the quantization noise,hence the linearity requirements for the integrators are lesswhen compared to CIFB .• Further, NTF zero optimization was performed to im-prove SQNR by 8-dB when compared to NTF without zero
10−3
10−2
10−1
−140
−120
−100
−80
−60
−40
−20
0
Normalized Frequency
dB
NTF w/ and w/o Zero Optimization for 3-rd Order Modulator
w/ Zero Optimization
w/o Zero Optimization
Fig. 4. NTF - Frequency Response
0 0.1 0.2 0.3 0.4 0.5−140
−120
−100
−80
−60
−40
−20
0
20
Normalized Frequency
dB
NTF and STF for 3-rd Order Modulator
NTF
STF
1 1.5 2 2.5 3 3.5
x 10−3
−140
−120
−100
−80
−60
Fig. 5. STF - Maximally Flat Response, NTF
optimization. This allows me to use a 4 level quantizerinstead of a 9 level quantizer without zero optimizationand reduce the digital logic required for dynamic elementmatching.• However, The CIFF architecture requires a active adderbefore the quantizer.
Further, the dynamic-range scaled coefficients were con-verted to rational fractions. The quantized coefficients andthe modified NTF and STF are shown. The scaling ofx3 and x2, leads to very small values of ’g’. Therefore,x3 and x2 were aggressively scaled. I played around withthe DR-scaled coefficients to arrive at the quantized ratio-nal fractions. There is negligible change in the modulatorperformance even after the quantized coefficients. The co-efficients of CIFF modulator at the summing node beforethe quantizer is realized using a switched-capacitor block.Therefore, the coefficients are normalized with common-
TABLE IV
Unscaled - CIFF Modulator Coefficients
i ai gi
1 1.330589521680359 3.613921648891427e-042 0.741499597211506 03 0.161244452225379 0
i bi ci
1 1 12 0 13 0 14 1 -
TABLE V
Dynamic Range Scaled -CIFF Modulator Coefficients
i ai gi
1 1.628625880702360 0.0013134623524472 1.758748119141032 03 1.390005133904675 0
i bi ci
1 0.817001336799664 0.8170013367996642 0 0.5160413542922583 0 0.2751446695185404 1 -
denominator.
V. Switched-Capacitor Realization and kT/CNoise
Considering the switch-ON resistance and the amplifiernoise in fig 13, the total noise power across C1 is given by,
v̄2c1 =
kT
C1
(
1 +x
1 + x+
4
3(1 + x)
)
, x = 2Rongm1
The noise power can be minimized if x ≫ 1. Under theseassumptions, the noise at the input of the first-integratoris 2kT
C1
. The modulator maximum input signal is -2dBFS.Assuming that the modulator has -3 dBFS signal and thethermal noise contribution is about 75%, the capacitancerequired to meet SNR of 110 dB with OSR of 128 is
C1 =4
3
2kT × 10110/10
0.25 × OSR= 34.4pF (1)
TABLE VI
Dynamic Range Scaled -CIFF Quantized Modulator
Coefficients
i ai gi bi ci
1 32/20 0.001 4/5 4/52 17/20 0 0 13 14/20 0 0 1/44 - - 20/20 -
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90
10
20
30
Un-S
cale
dC
oeff
Integrator Output States
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90
1
2
3
DR
-Sca
led
Coeff
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90
1
2
3
4
Normalized Input
Quanti
zed
Sca
led
Coeff
Fig. 12. Dynamic - Range Scaled State Outputs
Z-1
1 - Z-1c2
u
c1
Z-1
1 - Z-1c3
1 - Z-1a3
g1
x1 x2x3 y v
b1 b4
Z-1
D/A
a2
a1
The noise contribution from the second and third integra-tors is very small and unit capacitors were used to realizethe ratio required for the modulator coefficients. The ca-pacitor values and the switched-capacitor implementationis shown in fig. 14 and fig. 16.
A. Switched-Capacitor Implementation
The CIFF modulator was implemented in Spec-tre [2]. The three integrators(fig(14)), active summer,quantizer(fig(16)) and timing(fig(15)) diagram are shownas follows,
VI. Spectre-Verification
The CIFF-3rd Order Modulator was simulated in Ca-dence using macro-models. The simulated model is a dif-
ferential version, whereas the single-ended version is shownin fig 14 for simplicity. Voltage scaling was performed totransform the matlab-model to spectre. The input rangewas set to ±1 Volt and the integrator swings were alsorestricted to ±1 V. The artifacts that were noticeable inthe modulator spectrum are the fifth and seventh harmon-ics. This can be attributed to the non-linear quantizermodel.The Spectre model deviates from the MATLAB PSDat regions close to fs/2. The Out-of-band Modulator spec-trum is not flat. I think this artifact was due to the finite-switch resitance and the non-linear variation of the switchresistance in the cadence model. Further, I used a mid-risequantizer instead of mid-tread quantizer. The simulatedmodulator output spectrum is shown in the fig 17. Thetime-domain simulation output is shown in fig( 18).
−
+
C8
C10
Φ1
Φ1
Φ2Φ2X2
C7
Φ1
Φ2X1
Y
C9
Φ1
Φ2X3
C10
Φ2
Φ1Vin+
Φ2
V
Int / Sum
I - 1
Capacitance(pF)
I- 2
I - 3
Active
C1 = Cd1,2= 50 pF , C2 = 62.5 pF
C3 = C4 = 5 pF
C5 = 0.3 pF, C6 = 1.2 pF
C7 = 3.2 pF, C8 = 1.7 pFC9 = 1.4 pF, C10= C11 = 2 pFSummer
Total-Capacitance - 182.3 pF
Fig. 14. CIFF- SC-Sum and Quantizer
Φ2 Φ1 Φ1 Φ1 Φ1Φ2 Φ2 Φ2 Φ2
X1(n) X1(n+1) X1(n+2) X1(n+3) X1(n+4)X1(n-1)
X2(n) X2(n+1) X2(n+2) X2(n+3) X2(n+4)X2(n-1)
X3(n) X3(n+1) X3(n+2) X3(n+3) X3(n+4)X3(n-1)
V(n) V(n+1) V(n+2) V(n+3)
X1(n) X1(n+1) X1(n+2) X1(n+3) X1(n+4)X1(n-1)
Timing Diagram
Fig. 15. CIFF- SC-Timing
− +
C1
C2
Φ1
Φ1
Φ2
Φ2
Vin
-
− +
C3
C4
Φ1
Φ1
Φ2
Φ2
− +
C5
C6
Φ1
Φ1
Φ2
Φ2
C1,
2Φ
1
Φ1
Φ2
Φ2
Vda
c1,2
x 1x 2
x 3
Φ1
Φ2
Fig.16.CIFF-SC-Integrators
−120 −100 −80 −60 −40 −20 0
20
40
60
80
100
120
140
Amplitude in dB
SQ
NR
indB
SQNR Vs Amplitude , CIFF, OSR = 128, H∞=2
−6 −4 −2 0 2 4
115
120
125
130
Fig. 6. Amplitude Vs SNR, OSR = 128
−1 −0.5 0 0.5 1−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Real Axis
Imagin
ary
Axis
Pole-Zero Plot of NTF
Fig. 7. Pole - Zero Map, CIFF
10−3
10−2
10−1
−140
−120
−100
−80
−60
−40
−20
0
Normalized Frequency
dB
NTF w/ and w/o Zero Optimization for 3-rd Order Modulator
Fig. 8. NTF - Frequency Response, CIFF
0 0.1 0.2 0.3 0.4 0.5−120
−100
−80
−60
−40
−20
0
20
Normalized Frequency
dB
NTF and STF for 3-rd Order Modulator
0.005 0.01 0.015
−120
−100
−80
−60
−40
Fig. 9. STF, NTF, CIFF
0 100 200 300 400 500−3
−2
−1
0
1
2
3
Normalized Input Points
Modula
tor
Outp
ut
CIFF-Modulator Output
V
U
Fig. 10. Modulator Input/Output - Time Domain Simulation
0 0.1 0.2 0.3 0.4 0.5−200
−180
−160
−140
−120
−100
−80
−60
−40
−20
0
Normalized Frequency
Modula
tor
Outp
ut
Spec
trum
indB
CIFF Modulator Spectrum
0 2 4 6 8
x 10−3
−200
−150
−100
−50
0
Fig. 11. PSD - Simulated and Expected, CIFF
−
+
C1
C2
Φ1
Φ1
Φ2
Φ2
ΑVin
Vout
Φ1 Φ2 Φ1 Φ2Φ2
Φ1
CL
Fig. 13. Integrator-Noise
10−2
10−1
−180
−160
−140
−120
−100
−80
−60
−40
−20
Cadence and MATLAB Model Verification
Normalized Frequency
Mod
ulat
or O
utpu
t Spe
ctru
m in
dB
10−1
−80
−60
−40
MATLAB Model
Spectre Model
Ideal NTF
5th Harmonic7th Harmonic
Fig. 17. Spectre-Verification
1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8
x 10−6
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
Time in second(s)
Sta
teO
utp
uts
inV
Spectre-Modulator Output
X1
X2
X3
Y
Fig. 18. State Outputs
VII. Decimation Filter
The Decimation filter should satisfy the following crite-ria,
• The composite response of the NTF and the decimationfilter should be a low-pass transfer function.• The gain response should be flat and supress harmonicsat fs/OSR.
A. Hogenauer Filter Structure
As a first-cut design solution, a 4th order HogenauerSinc-Filter structure was implemented with downsamplingof 128. The droop in the pass-band edge is around 15 dB.The filter response and decimated time domain output isshown in fig VII-A and fig 20 respectively.
10−3
10−2
10−1
−160
−140
−120
−100
−80
−60
−40
−20
0
Normalized Frequency
Magnit
ude
indB
Decimation Filter and NTF Response
Hogenauer Sinc4 Filter Structure
CIFF,3rd Order Modulator NTF
Signal−Band Edge
Downsample by 128. Notches @nf
s/128, n = 1,2.....
15 dB Droop at band−edge
Fig. 19. Sinc4 Hogenauer Structure
Therefore, Decimation filter was designed in two-steps.First, A 4th order Sinc-filter was implemented with down-sampling of 4 [3]. This was followed by a 8th order Ellip-tic filter with downsampling of 32 to give the data at theNyquist rate. The Filter-response normalized to the sam-pling frequency fs is shown in the fig 22. Note that thereare two-different set of axes in the fig 22. The decimationfilter-block is shown in fig 21. The entire A/D model wassimulated in MATLAB and Cadence. The power-spectraldensity of Spectre-Model and Hogenauer decimated outputis shown in fig(24) and fig(23) are shown below.
0 0.5 1 1.5 2 2.5 3 3.5
x 10−3
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Am
plitu
de
inV
Decimated A/D Time-Domain Output at Nyquist Rate
Fig. 20. Decimated time domain output
Sinc4 Filter 4 Elliptic - 8th32
Order Filter
1.28 MHz∆Σ Output 40 kHz
Decimation Filter
1 - Z-1
1
1 - Z-1
1
1 - Z-1
1
1 - Z-1
1
1 - Z-11 - Z-11 - Z-11 - Z-1
KK = (1/128)4
128
∆Σ Output
Yout
Hogenauer Filter Structure
Fig. 21. Decimation in 2-steps, Sinc4,Elliptic Filter
VIII. Non-Ideal Effects
A. Finite-DC Gain
The finite DC-gain for the non-inverting integrator isanalyzed as follows [4],
Vo(z)
Vin(z)=
C1
C2(1 + 1Adc
)
Z−1
1 + C1
C2(A+1) − Z−1
Therefore, the zero is shifted from DC to C2(A+1)C2(A+1)+C1
. If
the signal bandwidth is much higher than the above cornerfrequency, the effect of DC-gain on modulator output isminimal. This condition translates to Adc(π + 2) ≫ OSR.However, the derivation assumes the integrator is linear.
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−160
−140
−120
−100
−80
−60
−40
−20
0
Normalized Frequency, f/fs
Magnit
ude
indB
0 0.1
−120
−80
−40
0
Normalized Frequency, f/fs
Magnit
ude
indB
8th Order Elliptic Filter, downsample by 32
NTF
Sinc4, downsample by 4
Fig. 22. Decimation in 2-steps, Sinc4,Elliptic Filter
1000 2000 3000 4000 5000 6000 7000
−200
−180
−160
−140
−120
−100
−80
−60
−40
−20
0
A/D Spectrum after Decimation
Frequency in Hz
Spec
trum
indB
A/D SpectrumCumulate SNR
SNR = 133.8 dBENOB = 21.94 bits
Fig. 23. Decimated A/D Spectrum
103
104
105
106
−180
−160
−140
−120
−100
−80
−60
−40
−20
0
Frequency in Hz
Modula
tor
Spec
trum
indB
Spectre-Model and Cumulate SNR
Band-Edge
-122 dB, 20 bit ENOB
Fig. 24. PSD-Spectre Model
−
+
C1
C2
Φ1
Φ1
Φ2
Φ2
Α
-V/A
Vin
V
C1 C2
Φ1
Φ2
Vin[n-1]C1 V[n-1](1+1/A)
C1
C2
V[n-1/2](1/A) V[n-1/2](1+1/A)C2
Φ1 Φ2 Φ1 Φ2Φ2
103
104
105
106
−200
−180
−160
−140
−120
−100
−80
−60
−40
−20
0PSD of a 3rd-Order Sigma-Delta Modulator
Frequency [Hz]
PSD
[dB
]
Adc = 25
Adc = 38
Adc = 100
Adc = 500
Adc = 1000
Fig. 25. Finite DC-Gain Effect
25 30 35 40 45 50 55 6090
95
100
105
110
115
120
125
130
DC-Gain in dB
SN
Rin
dB
SNR Vs DC-Gain
Fig. 26. Finite DC-Gain Effect
B. Bandwidth and Slew-Rate
The finite-bandwidth of the integrator causes a gain-error dependant on the bandwidth of the integrator [5].However, If the bandwidth of the integrator is very-low themodulator might become unstable. When compared to theeffect of slew-rate on modulator output , the bandwidthcauses only a linear gain error. The slew-rate effect causesnon-linearities at the modulator output. The integratoroutput histogram is shown in the figure 28. If the inte-grators are allowed to slew for only 20% of the Ts/2, theslew-rate requirement is 51 V/µs. The Slew-rate causesnon-linear distortion in the modulator output spectrum.Fig. 29. The output of the integrator is expressed as thefollows,
vo(kT + t) = vo(kT ) +C1
C2(1 + 1Adc
)u(kT )(1 − e−t/τ )
The maximum rate of the above expression is C1u(kT )C2×τ .
Therefore, the integrator will slew if the above maximumrate is larger than the integrator slew-rate.
104
105
−180
−160
−140
−120
−100
−80
−60
−40
−20
Frequency in Hz
Modula
tor
Spec
trum
indB
PSD Vs GBW, CIFF
GBW = 4 MHz
GBW = 5 MHz
GBW = 10 MHz
GBW = 15 MHz
Fig. 27. Gain-Bandwidth Effect
C. Analog-Noise
Considering the switch-ON resistance and the amplifiernoise in fig 13, the total noise power across C1 is given by,
v̄2c1 =
kT
C1
(
1 +x
1 + x+
4
3(1 + x)
)
, x = 2Rongm1
By having larger gmRon product, the contribution from theamplifier can be reduced [1]. Further, the noise-transferfunction from each integrator input to the output is calcu-lated from the figure(30), as follows,
B(z) =a1z
−1
1 − z−1+
a2c2z−2
(1 − z−1)2+
c2c3a3z−3
(1 − z−1)3(2)
−0.5 0 0.50
2000
4000
x1 - state
No
ofhit
s
Integrator Output Histogram
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.30
2000
4000
x2 - state
No
ofhit
s
−0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.20
2000
4000
x3 - state
No
ofhit
s
Fig. 28. integrator output histogram
104
105
−160
−140
−120
−100
−80
−60
−40
−20
Frequency in Hz
Pow
erSpec
tralD
ensi
ty
Modulator Spectrum - Effect of Slew Rate
SR = 1 V/µ sSR = 5 V/µ sSR = 40 V/µ s
Fig. 29. Slew-Rate Effect
C(z) =a2z
−1
1 − z−1+
a3c3z−2
(1 − z−1)2(3)
D(z) =a3z
−1
1 − z−1(4)
(5)
vn1(z)
vo(z)=
B(z)
1 + B(z),vn2(z)
vo(z)=
C(z)
1 + B(z)(6)
vn3(z)
vo(z)=
D(z)
1 + B(z)(7)
(8)
The noise transfer function from the first-integrator dom-inates the total noise power at the output of the modulator.
D. Capacitor Mismatch - D/A
D.1 Butterfly Randomization
Butterfly randomization was implemented for a four-level D/A with 7 unary elements for 10-bit and 12-bit linear
Z-1
1 - Z-1c2
u
c1
Z-1
1 - Z-1c3
1 - Z-1a3
g1
x1 x2x3 y v
b1 b4
Z-1
D/A
a2
a1
vn,1
vn,2 vn,3 vn,4
Fig. 30. CIFF-Noise
0 5 10 15 200
2
4Thermometer-Coding
0 5 10 15 200
2
4First-Order Shaping
Fig. 31. Element Selection Logic
feedback D/A Converter [5]. The modulator output spec-trum is shown in fig 33. The SNR determined by just themismatch error and oversampling ratio is
SNR =3M
OSR × σ2x
D.2 First-Order Mismatch Shaping
First-Order Mismatch Shaping switching sequence isshown in the figure 31 and mismatch shaped 8-bit and 10-bit linear feedback D/A. The first-order mismatch shapingand DWA gives similar switching sequences [1].
E. Digital Truncation Errors
For 120 dBFS truncation noise, the word lengths re-quired for the Sinc-Filter are
∆2
12 × OSR≤ 10−12
× 0.25/2 ⇒ Word − Length = 19 (9)
For Second-Integrator
∆2
12 × OSR3≤ 10−12
× 0.25/2 ⇒ Word − Length = 12 (10)
The Decimated A/D spectrum for different word-lengthsis shown in fig 34
0.5 1 1.5 2 2.5 3 3.5
x 10−3
−140
−120
−100
−80
−60
−40
−20
DAC−Mismatch and Butterfly Randomization (Signal Band)
Normalized Frequency
Sm
ooth
ed M
odul
ator
PS
D in
dB
10−bit D/A12−bit D/A10−bit D/A w/ Butterfly Randomization
Fig. 32. Butterfly Randomization
10−2
−160
−140
−120
−100
−80
−60
−40
−20
Sm
ooth
edP
SD
indB
Normalized Frequency
First-Order Mismatch Shaping - CIFF 3rd Order Modulator Output
8−b D/A
8−b D/A, 1st Shaping
ideal DAC10−b D/A
10−b D/A, 1st Shaping
Fig. 33. First-Order Shaped Modulator Spectrum
103
104
−160
−140
−120
−100
−80
−60
−40
−20
Frequency in Hz
A/D
Outp
ut
Spec
trum
indB
A/D Output Spectrum after Decimation with Sinc4 Filter
No Truncation Error
16-bit Word Length
20-bit Word Length
10-bit Word Length
Fig. 34. A/D Spectrum - Digital Truncation Errors
Architecture CIFF
Order 3rd
OSR 128Bandwidth 0-20 kHz
Clock Frequency 5.12 MHzAccuracy 21 bitsPeak SNR 122 dBMax InputAmplitude 0.7 Vp
TotalCapacitance 183.2 pF
Quantizer Levels 5Adc ≥ 100
Slew-Rate 25V/µsBandwidth ≥ 7 MHz
D/A Mismatch 10-bitDecimation Hogenauer,Elliptic
Register Length 19,12
TABLE VII
Performance Summary
References
[1] R. S. G. C. Temes, Understanding Delta-Sigma Data Converters.IEEE Press, 2005.
[2] R. Gregorian and G. C. Temes, Analog MOS Integrated Circuitsfor Signal Processing. Wiley Series on Filters, 1986.
[3] E. Hogenauer, “An economical class of digital filters for decima-tion and interpolation,” Acoustics, Speech and Signal Processing,IEEE Transactions on, vol. 29, no. 2, pp. 155–162, Apr 1981.
[4] G. Suarez, M. Jimenez, and F. Fernandez, “Behavioral Model-ing of Switched Capacitor Integrators with Application to ∆ −ΣModulators,” vol. 2, Aug. 2006, pp. 709–713.
[5] F. Maloberti, Data Converters. Springer, 2007.
IX. Conclusion
A 3rd order CIFF Audio-band Modulator was designedin cadence and MATLAB. Spectre macro-models were usedfor simulating the high-level modulator. The various non-ideal effects like slew-rate, bandwidth, capacitor mismatchwere analyzed using SIMULINK models. The performancesummary is presented above.
%Simulate SNR
clear all;
set(0,’DefaultAxesFontSize’,16,...
’DefaultAxesFontWeight’,’bold’,...
’DefaultAxesFontName’,’times’,...
’DefaultAxesLineWidth’,2,...
’DefaultAxesGridLineStyle’,’:’,...
’DefaultAxesMinorGridLineStyle’,’:’,...
’DefaultLineLineWidth’,2,...
’DefaulttextInterpreter’,’latex’);
nlev = 4;
amp=[-120:5:-20 -17:1:0];
Nfft = 2^14;
finhigh = 31/Nfft;
finlow = 3/Nfft;
t=[0:4*Nfft-1];
OSR=128;
f0=0;
% for order = 1:8
% for bit = 1:4
% nlev=2^bit;
% H=synthesizeNTF(order,128,1,1.5,0);
% [snr,amp]=simulateSNR(H,128,amp,0,nlev,1/(4*128),14);
% snr_peak(order,bit)=max(snr);
% end
% end
% i=1:8
% for j=1:4
% plot(i,snr_peak(:,j));
% hold on
% end
H=synthesizeNTF(3,128,1,2,0);
H1=synthesizeNTF(3,128,0,2,0);
[snr,amp]=simulateSNR(H,128,amp,0,nlev,finhigh,13);
plot(amp,snr,’r’)
[peak_snr1,peak_amp1]=peakSNR(snr,amp);
hold on
[snr,amp]=simulateSNR(H,128,amp,0,nlev,finlow,13);
plot(amp,snr)
[peak_snr,peak_amp]=peakSNR(snr,amp);
xlabel(’Amplitude in dB’)
ylabel(’SQNR in dB’)
title(’SQNR Vs Amplitude , OSR = 128, $H_{\infty}$=2’)
axis([-120 0 10 140])
grid on
figure
%NTF Diagram
[num,den,fs]=tfdata(H,’v’);
[h,w]=freqz(num,den,linspace(1e-3,1,10000));
[num,den,fs]=tfdata(H1,’v’);
[h1,w1]=freqz(num,den,linspace(1e-3,1,10000));
semilogx(w,20*log10(abs(h)),w,20*log10(abs(h1)));
xlabel(’Normalized Frequency’);
ylabel(’dB’);
title(’NTF w/ and w/o Zero Optimization for 3-rd Order Modulator’)
axis([1e-3 0.5 -140 10]);
% Modulator Output and Spectrum
%
form=’CIFF’;
[a,g,b,c]=realizeNTF(H,form);
%b(2:end)=0; %Maximally flat STF;
ABCD=stuffABCD(a,g,b,c,form);
[Ha Ga] = calculateTF(ABCD);
f=linspace(0,0.5,1000);
z=exp(2i*pi*f);
magHa=dbv(evalTF(Ha,z));
magGa=dbv(evalTF(Ga,z));
figure
plot(f,magHa,’b’,f,magGa,’r’)
xlabel(’Normalized Frequency’)
ylabel(’dB’)
title(’NTF and STF for 3-rd Order Modulator’);
figure
plotPZ(Ha,’b’)
hold on
xlabel(’Real Axis’)
ylabel(’Imaginary Axis’)
title(’Pole-Zero Plot of NTF’)
%Time Domain Simulation
u=0.5*(nlev-1)*sin(2*pi*finhigh*t);
v=simulateDSM(u,H,nlev);
n=1:3000;
figure
stairs(t(n),v(n),’b’);
hold on
stairs(t(n),u(n),’m’);
v1=v(end-2^14+1:end);
spec=fft(v1.*hann(Nfft))/(Nfft*(nlev-1)/4);
snr=calculateSNR(spec(1:ceil(Nfft/(2*OSR))+1),31);
NBW=1.5/Nfft;
f=linspace(0,0.5,Nfft/2+1);
Sqq = 4*(evalTF(H,exp(2i*pi*f))/(nlev-1)).^2/3;
figure
plot(f,dbv(spec(1:Nfft/2+1)),’b’);
hold on
plot(f,dbp(Sqq*NBW),’m’);
%Stability of the modulator with quantizer gain
figure
l1 = 1- 1/Ga;
f=linspace(0,0.5,1000);
z=exp(2i*pi*f);
magl1=evalTF(l1,z);
subplot(2,1,1),plot(f,dbv(magl1));
subplot(2,1,2),plot(f,180/pi*angle(magl1));
%Dynamic Range Scaling
xlim = 0.6
[ABCDs umax]=scaleABCD(ABCD,nlev,f0,[3 3 3])
[a1 g1 b1 c1] = mapABCD(ABCDs,form)
figure
u1=0.01:0.01:0.82;
for i=1:82
u=0.01*i*(nlev-1)*sin(2*pi*finhigh*t);
[v xn xmax y] = simulateDSM(u,ABCD,nlev,zeros(3,1));
x1(i)=xmax(1,1);
x2(i)=xmax(2,1);
x3(i)=xmax(3,1);
end
u1=0.01:0.01:0.82;
for i=1:82
u=0.01*i*(nlev-1)*sin(2*pi*finhigh*t);
[v xn xmax y] = simulateDSM(u,ABCDs,nlev,zeros(3,1));
x4(i)=xmax(1,1);
x5(i)=xmax(2,1);
x6(i)=xmax(3,1);
end
%Fractional Realizations
a2=[1.6 .875 0.7];
b2=[0.8 0 0 1];
c2=[0.8 1 0.25];
g2=0;
ABCDf=stuffABCD(a2,g2,b2,c2,form);
u1=0.01:0.01:0.82;
for i=1:82
u=0.01*i*(nlev-1)*sin(2*pi*finhigh*t);
[v xn xmax y] = simulateDSM(u,ABCDf,nlev,zeros(3,1));
x7(i)=xmax(1,1);
x8(i)=xmax(2,1);
x9(i)=xmax(3,1);
end
% hold on
subplot(3,1,1),plot(u1,x1,’b’,u1,x2,’r’,u1,x3,’g’);
hold on
subplot(3,1,2),plot(u1,x4,u1,x5,u1,x6)
hold on
subplot(3,1,3),plot(u1,x7,u1,x8,u1,x9)
hold on
lim1=ones(length(u1))*3;
hold on
subplot(3,1,1),plot(u1,lim1,’m’)
hold on
subplot(3,1,2),plot(u1,lim1,’m’)
hold on
subplot(3,1,3),plot(u1,lim1,’m’)
%NTF and STF after fractional realization
[Ha Ga] = calculateTF(ABCDf);
f=linspace(0,0.5,1000);
z=exp(2i*pi*f);
magHa=dbv(evalTF(Ha,z));
magGa=dbv(evalTF(Ga,z));
figure
plot(f,magHa,’b’,f,magGa,’r’)
xlabel(’Normalized Frequency’)
ylabel(’dB’)
title(’NTF and STF for 3-rd Order Modulator’);
figure
plotPZ(Ha,’b’)
hold on
xlabel(’Real Axis’)
ylabel(’Imaginary Axis’)
title(’Pole-Zero Plot of NTF’)
% Simulate ESL
sigma_d=1/256
v = (v+nlev-1)/2; % scale v to [0,M]
mtf1 = zpk(1,0,1,1); %First-order shaping
sv1 = simulateESL(v,mtf1,nlev);
echo off
T = 20;
figure
subplot(211);
plotUsage(thermometer(v(1:T),nlev));
set(gcf,’NumberTitle’,’off’);
set(gcf,’Name’,’Element Usage’);
title(’Thermometer-Coding’)
subplot(212);
plotUsage(sv1(:,1:T));
title(’First-Order Shaping’);
ideal = v;
% DAC element values
e_d = randn(nlev,1);
e_d = e_d - mean(e_d);
e_d = sigma_d * e_d/std(e_d);
ue = 1 + e_d;
% Convert v to analog form, assuming no shaping
thermom = zeros(nlev+1,1);
for i=1:nlev
thermom(i+1) = thermom(i) + ue(i);
end
conventional = thermom(v+1)’;
% Convert sv to analog form
dv1 = ue’ * sv1;
window = ds_hann(Nfft);
spec = fft(ideal.*window)/(nlev*Nfft/8);
spec0 = fft(conventional.*window)/(nlev*Nfft/8);
spec1 = fft(dv1.*window)/(nlev*Nfft/8);
figure; clf
plotSpectrum(spec0,31,’r’);
hold on;
plotSpectrum(spec1,31,’b’);
plotSpectrum(spec,31,’g’);
sigma_d=1/1024
%v = (v+nlev-1)/2; % scale v to [0,M]
mtf1 = zpk(1,0,1,1); %First-order shaping
sv1 = simulateESL(v,mtf1,nlev+1);
echo off
ideal = v;
% DAC element values
e_d = randn(nlev,1);
e_d = e_d - mean(e_d);
e_d = sigma_d * e_d/std(e_d);
ue = 1 + e_d;
% Convert v to analog form, assuming no shaping
thermom = zeros(nlev+1,1);
for i=1:nlev
thermom(i+1) = thermom(i) + ue(i);
end
conventional = thermom(v+1)’;
% Convert sv to analog form
dv1 = ue’ * sv1;
window = ds_hann(Nfft);
spec3 = fft(conventional.*window)/(nlev*Nfft/8);
spec4 = fft(dv1.*window)/(nlev*Nfft/8);
plotSpectrum(spec3,31,’m’);
plotSpectrum(spec4,31,’c’);
axis([1e-3 0.5 -200 0]);
x1 = 2e-3; x2=1e-2; y0=-180; dy=dbv(x2/x1); y3=y0+3*dy;
plot([x1 x2 x2 x1],[y0 y0 y3 y0],’k’)
text(x2, (y0+y3)/2,’ 60 dB/decade’)
hold off;
grid;
ylabel(’PSD’);
xlabel(’Normalized Frequency’);
legend(’thermometer’,’rotation’,’ideal DAC’);