partitioning signal into windows

5 次查看(过去 30 天)
Adetunji
Adetunji 2011-12-30
Hi all, am working on a system to detect fall from an elderly person..my algorithm is as follows..but i have problem in partitioning the signals in moving windows...any ideas on the code to be used?
Fall Detection Algorithm
The fall detection algorithm is implemented as follows.
The resultant acceleration signal is partitioned using a
1.5-s window segment with 50% overlap (S).
For a segment, the following values are computed: the
maximum resultant acceleration of the segmented
signal (Smax), the minimum resultant acceleration of
the segmented signal (Smin), the time when Smax occurs
(Imax), and the time when Smin occurs (Imin).
The resultant acceleration signal is classified as a fall
if (Smax MaxTh) and (Smin MinTh) and (Imin < Imax),
where MaxTh = 1.75g and MinTh = 0.75g.
Otherwise, the signal is classified as an ADL. This

回答(2 个)

Walter Roberson
Walter Roberson 2011-12-30
  5 个评论
Walter Roberson
Walter Roberson 2012-1-4
For non-overlapping windows, you have a problem because your data length is not a multiple of the window size.
When the data is a multiple of the data size, usually the easiest way to proceed for non-overlapping windows is to reshape() the data to be (window size) by (number of segments); then you can mean() and std() against the first dimension (the default) and so do all the segment calculations at the same time.
Adetunji
Adetunji 2012-1-5
below is the code that i have got..could you help modify it as you have suggested up here?I would like to see the the result of both (overlapping and non-overlapping)...thanks
clear mean_a;
clear std_a;
subplot(3,1,1),plot(data(30:1045,5));
for i=1:1016
mean_a(i,1)= mean(data(i:i+29,5)); % mean of 30 samples
std_a(i,1) = std(data(i:i+29,5));
subplot(3,1,2),plot(mean_a);
subplot(3,1,3),plot(std_a);
pause(0.01);
if data(i,5)>=100
disp('fall!')
end
end

请先登录,再进行评论。


Abhijit Warke
Abhijit Warke 2012-9-4
you can try using the function buffer.

Community Treasure Hunt

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

Start Hunting!

Translated by