Next Article in Journal
Theoretical Modeling of Piezoelectric Cantilever MEMS Loudspeakers
Previous Article in Journal
Saint John Baptistery in Florence (Italy): Studies for Conservation of the External Marble Cladding
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Credible Navigation Algorithm for GNSS Attack Detection Using Auxiliary Sensor System

1
Aerospace Information Research Institute, Chinese Academy of Sciences, Beijing 100094, China
2
University of Chinese Academy of Sciences, Beijing 100049, China
3
Mechanical Engineering, University of California, Los Angeles, CA 90024, USA
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(14), 6321; https://doi.org/10.3390/app11146321
Submission received: 7 June 2021 / Revised: 5 July 2021 / Accepted: 6 July 2021 / Published: 8 July 2021
(This article belongs to the Section Robotics and Automation)

Abstract

:
In order to effectively reduce the impact of Global Navigation Satellite System (GNSS) attacks while providing mobile terminals with credible navigation and positioning results, this paper proposes a credible navigation algorithm for GNSS attack detection using an auxiliary sensor system. Based on a credible Kalman filter and measurement information provided by the auxiliary sensor system on mobile terminals, the proposed algorithm can verify the credibility of the GNSS positioning result and determine whether it has suffered from a GNSS attack using the credible verification window and the credible verification threshold. According to the verification results, the algorithm can adaptively select an updated model for measurement correction and achieve a credible navigation result. The algorithm proposed in this paper has been verified on a self-developed mobile terminal, and the experimental results show that the algorithm can provide credible navigation and positioning services for mobile terminals in the context of GNSS attacks.

1. Introduction

The existing and widely used GNSS can provide all-day global Position, Navigation and Time (PNT) service. However, the GNSS signal is a type of radio signal and is vulnerable to attacks from other radio signals in the same frequency band. As a result, the GNSS signals acquired by mobile terminal often suffer from abnormalities, causing the deviation of filter parameters, which results in an incorrect movement trajectory received by the terminal and makes the navigation and positioning results undependable [1,2,3,4]. For autonomous driving and the Internet of Vehicles, the increase in the level of automation will also increase the chances of successful attacks by hackers, especially on the navigation control module based on the GNSS, which could substantially deteriorate the safety of the vehicle [5,6].
The main methods of GNSS signal attacks include suppressive interference and spoofing interference [7]. Suppressive interference uses high-power signal blocking to prevent the receiver from working normally, but it is relatively easy to be detected. On the other hand, spoofing interference works by transmitting signals that are the same as or similar to the real satellite signals in order to deceive the terminal which rely on navigation information for positioning, and this method is relatively difficult to detect. Therefore, spoofing interference has gradually become a bigger threat to satellite navigation systems. Spoofing interference upon the GNSS is usually conducted in three different forms: the auto-generating type, repeater type and inducing type [8]. Auto-generating spoofing utilizes public navigation signals to generate its own navigation signals autonomously and seize control of the receiver afterwards. This spoofing method is low in cost and simple to be implemented. However, the generated spoofing signal is far from the real signal and is easily detected. The repeater type of spoofing copies the received real signal, adds a delay, and forwards it again as a spoofing signal. This spoofing is mainly used for navigation signals whose interface files are not disclosed. However, in order to seize control, the power of the spoofing signal still needs to be further increased; moreover, this method also requires the interruption of the receiver to make it re-enter the capture state, which can be detected using the power detection method. Inducting spoofing is the only spoofing method that can seize control without changing the tracking state of the receiver. It is concealed and difficult to detect with conventional methods, such as power detection.
In order to improve the credibility of mobile terminal navigation and positioning, different detection technologies are used for different types of GNSS attacks [9,10,11]. Today, the detection technologies for GNSS attacks can be divided into the following categories [12]: signal encryption authentication, signal feature detection and consistency verification with other navigation sensors. The signal encryption authentication technology [13,14,15] is used to encrypt the civil navigation signal or spreading code to deal with spoofing interference. However, for the method to work, it is required to change the signal system, add a reference receiver, and rely on other networks for collaborative detection. Signal feature detection [16,17,18,19,20] detects spoofing based on the amplitude, arrival time and arrival angle during the GNSS receiver’s capture and tracking phase in order to determine the credibility of the GNSS signal. Compared to the previous one, this method does not need to change the signal system, but it requires upgrades to the baseband signal processing algorithm related to the GNSS receiver, or installation of anti-jamming modules, which are very expensive. The consistency verification of the mobile terminal combined with the auxiliary navigation sensors already installed on the mobile terminal can also effectively realize the detection of GNSS jamming and spoofing. Currently, the commonly seen mobile terminals that use GNSS signals, such as automobiles, aircraft, individual soldiers and unmanned terminals, are usually equipped with auxiliary navigation sensors [21] such as inertial measurement units (IMUs), odometers, etc. These auxiliary navigation sensors are non-radio sensors and will not be attacked by GNSS jamming signals or GNSS spoofing signals. These sensors can provide navigation and positioning information with good accuracy in a short time with high update rate. The position coordinates calculated by the auxiliary navigation sensors will be continuous, with no sudden interruption or signal jump.
By effectively using the measurement information provided by the auxiliary navigation sensors to check the consistency of the GNSS signal, the mobile terminal is capable of detecting the involving jamming and spoofing attacks. Reference [22] proposed an accelerometer-assisted spoofing detection algorithm, which compares the difference between accelerometer output and the GPS output to detect anomalies caused by spoofing interference. Reference [23] proposed a joint spatial consistency check method that judges whether the positioning solution meets the distance constraint to counter GNSS spoofing attacks according to the known position provided by the GNSS receiver. Reference [24] proposed a method that fuses the GNSS absolute positioning data with the data of the vehicle speed sensor, acceleration sensor, and steering wheel angle sensor so that it can still provide accurate vehicle positioning even when the GNSS signal is interrupted for a short period of time. Reference [25] proposed a method for predicting the position deviation of UAVs under GPS spoofing attacks based on innovative particle filters. The integrated architecture of GPS/Loran-C/INS improves the accuracy of UAV’s true position prediction. These methods mentioned above all use measurement navigation information provided by auxiliary navigation sensors for signal attacking detection without increasing the user’s hardware cost. However, when induced spoofing attacks occur, the calibration feedback information of the Kalman Filter system in these methods will be biased due to GNSS spoofing. Therefore, reference [26] proposed a MEMS-INS/GNSS tightly coupled spoofing identification method based on the estimation of the spoofing contour: it reconstructs and analyzes the spoofing distribution to predict GNSS attacks in the signal domain and effectively identifies and eliminates induced spoofing attacks.
In response to the problems discussed above, the purpose of this article is to design a simple and effective navigation algorithm to detect and mitigate different kinds of GNSS attacks, including GNSS jamming or GNSS spoofing, and then obtain a credible navigation result in the positioning domain. Therefore, a credible navigation algorithm for GNSS attacks detection using an auxiliary sensor system (ACNA) is proposed. By monitoring the measurement information of the GNSS and the auxiliary navigation sensors in the location domain during the credible verification window, the ACNA method analyzes and determines whether the mobile terminal suffers a GNSS attack. According to the verifications, the algorithm can adaptively select an updated model for measurement correction, and output credible navigation results. Finally, through the data sets collected by the self-developed mobile terminal, the analysis and verification of the algorithm performance are verified.

2. Credible Kalman Filter Model

2.1. Filter Model Description

In this paper, GNSS attacks are divided into two categories depending on their impact on the positioning domain: GNSS jump attacks and GNSS slow-change attacks. GNSS jump attacks happen when the GNSS is jammed or spoofed, causing invalid or large deviation in the positioning result. This type of GNSS attack is relatively easy to recognize, including GNSS jamming attacks, GNSS-generated attacks and GNSS repeater attacks. GNSS slow-change attacks happen when the positioning result drifts off slowly after the GNSS spoofing attack. This type of GNSS attack, including induced spoofing attacks, a not easy to identify. If the mobile terminal has suffered from a GNSS jump attack or a GNSS slow-change attack during movement, the new observation data will be abnormal, as mentioned above. With the feedback correction of the Kalman filter, the error will propagate and make the positioning results not credible [25]. This paper proposes a credible navigation algorithm based on an auxiliary sensor system, and a credible Kalman filtering framework (CKF) which includes an optimized Kalman filter framework with the addition of a credible decision-making module with two state-parameter update models (credible update model and auxiliary update model). Through sliding the credible-verification window, GNSS attacks that may occur in mobile terminals are continuously monitored, and the adaptive selection of the state-parameter update model is performed. If there is no attack alarm, the current GNSS signal is determined to be credible, and the credible update module is selected to perform position prediction, and state parameters are updated and corrected. If a GNSS attack warning does occur, it is determined to be untrusted, and the auxiliary update model is selected for position prediction. In the end, the credible navigation and positioning results are produced (see Section 3 in detail).
The credible Kalman filter framework is shown in Figure 1. In theory, the credible Kalman filter model can be applied to any kind of auxiliary sensor system that can provide the navigation position information (the auxiliary sensor system here includes IMUs, odometers, visual odometers, cameras, and other sensors that can provide absolute or relative position information. For example, the auxiliary navigation sensor could be an inertial navigation system (INS), a differential drive encoder (DDE) system or a DDE/INS integrated navigation system). In order to better explain the principle based on the self-developed credible navigation test terminal, this paper selects the DDE/INS-integrated navigation system as an auxiliary sensor system to derive the credible Kalman filter model. If other auxiliary navigation sensors are used instead, the credible Kalman filter model needs to be derived based on the corresponding sensor. The following is a theoretical modeling of the GNSS, DDE/INS auxiliary sensor system and credible Kalman filter.

2.2. GNSS Module

GNSS receivers generally use the WGS-84 ellipsoidal coordinate system [27] for coordinate representation, while the auxiliary sensor system generally uses the navigation coordinate system. In order to analyze the terminal position, the auxiliary sensor system in the mobile terminal and the GNSS location information must be put together in the same coordinate system. Therefore, it is necessary to transform the latitude, longitude and height information obtained from the GNSS in the geodetic coordinate system to the navigation coordinate system.
Assuming the latitude, longitude and height information of the starting position ρ 0 is ( b 0 , l 0 , h 0 ) , where b 0 is the latitude, l 0 is the longitude, and h 0 is the height. Then, the position of ρ 0 transformed into the WGS-84 coordinate system is ( X 0 , Y 0 , Z 0 ) . In the navigation coordinate system, the moving position ρ of the mobile terminal in the geodetic coordinate system is ( b , l , h ) , and the position ρ transformed into the navigation coordinate system is ( e G , n G , u G ) . The major axis of the ellipsoid model is a = 6,378,137   km , and the oblateness is e = 1 / 298.257 . Then, the state parameter x G of the GNSS model in the navigation coordinate system is
x G = [ e G n G u G ] = [ sin l 0 cos l 0 0 sin b 0 cos l 0 sin b 0 sin l 0 cos b 0 c o s b 0 cos l 0 cos b 0 sin l 0 sin b 0 ] [ ( a + h ) cos b cos l X 0 ( a + h ) cos b sin l Y 0 ( a ( 1 e 2 ) + h ) sin b Z 0 ] .

2.3. DDE/INS System Module

The auxiliary sensor system needs to independently maintain the output position of the mobile terminal in the navigation coordinate system in order to verify the credibility of the GNSS positioning result. The auxiliary sensor system used in this paper is the DDE/INS auxiliary sensor system. The working principle of the DDE/INS system is shown in Figure 2.
Given the initial position, the DDE/INS system will calculate the position and heading of the mobile terminal through the DDE odometer. Before deriving the DDE/INS system model, we should derive the DDE system module first. The two wheels of the DDE odometer are independently controlled to realize the movement and steering control of the chassis [28]. By collecting the encoded data of the two wheels in a DDE unit time slot Δ t D , the relative displacement in the navigation coordinate system can be solved as ( Δ e D , Δ n D , Δ y a w D ) . The moving distance of the left and right wheels in Δ t is denoted as ( s k l , s k r ) . Then, in the navigation coordinate system, the calculation model of ( s k l , s k r ) is
s k l = o k 1 , k l 2 π W r L l s k r = o k 1 , k r 2 π W r L r
where ( o k 1 , k l , o k 1 , k r ) is the increment of the left and right wheels in Δ t D , ( L l , L r ) is the maximum count per rotation of the left or right wheel, W r is the radius of the wheel, and L w is the distance between the two wheels. Therefore, the navigation coordinate ( e k D , n k D ) and yaw angle y a w k D at time k in the DDE system model is
e k D = e k 1 D + 1 2 ( s k l + s k r ) sin ( y a w k 1 D + ( s k l s k r ) L w ) n k D = n k 1 D + 1 2 ( s k l + s k r ) cos ( y a w k 1 D + ( s k l s k r ) L w ) y a w k D = y a w k 1 D + ( s k l s k r ) L w .
However, the DDE system model is greatly affected if the road surface is not flat, which causes a large error in the mileage calculation. In order to improve the navigation performance of the auxiliary sensor system and the credibility of the ACNA algorithm, the DDE system model is optimized by tightly coupling the yaw angle y a w I and the height Δ u I calculated by INS, as shown in the following formula:
e k DI = e k 1 DI + 1 2 ( s k l + s k r ) sin ( y a w k I ) n k DI = n k 1 DI + 1 2 ( s k l + s k r ) cos ( y a w k I ) u k DI = u k 1 DI + Δ u k I
where ( e k DI , n k DI , u k DI ) , y a w k I and Δ u k I are the navigation coordinate, the yaw angle and the height at time k in the DDE/INS system.
In the navigation coordinate system, the velocity components ( v x , v y , v z ) of the mobile terminal in the east and north directions at time k is
v x , k = 1 2 Δ t D ( s k l + s k r ) sin ( y a w k I ) v y , k = 1 2 Δ t D ( s k l + s k r ) cos ( y a w k I ) v z , k = 1 Δ t D Δ u k I
Therefore, the state parameter x DI of the DDE/INS system model is
x DI = [ e k DI n k DI u k DI ] = [ e k - 1 DI + v x , k 1 Δ t D n k - 1 DI + v y , k 1 Δ t D u k - 1 DI + v z , k 1 Δ t D ] .

2.4. Credible Kalman Filter Model

The state parameter of the CKF filter system based on the DDE/INS system is
x = [ x , y , z , v x , v y , v z ] T
where ( x , y , z ) is the navigation coordinate of the mobile terminal, while ( v x , v y , v z ) is the velocity of the mobile terminal. Then, the state update model x k at time k of the DDE/INS system is
x k = [ x k y k z k v x , k v y , k v z , k ] = [ x k 1 + v x , k 1 Δ t D y k 1 + v y , k 1 Δ t D z k 1 + v z , k 1 Δ t D v x , k 1 v y , k 1 v z , k 1 ] = x k 1 + Δ t D [ v x , k 1 v y , k 1 v z , k 1 0 0 0 ]
If the GNSS information is determined to be credible, the GNSS state parameter x G and the DDE/INS state parameters x DI are used as observations of the CKF filter system to generate a credible update model A. In the update process of the CKF filter system, the measurement vector Z A is expressed as
Z A = [ e k DI , n k DI , u k DI , y a w k I , e k G , n k G , u k G ] T .
If the GNSS information is determined to be untrusted, the CKF filter system shields the GNSS state parameter x G , and only uses the DDE/INS state parameters x DI to generate an auxiliary update model V. Then, it enters the CKF filter system update process, in which the measurement vector Z V is expressed as
Z V = [ e k DI , n k DI , u k DI , y a w k I ] T .

3. Credible Navigation Algorithm

3.1. Algorithm Model

By setting the size of the credible verification threshold and the size of the credible verification window, the ACNA algorithm monitors GNSS drift, effectively identifies GNSS jump/slow attack, and improves the credibility of the system. The definitions of GNSS drift, credible verification window and credible verification threshold are given below.
GNSS drift: The offset of the GNSS positioning result relative to the positioning result of the auxiliary sensor system. The GNSS drift Δ ρ k at time k is
Δ ρ k = ( e k G e k DI ) 2 + ( n k G n k DI ) 2 + ( u k G u k DI ) 2 .
Credible verification window: The credibility of GNSS is determined using the credible verification window as a scope of judgment. During the process of credibility determination, the drift Δ ρ over several consecutive positioning time slots is analyzed to determine whether the GNSS signal is credible. The number of consecutive positioning time slots mentioned above is in fact the size of the credible verification window. The credible verification window includes the jump verification window n j , and the slow-change verification window n s . Here, n j is used to verify whether the GNSS has experienced a GNSS jump attack while n s is used to verify whether the GNSS has experienced a GNSS slow-change attack. In the credibility determination process, the credibility verification window will continue to slide over time.
Credible verification threshold: During the movement of the mobile terminal, the trajectories of two adjacent points are correlated. The possible position range of the mobile terminal at time k + 1 can be predicted according to the position at time k, the velocity at time k, the yaw angle at time k and the measurement error of GNSS and the auxiliary sensor system from time k to time k + 1. The GNSS signal lies within a certain error range: if it exceeds a certain error range, the GNSS signal can be considered abnormal. At this point, the radius of the abnormal position beyond the certain error range is set as the credible threshold. During the determination of the credible verification window, it is required to keep monitoring whether GNSS drift exceeds a certain threshold. This threshold is defined as the credible verification threshold. Our method sets separate thresholds for GNSS jump attacks and GNSS slow-change attacks as T h j and T h s .
If the signal continues to be abnormal, GNSS jump/slow-change attack can be detected based on the analysis of measurement information in the credible verification window range. If the credibility verification threshold is too high, a missing alarm may be triggered. If the credible verification threshold is too low, a false alarm may be triggered. If there is only one or two signal abnormalities within a certain period of time, it may be a “GNSS signal false point”, which may be caused by other factors. In order to remove these unwanted signal fluctuations, appropriate parameter values need to be set to filter them out to effectively eliminate false points, improve the accuracy and reduce the false/missing alarm rate of the system.
According to the state and prediction location results of ACNA, the location of points is divided into four categories: (1) T P : predict as normal, in fact normal, (2) F P : predict as normal, in fact abnormal, (3) T N : predict as abnormal, in fact abnormal, (4) F N : predict as abnormal, in fact normal. Then, the accuracy rate of navigation prediction P D is
P D = T P + T N T P + F N + F P + T N .
The false alarm rate P FA is
P FA = F P F P + T N .
The missing alarm rate P MD is
P MD = F N T P + F N .
In order to improve the credibility of the ACNA algorithm, it is necessary to set the appropriate credible verification threshold and credible verification window. According to the minimum error criterion [29], minimizing the sum of integrity and availability risks can maximize the accuracy of the navigation algorithm. Therefore, this then becomes an optimization problem. The optimization objective is to maximize the accuracy rate of the algorithm and minimize the false alarm rate and missing alarm rate of the algorithm. That is:
max ( P D ) min ( P FA + P MD )
s . t .
n j > 1
n s > n j
T h j σ G
T h j 3 σ G
T h s σ G
T h s 3 σ G
T h s i = k n s + 1 k ε i DI / n s .
Equations (15) and (16) are credible verification window constraints. The jump attack of GNSS means that the GNSS drift exceeds the jump verification threshold for n j consecutive moments. The jump attack detection method can be used to detect the “GNSS signal false points” of the system, improve the accuracy rate, and reduce the false alarm rate. Therefore, n j should satisfy n j > 1 . The slow-change verification window n s is used after the jump attack detection. Therefore, n s is set to be larger than the jump verification window n j to optimize the algorithm running time.
Equations (17)–(21) are credible verification threshold constraints. The GNSS positioning solution follows a Gaussian distribution, with the mean and standard deviation being μ G and σ G . According to the Pauta criterion ( 3 σ criterion), the possibility that the GNSS positioning solution exceeds the range ( μ - 3 σ , μ + 3 σ ) is only 0.27%. Thus, an error of ± 3 σ can be used as the limit error of the GNSS positioning settlement result. To identify GNSS jump attack, the choice of T h j should not exceed the limit error of GNSS at 3 σ G . At the same time, to ensure the positioning accuracy of the system, T h j should not be lower than the GNSS error at σ G . Thus, T h j should satisfy Equations (17) and (18).
As for the slow-change attack of GNSS, the location domain changes by only a small amount per unit time, which is difficult to detect by jump verification. The selection of T h s should be greater than the measurement error of the GNSS system and the cumulative measurement error of the auxiliary sensor system. At each unit time in the credible verification window, the measurement errors of the GNSS system are relatively independent, and they all satisfy the 3 σ principle. T h s should not be lower than the GNSS error at σ G and not exceed the limit error of GNSS at 3 σ G during the slow-change verification window n s . Thus, T h s should satisfy Equations (19) and (20). The cumulative measurement error of the auxiliary sensor system P DI is the cumulative measurement error of the auxiliary sensor system during the credible verification window. The measurement error of the auxiliary sensor system will continue to accumulate if there is no GNSS observation to correct and calibrate the auxiliary sensor system. Therefore, P DI can be calculated as
P k n s + 1 , , k 1 , k DI = i = k n s + 1 k ε i DI
where ε i DI is the measurement error of the auxiliary sensor system at time i . Then, T h s should be greater than the average cumulative error of the auxiliary sensor system to accurately determine whether a GNSS attack occurs, as described in Equation (21). In order to simplify the measurement error model of the auxiliary sensor system, we make the following assumptions for the error model. The measurement errors of the auxiliary sensor system ε DI all have the same normal distribution, with a mean of μ DI and a variance of σ DI 2 . That is
E ( ε k DI ) = μ DI V ( ε k DI ) = σ DI 2
At each unit time in the credible verification window, the measurement errors of the auxiliary sensor system are relatively independent; thus, the measurement errors of the auxiliary sensor system can be simplified as:
P k n s + 1 , , k 1 , k DI = σ DI 2 × n s .

3.2. Algorithm Design

According to the optimization theoretical model above, we designed the ACNA method to detect whether the GNSS was subjected to jump or slow-change attacks, based on whether the GNSS drift exceeds the credible verification threshold within the credible verification window. In order to maximize the accuracy of the algorithm and minimize the risk of algorithm integrity and availability, the updated model of the filter was selected adaptively to obtain the credible navigation prediction.
At time k, when the mobile terminal has a positioning requirement, it receives the GNSS signal and calculates the position of the mobile terminal as ρ k G . At this time, the estimated position obtained from the auxiliary sensor system is ρ k DI
ρ k G = [ e k G , n k G , u k G ] ρ k DI = [ e k DI , n k DI , u k DI ]
After acquiring the GNSS signal in the current positioning time slot, ACNA enters the GNSS interruption verification stage in order to determine whether the GNSS signal acquired is valid. If the GNSS signal is invalid ( ρ k G = V and V means the signal is invalid) at this time, it is concluded that the GNSS signal is interrupted, and the system sends a GNSS signal interruption alarm to the mobile terminal. Then, the auxiliary updated model is selected to filter and update the position prediction until the GNSS is determined to be valid ( ρ k G V ). After that, the data of GNSS and auxiliary sensor system are extracted and processed, and the jump attack detection stage is entered.
In the GNSS jump attack detection stage, the credibility of the GNSS positioning results can be verified through Δ ρ k , n j , and T h j . For the consecutive positioning time slots n j , the GNSS drift Δ ρ should be determined between each positioning time slot. The jump mark flag j tracks and records the GNSS signal jump, as
flag j ( k ) = { flag j ( k 1 ) + 1 Δ ρ k > T h j 0 Δ ρ k T h j .
If flag j ( k ) n j , it is verified that a GNSS jump attack has occurred, as shown in Figure 3. At this time, GNSS is judged to be in the untrusted stage, and the auxiliary update model is selected for terminal position prediction, and a jump alarm was issued at the same time.
If no GNSS jump attack occurs, the algorithm enters the GNSS slow-change verification stage, and the GNSS positioning result is verified based on Δ ρ k , n s and T h s . For the consecutive positioning time slots n s , the GNSS drift Δ ρ in each slot should be tracked and recorded by the slow-change mark flag s . At time k , flag s ( k ) represents the statistical average of GNSS drift from time k + 1 n s to k , as
flag s ( k ) = i = 1 n s Δ ρ k + i n s / n s .
If flag s ( k ) T h s , it is verified that GNSS drift exceeds the threshold from time k n s to k during the slow-change verification window, which means a GNSS slow-change attack may occur, as shown in Figure 4. At this time, GNSS is judged to be in an untrusted stage, and the auxiliary update model is selected for terminal position prediction, and at the same time, a slow-change alarm is issued.
If there is no interruption or jump/slow-change attack on the GNSS signal, the GNSS is judged to be in a credible stage, and the credible update model is selected for the filtering update and position prediction.
The algorithm flowchart is presented in Figure 5 and the logical flow of the algorithm is explained as follows:
  • Step 1: Initialization. Set the initial global position (converted to the navigation coordinate system) according to the GNSS signal acquired when the mobile terminal is initially at stationary. Initialize parameters n j , T h j , n s , T h s , flag j and flag s .
  • Step 2: Decide whether there is a navigation and positioning requirement. If so, the GNSS receiver and auxiliary sensor will enter the working state and go to step 3; otherwise, go to step 8.
  • Step 3: Determine whether the GNSS and auxiliary sensor system have new and valid input data. If the acquired information of GNSS and auxiliary sensor system is valid, the information of GNSS from global coordinates is converted to navigation coordinates, and the position unity with the auxiliary sensor system is realized to obtain ρ k G and ρ k DI . Then, we go to step 4; if the effective information of the auxiliary navigation sensor system is obtained, and the GNSS positioning result is interrupted, the auxiliary update model is used to maintain the terminal position prediction, and we go to step 3 again; if no valid information is obtained, we go back to step 2.
  • Step 4: Calculate GNSS drift Δ ρ k at time k. If Δ ρ k > T h j , then we have flag j ( k 1 ) + 1 , and we go to step 5; otherwise, we have flag j ( k ) = 0 , and we go to step 6.
  • Step 5: Determine the size of flag j ( k ) . If flag j ( k ) < n j , we proceed to Step 6; if flag j ( k ) n j , it is determined that there is a GNSS jump attack, the GNSS is set as an untrusted navigation source, and the auxiliary update model is used to maintain the terminal position prediction at this time. If this happens, we reverse back to step 3.
  • Step 6: Calculate flag s ( k ) . If flag s ( k ) T h s , it is determined that there is a GNSS slow-change attack, the GNSS is set as an untrusted navigation source, and the auxiliary update model is used to maintain the terminal position prediction. Then, we go back to step 3; otherwise, we continue to step 7.
  • Step 7: GNSS is in a credible stage. The credible update model is used to maintain the terminal position output, and then we go to step 3 again.
  • Step 8: End.

4. Performance Evaluation

4.1. Experimental Platform and Data Set

In order to test the proposed ACNA algorithm, simulations and evaluations are performed on two data sets collected during the real driving. The experiment is conducted using a self-designed robot system named QJ-Racecar equipped with RTK, GNSS, INS and DDE sensors. Its mechanical structure and sensors are shown in Figure 6. Additionally, the sensor specifications are shown in Table 1 below.
Two data sets are collected during the test ride. Data set 1 is named Ψ 1 , and it shows an outdoor static test of the mobile terminal with a 5 min duration. This data set also provides the initial position of the mobile terminal, as shown in Table 2 below. Data set 2 is named Ψ 2 , and it is collected by driving the robot along the sidelines of a 13.4 m long and 6.1 m wide badminton field at an average speed of 0.5 m/s. The trajectories of the two data sets exported by the RTK receiver are shown in Figure 7 and the number of available satellites during driving is shown in Figure 8.

4.2. Simulation Results

In order to validate the performance of the proposed algorithm ACNA, the GNSS jump or slow-change attacks are simulated on the data set Ψ 1 and Ψ 2 . The simulation of GNSS jump attacks are applied to Ψ 2 to obtain Ψ ˜ 2 . The simulation of GNSS slow-change attacks are applied to Ψ 2 to obtain Ψ ˜ 3 . Additionally, the simulation of GNSS jump and slow-change attacks are applied to Ψ 2 to obtain Ψ ˜ 4 .
GNSS jump attacks are injected into data set as follows:
ρ ˜ GJ = ρ G + Δ ρ J , Δ ρ J N ( 20 , 0.1 )
where ρ ˜ GJ represents the position after GNSS jump attacks are injected, ρ G represents the GNSS position, and Δ ρ J (random interference is added with an average of 20 m and a variance of 0.1) represents the position disturbance caused by GNSS jump attacks in the location domain. As can be seen from Equation (28), the jump attack injects big errors to GNSS signals.
GNSS slow-change attacks are injected into data set as follows:
ρ ˜ GS = ρ G + i = T Δ ρ i S , Δ ρ S N ( 0.5 , 0.05 )
where ρ ˜ GS represents the position after GNSS slow-change attacks are injected, and Δ ρ i S (random interference is superimposed per second with an average of 0.5 m and a variance of 0.05) represents the positional disturbance at time i generated by GNSS slow-change attacks in the location domain. As can be seen from Equation (29), the slow-change attack injects small errors to GNSS signals slowly and continuously during each second.
Under such a condition, slowly injected errors can influence the filter gradually. In GNSS jump attack simulation (data set Ψ ˜ 2 ), the segment from 150 s to 300 s of the data set is exposed to GNSS jump attacks defined in Equation (28). In GNSS slow-change attack simulation (data set Ψ ˜ 3 ), the segment from 150 s to 300 s of the data set is exposed to GNSS slow-change attacks defined in Equation (29). Additionally, in the jump and slow-change attack simulation (data set Ψ ˜ 4 ), the segment from 50 s to 100 s of the data set is exposed to GNSS jump attacks defined in Equation (28) and the segment from 150 s to 200 s of the data set is exposed to GNSS slow-change attacks defined in Equation (29).

4.3. Parameter Analysis

This section analyzes the impact of the jump parameter settings ( n j and T h j ) and slow-change parameter settings ( n s and T h s ) on P D and P FA + P MD mentioned in Section 3.1. First, we focus on the impact of jump parameter settings. Data set Ψ ˜ 2 is selected for analysis in order to shield the influence of slow-change parameter settings on P D , P FA and P MD . According to Equations (16)–(18), the value range of n j is set from 1 to 20, and the value range of T h j is set as follows:
T h j = 0.1 t   m   s . t .   t = 0 ~ 60
The simulation results are shown in Figure 9. It can be seen that when n j remains unchanged, with the increase in T h j , P D becomes stable to 1 after its wavelike rising while P FA + P MD becomes stable to 0 after its wavelike dropping.
Then, we set a parameter f a in order to maximize the accuracy rate of the navigation algorithm, as follows:
f a = max ( P D ) .
At the same time, we set another parameter f c to minimize the sum of the missing alarm rate P MD and false alarm rate P FA to evaluate the sum of integrity and availability risks, as follows:
f c = min ( P FA + P MD ) .
The simulation results are shown in Figure 10. The impact of n j on f a and f c is analyzed in Figure 10a. It can be seen that as n j increases, f a is stable at 1, while f c is stable at 0. No matter what the value of n j is, the value of f a and f c remains the same. That is, the value of P D would become to 1 and P FA + P MD would become to 0 as the value of T h j increases no matter what the value of n j is. The difference is that T h j is different when P D increases to 1. Therefore, according to Equation (15), the jump parameter n j is set to 2. Additionally, according to the trend of P D and P FA + P MD when n j is set to 2, T h j is set to 1.5 m, as shown in Figure 10b. Then, we will have P D = 100 % and P FA + P MD = 0 % .
Next, the effect of the slow-change parameter on P D and P FA + P MD is analyzed based on the data set Ψ ˜ 3 . In this experiment, the value range of the slow-change verification window n s is set to the range 1 to 20, and the value range of T h s is set as follows:
T h s = 0.01 t   m   s . t .   t = 0 ~ 1000
The simulation results are shown in Figure 11 and Figure 12. In Figure 11, it can be seen that when the value of n s is constant, with the increase in T h s , P D becomes stable after its wavelike rising and P FA + P MD becomes stable after its wavelike falling. According to Figure 12a, the influence of the slow-change verification window on f a and f c can be analyzed and reflected. In order to maximize the accuracy rate P D and minimize P FA + P MD , we pick the slow-change parameters as n s = 5 and T h s = 1 . 28   m . Then, we will have P D = 100 % , and P FA + P MD = 0 % , as shown in Figure 12b.

5. Experimental Analysis

In order to verify the performance of the ACNA algorithm, we try to compare it with the traditional extended Kalman filter method (EKF) [30] and the reduced IMU and odometer algorithm (RIO) [24]. The EKF algorithm uses the traditional EKF algorithm to fuse GPS and DDE/INS data with no GNSS verification process; that is, the updated measurement is the direct input of the Kalman filter for state update and position prediction. The RIO algorithm has distance constraints and can detect GNSS jump attacks. In the following passage, we compare the three algorithms using data set Ψ ˜ 2 , Ψ ˜ 3 and Ψ ˜ 4 .

5.1. Results of Data Set Ψ ˜ 2

Figure 13 shows the position error of ACNA, EKF and RIO under GNSS jump attacks (data set Ψ ˜ 2 ). After GNSS attacks in data set Ψ ˜ 2 , the 1 σ positioning accuracy of GNSS increases to 13.47 m. Figure 14 shows the corresponding movement trajectories of the three algorithms of ACNA, EKF and RIO under GNSS attacks. Their east, north and relative positioning accuracy ( σ east , σ north and σ ) and maximum error ( E MaxEast , E MaxNorth and E Max ) are shown in Table 3 below.
It can be seen that the EKF algorithm fails to detect GNSS jump attacks and the positioning errors grows gradually as the GNSS attacks occur. The 1 σ positioning accuracy of the EKF algorithm increases to 13.24 m, with an improvement of 2% compared with the GNSS. Additionally, the RIO algorithm and ACNA algorithm can detect jump attacks in time. The 1 σ positioning accuracy of the RIO algorithm increases to 1.39 m, with an improvement of 90% compared with the GNSS. Additionally, the 1 σ positioning accuracy of the ACNA algorithm increases at 1.14 m, with an improvement of 92% compared with the GNSS.

5.2. Results of Data Set Ψ ˜ 3

Figure 15 shows the position error of ACNA, EKF and RIO in the east and north directions after GNSS slow-change attacks (data set Ψ ˜ 3 ). After GNSS attacks on data set Ψ ˜ 3 , the 1 σ positioning accuracy of the GNSS increases to 34.27 m. Figure 16 shows the corresponding movement trajectory of the three algorithms under GNSS attacks. Their east, north and relative positioning accuracy ( σ east , σ north and σ ) and maximum error ( E MaxEast , E MaxNorth and E Max ) are shown in Table 4 below.
It can be seen from the results that EKF is unable to detect GNSS slow-change attacks and its 1 σ positioning accuracy increases to 32.76 m, with an improvement of 4% compared with the GNSS. The RIO algorithm detects slow-change attacks after it occurs for 26 s. Therefore, its 1 σ positioning accuracy increases to 6.77 m, which is improved by 80% compared with GNSS. On the other hand, the ACNA algorithm can detect GNSS slow-change attacks in time and its 1 σ positioning accuracy is 1.17 m, with an improvement of 97% compared with the GNSS.

5.3. Results of Data Set Ψ ˜ 4

Figure 17 shows the position error of ACNA, EKF and RIO after GNSS jump and slow-change attacks (data set Ψ ˜ 4 ). After GNSS attacks on data set Ψ ˜ 4 , the 1 σ positioning accuracy of the GNSS increases to 11.80 m. Figure 18 shows the corresponding movement trajectory of the three algorithms under GNSS attacks. Their east, north and relative positioning accuracy ( σ east , σ north and σ ) and maximum error ( E MaxEast , E MaxNorth and E Max ) are shown in Table 5 below.
It can be seen from the results that EKF is unable to detect GNSS jump attacks or slow-change attacks and its 1 σ positioning accuracy increases to 10.65 m, with an improvement of 10% compared with the GNSS. The RIO algorithm can detect jump attacks but not slow-change attacks in time. Its 1 σ positioning accuracy is 6.75 m, which is improved by 43% compared with GNSS. On the other hand, the ACNA algorithm can detect both GNSS jump attacks and slow-change attacks in time. Its positioning accuracy is 0.81 m, with an improvement of 93% compared with the GNSS.
In contrast, the navigation performance of 1 σ positioning accuracy for the ACNA algorithm is better than the other two algorithms, no matter whether GNSS jump attacks occur or GNSS slow-change attacks occur.

5.4. Positioning Accuracy Deterioration Factor

In order to evaluate the credible navigation effectiveness of ACNA, EKF and RIO, we define the positioning accuracy deterioration factor γ and credibility of the algorithm ς . Here, γ represents the ratio of the 1 σ positioning accuracy calculated by the algorithm before and after GNSS attacks. The larger γ becomes, the worse the positioning accuracy of the algorithm in terms of resisting the GNSS attacks, and vice versa. The positioning accuracy deterioration factor γ is
γ = σ ˜ σ
where σ is the 1 σ positioning accuracy obtained by the algorithm before the GNSS attacks, and σ ˜ is the 1 σ positioning accuracy calculated by the algorithm after the GNSS attacks.
The credibility of the algorithm ς stands for how well each algorithm can help improve on the positioning accuracy deterioration factor γ . The smaller the ς , the lower the credibility of the algorithm, and vice versa. The credibility of the algorithm ς is
ς = γ g γ γ g
where γ g is the GNSS positioning accuracy deterioration factor after GNSS attacks.
Table 6 concludes the σ , γ and ς for the three algorithms on data set Ψ ˜ 4 before and after GNSS attacks. It can be seen that before any GNSS attack, the three algorithms can achieve a positioning accuracy at decimeter level.
However, after GNSS attacks, the positioning accuracy deterioration factor of the GNSS itself reaches 11.80. Consequently, the positioning accuracy deterioration factor of EKF is 10.65, and the credibility of it drops to −0.74%. The positioning accuracy deterioration factor of RIO is 6.75, and the credibility of it is 36.19%. Nevertheless, the positioning accuracy deterioration factor of ACNA is only 0.81 because the ACNA algorithm can effectively make the credibility of the algorithm reach as high as 92.53%. Therefore, ACNA can reduce the positioning accuracy deterioration factor better and improve the credibility of the algorithm better when a GNSS attack occurs.

5.5. Detection Latency

In order to evaluate the detection latency after GNSS attacks of ACNA, EKF and RIO, we define the detection latency Δ δ . The detection latency Δ δ represents the time used for the algorithm to detect a GNSS attack. The larger Δ δ becomes, the worse of the algorithm in terms of detecting the GNSS attacks, and vice versa.
Table 7 concludes the detection latency of ACNA, EKF and RIO after GNSS attacks on data set Ψ ˜ 4 . It can be seen that the EKF algorithm fails to detect GNSS attacks, and the detection latency is null. The RIO algorithm detects GNSS jump attacks at a latency of 1s and detects GNSS slow-change attacks at a latency of 27 s. Our proposed ACNA detects GNSS jump attacks at a latency of 2 s and detects GNSS slow-change attacks at a latency of 5 s, which is consistent with the parameter analysis for the credible verification window set in Section 4.3. For the detection latency in GNSS jump attacks, our proposed algorithm is one second later than RIO because of the setting of the jump verification window, which is consistent with the analysis to prevent false alarms in Section 3.1. For the detection latency in GNSS slow-change attacks, our proposed algorithm is 22 s before RIO. Therefore, ACNA can reduce the detection latency better when GNSS attacks occur.

6. Conclusions

In order to detect GNSS attacks and obtain a credible navigation result for mobile terminals, this paper proposes a credible navigation algorithm for GNSS attack detection using an auxiliary sensor system. The credible navigation algorithm is constructed based on the credible Kalman filter model. By adding a credible decision-making system to the Kalman filter framework and utilizing the complementary characteristics of the GNSS and the auxiliary sensor system, the algorithm overcomes the shortcomings of a single sensor and can detect GNSS attacks. By using a credible verification window to detect different kinds of GNSS attacks, including GNSS jump attacks and GNSS slow-change attacks, our proposed algorithm adaptively chooses an updated model to perform filter measurement correction and position prediction according to the outcome. Finally, the uninterrupted position information of the mobile terminal and the credible navigation result can be obtained.
In addition, two data sets are collected during real driving for simulation and evaluation. Through these data sets, the parameter settings of the proposed algorithm are determined, and the advantage of the proposed algorithm is verified. We show that the proposed algorithm has better positioning accuracy, a lower positioning accuracy deterioration factor, higher navigation credibility and lower detection latency compared with conventional algorithms under GNSS jump attacks or GNSS slow-change attacks.

Author Contributions

Conceptualization, J.S. and H.W.; data curation, X.G.; formal analysis, J.S. and S.L.; investigation, X.G.; methodology, J.S.; project administration, Y.G.; resources, H.W. and Y.G.; software, Y.Z.; supervision, H.W.; validation, J.S., X.G. and S.L.; visualization, Y.L.; writing—original draft, J.S. and S.L.; writing—review and editing, X.G. and H.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Informed consent was obtained from all subjects involved in the study.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Acknowledgments

This research was carried out in the project: China’s Second-Generation Satellite Navigation System Major Project (Y9E0153M26). Additionally, we wish to thank Hanze Luo for the data transform, and Songfan Hou for advice on experimental design.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Junzhi, L.; Wanqing, L.; Qixiang, F.; Beidianet, L. Research progress of GNSS spoofing and spoofing detection technology. In Proceedings of the 19th International Conference on Communication Technology (ICCT), Xi’an, China, 16–19 October 2019; pp. 1360–1369. [Google Scholar]
  2. Kerns, A.J.; Shepard, D.P.; Bhatti, J.A.; Humphreys, T.E. Unmanned aircraft capture and control via GPS spoofing. J. Field Robot. 2014, 31, 617–636. [Google Scholar] [CrossRef]
  3. Ruegamer, A.; Kowalewski, D. Jamming and spoofing of GNSS signals—An underestimated risk?! Proc. Wisdom Ages Chall. Mod. World 2015, 3, 17–21. [Google Scholar]
  4. Jafarnia-Jahromi, A.; Fadaei, N.; Daneshmand, S.; Broumandan, A.; Lachapelle, G. A review of pre-despreading GNSS interference detection techniques. In Proceedings of the 5th International Colloquium on Scientific and Fundamental Aspects of the Galileo Programme, Braunschweig, Germany, 27–29 October 2015; pp. 1–8. [Google Scholar]
  5. Parkinson, S.; Ward, P.; Wilson, K.; Miller, J. Cyber threats facing autonomous and connected vehicles: Future challenges. IEEE Trans. Intell. Transp. Syst. 2017, 18, 2898–2915. [Google Scholar] [CrossRef]
  6. Mit, R.; Zangvil, Y.; Katalan, D. Analyzing Tesla’s level 2 autonomous driving system under different GNSS spoofing scenarios and implementing connected services for authentication and reliability of GNSS data. In Proceedings of the 33rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2020), Online, 22–25 September 2020; pp. 621–646. [Google Scholar]
  7. Fabio, D. (Ed.) GNSS Interference Threats and Countermeasures; Artech House: Norwood, MA, USA, 2015. [Google Scholar]
  8. Zhou, M.; Li, H.; Wang, C.; Ma, T.; Lu, M. Induced spoofing detection of global navigation satellite system. J. Natl. Univ. Def. Technol. 2019, 41, 129–135. [Google Scholar]
  9. Psiaki, M.L.; Humphreys, T.E. GNSS spoofing and detection. Proc. IEEE 2016, 104, 1258–1270. [Google Scholar] [CrossRef]
  10. Huang, J.; Presti, L.L.; Motella, B.; Pini, M. GNSS spoofing detection: Theoretical analysis and performance of the Ratio Test metric in open sky. Ict Express 2016, 2, 37–40. [Google Scholar] [CrossRef] [Green Version]
  11. Yuan, D.; Li, H.; Wang, F. A GNSS acquisition method with the capability of spoofing detection and mitigation. Chin. J. Electron. 2018, 27, 213–222. [Google Scholar] [CrossRef]
  12. Bian, S.F.; Hu, Y.F.; Ji, B. Research status and prospect of GNSS anti-spoofing technology. Sci. Sin. Inf. 2017, 47, 275–287. (In Chinese) [Google Scholar] [CrossRef]
  13. Wesson, K.; Rothlisberger, M.; Humphreys, T. Practical cryptographic civil GNSS signal authentication. Navig. J. Inst. Navig. 2012, 59, 177–193. [Google Scholar] [CrossRef]
  14. Kerns, A.J.; Wesson, K.D.; Humphreys, T.E. A blueprint for civil GNSS navigation message authentication. In Proceedings of the 2014 IEEE/ION Position, Location and Navigation Symposium—PLANS 2014, Monterey, CA, USA, 5–8 May 2014; pp. 262–269. [Google Scholar]
  15. O’Driscoll, C. What is navigation message authentication? Inside GNSS. 1 January 2018. Available online: https://insidegnss.com/what-is-navigation-message-authentication/ (accessed on 2 June 2021).
  16. Zhang, X.; Pang, J.; Su, Y.; Ou, G. Spoofing detection technique on antenna array carrier phase double difference. J. Natl. Univ. Def. Technol. 2014, 36, 55–60. [Google Scholar]
  17. Jafarnia Jahromi, A.; Broumandan, A.; Nielsen, J.; Lachapelle, G. GNSS spoofer countermeasure effectiveness based on signal strength, noise power, and C/N0 measurements. Int. J. Satell. Commun. Netw. 2012, 30, 181–191. [Google Scholar] [CrossRef]
  18. Dehghanian, V.; Nielsen, J.; Lachapelle, G. GNSS spoofing detection based on signal power measurements: Statistical analysis. Int. J. Navig. Obs. 2012, 2012, 313527. [Google Scholar] [CrossRef] [Green Version]
  19. Sharifi-Tehrani, O.; Sabahi, M.F.; Danaee, M.R. Low-complexity framework for GNSS jamming and spoofing detection on moving platforms. IET Radar Sonar Navig. 2020, 14, 2027–2038. [Google Scholar] [CrossRef]
  20. Li, J.; Li, H.; Lu, M. One-dimensional traversal receiver autonomous integrity monitoring method based on maximum likelihood estimation for GNSS anti-spoofing applications. IET Radar Sonar Navig. 2020, 14, 1888–1896. [Google Scholar] [CrossRef]
  21. Lai, Q.; Yuan, H.; Wei, D.; Wang, N.; Li, Z.; Ji, X. A Multi-Sensor Tight Fusion Method Designed for Vehicle Navigation. Sensors 2020, 20, 2551. [Google Scholar] [CrossRef] [PubMed]
  22. Lee, J.H.; Kwon, K.C.; An, D.S.; Shim, D.S. GPS spoofing detection using accelerometers and performance analysis with probability of detection. Int. J. Control. Autom. Syst. 2015, 13, 951–959. [Google Scholar] [CrossRef]
  23. Broumandan, A.; Lachapelle, G. Spoofing detection using GNSS/INS/odometer coupling for vehicular navigation. Sensors 2018, 18, 1305. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  24. Melendez-Pastor, C.; Ruiz-Gonzalez, R.; Gomez-Gil, J. A data fusion system of GNSS data and on-vehicle sensors data for improving car positioning precision in urban environments. Expert Syst. Appl. 2017, 80, 28–38. [Google Scholar] [CrossRef]
  25. Majidi, M.; Erfanian, A.; Khaloozadeh, H. Prediction-discrepancy based on innovative particle filter for estimating UAV true position in the presence of the GPS spoofing attacks. IET Radar Sonar Navig. 2020, 14, 887–897. [Google Scholar] [CrossRef]
  26. Yimin, W.; Hong, L.; Mingquan, L. Spoofing profile estimation based GNSS spoofing identification method for tightly coupled MEMS INS/GNSS integrated navigation system. IET Radar Sonar Navig. 2019, 14, 216–225. [Google Scholar] [CrossRef]
  27. Nebot, E.; Sukkarieh, S.; Durrant-Whyte, H. Inertial navigation aided with GPS information. In Proceedings of the 4th Annual Conference on Mechatronics and Machine Vision in Practice, Toowoomba, Australia, 22–24 September 1997; pp. 169–174. [Google Scholar]
  28. Rapoport, L.; Gribkov, M.; Khvalkov, A.; Pesterev, A.; Tkachenko, M. Control of wheeled robots using GNSS and inertial navigation: Control law synthesis and experimental results. Constraints 2006, 10, 2. [Google Scholar]
  29. Feng, S.; Ochieng, W.Y.; Walsh, D.; Ioannides, R. A measurement domain receiver autonomous integrity monitoring algorithm. GPS Solut. 2006, 10, 85–96. [Google Scholar] [CrossRef]
  30. Zhao, L.; Ochieng, W.Y.; Quddus, M.A.; Noland, R.B. An extended Kalman filter algorithm for integrating GPS and low-cost dead reckoning system data for vehicle performance and emissions monitoring. J. Navig. 2003, 56, 257–275. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Credible Kalman filter model.
Figure 1. Credible Kalman filter model.
Applsci 11 06321 g001
Figure 2. Working principle of DDE/INS system.
Figure 2. Working principle of DDE/INS system.
Applsci 11 06321 g002
Figure 3. GNSS jump verification.
Figure 3. GNSS jump verification.
Applsci 11 06321 g003
Figure 4. GNSS slow-change verification.
Figure 4. GNSS slow-change verification.
Applsci 11 06321 g004
Figure 5. Algorithm flowchart.
Figure 5. Algorithm flowchart.
Applsci 11 06321 g005
Figure 6. The mechanical structure and sensors of the QJ-Racecar.
Figure 6. The mechanical structure and sensors of the QJ-Racecar.
Applsci 11 06321 g006
Figure 7. Trajectories of data set 1 (red line) and data set 2 (yellow line) exported by the RTK receiver.
Figure 7. Trajectories of data set 1 (red line) and data set 2 (yellow line) exported by the RTK receiver.
Applsci 11 06321 g007
Figure 8. Number of available satellites during the real driving.
Figure 8. Number of available satellites during the real driving.
Applsci 11 06321 g008
Figure 9. The influence of jump parameters on accuracy rate, false alarm rate and missing alarm rate.
Figure 9. The influence of jump parameters on accuracy rate, false alarm rate and missing alarm rate.
Applsci 11 06321 g009
Figure 10. The impact of jump parameter settings: (a) the impact of jump verification window; (b) the impact of jump verification threshold ( n j = 2 ).
Figure 10. The impact of jump parameter settings: (a) the impact of jump verification window; (b) the impact of jump verification threshold ( n j = 2 ).
Applsci 11 06321 g010
Figure 11. The influence of slow-change parameters on accuracy rate, false alarm rate and missing alarm rate.
Figure 11. The influence of slow-change parameters on accuracy rate, false alarm rate and missing alarm rate.
Applsci 11 06321 g011
Figure 12. The impact of slow-change parameter settings: (a) the impact of slow-change verification window; (b) the impact of slow-change verification threshold ( n s = 5 ).
Figure 12. The impact of slow-change parameter settings: (a) the impact of slow-change verification window; (b) the impact of slow-change verification threshold ( n s = 5 ).
Applsci 11 06321 g012
Figure 13. The position error of the three algorithms on data set Ψ ˜ 2 .
Figure 13. The position error of the three algorithms on data set Ψ ˜ 2 .
Applsci 11 06321 g013
Figure 14. The trajectories of the three algorithms on data set Ψ ˜ 2 : (a) EKF; (b) RIO; (c) ACNA.
Figure 14. The trajectories of the three algorithms on data set Ψ ˜ 2 : (a) EKF; (b) RIO; (c) ACNA.
Applsci 11 06321 g014
Figure 15. The position error of the three algorithms on data set Ψ ˜ 3 .
Figure 15. The position error of the three algorithms on data set Ψ ˜ 3 .
Applsci 11 06321 g015
Figure 16. The trajectories of the three algorithms on data set Ψ ˜ 3 : (a) EKF; (b) RIO; (c) ACNA.
Figure 16. The trajectories of the three algorithms on data set Ψ ˜ 3 : (a) EKF; (b) RIO; (c) ACNA.
Applsci 11 06321 g016
Figure 17. The position error of the three algorithms on data set Ψ ˜ 4 .
Figure 17. The position error of the three algorithms on data set Ψ ˜ 4 .
Applsci 11 06321 g017
Figure 18. The trajectories of the three algorithms on data set Ψ ˜ 4 : (a) EKF; (b) RIO; (c) ACNA.
Figure 18. The trajectories of the three algorithms on data set Ψ ˜ 4 : (a) EKF; (b) RIO; (c) ACNA.
Applsci 11 06321 g018
Table 1. List of sensor simulation parameters.
Table 1. List of sensor simulation parameters.
SensorModelSensor ErrorSample Rate
RTKMXT906AHorizontal position accuracy RTK 0.025 m1 Hz
GNSSNEO-6MHorizontal position accuracy GPS 2.5 m1 Hz
AccelerometerMPU9250Noise power Spectral Density 300   μ g / Hz 10 Hz
GyroscopeMPU9250Rate Noise Spectral Density 0.01 ° / s / Hz 10 Hz
MagnetometerMPU9250Sensitivity Scale Factor 0.6   μ T / LSB 10 Hz
DDEJGB37-520Max Encoder 49510 Hz
Table 2. Initial state parameters of the trajectory.
Table 2. Initial state parameters of the trajectory.
TypeInitial State of the Trajectory
Lan/Lon/Height40.0702° N/116.2747° E/54.63 m
Heading/Roll/Yaw0°, 0°, 248°
Table 3. East, north and relative positioning accuracy and maximum error of the three algorithms on data set Ψ ˜ 2 .
Table 3. East, north and relative positioning accuracy and maximum error of the three algorithms on data set Ψ ˜ 2 .
Algorithm
σ east / m
σ north / m
σ / m
E MaxEast / m
E MaxNorth / m
E Max / m
GNSS 10.179.8813.4721.1120.8329.42
EKF9.929.8013.2421.0820.8328.89
RIO1.211.861.392.485.795.80
ACNA1.061.631.142.014.945.02
Table 4. The east, north and relative positioning accuracy and maximum error of the three algorithms in the data set Ψ ˜ 3 .
Table 4. The east, north and relative positioning accuracy and maximum error of the three algorithms in the data set Ψ ˜ 3 .
Algorithm
σ east / m
σ north / m
σ / m
E MaxEast / m
E MaxNorth / m
E Max / m
GNSS24.6924.5534.2776.3975.97107.73
EKF23.5623.5232.7673.3373.52103.84
RIO5.145.446.7711.7613.7517.06
ACNA1.071.661.172.015.055.12
Table 5. The east, north and relative positioning accuracy and maximum error of the three algorithms in the data set Ψ ˜ 4 .
Table 5. The east, north and relative positioning accuracy and maximum error of the three algorithms in the data set Ψ ˜ 4 .
Algorithm
σ east / m
σ north / m
σ / m
E MaxEast / m
E MaxNorth / m
E Max / m
GNSS 8.678.7811.8025.3424.7035.39
EKF7.808.0410.6522.8922.4132.03
RIO5.115.406.7512.0113.9317.37
ACNA0.780.970.812.013.383.38
Table 6. σ , γ and ς for the three algorithms.
Table 6. σ , γ and ς for the three algorithms.
Algorithm
σ
σ ˜
γ
ς
GNSS 0.5911.8020.01/
EKF0.5310.6520.16−0.74%
RIO0.536.7512.7736.19%
ACNA0.540.811.4992.53%
Table 7. Detection latency for the three algorithms.
Table 7. Detection latency for the three algorithms.
AlgorithmAfter GNSS
Jump Attacks
After GNSSS
low-Change Attacks
EKF//
RIO1 s27 s
ACNA2 s5 s
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Song, J.; Wu, H.; Guo, X.; Li, S.; Gong, Y.; Zhang, Y.; Li, Y. Credible Navigation Algorithm for GNSS Attack Detection Using Auxiliary Sensor System. Appl. Sci. 2021, 11, 6321. https://doi.org/10.3390/app11146321

AMA Style

Song J, Wu H, Guo X, Li S, Gong Y, Zhang Y, Li Y. Credible Navigation Algorithm for GNSS Attack Detection Using Auxiliary Sensor System. Applied Sciences. 2021; 11(14):6321. https://doi.org/10.3390/app11146321

Chicago/Turabian Style

Song, Jiahui, Haitao Wu, Xuqiang Guo, Siyuan Li, Yingkui Gong, Yang Zhang, and Yaping Li. 2021. "Credible Navigation Algorithm for GNSS Attack Detection Using Auxiliary Sensor System" Applied Sciences 11, no. 14: 6321. https://doi.org/10.3390/app11146321

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop