A GNSS anti-spoofing method and system for multi-constellation ionospheric delay adaptive detection

CN122151117BActive Publication Date: 2026-08-18CHENGDU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202610535522.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-04-22
Publication Date
2026-08-18
Estimated Expiration
2046-04-22

AI Technical Summary

Technical Problem

[0008]本发明的目的在于针对现有技术单星座检测易失效、固定阈值适配性差、历史数据易被异常值污染的技术问题,提供了一种多星座电离层延迟自适应检测的GNSS防欺骗方法及系统,通过多星座双频数据融合解析、电离层延迟精准计算、滑动窗口式自适应阈值生成、多维度异常判决的技术手段,结合轻量化嵌入式硬件架构实现,在不增加硬件成本的前提下,实现 GNSS 欺骗信号的高可靠性、高适应性检测,同时保证算法的实时性和硬件兼容性

Benefits of technology

1.构建多星座联合检测模型,解决了单一星座检测易失效的问题:首次将不同星座,如GPS、北斗、伽利略三个全球星座的双频电离层延迟数据进行融合检测,设计跨星座的异常判决规则,攻击者需同时伪造多个星座的多频信号并精准模拟各星座的电离层延迟物理特性,攻击难度呈指数级增加,大幅提升了GNSS 防欺骗检测的鲁棒性,欺骗识别率达到99%以上。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122151117B_ABST
    Figure CN122151117B_ABST
Patent Text Reader

Abstract

The application discloses a GNSS anti-spoofing method and system for multi-constellation ionospheric delay adaptive detection, and belongs to the technical field of satellite navigation. The method comprises the following steps: extracting effective dual-frequency pseudorange data in different constellations from observation data according to signal types; calculating ionospheric delay values of each satellite in each constellation based on preset frequency ratio factors of each constellation; assigning a sliding window buffer to each satellite, dynamically generating a detection threshold interval; judging the signal abnormal state of the current satellite, and counting the number of continuous abnormalities to obtain a single-satellite abnormality preliminary determination result; based on the single-satellite abnormality preliminary determination result, counting the proportion of abnormal satellites in each constellation and the number of continuous abnormalities of each satellite, performing global abnormality judgment, and generating an alarm information when the judgment is triggered. The application improves the robustness, environmental adaptability and reliability of GNSS anti-spoofing detection through multi-constellation joint detection, sliding window adaptive threshold and abnormal value filtering mechanism, and does not need to increase the hardware cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of satellite navigation technology, and in particular to a GNSS anti-spoofing method and system for multi-constellation ionospheric delay adaptive detection. Background Technology

[0002] Global Navigation Satellite System (GNSS) provides core positioning, navigation, and timing support for critical infrastructure such as transportation, power grids, finance, and surveying. Its positioning accuracy and security directly determine the operational stability of these infrastructures. However, GNSS signals are vulnerable to spoofing attacks. GNSS spoofing attacks, as a highly covert jamming method, transmit counterfeit signals that closely resemble real satellite signals, inducing receivers to lock onto the false signals and output incorrect position, velocity, and time information, posing a serious security threat to scenarios relying on GNSS.

[0003] To counter such attacks, the industry has developed various physical layer anti-spoofing detection technologies. Among them, dual-frequency pseudorange calculation of ionospheric delay is a low-cost and highly effective detection method. Its core principle is that the real ionospheric delay is constrained by the physical characteristics of the ionosphere and has a definite range of numerical variation, while spoofing signals cannot accurately simulate the physical characteristics of ionospheric delay at different constellations and frequencies. By judging the rationality of the ionospheric delay, spoofing signals can be effectively identified. Currently, high-precision GNSS positioning modules such as UM982 have the ability to output OBSVMA observation data containing dual-frequency pseudorange information from multiple constellations such as GPS, BeiDou, and Galileo, providing a data foundation for multi-constellation ionospheric delay fusion detection and hardware support for the construction of embedded anti-spoofing systems.

[0004] However, existing anti-spoofing detection technologies based on ionospheric delay still have the following defects and shortcomings: 1. Detection relies on a single constellation, resulting in poor robustness against spoofing: Existing dual-frequency ionospheric delay detection schemes are mostly designed for the GPS single constellation and do not conduct joint detection of ionospheric delay data from global constellations such as BeiDou and Galileo. If an attacker only forges GPS constellation signals while keeping other constellation signals normal, the existing detection methods will directly fail and will be unable to identify spoofing behavior.

[0005] 2. The use of fixed detection thresholds results in insufficient environmental adaptability: Ionospheric delay is affected by various factors such as geographical latitude, time, solar activity, and seasonal changes, and the actual value can vary by tens of meters. Existing solutions use fixed threshold ranges (such as -5m to 50m) for detection, which cannot adapt to the fluctuations in ionospheric delay under different environments. This can easily lead to false alarms in high-latitude regions and missed detections in low-latitude regions and during periods of high solar activity.

[0006] 3. Lack of outlier filtering mechanism, historical data is easily contaminated: When statistically analyzing historical ionospheric delay data, existing technologies do not filter out abnormal detection values. If abnormal ionospheric delay values ​​are caused by transient signal interference, they will directly contaminate the historical statistical baseline, leading to deviations in subsequent threshold calculations and further reducing detection accuracy.

[0007] 4. Lack of multi-constellation data fusion, resulting in a low attack threshold: Existing technologies do not have a joint decision-making logic for ionospheric delay data from multiple constellations such as GPS, BeiDou, and Galileo. Attackers only need to forge multi-frequency signals from a single constellation to achieve deception, without having to consider the consistency of physical characteristics of multiple constellations, making the attack easy to carry out. Summary of the Invention

[0008] The purpose of this invention is to address the technical problems of existing single-constellation detection being prone to failure, poor adaptability of fixed thresholds, and susceptibility of historical data to outlier contamination. It provides a GNSS anti-spoofing method and system based on multi-constellation ionospheric delay adaptive detection. Through multi-constellation dual-frequency data fusion and analysis, accurate ionospheric delay calculation, sliding window adaptive threshold generation, and multi-dimensional anomaly judgment, combined with a lightweight embedded hardware architecture, it achieves highly reliable and adaptable detection of GNSS spoofing signals without increasing hardware costs, while ensuring the real-time performance of the algorithm and hardware compatibility.

[0009] The objective of this invention is achieved through the following technical solution: A first aspect of the present invention provides a GNSS anti-spoofing method for multi-constellation ionospheric delay adaptive detection, comprising the following steps: S1. Acquire observation data output by the Global Navigation Satellite System; S2. Extract effective dual-frequency pseudorange data from different constellations from the observation data according to the signal type, and independently classify and store the effective dual-frequency pseudorange data of different constellations; S3. Based on the preset frequency ratio factor of each constellation and the effective dual-frequency pseudorange data, calculate the ionospheric delay value of each satellite in each constellation; S4. Allocate a sliding window buffer for each satellite, and dynamically generate a detection threshold range based on the filling status of the sliding window buffer; combine the current ionospheric delay value and the detection threshold range to determine the current signal anomaly status of the satellite, and count the number of consecutive anomalies to obtain a preliminary judgment result of single-satellite anomaly. S5. Based on the preliminary judgment results of the single-satellite anomalies, the proportion of abnormal satellites in each constellation and the number of consecutive anomalies of a single satellite are counted, a global anomaly judgment is executed, and an alarm message is generated when the judgment is triggered.

[0010] In some embodiments, the step of extracting effective dual-frequency pseudorange data from different constellations from the observation data according to the signal type includes: The frame parsing function is called to split the data frames of the observation data into fields, extracting the constellation type, PRN number, pseudorange value, and signal type of each satellite; and invalid fields in the data frames are removed. Identify the dual-frequency combinations of each constellation based on the signal type, and establish independent array data structures for different constellations.

[0011] In some embodiments, the ionospheric delay value in step S3 is calculated using the following formula: in, Indicates the ionospheric delay value. This represents the pseudorange value at a high frequency point on the satellite. This represents the pseudorange value at the low frequency point of the satellite. This is the preset frequency ratio factor for the corresponding constellation.

[0012] In some embodiments, the sliding window buffer is a floating-point sliding window buffer and is updated using a first-in-first-out (FIFO) rule.

[0013] In some embodiments, dynamically generating the detection threshold range based on the fill state of the sliding window buffer specifically includes: When the sliding window buffer is not full, a preset fixed threshold range is used as the detection threshold range; When the sliding window buffer is full, the mean μ and standard deviation σ of all ionospheric delay values ​​within the sliding window buffer are calculated, and a dynamic detection threshold interval is generated. [μ-kσ,μ+kσ] Where k is the confidence coefficient, and the value of the confidence coefficient k is dynamically adjusted according to the magnitude of the standard deviation σ in order to adaptively scale the dynamic detection threshold range.

[0014] In some embodiments, determining the current satellite signal anomaly state by combining the current ionospheric delay value and the detection threshold range includes: The current ionospheric delay value of the satellite is compared with the detection threshold range. If it exceeds the detection threshold range, the satellite is marked as having a signal anomaly, and the number of consecutive anomalies is accumulated. If it falls within the detection threshold range, the number of consecutive anomalies of the satellite is reset to zero.

[0015] In some embodiments, the global anomaly determination specifically includes: A GNSS spoofing signal is determined to be detected if any of the following conditions are met: Condition 1: If the proportion of abnormal satellites in any constellation is greater than or equal to the preset abnormal proportion threshold, then constellation-level deception is determined to exist; Condition 2: If the ionospheric delay value of any satellite exceeds the preset detection threshold range for a consecutive number of times, then it is determined that a single-satellite deception exists.

[0016] A second aspect of the present invention provides a GNSS anti-spoofing system with multi-constellation ionospheric delay adaptive detection, comprising: The GNSS high-precision positioning module is used to acquire observation data output by the Global Navigation Satellite System. An embedded microcontroller, connected to the GNSS high-precision positioning module, is configured to perform the method described in the first aspect.

[0017] In some embodiments, the embedded microcontroller includes: The multi-constellation dual-frequency pseudorange analysis module is used to extract effective dual-frequency pseudorange data from different constellations from the observation data according to the signal type, and to independently classify and store the effective dual-frequency pseudorange data of different constellations. The ionospheric delay calculation module is used to calculate the ionospheric delay value of each satellite in each constellation based on the preset frequency ratio factor of each constellation and the effective dual-frequency pseudorange data. The single-satellite anomaly preliminary judgment module is used to allocate a sliding window buffer for each satellite, dynamically generate a detection threshold range based on the filling status of the sliding window buffer, judge the signal anomaly status of the current satellite by combining the current ionospheric delay value and the detection threshold range, and count the number of consecutive anomalies to obtain the single-satellite anomaly preliminary judgment result. The global anomaly judgment and alarm module is used to calculate the proportion of abnormal satellites in each constellation and the number of consecutive anomalies of a single satellite based on the preliminary judgment results of the single-satellite anomalies, execute global anomaly judgment, and generate alarm information when the judgment is triggered.

[0018] In some embodiments, the system further includes a serial communication module, a voltage regulator module, and a host computer; the serial communication module is connected in series between the GNSS high-precision positioning module and the embedded microcontroller, and between the embedded microcontroller and the host computer; the input terminal of the voltage regulator module is connected to an external power supply, and the output terminal is connected to the GNSS high-precision positioning module, the embedded microcontroller, and the serial communication module; the host computer is used to receive the alarm information.

[0019] It should be further noted that the technical features corresponding to the above-mentioned options can be combined or substituted to form new technical solutions without conflict.

[0020] Compared with the prior art, the beneficial effects of the present invention are: 1. A multi-constellation joint detection model was constructed, which solved the problem of easy failure of single-constellation detection: For the first time, dual-frequency ionospheric delay data of different constellations, such as GPS, Beidou and Galileo, were fused for detection. Cross-constellation anomaly judgment rules were designed. Attackers need to forge multi-frequency signals of multiple constellations at the same time and accurately simulate the physical characteristics of ionospheric delay of each constellation. The attack difficulty increases exponentially, which greatly improves the robustness of GNSS anti-spoofing detection and the spoofing recognition rate reaches more than 99%.

[0021] 2. A sliding window adaptive statistical threshold is designed to solve the problem of insufficient environmental adaptability of fixed thresholds: the mean and standard deviation are calculated based on the historical effective data of satellite ionospheric delay, and the detection threshold range is dynamically generated. It can automatically adapt to the fluctuation of ionospheric delay under different environments such as geographical latitude, solar activity, and seasonal changes. Compared with the traditional fixed threshold scheme, the false alarm rate is reduced to below 0.5%, and the environmental adaptability is significantly improved.

[0022] 3. An outlier filtering mechanism was established to solve the problem of historical data being easily contaminated: ionospheric delay outliers are filtered by anomaly marking, and only satellite data that is not marked as anomaly is added to the sliding window. This avoids outliers caused by instantaneous signal interference contaminating the historical statistical baseline, ensures the accuracy of dynamic threshold calculation, and further improves the reliability of spoofing signal detection.

[0023] 4. Lightweight algorithm implementation with no additional hardware cost: All detection calculations are completed based on existing OBSVMA observation data from the GNSS high-precision positioning module, without the need for any additional hardware equipment. The algorithm is compatible with resource-constrained embedded platforms such as STM32F4, and the calculation time for a single full constellation detection is ≤50ms, which is far lower than the 1Hz output frequency of OBSVMA data frames, meeting the real-time detection requirements of embedded systems and facilitating software upgrades and modifications to existing products.

[0024] 5. Excellent compatibility and high engineering promotion value: It can be directly integrated into the firmware of existing high-precision GNSS modules such as UM982, requiring only modification of the software's parsing and detection logic, without any changes to the existing hardware system; it also supports communication with host computers, with rich and standardized alarm information, and can be seamlessly integrated into existing GNSS positioning systems. It has low engineering implementation costs and is suitable for various GNSS application scenarios such as drones, vehicle-mounted RTK, and surveying equipment. Attached Figure Description

[0025] Figure 1 This is a flowchart illustrating a GNSS anti-spoofing method for multi-constellation ionospheric delay adaptive detection, as shown in an embodiment of the present invention. Detailed Implementation

[0026] The technical solution of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0027] It should be noted that the defects in the solutions in the prior art are all the results of the inventors' practice and careful research. Therefore, the discovery process of the above problems and the solutions proposed by the embodiments of this application in the following text should be the inventors' contributions to this application in the process of invention and creation, and should not be understood as technical content known to those skilled in the art.

[0028] Based on the above statements, in order to make the objectives, technical solutions and advantages of the embodiments of this application clearer, the relevant technical terms that may be involved in this invention are explained below: 1. OBSVMA: Observation data frame name, OBServation data VMA, is an observation data format output by GNSS.

[0029] 2. PRN: Pseudo Random Noise, used to identify GNSS satellites.

[0030] 3. bps: bits per second, a unit of data transmission rate.

[0031] 4. GPS L1 / L2: The L1 and L2 frequency bands of the GPS system.

[0032] 5. BeiDou B1 / B2: The B1 and B2 frequency bands of the BeiDou Navigation Satellite System.

[0033] 6. Galileo E1 / E5a: The E1 and E5a frequency bands of the Galileo satellite navigation system.

[0034] 7. USART: Universal Synchronous Asynchronous Receiver Transmitter, a serial communication interface.

[0035] 8. Flash: Flash memory, a type of non-volatile memory.

[0036] In view of the technical problems pointed out in the background art, the present invention provides the following embodiments: In one exemplary embodiment, a GNSS anti-spoofing method based on multi-constellation ionospheric delay adaptive detection is provided, such as... Figure 1 As shown, it includes the following steps: S1. Acquire observation data output by the Global Navigation Satellite System; S2. Extract effective dual-frequency pseudorange data from different constellations from the observation data according to the signal type, and independently classify and store the effective dual-frequency pseudorange data of different constellations; S3. Based on the preset frequency ratio factor of each constellation and the effective dual-frequency pseudorange data, calculate the ionospheric delay value of each satellite in each constellation; S4. Allocate a sliding window buffer for each satellite, and dynamically generate a detection threshold range based on the filling status of the sliding window buffer; combine the current ionospheric delay value and the detection threshold range to determine the current signal anomaly status of the satellite, and count the number of consecutive anomalies to obtain a preliminary judgment result of single-satellite anomaly. S5. Based on the preliminary judgment results of the single-satellite anomalies, the proportion of abnormal satellites in each constellation and the number of consecutive anomalies of a single satellite are counted, a global anomaly judgment is executed, and an alarm message is generated when the judgment is triggered.

[0037] Specifically, this embodiment uses three global constellations—GPS, BeiDou, and Galileo—for illustration. In step S2, the observation data output by the Global Navigation Satellite System is parsed into OBSVMA data frames (frame header and tail verification passed). Then, valid dual-frequency pseudorange data is extracted from the OBSVMA data frames to provide a high-confidence data source for ionospheric delay calculation, solving the problems of unclassified multi-constellation data and invalid data interference detection. Specifically, this includes: The frame parsing function GPS_ParseOBSVMA is called to split the OBSVMA data frame into fields, extracting the four core fields of constellation type (sys_type), PRN number, pseudorange value, and signal type for each satellite, and removing invalid fields such as check bits and redundancy flags in the frame; The dual-frequency combinations of each constellation are accurately identified based on signal type. The identification rules are as follows: GPS: Signal types 0 / 3 / 11 are L1 frequency points, signal types 9 / 17 are L2 frequency points, matching the L1+L2 dual-frequency combination; BeiDou: Signal type matching B1+B2 dual-frequency combination; Galileo: Signal type matching E1+E5a dual-frequency combination; Independent array data structures are established for GPS, BeiDou, and Galileo respectively. The data structure contains three fields: satellite PRN number, L1 / B1 / E1 pseudorange value, and L2 / B2 / E5a pseudorange value. Only the satellite data with valid dual-frequency pseudorange is stored in the array data structure of the corresponding constellation, and invalid satellite data with no dual-frequency pseudorange or pseudorange value of 0 are removed. This step uses a dual filtering method based on constellation and signal type to achieve independent classification and storage of data from multiple constellations, avoiding confusion between different constellation data. At the same time, it removes invalid data, reduces subsequent calculations, and ensures the accuracy of the data source.

[0038] Furthermore, in step S3, based on the effective dual-frequency pseudorange data stored in the constellation array data structure, the ionospheric delay value of each satellite is calculated. Utilizing the physical characteristics of ionospheric delay, a core judgment basis is provided for spoofing signal detection, solving the problem that single-frequency signals cannot reflect the physical characteristics of the ionosphere. Specifically, this includes: In the microcontroller, the frequency ratio factor γ of each constellation is preset. γ is the ratio of the squares of the frequencies of the two frequency points of each constellation, i.e., γ=(f1 / f2). 2 f1 represents the high-frequency point of the satellite, f2 represents the low-frequency point of the satellite, and the frequency ratio factor in each constellation is: GPS L1 / L2: γ≈1.6469; Beidou B1 / B2: γ≈1.672; Galileo E1 / E5a: γ≈1.793.

[0039] The effective satellite data structures of GPS, BeiDou, and Galileo constellations are traversed. For each satellite, the ionospheric delay calculation function is called, and the ionospheric delay value I is solved using the dual-frequency ionospheric delay calculation formula, which is as follows: in: These are pseudorange values ​​for high-frequency satellite points (GPS L1, BeiDou B1, Galileo E1). γ represents the pseudorange value of the low-frequency point of the satellite (GPS L2, BeiDou B2, Galileo E5a), and γ is the preset frequency ratio factor of the corresponding constellation.

[0040] The calculated ionospheric delay value I is bound to the corresponding satellite constellation type and PRN number and stored in the microcontroller's SRAM temporary storage area to form the "constellation-PRN-ionospheric delay value" associated data.

[0041] This step utilizes the delay differences of the ionosphere to satellite signals of different frequencies (the lower the frequency, the greater the delay), and eliminates common errors such as satellite clock bias and receiver clock bias through dual-frequency pseudorange differential calculation to obtain a delay value that only reflects the physical characteristics of the ionosphere. Since spoofing signals cannot accurately simulate the physical laws of ionospheric delay in each constellation, this provides a quantifiable judgment indicator for subsequent anomaly detection.

[0042] Furthermore, in step S4, based on the "constellation-PRN-ionospheric delay value" data bound to the temporary storage area, a dynamic detection threshold range is generated for each satellite. This range adapts to ionospheric delay fluctuations caused by different geographical latitudes, solar activity, and seasonal changes, while filtering outliers to prevent historical data from being contaminated, thus resolving the problems of false alarms / missed alarms with fixed thresholds and distortion of historical benchmarks. Specifically, this includes: For each valid satellite, a floating-point sliding window buffer of length N is allocated in the microcontroller SRAM. N is preferably 40. The sliding window buffer stores the historical ionospheric delay valid data of the satellite in time sequence. When the sliding window buffer is full, it is updated according to the "first-in, first-out" rule, that is, new data is enqueued and the oldest data is dequeued, so that the window always contains the most recent 40 valid detection values ​​of the satellite. Outlier filtering: Determine whether the current satellite is marked as "signal abnormal" (result of the previous round of detection). If it is abnormal, discard the current ionospheric delay value and do not add it to the sliding window buffer. The historical data in the window remains unchanged. If it is normal, add the current ionospheric delay value to the sliding window buffer. If the window data volume exceeds 40, remove the oldest historical data and maintain the window length at 40.

[0043] Two-stage threshold generation: Based on the filling state of the sliding window buffer, a corresponding detection threshold range is generated. The judgment conditions and threshold rules are as follows: During the window not being fully filled stage: the effective data volume within the sliding window is <40, and a conservative fixed threshold range [-5m, 50m] is used for transition detection. This threshold is the conventional physical range of ionospheric delay to ensure the detection effectiveness in the early stage of system power-on. Window filling stage: The effective data volume within the sliding window = 40. A statistical calculation function is invoked to calculate the mean μ and standard deviation σ of the 40 ionospheric delay values ​​within the window in real time, and a dynamic detection threshold interval is generated using a formula. [μ-kσ,μ+kσ] Wherein, k is the confidence coefficient. The value of the confidence coefficient k is dynamically adjusted according to the magnitude of the standard deviation σ to adaptively scale the dynamic detection threshold interval. The value is 3 to 5 (preferably 3), which corresponds to a 99.73% confidence interval and conforms to the conventional judgment criteria of statistical distribution.

[0044] Preliminary determination of single-satellite anomalies: The current ionospheric delay value of the satellite is compared with the corresponding detection threshold range (fixed / dynamic) mentioned above. If it exceeds the detection threshold range, the satellite is marked as having a signal anomaly, and the number of consecutive anomalies is incremented (+1 operation). If it falls within the detection threshold range, the number of consecutive anomalies of the satellite is cleared to zero. If the satellite has historical anomaly markings, they are directly removed.

[0045] This step involves a sliding window that generates a dynamic detection threshold range based on historical data from a single satellite, achieving "one threshold per satellite" to accurately adapt to the individual variation patterns of the ionosphere. The outlier filtering mechanism avoids instantaneous interference data from contaminating the historical statistical baseline, ensuring the accuracy of the calculation of the mean μ and standard deviation σ. The dual-stage threshold design takes into account the detection needs during the initial power-on phase and the stable operation phase, eliminating the detection vacuum period.

[0046] Furthermore, in step S5, based on the preliminary judgment results of single-satellite anomalies (all valid satellites have completed the preliminary judgment of single-satellite anomalies, and the number of consecutive anomalies is recorded), a multi-constellation fusion judgment is performed to accurately identify spoofing signals and generate standardized alarm information, solving the problems of misjudgment of single-satellite anomalies and lack of clear alarms for spoofing signals. Specifically, this includes: Abnormal data statistics: The microcontroller traverses the satellite data of all constellations, counts the total number of valid satellites and the number of abnormal satellites for each constellation (GPS, BeiDou, and Galileo), and calculates the percentage of abnormal satellites for each constellation (number of abnormal satellites / total number of valid satellites × 100%). At the same time, it counts the number of consecutive abnormalities for each satellite and records satellites with ≥5 consecutive abnormalities. Global anomaly detection: Execute a dual-condition or decision rule. If any of the following conditions are met, it is determined that a GNSS spoofing signal has been detected. The decision conditions are: Condition 1: Abnormal satellites account for ≥30% of any one of the GPS / BeiDou / Galileo constellations (constellation-level deception); Condition 2: The ionospheric delay value of a single satellite exceeds the corresponding detection threshold five times consecutively (single-satellite deception). Alarm Information Generation and Output: If a global anomaly judgment is triggered, the microcontroller generates standardized alarm information, which includes five core contents: affected constellation, anomalous satellite PRN number, current ionospheric delay value, historical statistical baseline (mean μ + standard deviation σ), and alarm type (constellation level / single star level). The alarm information is encoded in a fixed format for easy parsing by the host computer. Data transmission and storage: The generated alarm information is uploaded to the host computer in real time via the USART serial port. At the same time, the alarm information and detection timestamp are stored in the microcontroller's internal Flash memory. A circular overwrite (ring buffer) storage strategy is adopted: a fixed area is divided in the Flash memory, and alarm records are written sequentially. When the area is full, the oldest record is automatically overwritten to ensure that the most recent approximately 2000 alarm messages are always saved, enabling complete traceability. If the global anomaly judgment is not triggered, the anomaly markers of all satellites (if any) are cleared, and the microcontroller returns to step 1 to continue receiving the next round of OBSVMA data frames and enter a new detection loop.

[0047] This step avoids misjudgments caused by momentary interference from a single satellite by using dual judgment rules at both the constellation and single-star levels. It also covers two common attack scenarios: "batch deception of a single constellation" and "precise deception of a single satellite." Standardized alarm information enables visualization and traceability of detection results, and Flash storage ensures the retention of detection data.

[0048] In another exemplary embodiment, based on the same inventive concept as the method embodiments described above, a GNSS anti-spoofing system with multi-constellation ionospheric delay adaptive detection is provided, comprising: The GNSS high-precision positioning module is used to acquire observation data output by the Global Navigation Satellite System. An embedded microcontroller, connected to the GNSS high-precision positioning module, is configured to perform the method described in the first aspect.

[0049] The embedded microcontroller includes: The multi-constellation dual-frequency pseudorange analysis module is used to extract effective dual-frequency pseudorange data from different constellations from the observation data according to the signal type, and to independently classify and store the effective dual-frequency pseudorange data of different constellations. The ionospheric delay calculation module is used to calculate the ionospheric delay value of each satellite in each constellation based on the preset frequency ratio factor of each constellation and the effective dual-frequency pseudorange data. The single-satellite anomaly preliminary judgment module is used to allocate a sliding window buffer for each satellite, dynamically generate a detection threshold range based on the filling status of the sliding window buffer, judge the signal anomaly status of the current satellite by combining the current ionospheric delay value and the detection threshold range, and count the number of consecutive anomalies to obtain the single-satellite anomaly preliminary judgment result. The global anomaly judgment and alarm module is used to calculate the proportion of abnormal satellites in each constellation and the number of consecutive anomalies of a single satellite based on the preliminary judgment results of the single-satellite anomalies, execute global anomaly judgment, and generate alarm information when the judgment is triggered.

[0050] The system also includes a serial communication module, a voltage regulator module, and a host computer; the serial communication module is connected in series between the GNSS high-precision positioning module and the embedded microcontroller, and between the embedded microcontroller and the host computer; the input of the voltage regulator module is connected to an external power supply, and the output is connected to the GNSS high-precision positioning module, the embedded microcontroller, and the serial communication module; the host computer is used to receive the alarm information.

[0051] The system's hardware modules adopt an embedded integrated architecture. Each module uses commercially available general-purpose hardware without any additional customized design. Data interaction and power supply are achieved through physical pin connections. The overall architecture is compact and adaptable to miniaturized devices such as drones and vehicle-mounted RTK. The preferred GNSS high-precision positioning module is the UM982, the preferred embedded microcontroller is the STM32F407VET6, the preferred voltage regulator module is a 3.3V regulated power supply module, and the preferred serial communication module is a USART serial communication module. The specific structure, connection relationships, and working principles are as follows: 1. The GNSS high-precision positioning module integrates a multi-constellation satellite signal receiving RF front-end and baseband parsing chip, supporting dual-frequency signal acquisition from GPS, BeiDou, and Galileo constellations, and features OBSVMMA observation data frame output functionality. The USART_TX pin of the GNSS high-precision positioning module is directly connected to the USART_RX pin of the embedded microcontroller, and the USART_RX pin is directly connected to the USART_TX pin of the embedded microcontroller. The power supply pin is connected to the output of the 3.3V regulated power supply module.

[0052] After power-on, it receives satellite radio frequency signals, generates OBSVMA observation data frames containing constellation type, PRN number, dual-frequency pseudorange value, and signal type through baseband parsing, and outputs the raw data to the embedded microcontroller through the USART serial port at a fixed frequency of 1Hz. At the same time, it receives the working mode configuration instructions of the embedded microcontroller to complete the adaptation of the acquisition parameters.

[0053] 2. The embedded microcontroller serves as the system's main control core, with built-in Flash and SRAM storage areas. It features multiple USART serial ports and can run floating-point arithmetic and statistical calculation algorithms. Internally, the chip integrates four main functional modules: a multi-constellation dual-frequency pseudorange analysis module, an ionospheric delay calculation module, a single-satellite anomaly preliminary judgment module, and a global anomaly judgment and alarm module. One USART serial port communicates bidirectionally with the GNSS high-precision positioning module, while the other communicates unidirectionally with the host computer (outputting only alarm information). The power supply pin is connected to the output of a 3.3V regulated power supply module. Data exchange between the functional modules is achieved through the chip's internal bus.

[0054] The system receives raw OBSVMA data via the USART serial port, calls the four internal functional modules to complete data parsing, calculation, detection, and anomaly judgment, generates alarm information, and uploads it to the host computer via the serial port. At the same time, the detection results are stored in the internal Flash for system fault diagnosis and reading. The calculation time for a single full constellation detection is ≤50ms, which meets the real-time requirement of 1Hz data input.

[0055] 3. The USART serial communication module consists of a serial level conversion chip and transmission lines, with a baud rate configured at 115200bps, 8 data bits, 1 stop bit, and no parity bit. It is connected in series between the GNSS high-precision positioning module and the embedded microcontroller, and between the embedded microcontroller and the host computer. This enables asynchronous serial data transmission between hardware components, ensuring stable transmission of OBSVMMA raw data, configuration commands, and alarm information, with a transmission error rate of less than 10%. -6 .

[0056] The 4.3V regulated power supply module consists of an LM76002 power management chip, filter capacitors, and inductors. Its input is connected to a 5V external power supply, and its outputs are connected to the power supply pins of the GNSS high-precision positioning module, the embedded microcontroller, and the USART serial communication module, respectively. It regulates the 5V input voltage to a stable 3.3V / 1A voltage to power each hardware module. The filter capacitors and inductors suppress voltage fluctuations, ensuring stable operation of the hardware in complex electromagnetic environments.

[0057] The working principle of each hardware module is as follows: The external 5V power supply is converted to 3.3V by the voltage regulator module to power on all hardware; the GNSS high-precision positioning module collects multi-constellation dual-frequency satellite signals and parses them into OBSVMA data frames, which are then sent to the embedded microcontroller via the USART serial port; the embedded microcontroller runs the core detection algorithm (corresponding to the relevant steps in the method embodiment), parses, calculates, and judges the data. If a spoofing signal is detected, an alarm message is generated and uploaded to the host computer via the serial port. If no anomaly is detected, the system continues to receive the next round of data, forming a closed-loop workflow of "acquisition-parse-detection-alarm".

[0058] The algorithm of this invention runs on an embedded microcontroller and is implemented based on OBSVMA observation data output by a GNSS high-precision positioning module. It is a step-by-step, executable method. The core improvements are multi-constellation independent analysis and fusion detection, sliding window adaptive statistical threshold, outlier filtering mechanism, and multi-dimensional global decision. The process consists of four core operations, each with clearly defined calculation rules, judgment conditions, data processing methods, and working principles. The steps are progressively connected to form a complete detection logic. All calculations are completed in the floating-point unit inside the microcontroller, and the data is stored in the SRAM sliding window buffer.

[0059] The hardware modules and algorithm flow of this invention are a highly coordinated whole. After the terminal is powered on, each module completes its work in the following sequence to form a closed-loop anti-spoofing detection system: An external 5V power supply powers the GNSS high-precision positioning module and embedded microcontroller via a 3.3V regulated power supply module, and all hardware completes initialization. The embedded microcontroller sends a configuration command to the GNSS high-precision positioning module, instructing it to enter the GPS + Beidou + Galileo multi-constellation dual-frequency acquisition mode and configure the OBSVMA data frame output frequency to 1Hz; The GNSS high-precision positioning module acquires satellite signals, parses them into OBSVMA observation data frames, and sends them to the embedded microcontroller via the USART serial port; Embedded microcontrollers Figure 1 The process involves running the core detection algorithm to complete data parsing, ionospheric delay calculation, adaptive threshold generation, and global anomaly detection. If a spoofing signal is detected, the embedded microcontroller generates an alarm message and uploads it to the host computer, while storing the detection data; if no anomaly is detected, it receives the next round of data. The entire system runs continuously according to the above timing sequence, realizing real-time and uninterrupted detection of GNSS spoofing signals. All operations are completed on embedded hardware without the need for a host computer to participate in the calculation, ensuring the independence and reliability of the system.

[0060] Based on the above methods and system introduction, the following section describes the construction of a multi-constellation dual-frequency ionospheric delay adaptive detection GNSS anti-spoofing system using the STM32F407 embedded microcontroller and UM982 high-precision GNSS module as the core hardware carrier, and provides a specific anti-spoofing implementation process.

[0061] (1) Hardware connection and initialization of GNSS anti-spoofing system: Describe the hardware physical connection method and power-on initialization process of the system.

[0062] Hardware Connection: Connect the USART serial port_TX pin of the UM982 module to the USART_RX pin of the STM32F407, and connect the USART_RX pin of the UM982 to the USART_TX pin of the STM32F407. Configure the serial port parameters as follows: baud rate 115200, 8 data bits, 1 stop bit, and no parity bit to achieve bidirectional communication between the two. Connect the extended USART serial port of the STM32F407 to the host computer to complete the uploading of alarm information and the issuance of control commands. Configure a 3.3V regulated power supply module for the UM982 module and the STM32F407 to ensure stable hardware operation.

[0063] Power-on initialization: After the system powers on, the STM32F407 first completes its own peripheral initialization, including the initialization of the USART serial port, timers, global variables, and memory areas. At the same time, it initializes the multi-constellation dual-frequency pseudorange analysis module, the ionospheric delay calculation module, the single-star anomaly preliminary judgment module, and the global anomaly judgment and alarm module, and presets the frequency ratio factor γ, sliding window length N=40, confidence coefficient k=3, and anomaly judgment threshold (30% anomaly rate, 5 consecutive anomalies) for each constellation. Then, the STM32F407 sends a configuration command to the UM982 module, instructing the UM982 module to enter the multi-constellation dual-frequency acquisition mode, and configure it to continuously output OBSVMA observation data frames containing information from multiple constellations such as GPS, BeiDou, and Galileo, with an output frequency of 1Hz.

[0064] (2) Complete algorithm flow for multi-constellation dual-frequency ionospheric delay adaptive detection Step 1. OBSVMA Data Frame Reception and Parsing: The STM32F407 receives the OBSVMA observation data frames output by the UM982 module via the USART serial port, calls the GPS_ParseOBSVMA function to parse the data frame fields, and adds constellation type (sys_type) and signal type identification logic to the function; according to the signal type, the dual-frequency combinations of each constellation are filtered. GPS retains L1 (0 / 3 / 11) and L2 (9 / 17), Beidou retains B1 and B2, and Galileo retains E1 and E5a. Independent array structures are defined for the three constellations to store the PRN number and dual-frequency pseudorange value of the valid satellites, and satellite data without valid dual-frequency pseudorange are removed.

[0065] Step 2. Batch Calculation of Ionospheric Delay: The STM32F407 iterates through the effective satellite arrays of each constellation, calls the ionospheric delay calculation function, and calculates the delay based on the preset frequency ratio factor γ of each constellation using the formula... Ionospheric delay is calculated for each satellite, and the calculation results are bound to the satellite PRN number and constellation type and stored in a temporary storage area to complete the ionospheric delay calculation for all valid satellites.

[0066] Step 3. Sliding window management and threshold generation: Allocate a floating-point sliding window buffer of length 40 to each valid satellite. First, determine whether the satellite is marked as abnormal: if it is abnormal, skip the satellite and do not add the current ionospheric delay value to the window; if it is normal, add the current value to the window. If the window data exceeds 40, remove the oldest historical data and keep the window length at 40. Step 4. Then determine whether the window is full: If it is not full (data volume < 40), use a fixed threshold range of -5m to 50m as the detection threshold for the satellite; if it is full (data volume = 40), call the statistical calculation function to calculate the mean μ and standard deviation σ of the 40 data in the window, and generate a dynamic threshold range [μ-3σ,μ+3σ] as the detection threshold range for the satellite.

[0067] Step 5. Preliminary judgment of single satellite anomalies: Compare the current ionospheric delay value of the satellite with the corresponding detection threshold (fixed / dynamic). If it exceeds the detection threshold range, mark the satellite as having a signal anomaly and increment the number of consecutive anomalies by 1. If it falls within the detection threshold range, clear the number of consecutive anomalies for the satellite. If the satellite already has an anomaly marker, remove it directly.

[0068] Step 6. Global Anomaly Judgment and Alarm: The STM32F407 calls the statistical function to count the number of valid satellites and abnormal satellites in each constellation, and calculates the percentage of abnormal satellites; at the same time, it iterates through the number of consecutive anomalies of all satellites and performs a global anomaly judgment: ① If the percentage of abnormal satellites in any constellation of GPS / BeiDou / Galileo is ≥30%, it is judged as constellation-level spoofing; ② If the number of consecutive anomalies of a single satellite is ≥5, it is judged as single-star spoofing. If any of the judgment results are met, a deception alarm is triggered. The STM32F407 generates standardized alarm information, uploads it to the host computer via serial port, and stores the alarm result in a global variable. If no alarm is triggered, the next round of detection is executed, and the process returns to step 1.

[0069] In another example, the step of generating the detection threshold range is optimized. For scenarios with significant ionospheric delay fluctuations during periods of high solar activity, dynamic scaling logic for the detection threshold range is added to the above embodiment to adapt to more complex ionospheric environments. Specifically: After the sliding window is filled, the standard deviation σ of the ionospheric delay value within the window is calculated. The confidence coefficient k is dynamically adjusted according to the magnitude of σ to achieve adaptive scaling of the threshold range: ① When σ > 10m, it is determined that the ionospheric delay fluctuates drastically, and k is adjusted from 3 to 4 to expand the dynamic threshold range and avoid false alarms caused by natural fluctuations in the ionosphere; ② When σ ≤ 10m, k is restored to 3 to ensure the sensitivity of deception signal detection.

[0070] In another example, the principles of storing, updating, and filtering outliers in a sliding window are described in detail below: The sliding window is a floating-point buffer with a fixed length of 40. It stores the satellite's historical valid ionospheric delay data in time sequence. Newly detected valid data is added from the end of the window, and the oldest historical data is removed from the beginning of the window, so that the data in the window always reflects the satellite's most recent 40 valid ionospheric delay detection values.

[0071] Outlier filtering mechanism: Only when a satellite is not marked as an anomaly can its current ionospheric delay value pass the verification and be added to the sliding window; if a satellite is marked as an anomaly, the current detection value is directly discarded, and the historical data in the window remains unchanged, thus preventing outliers from polluting the historical statistical baseline from the bottom layer.

[0072] Dynamic threshold generation logic: After the window is filled, statistical calculations are performed based on 40 valid historical data within the window to obtain the mean μ and standard deviation σ. The dynamic threshold range generated based on this can accurately track the historical variation of satellite ionospheric delay, achieving dynamic adaptation with the physical characteristics of the ionosphere. Compared with fixed thresholds, it is more in line with the actual detection scenario.

[0073] Furthermore, the above-described embodiments of the present invention have been verified through simulated deception tests in a laboratory environment. The test scenarios cover a variety of complex scenarios, including GPS single-constellation deception, GPS + BeiDou dual-constellation deception, high latitude (near the Arctic Circle), low latitude (near the equator), and periods of high solar activity. The test results are as follows, verifying the effectiveness and practicality of the present invention: Spoofing detection capability: The system can accurately identify multi-constellation joint spoofing signals within 3 seconds with no missed detections; the detection response time for single-constellation spoofing signals is ≤1 second, and the overall spoofing recognition rate reaches over 99%, significantly improving anti-spoofing capability.

[0074] Environmental adaptability: The adaptive dynamic threshold detection scheme has a false alarm rate of less than 0.5% in different geographical latitudes and solar activity intensities. Compared with the traditional fixed threshold scheme (false alarm rate of more than 10%), the environmental adaptability has been significantly improved.

[0075] Real-time performance and lightweight design: The STM32F407 embedded microcontroller takes ≤50ms to perform a single full constellation detection calculation, which is far lower than the 1Hz output frequency of the OBSVMA data frame, meeting the requirements for real-time detection; the algorithm runs with <100KB of memory, making it compatible with resource-constrained embedded platforms such as STM32F4, without requiring additional computing power.

[0076] Hardware compatibility and engineering value: It can be implemented without adding any hardware devices, only through software logic modification. It can be directly integrated into the firmware of existing UM982 modules, requiring no changes to existing hardware systems, resulting in low engineering implementation costs. At the same time, the algorithm can be seamlessly ported to various GNSS application terminals such as drones, vehicle-mounted RTK, and surveying equipment, possessing extremely high engineering promotion value.

[0077] The above detailed embodiments are a description of the present invention. It should not be considered that the specific embodiments of the present invention are limited to these descriptions. For those skilled in the art, several simple deductions and substitutions can be made without departing from the concept of the present invention, and all of these should be considered to fall within the protection scope of the present invention.

Claims

1. A GNSS anti-spoofing method based on multi-constellation ionospheric delay adaptive detection, characterized in that, Includes the following steps: S1. Acquire observation data output by the Global Navigation Satellite System; S2. Extract effective dual-frequency pseudorange data from different constellations from the observation data according to the signal type, and independently classify and store the effective dual-frequency pseudorange data of different constellations; S3. Based on the preset frequency ratio factor of each constellation and the effective dual-frequency pseudorange data, calculate the ionospheric delay value of each satellite in each constellation; S4. Allocate a sliding window buffer for each satellite, and dynamically generate a detection threshold range based on the filling status of the sliding window buffer; combine the current ionospheric delay value and the detection threshold range to determine the current signal anomaly status of the satellite, and count the number of consecutive anomalies to obtain a preliminary judgment result of single-satellite anomaly. The step of dynamically generating the detection threshold range based on the fill state of the sliding window buffer specifically includes: When the sliding window buffer is not full, a preset fixed threshold range is used as the detection threshold range; When the sliding window buffer is full, the mean μ and standard deviation σ of all ionospheric delay values ​​within the sliding window buffer are calculated, and a dynamic detection threshold interval is generated. [μ−kσ,μ+kσ] Where k is the confidence coefficient, and the value of the confidence coefficient k is dynamically adjusted according to the magnitude of the standard deviation σ in order to adaptively scale the dynamic detection threshold range; S5. Based on the preliminary judgment results of the single-satellite anomaly, the proportion of abnormal satellites in each constellation and the number of consecutive anomalies of a single satellite are counted, a global anomaly judgment is executed, and an alarm message is generated when the judgment is triggered; The global anomaly detection specifically includes: A GNSS spoofing signal is determined to be detected if any of the following conditions are met: Condition 1: If the proportion of abnormal satellites in any constellation is greater than or equal to the preset abnormal proportion threshold, then constellation-level deception is determined to exist; Condition 2: If the ionospheric delay value of any satellite exceeds the preset detection threshold range for a consecutive number of times, then it is determined that a single-satellite deception exists.

2. The GNSS anti-spoofing method for multi-constellation ionospheric delay adaptive detection according to claim 1, characterized in that, The step of extracting effective dual-frequency pseudorange data from different constellations from the observation data according to signal type includes: The frame parsing function is called to split the data frames of the observation data into fields, extracting the constellation type, PRN number, pseudorange value, and signal type of each satellite; and invalid fields in the data frames are removed. Identify the dual-frequency combinations of each constellation based on the signal type, and establish independent array data structures for different constellations.

3. The GNSS anti-spoofing method for multi-constellation ionospheric delay adaptive detection according to claim 1, characterized in that, The ionospheric delay value in step S3 is calculated using the following formula: ,in, Indicates the ionospheric delay value. This represents the pseudorange value at a high frequency point on the satellite. This represents the pseudorange value at the low frequency point of the satellite. This is the preset frequency ratio factor for the corresponding constellation.

4. The GNSS anti-spoofing method for multi-constellation ionospheric delay adaptive detection according to claim 1, characterized in that, The sliding window buffer is a floating-point sliding window buffer and is updated using a first-in-first-out (FIFO) rule.

5. The GNSS anti-spoofing method for multi-constellation ionospheric delay adaptive detection according to claim 1, characterized in that, The step of determining the current satellite signal anomaly state by combining the current ionospheric delay value and the detection threshold range includes: The current ionospheric delay value of the satellite is compared with the detection threshold range. If it exceeds the detection threshold range, the satellite is marked as having a signal anomaly, and the number of consecutive anomalies is accumulated. If it falls within the detection threshold range, the number of consecutive anomalies of the satellite is reset to zero.

6. A GNSS anti-spoofing system with multi-constellation ionospheric delay adaptive detection, characterized in that, include: The GNSS high-precision positioning module is used to acquire observation data output by the Global Navigation Satellite System. An embedded microcontroller, connected to the GNSS high-precision positioning module, is configured to perform the method described in any one of claims 1-5.

7. A GNSS anti-spoofing system with multi-constellation ionospheric delay adaptive detection according to claim 6, characterized in that, The embedded microcontroller includes: The multi-constellation dual-frequency pseudorange analysis module is used to extract effective dual-frequency pseudorange data from different constellations from the observation data according to the signal type, and to independently classify and store the effective dual-frequency pseudorange data of different constellations. The ionospheric delay calculation module is used to calculate the ionospheric delay value of each satellite in each constellation based on the preset frequency ratio factor of each constellation and the effective dual-frequency pseudorange data. The single-satellite anomaly preliminary judgment module is used to allocate a sliding window buffer for each satellite, dynamically generate a detection threshold range based on the filling status of the sliding window buffer, judge the signal anomaly status of the current satellite by combining the current ionospheric delay value and the detection threshold range, and count the number of consecutive anomalies to obtain the single-satellite anomaly preliminary judgment result. The global anomaly judgment and alarm module is used to calculate the proportion of abnormal satellites in each constellation and the number of consecutive anomalies of a single satellite based on the preliminary judgment results of the single-satellite anomalies, execute global anomaly judgment, and generate alarm information when the judgment is triggered.

8. A GNSS anti-spoofing system with multi-constellation ionospheric delay adaptive detection according to claim 7, characterized in that, It also includes a serial communication module, a voltage regulator module, and a host computer; the serial communication module is connected in series between the GNSS high-precision positioning module and the embedded microcontroller, and between the embedded microcontroller and the host computer; the input terminal of the voltage regulator module is connected to an external power supply, and the output terminal is connected to the GNSS high-precision positioning module, the embedded microcontroller, and the serial communication module; the host computer is used to receive the alarm information.

Citation Information

Patent Citations

  • Positioning method and device based on ionosphere error correction, equipment and medium

    CN121454578A

  • GNSS (Global Navigation Satellite System) anti-deception detection method and system based on Doppler multiple check

    CN121856998A