Find Geiger counter CPM

I am trying to find the counts per minute of a geiger counter signal using Simulink.
I managed to get the signal in a digital/binary form shown below:
I want to figure out how many pulses there are in a given timefram (1-3 seconds)

Answers (1)

madhan ravi
madhan ravi on 14 Dec 2023
Edited: madhan ravi on 14 Dec 2023
Let A be your Interval test signal in timeseries format. Then
Pulses_1_3secs = nnz(out.A.Data((out.A.Time >= 1) & (out.A.Time <= 3))

4 Comments

I wanted the time average to be rolling, like from 0-2 seconds is ? pulses, 2-4 seconds is ? pulses, etc. I would assume that I would just use a for loop and counter, right.
There are other ways, but yeah, that would work. In each 2 second period, are there the same number of samples (not counts but sample times or elements of your detection vector)? If so, you could use reshape:
data2d = reshape(data1D, numSamplesIn2Sec, []);
countsIn2Secs = sum(data2d, 1);
By the way, I am using Simulink, so the method that you proposed may not work.
The block under sum block in the second pic is *Unit Delay* block.
The first PWM block *Run at fixed interval* is ticked as model runs at fixed sample time.

Sign in to comment.

Categories

Find more on Modeling in Help Center and File Exchange

Products

Release

R2023b

Asked:

on 14 Dec 2023

Commented:

on 15 Dec 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!