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
17
Embed
Implementazione su FPGA di filtri digitali standard e ...static.sif.it/SIF/resources/public/files/congr09/mc/alberto.pdf · sampler Filter quantizer. Catena ... delle famiglie di
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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)