SPADIC 1.0 Digital Signal Processing - SuS - Homepage des ... · Michael Krieger SPADIC 1.0 Digital...
Transcript of SPADIC 1.0 Digital Signal Processing - SuS - Homepage des ... · Michael Krieger SPADIC 1.0 Digital...
OverviewHow it works
Limitations
SPADIC 1.0 Digital Signal Processing
Michael Krieger
CBM FEE/DAQ Workshop
January 26, 2012
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
New in SPADIC 1.0
digital filter
4 stages
16 bit resolution
programmable coefficients
x yFilterADC Hit Logic
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Why?
prevent pile-up
separate individual pulses (“ion tail cancellation”)
help hit logic to work properly
eliminate low-frequency baseline fluctuations
add flexibility → adapt to detector characteristics
Filter
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
one filter stage
a b
a b
abx y
yx
yx
x[n]+bx[n−1]+ay[n−1] = y[n]
actual implementation:
split:
swap:
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Finding the output signal
numerically: use recursive definition
y[n] = x[n]+bx[n−1]+ay[n−1]
analytically: Z-transform translates into multiplication
Z {y} = H ·Z {x}
transfer function
H(z) = 1+bz−1
1−az−1
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Z-transform relatively easy with exponential functions
model the signal as weighted sum of exponential terms:
x[n] =∑wie−nT/τi =∑
wiqni (0 ≤ qi ≤ 1)
data by C. Bergmann & D. Emschermann w1 = 0.5,τ1 = 30ns,(q1 = 0.264)w2 = 1.0,τ2 = 90ns,(q2 = 0.641)w3 = 0.1,τ3 = 1.5µs, (q3 = 0.973)
get the real signal by convolution with shaper impulse response
can be ignored: Hfilter(HshaperZ {x}) = Hshaper(HfilterZ {x})
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Tail cancellation
filter stage transfers relative weights wi between terms
one exponential term can be eliminated
a = 0.948b =−0.973w1 w3w2 w1 w3w2
useful coefficient range
−1 ≤ b < 0, 0 ≤ a < 1
|a| < |b| ⇔ 0 ≤ a <−b ≤ 1
simple/extreme case: a = 0,b =−1 ⇒ y[n] = x[n]−x[n−1]
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Examples
normal
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Examples
more aggressively
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Examples
extreme
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Limitations
Noise / Quantization error
filter has high-pass characteristic
noise present in signal gets emphasized
analog noise + ADC quantization error
forces tradeoff
filter introduces additional quantization error
FilterADC
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Quantization error
14 bit
10 bit
R
80
0
LSBs
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Quantization error: simulations
-8
-7
-6
-5
-4
-3
-2
-1
0
0 10k 20k 30k 40k 50k 60k 70k
samples
Error distribution
0 200 400 600 800 1000
count
Error histogram
16 bit
12 bit
10 bit
Michael Krieger SPADIC 1.0 Digital Signal Processing
OverviewHow it works
Limitations
Quantization error: simulations
Michael Krieger SPADIC 1.0 Digital Signal Processing