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)

Risposte (1)

madhan ravi
madhan ravi il 14 Dic 2023
Modificato: madhan ravi il 14 Dic 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 Commenti

Robert
Robert il 14 Dic 2023
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);
Robert
Robert il 15 Dic 2023
By the way, I am using Simulink, so the method that you proposed may not work.
madhan ravi
madhan ravi il 15 Dic 2023
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.

Accedi per commentare.

Categorie

Scopri di più su Simulink in Centro assistenza e File Exchange

Prodotti

Release

R2023b

Richiesto:

il 14 Dic 2023

Commentato:

il 15 Dic 2023

Community Treasure Hunt

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

Start Hunting!

Translated by