Positioning method and device based on data fusion, terminal device and storage medium

By acquiring GNSS observation data and wide-area differential correction data, and using the Kalman filter algorithm and dSISE data to identify abnormal satellite states, the problem of unstable positioning performance in PPP service was solved, and the accuracy and reliability of GNSS positioning were improved.

CN115993621BActive Publication Date: 2026-07-21GUANGZHOU GEOELECTRON
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUANGZHOU GEOELECTRON
Filing Date
2022-11-01
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

Existing PPP services suffer from unstable positioning performance during GNSS positioning, resulting in insufficient accuracy and reliability.

Method used

By acquiring GNSS observation data from the Global Navigation Satellite System and multiple wide-area differential correction data, and utilizing the Kalman filter algorithm and differential spatial signal error (dSISE) data, abnormal satellite states are identified and corrected. Filtering equations are then constructed for positioning calculations to improve positioning accuracy and reliability.

Benefits of technology

While ensuring data processing efficiency, it improves the accuracy, stability and reliability of GNSS positioning, ensuring the accuracy of positioning results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115993621B_ABST
    Figure CN115993621B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a positioning method and device based on data fusion, terminal equipment and storage medium, the method comprises: acquiring positioning data, the positioning data comprises global navigation satellite system (GNSS) observation data and a plurality of wide area differential correction data, the plurality of wide area differential correction data is received from at least two different wide area differential positioning systems (WADPS); according to the plurality of wide area differential correction data, the differential space signal error (dSISE) data corresponding to each satellite of the GNSS is determined, and the target satellite in the available detection state is determined according to the dSISE data corresponding to each satellite; using Kalman filtering algorithm, the GNSS observation data is calculated to obtain positioning information, and the filtering equation in Kalman filtering is determined according to the target satellite. By using the wide area differential correction data provided by the plurality of wide area differential positioning systems, the integrity and reliability of the differential data can be detected, the data processing efficiency is ensured, and the accuracy and reliability of real-time positioning are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of satellite navigation and positioning technology, specifically to a positioning method, device, terminal equipment, and storage medium based on data fusion. Background Technology

[0002] The performance of basic GNSS (Global Navigation Satellite System) services is insufficient to meet the diverse application requirements. In high-precision GNSS positioning applications, PPP (Precise Point Positioning) services are primarily used. Through the broadcast of high-precision GNSS satellite orbit and clock bias correction data, as well as signal offset corrections, users can obtain centimeter-level accuracy in real time, fulfilling positioning needs. However, existing PPP services suffer from unstable positioning performance during the positioning process. Summary of the Invention

[0003] This application discloses a positioning method, apparatus, terminal device, and storage medium based on data fusion, which can solve the problem of unstable positioning performance in GNSS positioning using PPP services and improve the accuracy, reliability, and stability of positioning results.

[0004] The first aspect of this application provides a positioning method based on data fusion, the method comprising:

[0005] The positioning data includes Global Navigation Satellite System (GNSS) observation data and multiple wide-area differential correction data, which are obtained from at least two different wide-area differential positioning systems (WADPS).

[0006] Based on the multiple wide-area differential correction data, determine the differential spatial signal error (dSISE) data corresponding to each GNSS satellite, and determine the target satellite in an available detection state based on the dSISE data corresponding to each satellite.

[0007] The Kalman filter algorithm is used to calculate the positioning information from the GNSS observation data. The filtering equation in the Kalman filter is determined based on the target satellite.

[0008] As an optional implementation, in a first aspect of this embodiment, determining the differential spatial signal error (dSISE) data corresponding to each GNSS satellite based on the plurality of wide-area differential correction data, and determining the target satellite in an available detection state based on the dSISE data corresponding to each satellite, includes:

[0009] The final state of each satellite in the previous epoch of GNSS is obtained, and the initial detection state of each satellite is determined based on the final state of each satellite in the previous epoch of GNSS and the multiple wide-area differential corrections. The initial detection state includes non-abnormal detection state and abnormal detection state.

[0010] Based on the multiple wide-area differential correction data, determine the dSISE data corresponding to the satellites in the non-abnormal detection state, and correct the initial detection state of each satellite in the non-abnormal detection state based on the dSISE data corresponding to each satellite in the non-abnormal detection state, to obtain the corrected detection state of each satellite in the non-abnormal detection state.

[0011] Based on the corrected detection status of each satellite in a non-abnormal detection state, the target satellite in a usable detection state is determined.

[0012] As an optional implementation, in a first aspect of this embodiment, the step of determining the dSISE data corresponding to the satellites in a non-abnormal detection state based on the plurality of wide-area differential correction data, and correcting the initial detection state of each satellite in a non-abnormal detection state based on the dSISE data corresponding to each satellite in a non-abnormal detection state, to obtain the corrected detection state of each satellite in a non-abnormal detection state, includes:

[0013] The GNSS observation data is corrected based on multiple wide-area differential correction data to obtain the satellite orbits and clock errors of each GNSS satellite under the correction of each wide-area differential system;

[0014] The satellite orbits and clock errors of each satellite in the non-anomaly detection state under the correction of each wide-area differential system are subtracted and the coordinates are transformed to determine the dSISE data corresponding to each satellite in the non-anomaly detection state.

[0015] Based on the threshold corresponding to each of the dSISE data, a first-level detection is performed on the dSISE data corresponding to each satellite in the non-abnormal detection state, and the initial detection state corresponding to each satellite in the non-abnormal detection state is corrected based on the first-level detection result, so as to obtain the corrected detection state of each satellite in the non-abnormal detection state.

[0016] As an optional implementation, in the first aspect of this embodiment, the step of performing a first-level detection on the dSISE data corresponding to each satellite in the non-abnormal detection state according to the threshold corresponding to each of the dSISE data, and correcting the initial detection state corresponding to each satellite in the non-abnormal detection state according to the first-level detection result to obtain the corrected detection state of each satellite in the non-abnormal detection state, includes:

[0017] The alarm dSISE data is determined based on the relationship between each dSISE data corresponding to the first satellite and the threshold corresponding to each dSISE data, and the number of alarm dSISE data corresponding to the first satellite is counted. When a certain dSISE data is greater than the corresponding threshold, the certain dSISE data is determined to be alarm dSISE data. The first satellite is any one of the satellites in the non-abnormal detection state.

[0018] If the number of alarm dSISE data corresponding to the first satellite is greater than the alarm threshold, the initial detection state corresponding to the first satellite is corrected to the abnormal detection state; otherwise, the initial detection state corresponding to the first satellite is corrected to the available detection state.

[0019] As an optional implementation, in the first aspect of this embodiment, after performing a first-level detection on the dSISE data corresponding to each satellite in the non-abnormal detection state according to the threshold corresponding to each of the dSISE data, and correcting the initial detection state corresponding to each satellite in the non-abnormal detection state according to the first-level detection result to obtain the corrected detection state of each satellite in the non-abnormal detection state, the method further includes:

[0020] When the number of satellites whose initial detection state is corrected to the abnormal detection state is greater than the number threshold, the smoothed dSISE sequence before the current epoch is obtained, and the mean and standard deviation of the dSISE data before the current epoch are calculated based on the smoothed dSISE sequence.

[0021] The normalized smoothed dSISE sequence is determined based on the mean and standard deviation of the dSISE data prior to the current epoch.

[0022] Using the chi-square detection algorithm, secondary detection is performed on satellites in anomaly detection state based on the normalized smoothed dSISE sequence. The detection state of satellites in anomaly detection state that pass the secondary detection is corrected to an available detection state. The detection state of satellites in anomaly detection state that fail the secondary detection is maintained as the anomaly detection state.

[0023] As an optional implementation, in the first aspect of this embodiment, the Kalman filter algorithm is used to calculate the positioning information from the GNSS observation data. The filtering equation in the Kalman filter is determined based on the target satellite and includes:

[0024] The filtering equations in the Kalman filter algorithm are constructed based on the target satellites in the available detection state, and the noise matrix of the filtering equations in the Kalman filter algorithm is adjusted based on the satellites in the deweighted available detection state to obtain the adjusted Kalman filter algorithm.

[0025] The adjusted Kalman filter algorithm is used to calculate the GNSS observation data to obtain positioning information, which includes location information and time information.

[0026] As an optional implementation, in the first aspect of this embodiment, after using the Kalman filter algorithm to calculate the positioning information from the GNSS observation data, the method further includes:

[0027] The carrier phase residuals corresponding to each GNSS satellite are determined based on the positioning information, GNSS observation data, and wide-area differential correction data.

[0028] The verification status of each satellite is determined based on the carrier phase residuals corresponding to each satellite.

[0029] Based on the verification and detection status of each satellite, the final status of each satellite in the current epoch is determined.

[0030] As an optional implementation, in the first aspect of this embodiment, determining the verification status of each satellite based on the carrier phase residuals corresponding to each satellite includes:

[0031] If the carrier phase residual corresponding to a certain satellite meets the verification threshold, the verification status of the satellite is determined to be an available verification status; otherwise, the verification status of the satellite is determined to be an abnormal verification status.

[0032] Based on the dSISE data corresponding to each satellite in the available verification state, the smoothed dSISE sequence of each satellite in the available verification state is statistically analyzed, and the mean and standard deviation of the dSISE data for the current epoch are determined based on the smoothed dSISE sequence of each satellite in the available verification state.

[0033] If the mean of the dSISE data in the current epoch meets the mean verification threshold and the standard deviation of the dSISE data in the current epoch meets the standard deviation verification threshold, the verification status of each satellite in the available verification status will be maintained as the available verification status; otherwise, the verification status of each satellite in the available verification status will be corrected to the abnormal verification status.

[0034] As an optional implementation, in the first aspect of this embodiment, determining the final state of each satellite in the current epoch based on the verification state and detection state corresponding to each satellite includes:

[0035] When a satellite has a corresponding verification status and detection status, the verification status of the satellite is determined as the final status of the satellite in the current epoch.

[0036] When a satellite has a detection state but no corresponding verification state, the detection state of the satellite is determined as the final state of the satellite in the current epoch.

[0037] A second aspect of this application provides a positioning device based on data fusion, the device comprising:

[0038] The data acquisition module is used to acquire positioning data, which includes Global Navigation Satellite System (GNSS) observation data and multiple wide-area differential correction data, which are obtained from at least two different wide-area differential positioning systems (WADPS).

[0039] The detection status module is used to determine the differential spatial signal error (dSISE) data corresponding to each GNSS satellite based on the multiple wide-area differential correction data, and to determine the target satellite in the available detection status based on the dSISE data corresponding to each satellite.

[0040] The satellite positioning module is used to calculate the positioning information from the GNSS observation data using the Kalman filter algorithm. The filtering equation in the Kalman filter is determined based on the target satellite.

[0041] A third aspect of this application provides a terminal device, including a memory and a processor. The memory stores a computer program, and when the computer program is executed by the processor, the processor enables the processor to implement any of the data fusion-based positioning methods disclosed in this application.

[0042] A fourth aspect of this application provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements any of the data fusion-based positioning methods disclosed in the embodiments of this application.

[0043] Compared with related technologies, the embodiments of this application have the following beneficial effects:

[0044] This method acquires positioning data that includes GNSS observation data and multiple wide-area differential correction (WADPS) data. The WADPS data is obtained from at least two different wide-area differential positioning systems. The differential spatial signal error (dSISE) data for each GNSS satellite is determined using these WADPS data. The satellite status is then assessed based on the dSISE data to identify usable target satellites. Finally, a Kalman filter algorithm, with the variance determined by the target satellite, is used to process the GNSS observation data to obtain positioning information. This method utilizes the WADPS data from multiple wide-area differential positioning systems to perform integrity and reliability checks on the differential data, improving the accuracy, stability, and reliability of real-time positioning while ensuring data processing efficiency. Attached Figure Description

[0045] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 This is a schematic diagram illustrating an application scenario of a data fusion-based positioning method disclosed in an embodiment of this application;

[0047] Figure 2 This is a schematic flowchart of a positioning method based on data fusion disclosed in an embodiment of this application;

[0048] Figure 3 This is a schematic diagram of a method flow for another data fusion-based positioning method disclosed in an embodiment of this application;

[0049] Figure 4 This is a schematic flowchart of another data fusion-based positioning method disclosed in the embodiments of this application;

[0050] Figure 5 This is a flowchart illustrating a data verification process in a data fusion-based positioning method according to an embodiment of this application.

[0051] Figure 6 This is a flowchart illustrating another data verification process in the data fusion-based positioning method in this application embodiment;

[0052] Figure 7This is a schematic diagram of the structure of a positioning device based on data fusion disclosed in an embodiment of this application;

[0053] Figure 8 This is a schematic diagram of the structure of a terminal device disclosed in one embodiment. Detailed Implementation

[0054] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0055] It should be noted that the terms "comprising" and "having," and any variations thereof, in the embodiments and accompanying drawings of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the steps or units listed, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.

[0056] This application discloses a positioning method, apparatus, terminal device, and storage medium based on data fusion, which can solve the problem of unstable positioning performance during GNSS positioning using PPP services, and improve the accuracy, reliability, and stability of positioning results. These are described in detail below.

[0057] Please see Figure 1 , Figure 1 This is a schematic diagram illustrating an application scenario of a data fusion-based positioning method disclosed in an embodiment of this application. For example... Figure 1As shown, the system may include a terminal device 10, multiple wide-area differential positioning systems 20, and multiple satellites 30. The terminal device 10 can be a smartwatch, smart bracelet, or smart earphone, etc., and can be used in professional fields such as surveying and mapping. It can also be a mobile device such as a smartphone, tablet, or laptop, or a large device such as a vehicle, ship, or aircraft. The terminal device 10 acquires GNSS observation data from the multiple satellites 30, and the multiple wide-area differential positioning systems 20 also acquire observation data from the multiple satellites 30. The acquired observation data is processed to obtain the wide-area differential correction data corresponding to each system. The terminal device 10 acquires the wide-area differential correction data corresponding to each system from the multiple wide-area differential positioning systems 20; these data together constitute the positioning data. Terminal device 10 receives multiple wide-area differential correction data to determine the dSISE data corresponding to each GNSS satellite, and determines the target satellite in an available state based on the dSISE data corresponding to each satellite. Terminal device 10 determines the filtering equation in Kalman filtering based on the target satellite, and uses the Kalman filtering algorithm to calculate the GNSS observation data to obtain positioning information containing position information and time information.

[0058] Please see Figure 2 , Figure 2 This is a flowchart illustrating a data fusion-based positioning method disclosed in an embodiment of this application. This method can be applied to, for example... Figure 1 The terminal device 10 in the illustrated application scenario. For example... Figure 2 As shown, the method may include the following steps:

[0059] 210. Acquire positioning data, which includes GNSS observation data from the Global Navigation Satellite System and multiple wide-area differential correction data, which are obtained from at least two different wide-area differential positioning systems (WADPS).

[0060] In this embodiment, the terminal device acquires GNSS observation data from various GNSS satellites received by the receiver, and receives multiple wide-area differential correction data from at least two different wide-area differential positioning systems. Here, each wide-area differential positioning system corresponds to a set of independent wide-area differential correction data. In this embodiment and the following embodiments, the wide-area differential correction data are described as coming from two different wide-area differential positioning systems, namely WADPS1 and WADPS2. However, this application does not actually limit the number of wide-area differential correction data or wide-area differential positioning systems. In addition, among the two wide-area differential positioning systems used in the scheme, one wide-area differential positioning system can be used for positioning solution correction, and the other wide-area differential positioning system can be used for differential correction data detection.

[0061] 220. Determine the differential spatial signal error (dSISE) data corresponding to each GNSS satellite based on multiple wide-area differential correction data, and determine the target satellite in the available detection state based on the dSISE data corresponding to each satellite.

[0062] In this embodiment, the wide-area differential correction data can be satellite ephemeris corrections and satellite clock bias corrections, etc. The terminal device can correct the corresponding satellite orbits and satellite clock biases based on the satellite ephemeris corrections and satellite clock bias corrections, etc. After correction, the dSISE data corresponding to each satellite is determined based on the corrected satellite orbits and satellite clock biases, etc., and the satellite is determined to be in a detectable state based on the dSISE data corresponding to the satellite. In this way, the target satellite in a detectable state among the GNSS satellites received by the GNSS receiver is determined.

[0063] 230. The Kalman filter algorithm is used to calculate the positioning information from the GNSS observation data. The filtering equation in the Kalman filter is determined based on the target satellite.

[0064] In this embodiment, the terminal device can select observation data of target satellites in an available detection state to construct the filtering equation in the Kalman filter. Then, the terminal device uses the GNSS observation data in the positioning data to perform calculations through the Kalman filter algorithm to obtain the positioning information of the terminal device.

[0065] By employing the above embodiments, it is possible to utilize wide-area differential correction data provided by multiple wide-area differential positioning systems, quickly identify abnormal data by calculating and judging dSISE data, and complete the integrity and reliability detection of differential data. While ensuring data processing efficiency, it improves the accuracy, stability and reliability of real-time positioning.

[0066] In one embodiment, see Figure 3 , Figure 3 This is a flowchart illustrating another data fusion-based positioning method disclosed in an embodiment of this application. This method can be applied to, for example... Figure 1 Terminal device 10 in the application scenario shown.

[0067] like Figure 3 As shown, the method may include the following steps:

[0068] 310. Acquire positioning data, which includes Global Navigation Satellite System (GNSS) observation data and multiple wide-area differential correction data, which are received from at least two different wide-area differential positioning systems (WADPS).

[0069] 320. Obtain the final state of each satellite in the previous epoch of GNSS, and determine the initial detection state of each satellite based on the final state of each satellite in the previous epoch of GNSS and multiple wide-area differential correction data. The initial detection state includes non-abnormal detection state and abnormal detection state.

[0070] In this embodiment, the terminal device can first obtain the final state of each GNSS satellite in the previous epoch, and determine the initial detection state of each satellite based on the final state of each satellite in the previous epoch. Simultaneously, it also determines the initial detection state of each satellite based on the two wide-area differential correction data corresponding to each satellite. The terminal device determines the initial detection state of each satellite based on the two determination results corresponding to each satellite. The initial detection state includes a non-abnormal detection state and an abnormal detection state, and the non-abnormal detection state includes a normal detection state and a reduced-weight usable detection state.

[0071] For example, after determining the final state of each satellite in each epoch, the terminal device can save the record as a basis for determining the initial detection state of each satellite in the next epoch. Therefore, the terminal device can directly obtain the final state of each satellite in the previous epoch. For satellites whose final state is an abnormal detection state, the terminal device determines their initial detection state as an abnormal detection state; otherwise, it determines their initial detection state as a normal detection state. Simultaneously, the terminal device also determines the initial detection status of each satellite based on multiple wide-area differential correction data. Specifically: when WADPS is providing SBAS service, the wide-area differential correction data includes satellite correction data and either the User Differential Range Error Index (UDREI) parameter or the Dual-Frequency Range Error Index (DFREI) parameter. In this case, the terminal device can determine the initial detection status of the corresponding satellite using the UDRIE or DFRIE parameter. If UDRIE > 5 or DFRIE > 11, or if satellite correction data is not broadcast, the satellite's initial detection status is determined to be a downweighted, usable detection status; otherwise, it is determined to be a normal detection status. When WADPS is providing PPP service, the terminal device determines the initial detection status using the User Range Accuracy (URA) parameter. If URA > 0.1m, or if satellite correction data is not broadcast, the satellite's initial detection status is determined to be a downweighted, usable detection status; otherwise, it is determined to be a normal detection status. The threshold 5 for UDREI, the threshold 11 for DFREI, and the threshold 0.1m for URA can be obtained by those skilled in the art based on their actual experience, and no specific limitations are imposed on them.

[0072] If the terminal device determines the satellite's initialization detection state as an abnormal detection state based on the final states of each satellite in the previous epoch, regardless of how the terminal device determines the satellite's initialization detection state based on multiple wide-area differential correction data, the terminal device will still classify the satellite's initialization detection state as an abnormal detection state. If the terminal device determines the satellite's initialization detection state as a normal detection state based on the final states of each satellite in the previous epoch, but if the terminal device determines the satellite's initialization detection state as a deweighted usable detection state based on multiple wide-area differential correction data, then the terminal device will classify the satellite's initialization detection state as a deweighted usable detection state among the non-abnormal detection states. If the terminal device determines the satellite's initialization detection state as a normal detection state based on the final states of each satellite in the previous epoch, but if the terminal device also determines the satellite's initialization detection state as a normal detection state based on multiple wide-area differential correction data, then the terminal device will classify the satellite's initialization detection state as a normal detection state among the non-abnormal detection states.

[0073] 330. Determine the dSISE data corresponding to the satellites in the non-abnormal detection state based on multiple wide-area differential correction data, and correct the initial detection state of each satellite in the non-abnormal detection state based on the dSISE data corresponding to each satellite in the non-abnormal detection state, so as to obtain the corrected detection state of each satellite in the non-abnormal detection state.

[0074] In this embodiment, the terminal device calculates the differential signal-in-space error (dSISE) data corresponding to satellites in a non-abnormal detection state based on multiple wide-area differential correction data. That is, the terminal device calculates the dSISE data corresponding to satellites in a normal detection state and satellites in a reduced-weight usable detection state based on multiple wide-area differential correction data. After calculating the dSISE data corresponding to each satellite in a non-abnormal detection state, the terminal device determines whether the initial detection state of each satellite needs to be corrected by comparing the magnitude of each dSISE data with its corresponding threshold value. If correction is needed, the terminal device corrects the initial detection state of the satellite to obtain the corrected detection state; otherwise, the terminal device uses the initial detection state of the satellite as the corrected detection state.

[0075] 340. Based on the corrected detection status of each satellite in a non-abnormal detection state, determine the target satellite in a usable detection state.

[0076] In this embodiment of the application, the terminal device can determine whether each satellite is a target satellite in an available detection state based on the corrected detection state. For example, the initial detection state includes a normal detection state and a downweighted available detection state, and the corrected detection state includes a normal detection state, a downweighted available detection state, and an abnormal detection state. The terminal device can identify satellites in a normal detection state and a downweighted available detection state as target satellites in an available detection state, that is, remove satellites in an abnormal detection state.

[0077] By adopting the above embodiment, the initial detection state of the satellite is determined by the final state of the satellite in the previous epoch and the wide-area differential correction data in the current epoch. The initial detection state is corrected based on the dSISE data of the satellite in the non-abnormal detection state. This can eliminate satellites in the initial detection state and the corrected detection state that are in the abnormal detection state, thereby improving the reliability of abnormal data identification and further improving the accuracy and reliability of positioning.

[0078] 350. The Kalman filter algorithm is used to calculate the positioning information from the GNSS observation data. The filtering equation in the Kalman filter is determined based on the target satellite.

[0079] In one embodiment, see Figure 4 , Figure 4 This is a flowchart illustrating another data fusion-based positioning method disclosed in an embodiment of this application. This method can be applied to, for example... Figure 1 Terminal device 10 in the application scenario shown.

[0080] like Figure 4 As shown, the method may include the following steps:

[0081] 401. Acquire positioning data, which includes GNSS observation data from the Global Navigation Satellite System and multiple wide-area differential correction data, which are obtained from at least two different wide-area differential positioning systems (WADPS).

[0082] 402. Obtain the final state of each satellite in the previous epoch of GNSS, and determine the initial detection state of each satellite based on the final state of each satellite in the previous epoch of GNSS and multiple wide-area differential correction data. The initial detection state includes non-abnormal detection state and abnormal detection state.

[0083] 403. Correct the GNSS observation data based on multiple wide-area differential correction data to obtain the satellite orbits and clock errors of each GNSS satellite under the correction of each wide-area differential system.

[0084] In this embodiment of the application, the terminal device can first use the GNSS broadcast ephemeris in the GNSS observation data to calculate the broadcast positions of each GNSS satellite. and speed The broadcast positions and velocities of each GNSS satellite are corrected using differential data from two wide-area differential systems, resulting in satellite orbit and clock bias data for each satellite under the corrections from the two wide-area differential systems, respectively [X pre Y pre Z pre T pre ] and [X dtc Y dtc Z dtc T dtc ].

[0085] 404. Perform subtraction and coordinate transformation on the satellite orbits and clock errors of each satellite in the non-anomaly detection state under the correction of each wide-area differential system to determine the corresponding dSISE data of each satellite in the non-anomaly detection state.

[0086] In this embodiment, the terminal device performs dSISE calculations on all satellites whose initial detection state is not an abnormal detection state. That is, it performs dSISE calculations on satellites whose initial detection state is not an abnormal detection state. This can be achieved by subtracting the satellite orbit and clock bias under two WADPS corrections and performing coordinate transformation, resulting in three dSISE parameters, namely dSISE. total , orbital components dSISE orb and clock difference component dSISE clk The calculation formulas for the three dSISE parameters are shown in equation (1).

[0087]

[0088] Where [RAC] represents the radial, tangential, and normal orbital errors in meters, obtained through orbital error coordinate transformation under ECEF; T represents the satellite clock error in meters; α and β are weighting coefficients selected according to the satellite orbit type: α = 0.98 and β = 0.141 for MEO satellites; and α = 0.992 and β = 0.088 for GEO and IGSO satellites.

[0089] The calculation and conversion formulas for each error term in equation (1) are shown in equation (2).

[0090]

[0091] Based on equations (1) and (2) above, the dSISE data corresponding to each satellite whose initial detection state is a non-abnormal detection state can be obtained. The non-abnormal detection state includes the normal detection state and the reduced-weight usable detection state. Furthermore, according to equations (1) and (2) above, obtaining the three dSISE parameters corresponding to a satellite requires the satellite to have correction data for two WADPS. Therefore, for satellites that have not broadcast satellite correction data, resulting in their initial detection state being a reduced-weight usable detection state, the terminal device does not calculate their corresponding dSISE parameters and maintains their initial detection state as a reduced-weight usable detection state; that is, these satellites do not have corresponding dSISE data.

[0092] 405. Perform first-level detection on the dSISE data of each satellite in the non-abnormal detection state according to the threshold corresponding to each dSISE data, and correct the initial detection state of each satellite in the non-abnormal detection state according to the first-level detection result, so as to obtain the corrected detection state of each satellite in the non-abnormal detection state.

[0093] In this embodiment of the application, the terminal device performs first-level detection on satellites with corresponding dSISE data. Specifically, it can compare the satellite's corresponding dSISE data, that is, the three corresponding dSISE parameters, with the corresponding thresholds respectively.

[0094] In some embodiments, before comparing the three dSISE parameters corresponding to the satellite with their respective thresholds to perform first-level detection of the satellite, the terminal device may first use a sliding time window to perform time-series smoothing processing on the three dSISE parameters corresponding to the satellite. The processing formula is shown in equation (3).

[0095]

[0096] Where N is the cumulative count of the sliding window time, which accumulates with the smoothing epoch until it reaches the upper limit, typically 10; dSISE new,i The original value calculated for the current epoch, in meters; dSISE i (t) represents the smoothed value for the current epoch, in meters; dSISE i (t-1) represents the smoothed value of the previous epoch, in meters; i represents different dSISE parameters, with smoothing performed on each of the three parameters individually. Statistical analysis is performed on the smoothed dSISE time series prior to the current epoch, with a typical series length of 10 epochs, yielding the mean μ of the corresponding series. dSISE,i and standard deviation σ dSISE,i All units are meters. Time series modeling of each dSISE parameter allows for the more rapid identification of anomalous data by leveraging its temporal variation characteristics.

[0097] The three dSISE parameters corresponding to the satellite are compared with their corresponding thresholds as shown in equation (4).

[0098]

[0099] Wherein, ΔdSISE i For dSISE i The difference between smoothed and unsmoothed values, in meters; TH ΔdSISE A fixed threshold value is used, typically 0.3m; K dtc To check the threshold coefficient, a typical value of 3.29 is used.

[0100] In this embodiment, the terminal device corrects the initial detection state of each satellite in a non-abnormal detection state, a normal detection state, or a partially deweighted usable detection state based on the comparison results of the three dSISE parameters corresponding to the satellite with the corresponding thresholds, which is the first-level detection result. This results in the corrected detection state of each satellite in a normal detection state or a partially deweighted usable detection state.

[0101] Furthermore, in this embodiment, the terminal device can select one or more dSISE parameters from each satellite to compare with the corresponding threshold. That is, the terminal device can select one, two, or all three corresponding dSISE parameters to compare with the corresponding threshold. In this embodiment and the following embodiments, the description focuses on the terminal device selecting three dSISE parameters corresponding to each satellite to compare with the corresponding threshold, but there is no limitation on the number of dSISE parameters selected in the first-level detection process.

[0102] By employing the above embodiments, the consistency of performance of different wide-area differential services can be utilized to compare and model different differential data over time, and by leveraging their time-series variation characteristics, abnormal data can be detected and identified easily, efficiently, and quickly.

[0103] In some embodiments, step 405, which involves performing a first-level detection on the dSISE data corresponding to each satellite in a non-abnormal detection state based on the threshold corresponding to each dSISE data, and correcting the initial detection state corresponding to each satellite in a non-abnormal detection state based on the first-level detection results, to obtain the corrected detection state of each satellite in a non-abnormal detection state, may include the following steps:

[0104] The alarm dSISE data is determined based on the relationship between the dSISE data corresponding to the first satellite and the threshold corresponding to each dSISE data, and the number of alarm dSISE data corresponding to the first satellite is counted. When a certain dSISE data is greater than the corresponding threshold, the certain dSISE data is determined as alarm dSISE data. The first satellite is any one of the satellites in the non-abnormal detection state.

[0105] If the number of alarm dSISE data corresponding to the first satellite is greater than the alarm threshold, the initial detection status corresponding to the first satellite will be corrected to the abnormal detection status; otherwise, the initial detection status corresponding to the first satellite will be corrected to the available detection status.

[0106] In this embodiment, the terminal device determines the alarm dSISE data in each satellite by comparing the three dSISE parameters corresponding to the satellite with the corresponding thresholds, that is, the dSISE parameters that do not meet the corresponding thresholds, and counts the number of alarm dSISE data corresponding to each satellite.

[0107] For example, the three dSISE parameters corresponding to satellite 1 are compared with the corresponding thresholds as shown in Equation (4). The first and second dSISE parameters are less than or equal to the corresponding thresholds, while the third dSISE parameter is greater than the corresponding threshold. Then, the terminal device determines the third dSISE parameter of satellite 1 as alarm dSISE data. By marking the third dSISE parameter with an "alarm" flag and counting the number of "alarm" flags corresponding to satellite 1, the number of alarm dSISE data corresponding to satellite 1 is determined to be 1.

[0108] In this embodiment, the terminal device counts the number of alarm dSISE data corresponding to each satellite, compares this number with an alarm threshold, determines the primary detection result for each satellite based on the comparison result, and corrects the initial detection state of the satellite based on the corresponding primary detection result. The alarm threshold is half the number of dSISE parameters corresponding to the satellite being compared with the corresponding threshold.

[0109] For example, if the satellite selects 3 dSISE parameters to compare with the corresponding threshold, then the alarm threshold for the satellite is 2; if the satellite selects 2 dSISE parameters to compare with the corresponding threshold, then the alarm threshold for the satellite is 1; if the satellite selects 1 dSISE parameter to compare with the corresponding threshold, then the alarm threshold for the satellite is also 1.

[0110] If satellite 1 selects three dSISE parameters to compare with the corresponding thresholds, and the number of alarm dSISE data for satellite 1 is 3, which is greater than the alarm threshold 2 for satellite 1, then the terminal device considers satellite 1 to have failed the first-level detection and corrects the initial detection state of satellite 1 to the abnormal detection state. If satellite 2 selects two dSISE parameters to compare with the corresponding thresholds, and the number of alarm dSISE data for satellite 2 is 1, which is greater than the alarm threshold 1 for satellite 2, then the terminal device considers satellite 2 to have passed the first-level detection and corrects the initial detection state of satellite 2 to the usable detection state.

[0111] By using the above embodiments, the detection status of the satellite is corrected by measuring the number of dSISE parameters that do not meet the conditions for primary detection. This allows for more accurate identification of abnormal data and further improves positioning accuracy.

[0112] 406. When the number of satellites whose initial detection status has been corrected to an abnormal detection status is greater than the number threshold, obtain the smoothed dSISE sequence before the current epoch, and calculate the mean and standard deviation of the dSISE data before the current epoch based on the smoothed dSISE sequence.

[0113] In this embodiment, during the calculation of correction data for high-precision services, there may be consistent changes in the correction values ​​of all satellites at certain times. This change can be absorbed by the clock bias of the user receiver and does not affect positioning, therefore it is not considered abnormal. Therefore, if the number of satellites in abnormal detection states is large during the primary detection process, the terminal device can further determine whether it is a consistent change across all satellites or only some satellites experiencing anomalies, in order to avoid misjudgment.

[0114] Therefore, after correcting the initial detection status of each satellite based on the primary detection results, the terminal device can count the number of satellites corrected to an abnormal detection status and compare this number with a threshold. If the number of satellites whose initial detection status has been corrected to an abnormal detection status exceeds the threshold, the terminal device can perform secondary detection. Specifically, it can first obtain the smoothed dSISE sequence prior to the current epoch and then calculate the mean and standard deviation of the dSISE data prior to the current epoch based on the smoothed dSISE sequence. The threshold can be set to 1.

[0115] 407. Determine the normalized smoothed dSISE sequence based on the mean and standard deviation of the dSISE data before the current epoch.

[0116] In this embodiment, after the terminal device calculates the mean and standard deviation of the dSISE data before the current epoch based on the smoothed dSISE sequence, it can also determine the normalized smoothed dSISE sequence δdSISE based on the mean and standard deviation of the dSISE data before the current epoch. i Specifically, as shown in equation (5),

[0117]

[0118] 408. Using the chi-square detection algorithm, perform secondary detection on satellites in anomaly detection state based on the normalized smoothed dSISE sequence, and correct the detection state of satellites in anomaly detection state that pass the secondary detection to an available detection state, and keep the detection state of satellites in anomaly detection state that fail the secondary detection as anomaly detection state.

[0119] In this embodiment, if all normalized smoothed dSISE sequences satisfy the chi-square test, it indicates that all satellites underwent consistent changes during the first-level detection process, rather than some satellites experiencing anomalies. In this case, the terminal device can further correct the detection status of satellites that were corrected to an abnormal detection state during the first-level detection process, correcting them to an usable detection state. However, if the normalized smoothed dSISE sequences do not satisfy the chi-square test, it indicates that some satellites experienced anomalies during the first-level detection process. In this case, the terminal device does not correct the detection status of satellites that were corrected to an abnormal detection state during the first-level detection process, that is, it continues to maintain the abnormal detection state. The chi-square test process is shown in equation (6).

[0120]

[0121] Where n is the number of satellites whose "detection status" is "abnormal", and n≥2; Let P be the value of the central chi-square distribution of n-1 degrees of freedom at probability P, where the typical value of P is 0.001. In summary, when equation (6) is satisfied, the terminal device can further correct the detection status of satellites that have been corrected to an abnormal detection status during the first-level detection process, correcting them to an usable detection status. However, when equation (6) is not satisfied, the terminal device does not correct the detection status of satellites that have been corrected to an abnormal detection status during the first-level detection process, meaning they remain in an abnormal detection status.

[0122] In the first-level detection, dSISE primarily determines anomalies through temporal changes. When satellite corrections change consistently, a large number of satellites may issue alarms simultaneously, resulting in false alarms. Therefore, the above embodiment enables second-level detection to address potential false alarms, allowing for judgment and correction, and ensuring the accuracy of satellite detection status.

[0123] 409. Based on the corrected detection status of each satellite in a non-abnormal detection state, determine the target satellite in a usable detection state.

[0124] In this embodiment of the application, the terminal device determines the target satellites as those with a usable detection status and those with a downweighted usable detection status, based on the detection status of each satellite after primary and secondary detection.

[0125] 410. Construct the filtering equation in the Kalman filter algorithm based on the target satellites in the available detection state, and adjust the noise matrix of the filtering equation in the Kalman filter algorithm based on the satellites in the reduced-weight available detection state to obtain the adjusted Kalman filter algorithm.

[0126] In this embodiment of the application, before constructing the filtering equation of the Kalman algorithm, the terminal device may first establish the non-difference measurement equation, as shown in equation (7).

[0127]

[0128] Where v is the residual vector of code pseudorange and carrier phase, v includes the code pseudorange residual. and carrier phase residual All units are meters, 'i' is the satellite identifier; pr IF and ph IF , respectively, are the code pseudorange and carrier phase measurements without ionospheric combination, in meters; r is the satellite position corrected by WADPS [X pre Y pre Z pre ] and user location calculation position [X u Y u Z u The calculated geometric distances are all in meters; c is the speed of light, in meters per second. T is the satellite clock bias corrected for WADPS. u The clock bias calculated for user positioning is in seconds. i The real-time estimated carrier phase ionospheric combined ambiguity is expressed in meters; Trop is the tropospheric delay calculated by the model, also in meters; f a and f b Different GNSS signal frequencies, in MHz; ph a and ph b The carrier phase measurements are for different GNSS signal frequency points, in meters; H kThe k-th row of the observation matrix contains the first three columns, which are the direction vectors from the user to the corresponding satellite, calculated based on the user and satellite positions. The following m columns represent the receiver clock bias terms for different systems, configured based on the GNSS constellation used for positioning. When the current satellite belongs to a certain constellation, the corresponding... Set to -1, otherwise set to 0; For the ambiguity term of satellite ik, when H k When the corresponding observation residual is the code pseudorange, its value is 0. When the corresponding observation residual is the carrier phase, it is the carrier wavelength of the corresponding signal, in meters. X is the parameter vector to be estimated. The first three rows are the three-dimensional user position coordinates, and the following m columns are the receiver clock biases of different systems, all in meters. dTrop is the tropospheric delay to be estimated after eliminating model delay, bias... ik The ionospheric carrier phase ambiguity parameter for satellite IK is expressed in weeks.

[0129] The terminal equipment calculates the state observation noise matrix R based on the detection status of the target satellite, specifically the detection status of each satellite after primary and secondary detection, the satellites with a detection status of available detection, and the satellites with a downgraded available detection status due to the failure to broadcast satellite correction data, and in combination with the satellite elevation angle weight, as shown in the following equation (8).

[0130]

[0131] Among them, w i,p Here, represents the weight of the observation corresponding to satellite i, and σ represents the variance of the observation noise. i,p 2 The reciprocal of , where p represents code pseudorange noise when p is pr, and carrier phase noise when p is ph. The observation noise variance σ i,p 2 E is the satellite elevation angle, calculated by weighting the satellite's elevation angle and its "detection status" in degrees; σ is the satellite elevation angle. p 2 The measurement accuracy is for code pseudorange or carrier phase, measured in square meters; W i The weighting coefficient for the satellite's "detection status" is set under the following conditions: the detection status is the W value of the satellite in an available detection status. i A value of 1.0 indicates that satellites in an abnormal detection state are not used for positioning calculations; satellites in a deweighted, usable detection state have a W value. i The value is amplified, with a typical value of 5.0.

[0132] Under this setting, the terminal device completes the positioning calculation through Kalman filtering to obtain location and time information. The Kalman filtering equation is shown in equation (9).

[0133]

[0134] Where H is the observation matrix, X t Let v be the state variable estimated for this epoch, v be the measurement residual observation (see Equation (7)); R be the noise matrix (see Equation (8)); and Φ be the noise matrix. t|t-1 X is the extrapolation model matrix; Q is the model noise; X is the extrapolation model matrix. t|t-1 P is the state estimator of the current epoch from the previous epoch; t|t-1 K is the covariance matrix of the state estimate of the previous epoch to the current epoch; K is the gain matrix of the observations in the current epoch; and I is the identity matrix.

[0135] 411. The adjusted Kalman filter algorithm is used to calculate the GNSS observation data to obtain the positioning information, which includes location information and time information.

[0136] In this embodiment, the terminal device uses the constructed and adjusted Kalman filter equation described above to calculate the GNSS observation data and obtain positioning information.

[0137] By using the above embodiments, satellites in abnormal states can be eliminated during the positioning calculation process, avoiding the impact of abnormal data on the calculation results and improving the accuracy and reliability of positioning.

[0138] In one embodiment, see Figure 5 , Figure 5 This is a flowchart illustrating a data verification process in a data fusion-based positioning method according to an embodiment of this application. This method can be applied to, for example... Figure 1 The terminal device 10 in the illustrated application scenario. For example... Figure 5 As shown, the method may include the following steps:

[0139] 510. Determine the carrier phase residuals corresponding to each GNSS satellite based on the positioning information, GNSS observation data, and wide-area differential correction data.

[0140] In this embodiment of the application, the terminal device can determine the satellite carrier phase residual based on the positioning information obtained by positioning calculation, the precision orbit and clock error data corrected by the correction data of WADPS for high-precision positioning, and the satellite carrier phase observation value received by the terminal device receiver, that is, based on the above formula (7).

[0141] 520. Determine the verification status of each satellite based on the carrier phase residuals corresponding to each satellite.

[0142] In this embodiment of the application, the terminal device can verify each satellite based on the carrier phase residual corresponding to each satellite, and determine the verification status of each satellite.

[0143] 530. Based on the verification status and detection status of each satellite, determine the final status of each satellite in the current epoch.

[0144] In this embodiment of the application, the terminal device can determine the final state of each satellite in the current epoch based on the verification state and detection state of each satellite. For example, the specific detection state and the specific verification state of a satellite have different weights. The terminal device can select the one with the greater weight from the detection state and the verification state as the final state of the satellite in the current epoch.

[0145] By employing the above embodiments, satellite data can be verified, thereby supplementing the verification of false alarms and missed alarms that may occur during the data detection process, and improving the reliability and accuracy of the detection.

[0146] In one embodiment, see Figure 6 , Figure 6 This is a flowchart illustrating another data verification process in the data fusion-based positioning method described in this application embodiment. This method can be applied to, for example... Figure 1 The terminal device 10 in the illustrated application scenario. For example... Figure 6 As shown, the method may include the following steps:

[0147] 610. Determine the carrier phase residuals corresponding to each GNSS satellite based on the positioning information, GNSS observation data, and wide-area differential correction data.

[0148] 620. If the carrier phase residual corresponding to a satellite meets the verification threshold, the verification status of that satellite is determined to be an available verification status. Otherwise, the verification status of that satellite is determined to be an abnormal verification status.

[0149] In this embodiment of the application, after the terminal device calculates the carrier phase residual corresponding to each satellite according to equation (7), it can statistically analyze the carrier phase residual corresponding to the satellites whose detection status is available, and calculate the mean value μ of the carrier phase residual. resi and carrier phase residual standard deviation σ resi .

[0150] The terminal equipment uses the mean value of the carrier phase residual μ resi and carrier phase residual standard deviation σ resi To determine whether the carrier phase residuals corresponding to each satellite meet the verification threshold, as shown in equation (10),

[0151] |resi ph -μ resi | <K chk,1 ·σ resi Equation (10)

[0152] Among them, K chk,1 This is the residual verification threshold coefficient, with a typical value of 3.29.

[0153] For a satellite whose corresponding carrier phase residual satisfies equation (10), the terminal device sets the satellite's verification status to an available verification status; otherwise, it sets the satellite's verification status to an abnormal verification status.

[0154] 630. Based on the dSISE data corresponding to each satellite in the available verification state, calculate the smoothed dSISE sequence of each satellite in the available verification state, and determine the mean and standard deviation of the dSISE data for the current epoch based on the smoothed dSISE sequence of each satellite in the available verification state.

[0155] In this embodiment, the process of the terminal device verifying the satellite's carrier phase residual can be considered as a first-level verification. After performing the first-level verification, the terminal device can perform a second-level verification to determine whether the satellite's verification status needs to be corrected. The terminal device can first statistically analyze the smoothed dSISE sequence of each satellite in the current epoch that is in a usable verification state, specifically the ΔdSISE of each satellite in the usable verification state. i The sequence is then processed by the terminal device based on the ΔdSISE of each satellite in the available verification state. i The sequence determines the ΔdSISE of each satellite in the current epoch that is in a verifiable state. i The mean μ of the sequence ΔdSISE,i ′ and standard deviation

[0156] 640. If the mean of the dSISE data at the current epoch meets the mean verification threshold, and the standard deviation of the dSISE data at the current epoch meets the standard deviation verification threshold, the verification status of each satellite in the available verification state shall be maintained as available verification state. Otherwise, the verification status of each satellite in the available verification state shall be corrected to the abnormal verification state.

[0157] In this embodiment of the application, the terminal device will set the ΔdSISE of each satellite that is in an available verification state at the current epoch. i The mean μ of the sequence ΔdSISE,i ′ and standard deviation μ calculated with the previous epochs respectively ΔdSISE,i and The comparison is performed to determine whether the result of the mean comparison meets the mean check threshold, and whether the result of the standard deviation comparison meets the standard deviation check threshold. The specific judgment formula is shown in Equation (11).

[0158]

[0159] Among them, TH chk,2 The mean verification threshold is typically set to 0.05m; K chk,2 This is the standard deviation check threshold, with a typical value of 10.0.

[0160] The terminal device will correct the satellite verification status that satisfies equation (11) to an available verification status, and will change the ΔdSISE of the current epoch. i Add ΔdSISE to the value i Sequence, and μ ΔdSISE,i and The value is updated to μ ΔdSISE,i 'and Otherwise, correct the satellite's verification status to an abnormal verification status and do not update ΔdSISE. i Sequence, μ ΔdSISE,i and value.

[0161] By adopting the above embodiments, the distribution characteristics of the residual after positioning are used in the data verification process to model and verify the distribution consistency of normalized data, and to make more effective supplementary verification for false alarms and missed alarms that may exist in the data detection process, thereby further improving the reliability and accuracy of detection.

[0162] 650. When a satellite has a corresponding verification status and detection status, the verification status of the satellite is determined as the final status of the satellite in the current epoch.

[0163] 660. When a satellite has a detection state but no corresponding verification state, the detection state of that satellite shall be determined as the final state of that satellite in the current epoch.

[0164] In this embodiment of the application, for each satellite, when the satellite has a corresponding detection state but no corresponding verification state, the terminal device determines the detection state of the satellite as the final state of the satellite in the current epoch; when the satellite has both a corresponding detection state and a corresponding verification state, the terminal device determines the verification state of the satellite as the final state of the satellite in the current epoch.

[0165] For example, if the satellite's detection status is an available detection status and the satellite does not have a corresponding verification status, then the satellite's final status is an available status; if the satellite's detection status is an available detection status and the satellite's corresponding verification status is an abnormal verification status, then the satellite's final status is an abnormal status.

[0166] By using the above embodiments, the accuracy of the final determined state can be improved.

[0167] In some embodiments, the terminal device can use the final state of the satellite in the current epoch as the input for the next epoch, and iteratively repeat the above process to achieve real-time high-precision positioning calculation. Furthermore, the terminal device can store the dSISE sequence as input for satellite detection in subsequent epochs. When the final state of the satellite in the current epoch is an abnormal state, all data in the dSISE sequence is cleared, and the cumulative time count of the dSISE smoothing is reset to zero.

[0168] Please see Figure 7 , Figure 7 This is a schematic diagram of a data fusion-based positioning device disclosed in an embodiment of this application. This data fusion-based positioning device can be applied to terminal devices. Figure 7 As shown, the data fusion-based positioning device 700 may include: a data acquisition module 710, a detection status module 720, and a satellite positioning module 730.

[0169] The data acquisition module 710 is used to acquire positioning data, which includes GNSS observation data from the Global Navigation Satellite System and multiple wide-area differential correction data. The multiple wide-area differential correction data are obtained from at least two different wide-area differential positioning systems (WADPS).

[0170] The detection status module 720 is used to determine the differential spatial signal error (dSISE) data corresponding to each GNSS satellite based on multiple wide-area differential correction data, and to determine the target satellite in the available detection status based on the dSISE data corresponding to each satellite.

[0171] The satellite positioning module 730 is used to calculate the positioning information from GNSS observation data using the Kalman filter algorithm. The filtering equation in the Kalman filter is determined based on the target satellite.

[0172] In some embodiments, the detection status module 720 is further configured to:

[0173] The final state of each satellite in the previous epoch of GNSS is obtained, and the initial detection state of each satellite is determined based on the final state of each satellite in the previous epoch of GNSS and multiple wide-area differential correction data. The initial detection state includes non-abnormal detection state and abnormal detection state.

[0174] Based on multiple wide-area differential correction data, determine the dSISE data corresponding to the satellites in the non-abnormal detection state, and correct the initial detection state of each satellite in the non-abnormal detection state based on the dSISE data corresponding to each satellite in the non-abnormal detection state, to obtain the corrected detection state of each satellite in the non-abnormal detection state.

[0175] Based on the corrected detection status of each satellite that is in a non-abnormal detection state, the target satellite that is in a usable detection state is determined.

[0176] In some embodiments, the detection status module 720 is further configured to:

[0177] The GNSS observation data are corrected based on multiple wide-area differential correction data to obtain the satellite orbits and clock errors of each GNSS satellite under the correction of each wide-area differential system.

[0178] The satellite orbits and clock errors of each satellite in the non-anomaly detection state are subtracted and coordinate transformed under the correction of each wide-area differential system to determine the corresponding dSISE data of each satellite in the non-anomaly detection state.

[0179] Based on the threshold corresponding to each dSISE data, a first-level detection is performed on the dSISE data corresponding to each satellite in the non-anomaly detection state. Based on the first-level detection results, the initial detection state corresponding to each satellite in the non-anomaly detection state is corrected to obtain the corrected detection state of each satellite in the non-anomaly detection state.

[0180] In some embodiments, the detection status module 720 is further configured to:

[0181] The alarm dSISE data is determined based on the relationship between the dSISE data corresponding to the first satellite and the threshold corresponding to each dSISE data, and the number of alarm dSISE data corresponding to the first satellite is counted. When a certain dSISE data is greater than the corresponding threshold, the certain dSISE data is determined as alarm dSISE data. The first satellite is any one of the satellites in the non-abnormal detection state.

[0182] If the number of alarm dSISE data corresponding to the first satellite is greater than the alarm threshold, the initial detection status corresponding to the first satellite will be corrected to the abnormal detection status; otherwise, the initial detection status corresponding to the first satellite will be corrected to the available detection status.

[0183] In some embodiments, the detection status module 720 is further configured to:

[0184] After performing first-level detection on the dSISE data of each satellite in the non-abnormal detection state according to the threshold corresponding to each dSISE data, and correcting the initial detection state of each satellite in the non-abnormal detection state according to the first-level detection results, and obtaining the corrected detection state of each satellite in the non-abnormal detection state, if the number of satellites whose initial detection state is corrected to the abnormal detection state is greater than the number threshold, the smoothed dSISE sequence before the current epoch is obtained, and the mean and standard deviation of the dSISE data before the current epoch are calculated according to the smoothed dSISE sequence.

[0185] Determine the normalized smoothed dSISE sequence based on the mean and standard deviation of the dSISE data prior to the current epoch;

[0186] Using the chi-square detection algorithm, secondary detection is performed on satellites in anomaly detection state based on the normalized smoothed dSISE sequence. The detection state of satellites in anomaly detection state that pass the secondary detection is corrected to an available detection state, and the detection state of satellites in anomaly detection state that fail the secondary detection is maintained as anomaly detection state.

[0187] In some embodiments, the satellite positioning module 730 is further configured to:

[0188] The filtering equations in the Kalman filter algorithm are constructed based on the target satellites in the available detection state, and the noise matrix of the filtering equations in the Kalman filter algorithm is adjusted based on the satellites in the deweighted available detection state to obtain the adjusted Kalman filter algorithm.

[0189] The adjusted Kalman filter algorithm is used to calculate the positioning information from the GNSS observation data. The positioning information includes location information and time information.

[0190] In some embodiments, Figure 7 The data fusion-based positioning device shown also includes:

[0191] The verification status module 740 is used to determine the carrier phase residuals corresponding to each GNSS satellite based on the positioning information, GNSS observation data, and wide-area differential correction data used for positioning calculation after calculating the positioning information using the Kalman filter algorithm on the GNSS observation data.

[0192] The verification status of each satellite is determined based on the carrier phase residuals corresponding to each satellite.

[0193] Based on the verification and detection status of each satellite, determine the final status of each satellite in the current epoch.

[0194] In some embodiments, the verification status module 740 is further configured to:

[0195] If the carrier phase residual corresponding to a certain satellite meets the verification threshold, the verification status of that satellite is determined to be an available verification status; otherwise, the verification status of that satellite is determined to be an abnormal verification status.

[0196] Based on the dSISE data corresponding to each satellite in the available verification state, the smoothed dSISE sequence of each satellite in the available verification state is statistically analyzed, and the mean and standard deviation of the dSISE data for the current epoch are determined based on the smoothed dSISE sequence of each satellite in the available verification state.

[0197] If the mean of the dSISE data at the current epoch meets the mean verification threshold and the standard deviation of the dSISE data at the current epoch meets the standard deviation verification threshold, the verification status of each satellite in the available verification status will be maintained as available verification status; otherwise, the verification status of each satellite in the available verification status will be corrected to the abnormal verification status.

[0198] In some embodiments, the verification status module 740 is further configured to:

[0199] When a satellite has a corresponding verification status and detection status, the verification status of that satellite is determined as the final status of that satellite in the current epoch.

[0200] When a satellite has a detection status but no corresponding verification status, the detection status of that satellite is determined as the final status of that satellite in the current epoch.

[0201] Please see Figure 8 , Figure 8 This is a schematic diagram of the structure of a terminal device disclosed in one embodiment. This terminal device can be applied to mobile phones, computers, vehicles, or ships, etc., and is not specifically limited thereto. Figure 8 As shown, the terminal device 800 may include:

[0202] Memory 810 storing executable program code;

[0203] Processor 820 coupled to memory 810;

[0204] The processor 820 calls the executable program code stored in the memory 810 to execute any of the data fusion-based positioning methods disclosed in the embodiments of this application.

[0205] This application discloses a computer-readable storage medium storing a computer program that causes a computer to execute any of the data fusion-based positioning methods disclosed in this application.

[0206] This application discloses a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to execute any of the data fusion-based positioning methods disclosed in this application.

[0207] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Those skilled in the art should also recognize that the embodiments described in the specification are optional embodiments, and the actions and modules involved are not necessarily essential to this application.

[0208] In the various embodiments of this application, it should be understood that the sequence number of each process does not necessarily imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0209] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; they can be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0210] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0211] If the aforementioned integrated units are implemented as software functional units and sold or used as independent products, they can be stored in a computer-accessible memory. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several requests to cause a computer device (which can be a personal computer, server, or network device, specifically a processor in the computer device) to execute some or all of the steps of the methods described in the various embodiments of this application.

[0212] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, including read-only memory (ROM), random access memory (RAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), one-time programmable read-only memory (OTPROM), electrically-Erasable Programmable Read-Only Memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, disk storage, magnetic tape storage, or any other computer-readable medium capable of carrying or storing data.

[0213] The foregoing has provided a detailed description of a data fusion-based positioning method, apparatus, terminal device, and storage medium disclosed in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and its core ideas. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A positioning method based on data fusion, characterized in that, The method includes: The positioning data includes Global Navigation Satellite System (GNSS) observation data and multiple wide-area differential correction data, which are obtained from at least two different wide-area differential positioning systems (WADPS). Based on the multiple wide-area differential correction data, determine the differential spatial signal error (dSISE) data corresponding to each GNSS satellite, and determine the target satellite in an available detection state based on the dSISE data corresponding to each satellite. The Kalman filter algorithm is used to calculate the positioning information from the GNSS observation data. The filtering equation in the Kalman filter is determined based on the target satellite. The step of determining the differential spatial signal error (dSISE) data corresponding to each GNSS satellite based on the multiple wide-area differential correction data, and determining the target satellite in a usable detection state based on the dSISE data corresponding to each satellite, includes: The final state of each satellite in the previous epoch of GNSS is obtained, and the initial detection state of each satellite is determined based on the final state of each satellite in the previous epoch of GNSS and the multiple wide-area differential correction data. The initial detection state includes non-abnormal detection state and abnormal detection state. Based on the multiple wide-area differential correction data, determine the dSISE data corresponding to the satellites in the non-abnormal detection state, and correct the initial detection state of each satellite in the non-abnormal detection state based on the dSISE data corresponding to each satellite in the non-abnormal detection state, to obtain the corrected detection state of each satellite in the non-abnormal detection state. Based on the corrected detection status of each satellite in a non-abnormal detection state, the target satellite in a usable detection state is determined.

2. The method according to claim 1, characterized in that, The step of determining the dSISE data corresponding to the satellites in a non-abnormal detection state based on the multiple wide-area differential correction data, and correcting the initial detection state of each satellite in a non-abnormal detection state based on the dSISE data corresponding to each satellite in a non-abnormal detection state, to obtain the corrected detection state of each satellite in a non-abnormal detection state, includes: The GNSS observation data is corrected based on multiple wide-area differential correction data to obtain the satellite orbits and clock errors of each GNSS satellite under the correction of each wide-area differential system; The satellite orbits and clock errors of each satellite in the non-anomaly detection state under the correction of each wide-area differential system are subtracted and the coordinates are transformed to determine the dSISE data corresponding to each satellite in the non-anomaly detection state. Based on the threshold corresponding to each of the dSISE data, a first-level detection is performed on the dSISE data corresponding to each satellite in the non-abnormal detection state, and the initial detection state corresponding to each satellite in the non-abnormal detection state is corrected based on the first-level detection result, so as to obtain the corrected detection state of each satellite in the non-abnormal detection state.

3. The method according to claim 2, characterized in that, The step of performing primary detection on the dSISE data corresponding to each satellite in the non-abnormal detection state according to the threshold corresponding to each of the dSISE data, and correcting the initial detection state corresponding to each satellite in the non-abnormal detection state according to the primary detection result, to obtain the corrected detection state of each satellite in the non-abnormal detection state, includes: The alarm dSISE data is determined based on the relationship between each dSISE data corresponding to the first satellite and the threshold corresponding to each dSISE data, and the number of alarm dSISE data corresponding to the first satellite is counted. When a certain dSISE data is greater than the corresponding threshold, the certain dSISE data is determined to be alarm dSISE data. The first satellite is any one of the satellites in the non-abnormal detection state. If the number of alarm dSISE data corresponding to the first satellite is greater than the alarm threshold, the initial detection state corresponding to the first satellite is corrected to the abnormal detection state; otherwise, the initial detection state corresponding to the first satellite is corrected to the available detection state.

4. The method according to claim 3, characterized in that, After performing primary detection on the dSISE data corresponding to each satellite in the non-abnormal detection state according to the threshold corresponding to each of the dSISE data, and correcting the initial detection state corresponding to each satellite in the non-abnormal detection state according to the primary detection result, to obtain the corrected detection state of each satellite in the non-abnormal detection state, the method further includes: When the number of satellites whose initial detection state is corrected to the abnormal detection state is greater than the number threshold, the smoothed dSISE sequence before the current epoch is obtained, and the mean and standard deviation of the dSISE data before the current epoch are calculated based on the smoothed dSISE sequence. The normalized smoothed dSISE sequence is determined based on the mean and standard deviation of the dSISE data prior to the current epoch. Using the chi-square detection algorithm, secondary detection is performed on satellites in anomaly detection state based on the normalized smoothed dSISE sequence. The detection state of satellites in anomaly detection state that pass the secondary detection is corrected to an available detection state. The detection state of satellites in anomaly detection state that fail the secondary detection is maintained as the anomaly detection state.

5. The method according to claim 1, characterized in that, The Kalman filter algorithm is used to calculate the positioning information from the GNSS observation data. The filtering equation in the Kalman filter is determined based on the target satellite and includes: The filtering equations in the Kalman filter algorithm are constructed based on the target satellites in the available detection state, and the noise matrix of the filtering equations in the Kalman filter algorithm is adjusted based on the satellites in the deweighted available detection state to obtain the adjusted Kalman filter algorithm. The adjusted Kalman filter algorithm is used to calculate the GNSS observation data to obtain positioning information, which includes location information and time information.

6. The method according to any one of claims 1 to 5, characterized in that, After using the Kalman filter algorithm to calculate the positioning information from the GNSS observation data, the method further includes: The carrier phase residuals corresponding to each GNSS satellite are determined based on the positioning information, GNSS observation data, and wide-area differential correction data. The verification status of each satellite is determined based on the carrier phase residuals corresponding to each satellite. Based on the verification and detection status of each satellite, the final status of each satellite in the current epoch is determined.

7. The method according to claim 6, characterized in that, The step of determining the verification status of each satellite based on the carrier phase residuals of each satellite includes: If the carrier phase residual corresponding to a certain satellite meets the verification threshold, the verification status of the satellite is determined to be an available verification status; otherwise, the verification status of the satellite is determined to be an abnormal verification status. Based on the dSISE data corresponding to each satellite in the available verification state, the smoothed dSISE sequence of each satellite in the available verification state is statistically analyzed, and the mean and standard deviation of the dSISE data for the current epoch are determined based on the smoothed dSISE sequence of each satellite in the available verification state. If the mean of the dSISE data in the current epoch meets the mean verification threshold and the standard deviation of the dSISE data in the current epoch meets the standard deviation verification threshold, the verification status of each satellite in the available verification status will be maintained as the available verification status; otherwise, the verification status of each satellite in the available verification status will be corrected to the abnormal verification status.

8. The method according to claim 6, characterized in that, The step of determining the final state of each satellite in the current epoch based on the verification and detection states of each satellite includes: When a satellite has a corresponding verification status and detection status, the verification status of the satellite is determined as the final status of the satellite in the current epoch. When a satellite has a detection state but no corresponding verification state, the detection state of the satellite is determined as the final state of the satellite in the current epoch.

9. A positioning device based on data fusion, characterized in that, The device includes: The data acquisition module is used to acquire positioning data, which includes Global Navigation Satellite System (GNSS) observation data and multiple wide-area differential correction data, which are obtained from at least two different wide-area differential positioning systems (WADPS). The detection status module is used to determine the differential spatial signal error (dSISE) data corresponding to each GNSS satellite based on the multiple wide-area differential correction data, and to determine the target satellite in the available detection status based on the dSISE data corresponding to each satellite. The satellite positioning module is used to calculate the positioning information from the GNSS observation data using the Kalman filter algorithm. The filter equation in the Kalman filter is determined based on the target satellite. The detection status module is also used to obtain the final status of each satellite of the previous epoch GNSS, and determine the initial detection status of each satellite based on the final status of each satellite of the previous epoch GNSS and the multiple wide-area differential correction data. The initial detection status includes non-abnormal detection status and abnormal detection status. Based on the multiple wide-area differential correction data, determine the dSISE data corresponding to the satellites in the non-abnormal detection state, and correct the initial detection state of each satellite in the non-abnormal detection state based on the dSISE data corresponding to each satellite in the non-abnormal detection state, to obtain the corrected detection state of each satellite in the non-abnormal detection state. Based on the corrected detection status of each satellite in a non-abnormal detection state, the target satellite in a usable detection state is determined.

10. A terminal device, characterized in that, The system includes a memory and a processor, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform the method as described in any one of claims 1 to 8.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 8.