Global positioning system spoofing detection and positioning recovery method based on pseudo-range residual error
By initializing system parameters, estimating inertial sensors, and detecting pseudorange residuals, the problem of identifying GPS spoofing data is solved, and meter-level positioning accuracy recovery is achieved in spoofing environments, making it suitable for navigation and positioning systems.
Patent Information
- Application Number
- CN202210820630.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-13
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2042-07-13
AI Technical Summary
Existing technologies cannot effectively distinguish between GPS spoofed data and real data, and in a spoofed environment, they cannot fully utilize real and valid data for positioning calculations, resulting in large positioning errors.
By initializing system parameters, position estimation is performed using inertial sensors, satellite pseudorange information is calibrated, pseudorange residuals are calculated to detect spoofed data, and positioning recovery is performed using real satellite information and inertial sensor measurement information. A Kalman filter is used for data fusion.
It achieves accurate detection of spoofed data in GPS spoofing environments, optimizes positioning errors using real data, controls them within the meter range, requires no hardware modifications, has low algorithm complexity, and is suitable for high-speed motion control systems.
Smart Images

Figure CN115201856B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of information security technology, and particularly relates to navigation and positioning technology. It mainly relates to a method for detecting and restoring the location of a Global Positioning System based on pseudorange residuals. Background Technology
[0002] With the rapid development of mobile communications and automobiles, Global Positioning System (GPS) technology and its applications have not only been widely used in the military field but have also penetrated into all walks of life, providing great convenience to our daily lives. However, due to weak signal strength, lack of encryption measures, and susceptibility to interference, GPS signals are easily deceived by attackers. Attacks on GPS receivers mainly fall into two categories: jamming and spoofing. The former simply disrupts legitimate signals by sending noise into the GPS frequency, preventing the receiver from calculating its position. Jamming attacks are easily detected because they cause the receiver to lose lock, thus revealing their presence. Spoofing attacks, on the other hand, are handled by the adversary. They generate and send deceptive signals to trick the GPS receiver. Because attackers can force the receiver to believe it is in a different location than it actually is, spoofing allows attackers to lead the victim off course. Using devices such as software-defined radio, precise navigation can be disrupted by sending false GPS signals, affecting the receiver's position, rate, and time. This can cause the receiver to believe and rely on signals containing falsified location information and begin incorrect navigation.
[0003] At each sampling time, the receiver receives data from M independently operating GPS satellites. Let i ∈ {1, 2, ..., M} represent the sequence number of the current satellite data, and k ∈ {1, 2, ..., N} represent the sequence number of the current sampling. In a GPS spoofing environment, the pseudorange information received for satellite i at the k-th sampling time can be represented as...
[0004]
[0005] Where ρ i,k This represents the pseudorange measurement value from the receiver to satellite i at the k-th sampling time; denoted by , where d represents the geometric distance from the receiver to satellite i at the k-th sampling point; d represents the receiver error; α is a constant representing the compensation of the measured values using relevant parameters in the navigation message to eliminate ionospheric errors, satellite clock errors, and satellite ephemeris errors; λ represents the bias data injected by a malicious attacker, where a value of 0 indicates a non-spoofing signal, and a non-zero value indicates a spoofing signal; v g It is zero-mean white noise.
[0006] To date, the field of navigation and positioning technology has achieved many research successes in GPS detection by taking advantage of the fact that inertial navigation devices are not easily attacked. However, the following problems still exist: 1) Most studies are based on the data after GPS positioning calculation, and it is impossible to determine which of the specific satellite data has been maliciously attacked and which is real and valid; 2) After the receiver detects that the current GPS data is spoofed data, it cannot effectively use the real satellite data that has not been spoofed to participate in the positioning calculation. Summary of the Invention
[0007] This invention addresses the problem in existing technologies that fail to distinguish between spoofed and genuine data and do not fully utilize valid data. It provides a GPS spoofing detection and positioning recovery method based on pseudorange residuals, comprising the following steps: S1: Initialize system parameters, determine the receiver's initial position information and clock error, and acquire the latest navigation ephemeris information; S2: Use inertial sensor measurement information to perform a priori estimation of the current receiver position; S3: Acquire GPS measurement information and calibrate the satellite pseudorange information; S4: Obtain the estimated value of the satellite pseudorange using the navigation ephemeris information acquired in step S1 and the estimated receiver position acquired in step S2; S5: Use the residual between the satellite pseudorange measurement value obtained in step S3 and the estimated value obtained in step S4 to determine whether the currently received satellite data is spoofed data; if the cumulative test statistics data is greater than a predetermined threshold, the current data is spoofed data; otherwise, it is genuine data; S6: The receiver uses the genuine satellite information and inertial sensor measurement information to achieve positioning recovery. This invention can detect GPS spoofing behavior and fully utilize the valid information in GPS data to comprehensively optimize positioning errors.
[0008] To achieve the above objectives, the technical solution adopted by this invention is: a method for detecting and restoring GPS spoofing based on pseudorange residuals, comprising the following steps:
[0009] S1: Initialize system parameters, determine the initial position information and clock error of the receiver, and obtain the latest navigation ephemeris information;
[0010] S2: Use the measurement information from the inertial sensor to make a priori estimation of the current position of the receiver;
[0011] S3: Acquire GPS measurement information and calibrate satellite pseudorange information;
[0012] S4: Obtain the estimated value of the satellite pseudorange using the navigation ephemeris information obtained in step S1 and the estimated position of the receiver obtained in step S2.
[0013] S5: Using the residual between the satellite pseudorange measurement value obtained in step S3 and the estimated value obtained in step S4, determine whether the currently received satellite data is deceptive data; if the cumulative test statistics data is greater than the predetermined threshold, then the current data is deceptive data; otherwise, it is real data.
[0014] S6: The receiver uses real satellite information and inertial sensor measurement information to achieve positioning recovery.
[0015] Compared with existing technologies, this invention has the following advantages: 1) This method uses raw satellite data for spoofing detection, rather than judging the position data calculated by GPS positioning, which ensures that using GPS data for position calculation will not introduce erroneous data; 2) In the environment of GPS spoofing, this method can distinguish the real and valid parts of the received satellite data. By making full use of this set of data to comprehensively optimize the positioning error, the positioning error can be controlled at the meter level; 3) This method is mainly innovative in software, without the need to modify existing hardware devices, and the algorithm has low complexity, meeting the high-speed sampling requirements of motion control systems. Attached Figure Description
[0016] Figure 1 This is a schematic diagram of the navigation and positioning system used in the method of the present invention;
[0017] Figure 2 This is a comparison chart showing the performance of positioning errors under a fixed pseudorange bias attack condition using the method of this invention and a deception-free detection method.
[0018] Figure 3 This is a comparison chart showing the performance of the positioning error under the growing pseudorange bias attack condition using the method of this invention and the deception-free detection method.
[0019] Figure 4 A comparison chart showing the change of single-point localization error over time after running the method of this invention when subjected to different incremental pseudorange bias errors injected by attackers.
[0020] Figure 5 This is a comparison chart showing the change of the fused positioning error over time after running the method of this invention when subjected to different incremental pseudorange bias errors injected by attackers. Detailed Implementation
[0021] The present invention will be further illustrated below with reference to the accompanying drawings and specific embodiments. It should be understood that the following specific embodiments are for illustrative purposes only and are not intended to limit the scope of the invention.
[0022] Example 1
[0023] A method for GPS spoofing detection and positioning recovery based on pseudorange residuals. Figure 1This is a schematic diagram of the navigation and positioning system used in this embodiment. The method specifically includes the following steps:
[0024] Step S1: Initialize system parameters, including the system state matrix Φ, input matrix Γ, system noise variance Q, measurement noise variance R, and window size of the cumulative measurement statistics. Detection threshold Determine the receiver's initial position information r0 and the receiver's clock error d0, and obtain the latest navigation ephemeris information eData.
[0025] Step S2: Using the measurement information from the inertial sensor (IMU), perform a priori estimation of the current receiver position.
[0026]
[0027] Where x k =[δr k ,δv k ,δe k ] T r represents the change in the system relative to the initial time at the k-th sampling point. k This indicates the receiver's location information, v k This indicates the receiver's speed information, e k This represents the receiver's attitude information, u k =[δf k ,δω k ] T f represents the system input at the (k-1)th sampling time. k ω represents the specific force of an inertial system. k This represents the angular velocity of an inertial system.
[0028] Step S3: Acquire GPS measurement information and calibrate the satellite pseudorange information. After calibration, the measured value ρ of the pseudorange in GPS... i for:
[0029] ρ i =|r k r i,k |+d+α+v g
[0030] Where i = 1, 2, ... represents the satellite number being received, k represents the k-th sample taken by the receiver, and r k It is the position of the receiver in the geocentric coordinate system at the k-th sampling time, r i,k It is the component of the i-th satellite in the geocentric-ground-fixed coordinate system at the k-th sampling time, d = cδt s,clkα is the receiver clock deviation, c is the speed of light, and α is a known constant representing the ionospheric error, tropospheric error, satellite clock error, and ephemeris error in the measurement.
[0031] Using the Newton-Raphson method, the above equations can be linearized and solved iteratively. With r0 = (x0, y0, z0) and d0 as initial values for the receiver position and receiver clock offset, ρ... i,k ρ is the corrected pseudorange measurement value of satellite i at the k-th sampling point. 0,k This is the corresponding approximation based on the initial x0 and d0 at the k-th sample. Then, we can obtain...
[0032] δρ i,k =ρ i,k -ρ 0,k
[0033] =f i ·δr k +δd+ε i,k ,
[0034]
[0035] Where δd=d k -d0 is a constant, ε i,k It is a higher-order residual. We now have more than four linear equations to solve for the unknown: δr k And δd. By linking multiple equations, we can obtain the following equation.
[0036]
[0037] in, Determined by the sampled satellite data, G * It is a set of f i The geometric matrix formed by these equations, where ε is the measurement error vector, is denoted by δr. The above equation is solved using the least squares method (LSM) to obtain δr. k And δd.
[0038] Step S4, using the latest navigation ephemeris information eData and the receiver's estimated position. Obtain an estimate of the satellite pseudorange. From the navigation ephemeris information eData, we can calculate the received satellite coordinates r under ECEF. i Therefore, an estimate of the pseudorange between the receiver and the satellite can be calculated.
[0039]
[0040] Step S5: Use the residual between the satellite pseudorange measurement and the estimated value to determine whether the currently received satellite data is spoofed data.
[0041] In a GPS spoofing environment, attackers deceive the receiver by modifying the pseudorange value in the GPS measurement data. In this case, the GPS pseudorange value in the receiver becomes...
[0042]
[0043] in This can be considered a constant, where λ represents the bias data injected by a malicious attacker. A value of 0 for λ indicates a non-spoofing signal, while a non-zero value indicates a spoofing signal. Define the error variable γ for satellite i at the k-th sampling point. i,k for
[0044]
[0045] Considering that we do not know whether the currently received satellite data is spoofed data, and that the changes in r and d can be ignored when the interval between two positioning is very short, we use the receiver error d at the (k-1)th sampling time for calculation.
[0046] therefore
[0047] γ i,k =v g +λ
[0048] In the absence of attack, the error γ i,k It follows a Gaussian distribution with a mean of zero. If an attack occurs, the injected pseudorange bias λ will become a large value to achieve the purpose of deception. Therefore, the cumulative test statistic q at the k-th sampling time... i,k Defined as error γ i,k Sum of squares over time
[0049]
[0050] The proposed deception detector is used to examine test statistics q i,k Is it less than a predetermined threshold, i.e.
[0051]
[0052] Assuming n is the number of GPS measurement updates, what is the test statistic q at the k-th GPS measurement update in the absence of attacks? i,k It is a chi-square distribution with kn degrees of freedom. For a given false alarm requirement, the threshold... It is determined by the inverse chi-square cumulative distribution function. If An error alert will be detected, indicating that the currently received data from the i-th satellite is erroneous data that was injected.
[0053] By examining the collected satellite data, we can determine which of the currently acquired GPS data is spoofed and which is not. Next, we select the non-spoofed data and use the least squares method to calculate... Save δd for iterative calculation.
[0054] Step S6: The receiver utilizes real satellite information and inertial sensor measurement information to achieve positioning recovery. We use a Kalman filter to integrate IMU data and real satellite data to achieve the positioning recovery function. In the data fusion stage, the raw data from IMU and GPS are processed in a unified Kalman filter, where the coupling between the IMU process model and the GPS measurement model can be achieved by first converting the state vector δr... k The process of obtaining this information through association is as follows:
[0055] (1) Determine the state vector:
[0056] (2) Calculate the prior estimate of the state vector based on the Kalman state equation:
[0057] (3) Calculate the prior estimate covariance matrix at time k:
[0058] (4) Optimize the estimator to obtain the Kalman gain matrix at time k:
[0059] (5) Calculate the posterior estimate of the state vector:
[0060] (6) Update the covariance matrix:
[0061] Based on the receiver's initial position information r0, the receiver's position update at the k-th sample can be obtained as: r k =r0+δr k Then repeat steps 2 through 6 until the system finishes running.
[0062] Test comparison
[0063] To verify the actual beneficial effects of the proposed method, we ran the steps of both the proposed scheme and the deception-free detection method under different parameter environments, as detailed below. Figures 2-5 As shown, Figure 2 A comparison chart showing the change in positioning error over time when the proposed deception detection and positioning recovery method and the non-deception detection method are run under the condition of a fixed pseudorange bias error λ = 200m injected by an attacker. Figure 3To illustrate the difference in positioning error over time between the proposed deception detection and positioning recovery methods and the non-deception detection method when subjected to an attacker-injected increasing pseudorange bias error Δλ = 1m, the following graphs are used. Figures 2-3 It can be seen that the GPS single-point positioning error of the method proposed in this patent is controlled within 20m. From the final position information after fusion with IMU, the maximum error does not exceed 2m, which can reflect the position information of the actual trajectory.
[0064] Figure 4 A comparison graph showing the change of single-point localization error over time after running the proposed deception detection and localization recovery method when subjected to different increasing pseudorange bias errors injected by attackers. Figure 5 To illustrate the time-varying changes in localization error after running the proposed deception detection and localization recovery method under different injected incremental pseudorange bias errors by attackers, a comparative graph of the fused localization error is presented. Figure 4 and Figure 5 It can be seen that the larger the attacker's increment Δλ is set, the faster the pseudorange error changes, reaching the threshold set by the cumulative test statistics first. Therefore, the injected spoofing data is detected earlier. Moreover, as time increases, the distance error between the GPS-solved position and the true trajectory remains within 30m and does not increase with time. The fused position error remains within 1.8m. The results show that the method proposed in this patent can easily detect GPS spoofing behavior and can control the positioning error to the meter level under GPS spoofing conditions.
[0065] It should be noted that the above content merely illustrates the technical concept of the present invention and should not be construed as limiting the scope of protection of the present invention. For those skilled in the art, various improvements and modifications can be made without departing from the principle of the present invention, and all such improvements and modifications fall within the scope of protection of the claims of the present invention.
Claims
1. A method for GPS spoofing detection and positioning recovery based on pseudorange residuals, characterized in that, Includes the following steps: S1: Initialize system parameters, determine the initial position information and clock error of the receiver, and obtain the latest navigation ephemeris information; S2: Use the measurement information from the inertial sensor to make a priori estimation of the current position of the receiver; S3: Acquire GPS measurement information and calibrate satellite pseudorange information; S4: Obtain the estimated value of the satellite pseudorange using the navigation ephemeris information obtained in step S1 and the estimated position of the receiver obtained in step S2. S5: Using the residual between the satellite pseudorange measurement value obtained in step S3 and the estimated value obtained in step S4, determine whether the currently received satellite data is spoofing data; if the cumulative test statistics data is greater than a predetermined threshold, then the current data is spoofing data; otherwise, it is real data; where, No. A satellite in Cumulative test statistic at each sampling time Defined as pseudorange error Sum of squares over time ; Among them, the first Error variables of each satellite Defined as ; In a GPS spoofing environment, attackers deceive the receiver by modifying the pseudorange value in the GPS measurement data. In this case, the GPS pseudorange value in the receiver becomes... in Treated as a constant, This indicates biased data injected by a malicious attacker. A value of 0 indicates a non-spoofing signal, while a non-zero value indicates a spoofing signal; in the absence of an attack, at the... Test statistics during the next GPS measurement update The degree of freedom is The chi-square distribution; for a given false alarm requirement, the threshold It is determined by the inverse chi-square cumulative distribution function; if This indicates that the currently received number is the [number]. The satellite data was injected with erroneous data; it was deceptive data. S6: The receiver uses real satellite information and inertial sensor measurement information to achieve positioning recovery.
2. The GPS spoofing detection and positioning recovery method based on pseudorange residuals as described in claim 1, characterized in that, In step S1, the initialized system parameters include at least the system's state matrix. Input matrix Variance of system noise Measure the variance of noise Window size of cumulative measurement statistics Detection threshold Determine the initial position information of the receiver. Clock error with receiver Get the latest navigation ephemeris information .
3. The GPS spoofing detection and positioning recovery method based on pseudorange residuals as described in claim 2, characterized in that: In step S2, the prior estimation of the current receiver position The calculation method is as follows: in, This represents the initial state matrix of the system; This represents the initial input matrix of the system.
4. The GPS spoofing detection and positioning recovery method based on pseudorange residuals as described in claim 3, characterized in that: After calibrating the satellite pseudorange information in step S3, the measured value of pseudorange in the Global Positioning System... for: ; in, Indicates the received satellite number, Indicates the receiver's number Secondary sampling; It is the receiver number The position in the geocentric-geostatic coordinate system at the time of the next sampling; It is the first The satellite in the The components in the geocentric-geo-fixed coordinate system during the second sampling; It is the deviation of the receiver clock; It's the speed of light; It is a constant; use The method involves linearizing the above equations and solving them iteratively to obtain... in, and These are the initial values for the receiver position and receiver clock offset; It is a satellite In the Corrected pseudorange measurement during sampling; Based on the initial and The The corresponding approximate value at the time of sampling; It is a constant. It is a higher-order residual; Each time the receiver samples, it can obtain data from more than four GPS satellites. This can be achieved by simultaneously solving multiple equations. ; in, Determined by the sampled satellite data, It is a group The matrix formed It is the measurement error vector, obtained by solving using the least squares method (LSM). and .
5. The GPS spoofing detection and positioning recovery method based on pseudorange residuals as described in claim 4, characterized in that: The estimated value of satellite pseudorange in step S4 ; in, for Prior estimation of receiver position during the next sampling.
6. The GPS spoofing detection and positioning recovery method based on pseudorange residuals as described in claim 5, characterized in that: In step S6, a Kalman filter is used to integrate inertial sensor data and real satellite data. During the data fusion stage, the raw data from the inertial sensor and the GPS are processed in a unified Kalman filter. The coupling between the inertial sensor process model and the GPS measurement model is achieved through the state vector... The process of obtaining this information through association is as follows: 1) Determine the state vector: ; 2) Calculate the prior estimate of the state vector based on the Kalman state equations: ; 3) Calculate the prior estimate covariance matrix at time k: ; 4) Optimize the estimator to obtain the first... Kalman gain matrix at time step: ; 5) Calculate the posterior estimate of the state vector: ; 6) Update the covariance matrix: ; Based on the receiver's initial position information We can obtain the receiver position update at the k-th sampling point as follows: Then repeat steps 2) to 6) until the system finishes running.
Citation Information
Patent Citations
Beidou / inertia integrated anti-deception-jamming method based on Kalman filtering estimation
CN110715660A