Filter löschen
Filter löschen

partitioning signal into windows

7 Ansichten (letzte 30 Tage)
Adetunji
Adetunji am 30 Dez. 2011
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

Antworten (2)

Walter Roberson
Walter Roberson am 30 Dez. 2011
  5 Kommentare
Walter Roberson
Walter Roberson am 4 Jan. 2012
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 am 5 Jan. 2012
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

Melden Sie sich an, um zu kommentieren.


Abhijit Warke
Abhijit Warke am 4 Sep. 2012
you can try using the function buffer.
  1 Kommentar
Walter Roberson
Walter Roberson am 4 Sep. 2012
It is not clear how that differs from my earlier response?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by