How to calculate the period of an input signal?
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
I am carrying out an investigation where I have applied an impluse to an object. What is the best way to calcualte the duration of the impusle? I have attached a photo of the graphs I have created to give a visual representation of the data I have collected.
Any help would be much appreciated.
Max
0 Commenti
Risposte (1)
Image Analyst
il 14 Apr 2020
You can use thresholding and find(). Pick some Force value that you consider to be in the pulse. Assuming just one pulse:
leftIndex = find(Force > someValue, 1, 'first');
rightIndex = find(Force > someValue, 1, 'last');
pulseWidth = t(rightIndex) - t(leftIndex); % Compute delta time using time vector, t.
If there are multiple pulses, then you'll have to do a little more to get the width of each one separately. Hint: use regionprops():
props = regionprops(Force > someValue, 'PixelIdxList');
It can also get more complicated if you want to do things like get rid of short noise pulses, etc.
2 Commenti
Image Analyst
il 15 Apr 2020
What threshold value did you use? If you need more help, attach your data in a .mat file.
In the meantime, you might try the findchangepts() function.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!