International Journal of Automation and Computing  2018, Vol. 15 Issue (6): 747-760 PDF
A New Approach to Estimate True Position of Unmanned Aerial Vehicles in an INS/GPS Integration System in GPS Spoofing Attack Conditions
1 Department of Electrical Engineering, Malek-Ashtar University of Technology, Tehran 15875-1774, Iran;
2 Faculty of Electrical Engineering, Malek-Ashtar University of Technology, Tehran 15875-1774, Iran;
3 Faculty of Electrical Engineering, K.N.Toosi University of Technology, Tehran 16315-1355, Iran
Abstract: This paper presents a new approach to estimate the true position of an unmanned aerial vehicle (UAV) in the conditions of spoofing attacks on global positioning system (GPS) receivers. This approach consists of two phases, the spoofing detection phase which is accomplished by hypothesis test and the trajectory estimation phase which is carried out by applying the adapted particle filters to the integrated inertial navigation system (INS) and GPS. Due to nonlinearity and unfavorable impacts of spoofing signals on GPS receivers, deviation in position calculation is modeled as a cumulative uniform error. This paper also presents a procedure of applying adapted particle swarm optimization filter (PSOF) to the INS/GPS integration system as an estimator to compensate spoofing attacks. Due to memory based nature of PSOF and benefits of each particle′s experiences, application of PSOF algorithm in the INS/GPS integration system leads to more precise positioning compared with general particle filter (PF) and adaptive unscented particle filer (AUPF) in the GPS spoofing attack scenarios. Simulation results show that the adapted PSOF algorithm is more reliable and accurate in estimating the true position of UAV in the condition of spoofing attacks. The validation of the proposed method is done by root mean square error (RMSE) test.
Key words: Inertial navigation system (INS)/global positioning system (GPS) integration     unmanned aerial vehicles (UAVs)     position estimation     spoofing     particle based filters
1 Introduction

Nowadays, many factors threaten the global positioning system (GPS) receivers installed in the unmanned aerial vehicles (UAVs). GPS spoofing is one of the most important threats which deviates the positioning process in GPS receivers. When the flying UAV is in GPS spoofing threat condition, there will be some mistakes in position calculation in the GPS receivers. Therefore, the navigation data (position data generated by UAV navigation system) which are sent through data-link to the central monitoring station is counterfeited and the UAV will be lost and crashed. So, the significance of estimation in the process of UAV true positioning in the conditions of spoofing attacks is well established.

The basic navigation systems in UAVs are inertial navigation system (INS) and GPS which carry out the positioning process. The INS provides position, velocity and attitude of vehicles with good short term accuracy. The performance of INS is enhanced due to performance enhancement of microelectromechanical systems (MEMS), but it has unbounded long term errors which increase in time during its performance that are called drift error. Unlike the INS, GPS has good long term accuracy with bounded errors in few meters. By considering complementary characteristics of these two systems, their integration eliminates their individual drawbacks which leads to accurate and robust navigation solution. So, GPS eliminates the drift error of INS and INS helps to provide continuous navigation solution[1, 2].

With respect to the noises of sensors and measuring devices, integration of systems or sensors is suggested in [24]. On the other hand, data fusion (DF) algorithms are used in several fields such as system integration[5], aircraft navigation[6], autonomous UAV positioning[7], robust navigational system[8], wheelchair navigation[9], de-noising INS and GPS data[10]. Therefore, to improve the accuracy, redundancy and reliability of navigation systems in noisy environments, DF algorithms are used in INS/GPS integration system.

INS/GPS integration in navigation systems is based on data fusion. In addition, variable state estimation to find dynamic error in the integration of INS/GPS systems is done through linear and nonlinear DF algorithms. The study and application of methods in state estimation problems for soft sensor development are presented in [11]. In linear INS/GPS integration model with Gaussian noises, Kalman filter (KF) is used[1]. Also, the extended Kalman filter (EKF) is developed due to the nonlinearity of the system and is used in the integration of INS and GPS systems. But, the EKF may diverge when an initial state estimation error is large[12]. Therefore, the unscented Kalman filter (UKF) was proposed to avoid the divergence problem of the EKF[12]. Going from KF to UKF and to particle filter (PF) in linear Gaussian systems will increase computational effort but will not improve estimation accuracy. While going from EKF to UKF and to PF in nonlinear or non-Gaussian systems will increase both computational effort and estimation accuracy[13]. By considering the effects of GPS spoofing as source of non-Gaussian noise, the problem of spoofing attacks can be solved by using INS/GPS integration model and appropriate estimators. Due to GPS spoofing condition, applying the adapted particle based algorithm for eliminating spoofing effects provides better estimation in UAV positioning process. So, the spoofing attacks will be recognized and the UAV trajectory estimation will be done.

In this article,the GPS spoofing effects are modeled as a cumulative uniform error which is a random noise with uniform distribution to detect and eliminate the impacts of GPS spoofing attacks and estimate the UAV true position with high precision and robustness. Hence, estimating the true position of UAV is done by applying the adapted particle based filters. The UAV true position estimation is done in two steps of spoofing detection and spoofing compensation which are achieved by hypothesis test procedure and adapted particle based filters, respectively. To implement this approach, three GPS spoofing attack scenarios are considered. The particle based filters such as PF, adaptive unscented particle filer (AUPF) and particle swarm optimization filter (PSOF) and the adapted form of them are applied in the estimator part of nonlinear INS/GPS integration model. By studying the basic structure of the particle swarm algorithm, it can be concluded that the PSO can be used as an estimator in the integrated navigation system problems[14]. The process of applying the adapted PSOF to the INS/GPS integration system for estimation of UAV true position is completely described. Unlike other heuristic techniques, the mechanism of PSOF is flexible and well-balanced to increase the global and local exploration abilities[15]. The algorithm is based on particles which move through multidimensional space. The particles fly through the search spaces to be attracted towards the best solution found by the best experiences of particles and their neighbors. All of the particles have a position vector and velocity vector that keep tracking to their best position values to reach extremum points. In this approach, according to artificial intelligence (AI) of PSOF, it will be concluded that PSOF has better performance in reducing spoofing error effects than PF and AUPF.

The rest of this paper is managed as follows. In Section 2, the problem definition, such as mathematical model of INS/GPS integration for a flying UAV and the mathematical model of GPS spoofing attacks in different scenarios is given. In Section 3, the proposed algorithm is completely described comprising of the GPS spoofing detection phase and the trajectory estimation phase. Section 4 includes the simulation results and analysis of applying adapted particle based filters to the integrated INS/GPS navigation system in various GPS spoofing scenarios. Finally, Section 5 concludes the paper.

2 Problem definition

To solve the GPS spoofing problem, mathematical model of INS/GPS integration and the GPS spoofing impacts on positioning must be specified. The integration system model is divided into INS navigation equations as process model and GPS calculation equations as measurement model. The GPS spoofing is modeled as cumulative uniform error with different signal to noise ratios (SNRs).

2.1 Process model equation

In INS, accelerometers and gyroscopes measure vehicle′s velocity, position and attitude[1]. The problem of UAV position estimation is formulated in a state-space framework. Then, the process model that describes the UAV position is defined by a discrete-time process model of motion equation as

 ${{x}}(k) = {{F}}({{x}}(k - 1),{{u}}(k - 1),k - 1) + {{\omega }}(k - 1)$ (1)

where ${{F}}({{x}}(k - 1),{{u}}(k - 1),k - 1)$ is the transition function at time $k$ with the use of ${{x}}(k - 1)$ state, ${{u}}(k)$ is the input model at time $k$ and ${{\omega}} (k)$ is the process model uncorrelated zero-mean noise with covariance ${{Q}}$ . State vector of variables ${{x}}(k)$ consists of the three-dimensional vehicle position ( ${{{p}}^n}$ ), velocity ( ${{{\nu}} ^n}$ ), and Euler angles ( ${{{\varPsi}} ^n} = [\phi ,\theta ,\psi ]$ ). The process model equations of UAV are derived from nine-degree of freedom equations of position, velocity and Euler angles as

 $\left[\!\! \begin{array}{l}{{{p}}^n}(k)\\{{{\nu }}^n}(k)\\{{{\varPsi }}^n}(k)\end{array} \!\!\!\right] \!=\! \left[\!\!\! \begin{array}{l}{{{p}}^n}(k - 1) + {{{\nu }}^n}(k)\Delta t\\{{{\nu }}^n}(k - 1) + [{{C}}_b^n(k - 1){{{f}}^b}(k) + {{{g}}^n}]\Delta t\\{{{\varPsi }}^n}(k - 1) + {{E}}_b^n(k - 1){{{\omega }}^b}(k)\Delta t\end{array}\!\!\! \right]$ (2)

where $\Delta t$ is the time difference between time steps $k$ and $k - 1$ , ${{{g}}_n} = {[0,0,g]^{\rm T}}$ is the earth gravity acceleration vector, ${{{f}}^b}$ and ${{{\omega}} ^b}$ are the UAV acceleration and angular velocity vectors which are measured by accelerometers and gyroscopes, respectively, ${{E}}_b^n$ is the body to navigation frame rotation rate transformation matrix and ${{C}}_b^n$ is the direction cosine matrix (DCM) from the body to navigation frame.

2.2 Observation model

The observation model in the INS/GPS integration system is the output of GPS receiver. According to the GPS positioning calculation[1], the nonlinear observation function is obtained from measured pseudo-ranges. The pseudo-range between GPS satellite vehicles and the GPS receiver is calculated from [1].

 $\rho _{\rm{GPS}}^m = {r^m} + c\delta {t_r} + \tilde \varepsilon _\rho ^m$ (3)

where $\rho _{\rm{GPS}}^m$ is the measured pseudo-range between the m-th satellites and the GPS receiver, ${r^m} = \sqrt {{{(x - {x^m})}^2} + {{(y - {y^m})}^2} + {{(z - {z^m})}^2}}$ represents the real distance between receiver and satellites where $(x,y,z)$ is receiver position and $({x^m},{y^m},{z^m})$ is satellite vehicle position in ECEF coordinates, $c$ is the speed of light, $\delta {t_r}$ is the receiver′s clock offset and $\tilde \varepsilon _\rho ^m$ stands for the total effect of satellite′s clock offset, ionospheric and tropospheric delays and the term of errors due to inaccurate modeling, receiver noise and multipath.

So the nonlinear observation function is as

 ${{Z}}(k) = {{h}}({{x}}(k),k) + {{{\upsilon }}_k}$ (4)

where ${{Z}}(k)$ is the observation output of GPS receiver, ${{{\upsilon}} _k}$ is the observation noise with uniform distribution form and relative covariance ${{R}}$ and ${{h}}({{x}}(k),k)$ is the nonlinear observation function which is derived by solving four equations with four unknowns $\sqrt {{{(x - {x^m})}^2} + {{(y - {y^m})}^2} + {{(z - {z^m})}^2}} = \rho _{\rm{GPS}}^m - c\delta {t_r} - \tilde \varepsilon _\rho ^m$ for $m = 1,\cdots,4$ .

2.3 Scenarios of the GPS spoofing attacks

Spoofing attack is one of the most important threats for UAVs which is known as the source of nonlinear effects in GPS dynamic system. Typically, spoofers send fake GPS satellite signals with false information to the GPS receivers. As soon as spoofed signals hit the receiver, position calculation is done with wrong data so the position and time outputs of GPS receiver will be incorrect. Generally, spoofers are categorized as three basic types such as simplistic spoofers, intermediate spoofers and sophisticated spoofers[16]. The common effect of the mentioned spoofed signals leads to some mistakes in the position calculation in GPS receivers. So, the nonlinear observation function in INS/GPS integration can be rewritten as

 ${{{Z}}_{\rm {Spoofed}}}(k) = {{h}}({{x}}(k),k) + {{{\upsilon }}_{{k_{\rm Spoofed}}}}$ (5)

where ${{{\upsilon }} _{{k_{\rm {Spoofed}}}}}$ is the effect of counterfeited signals in positioning and ${{{Z}}_{\rm {Spoofed}}}(k)$ is the spoofed GPS measurement. The block diagram of the loosely INS/GPS integration system in the condition of GPS spoofing attack is represented in Fig. 1.

 Download: larger image Fig. 1. Impacts of spoofing signals on position calculations in GPS receiver

The counterfeited signals alter the navigation message which includes the transmission time of each subframe, satellite positions data, satellite clocks correction factors, receiving time delay and preamble bits during position calculations in GPS receiver. The GPS spoofing error is added to all-in-view satellites. Referring to [17, 18], it can be inferred that all of the extreme effects of the counterfeited signals in GPS receiver impact the calculated pseudo-ranges and then in position variations as illustrated in Fig. 2.

 Download: larger image Fig. 2. Loosely INS/GPS integration system in the condition of GPS spoofing attack

Therefore, the spoofed pseudo-range in GPS receiver is modeled as follows:

 $\rho _{{\rm{GP}}{{\rm{S}}_{{\rm{Spoofed}}}}}^m = \rho _{{\rm{GPS}}}^m + {\eta _\rho }$ (6)

where $\rho _{{\rm{GP}}{{\rm{S}}_{{\rm{Spoofed}}}}}^m$ is the spoofed pseudo-range and ${\eta _\rho }$ is the effect of spoofed GPS signals.

So, all of the variations in the spoofing signal models, affect in ${\eta _\rho }$ in GPS receivers. For example, it can be modeled as a bias which is added to the measurement pseudo-ranges[19]. By doing pseudo-range calculation, it can be inferred that variation in GPS pseudo-ranges impacts the variation in GPS receiver position calculation. So, the spoofed GPS receiver position is obtained from

 ${{X}}_{{\rm{Spoofed}}}^n(k) = {{X}}_{{\rm{GPS}}}^n(k) + {\zeta _p}$ (7)

where ${{X}}_{{\rm{Spoofed}}}^n(k)$ is the counterfeited position, ${{X}}_{\rm{GPS}}^n(k)$ is the true GPS position and ${\zeta _p}$ is the effect of GPS spoofing error. According to different kinds of spoofers, the models for ${\zeta _p}$ can be a noise with uniform distribution[20], additive white Gaussian noise (AWGN)[21], random noise and others.

To make spoofing scenarios, it is supposed that a GPS spoofer with the model described in [20] is available and the operator wants to deviate the UAV position in desired direction. In [20], the position error during GPS spoofing has uniform distribution when the GPS receiver is in a fixed location.

But, when the UAV is flying, the position of GPS receiver is not constant anymore. So, due to continuous position calculation in GPS receiver during the UAV flight, the spoofing uniform errors in positioning will be added to each step of GPS calculation. Consequently, in this assumption the spoofing error constitutes time-additive model and acts as a cumulative uniform error when the UAV maneuver is constant. Therefore, due to the random form of the GPS spoofing data which misleads the UAVs in one direction, the effects of the GPS spoofing signals are modeled as a uniform distribution random noise. An example of the GPS spoofing trajectory which shows the direction of misleading a UAV is presented in [22].

As mentioned before, the GPS measurement is the reference point for INS. So, when INS in the INS/GPS integration system adapts itself with the spoofed GPS data, the UAV continues flying in the wrong way and moves away by some distance from the real trajectory. This process happens in all steps of GPS spoofing so the spoofing error acts as cumulative uniform error and the UAV is misled and driven away from the real trajectory.

Indeed, another model for the GPS spoofing in a practical situation with random Gaussian noises is considered. This model is also practical and able to mislead the UAVs in a desired direction. To ensure the performance of the proposed algorithm, it will be tested with random Gaussian noises.

3 Proposed algorithm

According to effects of GPS spoofing attacks and nonlinear INS/GPS integration model, the proposed algorithm consists of two phases; the spoofing detection phase which is accomplished by hypothesis test and the UAV trajectory estimation phase which is carried out by adapted particle based filter algorithms. The flowchart of UAV trajectory estimation in the proposed algorithm is shown in Fig. 3. In the proposed algorithm, after acquiring data from INS system and GPS receiver, hypothesis test process is done. In the absence of spoofing, the update part in one of the particle based filters is executed with the use of proper GPS measurements. In this case, estimating the real trajectory of UAV in the INS/GPS integration system is done by original particle filters. In case of spoofing existence detected by hypothesis test procedure, generation of particles around the estimation point is done by a specific coefficient and the process of estimating UAV real trajectory is done by these new particles.

 Download: larger image Fig. 3. UAV trajectory estimation flowchart in proposed algorithm

3.1 Spoofing detection phase

The GPS spoofing recognition is done through hypothesis test procedure. The hypothesis test has two descriptions[23]: the state, ${H_0},$ where no spoofing is present and the state, ${H_1},$ where spoofing is present or the null hypothesis and the alternate hypothesis, respectively. Using this method to detect the starting point of the GPS spoofing, we will derive a statistical test as a function of the positioning data, $T(k)$ , and compare this value to a threshold value, $\eta$ , to announce spoofing or no spoofing has occurred. $T(k)$ is obtained from

 $T(k) = \left| {{{X}}_{{\rm{Spoofed}}}^n(k) - {{X}}_{{\rm{INS}}}^n(k)} \right|$ (8)

where $X_{{\rm{INS}}}^n(k)$ is the compensated INS positioning data which is obtained from INS/GPS integration model. With respect to the value of $T(k)$ , the hypothesis test is summarized as

 {\rm{Hypothesis}}\;{\rm{Test}} = \left\{ \begin{aligned}& T(k) < \eta, \;\;\;\;{H_0}:{\rm{no}}\;{\rm{spoofing}}\\& T(k) > \eta, \;\;\;\;{H_1} : {\rm{spoofing}}.\end{aligned} \right. (9)

Considering the sensitivity of the GPS spoofing detection and the accuracy of GPS receiver, the value of $\eta$ will be specified. For example, if the maximum error in GPS receiver in the process of positioning is about five meters, by selecting the value of $\eta$ in the range of ten meters, the GPS spoofing detection will be done properly.

3.2 Trajectory estimation phase

As mentioned before, trajectory estimation is done through particle based filters. PF, AUPF and PSOF algorithms are implemented and adapted for the proposed algorithm in the estimation part of the INS/GPS integration system to find out which one acts better in estimating the real trajectory of UAV in the GPS spoofing conditions. PF is based on Monte Carlo technique to solve the state estimation problems[24]. It solves the problem numerically and extracted the Bayesian parameters. According to the type of resampling in PF algorithm, there are two important types of PF; sampling importance resampling particle filter (SIR-PF) and sampling importance sampling particle filter (SIS-PF)[25]. To reduce the computational burden without decreasing the system estimation accuracy, PF algorithm is combined with other filters such as UKF which yields to AUPF. In AUPF algorithm, resampling part is not required which is completely described in [26]. After PF algorithms, PSOF algorithm is implemented. Optimization methods can be classified into two categories: random and derivatives. One of the best random optimization procedures is particle swarm optimization algorithm. Due to having memory, this method has priority above other derivative based methods of optimization. The memory of this method is obtained from its previous experiences of each particle or its neighboring particles which leads to the absolute optimum.

The particle swarm optimization algorithm comprised a swarm of candidate solutions considered as particles. Control of the movement of particles in the same direction in this algorithm was invented by Ebrehat and Kennedy[27] in 1995. Particles fly through the search spaces, which are attracted towards the best solution found by the best experiences of neighboring particles and particles themselves. All of the particles have a position vector and velocity vector that keep track of their best position values to reach extremum points. The velocity and position of each particle is obtained from

 $\begin{split}& {{{v}}_{k + 1}} = a{{{v}}_k} + {b_1}\,{r_1}\,({{{p}}_1} - {{{x}}_k}) + {b_2}\,{r_2}\,({{{p}}_2} - {{{x}}_k})\\&{{{x}}_{k + 1}} = {d_1}\,{{{x}}_k} + {d_2}\,{{{v}}_{k + 1}}\end{split}$ (10)

where ${{{p}}_1}\;{\rm and}\;{{{p}}_2}$ are obtained from the modeling results and their values are determined by the coding and objective functions that are considered for the program. The constant parameters $a,{b_1},{b_2},{d_1},{d_2},{r_1},{r_2}$ were chosen as 0.7, 0.3, 0.3, 1, 1, 0.5, 0.5 and it has been proved[28] that the optimization algorithm will never diverge by these values. According to basic functionality of PF and particle swarm optimization algorithms, it can be inferred that the social behavior of particles such as using their past experiences leads to finding better answer than PF in nonlinear dynamic problems. So, by considering nonlinear INS/GPS integration system model and effects of spoofing attacks, PSOF (nonlinear estimator) is implemented to improve the accuracy of positioning.

In the absence of spoofing in the proposed algorithm, PSOF is executed normally. PSOF algorithm is made of two basic parts: particle swarm optimization algorithm as an estimator part and INS/GPS integration model as an observer and propagation part. The estimator part consists of four fundamental levels: initialization, update velocities, update positions and checking criterion. The flowchart of PSOF algorithm is shown in Fig. 4.

 Download: larger image Fig. 4. Flowchart of applying PSOF to the INS/GPS integration system to estimate real trajectory

When the UAV moves in its trajectory, INS and GPS data are retrieved and the objective function can be calculated. The objective function in PSOF algorithm acts as a guide for searching and must be defined as an initialization function. In other words, performance of the PSOF algorithm depends on the objective function which leads to have an appropriate search space[14]. With respect to INS/GPS system model, and the purpose of reducing the measurement error to find the real trajectory by UAV navigation systems, the objective function is defined as

 $D(k) = \left| {{Y_{est}}(k) - {Y_{\rm{GPS}}}(k)} \right|$ (11)

where ${Y_{est}}(k)$ is the PSOF estimated positions, ${Y_{\rm{GPS}}}(k)$ is the GPS measurement position and $D(k)$ is the difference between GPS measurement positions and the PSOF estimated positions. In each step of estimation, PSOF algorithm uses the INS/GPS integration system measurement to minimize the objective function. This is done iteratively to converge the algorithm. The implementation of PSOF algorithm as a trajectory estimator can be summarized as follows:

Step 1. Assign the swarm size $N$ , maximum number of iteration $n$ , initial velocity $v$ and positions $x$ , ${c_1}$ and ${c_2}.$

Do the following $M$ times:

Step 2. Retrieve the data from the INS dynamic model.

Step 3. Retrieve the measurement data from the GPS receiver model.

Do the following for $n$ iterations:

Step 4. Check the objective function to find out when criterion is met.

Step 5. Apply the initial particle to the GPS measurement model.

Step 6. Find the own best particle.

Step 7. Find the global best particle.

Step 8. Update the velocity of particles.

Step 9. Update the position of particles.

Step 10. Estimate the best particle positions.

In case of spoofing existence detection in hypothesis test procedure, the position measurements in GPS receiver are being changed. The variations in latitude and longitude in GPS receiver change the amount of $T(k)$ in relation (8). If the particle generation part in the estimator of the INS/GPS integration model operates with the wrong measurement data, estimation of real trajectory will not be done properly. In fact, because the GPS measurement points get away from the real trajectory, some errors occur in estimation process by generating particles around the wrong point. Using the value of $T(k)$ , Theorem 1 is presented to adjust the particle generating process and solving this problem.

Theorem 1. Consider the amount of $T(k)$ in relation (8) which shows the position variations. Suppose a static coefficient, $\gamma$ , to orient the process of generating particles in estimator part as follows:

 \gamma = \left\{ \begin{aligned}& {\left(1 + \frac{1}{{T(k)}}\right)^{{e^2}}},\;\;\;\;{\rm{if}}\;\xi \;{\rm{is}}\;{\rm{defined}}\;{\rm{as}}\;{\rm{positive}}\\& {\left(1 - \frac{1}{{T(k)}}\right)^{{e^2}}},\;\;\;\;{\rm{if}}\;\zeta \;{\rm{is}}\;{\rm{defined}}\;{\rm{as}}\;{\rm{negative}}\end{aligned} \right. (12)

where $\zeta = ({{X}}_{{\rm{Spoofed}}}^n(k) - {{X}}_{{\rm{INS}}}^n(k))$ and $e$ is the number of GPS spoofing steps in the total time of spoofing attacks. In practice, after detecting the GPS spoofing attack, a counter is used to count the number of GPS measurements.

Then, new position of particles in PSOF algorithm is generated as follows:

 ${{{x}}_{k + 1}} = \gamma {d_1}\,{{{x}}_k} + \gamma {d_2}\,{{{v}}_{k + 1}}.$ (13)

In this case, the static coefficient, $\gamma$ , causes particles come closer to the real trajectory. Therefore, the estimation of real trajectory is done better.

Proof. Refer to (10), the velocity and position of each particle are obtained. To simplify (10), the following parameters can be used as follows:

 $b = \frac{{{b_1} + {b_2}}}{2}\quad\quad\quad\quad\quad\quad\quad$ (14)
 ${{p}} = \frac{{{b_1}}}{{{b_1} + {b_2}}}{{{p}}_1} + \frac{{{b_2}}}{{{b_1} + {b_2}}}{{{p}}_2}$ (15)

where $b$ is the new absorption coefficient and ${{p}}$ is the absorption point with weighted average.

By substituting (14) and (15) in (10) and using (13), (10) can be rewritten as

 $\begin{split}{{{v}}_{k + 1}} = a{{{v}}_k} + b({{p}} - {{{x}}_k})\;\;\;\;\\{{{x}}_{k + 1}} = \gamma {d_1}{{{x}}_k} + \gamma {d_2}\,{{{v}}_{k + 1}}.\end{split}$ (16)

By referring to (16) and using recursive functions, the velocity function will be eliminated. Then, (16) can be rewritten as

 ${{{x}}_{k + 1}} + (\gamma b{d_2} - a - \gamma {d_1}){{{x}}_k} + \gamma a{d_1}{{{x}}_{k - 1}} = \gamma b{d_2}{{p}}.$ (17)

In (17), it is clear that the coefficient $b{d_2}$ has a great importance. On the other hand, we know that the optimization algorithm should ultimately reach the optimum value ${{p}}$ . So, by substituting ${{p}}$ in ${{{X}}_k}$ and ${{{X}}_{k + 1}}$ , and considering ${d_2} = 1$ , we have

 $\mathop {\lim }\limits_{k \to \infty } {{{x}}_k} = {{p}}.$ (18)

Then,

 ${{p}} + (\gamma b{d_2} - a - \gamma {d_1}){{p}} + \gamma a{d_1}{{p}} = \gamma b{d_2}{{p}}.$ (19)

By solving (19), we have

 $(a - 1)(\gamma {d_1} - 1) = 0.$ (20)

Due to the spoofing attack and extreme position variations in GPS receiver, the value of $\gamma {d_1}$ must be equal to one or near to one. By substituting ${d_1} = 1$ , we have

 \mathop {\lim }\limits_{T(k) \to \infty } \frac{{{d_1}}}{\gamma } = \left\{ \begin{aligned}& \mathop {\lim }\limits_{T(k) \to \infty } {\left( {{{\left(1 + \frac{1}{{T(k)}}\right)}^{{e^2}}}} \right)^{ - 1}} = 1\\& \mathop {\lim }\limits_{T(k) \to \infty } {\left( {{{\left(1 - \frac{1}{{T(k)}}\right)}^{{e^2}}}} \right)^{ - 1}} = 1.\end{aligned} \right. (21)

Therefore, the greater the amount of spoofing, the greater the amount of $T(k)$ and $\gamma {d_1}$ equals to one. □

Finally, the adapted PSOF algorithm for estimating UAV true position in the INS/GPS integration system under current condition of GPS spoofing attacks is as follows:

Step 1. Assign the swarm size $N$ , maximum number of iterations $n$ , initial velocity $v$ and positions $x$ , ${c_1}$ and ${c_2}$ .

Do the following $M$ times:

Step 2. Retrieve a data from the INS dynamic model.

Step 3. Retrieve the measurement data from the GPS receiver model.

Step 4. Calculate the static coefficient $\gamma$ .

Do the following for $n$ iterations:

Step 5. Check the objective function to find out when criterion is met.

Step 6. Apply the initial particle with the static coefficient, $\gamma$ , to the GPS measurement model.

Step 7. Find the own best particle.

Step 8. Find the global best particle.

Step 9. Update the velocity of particles.

Step 10. Update the position of particles with the static coefficient $\gamma$ .

Step 11. Estimate the best particle positions.

The same procedure for propagating particles with new coefficient is applied to all SIR-PF, SIS-PF and AUPF algorithms. So, the adapted PSOF is compared with the adapted SIR-PF, adapted SIS-PF and adapted AUPF algorithms.

4 Simulation results

In order to verify spoofing detection and elimination of the GPS spoofing attack effects from the INS/GPS integration system, the simulation scenario of UAV real trajectory is performed and it is assumed that UAV is operating in cruise mode. The UAV flies with constant speed of 30 m/s for 30 s.

To generate INS and GPS navigation data in the UAV trajectory scenarios, some initial parameters, presented in Table 1, are assumed to simulate these two systems. These parameters are pertinent to low cost inertial navigation system and low cost GPS receiver. The sampling rate of INS is 100 Hz and the GPS measurements are generated at 1 Hz. The clock bias error and the clock drift error of GPS receiver are selected as 0.011 9 s and 0.151 64 ms, respectively. The distance between the sensing points of the sensors, lever arm, is supposed to be zero. Refer to initial data in Table 1, INS and GPS measurements are generated based on the reference trajectory.

Table 1
INS/GPS integration specification.

The INS and GPS trajectory simulations are illustrated in Fig. 5. Referring to Fig. 5, it is obvious that the INS trajectory earnestly diverges from the true trajectory due to the drift error of inertial sensors.

 Download: larger image Fig. 5. INS and GPS trajectory according to the UAV real trajectory

Refer to the scenarios of GPS spoofing attacks which are mentioned in Section 2.3, the impacts of the GPS spoofing errors on the UAV position during the flight are simulated and depicted in Fig. 6. There are three scenarios related to the different kinds of GPS spoofing attacks. In Matlab simulations, the GPS spoofing errors are applied in pseudo-range calculations. The GPS spoofing errors for three scenarios are bounded between 10 m and 150 m for the first scenario, 650 m and 800 m for the second scenario and between 1 500 m and 2 300 m for the third scenario. The spoofing attack occurs at the 15th second and continues to up to 30 s.

 Download: larger image Fig. 6. GPS position deviation subjected to spoofing attacks in three scenarios

The root mean square error is a scale for measuring errors in the whole UAV trajectory that is calculated as follows:

 $RMSE = \sqrt {mean({{({x_n} \!-\! x_n')}^2} \!+\! {{({x_e} \!- \!x_e')}^2} \!+\! {{(h \!-\! {h'})}^2})}$ (22)

where ${x_n}$ , ${x_e}$ and $h$ are the estimated values of the spoofed positions with respect to north, east and altitude, respectively and $x_n'$ , $x_e'$ and ${h'}$ are the real positions with respect to north, east and altitude, respectively.

With respect to the effects of cumulative uniform error which is generated by GPS spoofing attack, the UAV position deviation from real trajectory increases in time. The numerical information about the root mean square error (RMSE) of three spoofing attacks in east, north and up (ENU) coordinates are presented in Table 2. Referring to Fig. 6, it can be inferred that the GPS positioning deviation in Scenario 1 is smoother than Scenario 3. Also, the RMSE of navigation systems in total trajectory is presented in Table 3.

Table 2
RMSE of three spoofing attack scenarios

Table 3
RMSE of navigation systems in total trajectory

To provide a Matlab implementation for particle based filters, some initial parameters are needed. Implementation of SIR-PF and SIS-PF algorithms was done by ${N = 20}$ number of particles which were generated around starting point of the UAV trajectory with uniform distribution. In addition, the related values allocated to PF initial parameters are given by ${{N}_{r}}{ = 100}$ number of runs and measurement noise covariance 0.01 in the current research. In the SIS-PF algorithm, important sampling is done through multi-nominal resampling procedure and in the SIR-PF algorithm, important resampling is done by considering a threshold ${{N}_{{th}}} = \displaystyle\frac{2N}{3}$ for ${N = 20}$ which relates to the number of particles.

Furthermore, the values that are assigned to the adapted PSOF algorithm are given by the number of particles ${N = 50}$ , lower and upper bound $[{L_b},{U_b}] =$ [(32 51), (33 52)], the number of variables ${N_v} = 2$ , acceptable error ${a_r} = 0.01$ and coefficient of target function for constraints ${g = 4}$ to reach the optimal position estimation. To examine the effectiveness and feasibility of the adapted PSOF algorithm, its performance is compared to the adapted SIS-PF, adapted SIR-PF and adapted AUPF algorithms.

According to 10-meter threshold of detection value, the numerical information for PSOF algorithm for position detection error at the start of GPS spoofing in the three scenarios are presented in Table 4.

Table 4
Numerical information for detection error at the start of GPS spoofing in three scenarios.

After applying SIS-PF, SIR-PF, PSOF and AUPF algorithms as estimators to the INS/GPS integration model in the condition of spoofing attack in Scenario 1, the Matlab simulation results are gotten and shown in Figs. 710. When the UAV starts flying, particle based filters are activated as estimators in the INS/GPS integration system to estimate the real trajectory. Immediately, by detecting spoofing using the hypothesis test, the start point of spoofing attack is declared then particle based filters act as compensators. In this case, the last true GPS measurement will be a basic value to estimate the next steps of trajectory. The numerical information about RMSE of applying estimation algorithms to the INS/GPS integration system in the condition of GPS receiver spoofing errors in Scenario 1 is presented in Table 5.

Table 5
Numerical information about RMSE of applying estimation algorithms in Scenario 1

 Download: larger image Fig. 7. UAV position compensation during GPS spoofing attack in Scenario 1 with the adapted SIS-PF algorithm

 Download: larger image Fig. 8. UAV position compensation during GPS spoofing attack in Scenario 1 with the adapted SIR-PF algorithm

 Download: larger image Fig. 9. UAV position compensation during GPS spoofing attack in Scenario 1 with the adapted PSOF algorithm

 Download: larger image Fig. 10. UAV position compensation during GPS spoofing attack in Scenario 1 with the adapted AUPF algorithm

As like as Scenario 1, by applying SIS-PF, SIR-PF, PSOF and AUPF algorithms as filters to the INS/GPS integration model in the condition of spoofing attack in Scenario 2, the Matlab simulation results are obtained and illustrated in Figs. 1114. The numerical information about RMSE of applying estimation algorithms to the INS/GPS integration system in the condition of GPS receiver spoofing errors in Scenario 2 is presented in Table 6.

Table 6
Numerical information about RMSE of applying estimation algorithms in scenario 2

 Download: larger image Fig. 11. UAV position compensation during GPS spoofing attack in Scenario 2 with the adapted SIS-PF algorithm

 Download: larger image Fig. 12. UAV position compensation during GPS spoofing attack in Scenario 2 with the adapted SIR-PF algorithm

 Download: larger image Fig. 13. UAV position compensation during GPS spoofing attack in Scenario 2 with the adapted PSOF algorithm

 Download: larger image Fig. 14. UAV position compensation during GPS spoofing attack in Scenario 2 with the adapted AUPF algorithm

By applying the particle based algorithms in the same way to the INS/GPS integration model in the condition of spoofing attack in Scenario 3, the Matlab simulation results are taken and depicted in Figs. 1518. The numerical information about RMSE of applying estimation algorithms to the INS/GPS integration system in the condition of GPS receiver spoofing errors in Scenario 3 is given in Table 7.

 Download: larger image Fig. 15. UAV position compensation during GPS spoofing attack in Scenario 3 with the adapted SIS-PF algorithm

 Download: larger image Fig. 16. UAV position compensation during GPS spoofing attack in Scenario 3 with the adapted SIR-PF algorithm

 Download: larger image Fig. 17. UAV position compensation during GPS spoofing attack in Scenario 3 with the adapted PSOF algorithm

 Download: larger image Fig. 18. UAV position compensation during GPS spoofing attack in Scenario 3 with the adapted AUPF algorithm

Table 7
Numerical information about RMSE of applying estimation algorithms in Scenario 3

The results of state estimation errors of latitude and longitude for PSOF algorithm in three scenarios are illustrated in Figs. 1921. It is obvious that the errors are bounded between $\sigma$ error bands and are nearly zero. Consequently, applying PSOF algorithm to the INS/GPS integration model in the condition of spoofing attacks has better performance than others.

 Download: larger image Fig. 19. Latitude and longitude state estimation errors for PSOF algorithm in Scenario 1

 Download: larger image Fig. 20. Latitude and longitude state estimation errors for PSOF algorithm in Scenario 2

 Download: larger image Fig. 21. Latitude and longitude state estimation errors for PSOF algorithm in Scenario 3

Before GPS spoofing attacks occur, the INS/GPS integration model produces continuous navigation solution by compensating the drift error of INS and making INS more precise. The performance of particle based filter for solving the GPS spoofing problem is as follows. In the first step, when the spoofing occurs, the amount of deviation between the output of compensated INS and the GPS measurement is calculated. If the obtained value exceeds the considered threshold, the spoofing attack is detected. In the next step by activating particle based filters, at the beginning of the spoofing attack detection process, the position of UAV is estimated by the use of particle based filters in the INS/GPS integration system. In this case, INS output in the first moment of spoofing detection is nearly equal to the GPS measurement before spoofing occurred. The estimated position in this case is very close to the UAV real position in the trajectory.

By estimating the first point of UAV trajectory in the condition of GPS spoofing, INS data will be compensated by the estimated position in the first time-step after spoofing attacks. Once the INS compensation is done, the position estimation will occur in the next time-steps by particle based filters. Consequently, the unfavorable effects of spoofing attacks will be eliminated by SIS-PF, SIR-PF, PSOF and AUPF with reasonable accuracy.

The comparison of these four algorithms in three scenarios showed that PSOF algorithm presents better performance than others due to minimum RMSE in position in ENU coordinates. This is because of using the experiences of each particle and the experiences of neighboring particles in the search space which cause the PSOF algorithm to have memory. Indeed, the time of simulation in implementing PSOF algorithm is less than others due to its memory based property and is almost one quarter. The numerical information about the RMSE of applying estimation algorithms to the INS/GPS integration system in the condition of GPS spoofing attack scenarios is presented in Table 8. Also, to ensure the performance of the proposed algorithm, it is tested with random Gaussian noises which is called Scenario 4. To compare the effects of different random noises in the GPS spoofing models, the amplitude of the random Gaussian noises is considered the same as the amplitude of the cumulative uniform errors in Scenario 3. The amount of spoofing errors in three directions of $x$ , $y$ and $z$ are shown in Fig. 22. The simulation results are presented in Table 8. Referring to Table 8, it is clear that position error in PSOF algorithm is 2.7m. The UAV position compensation with the adapted PSOF algorithm considering the GPS spoofing attack as random Gaussian noise in Scenario 4 is illustrated in Fig. 23.

 Download: larger image Fig. 22. Amount of spoofing errors in three directions of $x$ , $y$ and $z$

 Download: larger image Fig. 23. UAV position compensation with the adapted PSOF algorithm considering the GPS spoofing attack as random Gaussian noise in Scenario 4

Table 8
Numerical information about the RMSE of applying estimation algorithms to the INS/GPS integration system in the condition of GPS spoofing attacks scenarios

The values of position error in Table 8 shows that the position error is completely decreased due to the use of particle based filters. So, it can be deduced that the positioning process is robust in the condition of GPS spoofing attacks. Investigating the position errors in PSOF algorithm in three scenarios shows that the more the spoofing effects increase, the more the position errors decrease which can be proved mathematically in the next study. The improvement in accuracy or rate of improvement of positioning process in PSOF algorithm which is defined as difference between position errors of counterfeited GPS and estimated value by the PSOF divided by position error of counterfeited GPS is more than 97% in three scenarios.

The key result of this research is the elimination of undesirable effects of the GPS spoofing attacks in different spoofing scenarios by estimating real trajectory from particle based filters. So, the position deviation in GPS receiver during spoofing attacks will be compensated.

5 Conclusions

In order to obtain robust positioning of UAVs during maneuver in dangerous scenarios such as GPS spoofing attacks and improve the accuracy of UAV position estimation, we proposed an algorithm as a UAV trajectory estimator in the INS/GPS integration system. The proposed algorithm is composed of the GPS spoofing detection and the spoofing effect compensation which is done by hypothesis test and particle based filters, respectively. By referring to effects of spoofing signals in position calculations in GPS receivers, the spoofing effects are modeled as cumulative uniform error which leads to position deviations in GPS measurements. After detecting the start point of spoofing attacks by hypothesis test, we applied particle based filters such as SIS-PF, SIR-PF, PSOF and AUPF to the INS/GPS integration model. The results showed that the PSOF algorithm has better performance in compensating the spoofing effects due to memory nature of PSOF algorithm and use of the experiences of each particle and the experiences of neighboring particles. The results of applying the PSOF algorithm as an estimator in the INS/GPS integration model showed that this approach can provide reliable and accurate navigation solutions. The accuracy of positioning in the condition of GPS spoofing attacks is improved and is more than 97% in three scenarios. The RMSE test for these algorithms proved that PSOF algorithm eliminates the undesirable effects of the GPS spoofing attacks in different spoofing scenarios.

Acknowledgements

The authors would like to acknowledge Dr. Saeed Nasrollahi from the Sharif University of Technology in Tehran for providing constructive feedback, careful reading and compassionate guidance to improve the article, Ehya Yavari from the Institute of Robotics and Computer (IRC) in Malek-Ashtar University of Technology in the field of LORAN-C national project, for his supporting behavior and Dr. Mahdi Majidi, the faculty member of University of Kashan because of his careful advices to improve this article.

References