Calibration of the ProtoDUNE ADC Non-linearity...e.g. 101,001 ⇒000,000 or 111,111 • Can be...

29
Calibration of the ProtoDUNE ADC Non-linearity Wenqiang Gu Brookhaven National Laboratory 1

Transcript of Calibration of the ProtoDUNE ADC Non-linearity...e.g. 101,001 ⇒000,000 or 111,111 • Can be...

  • Calibration of the ProtoDUNEADC Non-linearity

    Wenqiang Gu

    Brookhaven National Laboratory

    1

  • Outline

    • ProtoDUNE TPC readout electronics

    • ADC nonlinearity (NL) and other issues

    • Motivation and idea of the NL calibration

    • Validation with a Monte Carlo study

    • Summary and working plan

    2

  • WIRE SIGNAL

    • Cold preamplifier• Gain: 4.7, 7.8, 14, or 25 mV/fC

    • Shaping time: 0.5, 1.0, 2.0, or 3.0 µs

    • Cold ADC (Analog to Digital Converter)• Continuous time & amplitude discrete t & amp.

    • 12 bits: 4096 minimum steps in full range (1.2V)

    • 2 MHz sampling rate

    ProtoDUNE TPC readout electronics

    3

    µBooNE: 14 mv/fC + 2.0 µs

    V. Radeka et al. Cold electronics for ‘Giant’ Liquid

    Argon Time Projection Chambers,

    J. Phys. Conf. Ser. 308 (2011) 012021.

  • Readout scheme of ADC circuit

    • 16 channels per ADC circuit

    4

    FPGA

    InternalPattern

    Generator

    2:1MUXRST

    READ

    IDXM

    IDXL

    IDL

    Clock 200MHz

    (100MHz)

    RST

    READ

    IDXM

    IDXL

    IDL

    FEASIC

    CHN0

    CHN15

    Input Buffer

    ADC15

    ADC0

    D0 – D11

    D0 – D11

    FIFO

    CLK1:CLK0

    2 Global bits (CLK1:CLK0) 00 or 11 : Control signals from internal logic 01: ADC control signals directly from FPGA

    P1 ADC ASIC

    • 12 bits /channel saved in FIFO buffere.g. 2048 = 100,000,000,000

    Most significant bits (MSB) Least significant bits (LSB)

  • Readout scheme of ADC circuit

    • 16 channels split into two readout chains from FIFO

    5

    FPGA

    InternalPattern

    Generator

    2:1MUXRST

    READ

    IDXM

    IDXL

    IDL

    Clock 200MHz

    (100MHz)

    RST

    READ

    IDXM

    IDXL

    IDL

    FEASIC

    CHN0

    CHN15

    Input Buffer

    ADC15

    ADC0

    D0 – D11

    D0 – D11

    FIFO

    CLK1:CLK0

    2 Global bits (CLK1:CLK0) 00 or 11 : Control signals from internal logic 01: ADC control signals directly from FPGA

    P1 ADC ASIC

  • Readout scheme of ADC circuit

    • The read/write logic must be synchronized through five control signals

    6

    FPGA

    InternalPattern

    Generator

    2:1MUXRST

    READ

    IDXM

    IDXL

    IDL

    Clock 200MHz

    (100MHz)

    RST

    READ

    IDXM

    IDXL

    IDL

    FEASIC

    CHN0

    CHN15

    Input Buffer

    ADC15

    ADC0

    D0 – D11

    D0 – D11

    FIFO

    CLK1:CLK0

    2 Global bits (CLK1:CLK0) 00 or 11 : Control signals from internal logic 01: ADC control signals directly from FPGA

    P1 ADC ASIC

  • Readout scheme of ADC circuit

    • These five signals can be generated internally inside the ADC by a 200 MHz clock (2 MHz digitization) or taken externally

    7

    FPGA

    InternalPattern

    Generator

    2:1MUXRST

    READ

    IDXM

    IDXL

    IDL

    Clock 200MHz

    (100MHz)

    RST

    READ

    IDXM

    IDXL

    IDL

    FEASIC

    CHN0

    CHN15

    Input Buffer

    ADC15

    ADC0

    D0 – D11

    D0 – D11

    FIFO

    CLK1:CLK0

    2 Global bits (CLK1:CLK0) 00 or 11 : Control signals from internal logic 01: ADC control signals directly from FPGA

    P1 ADC ASIC

  • Known issues for current ProtoDUNE ADC

    • Non-linearity (NL)

    • Stuck bits• Some bits lost randomly in a wire

    waveforme.g. 101,001 ⇒ 000,000 or 111,111

    • Can be mitigated by identifying them and interpolating the waveform

    • Low temperature degrades the electronics and read/write logics

    8

    noise

    non-linearitystuck bit at 63

    stuck bit at 0

  • Known issues for current ProtoDUNE ADC

    • Non-linearity (NL)

    • Stuck bits• Some bits lost randomly in a wire

    waveforme.g. 101,001 ⇒ 000,000 or 111,111

    • Can be mitigated by identifying them and interpolating the waveform

    • External clock eases both issues

    • NL is sensitive to clock settings9

  • Motivation of the NL calibration • 600e- ENC (equivalent noise charge) at ProtoDUNE

    • Given 14 mV/fC (preamp) and 0.3 mV/ADC conversion

    • 600 e- ≈ 0.1 fC ≈ 1.4 mV ≈ 4.5 ADCs

    • Would like to control the NL below 4 ADC for ADCtrue-ADCmeasure in the useful range

    By Hucheng10

  • Difficulty from a bench test to ProtoDUNE

    • Bench test

    11

    WIRE SIGNAL

    CALIBRATION SIGNAL(KNOWN VOLTAGE)

    • ProtoDUNE

    No direct voltage input!

    Also, NL is sensitive to clock settings• (bench test) clock is tuned for

    each ADC• (protoDUNE) one clock shared by

    four ADC curcuits

  • Idea of the NL calibration setup

    12

    • Similar setup as in MicroBooNE• 6 bit pulser, i.e. 64 programmable amplitudes (

  • Effective sampling rate

    • 0.5 μs sampling (2 MHz)

    • shift t0 => effectively higher sampling rate

    13

  • Direct measurement of non-linearity?

    • Given a precise prediction of the preamp response

    a direct measurement

    • However, low temperature change the response significantly

    14

    ADCmeasureADCtrue

    A MC simulatoin

  • A(t)

    t

    … 𝜂𝐺: 64*4

    A(t)

    t

    × 1/ 𝜂𝐺

    with NL

    Naïve idea of the impact from NL

    • Assuming pulse voltage and the preamp gain do NOT change the shape of response

    • NL distorts the shape differently for high ADC and low ADC

    15

    V(t)

    t

    𝜂𝐺: 64*4pulse voltage& preamp gain

    V(t)

    t

    × 1/ 𝜂𝐺

    w/o NL

  • Sanity check with a MC simulation

    w/o NL

    with NL

    All waveforms match perfectly

    16

    ADCmeasureADCtrue × 1/ 𝜂𝐺

    Input NL in MC

  • Calibration strategy

    • By assuming a function of non-linearity• a piecewise function• or a polynomial function

    • Minimize the variance in A(t)/𝜂G• i.e. the effective response function

    • ~O(10k) data points & ~O(10) unknowns

    should be a solvable problem

    • A channel by channel calibration plan

    17

    NL varies among channels

  • AD

    Cm

    easu

    re

    Proof of principle with MC simulation

    ΔV

    Pluse input

    C (~185fF)pin62

    Chn_N

    CSA

    SHAPER

    Gain: 4.7, 7.8, 14, 25 mV/fC

    VDAC: 0 ~ 1.2V63 steps

    18

    Amp output saturation

    Amp input saturation

    Pulse voltage

    Pre

    amp o

    utp

    ut

    volt

    age

    9900 points10 MHz effective sample rate

    • By ignoring some saturations in preamp, a 10k data set is possible

    ADCmeasure / (VDAC × Gamp)

    ADCtrue

  • AD

    Cm

    easu

    re

    𝜒2(𝛼) =

    𝑖

    𝐴𝑖 + 𝑓𝛼 𝐴𝑖 − 𝑅

    𝛼−1 𝑡𝑘 𝐺𝑖2

    𝜒2 minimization

    19

    i-th data point

    NL correction function(To be fitted out)

    index of the 𝛼-th iteration𝐺𝑖 = pulse voltage × preamp gain (A normalization of charge input)

    Time tick for 𝐴𝑖

    𝑅 𝛼−1 (𝑡𝑘) =1

    𝑁σ

    𝐴𝑖+𝑓(𝛼−1)(𝐴𝑖)

    𝐺𝑖is the

    effective response function(Calculated with the NL function from best fit of previous iteration)

    (𝐴𝑖, 𝐺𝑖, 𝑡𝑘)

  • χ2 minimization (cont’)

    𝑓 𝐴𝑖 =

    𝑦0 +𝑦1 − 𝑦01000

    𝐴𝑖 − 0 , 𝐴𝑖 ∈ [0,1000)

    𝑦1 +𝑦2 − 𝑦11000

    𝐴𝑖 − 1000 , 𝐴𝑖 ∈ [1000,2000)

    𝑦2 +𝑦3 − 𝑦21000

    𝐴𝑖 − 2000 , 𝐴𝑖 ∈ [2000,3000)

    𝑦3 +𝑦4 − 𝑦31000

    𝐴𝑖 − 3000 , 𝐴𝑖 ∈ [3000,4000)

    = 𝑏0𝑦0 + 𝑏1𝑦1 + 𝑏2𝑦2 + 𝑏3𝑦3 + 𝑏4𝑦4

    =

    𝑏0 = 1 −𝐴𝑖

    1000, 𝑏1 =

    𝐴𝑖

    1000, 𝐴𝑖 ∈ [0,1000)

    𝑏1 = 1 −𝐴𝑖−1000

    1000, 𝑏2 =

    𝐴𝑖−1000

    1000, 𝐴𝑖 ∈ [1000,2000)

    𝑏2 = 1 −𝐴𝑖−2000

    1000, 𝑏3 =

    𝐴𝑖−2000

    1000, 𝐴𝑖 ∈ [2000,3000)

    𝑏3 = 1 −𝐴𝑖−3000

    1000, 𝑏4 =

    𝐴𝑖−3000

    1000, 𝐴𝑖 ∈ [3000,4000) 20

    For a piecewise function,the coefficients are calculated before the minimization

    0 10

    00

    20

    00

    30

    00

    40

    00

    y1y2

    y3y4 y5

    𝐴𝑖

    𝑓(𝐴𝑖)

    bothers = 0

  • χ2 minimization (cont’)

    • Given 𝑓 𝐴𝑖 from last iteration (𝛼-1 th) or initial guess (0-th), an effective response function 𝑅(𝑡𝑘) is obtained

    e.g., 𝑓 𝐴𝑖 = 𝑏0𝑦0 + 𝑏1𝑦1 +⋯+ 𝑏4𝑦4 (five points)

    𝜒2 = σ 𝐴𝑖 + 𝑏0𝑦0 +⋯+ 𝑏4𝑦4 − 𝑅(𝑡𝑘)𝐺𝑖2

    =𝐴𝑖−𝑅𝐺𝑖…𝐴𝑚−𝑅𝐺𝑚

    − −𝑏0𝑖

    …−𝑏1

    𝑖

    …−𝑏2

    𝑖

    …−𝑏3

    𝑖

    …−𝑏4

    𝑖

    𝑦0𝑦1𝑦2𝑦3𝑦4

    2

    = 𝑀 − 𝑅 ⋅ 𝑆 2

    ⇒ By minimizing 𝜒2, {𝑦0, 𝑦1, 𝑦2, 𝑦3, 𝑦4} ≡ 𝑆 = 𝑅𝑇𝑅 −1𝑅𝑇𝑀

    ⇒ Iterate the minimization until 𝑓 𝐴𝑖 converges21

  • Evolution of the “best-fit” 𝑓(𝐴𝑖) and 𝑅(𝑡)

    • Given initial value {𝑦𝑖} = {0, 0, 0, 0, 0}

    • After several times of iterations, “best-fit” NL 𝑓(𝐴𝑖) and effective response 𝑅(𝑡) tends to be stable

    • The spread in 𝑅(𝑡) significantly shrinks after minimization

    22

    True

    Iter. #1Iter. #2𝑅

    (𝑡)

    True

    InitialADC

    tru

    e–

    AD

    Cm

    easu

    re

    ADCmeasure

    Electronics response bias ≈ 9

    NL bias?

  • For initial values {𝑦𝑖} = {𝑦true}

    • Not surprising. Ture 𝑓(𝐴𝑖) and 𝑅(𝑡) are obtained given the initial values close to the true values

    23

    𝜒2= 5E-5 (iter# 5)

  • For initial values {𝑦𝑖} = {-10, -10,-10,-10,-10}

    • The spread in 𝑅 𝑡𝑘 is barely seen after iterations of 𝜒2 minimization

    • Smaller biases in both 𝑓 𝐴𝑖 and 𝑅(𝑡𝑘) than {𝑦𝑖} ={0, 0, 0, 0, 0}

    • Will the bias be a problem? (next slide)

    24

    Δ=3.5

    Initial

    𝜒2= 0.0016 (iter# 5)

  • 25

    time

    R(t

    ) -- “best fit” 1-- “best fit” 2-- true

    Signal formation

    𝐴𝑖 = 𝑅 ⋅ 𝐺𝑖 − 𝑓𝑖

    Electronics response

    Charge input

    NL effect

    Signal processing

    𝐺𝑖 = 𝐴𝑖 + 𝑓𝑖 /𝑅

    Signal measurement

    NL correction

    Electronics response

    deconvolutionGiven a data set {𝐴𝑖, 𝐺𝑖}, and two “best-fits”

    𝑓𝑖𝑅 = (𝐴𝑖 + 𝑓𝑖)/𝐺𝑖

    𝑓𝑖′

    𝑅′ = (𝐴𝑖 + 𝑓𝑖′)/𝐺𝑖

    𝑅′𝐺𝑖 − 𝑓𝑖′𝑅𝐺𝑖 − 𝑓𝑖 ⇒ 𝑨𝒊 ⇐

    Similarly, for a signal 𝐴𝑖, two effective NL and response lead to same charge results

    For a charge 𝐺𝑖,

    Two “best-fit” NL and responsesare equivalent for charge deconvolution!

  • MC validation of the degeneracy

    • Given a same charge input, the waveform predictions are close (

  • Interim summary

    • Principle of ADC nonlinearity (NL) calibration for protoDUNE was studied through a simplified Monte Carlo study (will improve it!)

    • With a series of well controlled pulses to the charge preamplifier, an effective ADC NL and an effective electronics response function of the preamplifier can be obtained

    • The ionization charge can be accurately extracted given these two effective response functions

    27

  • Working plan

    • Carlos Sarasty from Cincinnati University join us this summer

    • Towards a more realistic MC• More realistic NL function (is minimization still available?)

    • Induction plane waveform

    • Pedestal

    • Accuracy of preamplifier gain

    • Impact of stuck bits

    • Let’s work on real data!• Bench test data taken by Shanshan Gao (BNL)

    • Verify the algorithm

    28

  • Helpful discussion with DAQ group

    • There are details to be worked out, but there is no show stopper

    • Current difficulty in DAQ is that it takes 2 mins to change FE settings and switch to a new run

    • Take 4 preamp gains, 64 pulser voltages, and 5 time-zero shift in calibration, it will take about 1.5 days in switching runs

    • Two possible solutions:

    a) Reduce the number of scan by studying the precision of calibration

    b) Develop a new DAQ software module that allows FE changes during a run

    29