How to split time series array into subarrays according to sampling rate?
Show older comments
Hi, I have a data acquired from ECG sensor sampled at 128 sps I want to make subarrays each contains 256 sample?
Answers (1)
Krithika A
on 24 Jul 2018
Edited: Krithika A
on 24 Jul 2018
sps = 128;
n = 768; % 128*6 = 768, so a 6s long signal with 128 sps
x = randn(1,n);
y = reshape(x, [], sps*2);
9 Comments
Krithika A
on 25 Jul 2018
Can you give me specifics of the corruption? Like a plot of the corrupt data?
Guillaume
on 25 Jul 2018
More specifically, reshape will never change any of the data in the matrix/vector it reshapes. So if the data is corrupt, it is because it was corrupt to start with.
So indeed, you need to be more specific about that corruption.
Phoenix98
on 25 Jul 2018
Guillaume
on 25 Jul 2018
The problem is most likely with the way you plot your data (which you haven't shown). If you plot a matrix, you should get more than one plot.
Phoenix98
on 25 Jul 2018
Phoenix98
on 25 Jul 2018
Guillaume
on 25 Jul 2018
It should be indeed
reshape(x, [], 50)
to divide the data into 50 columns or even better:
reshape(x, 256, [])
to split the data into columns of 256 elements. In each case, each subarray ends up as a column.
Krithika A
on 25 Jul 2018
Yes, Guillaume is 100% correct.
Glad you sorted it out.
Categories
Find more on Bartlett 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!
