The chosen features analyzed in this paper for fall detection are described in this section. We remark that these features, which correspond to appropriate quantifications of the sensors’ signals, are then used for a binary classification of the different movements into fall or non-fall. This decision is based on a simple thresholding approach, that is afterwards explained in Section “Fall detection algorithms and results”, by checking for each movement the different features sequentially.

At time *t*
^{n} we denote the accelerometer data by \(A^{n}=\left ({A_{x}^{n}},{A_{y}^{n}},{A_{z}^{n}}\right)\), for *n*=1,…,*N*, with *N* the total number of samples, represent by \(L^{n}=\left ({L_{x}^{n}},{L_{y}^{n}},{L_{z}^{n}}\right)\) the linear acceleration signal, and the output of the orientation sensor, roll, pitch, and azimuth angles, respectively, is represented by \(O^{n}=\left ({O_{r}^{n}},{O_{p}^{n}},{O_{a}^{n}}\right)\). The measurements of the gyroscope at time *t*
^{n} are denoted by \(G^{n}=\left ({G_{x}^{n}},{G_{y}^{n}},{G_{z}^{n}}\right)\). Moreover, we also introduce the vectors

$$ A=(A^{n})_{n=1}^{N}, \quad L=(L^{n})_{n=1}^{N}, \quad O=(O^{n})_{n=1}^{N}, \quad \text{and}\quad G=(G^{n})_{n=1}^{N} $$

as well as

$$ A_{x}=\left({A^{n}_{x}}\right)_{n=1}^{N}, \quad A_{y}=\left({A_{y}^{n}}\right)_{n=1}^{N}, \quad A_{z}=\left({A_{z}^{n}}\right)_{n=1}^{N}, $$

and similar definitions apply to *L*
_{
x
}, *L*
_{
y
}, *L*
_{
z
}, to *O*
_{
r
}, *O*
_{
p
}, *O*
_{
a
} and to *G*
_{
x
}, *G*
_{
y
}, *G*
_{
z
}. In addition we remark that the number of samples can vary with the frequency of the signal.

**Feature**
*SV*
** (sum of the components of the acceleration vector)** The first feature used to distinguish between fall and ADL is the sum of the absolute value of the components of the acceleration vector (*SV*), which is defined as follows,

$$ \begin{aligned} SV=(SV^{n})_{n=1}^{N}, \quad SV^{n} = |{A_{x}^{n}}| + |{A_{y}^{n}}| + |{A_{z}^{n}}|, \end{aligned} $$

(1)

with |·| representing the absolute value (we remark that the norm in (1) is equivalent to the Euclidean norm \(\sqrt {|{A^{n}_{x}}|^{2} + |{A^{n}_{y}}|^{2} + |{A^{n}_{z}}|^{2}}\)). A typical example of this quantity for a fall event is shown in Fig. 2. The peaks in *SV* occur as a consequence of the impact of the human body with the ground. In the same figure, we also plot the measured *SV* for an ADL. Note the small maximum for *SV* in the latter.

Although *SV* seems to be an important feature for fall detection it might not be enough for distinguishing correctly a fall from a non-fall. Therefore extra features, as the following ones, are necessary for a more correct classification.

**Feature**
*AV*
** (angle variation)** It is expected that during a fall event, the acceleration signal will exhibit rapid and significant variations along all the three directions *x*, *y* and *z*. In order to quantify this behavior we define a new fall feature based on the change of the angle between two consecutive acceleration readings. This quantity, herein called orientation variation (*OV*), is defined by

$$ \begin{aligned} {AV} = \left [ \text{cos}^{-1}\left(\frac{A^{n}\cdot A^{n+1}}{\|A^{n}\|\|A^{n+1}\|}\right) \right ] \frac{180}{\pi},\quad \text{for }n=1,\ldots,N-1, \end{aligned} $$

(2)

where ∥.∥ denotes the Euclidian norm, the dot symbol in the numerator stands for the scalar product of two vectors and \( \frac {180}{\pi }\) results from radians to degrees conversion. As an example, Fig. 3 shows the feature *A*
*V* corresponding to the acceleration signal of a simulated fall and a particular ADL, for comparison. The analysis of both figures reveals that during the fall event, *A*
*V* reaches higher values than during the ADL task. For the fall the maximum value is bigger than 30 degrees (°) and smaller than 7° for the ADL.

**Feature**
*C*
*A*
** (change in angle)** Another feature that we have studied is the change in orientation of the device before and after a fall. We implement this feature by estimating the angle between two acceleration vectors. First, we define a time window of size 4*s* centered at the predicted fall time, that corresponds to the maximum of feature *SV*. Then, we create two vectors, \(\bar {A}_{b}\) and \(\bar {A}_{e}\), by averaging the acceleration data over the first second and last second of the window of size 4*s*, respectively. Finally, as in (2), we define the angle

$$ \begin{aligned} {CA} = \left [ \text{cos}^{-1}\left(\frac{\bar{A}_{b}\cdot \bar{A}_{e}}{\|\bar{A}_{b}\|\|\bar{A}_{e}\|}\right) \right ] \frac{180}{\pi}. \end{aligned} $$

(3)

We expect a significant difference between the initial and final position of the device, and this variation must be reflected in the value of *C*
*A*. Moreover, we take a 4*s* window because we estimate that a fall lasts approximately 2*s*.

**Feature**
*VA*
** (vertical acceleration)** The vertical component of acceleration (*VA*), is a feature usually considered in fall detection algorithms [4, 7]. It is defined by

$$ \begin{aligned} VA = \frac{L\cdot g}{\|g\|}, \end{aligned} $$

(4)

where *g* is the gravity vector, which can be calculated by subtracting the linear acceleration from the acceleration, that is *g*=*A*−*L*. *VA* provides a measure for the magnitude of the linear acceleration *L* in the direction of the earth gravity vector. Thus, it is plausible to expect that a fall will produce large values of *VA*, which may be useful to separate fall from non-fall. This prediction is illustrated in Fig. 4 that shows the profile of *VA* during a fall and during an ADL movement.

**Feature**
*OD*
** (orientation angles)** Now we explore the orientation sensor, by defining a feature that is based on the difference of consecutive values of the sensor output, the roll, pitch and azimuth angles. More precisely, we measure the quantity

$${} \begin{aligned} OD = {\frac{1}{\Delta t}} \Big [ |O_{r}^{n+1}-{O_{r}^{n}}| + |O_{p}^{n+1}-{O_{p}^{n}}| +|O_{a}^{n+1}-{O_{a}^{n}}|\Big ], \quad \text{for}\ n=1,\ldots,N-1, \end{aligned} $$

(5)

where *Δ*
*t* is the inverse of the signal frequency and |.| stands for the absolute value. With this approach we attempt to capture the rapid change in orientation that occurs during a fall. The pitch (*O*
_{
p
}) and azimuth (*O*
_{
a
}) angles belong to the interval [-180°, 180°] and [0°, 360°], respectively. Note that when a measured value oversteps these limits, a discontinuity or jump of 360° occurs. For instance, the azimuth angle jumps from 0° to 360° (or 360° to 0°) when the measured value is approaching 0° (or 360°). Therefore before calculating (5), it is necessary to correct the pitch and azimuth angles. Regarding the roll angle it does not show this behavior, and its values change continuously in the interval [-90°, 90°].

Figure 5 displays the *OD* feature for a fall and an ADL movement, that is similar to an actual fall. In this particular example, the difference in magnitude between the two cases is evident.

**Feature**
*S*
*V*
_{
G
}
** and**
*S*
*V*
_{
G
A
}
** (gyroscope)** Finally, we consider the information of the gyroscope sensor. What we predict is that a fall leads to significant values in the angular velocity and angular acceleration, when compared to an ADL movement. Moreover, in comparison with ADL tasks, those values should be sufficiently large to provide an accurate distinction between fall and ADL. As mentioned in “Experimental setup” Section, the angular velocity is available as the output of the gyroscope sensor. The components of the angular acceleration, denoted herein by \(GA^{n}= (G{A_{x}^{n}},G{A_{y}^{n}},G{A_{z}^{n}})\) at time *n*, can be approximated by forward finite differences, that is

$$ \begin{aligned} G{A_{x}^{n}} =\frac{G_{x}^{n+1} - {G_{x}^{n}}}{\Delta t}, \quad \text{for}\ n=1,\ldots,N-1, \end{aligned} $$

(6)

(similarly definitions apply to \(G{A_{y}^{n}}\) and \(G{A_{z}^{n}}\)). Based on this reasoning, we study the values of the following two features, the sum of the absolute value of the components of the angular velocity

$$ \begin{aligned} SV_{G}=\left(S{V^{n}_{G}}\right)_{n=1}^{N}, \quad S{V_{G}^{n}} = |{G_{x}^{n}}| + |{G_{y}^{n}}| + |{G_{z}^{n}}|, \end{aligned} $$

(7)

and the sum of the absolute value of the components of the angular acceleration

$$ \begin{aligned} SV_{GA}=\left(SV^{n}_{GA}\right)_{n=1}^{N}, \quad SV_{GA}^{n} = |G{A_{x}^{n}}| + |G{A_{y}^{n}}| + |G{A_{z}^{n}}|. \end{aligned} $$

(8)

The *S*
*V*
_{
G
} curves displayed in Fig. 6 reveal that, at least in this case, our expectations were confirmed. In the simulated fall, the maximum value of *S*
*V*
_{
G
} is bigger than the double of the value of *S*
*V*
_{
G
} obtained in the ADL. The analysis of *S*
*V*
_{
G
A
}, not shown here, allows to draw an identical conclusion.