Project

General

Profile

3 Methodology » History » Version 8

Ana Sofia Sousa, 11/01/2024 20:09

1 2 Ana Sofia Sousa
h1. 3 Methodology
2 3 André Fernandes Gonçalves
3 6 Ana Sofia Sousa
h2. 3.1. App Structure
4 1 Ana Sofia Sousa
5 8 Ana Sofia Sousa
h3. 3.1.1. Use Cases Diagram 
6 6 Ana Sofia Sousa
7 6 Ana Sofia Sousa
In the Figure bellow is the developed Use Cases Diagram that represents the possible interactions of different actors (User, Vital Jacket, Data System and Doctor) within the system. This diagram shows the requirements for the development of the app. 
8 6 Ana Sofia Sousa
9 7 Ana Sofia Sousa
p=. !----!
10 6 Ana Sofia Sousa
Figura 3.1.1.1. Use Cases Diagram.
11 6 Ana Sofia Sousa
12 6 Ana Sofia Sousa
13 8 Ana Sofia Sousa
h2. 3.2. Algorithms Step Counting
14 6 Ana Sofia Sousa
15 4 André Fernandes Gonçalves
Having the values from the accelerometer which has a FREQUENCY OF ____, the acceleration from the 3 axis in condensed in the acceleration magnitude:
16 4 André Fernandes Gonçalves
17 4 André Fernandes Gonçalves
mag = sqrt(x^2+y^2+z^2)
18 4 André Fernandes Gonçalves
19 4 André Fernandes Gonçalves
Then, in order to remove the gravitational acceleration, the average acceleration is subtracted:
20 4 André Fernandes Gonçalves
21 4 André Fernandes Gonçalves
netmag = mag - avgmag
22 4 André Fernandes Gonçalves
23 4 André Fernandes Gonçalves
so the netmag represents only the acceleration regarding movement. The algorithm works as follows:
24 1 Ana Sofia Sousa
The time-netmag graph is divided in dynamic 3-sample windows. The values of these samples are tracked and if they are in crescent order, the system registers the first sample as the start of a step. When a value is detected above a pre-defined OR DYNAMIC threshold, all values above that threshold are saved in a vector, PeakVector. When the values of netmag drop below the threshold, the system uses a 2-samples window to track the slope of the magnitude. If the second value is greater than the first, it is considered the start of a new step, thus ending the previous one. Since the PeakVector contains all the values that fall above the step threshold, the maximum value should represent the real peak.
25 6 Ana Sofia Sousa
26 6 Ana Sofia Sousa
27 6 Ana Sofia Sousa
28 8 Ana Sofia Sousa
h2. 3.3. Design and Functionalities