Skip to main content

An indoor fusion navigation algorithm using HV-derivative dynamic time warping and the chicken particle filter


The use of dead reckoning and fingerprint matching for navigation is a widespread technical method. However, fingerprint mismatching and low fusion accuracy are prevalent issues in indoor navigation systems. This work presents an improved dynamic time warping and a chicken particle filter to handle these two challenges. To generate the Horizontal and Vertical (HV) fingerprint, the pitch and roll are employed instead of the original fingerprint intensity to extract the horizontal and vertical components of the magnetic field fingerprint. Derivative dynamic time warping employs the HV fingerprint in its derivative form, which receives higher-level features because of the consideration of fingerprint shape information. Chicken Swarm Optimization (CSO) is used to enhance particle weights, which minimizes position error to tackle the particle impoverishment problem for a fusion navigation system. The results of the experiments suggest that the enhanced algorithm can improve indoor navigation accuracy significantly.


Location-based services such as pedestrian navigation, fire rescue, and intelligent commodity storage are in high demand. Navigation is one of the most important technologies in location services. BeiDou Navigation Satellite System (BDS), Global Positioning System (GPS), GLObal NAvigation Satellite System (GLONASS), and Galileo navigation satellite system (Galileo) are the global satellite navigation systems that have been successfully employed (Chen & Chang, 2021; Mosavi et al., 2017; Wang, Zhang, et al., 2021). Many scholars have conducted extensive research on Global Navigation Satellite System (GNSS). Buildings impede or weak satellite signals, making it impossible to utilize a satellite system for indoor navigation. Other techniques are used, such as accelerometer (Jiménez et al., 2010), gyroscope (El-Sheimy & Youssef, 2020), geomagnetism (Zhang et al., 2014), Wireless Fidelity (WiFi) (Biswas & Veloso, 2010), vision (Möller et al., 2012), Radio Frequency Identification (RFID) (Xu et al., 2017), and so on. As a means of communication, smartphones have gained popularity. One of the most common approaches is to utilize a smartphone as a navigation device.

Smartphones are successfully integrated with Micro-Electro-Mechanical Systems (MEMS) accelerometers and gyroscopes. By integrating with acceleration and angular velocity, the smartphone's position, speed, and attitude are calculated. Although many studies (Shin & El-Sheimy, 2002; Syed et al., 2007) used mathematical modeling or a turntable calibration platform to eliminate various inertial sensor errors, the position error caused by the integration remains divergent. Another method is to use gait Dead Reckoning (DR) to estimate position in two dimensions (Chen et al., 2018a). The most significant features of a gait-based DR are attitude angles, step length, and step counting. The inverted pendulum model is used to compute the pedestrian step length after segmenting the vertical acceleration (Chen et al., 2021). Although DR can reduce the error caused by an integral operation, the cumulative error still exists. The greater the walking time, the larger the position error is. The position error is proportional to the cubic power of walking time (Ali & El-Sheimy, 2013). Yu et al. used the Particle Filter (PF) to successfully reduce pedestrian position error after introducing the map's new information (Yu et al., 2016).

The use of fingerprints for navigation is becoming popular. Fingerprint intensity is influenced by the spatial environment, resulting in variable fingerprint intensities in different locations. In other word, the fingerprints in adjacent locations are similar, whereas fingerprints from far away locations are different. In the offline phase, the fingerprints and their associated spatial positions are used to establish a reference fingerprint database. In the online phase, a smartphone measures the fingerprints. The matching approach is used to estimate the relevant position. Mismatching of fingerprints is unavoidable in the matching process. By constructing multidimensional fingerprints, Wang et al. effectively reduced fingerprint mismatching (Wang et al., 2020).

To further solve the low accuracy problem of a fusion system, a number of fusion approaches incorporating DR and fingerprint matching have been developed (Chen et al., 2015). Li et al. used the DR navigation results to restrict the fingerprint matching scope, and the Multi-Dimensional Dynamic Time Warping (MD-DTW) algorithm to calculate the distance between online and reference fingerprints (Li et al., 2016a). The performance of the fusion method is determined by the DR results. Chen et al. and Li et al. introduced the Extended Kalman Filter (EKF) and the unscented Kalman filter, respectively (Chen, et al., 2015; Li et al., 2016b). Because the Kalman filter is only applicable for linear systems, fusion algorithms' ability to improve their navigation performance is severely limited. Xie et al. used an improved PF, but cannot solved the particle impoverishment problem (Xie et al., 2014). To overcome the aforementioned difficulties, this research proposes an effective indoor navigation technique. The innovative work is as follows.

The pitch and roll are used to extract the horizontal and vertical components of the magnetic field fingerprint to construct the HV fingerprint. The derivative of the HV fingerprint is employed, which possesses higher-level properties. The HV-Derivative Dynamic Time Warping (HV-DDTW) is proposed to reduce magnetic fingerprint mismatching.

To tackle the particle impoverishment problem, a CSO technique is proposed to improve the particle weights. An improved PF, or a Chicken PF (CPF), can increase the position accuracy of an indoor navigation system.

The experiments show the position accuracy for a laboratory and an office building achieved 0.88 m and 1.1 m, respectively, with four different motion modes.

In this paper, the second section discusses the related work; the third section delves into the algorithm model; the fourth section describes the experiments in various scenarios; and the fifth section summarizes the study and gives the recommendations for future work.

Related work

Indoor navigation algorithms can be divided into two groups: the single-sensor navigation algorithms and the multi-sensor navigation algorithms. A single-sensor navigation algorithm uses only the data of one sensor, and the positioning performance is improved primarily by dealing with a data source. It is simple and straightforward to use, but has limited applications. A multi-sensor navigation algorithm combines the data from numerous sensors to better positioning performance by coping with the data sources. The navigation algorithm is relatively complex, but widely used.

The single-sensor navigation algorithms

The single-sensor navigation has been studied extensively. Park and Suh provided a new zero velocity detection approach using the Markov model by segmenting the angular velocity (Park & Suh, 2010). To correct the lower-frequency biases in the accelerations and angles, Yan et al. merged sophisticated machine learning algorithms with inertial navigation system (Yan et al., 2018). To improve the accuracy of WiFi fingerprint matching, some researchers have used an indoor WiFi attenuation model to update fingerprint databases (Sun et al., 2018). Li et al. described the method to use the magnetic field value as a fingerprint for indoor localization (Li et al., 2012). A robust Ultra-Wide Band (UWB) indoor positioning system was proposed based on the skewness of the estimated channel impulse response (García et al., 2015). It can accurately operate in a very complex indoor scenario. Indoor localization is accomplished using a RFID signal propagation model based on the weighted-least square approach (Wang, Zhang, et al., 2021).

The multi-sensor navigation algorithms

The multi-sensor fusion algorithms have been widely researched because they take advantage of the complementing qualities of sensor data. Li et al. used a multi-layer quality control strategy to reduce the positioning error of the fusion algorithm, which is based on the interaction of different technologies such as Pedestrian Dead Reckoning (PDR), magnetic field, and WiFi (Li et al., 2017). To incorporate PDR, magnetic field, and floor plan, Wang et al. employed an adaptive unscented Kalman filter (Wang et al., 2015). To combine LiDAR, cameras, and inertial sensors, Li et al. employs the federated filters (Li et al., 2020). However, the Kalman filter cannot improve dramatically performance for nonlinear indoor navigation systems.

The fusion navigation system based on magnetic/WiFi/PDR selects the fusion strategy to combine the positioning results based on the PF framework (Guo et al., 2016). To combine MEMS sensor and indoor map data, Yu et al. employs an auxiliary PF (Yu et al., 2017). The weight is set to zero when the particles cross the wall. The auxiliary PF increases positioning precision by removing invalid particles. However, the particle impoverishment problem, is more serious and affects the algorithm's stability.


As illustrated in the indoor fusion technique is made up of four parts: the gait-based DR, magnetic field fingerprint matching, WiFi fingerprint matching, and a fusion algorithm. The gait-based DR module uses heading, step length, and step counting to estimate pedestrian position. Zero velocity UPdaTe (ZUPT) and EKF are used to eliminate noise. HV-DDTW employs the derivative of the fingerprint instead of the original one in the magnetic field fingerprint matching module, which obtains higher-level features due to considering the fingerprint shape information. The pedestrian position is estimated using the Weighted K-Nearest Neighbor (WKNN) technique. The WiFi fingerprint matching module uses the MD-DTW approach to determine the fingerprint distance (Li, et al., 2016a). The revised PF algorithm in the indoor fusion algorithm effectively increases the accuracy of pedestrian navigation following the introduction of the CSO algorithm (Fig. 1).

Fig. 1
figure 1

The indoor fusion navigation algorithm framework

The gait-based DR

EKF, step length, step counting, and heading estimation are all parts of the technology. EKF is used to filter out vertical velocity noise when zero velocity is detected. DR is used to estimate the position of a pedestrian after computing the heading, step length, and step counting.


To determine if a pedestrian is static, the ZUPT algorithm is used. The EKF is triggered to filter out noise when a pedestrian is detected to be stationary. The following is a 9-element state vector.

$$ {\updelta }{\varvec{X}}_{k} = \left[ {r_{z} ,v_{z} ,S_{{{\text{roll}}}} ,S_{{{\text{pitch}}}} ,S_{{{\text{yaw}}}} , \in_{{v_{z} }} , \in_{{{\text{roll}}}} , \in_{{{\text{pitch}}}} , \in_{{{\text{yaw}}}} } \right]_{k}^{{\text{T}}} $$

where \(r_{z}\) and \(v_{z}\) denote the vertical displacement and vertical velocity, respectively; \(S_{{{\text{roll}}}}\), \(S_{{{\text{pitch}}}}\), and \(S_{{{\text{yaw}}}}\) denote the user's attitude angles; \(\in_{{v_{z} }}\) denotes the bias of the vertical velocity; \(\in_{{{\text{roll}}}}\), \(\in_{{{\text{pitch}}}}\)., and \(\in_{{{\text{yaw}}}}\) denote the biases of the attitude angles.

The EKF system equation reads

$$ {\updelta }{\varvec{X}}_{k} = {\varvec{F}}_{k - 1} {\updelta }{\varvec{X}}_{k} + {\varvec{\omega}}_{K - 1} $$
$$ {\updelta }{\varvec{Z}}_{k} = {\varvec{H}}_{k} {\updelta }{\varvec{X}}_{k} + {\varvec{v}}_{k} $$

where \({\varvec{F}}_{k - 1}\) denotes the state transition matrix; \({\varvec{H}}_{k}\) denotes the observation matrix; \({\varvec{\omega}}_{K - 1}\) and \({\varvec{v}}_{k}\) denote the state transition noise and the observation noise. Refer to reference (Chen et al., 2018b) for the determination of the four parameter values (\({\varvec{F}}_{k - 1} ,{\varvec{\omega}}_{K - 1} ,{\varvec{H}}_{k} ,{\varvec{v}}_{k}\)).

Step length

The pedestrian step length is calculated using the inverted pendulum model. The vertical acceleration is determined as follows when the accelerometer collects the acceleration.

$$ a_{z} \left( t \right) = - \frac{{\left( {{\varvec{a}}\left( t \right) - {\varvec{g}}\left( t \right)} \right) \cdot {\varvec{g}}\left( t \right)}}{{\left| {{\varvec{g}}\left( t \right)} \right|}} $$

where \(a_{z} \left( t \right)\) is the vertical acceleration; the acceleration and gravity at the t-th epoch are represented by \({\varvec{a}}\left( t \right)\) and \({\varvec{g}}\left( t \right)\), respectively; and \(\left| * \right|\) denotes the norm of a vector.

The vertical displacement can be calculated using the double integral method.

$$ S_{{{\text{VD}}}} = \mathop \int \limits_{{t_{1} }}^{{t_{2} }} \mathop \int \limits_{{t_{1} }}^{{t_{2} }} a_{z} \left( t \right){\text{d}}t{\text{d}}t $$

where \(t_{1}\) and \(t_{2}\) are the beginning and ending times of the vertical acceleration, respectively; and \(S_{{{\text{VD}}}}\) is the vertical displacement.

The step length is calculated using the inverted pendulum model as follows.

$$ D_{{{\text{SL}}}} = 2\sqrt {L^{2} - \left( {L - S_{{{\text{VD}}}} } \right)^{2} } $$

where \(D_{{{\text{SL}}}}\) denotes the length of one step and L denotes the distance between the smartphone and the ground while the walker is static.

Step counting

When a pedestrian is walking, the smartphone moves up and down, forming peaks and troughs. The two adjacent troughs are taken as one step for the pedestrian.

$$ \begin{gathered} t^{{{\text{trough}}}} = \left\{ {t|\left( {a_{z}^{{t_{1} - 1}} - a^{{{\text{thd}}}} } \right)\cdot\left( {a_{z}^{{t_{1} + 1}} - a^{{{\text{thd}}}} } \right) < 0,} \right. \hfill \\ \left. {\left( {a_{z}^{{t_{2} - 1}} - a^{{{\text{thd}}}} } \right)\cdot\left( {a_{z}^{{t_{2} + 1}} - a^{{{\text{thd}}}} } \right) < 0,t = \frac{{t_{1} + t_{2} }}{2}} \right\} \hfill \\ \end{gathered} $$

where the trough point of the vertical acceleration is represented by \(t^{{{\text{trough}}}}\); two epochs are represented by \(t_{1}\) and \(t_{2}\); and the vertical acceleration threshold is represented by \(a^{{{\text{thd}}}}\). The pedestrian step counting is depicted in Fig. 2.

Fig. 2
figure 2

The step counting detection result


The quaternion approach is used to update the angle increment when the angular velocity is collected by the gyroscope. The quaternion vector at the (k + 1)-th epoch reads

$$ q_{k + 1} = \left[ {I\cos \frac{{\Delta \theta_{k} }}{2} + \Delta \Theta \frac{{\sin \frac{{\Delta \theta_{k} }}{2}}}{{\Delta \theta_{k} }}} \right]q_{k} $$

where \(q_{k + 1} = \left[ {\begin{array}{*{20}c} {q_{1} } & {q_{2} } & {\begin{array}{*{20}c} {q_{3} } & {q_{4} } \\ \end{array} } \\ \end{array} } \right]_{k + 1}\); \(I\) is a \(3\) identity matrix; and \(\Delta \theta_{k}\) is the angle increment. \(\Delta \Theta\) is calculated as follows.

$$ \Delta \Theta = \left[ {\begin{array}{*{20}c} 0 & {\Delta \theta_{k}^{z} } & {\begin{array}{*{20}c} { - \Delta \theta_{k}^{y} } & {\Delta \theta_{k}^{x} } \\ \end{array} } \\ { - \Delta \theta_{k}^{z} } & 0 & {\begin{array}{*{20}c} {\Delta \theta_{k}^{x} } & {\Delta \theta_{k}^{y} } \\ \end{array} } \\ {\begin{array}{*{20}c} {\Delta \theta_{k}^{y} } \\ { - \Delta \theta_{k}^{x} } \\ \end{array} } & {\begin{array}{*{20}c} { - \Delta \theta_{k}^{x} } \\ { - \Delta \theta_{k}^{y} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 \\ { - \Delta \theta_{k}^{z} } \\ \end{array} } & {\begin{array}{*{20}c} {\Delta \theta_{k}^{z} } \\ 0 \\ \end{array} } \\ \end{array} } \\ \end{array} } \right] $$

where \(\Delta \theta_{k}^{x}\), \(\Delta \theta_{k}^{y}\), and \(\Delta \theta_{k}^{z}\) represent x, y, z triaxial angle increments at the k-th epoch, respectively.

The directional cosine matrix is calculated as follows after the quaternion vector has been updated.

$$ C_{b}^{n} = \left[ {\begin{array}{*{20}c} {q_{1}^{2} - q_{2}^{2} - q_{3}^{2} + q_{4}^{2} } & {2q_{1} q_{2} - 2q_{3} q_{4} } & {2q_{1} q_{3} + 2q_{2} q_{4} } \\ {2q_{1} q_{2} + 2q_{3} q_{4} } & { - q_{1}^{2} + q_{2}^{2} - q_{3}^{2} + q_{4}^{2} } & {2q_{2} q_{3} - 2q_{1} q_{4} } \\ {2q_{1} q_{3} - 2q_{2} q_{4} } & {2q_{2} q_{3} + 2q_{1} q_{4} } & { - q_{1}^{2} - q_{2}^{2} + q_{3}^{2} + q_{4}^{2} } \\ \end{array} } \right] $$

The attitude angles are determined as follows when the direction cosine matrix is changed.

$$ \vartheta = \arctan \frac{{ - C_{b}^{n} \left( {3,1} \right)}}{{\sqrt {\left( {C_{b}^{n} \left( {3,2} \right)} \right)^{2} + \left( {C_{b}^{n} \left( {3,3} \right)} \right)^{2} } }} $$
$$ \phi = \arctan \frac{{C_{b}^{n} \left( {3,2} \right)}}{{C_{b}^{n} \left( {3,3} \right)}} $$
$$\varphi = \arctan \frac{{C_{b}^{n} \left( {2,1} \right)}}{{C_{b}^{n} \left( {1,1} \right)}}$$

where \(\vartheta\), \(\phi\) an \(\varphi\) denote pitch, roll, and yaw, respectively.


The DR algorithm determines the pedestrian position based on its previous position \(\left[ {\begin{array}{*{20}c} {x_{k} } & {y_{k} } \\ \end{array} } \right]^{T}\) and the current step length \(D_{{{\text{SL}}}}\) and heading \( \varphi\).

$$ \left[ {\begin{array}{*{20}c} {x_{k + 1} } \\ {y_{k + 1} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {x_{k} } \\ {y_{k} } \\ \end{array} } \right] + D_{SL} \cdot \left[ {\begin{array}{*{20}c} {\cos \varphi } \\ {\sin \varphi } \\ \end{array} } \right] $$

Fingerprint matching

Database training in the offline phase

The databases < location, RSS > and < location, magnetic feature > are both created in the offline phase. The walk-survey approach is a time and cost-effective way of constructing a fingerprint database (Li et al., 2015b). As illustrated in Fig. 3, the reference points in a test area are first marked. Then a laser rangefinder is used to get their two-dimensional coordinates. When a reference point is reached while walking, the walking time and fingerprints including Received Signal Strength (RSS) and magnetic field are recorded. Finally, interpolation is used to acquire the fingerprints for other locations.

Fig. 3
figure 3

Schematic diagram of WiFi fingerprint and magnetic fingerprint collection in an indoor environment. The distance between the reference points is set to 5–10 m

WiFi fingerprint

Android smartphones usually have low WiFi RSS update rates, such as 0.2 Hz for Nexus 5X. When the surveyor arrives at a reference point, he or she presses the button to record the time, and the WiFi fingerprint that is closest to the time of recording is used as the reference point fingerprint. The following is the WiFi fingerprint of the j-th reference point.

$$ \begin{aligned} {\text{FW}}_{i} = & \{ {\text{pos}}_{i} ,\left( {{\text{mac}}_{i,1} ,{\text{RSS}}_{i,1} } \right),\left( {{\text{mac}}_{i,2} ,{\text{RSS}}_{i,2} } \right), \\ & \left( {{\text{mac}}_{i,j} ,{\text{RSS}}_{i,j} } \right), \cdots ,\left( {{\text{mac}}_{i,m} ,{\text{RSS}}_{i,m} } \right)\} \\ \end{aligned} $$

where \({\text{pos}}_{i}\) is the i-th reference point's two-dimensional coordinate; the media access control address and RSS of the j-th AP at the i-th reference point are \({\text{mac}}_{i,j} \) and \({\text{RSS}}_{i,j}\), respectively; and m is the number of available APs at the i-th reference point.

Magnetic fingerprint

As shown in Fig. 4, the magnetometer collects the three-axis magnetic field (\(B_{x}\),\(B_{y}\),\(B_{z}\)). The following is the magnetic intensity fingerprint at the k-th epoch of the i-th reference point.

$$ {\text{FM}}_{i,k} = \left\{ {{\text{pos}}_{i} ,B_{i,k} } \right\} $$
Fig. 4
figure 4

The triaxial magnetic field

where \({\text{pos}}_{i}\) and \(B_{i,k} = \sqrt {\left( {B_{i,k}^{x} } \right)^{2} + \left( {B_{i,k}^{y} } \right)^{2} + \left( {B_{i,k}^{z} } \right)^{2} }\) represent the i-th reference point’s two-dimensional coordinate and magnetic intensity at the k-th epoch of the i-th reference point, respectively.

Constructing two-dimensional magnetic fingerprints is another method. The horizontal and vertical components of the magnetic field can be calculated using the attitude angles (Chen, et al., 2018a). The following is the definition of a two-dimensional magnetic fingerprint.

$$FM_{i,k} = \left\{ {{\text{pos}}_{i} ,B_{i,k}^{H} ,B_{i,k}^{V} } \right\}.$$

The vertical component of the magnetic field is calculated as follows (Li et al., 2015a).

$$ B_{i,k}^{V} = - \sin \vartheta \cdot B_{i,k}^{x} + \sin \emptyset \cos \vartheta \cdot B_{i,k}^{y} + \cos \emptyset \cos \vartheta \cdot B_{i,k}^{z} $$
$$ B_{i,k}^{H} = \sqrt {\left( {B_{i,k}^{x} } \right)^{2} + \left( {B_{i,k}^{y} } \right)^{2} + \left( {B_{i,k}^{z} } \right)^{2} - B_{i,k}^{V} } $$

where the horizontal magnetic field is denoted by \(B^{H}\). Figure 5 depicts the magnetic field's horizontal and vertical components, commonly known as HV magnetic fingerprints.

Fig. 5
figure 5

The HV magnetic fingerprints

Positioning in the online phase

WiFi matching

The goal of WiFi fingerprint matching is to find the most similar reference fingerprint in the database using the acquired WiFi fingerprint. The position corresponding to the most similar reference fingerprint is the matching result. Multi-dimensional WiFi fingerprints are also used in the matching process to solve the mismatching of WiFi fingerprints. MD-DTW is the corresponding algorithm.

The improved magnetic matching

To determine the distance between online fingerprints and the fingerprints in a database, the DTW method is commonly employed. The shorter the distance, the higher the similarity is. The HV fingerprint is directly engaged in fingerprint matching in the classic fingerprint matching process. However, the impact of magnetic field shape information on the fingerprint matching method is ignored. According to reference (Keogh & Pazzani, 2001), the derivative method is introduced, and the HV-DDTW algorithm is proposed. Figure 6 shows the HV magnetic field fingerprint in its derivative form, which is calculated as.

$$ M_{k}^{H} = \frac{{\left( {B_{k}^{H} - B_{k - 1}^{H} } \right) + \frac{{\left( {B_{k + 1}^{H} - B_{k - 1}^{H} } \right)}}{2}}}{2}. $$
$$ M_{k}^{V} = \frac{{\left( {B_{k}^{V} - B_{k - 1}^{V} } \right) + \frac{{\left( {B_{k + 1}^{V} - B_{k - 1}^{V} } \right)}}{2}}}{2} $$

where \(M_{k}^{H} \) and \(M_{k}^{V}\) represent the new magnetic field fingerprint at the k-th epoch.

Fig. 6
figure 6

The HV magnetic fingerprint in its derivative form

The new fingerprint is used as input information, and Algorithm 1 HV-DDTW shows the calculation process.

figure a

The WKNN method is utilized to produce genetic field matching results, which involves calculating the weighted average of the k selected reference locations with the minimum Euclidean distance. The weighted average formula is as follows.

$$ \left[ {\begin{array}{*{20}c} {\hat{x}} \\ {\hat{y}} \\ \end{array} } \right] = \mathop \sum \limits_{i = 1}^{k} \frac{{c_{i} }}{C}\left[ {\begin{array}{*{20}c} {x_{i} } \\ {y_{i} } \\ \end{array} } \right] $$

where \(c_{i} = 1/D_{i}\), \(C = \mathop \sum \nolimits_{i = 1}^{k} D_{i} ;\left[ {\begin{array}{*{20}c} {x_{i} } \\ {y_{i} } \\ \end{array} } \right]\) is the position of the i-th selected reference point; \(\left[ {\begin{array}{*{20}c} {\hat{x}} \\ {\hat{y}} \\ \end{array} } \right]\) is the estimated position.

An improved indoor fusion positioning algorithm

The PF, unlike the Kalman filter, can be used to analyze nonlinear systems and is frequently used in indoor navigation applications. But the particle impoverishment problem is always of main concern. Different PF variants have been proposed to solve the particle impoverishment problem. Although revised algorithms improve navigation performance in various ways, there are still some drawbacks, such as low positioning precision.

Chicken swarm optimization

Chickens like roosters, hens, and chicks have a hierarchical structure and foraging activity that the CSO algorithm resembles. The CSO algorithm can quickly and easily solve all types of numerical problems in scientific research, and has the advantages of high convergence efficiency and fast convergence speed.

Update the position of the rooster

The rooster with a higher fitness value and a wider range of food searching has an advantage over the rooster with a lower fitness value and a smaller range of food searching during the food competition phase. Individual location \(i\) in the t-th iteration is indicated by \(X_{i,j}^{t}\), where \(i \in \left[ {1,2,3, \ldots ,N} \right],j \in \left[ {1,2,3, \ldots ,Q} \right]\). The letters N and Q stand for chickens and dimensional space, respectively. The following is a new position for the rooster.

$$ X_{i,j}^{t} = X_{i,j}^{t - 1} \cdot \left( {1 + randn\left( {0,\sigma^{2} } \right)} \right) $$
$$ \sigma^{2} = \left\{ {\begin{array}{ll} 1 & {f_{i} \le f_{k} } \\ {e^{{\left( {\frac{{f_{k} - f_{i} }}{{f_{i} + \varepsilon }}} \right)}} } & {f_{i} > f_{k} } \\ \end{array} } \right. $$

where \(randn\) represents a normal distribution with a mean of 0 and a variance of \(\sigma^{2}\); \(f_{i}\) denotes the fitness value of the i-th rooster; except for \(f_{i}\), \(f_{k} \) represents any fitness value of a rooster; \(\varepsilon\) denotes a small constant.

Update the position of the hen

The hens usually look for the food near the roosters in their offspring, and they can prevent other individuals from stealing the food they have found. The hens with high fitness values are more likely to win the feeding competition than the hens with low fitness values. The position of the hen has been updated as follows.

$$ \begin{gathered} X_{i,j}^{t} = X_{i,j}^{t - 1} + s_{1} \cdot rand \cdot \left( {X_{r1,j}^{t - 1} - X_{i,j}^{t - 1} } \right) \hfill \\ + s_{2} \cdot rand \cdot \left( {X_{r2,j}^{t - 1} - X_{i,j}^{t - 1} } \right) \hfill \\ \end{gathered} $$
$$ s_{1} = e^{{\frac{{f_{i} - f_{r1} }}{{\left| {f_{i} + \varepsilon } \right|}}}} $$
$$ s_{2} = e^{{f_{r2} - f_{i} }} $$

where \(rand\) represents a random number between 0 to 1. The subscript r1 represents the rooster corresponding to the i-th hen; r2 represents any individual of the hen.

Update the position of the chick

A chick chooses a hen at randomly as its mother to establish the link between mother and son, and searches for food under the hen's direction. The chick's position has been updated as follows.

$$ X_{i,j}^{t} = X_{i,j}^{t - 1} + F_{{{\text{FL}}}} \cdot\left( {X_{m,j}^{t - 1} - X_{i,j}^{t - 1} } \right) $$

where \(X_{m,j}^{t - 1}\) represents the hen, followed by the jth chick, and \(F_{{{\text{FL}}}}\) is the following coefficient.

The improved particle filter

The following are the improved PF system equations

$$ \varphi \left( k \right) = \varphi \left( {k - 1} \right) + \Delta \varphi + G_{\varphi } $$
$$ x\left( k \right) = x\left( {k - 1} \right) + SL*\sin \left( {\varphi \left( k \right)} \right) + G_{x} $$
$$ y\left( k \right) = y\left( {k - 1} \right) + SL*\cos \left( {\varphi \left( k \right)} \right) + G_{y} $$

where \(\varphi\) is the pedestrian heading; the symbol for a change in pedestrian direction is \(\Delta \varphi\); the pedestrian position is represented by \(\left[ {\begin{array}{*{20}c} {x\left( k \right)} & {y\left( k \right)} \\ \end{array} } \right]^{{\text{T}}}\); and the comparable noise is represented by \(G_{\varphi }\), \(G_{x}\) and \(G_{y}\).

The modified PF observation equations include WiFi and magnetic field fingerprint matching results, i.e.

$$ z_{1} \left( k \right) = \left[ {\begin{array}{*{20}c} {x\left( k \right)} \\ {y\left( k \right)} \\ \end{array} } \right]_{{{\text{WiFi}}}} $$
$$ z_{2} \left( k \right) = \left[ {\begin{array}{*{20}c} {x\left( k \right)} \\ {y\left( k \right)} \\ \end{array} } \right]_{{{\text{MM}}}} $$

where the subscripts \({\text{WiFi}}\) and MM represent WiFi matching result and magnetic matching result, respectively. The weights for the WiFi and MM are defined as.

$$ q_{{{\text{WiFi}}}} = \frac{1}{{\sqrt {\left\| R \right\|} \sqrt {2{\uppi }} }}{\text{e}}^{{ - \left\| {\left[ {\begin{array}{*{20}c} x \\ y \\ \end{array} } \right]_{{{\text{WiFi}}}} - \left[ {\begin{array}{*{20}c} x \\ y \\ \end{array} } \right]_{{{\text{est}}}} } \right\|}} $$
$$ {\text{q}}_{{{\text{MM}}}} = \frac{1}{{\sqrt {\left\| R \right\|} \sqrt {2{\uppi }} }}{\text{e}}^{{ - \left\| {\left[ {\begin{array}{*{20}c} x \\ y \\ \end{array} } \right]_{{{\text{MM}}}} - \left[ {\begin{array}{*{20}c} x \\ y \\ \end{array} } \right]_{{{\text{est}}}} } \right\|}} $$

where R is the noise of the observation equation and \(\left\| \cdot \right\|\) denotes modular operation; \(\left[ {\begin{array}{*{20}c} x \\ y \\ \end{array} } \right]_{{{\text{est}}}}\) represents the particle position estimated by the motion equation; \(\left[ {\begin{array}{*{20}c} x \\ y \\ \end{array} } \right]_{{{\text{WiFi}}}}\) and \(\left[ {\begin{array}{*{20}c} x \\ y \\ \end{array} } \right]_{{{\text{MM}}}}\) represent the results of WiFi and magnetic fingerprint matching.

The particle weight of the improved PF is calculated as.

$$ q = q_{WiFi} \cdot q_{MM} $$

To solve the particle impoverishment problem, we modify the standard PF. Based on the chicken flock categorization method, all particles are divided into three groups. The categorization standard is determined by the total weight produced by the observation equation.

The chicken swarm algorithm is separated into three levels based on the type of a chicken, i.e., a rooster, a hen, or a chick. The fitness of roosters is the highest, that of hens is the second, and that of chicks is the lowest, according to the fitness relationship. The particles are split into three levels as a result. The particles are separated into flocks of chicks if they cross through the wall. The particles are split into flocks of roosters if they do not pass the wall and their weights above the set threshold. If not, they are divided into hen flocks. The following formula is used to establish the threshold.

$$ T_{{{\text{Th}}}}^{q} = \left( {{\text{max}}\left( q \right) - {\text{min}}\left( q \right)} \right) \times 0.75 + {\text{min}}\left( q \right) $$

For the particles divided into a flock of rooste, formula (22) is modified as follows.

$$ X_{i,j}^{t} = X_{i,j}^{t - 1} \cdot \left( {1 + randn\left( {0,\sigma^{2} } \right)} \right) $$
$$ \sigma^{2} = \left\{ {\begin{array}{ll} 1 & {q_{i} \le q_{k} } \\ {e^{{\left( {\frac{{q_{mea} - q_{i} }}{{q_{i} + \varepsilon }}} \right)}} } & {q_{i} > q_{k} } \\ \end{array} } \right. $$

where \(q_{mea}\) represents the average weight.

For the particles divided into a flock of hens, formula (23) is modified as

$$ X_{i,j}^{t} = X_{i,j}^{t - 1} + s_{1} \cdot rand \cdot \left( {X_{mea1,j}^{t - 1} - X_{i,j}^{t - 1} } \right) + s_{2} \cdot rand \cdot \left( {X_{mea2,j}^{t - 1} - X_{i,j}^{t - 1} } \right) $$
$$ s_{1} = e^{{\frac{{q_{i} - q_{{{\text{mea}}1}} }}{{\left| {q_{i} + \varepsilon } \right|}}}} $$
$$ s_{2} = e^{{q_{{{\text{mea}}2}} - q_{i} }} $$

where \(X_{{{\text{mea}}1,j}}\) represents the average value of roosters, and \(X_{{{\text{mea}}2,j}}\) represents the average value of hens.

Experiment and analysis

Experimental scenarios

Two typical indoor environments were chosen for the tests, as shown in Fig. 7. A smartphone Honor 50 was utilized to acquire fingerprints in the offline phase. In the online phase, the data of acceleration, angular velocity, WiFi, and magnetic field were collected using a smartphone Nexus 5X. The walking speed was from 1 m/s to 1.5 m/s. Smartphone posture included four modes: calling, dangling, handheld, and pocketed.

Fig. 7
figure 7

Experimental scenarios

Comparison of HV-DDTW and MD-DTW

Many studies employ the HV fingerprints to reduce fingerprint mismatching (Li, et al., 2015b). The higher-level feature fingerprint is built using the fingerprint shape information. MD-DTW was proposed in (Li, et al., 2016b). The cumulative distribution functions (CDFs) of MD-DTW and HV-DDTW are shown in Fig. 8. The higher-level feature fingerprints-based HV-DDTW algorithm is clearly superior to the traditional MD-DTW algorithm.

Fig. 8
figure 8


Comparison of PF and CPF

Compared to PF, the effective improvement of CPF is illustrated in Fig. 9. It is selected as an example when the number of pedestrian steps k is equal to 200 and 300. The blue and red asterisks represent the posterior distribution of PF and CPF, respectively. The weights of many particles are so small that they contribute little to the posterior distribution, especially those in the ellipse. CPF, on the other hand, removes most of the small-weight particles. This is mainly due to the operation of the chicken swarm algorithm. On this basis, a lot of high-quality pedestrian position information is transferred from high-quality particles to small-weight ones, and the chicken swarm algorithm is operated to increase the weights of particles and make them more uniform.

Fig. 9
figure 9

Illustrations about the effectiveness of CPF

PF is prone to suffer from the particle impoverishment problem during the resampling process, making it difficult to accurately estimate pedestrian positions. CPF generates new particles using three mechanisms, effectively increasing particle diversity. The position error of CPF is reduced compared to PF, as illustrated in Fig. 10. CSO is used to generate new particles when the particles cross the wall. The particle impoverishment problem is alleviated, and the diversity of particles is improved, thus reducing the position error of indoor pedestrian navigation.

Fig. 10
figure 10

CDFs of PF and CPF

Laboratory experiment

Students can conduct experiments in the laboratory, which features desks, windows, pillars, and walls. From Figs.11, 12, 13, 14, 15, 16 illustrate the positioning trajectories, position errors, and CDFs for DR + WiFi, DR + MM, EDTW + REKF (Chen, et al., 2021), and HV-DDTW + CPF in the calling, dangling, handheld, and pocketed modes. The Average Error (AE), Root Mean Square Error (RMSE), Maximum Error (ME), and Circular Error Probability (CEP) are all shown in Table 1. Compared to DR + WiFi, DR + MM, and EDTW + REKF, HV-DDTW + CPF reduces errors by as follows: (a) for AE: 40%, 42.2%, and 19.23%, respectively; (b) for RMSE: 39.34%, 34.51%, and 21.28%, respectively; (c) for ME: 26.11%, 27.18%, and 27.88%, respectively; (d) for CEP of 75%: 45.81%, 36.36%, and 19.23%, respectively; and (e) for CEP of 95%: 26.87%, 27.59%, and 28.64%, respectively. Compared to the traditional magnetic field fingerprint matching, HV-DDTW can significantly reduce magnetic field fingerprint mismatching by introducing higher-level fingerprints. The CSO algorithm is used to overcome the particle impoverishment problem by effectively improving particle weights. As a result, CPF can improve the accuracy of indoor navigation significantly.

Fig. 11
figure 11

Positioning trajectories with different modes for DR/WiFi

Fig. 12
figure 12

Positioning trajectories with different modes for DR/MM

Fig. 13
figure 13

Positioning trajectories with different modes for EDTW + REKF

Fig. 14
figure 14

Positioning trajectories with different modes for HV-DDTW + CPF

Fig. 15
figure 15

Position errors with different modes

Fig. 16
figure 16

CDFs of errors with different modes

Table 1 Position errors for DR + WiFi, DR + MM, EDTW + REKF, and HV-DDTW + CPF (m)

Office building experiment

One of the iconic indoor scenes is the office building's corridor. There are classrooms, doors and windows, and numerous square columns along the corridor's edge. In the calling, dangling, handheld, and pocketed modes, the positioning trajectories, position errors, and CDFs for Adaptive Particle Filter (APF) (Hu et al., 2021), WiMag (Guo, et al., 2016), and HV-DDTW + CPF are shown in Figs. 17, 18, 19, 20, 21. Table 2 displays the AE, RMSE, ME, and CEP. Compared to APF and WiMag, HV-DDTW + CPF reduces errors as by follows: (a) for AE: 69.95% and 21.43%, respectively; (b) for RMSE: 71.43% and 16.56%, respectively; (c) for ME: 73.82% and 10.28%, respectively; (d) for CEP of 75%: 72.27% and 13.79%, respectively; and (e) for CEP of 95%: 71.35% and 6.36%, respectively. Compared to the other two fusion methods, the DR, WiFi, and magnetic field fusion strategies can effectively boost indoor positioning accuracy.

Fig. 17
figure 17

Positioning trajectories with different modes for APF

Fig. 18
figure 18

Positioning trajectories with different modes for WiMag

Fig. 19
figure 19

Positioning trajectories with different modes for HV-DDTW + CPF

Fig. 20
figure 20

Position errors with different modes

Fig. 21
figure 21

CDFs of errors with different modes

Table 2 Position errors for APF, WiMag, and HV-DDTW + CPF (m)

Figure 22 depicts the position errors of four walking experiments using the handheld mode as an example. In the four walking experiments, the largest AE is 1.52 m, the largest RMSE is 1.9 m, the largest ME is 4.15 m, the largest CEP of 75% is 1.83 m, and the largest CEP of 95% is 3.97 m. These results demonstrated the modified algorithm is of high robustness.

Fig. 22
figure 22

Position errors of four walking experiments

Evaluation of the effectiveness of different smartphones

Two commonly used smartphones (i.e., Nexus 5X and Honor 50) were used for fingerprint collection. We assume that H-N represents the reference fingerprint collected using the smartphone Honor 50 and the measured fingerprint collected using the smartphone Nexus 5. The effectiveness of different smartphones is evaluated as shown in Fig. 23. It can be seen in the figure that the different smartphones used to collect fingerprints give similar position errors, except for the maximum error.

Fig. 23
figure 23

Position errors using different smartphones. H-N represents the reference fingerprint collected using the smartphone Honor 50 and the measured fingerprint collected using the smartphone Nexus 5


To tackle the challenges of fingerprint mismatching and low fusion accuracy, an indoor fusion navigation solution is given. The attitude angles are utilized to extract the horizontal and vertical components of the magnetic field, and the HV fingerprint for magnetic fingerprint matching is created. The HV-DDTW algorithm for computing magnetic fingerprint distance is suggested, which takes into account the fingerprint shape information and matches fingerprints using higher-level features. The chicken swarm algorithm is used to overcome the impoverishment problem of particles in the classical PF. The multi-sensor positioning data is fused using CPF. The algorithm's superiority is demonstrated by the experimental findings. The other merits of the indoor navigation algorithm include no need for a new infrastructure, inexpensive, and dependable.

Because smartphones will have more and more sensors, indoor navigation solutions should include as more sensors as possible. The indoor navigation algorithm should be also integrated with machine learning to create a mathematical model through multiple training to improve positioning accuracy.

Availability of data and materials

The raw data were provided by Shanghai Polytechnic University, Shanghai, China. The raw data used in this study are available from the corresponding author upon request.


  • Ali, A., & El-Sheimy, N. (2013). Low-cost MEMS-based pedestrian navigation technique for GPS-denied areas. Journal of Sensors, 2013(2013), 1–10.

    Article  Google Scholar 

  • Biswas, J., & Veloso, M. (2010). Wifi localization and navigation for autonomous indoor mobile robots. In: Proceedings of the 2010 IEEE international conference on robotics and automation, pp. 4379–4384.

  • Chen, C., & Chang, G. (2021). PPPLib: An open-source software for precise point positioning using GPS, BeiDou, Galileo, GLONASS, and QZSS with multi-frequency observations. GPS Solutions, 25(1), 1–7.

    Article  Google Scholar 

  • Chen, G., Meng, X., Wang, Y., Zhang, Y., Tian, P., & Yang, H. (2015). Integrated WiFi/PDR/Smartphone using an unscented kalman filter algorithm for 3D indoor localization. Sensors, 15(9), 24595–24614.

    Article  Google Scholar 

  • Chen, J., Ou, G., Peng, A., Zheng, L., & Shi, J. (2018a). An INS/WiFi indoor localization system based on the Weighted Least Squares. Sensors, 18(5), 1458.

    Article  Google Scholar 

  • Chen, J., Ou, G., Peng, A., Zheng, L., & Shi, J. (2018b). An INS/floor-plan indoor localization system using the firefly particle filter. ISPRS International Journal of Geo-Information, 7(8), 324.

    Article  Google Scholar 

  • Chen, J., Song, S., & Yu, H. (2021). An indoor multi-source fusion positioning approach based on PDR/MM/WiFi. AEU-International Journal of Electronics and Communications, 135(1), 153733.

    Google Scholar 

  • El-Sheimy, N., & Youssef, A. (2020). Inertial sensors technologies for navigation applications: State of the art and future trends. Satellite Navigation, 1(1), 1–21.

    Article  Google Scholar 

  • García, E., Poudereux, P., Hernández, Á., Ureña, J., & Gualda, D. (2015). A robust UWB indoor positioning system for highly complex environments. In: Proceedings of the 2015 IEEE international conference on industrial technology (ICIT), pp. 3386–3391.

  • Guo, X., Shao, W., Zhao, F., Wang, Q., Li, D., & Luo, H. (2016) WiMag: Multimode fusion localization system based on Magnetic/WiFi/PDR. In: Proceedings of the 2016 international conference on indoor positioning and indoor navigation (IPIN), pp. 1–8.

  • Hu, Y., Peng, A., Tang, B., & Xu, H. (2021). An indoor navigation algorithm using multi-dimensional Euclidean distance and an adaptive particle filter. Sensors, 21(24), 8228.

    Article  Google Scholar 

  • Jiménez, A. R., Seco, F., Prieto, J. C., & Guevara, J. (2010). Indoor pedestrian navigation using an INS/EKF framework for yaw drift reduction and a foot-mounted IMU. In: Proceedings of the 2010 7th workshop on positioning, navigation and communication, pp. 135–143.

  • Keogh, E. J., & Pazzani, M. J. (2001). Derivative dynamic time warping. In: Proceedings of the 2001 SIAM international conference on data mining, pp. 1–11.

  • Li, B., Gallagher, T., Dempster, A. G. & Rizos, C. (2012). How feasible is the use of magnetic field alone for indoor positioning? In: Proceedings of the 2012 international conference on indoor positioning and indoor navigation (IPIN), pp. 1–9.

  • Li, H., Ao, L., Guo, H., & Yan, X. (2020). Indoor multi-sensor fusion positioning based on federated filtering. Measurement, 154, 107506.

    Article  Google Scholar 

  • Li, Y., Zhuang, Y., Lan, H., Niu, X., & El-Sheimy, N. (2016a). A profile-matching method for wireless positioning. IEEE Communications Letters, 20(12), 2514–2517.

    Article  Google Scholar 

  • Li, Y., Zhuang, Y., Lan, H., Zhang, P., Niu, X., & El-Sheimy, N. (2015a). WiFi-aided magnetic matching for indoor navigation with consumer portable devices. Micromachines, 6(6), 747–764.

    Article  Google Scholar 

  • Li, Y., Zhuang, Y., Lan, H., Zhang, P., Niu, X., & El-Sheimy, N. (2016b). Self-contained indoor pedestrian navigation using smartphone sensors and magnetic features. IEEE Sensors Journal, 16(19), 7173–7182.

    Article  Google Scholar 

  • Li, Y., Zhuang, Y., Lan, H., Zhou, Q., Niu, X., & El-Sheimy, N. (2015b). A hybrid WiFi/magnetic matching/PDR approach for indoor navigation with smartphone sensors. IEEE Communications Letters, 20(1), 169–172.

    Article  Google Scholar 

  • Li, Y., Zhuang, Y., Zhang, P., Lan, H., Niu, X., & El-Sheimy, N. (2017). An improved inertial/wifi/magnetic fusion structure for indoor navigation. Information Fusion, 34, 101–119.

    Article  Google Scholar 

  • Möller, A., Kranz, M., Huitl, R., Diewald, S., & Roalter, L. (2012). A mobile indoor navigation system interface adapted to vision-based localization. In: Proceedings of the 11th international conference on mobile and ubiquitous multimedia, pp. 1–10.

  • Mosavi, M.-R., Khavari, A., Tabatabaei, A., & Rezaei, M.-J. (2017). Jamming mitigation using an improved fuzzy weighted least square method in combined GPS and GLONASS receiver. AEU-International Journal of Electronics and Communications, 76, 107–116.

    Google Scholar 

  • Park, S. K., & Suh, Y. S. (2010). A zero velocity detection algorithm using inertial sensors for pedestrian navigation systems. Sensors, 10(10), 9163–9178.

    Article  Google Scholar 

  • Shin, E.-H., & El-Sheimy, N. (2002). A new calibration method for strapdown inertial navigation systems. Z. Vermess, 127, 1–10.

    Google Scholar 

  • Sun, T., Zheng, L., Peng, A., Tang, B., & Ou, G. (2018). Building information aided Wi-Fi fingerprinting positioning system. Computers & Electrical Engineering, 71, 558–568.

    Article  Google Scholar 

  • Syed, Z. F., Aggarwal, P., Goodall, C., Niu, X., & El-Sheimy, N. (2007). A new multi-position calibration method for MEMS inertial navigation systems. Measurement Science and Technology, 18(7), 1897.

    Article  Google Scholar 

  • Wang, D., Dong, E., Shi, Y., & Wei, H. (2021). RFID indoor positioning method based on received signal strength indication. Proceedings of the Journal of Physics: Conference Series, pp. 042018.

  • Wang, J., Hu, A., Li, X., & Wang, Y. (2015). An improved PDR/magnetometer/floor map integration algorithm for ubiquitous positioning using the adaptive unscented Kalman filter. ISPRS International Journal of Geo-Information, 4(4), 2638–2659.

    Article  Google Scholar 

  • Wang, J., Zhang, Q., & Huang, G. (2021). Estimation of fractional cycle bias for GPS/BDS-2/Galileo based on international GNSS monitoring and assessment system observations using the uncombined PPP model. Satellite Navigation, 2(1), 1–11.

    Article  Google Scholar 

  • Wang, Q., Luo, H., Xiong, H., Men, A., Zhao, F., Xia, M., & Ou, C. (2020). Pedestrian dead reckoning based on walking pattern recognition and online magnetic fingerprint trajectory calibration. IEEE Internet of Things Journal, 8(3), 2011–2026.

    Article  Google Scholar 

  • Xie, H., Gu, T., Tao, X., Ye, H., Lv, J. (2014). MaLoc: A practical magnetic fingerprinting approach to indoor localization using smartphones. In: Proceedings of the 2014 ACM international joint conference on pervasive and ubiquitous computing, pp. 243–253.

  • Xu, H., Ding, Y., Li, P., Wang, R., & Li, Y. (2017). An RFID indoor positioning algorithm based on Bayesian probability and K-nearest neighbor. Sensors, 17(8), 1806.

    Article  Google Scholar 

  • Yan, H., Shan, Q., & Furukawa, Y. (2018). RIDI: Robust IMU double integration. In: Proceedings of the European conference on computer vision (ECCV), pp. 621–636.

  • Yu, C., Lan, H., Liu, Z., El-Sheimy, N., & Yu, F. (2016). Indoor map aiding/map matching smartphone navigation using auxiliary particle filter. In: Proceedings of the China satellite navigation conference (CSNC), Vol. I, pp. 321–331.

  • Yu, C., El-Sheimy, N., Lan, H., & Liu, Z. (2017). Map-based indoor pedestrian navigation using an auxiliary particle filter. Micromachines, 8(7), 225.

    Article  Google Scholar 

  • Zhang, C., Subbu, K. P., Luo, J., & Wu, J. (2014). GROPING: Geomagnetism and crowdsensing powered indoor navigation. IEEE Transactions on Mobile Computing, 14(2), 387–400.

    Article  Google Scholar 

Download references


This work is supported by Grant EGD21QD15, the Research project of Shanghai Polytechnic University.

Author information

Authors and Affiliations



We all conceived the idea and contributed to the writing of the paper. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Jian Chen.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Chen, J., Song, S., Gong, Y. et al. An indoor fusion navigation algorithm using HV-derivative dynamic time warping and the chicken particle filter. Satell Navig 3, 13 (2022).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI:


  • An indoor fusion navigation algorithm
  • HV-derivative dynamic time warping
  • Chicken particle filter