I am developing scintillation detector based counting system. Usually the output of Scintillation detectors is in the form of pulses which are from 0 to +1V max in height . I need to measure the height of these pulses and count pulses above certain threshold. The height of pulses represents energy of gamma rays striking scintillation detector crystal.
I am looking to develop threshold based counter in LABVIEW. The DAQ hardware I am using is NI USB-6221. The output signal from detector (Canberra 802) is amplified using Timing filter and amplifier (Canberra 2111) and then fed to DAQ NI-USB-6221.
I have developed one simple program using available example on simple peak counter. I am attaching this example alongwith this message.
The problem I am running into is to extend this program to multichannel applications where I need to count three detector outputs and repeat the whole exercise.
Please help me in extending this program to multichannel.
I tried to hook LV to a scintillation counter about 15 years ago. The performance of the available computers and DAQ hardware at that time was not quite up to the task.
1. Do the pulses from the detector last long enough to acquire them with the 6221? The detector I used had pulses of 10s to about 100 ns.
2. If you can capture the pulses, measuring the height is not a big issue. The number you get from the AI is the height. For three detectors use three AI channels.
3. The In Range and Coerce function can be used to do the height windowing in one step. It will also work on arrays, possibly saving you some time.
The pulses last about 2.5 microseconds. The timing settings on amplifier such as differentiation and integration constatnts may help in adjusting the pulse rise time and fall time.
The NI 6221 does the measurement at sampling rate of 100000 which translates to one microsecond. I think it is able to capture these pulses.
The program which i have attached here is found to work satisfactory. In my particular application i am interested in measuring absolute maxima of counts not the true counts. This might be the additional advantage while working in LABVIEW.
I did not get point 2 and 3 mentioned by you.
Can you please elaborate on this?
The USB-6221 maximum sampling rate is 250 kS/s. Sampling at 100 kS/s results in a sample period of 10 us, which is 4 times longer than your pulses. So you either need a pulse stretcher circuit or a faster sampling device.
2. and 3. Example: A pulse measures 0.75 V. If the energy window for the isotope sought results in voltages between 0.71 and 0.82 V, then this pulse is in that window. Connect the upper and lower voltage limits for the energy to the limit inputs to the In Range and Coerce? function. If the output is True, count the pulse. If False, the pulse is noise or from a different isotope.
In Range and Coerce? will accept array inputs so you can process a block of data at once.