ion tail cancellation filter - sus.ziti.uni-heidelberg.de · schaltungstechnik und simulation...

26
Schaltungstechnik Simulation und Schaltungstechnik Simulation und Ion Tail Cancellation Filter Tim Armbruster [email protected] Juni 2010 Small Introduction

Upload: vuonganh

Post on 23-Aug-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

SchaltungstechnikSimulationund

SchaltungstechnikSimulationund

Ion Tail Cancellation Filter

Tim [email protected]

Juni 2010

Small Introduction

Page 2: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 2LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

1. Introduction

Page 3: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 3LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Readout Concept

tokenring

ADC IIR

hitdetector

hits to and from neighbors

chargepulse

Preamp, Shaper, ADC

• Analoge Ladungsverstärkung →Vout ~ Q/Cin + kontinuierliche Entladung mit Zeitkonstanten T

• Bandbegrenzung (hier nicht explizit gezeigt) →Verbesserung S/N

• Digitalizierung

Hit detector, data generator and token ring

• Automatische Hit-Erkennung

• Nachbar-Kopplung

• Paketerzeugung (Daten + Metadaten)

Thema hier: Infinite Impulse Response Filter

• Signalaufbereitung, z.B.:

– Ion-Tail Cancellation

– Baseline Correction

– Zusätzliches Shaping

Page 4: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 4LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Q pulse

Impulse Response Preamp/Shaper

• Detektor-Signal ist in erster Näherung Ladungspuls

• Preamp/Shaper kann als Tiefpass 2ter Ordnung beschrieben werden

• Ausgangssignal entspricht dann gerade Impulsantwort

– Rise-Time: T

– Maximum: 1/T

– Exponentielle Entladung ( Continuous Reset in Preamp)→

=> Alle wesentlichen Puls-Eigenschaften allein von Zeitkonstante T abhängig!

y [t ] =t

2exp

−t

H s =1

1s2second order

Page 5: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 5LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

2. Discrete Considerations

Page 6: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 6LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Reminder: Linear Time-Invariant System (LTI)

• Jede Ausgangsfolge kann als Linearkombination von verzögerten Impulsantworten dargestellt werden (Faltung).

• Mit der Impulsantwort ist deshalb das komplette System bestimmt.

y [n ]=∑k=−∞

x [k ]h [n−k ]

x [n] = unit pulse

y [n] = h [n] =n

2e−n

LTI-Systemh[n]

x [n] y [n]

Beispiel:

Page 7: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 7LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Linear Time-Invariant System (LTI)

x [n]

Beispiel 1:

Beispiel 2:

y [n] = 1h [n]12h[n−5]

x [n]

y [n] = 1h [n−1]−2h [n−3]2h [n−6 ]

Page 8: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 8LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Realistic Hit Signal

• Genaue Form eines realistischen Eingangssignals ist schwer zu ermitteln

– stark abhängig von Detektor-Typ und -Geometrie

– analytische Rechnung schwer oder nicht möglich

– Simulationen im Allgemeinen aufwändig

– aber: wenn Signallänge kurz (gegenüber Systemgeschwindigkeit), gute Näherung über (skalierten) Impuls möglich

• Systemgeschwindigkeit: Bandbegrenzung, Zeitkonstante

• Beispiel Silicon: Signallänge < 1ns, Shaping-Time ≈ 100ns

? ≈ !

Page 9: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 9LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Realistic Shaper Output Signal

Kurzer, realistischer Eingangspuls:

Annäherung durch skalierten Impuls:=> Signalform von kurzen

Eingangssignalen vernachlässigbar

Zeitkonstante: 20Pulslänge: 4

Zeitkonstante: 20Pulslänge: 1

Page 10: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 10LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Example: Measured Pulses

Page 11: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 11LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

3. Problem: Ion Tail

Page 12: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 12LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Application: MWPC

• Ziel: Auslese von “Vieldrahtproportionalitätskammern“ oder multi wire proportional chamber (MWPC)

• So funktionierts (vereinfacht):

– Geladene Teilchen erzeugen Ionisationspur in Gas-Volumen (Vergleichbar mit Silizium-Ionisation)

– Freie Elektronen driften zu (positiven) Anodendrähten

– Lawineneffekt in unmittelbarer Umgebung der Drähte (E-Feld ~ 1/r, sehr groß für kleine r) lokal sehr hohe Verstärkung→

– Zurück bleiben Ionen, die nun vom Draht wegdriften

– Problem Ionen-Drift induzieren langsam abfallenden Ion-Tail der das Signal unerwünscht “verlängert“

• Problem: Ion-Tail verschiebt Baseline

• Mögliche Lösung: Analoges oder Digitales Filter

Page 13: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 13LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Ion-Tail Problem

Idealer Puls:Abfall mit Exp[-t], also schnell

Realistischer Puls mit Ion-Tail:Abfall mit 1/t, also viel langsamer

Problem: Pile-Up

Page 14: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 14LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Conceptual Formulation• Ion-Tail hat in etwa die Form f(t)=1/t → und den wollen wir wegschneiden!

• Wir haben also folgende Situation:

• Oder in Worten: wie muss das Filter gewählt werden, damit aus dem Eingangssignal mit unerwünschtem Ion-tail f(t) am Ende der Kette wieder „nur“ die Impulsantwort des Shapers wird?

• Die Reihenfolge der Kompenenten ist aus Sicht der Transfer-Funktion egal (Faltung entspricht Multiplikation der Transfer-Funktionen). Das Problem vereinfacht sich also zu:

• Oder in Worten: Das Filter muss den Ion-Tail gerade so wegfiltern, dass nur noch ein Dirac-Delta übrig bleibt.

1

1s2f t =

1t

Filter = ? y [t ] =t

2exp

−t

t 1

1s2f t =

1t

Filter = ? y [t ] =t

2exp

−t

Page 15: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 15LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Conceptual Formulation

• Problem bei 1/t Ion-Tail:

– Digitales Filter das f(t) = 1/t exakt cancelt ist kaum zu realisieren

– Außerdem ist f(t) = 1/t auch nur eine Näherung, tatsächlicher Tail stark abhängig von Detektoraufbau, Betriebsparametern, ...

• Idee: Annäherung von f(t) durch abfallende Exponentialfunktionen mit unterschiedlichen (programmierbaren) Zeitkonstanten und Vorfaktoren, formal:

• Vorteile

– Mit Exponentialfunktionen lässt sich in der DSV gut umgehen

– Durch geeignete Wahl der Koeffizienten kann das Filter flexibel an die jeweilige Situation adaptiert werden.

• In der Praxis langen tatsächlich schon einige wenige Summanden um „echte“ Tails ausreichend abzuschneiden. Zielkriterium ist hier, wie nahe der Tail nach einer festgelegeten Zeit wieder der Baseline kommen muss.

f t =1t

≈ ∑i

ci exp−ti

=c0exp−t0

c1exp−t1

Page 16: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 16LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Conceptual Formulation

Das Problem reduziert sich mit diesen Überlegungen auf:

was sich direkt z.B. in den Z-Raum übersetzen lässt (mit Z-Transformation) als:

Die Übertragungsfunktion eines Filters, das gerade N Exponenten cancelt lautet damit:

t f t = ∑i

ci exp −ti

Filter = ?

∑i

N z cie1i

−1z ci e1i

⋅ H IIR z = 1

H FILTERN z = [ ∑iN z ci e

1i

−1z ci e1i ]

−1

Page 17: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 17LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

4. Realization with IIR Filter

Page 18: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 18LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Overview: IIR Filter

+

FF

a0 = 1

FF

+

+

+a1

a2

b0

b1

b2

● IIR Filter salopp: Digitales Filter mit Feedback-Schleife(n)

● Viele mögliche Strukturen (im Prinzip unendlich viele). Wahl der geeignetsten von vielen Faktoren abhängig, z.B.: ● Form der Übertragungsfunktion● Charakter des Datenflusses:

Quantisierungseffekte, Überlauf interner Knoten, Konvergenz, ...

● Realisierbarkeit: Platzbedarf nach Synthese, Parallelisierbarkeit, ...

● Beispiel: IIR filter 2-ter Ordnung in sog. direkter Form 2, siehe Skizze rechts● Zugehörige Übertragungsfunktion:

H IIRN z =

∑i=0

N

bi z−i

1−∑i=1

N

a i z−i

Page 19: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 19LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Einfaches Beispiel: Es soll nun ein 1/t Tail durch zwei Exponenten angenähert werden. Die langsamere Komponente soll dann mit dem Filter entfernt werden. Die gesuchte Filter-Funktion 1-ter Ordnung lautet (nach voheriger Formel):

Vergleiche dazu die Übertragungsfunktion eines IIR Filters in direkter Form 2 erster Ordnung:

Die (gesuchten) Koeffizienten ergeben sich direkt aus Koeffizientenvergleich zu:

Zum Verständis: Zum Canceln einer langsamen Exponentiellen Komponente eines bel. Tails muss der Tail nur durch geeignete Wahl von zwei Exponentialfunktionen (Wahl von T0 und T1) angenähert werden, der Filter löscht dann den T0-Anteil.

Simple Example: 1st Order IIR

H FILTER1

z =−1z c0 e

10

z c0e10

=−c0

−1e−10

zzz

H IIR1 z =

b0b1 z−1

1−a1 z−1

=b1z−a1

b0 z

z−a1

a1 = 0 , b0 = 1 , b1 = −c0−1e

−10

Page 20: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 20LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

TODO

Simple Example: Plotted Result

- TODO -

Page 21: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 21LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Mathematica Simulation: 2nd order IIR Filter

ADC Output(triple pulse with

different amplitudes)

ADCvalues

time

Theoretical optimum(no quantization)

Filter resultwith a quantization step after each multiplication

(undershoot)

Mathematica Simulation, Löschen von zwei Exponenten (2nd order IIR)

Page 22: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 22LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

5. Implementation

Page 23: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 23LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Necessary Building Blocks + General Problems

+

FF

FF

+

+

+a1

a2

b0

b1

b2

● Man benötigt:● Addierer (relativ einfach)● Verzögerungen (sehr einfach, FF)● Mulitplizierer (aufwändig)

● Viele Schwierigkeiten:● Addierer und Multiplizierer vergrößern

Wortbreite Mehrere Quantisierungschritte →nötig (wo?)

● Komma-Arithmetic mit Vorzeichen in Binärdarstellung nicht intuitiv

● Ungünstige Struktur: Wg. Feedback muss immer auf Zwischenergebnis gewartet werden

● Überläufe in internen Speicherknoten (Power)● Oszillationen möglich (durch schlechte

Quantisierung)● Wahl der Filterstruktur beeinflusst Vieles● Notwendige Genauigkeit 8bit, 10bit, ...?● ...

Page 24: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 24LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

IIR Filter (Ion Tail Cancellation) Diagram

<< +

FF

a0

FF

+

+

+

>>

a1

a2

b0

b1

b2

0,1,2 0,1,2

0,1,2 0,1,2

5,6,7

0

0

0,1,23 4

3

34

3

cycle ncycle n+1

Bisherige Implementierung:● CLK: 200 MHz, Samplerate:

25 MHz 8 Takte für einen →IIR-Zyklus

● Rot: Verschachtelung der Takte

● Jede Multiplikation darf nur 3 Takte dauern

● Quantisierung nach jeder Multiplikation und Addtion

● Nötige Auflösung irgendwo zwischen 9 und 18 bit

● Größtes Problem: Schnelle Fixed-Width Multiplizierer.

Hier implementiert, allgemein aber nicht notwendig. Kann durch Normierung vernachlässigt bzw. gleich 1 gesetzt werden. Vereinfacht stark das Problem.

Page 25: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 25LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Digital Simulation: IIR Filter (Ion Tail Cancellation)

Digital Simulation (Verilog)

● RED: IIR filter input pulse with very long ion tail● BLUE: IIR output after ion tail cancellation (preliminary results)

– strong overcompensation, but probably due to quantization (compare to Mathematica results)

– adjustment of filter factors should lead to better results

Page 26: Ion Tail Cancellation Filter - sus.ziti.uni-heidelberg.de · Schaltungstechnik und Simulation Schaltungstechnik und Simulation Ion Tail Cancellation Filter Tim Armbruster tim.armbruster@ziti.uni-heidelberg.de

13.04.10 15th CBM CM - Tim Armbruster 26LS Schaltungstechnik & Simulation

SchaltungstechnikSimulationund

Largest Construction Site: Multiplier

● Abschließend noch ein paar Überlegungen zu Fixed-Width Mul.● → Vielleicht extra Talk?

● TODO!!!● (PeFI): 40ns für eine Mulitplikation + 2 Additionen reine Gatter-→

Durchlaufzeit scheint klein genug (siehe auch Paper)● Kombination aus Wallace-Trees, ausreichender Radix, fixed-width Bedingung

(halbiert # Gatter)● Verschachtelung Mul. + Add.● Möglicherweise KEIN Pipelining...● Genauigkeit irgendwo zwischen 10 und 20 bit... (9 bit input width)● - T

ODO -