Implementazione su FPGA di filtri digitali standard e...

17
Implementazione su FPGA di filtri digitali standard e adattativi per il trattamento di segnali da rivelatori di particelle Bari, 29 Settembre 2009 Dipartimento di Fisica Generale – INFN - Politecnico di Torino Diego Alberto, E.Falletti, R.Garello, M.Greco

Transcript of Implementazione su FPGA di filtri digitali standard e...

Implementazione su FPGA di filtri digitali standard e adattativi per il

trattamento di segnali da rivelatori di particelle

Bari, 29 Settembre 2009

Dipartimento di Fisica Generale – INFN - Politecnico di Torino

Diego Alberto, E.Falletti, R.Garello, M.Greco

S.I.F. XCV Congresso Nazionale Set. 2009 2

rivelatore di

Rivelatori di Particelle

S.I.F. XCV Congresso Nazionale Set. 2009 3

Nei rilevatori utilizzati negli esperimenti di fisica nucleare il segnale generatodal passaggio di una particella ionizzante appare come un impulso in tensione o incorrente

l’ampiezza di tale impulso è proporzionale all’energia rilasciata dalla particelladentro il rivelatore

Detector

iE

fE

if EEE −=∆

time

Eamplitude ∆∝

“Baseline Shift”, “Pulse Pile-Up”, “Ballistic Deficit”, “Noise”

durante l’analisi del segnale si deve prestare attenzione a tutti quei fenomeni chepossono modificare la misura dell’ampiezza e del tempo:

Rivelatori di Particelle

S.I.F. XCV Congresso Nazionale Set. 2009 4

Catena Analogica

Qδ(t)

Detector

i(t)

Preamp/Integr

Analog Shaper

PZ comp

PZ

pPZ s

sk

ττ

+

+⋅11

p

p

skτ+1 ( )nAS

AS

skτ+1

Catena di Trasmissione

Pulse Pile-Up, Ballistic Deficit Baseline Shift, Noise

Q Q Q

ADC IIRvsFIR

Noise

Filtersamplerquantizer

Catena Digitale

Q

S.I.F. XCV Congresso Nazionale Set. 2009 5

Catena Analogica

Qδ(t)

Detect.

i(t)

Preamp / Integr

Analog Shaper

PZ comp

PZ

pPZ s

sk

ττ

+

+⋅11

p

p

skτ+1 ( )nAS

AS

skτ+1

output catena analogica

Matlab

output catena analogica

Scheda

Output Catena Analogica

S.I.F. XCV Congresso Nazionale Set. 2009 6

Logica FPGA

18 cm

13 c

m

XilinxVirtex4

192 DSP 678 piedini

S.I.F. XCV Congresso Nazionale Set. 2009 7

Filtraggio Digitale

Inizialmente abbiamo comparato per simulazione (Matlab, Simulink):Filtri Standard (coefficienti costanti nel tempo) delle famiglie di Butterworth,Bessel, Chebyshev.Filtri Adattativi (coefficienti variabili nel tempo) della famiglia Least MeanSquare (LMS).

In seguito abbiamo tradotto in VHDL le strutture di questi filtri perl’implementazione su FPGA (Xilinx Virtex 4 ML402).

Abbiamo quindi osservato e comparato il consumo di risorse FPGA alvariare della struttura implementativa di uno stesso filtro (stessa funzione ditrasferimento).

S.I.F. XCV Congresso Nazionale Set. 2009 8

Simulazione Matlab

Questo lavoro è stato pubblicato su Nuclear Instruments and Methods A 594(2008), pp.382-388 DOI information: 10.1016/j.nima.2008.06.032

0 200 400 600 800 1000 1200 1400 1600 1800 2000

-0.2

0

0.2

0.4

0.6

0.8

1

Noisy vs Desired Signals

time [ns]

ampl

itude

[nv

u]

noisydesired

0 200 400 600 800 1000 1200 1400 1600 1800 2000

-0.2

0

0.2

0.4

0.6

0.8

1

Simulation Filtering Comparison

time [ns]am

plitu

de [

nvu]

NoisyDesiredButt IIILMS

S.I.F. XCV Congresso Nazionale Set. 2009 9

2 mults

4 sums

Butt. III LP: Direct Form II

Butterworth III ord. Transfer Function: Infinite Impulse Response ( IIR )

( ) 321

321

087.0515.0827.01075.0226.0226.0075.0

−−−

−−−

⋅−⋅+⋅−⋅+⋅+⋅+

=zzz

zzzzH

Max Combinatorial Path

Max Work Freq. ~ 34 MHz

Direct Form II structure

SNR: 5.76 dB

PD: 8.34%

S.I.F. XCV Congresso Nazionale Set. 2009 10

2 sums

1 mults

Butt. III LP: Direct Form I Transp.

Butterworth III ord. Transfer Function: Infinite Impulse Response ( IIR )

( ) 321

321

087.0515.0827.01075.0226.0226.0075.0

−−−

−−−

⋅−⋅+⋅−⋅+⋅+⋅+

=zzz

zzzzH

Max Combinatorial Path

Max Work Freq. ~ 63 MHz

Direct Form I Transposed structure

SNR: 5.76 dB

PD: 8.34%

S.I.F. XCV Congresso Nazionale Set. 2009 11

Butt. III LP – FPGA consumption

Sulla nostra Xilinx Virtex 4 FPGA ML402

Butterw. III # slices # DSP48s Logic Levels

MAX freq. MHz

DF II < 1% 14% 30 34

DF I transp < 1% 10% 24 63

S.I.F. XCV Congresso Nazionale Set. 2009 12

LMS Adaptive FIR Filter 1

)()(

)(

0

0

0

nnvnnd

nnx

−++−=

=−

)()()( nvndnx +=

LMSAdaptive FIR Filter

-+

)(ne

)(ˆ nd

0nz −

best results µ = 0.18

SNR: 6.57 dB

PD: 0.06%

LMS FIR structure Max Combinatorial PathMax Work Freq.

~ 23 MHz5 sums

3 mults

S.I.F. XCV Congresso Nazionale Set. 2009 13

Max Combinatorial Path4 sums

LMS Adaptive FIR Filter 2

)()(

)(

0

0

0

nnvnnd

nnx

−++−=

=−

)()()( nvndnx +=

LMSAdaptive FIR Filter

-+

)(ne

)(ˆ nd

0nz −

best results µ = 0.27

SNR: 5.91 dB

PD: 0.49%

LMS modifiedFIR structure Max Work Freq. ~ 58 MHz1 mults

S.I.F. XCV Congresso Nazionale Set. 2009 14

LMS – FPGA consumption

LMS step size μ # slices # DSP48s Logic

LevelsMAX freq.

MHz

LMS 1 0,18 < 1% 18% 37 23

LMS 2 0,27 < 1% 18% 24 58

Sulla nostra Xilinx Virtex 4 FPGA ML402

S.I.F. XCV Congresso Nazionale Set. 2009 15

Implementazione su FPGA

0 200 400 600 800 1000 1200 1400 1600 1800 2000

-0.2

0

0.2

0.4

0.6

0.8

1

FPGA Filtering Comparison

time [ns]

ampl

itude

[nv

u]

NoisyDesiredButt IIILMS

Max Work Freq.~ 63 – 58 MHz

La prima parte di questi risultati su FPGA è stata presentata alla IEEE RT 2009 Conference, Beijing 10-15 May 2009

Il lavoro complessivo è in corso di pubblicazione su NIMA, DOI information: 10.1016/j.nima.2009.09.049

S.I.F. XCV Congresso Nazionale Set. 2009 16

Cambiando scheda FPGA

Filter FPGA # slices

# DSP48s

Logic Levels

MAX freq. MHz

Butt 3 DFI tr V4 < 1% 10% 24 63

V5 < 1% 5% 40 130

LMS 2 V4 < 1% 18% 24 58V5 < 1% 18% 28 116

Con Xilinx ISE tool, possiamo compilare questi algoritmi:

per la nostra Virtex 4 (V4) XC4VSX35 -10 anche per una Virtex 5 (V5) X5VSX35T -3

S.I.F. XCV Congresso Nazionale Set. 2009 17

Work in progress…

Verifica su scheda Virtex 5

Acquisizioni di dati real time (anche presso INFN-LNS)

Analisi segnali reali

Ricerca di algoritmi più veloci (es. sign LMS )

!!

Grazieper

l’attenzione