Author Topic: Pulse Height Analyzer based on Rigol DS2202A  (Read 738 times)

0 Members and 1 Guest are viewing this topic.

Offline ssackett

  • Newbie
  • Posts: 1
  • Country: us
Pulse Height Analyzer based on Rigol DS2202A
« on: September 04, 2017, 05:30:10 pm »
I want to use my Rigol DS2202A Oscilloscope as a Pulse Height Analyzer.  This will require some low level programming to produce the required functionality (see below).  Does anyone know of prewritten software that accomplishes this, if so please send me references.  Otherwise I am interested in knowing if there is a way, in terms of language support and other tools, to support writing such an application, if so please provide references and details.

Description of Pulse Height Analyzer functionality
Pulse height analyzers are used in Gamma Spectroscopy to sort gamma rays according to energy level.  The technique to accomplish this is to digitize the input signal and use the number obtained for amplitude as a data value to create a histogram.  The histogram is formed by dividing memory up into a set of bins each of which stores a particular energy value. 

The amplitude of the pulse generated by a gamma ray is proportional to its energy. The bins are used to accumulate the count of the number of gamma rays of a certain energy level.  As counts accumulate the histogram that results is interpreted as the spectrum of the input gamma rays.  This can be used indirectly to identify the specie of the atom emitting the gamma ray.

The Rigol oscilloscope has several functional blocks that can in principle be used to construct a pulse height analyzer including input channels, digitizers and memory.  What I want to do is write a program to repurposes these blocks to provide the function of a pulse height analyzer.

Thanks for your help,


Offline thm_w

  • Super Contributor
  • ***
  • Posts: 3197
  • Country: ca
Re: Pulse Height Analyzer based on Rigol DS2202A
« Reply #1 on: September 05, 2017, 09:21:09 pm »
You can't write programs on the rigol itself like that, as far as I can think of.
You will need to use something like python, matlab, etc. to grab a chunk of sample memory from the scope (USB/ethernet), analyze it on the PC, then repeat. You will have a lot of dead time, but up to you if that matters. You can find some samples of communicating with the scope on this forum.

Depending on the bandwidth you could use a DAQ, raspberry pi with external ADC, etc. to do this as well.

Offline H.O

  • Frequent Contributor
  • **
  • Posts: 717
  • Country: se
Re: Pulse Height Analyzer based on Rigol DS2202A
« Reply #2 on: September 06, 2017, 06:17:56 am »
How wide are the pulses and at what frequency do they "appear"?

If they're wide enough for a multimeter to measure then perhaps using the scope to trig and view the pulses and connect the trig out of the scope to a multimeter with histogram function to measure and plot the data?

Or, it might be easier to log data with the multimeter and then export to a PC to perform the binning and histogram.

If you want to use the scope alone then, as thm_w, says you're going to have to resort to Python or some other environment and talk to the scope that way.

Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo