Instructor: Evgeniy Kuksin Preformed by: Ziv Landesberg Duration: 1 semester
Create a FIR filter that can process pulses from photon counting detectors and perform Peak Detection using NI Labview FPGA.
The project is completed! Final clock rate – 125MHz (due A/D) Successfully processing 4 channel simultaneously
- + Photons ADC Shaper Peak Detector FPGA Readout To PC
FPGA(125MHz) A\D NI bit 125 MHz Signal generator (Preamplifier emulator)
Trapezoidal can achieve optimal noise performance from signal. Trapezoidal Shaper, unlike many analog pulse shaper, immune to “ballistic deficit”, that causes energy distortion in the spectrum. Trapezoidal shaper can not be implemented by analog circuits.
The Coefficients were calculated by the method at the article of “On nuclear spectrometry pulses digital shaping and processing”, the biexponential pulse part. the method is to inverse the transfer function of the pulse(making it a digital delta), and then convolute the delta with a trapezoid. Due to the fact that both the inverse function of the pulse and the trapezoid were finite length, the resulted filter was FIR.
Calc invers function of pulse Delete zeroes from output Calc trapez impulse response
The input signal was generated at 2 main stages : 1) create an array with Poisson distributed digital delta’s in it. It was done by the Poisson noise generator, that each event was transformed to delta, and each none event was transformed to zero. 2 ) transfer the deltas to linear rising- exponential decaying pulse, was done simply by convoluting the array with the response of such pulse(with cut- off values lower than exp(-10 ))
Shape of a pulse Impulse generating Convolut deltas with wanted shape
Impulses Wanted shape Resulted signal
The building of the filter in Labview was done using the fir template already existing in the program. So first stage was to create a fds file to generate filter from it. The second stage was to use the automatic filter generation
Distributed arithmetic does not use DSP units !
Input signal Shaped signal
Input signal Shaped signal histogram Result of shaper with ballistic defflict
Current Next shper (8 rise time) 6 rise time shaper
Std-60Mean-60 Std-120Mean-120 Std-140 Mean-140
Rise time: std_ mean_6060 std_ mean std_ mean_
channelstd_60mean_60std_120mean_120std_140mean_ std mean
The shaper which is most resistance to noise is the 16 length, with 8(sample) rise time. But apparently he is effected by quantization effect, and he caused distortion in pulses heights( probably because they have different rise time) The 8 length shaper is nearly unaffected by quantization effect, and is the not distortive. The third filter is kind of the middle between them, with low noise and low distortion.
The final system is operating at 125MHz due to the clock rate of the A/D(can only be 125MHz or 250MHz). However the “bottle neck” of the system is the FIFO to the host, so in order to increase throughput we could create the histogram of the peak detector on the FPGA himself, and send it to the host(needs slower FIFO to do it).