## 3 Indoor Positioning Systems
### Systems Based on Inertial Sensors
The relative position of the user can be obtained by calculating the difference between the frame of reference coordinates and the values obtained from reading in each of the three axes (\(x\), \(y\), \(z\)), expressed in Euler angles, that is, roll (\(x\)), pitch (\(y\)), and yaw (\(z\)). Strapdown systems: Strapdown tracking and inertial navigation systems are based on the concept that the double integration of acceleration obtains the user's position. Thus, the first integration of the acceleration signal \(a\left(t\right)=\left[a_{x}\left(t\right),\ a_{y}\left(t\right)\right]\) produces speed and the integration of speed provides position [92], that is:  
\[v(t)=v(0)+\int_{0}^{t}(a(t)-g)\ dt \tag{5}\]  
\[m(t)=m(0)+\int_{0}^{t}v(t)\ dt \tag{6}\]  
where \(v\) is speed, \(g\) is gravity, and \(m\) is position, all of which are related to the navigation frame. Errors in sensor measurements affect position estimation in different ways. Errors coming from the accelerometer produce a drift in the position because the integration accumulates the errors over time. Errors from the gyroscope sensor result in an incorrect rotation matrix. In general, errors in estimating the position increase cubically with time due to the integration of the accelerometer and gyroscope signals [92]. Figure 7 shows a block diagram of a navigation system based on the strapdown model. In the strapdown model, initially, the angular speed measured by the gyroscope is used to indicate the orientation of the sensor for the navigation frame. Once the initial guidance is known, updated values can be obtained at any time. The orientation information is used as a reference to rotate the navigation frame, and the gravitation force is subtracted before integrating the acceleration signal to obtain the speed and position. More recent studies have demonstrated that the use of a foot-mounted IMU reduces the time-dependence of position estimation errors in strapdown inertial systems. [PERSON] et al. showed  
Figure 6: Pedestrian dead reckoning (PDR) scheme. that location error, which usually grows cubically over time, is reduced to linear growth when the zero-velocity update (ZUPT) is used [93]. The idea of the ZUPT algorithm is to register the moment when the user's foot is fully planted on the ground, considering that at this moment, the travel velocity is zero. Absolute zero is always not achieved, so the authors applied an extended Kalman filter to estimate errors in inertial measurement. The model showed deficiencies in indicating the position on an inclined floor, minimized with the application of a gyroscope, which updates the zero angular rate or applies a reduction in the heuristic direction [45; 94]. Step and Heading Systems: Unlike strapdown navigation systems, step and heading systems do not use acceleration signal integration to calculate the user's position [92; 95; 95]. Instead, these systems detect the user's steps and estimate the length and direction of each step from the accelerometer and gyroscope signals. Then, the model recursively predicts the user's position, accumulating vectors that represent the user's movement at each stage, that is:  
\[m_{x}\left(k\right)=m_{x}\left(k-1\right)+l_{step}\left(k\right)\ \cos(\theta\left(k\right)) \tag{7}\]  
\[m_{y}\left(k\right)=m_{y}\left(k-1\right)+l_{step}\left(k\right)\ \sin(\theta\left(k\right)) \tag{8}\]  
where \(m_{x}\) and \(m_{y}\) are, respectively, the \(x\), \(y\) components of the position, \(k\) is the time index, and \(l_{step}\) is the duration of the step and q the position. The fundamental cycle for a system of steps and directions is as follows [10]:  
* Identify the subset of data of an individual step. * Estimate the step length. * Estimate the heading. Usually, detecting a pedestrian's step is a task divided into two phases: (i) the support phase, when the foot is firmly planted on the ground, and (ii) the swing phase, when the foot is in the air.