Cut a signal into heart cycle pieces
Show older comments
Hi guys,
I have a signal from a photophlethysmographic (PPT) sensor showing contours of the heart pulse.
My signal needs to be cut/subdivided into signal pieces for a single heart beat. Each single heart beats needs to be saved in the workspace.
So when the slope of the signal is getting values different than 0, the data should be cut and saved to workspace.
Is there any possibilities I could do so ? Does anybody have suggestions ?

3 Comments
Naman Chaturvedi
on 2 Jan 2019
Hi Jawad,
It is not quite clear from your query what you want to achieve. Can you share what your output should look like?
Jawad Jawadi
on 3 Jan 2019
John D'Errico
on 3 Jan 2019
Edited: John D'Errico
on 3 Jan 2019
This is not an answer, since I don't have your data signal, nor even the signal processing toolbox. But since it looks like you want to use the local minima to break the signal up, just use findpeaks.
- Find the locations of each local minimum. help findpeaks
- Use those locations to break your signal into pices, probably as independent cells orf a cell array.
- Subtract off the local average value for each section. This will detrend the problem, helping them to now overlap.
You do NOT want to create the segments as separate variables in your workspace. That is a particular place in programming hell where you do not want to live. Instead, learn to use arrays, and here, cell arrays or even structures.
Accepted Answer
More Answers (0)
Categories
Find more on Interpolation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




