Deep learning and filter coupling driving satellite positioning method and device and medium

Through the satellite positioning method coupled with the filter, the least squares method and deep learning model of the observation pseudorange and model pseudorange are used to adaptively adjust the noise parameters, solving the problem of noise in traditional satellite positioning and improving the accuracy and robustness of satellite positioning.

CN120468899APending Publication Date: 2025-08-12TSINGHUA UNIVERSITY
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510668355.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-22
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

In traditional satellite positioning methods, process noise and measurement noise cannot be adjusted adaptively, resulting in low positioning accuracy, especially in urban environments.

Method used

Through the coupling of deep learning and filter, the observation pseudorange and model pseudorange between the receiver and the satellite are used to determine the coarse positioning results based on the least squares method, the observation quality characteristics are extracted, and the deep learning model is input to estimate the noise covariance matrix and noise compensation value, and the filter state vector is updated to improve positioning accuracy.

Benefits of technology

Effectively compensate for environmental noise and errors, improve the accuracy and robustness of satellite positioning, and significantly improve positioning accuracy in urban environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120468899A_ABST
    Figure CN120468899A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of navigation positioning, and discloses a satellite positioning method and device based on deep learning and filter coupling driving, and a medium. Determining a coarse positioning result of the receiver based on a least square method by using an observation pseudo-range between the receiver and each satellite and a model pseudo-range between the receiver and each satellite obtained by modeling; extracting observation quality features based on a coarse positioning result; inputting the observation quality features into a noise estimation model obtained based on deep learning to obtain a measurement noise covariance matrix and a noise compensation value; determining a state vector of a filter at an initial moment based on the coarse positioning result, and updating the state vector of the filter step by step based on the measurement noise covariance matrix and the noise compensation value to obtain a state vector at a to-be-estimated moment, the state vector at the to-be-estimated moment comprising a positioning result of the receiver at the to-be-estimated moment; noise and errors in the environment can be effectively compensated, so that the influence of the noise and the errors is effectively reduced, and the accuracy of satellite positioning is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of navigation and positioning technology, and in particular to a satellite positioning method, device, and medium driven by deep learning and filter coupling. Background Art

[0002] The Global Navigation Satellite System (GNSS) is crucial for providing absolute positioning on Earth and is the foundation for advanced applications such as autonomous driving and smart cities. The GNSS-based satellite positioning process generally involves GNSS satellites continuously transmitting radio signals containing their precise position and time to Earth. Receivers on the ground or in the air receive these radio signals and use them to determine their own position. However, satellite positioning systems face numerous limitations, particularly in urban canyon environments, where they are susceptible to multipath effects and interference from non-line-of-sight (NLOS) signals, which can severely impact positioning accuracy.

[0003] To improve satellite positioning accuracy, one current solution is to integrate additional sensors. A widely adopted approach is the integrated satellite / inertial navigation system (GNSS / INS) navigation system. These methods enhance the robustness of the positioning system by incorporating inertial information. However, when GNSS signals are lost for extended periods, the drift of the inertial navigation system can cause the entire positioning system to fail. To address this issue, many approaches further integrate cameras into the framework.

[0004] Although utilizing the redundant information of additional sensors can improve the positioning performance of the system, this approach will also increase the complexity and cost of the system.

[0005] Another solution is to integrate traditional machine learning methods with GNSS. Recent advances in artificial intelligence (AI) have had a significant impact on the development of various technologies, especially in the field of autonomous driving. Machine learning (ML) methods have shown significant progress in handling dynamic and complex problems, and have surpassed traditional mathematical methods under changing environmental conditions and scenarios. Machine learning techniques excel by accurately modeling the complex nonlinear relationships between system variables, maintaining a balance between scalability and efficiency. By integrating AI with GNSS, positioning performance in urban environments can be improved without relying on additional sensors, which has become a promising research direction. For example, Siemuri et al. have detailed the application of AI in various aspects of GNSS.

[0006] Currently, many researchers are combining traditional machine learning techniques with GNSS to improve satellite positioning performance. For example, Sun et al. applied a random forest model to correct pseudorange errors in urban GNSS, thereby improving horizontal accuracy. Zhang et al. proposed a GNSS NLOS error identification method based on a lightweight gradient boosting machine (LightGBM).

[0007] However, traditional machine learning methods may have certain limitations compared to deep learning (DL) methods. In particular, LightGBM's leaf node growth method may lead to overfitting, which is especially serious when dealing with small datasets or a limited number of features.

[0008] Since deep learning models have stronger representation capabilities and adaptive feature selection, they are usually better able to cope with severe overfitting problems. Therefore, another solution is to integrate existing deep learning with GNSS. Currently, the combination of deep learning and GNSS is driving interdisciplinary research to enhance satellite visibility prediction and error correction. Zhang et al. used a deep learning model that combines fully connected neural networks (FCNN) and long short-term memory networks (LSTM) to predict satellite visibility and pseudorange errors, demonstrating the ability of deep learning in extracting environmental features. Zheng et al. proposed a graph transformer neural network (GTNN) model based on graph neural network (GNN) and multi-head attention to model satellite interactions and process irregular GNSS measurements through graph-based aggregation methods. Xu et al. transformed the NLOS and multipath problems into graph tasks by using the Single Differenced Residual (SDRes) graph, solving problems such as positioning, signal prediction, satellite weighting, and error calculation, and further integrated deep learning methods to alleviate GNSS errors.

[0009] While the aforementioned deep learning methods have achieved some success in signal recognition and error correction, they have yet to achieve a tight coupling between deep learning methods and estimators. Developing robust estimators to improve the reliability and smoothness of state estimates is crucial for navigation and positioning.

[0010] In order to combine deep learning with traditional estimators to improve the robustness and accuracy of GNSS positioning. Hu et al. developed an open source Tapped Delay Line (TDL)-GNSS framework, which realized the coupling of fully connected layers and least squares estimation. Mohanty et al. combined the Graph Convolutional Neural Network (GCNN) with the Kalman Filter (KF) to propose a hybrid GNSS positioning method. Later, they coupled the GNN with the Bayesian Kalman Filter (BKF) to further improve the fine correction of smartphone GNSS-based positioning. Ding et al. proposed the Learning-based Estimation of Adaptive Robustness (LEAR)-EKF, which enhanced the robustness of GNSS navigation, especially in dynamic environments, by inferring the Huber loss hyperparameters from satellite data.

[0011] Among the aforementioned methods, filtering algorithms, such as the Extended Kalman Filter (EKF), are widely used in satellite positioning. Compared to graph optimization algorithms, the EKF has lower computational overhead. However, these methods cannot adaptively adjust process noise and measurement noise. Inappropriate noise parameter values can lead to reduced estimation accuracy or even filter divergence. Therefore, proper adjustment of these noise parameters is crucial to the performance of the filtering algorithm. Summary of the Invention

[0012] In view of this, the present disclosure proposes a satellite positioning method, device and medium driven by deep learning and filter coupling, which can solve the problem of low positioning accuracy in traditional satellite positioning methods due to the inability to adaptively adjust process noise and measurement noise.

[0013] According to one aspect of the present disclosure, a satellite positioning method driven by deep learning and filter coupling is provided, the method comprising:

[0014] Determine a coarse positioning result of the receiver based on a least squares method using the observed pseudoranges between the receiver and each satellite and the modeled pseudoranges between the receiver and each satellite obtained by modeling;

[0015] extracting observation quality features based on the coarse positioning result;

[0016] Inputting the observation quality features into a noise estimation model obtained based on deep learning to obtain a measurement noise covariance matrix and a noise compensation value;

[0017] Based on the coarse positioning result, the state vector of the filter at the initial moment is determined, and the state vector of the filter is gradually updated based on the measurement noise covariance matrix and the noise compensation value to obtain the state vector at the time to be estimated, where the state vector at the time to be estimated includes the positioning result of the receiver at the time to be estimated.

[0018] In one possible implementation, determining a coarse positioning result of the receiver based on a least squares method using the observed pseudoranges between the receiver and each satellite and the modeled pseudoranges between the receiver and each satellite obtained through modeling includes:

[0019] Based on the satellite signal of each satellite received by the receiver, obtaining the satellite position and the observed pseudorange of the satellite;

[0020] Inputting the satellite position into a pre-established pseudorange measurement equation to obtain a model pseudorange; the pseudorange measurement equation uses at least the receiver position of the receiver and the receiver clock error as a receiver state vector;

[0021] With the goal of minimizing the residual between the observed pseudorange and the model pseudorange, the receiver state vector is gradually updated based on the least squares method to obtain an updated receiver state vector, where the receiver position in the updated receiver state vector is the coarse positioning result.

[0022] In one possible implementation, the receiver performs satellite positioning based on satellite signals transmitted by satellites in at least two satellite systems. Accordingly, the receiver state vector also includes an inter-system bias, and the receiver clock error includes clock errors for different satellite systems.

[0023] In a possible implementation, extracting the observation quality feature based on the coarse positioning result includes:

[0024] determining an elevation angle of each satellite relative to the receiver based on the coarse positioning result;

[0025] and / or,

[0026] determining an azimuth angle of each satellite relative to the receiver based on the coarse positioning result;

[0027] and / or,

[0028] Determining a geometric distance between each satellite and the receiver based on the coarse positioning result; determining a pseudorange residual between the observed pseudorange and the geometric distance based on an observed pseudorange between the receiver and the satellite and the geometric distance;

[0029] and / or,

[0030] Based on the coarse positioning result, the elevation angle and azimuth angle of each satellite relative to the receiver are determined, and a first distribution relationship matrix including the distribution of all satellites relative to the receiver and a second distribution relationship matrix excluding the distribution of the nth satellite relative to the receiver are generated; based on the first distribution relationship matrix, a first dilution of precision when all satellites are included is determined; based on the second distribution relationship matrix, a second dilution of precision when the nth satellite is excluded is determined; based on the difference between the first dilution of precision and the second dilution of precision, a dilution of precision contribution of the nth satellite is determined; wherein n is a positive integer starting from 1.

[0031] In a possible implementation, the observation quality feature further includes a signal-to-noise ratio of a satellite signal.

[0032] In one possible implementation, inputting the observation quality feature into a noise estimation model obtained based on deep learning to obtain a measurement noise covariance matrix and a noise compensation value includes:

[0033] After converting the observation quality features into input vectors, the input vectors are fused through the multi-head attention layer of the noise estimation model to obtain weighted satellite features;

[0034] Combining the weighted satellite features with the input vector and inputting the combined vectors into a normalization layer of the noise estimation model for normalization to obtain normalized satellite features;

[0035] Inputting the normalized satellite features into the fully connected layer of the noise estimation model for nonlinear transformation to obtain enhanced satellite features;

[0036] The enhanced satellite features are input into the output layer of the noise estimation model to obtain a two-dimensional output, where the two-dimensional output includes the measurement noise covariance matrix and a noise compensation value corresponding to each satellite.

[0037] In one possible implementation, the loss value of the noise estimation model during the training process is obtained by adjusting the basic loss value using a dynamic weight factor; the basic loss value is used to indicate the difference between the predicted positioning result and the actual positioning result corresponding to each observed pseudorange sample, and the greater the difference, the greater the basic loss value;

[0038] The weight factor is positively correlated with the basic loss; or the weight factor is positively correlated with the basic loss and negatively correlated with a preset dynamic parameter, and the dynamic parameter is negatively correlated with the basic loss.

[0039] In one possible implementation, the filter is an extended Kalman filter, and the state vector of the extended Kalman filter includes: the receiver position of the receiver, the speed of the receiver, the clock error of the receiver, the clock error drift of the receiver, and the inter-system bias; accordingly,

[0040] The step of determining a state vector of a filter at an initial moment based on the coarse positioning result, and gradually updating the state vector of the filter based on the measurement noise covariance matrix and the noise compensation value to obtain a state vector at a time to be estimated, includes:

[0041] Determine the positioning result and clock error in the state vector at the initial time based on the coarse positioning result; the velocity, clock error drift and inter-system deviation in the state vector at the initial time are 0;

[0042] For the kth moment, the state transfer matrix at the kth moment created in advance is multiplied by the state vector at the k-1th moment, and the process noise vector at the kth moment obtained by pre-modeling is added to obtain the state vector at the kth moment; the state transfer matrix at the kth moment is multiplied by the covariance matrix at the k-1th moment, and then multiplied by the transposed matrix of the state transfer matrix at the kth moment, and the process noise covariance matrix at the kth moment obtained by pre-modeling is added to obtain the covariance matrix at the kth moment; the covariance matrix is initialized to a pre-defined block diagonal matrix; and k is an integer starting from 1 and taking values sequentially;

[0043] The product of the Jacobian matrix at the kth moment and the state vector at the kth moment is subtracted from the observed pseudorange at the kth moment to obtain the innovation vector at the kth moment; the Jacobian matrix at the kth moment is multiplied by the process noise covariance matrix at the kth moment, and then multiplied by the transposed matrix of the Jacobian matrix at the kth moment, and then added to the measurement noise covariance matrix output by the noise estimation model to obtain the innovation covariance at the kth moment; wherein the Jacobian matrix at the kth moment is obtained based on the partial derivative of the pseudorange measurement equation of each satellite with respect to the state vector;

[0044] The Kalman gain at the kth moment is obtained by multiplying the process noise covariance matrix at the kth moment by the transposed matrix of the Jacobian matrix at the kth moment and then multiplying the result by the inverse of the innovation covariance at the kth moment;

[0045] Use the Kalman gain at the kth moment, the new information vector at the kth moment and the noise compensation value to update the state vector at the kth moment and the covariance matrix at the kth moment to obtain an updated state vector at the kth moment and an updated covariance matrix at the kth moment; wherein, when the kth moment is the moment to be estimated, the state vector at the kth moment includes the receiver position of the receiver at the kth moment.

[0046] In one possible implementation, the Kalman gain at the kth moment, the innovation vector at the kth moment, and the noise compensation value are used to update the state vector at the kth moment and the covariance matrix at the kth moment to obtain the updated state vector at the kth moment and the updated covariance matrix at the kth moment, which are expressed by the following formula:

[0047]

[0048] P k =(IK k H k )P k|k-1 (IK k H k ) T +K k R k K k T ;

[0049] Among them, x k represents the updated state vector at the kth moment, x k|k-1 represents the state vector at the kth moment, K k represents the Kalman gain at the kth moment, v k represents the new information vector at the kth moment, represents the noise compensation value, P k represents the updated covariance matrix at the kth moment, P k|k-1 represents the covariance matrix at the kth moment, I represents the identity matrix, and H k represents the Jacobian matrix at the kth moment, R k represents the measurement noise covariance matrix.

[0050] According to another aspect of the present disclosure, a satellite positioning device driven by deep learning and filter coupling is provided, comprising a memory, a processor, and a computer program stored on the memory, wherein the processor executes the computer program to implement the steps of the above method.

[0051] According to another aspect of the present disclosure, a non-volatile computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above method are implemented.

[0052] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, or a non-volatile computer-readable storage medium carrying the computer program, wherein the computer program implements the steps of the above method when executed by a processor.

[0053] By using the observed pseudo-range between the receiver and each satellite, and the model pseudo-range between the receiver and each satellite obtained by modeling, the coarse positioning result of the receiver is determined based on the least squares method; the observation quality features are extracted based on the coarse positioning result; the observation quality features are input into the noise estimation model obtained based on deep learning to obtain the measurement noise covariance matrix and noise compensation value; the state vector of the filter at the initial moment is determined based on the coarse positioning result, and the state vector of the filter is gradually updated based on the measurement noise covariance matrix and the noise compensation value to obtain the state vector at the time to be estimated, which includes the positioning result of the receiver at the time to be estimated; it can solve the problems of traditional satellite positioning. The positioning method has the problem of low positioning accuracy due to the inability to adaptively adjust process noise and measurement noise; since the noise estimation model can determine the measurement noise covariance matrix and noise compensation value that are adapted to the observation quality characteristics of the satellite based on the learned complex nonlinear relationship between the satellite signal and the environment, when the filter uses the measurement noise covariance matrix and noise compensation value for state estimation, it can effectively compensate for the noise and error in the environment, and the positioning result can be obtained based on the adaptively changing noise level, thereby effectively reducing the impact of noise and error and improving the accuracy of satellite positioning. The improvement in the accuracy and robustness of satellite positioning is particularly obvious in urban environments.

[0054] Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.

[0056] Figure 1 A flowchart of a satellite positioning method driven by deep learning and filter coupling according to an embodiment of the present disclosure is shown;

[0057] Figure 2 The present invention illustrates a training process of a noise estimation model and a testing process of a satellite positioning system according to an embodiment of the present disclosure;

[0058] Figure 3 A cumulative distribution function diagram of LF-GNSS according to an embodiment of the present disclosure and the existing method under different three-dimensional positioning errors is shown;

[0059] Figure 4 A box plot showing different types of errors of LF-GNSS according to an embodiment of the present disclosure and a conventional method;

[0060] Figure 5A line graph showing different types of errors between an LF-GNSS according to an embodiment of the present disclosure and an existing method, and a bar graph showing square roots of different types of errors;

[0061] Figure 6 A block diagram of a satellite positioning device driven by deep learning and filter coupling according to an embodiment of the present disclosure is shown;

[0062] Figure 7 A block diagram of a satellite positioning device driven by deep learning and filter coupling according to another embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0063] Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise indicated.

[0064] As used herein, the terms "comprises," "comprising," "having," or variations thereof are open ended and include one or more stated features, integers, elements, steps, parts, or functions, but do not preclude the presence or addition of one or more other features, integers, elements, steps, parts, functions, or groups thereof.

[0065] When an element is referred to as being "connected," "coupled," "responsive" or variations thereof to another element, it can be directly connected, coupled or responsive to the other element or intervening elements may be present.

[0066] Although the terms first, second, third, etc. may be used herein to describe various elements / operations, these elements / operations should not be limited by these terms. These terms are only used to distinguish one element / operation from another element / operation. Therefore, without departing from the teachings of the present invention, the first element / operation in some embodiments may be referred to as the second element / operation in other embodiments.

[0067] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0068] In addition, numerous specific details are provided in the following detailed description to better illustrate the present disclosure. Those skilled in the art will appreciate that the present disclosure can be practiced without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art are not described in detail in order to highlight the main points of the present disclosure.

[0069] Figure 1FIG. 1 is a flow chart showing a satellite positioning method driven by deep learning and filter coupling according to an embodiment of the present disclosure. Figure 1 As shown, the method includes:

[0070] Step 101 : Determine a coarse positioning result of the receiver based on a least squares method using the observed pseudoranges between the receiver and each satellite and the modeled pseudoranges between the receiver and each satellite obtained through modeling.

[0071] A receiver refers to an electronic device on Earth that can receive satellite signals transmitted by satellites and perform satellite positioning based on the satellite signals. Receivers include but are not limited to: vehicle-mounted locators, mobile phones, and / or wearable devices. This embodiment does not limit the device type of the receiver.

[0072] Pseudorange is different from the true geometric distance between the receiver and the satellite. It refers to the estimated distance between the receiver and the satellite, which contains errors and is obtained by measuring the propagation time of the satellite signal transmitted by the satellite in the satellite navigation system.

[0073] The observed pseudorange refers to the pseudorange in the observation file generated by the receiver based on the received satellite signal, that is, the pseudorange directly output by the receiver.

[0074] Model pseudorange refers to the pseudorange derived using the model. For the same receiver, the model pseudorange and the observed pseudorange at the same measurement time may not be completely consistent.

[0075] Traditional satellite positioning methods typically calculate the receiver's position by combining the propagation path distance between the receiver and the satellite with the satellite's position. The propagation path distance is calculated by comparing the phase difference between the satellite carrier signal received by the receiver and the locally generated carrier signal, using the accumulated phase difference. Due to the instability of carrier phase measurement in complex urban environments and the complexity of eliminating ambiguity in carrier phase measurement, the propagation path distance measurement process is highly complex, leading to high complexity and low efficiency in satellite positioning.

[0076] In this embodiment, the least squares method is used to minimize the error between the model pseudorange and the observed pseudorange, so that a coarse positioning result of the receiver can be obtained, that is, the approximate position of the receiver is obtained. The coarse positioning result is used for feature extraction and subsequent positioning estimation to obtain a satellite positioning result. This process only uses the undifferentiated observed pseudorange (that is, the observed pseudorange directly output by the receiver) for satellite positioning. Compared with the above-mentioned traditional satellite positioning method, the process is simple, efficient and easy to implement.

[0077] In one example, the model pseudorange is obtained based on a pseudorange measurement equation obtained by pre-modeling, and the pseudorange measurement equation is established by simulating the transmission process of satellite signals.

[0078] For example, the pseudorange measurement equation can be expressed as follows:

[0079]

[0080] in, represents the model pseudorange, i.e. the pseudorange between satellite s and receiver r derived from the pseudorange measurement equation. c represents the speed of light; t r (t) represents the time when the receiver receives the satellite signal according to the clock of the GNSS system; t s (t-τ s ) represents the time when the satellite transmits the satellite signal according to the clock of the GNSS system, τ s Indicates the signal propagation time of the satellite signal; The GNSS system clock can be any satellite system clock, such as the Global Positioning System (GPS) clock.

[0081] Wherein, the signal propagation time τ s It can be expressed as:

[0082]

[0083] in, Indicates the actual signal propagation time of the satellite signal, dcb r Indicates the hardware delay of the receiver, dcb s represents the hardware delay of the satellite, Represents the true geometric distance between the satellite and the receiver, that is, the straight-line distance between the satellite position and the receiver position; represents the ionospheric delay, represents the tropospheric delay, Indicates the multipath error.

[0084] In other embodiments, the signal propagation time may also be modeled in combination with other factors that affect the signal propagation time. This embodiment does not limit the modeling method of the signal propagation time.

[0085] The time t when the receiver receives the satellite signal r (t) can be expressed as:

[0086] t r (t) = t + Δt r ;

[0087] The time t when the satellite transmits the satellite signal s (t-τ s ) can be expressed as:

[0088] t s (t-τ s )=t-τ s +Δt s ;

[0089] Where t represents the time when the receiver receives the satellite signal according to the receiver clock; Δt r Indicates the receiver clock error, that is, the time deviation between the receiver clock and the GNSS system clock; Δt s It represents the satellite clock error, that is, the time deviation between the satellite clock and the GNSS system clock.

[0090] The above t r (t), t s (t-τ s ),τ s After substituting the above pseudorange measurement equation, the pseudorange measurement equation can be expressed as:

[0091]

[0092] Among them, the receiver hardware delay dcb r , satellite hardware delay dcb s , ionospheric delay Satellite clock error Δt s , and tropospheric delay The multipath error can be corrected or eliminated by the preset model. Pseudorange measurement noise It can be ignored as noise not simulated by the model. At this time, the pseudorange measurement equation can be simplified as:

[0093]

[0094] For example: Tropospheric delay Can be corrected by Saastamoinen model, ionospheric delay and satellite clock error Δt s Can be eliminated by the Klobuchar model, while the receiver hardware delay dcb r and satellite hardware delay dcb s It can be eliminated by using Timing Group Delay (TGD); for another example, the aforementioned item can be eliminated by numerical simulation using empirical data. This embodiment does not limit the method of model correction or elimination.

[0095] Assume that the satellite position in the Earth-Centered, Earth-Fixed (ECEF) coordinate system is (x s ,y s,z s ), the receiver position is (x r ,y r ,z r ), then the above pseudorange measurement equation can be expressed as:

[0096]

[0097] Among them, f(x r ,y r ,z r ,Δt r ) represents x r ,y r ,z r ,Δt r The pseudorange measurement equation with is the independent variable and is used to solve the model pseudorange.

[0098] Correspondingly, if at any measurement time, the receiver receives satellite signals transmitted by N satellites, where N is a positive integer, the following pseudorange measurement equations can be obtained:

[0099]

[0100] in, represents the model pseudorange between the nth satellite and the receiver; f n (x r ,y r ,z r ,Δt r ) represents the pseudorange measurement equation between the nth satellite and the receiver, n∈[1,N].

[0101] Accordingly, using the observed pseudoranges between the receiver and each satellite and the modeled pseudoranges between the receiver and each satellite obtained by modeling, a coarse positioning result of the receiver is determined based on the least squares method, including the following steps 1011-1013:

[0102] Step 1011: Acquire the satellite position and observed pseudorange of each satellite based on the satellite signal of each satellite received by the receiver.

[0103] For any measurement time t, the satellite signal received by the receiver at the measurement time t can determine the satellite position of each satellite (x s ,y s ,z s ), and the observed pseudorange z between the receiver and the satellite. For example, the satellite signal received at measurement time t from satellite n includes the ephemeris parameters of satellite n (such as the Kepler parameters of satellites in the GPS system). Based on these ephemeris parameters, the satellite position of satellite n in the Earth-centered Earth-fixed coordinate system can be calculated; the observed pseudorange z can be read from the receiver's observation file.

[0104] Step 1012: Input the satellite position into a pre-established pseudorange measurement equation to obtain a model pseudorange; the pseudorange measurement equation uses at least the receiver position and the receiver clock error as the receiver state vector.

[0105] According to the above pseudo-range measurement equation, the satellite position is output as the known quantity of the pseudo-range measurement equation, and the receiver position (x r ,y r ,z r ), receiver clock error Δt r As the unknown quantity of the pseudorange measurement equation (i.e., the receiver state vector x = (x r ,y r ,z r ,Δt r ) T ), and obtain the model pseudorange f(x) corresponding to different receiver state vectors.

[0106] Step 1013 , with the goal of minimizing the residual between the observed pseudorange and the model pseudorange, gradually update the receiver state vector based on the least squares method to obtain an updated receiver state vector. The receiver position in the updated receiver state vector is the coarse positioning result.

[0107] The goal of minimizing the residual between the observed pseudorange and the model pseudorange can be expressed as follows:

[0108] l=f(x)-z,minimize||l||

[0109] Where l represents the difference between the observed pseudorange z and the model pseudorange f(x) between each satellite and the receiver, and minminze||I|| represents minimizing the norm of the variables in the brackets.

[0110] The receiver state vector can be gradually updated based on the least squares method by the following formula:

[0111] x k+1 =x k +Δx;

[0112] Δx=[H T WH] -1 ·H T l;

[0113] Among them, x k represents the receiver state vector at the kth iteration (or kth step), x k+1 represents the receiver state vector at the k+1th iteration (or k+1th step), which is calculated by adding the state increment Δx to the receiver state vector x at the kth step. k, k is an integer starting from 0, and x0 is 0. Δx represents the state increment, which is calculated using a weighted least squares solution. H represents the Jacobian matrix, which represents the partial derivatives of the pseudorange measurement equation with respect to the receiver state vector. W represents the weighting matrix.

[0114] For example, taking N satellites as an example, the Jacobian matrix H can be expressed as:

[0115]

[0116] Where H(x) represents the Jacobian matrix of the partial derivative of the receiver state vector x; (x, y, z) represents the receiver position of the receiver in the receiver state vector, x is the x-axis coordinate of the receiver position, y is the y-axis coordinate of the receiver position, and z is the z-axis coordinate of the receiver position; Δt r represents the receiver clock error; f n Represents the pseudorange measurement equation between the nth satellite and the receiver, n∈[1,N].

[0117] In order to simplify the expression of Jacobian matrix H, let the geometric distance between satellite and receiver be The simplified Jacobian matrix H is expressed as:

[0118]

[0119] Among them, (x s ,y s ,z s ) represents the satellite position of the satellite, represents the satellite position of the nth satellite, n∈[1,N], and accordingly, D n Indicates the geometric distance between the nth satellite and the receiver. (x r ,y r ,z r ) represents the receiver position of the receiver.

[0120] In one example, a receiver performs satellite positioning based on satellite signals transmitted by satellites in at least two satellite systems. Accordingly, the receiver state vector also includes inter-system biases (ISBs), and the receiver clock error includes clock errors for different satellite systems. In this case, the receiver state vector x can be expressed as:

[0121] x=(x r ,y r ,z r ,Δt r ,ISB) T ;

[0122] Among them, (x r ,yr ,z r ) represents the receiver position of the receiver; Δt r represents the receiver clock error, Δt r Including the clock difference between the receiver and different satellite systems, for example, taking at least two satellite systems including GPS, BeiDou, Galileo, and GLONASS as an example, Δt r include in, Indicates the clock difference between the receiver and the GPS system, Indicates the clock difference between the receiver and the BeiDou system, represents the clock difference between the receiver and the Galileo system, It represents the clock difference between the receiver and the GLONASS system. ISB represents the inter-system bias.

[0123] Accordingly, taking the clock difference between the receiver and the GNSS system as the clock difference between the receiver and the GPS system, that is, the clock of the GNSS system is the clock of the GPS system as an example, the Jacobian matrix H is expressed as follows:

[0124]

[0125] in, Used to indicate whether it is necessary to include the independent clock difference term between the satellite system to which the nth satellite belongs and the BeiDou system. Used to indicate whether the independent clock difference between the satellite system to which the nth satellite belongs and the Galileo system needs to be included. Used to indicate whether it is necessary to include the independent clock difference term between the satellite system to which the nth satellite belongs and the GLONASS system.

[0126] If the nth satellite belongs to the GPS system, since the receiver clock error is the clock error between the receiver and the GPS system, there is no need to include the independent clock error terms between the GPS system and the BeiDou system, the Galileo system and the GLONASS system. Then are set to zero.

[0127] If the nth satellite belongs to the BeiDou system, since the receiver clock error is the clock error between the receiver and the GPS system, it is necessary to include an independent clock error term between the GPS system and the BeiDou system.

[0128] If the nth satellite belongs to the Galileo system, since the receiver clock error is the clock error between the receiver and the GPS system, it is necessary to additionally include the independent clock error term between the GPS system and the Galileo system.

[0129] If the nth satellite belongs to the GLONASS system, since the receiver clock error is the clock error between the receiver and the GPS system, it is necessary to include an independent clock error term between the GPS system and the GLONASS system.

[0130] In other embodiments, if the clock difference between the receiver and the GNSS system is not the clock difference between the receiver and the GPS system, but the clock difference between the receiver and other satellite systems, the Jacobian matrix H can be reconstructed according to the above-mentioned matrix construction principle. This embodiment does not limit the method for obtaining the clock difference.

[0131] The weighting matrix W is generally the inverse of the observation noise covariance matrix. In this embodiment, in order to fully reflect the observation conditions of each satellite without introducing any prior assumptions, the unit matrix can be used as the weighting matrix. The weighting matrix W for the Nth satellite is expressed as W = I N , where I N Represents the N×N identity matrix.

[0132] The above receiver state vector update formula shows that, starting from time k = 0, the state increment Δx at time k+1 is calculated to determine whether the state increment is less than or equal to the preset threshold. If not, the state increment Δx is added to the receiver state vector at time k to obtain the receiver state vector at time k+1. Then, let k = k+1, and the state increment Δx at time k+1 is calculated again to determine whether the state increment is less than or equal to the preset threshold. The update process stops when the state increment Δx at time k+1 is less than or equal to the preset threshold. The receiver state vector at time k is obtained. The receiver position in the receiver state vector at time k is the coarse positioning result.

[0133] The preset threshold can be 10 -3 , or it can be other values. This embodiment does not limit the value of the preset threshold.

[0134] Optionally, before obtaining the coarse positioning result based on the least squares method, the satellites can also be screened, and the observed pseudoranges corresponding to the screened satellites can be used to determine the coarse positioning result. The purpose of satellite screening is to filter out satellites with abnormal data. Exemplarily, the screening method includes: determining whether the satellite position of each satellite can be calculated and / or whether the observed pseudorange of the satellite is 0; if the satellite position of the satellite cannot be calculated, or the observed pseudorange of the satellite is 0, then the satellite is screened out, that is, the relevant data of the satellite (including the observed pseudorange and satellite position) is not used to calculate the coarse positioning result, or in other words, the N satellites do not include the screened satellite. In other embodiments, the satellite screening method may also include other methods, which are not listed one by one in this embodiment.

[0135] Step 102: extract observation quality features based on the coarse positioning results.

[0136] The observation quality characteristic is used to indicate the reliability of the satellite signal of each satellite received by the receiver. In other words, the observation quality characteristic is used to indicate the observation quality of each satellite.

[0137] Optionally, the observation quality characteristics include but are not limited to at least one of the following:

[0138] 1. The elevation angle (ELA) of each satellite relative to the receiver. At this point, the observation quality features are extracted based on the coarse positioning results, including: determining the elevation angle of each satellite relative to the receiver based on the coarse positioning results.

[0139] Satellite elevation angle is a key indicator of satellite visibility and signal quality. Satellites with higher elevation angles are less susceptible to blockage and multipath effects, making them more reliable in GNSS positioning.

[0140] For example, the elevation angle of each satellite relative to the receiver determined based on the coarse positioning result can be expressed by the following formula:

[0141]

[0142] in, Indicates the height of the nth satellite relative to the receiver in the East-North-Up (ENU) coordinate system, that is, the coordinate value of the U coordinate system; D n represents the geometric distance between the nth satellite and the receiver, which can be expressed as:

[0143]

[0144] in, represents the satellite position of the nth satellite, (x r ,y r ,zr ) represents the coarse positioning result of the receiver.

[0145] 2. Azimuth angle (AZA) of each satellite relative to the receiver. At this time, extracting observation quality features based on the coarse positioning results includes: determining the azimuth angle of each satellite relative to the receiver based on the coarse positioning results.

[0146] A satellite's azimuth indicates the horizontal geometric relationship between the satellite and the receiver. Azimuth can help infer satellite visibility, especially when multiple satellites have similar azimuths but different elevations. Azimuth can enhance the geometric context during deep learning-based model training.

[0147] For example, the azimuth angle of each satellite relative to the receiver determined based on the coarse positioning result can be expressed by the following formula:

[0148]

[0149] in, and Indicates the x-axis position and y-axis position of the nth satellite relative to the receiver in the ENU coordinate system.

[0150] 3. Pseudorange residuals between observed pseudoranges and geometric distances. At this point, observation quality features are extracted based on the coarse positioning results. This includes determining the geometric distance between each satellite and the receiver based on the coarse positioning results; and determining the pseudorange residuals between the observed pseudoranges and the geometric distances based on the observed pseudoranges and the geometric distances between the receiver and the satellites.

[0151] The calculation formula of the geometric distance is referred to above and will not be repeated here in this embodiment.

[0152] For example, the pseudorange residual between the observed pseudorange and the geometric distance may be expressed as follows:

[0153]

[0154] in, represents the observed pseudorange between the nth satellite and the receiver, D n Indicates the geometric distance between the nth satellite and the receiver.

[0155] 4. Dilution of Precision Contribution. At this point, the observation quality features are extracted based on the coarse positioning results, including: determining the elevation and azimuth angles of each satellite relative to the receiver based on the coarse positioning results, generating a first distribution relationship matrix including the distribution of all satellites relative to the receiver, and a second distribution relationship matrix excluding the distribution of the nth satellite relative to the receiver; determining a first Dilution of Precision when all satellites are included based on the first distribution relationship matrix; determining a second Dilution of Precision when the nth satellite is excluded based on the second distribution relationship matrix; and determining the Dilution of Precision contribution of the nth satellite based on the difference between the first Dilution of Precision and the second Dilution of Precision. Where n is a positive integer starting from 1.

[0156] Among them, Dilution of Precision (DOP) is a key indicator that reflects the geometric distribution of satellites and its impact on GNSS positioning accuracy. A higher DOP value indicates a poor satellite geometric distribution, which will lead to larger positioning errors. DOP can be decomposed into four main components:

[0157] Geometric DOP (Geometric Dilution of Precision, GDOP): used to indicate the comprehensive positioning accuracy, taking into account the impact of the geometric configuration between the satellite and the receiver on the positioning error and clock error.

[0158] Positioning DOP (Position Dilution of Precision, PDOP): used to indicate the contribution of horizontal and vertical components to positioning accuracy.

[0159] Horizontal DOP (Horizontal Dilution of Precision, HDOP): used to indicate the horizontal positioning error along the east-west (East) and north-south (North) directions.

[0160] Vertical DOP (Vertical Dilution of Precision, VDOP): used to indicate the positioning accuracy in the vertical direction.

[0161] In this embodiment, the DOP is calculated based on the azimuth and elevation of each satellite. Assume that the first distribution relationship matrix of all satellites (for example, N) relative to the receiver is represented by the following matrix:

[0162]

[0163] Where s(·) and c(·) represent sin(·) and cos(·), respectively. n Indicates the azimuth of the nth satellite relative to the receiver, ELA nRepresents the elevation angle of the nth satellite relative to the receiver. n∈[1,N].

[0164] Correspondingly, the second distribution relationship matrix excluding the distribution of the n-th satellite relative to the receiver is a matrix obtained by deleting the matrix elements in the n-th row on the basis of the above-mentioned first distribution relationship matrix.

[0165] The calculation process of the DOP (including the first DOP and the second DOP) can be expressed as follows:

[0166] Q=(H T H) -1 ;

[0167]

[0168] Where H represents the first distribution relationship matrix or the second distribution relationship matrix, Q 11 represents the diagonal element in row 1 and column 1 of the matrix Q, 22 represents the diagonal element in the 2nd row and 2nd column of the matrix Q, Q 33 represents the diagonal element in the 3rd row and 3rd column of the matrix Q, 44 Represents the diagonal element in the 4th row and 4th column of the matrix Q.

[0169] In this embodiment, the DOP contribution is used to indicate the impact of each satellite on the overall DOP. By gradually removing satellites, the resulting DOP values (i.e., the second DOP) can be used to quantify the impact of excluding satellites. This method helps identify satellites that degrade positioning accuracy, enabling selective exclusion and improving GNSS performance. This is particularly true in urban environments, where signal obstruction and multipath interference are severe. Excluding satellites with reduced positioning accuracy can further improve positioning accuracy.

[0170] For example, based on the difference between the first DOP and the second DOP, the DOP contribution of the n-th satellite is determined, which can be expressed as follows:

[0171] DPC n =ΔDOP=DOP full -DOP partial

[0172] Among them, DPC n Indicates the precision dilution contribution DPC and DOP when excluding the nth satellite full Indicates the first dilution of precision, that is, the DOP value when all satellites are included; DOP partial Indicates the second dilution of precision, that is, the DOP value when the nth satellite is excluded.

[0173] Optionally, the DOP value includes four components: GDOP, PDOP, HDOP, and VDOP. In this case, each DOP n Includes 4 values, namely the DPC calculated based on each component n ; Or, the DOP value is obtained by weighted average of the four components. In this case, each DPC n Includes 1 value, namely the DPC calculated based on the DOP value obtained by weighted summation n , this embodiment does not affect the DOP value and DPC n The implementation method is limited.

[0174] In other embodiments, the observation quality feature may further include features not calculated based on the coarse positioning result. For example, the observation quality feature may further include a signal-to-noise ratio (SNR) of a satellite signal. In this case, obtaining the SNR of a satellite signal includes obtaining a SNR determined by a receiver based on a received satellite signal from each satellite.

[0175] The signal-to-noise ratio (SNR) reflects the strength and quality of satellite signals and is a key indicator of observation reliability. The SNR can be directly obtained from the receiver's observation files, with higher SNR values indicating stronger and more stable GNSS signals. In urban environments, SNR is an effective metric for detecting signal degradation due to non-line-of-sight reception and multipath effects.

[0176] In addition, in actual implementation, the observation quality characteristics may also include other characteristics calculated based on the coarse positioning results and / or not calculated based on the coarse positioning results. These characteristics are all characteristics that indicate the observation quality of the satellite, and this embodiment will not list them one by one here.

[0177] Optionally, since the number of satellites observed by the receiver at different times may be different, based on this, after determining the observation quality characteristics of each satellite, the observation quality characteristics need to be processed. For example, the observation quality characteristics at each moment need to be expanded and converted so that the processed observation quality characteristics maintain a consistent dimensional input noise estimation model to ensure the consistency of the subsequent noise estimation model input.

[0178] Step 103: Input the observation quality features into the noise estimation model obtained based on deep learning to obtain the measurement noise covariance matrix and noise compensation value.

[0179] The measurement noise covariance matrix is used to indicate the level of measurement noise, and the noise compensation value is used to compensate for the unmodeled noise.

[0180] Each observation quality feature constitutes an embedding vector of the noise estimation model and is then input into the noise estimation model. In this embodiment, in order to ensure the accuracy of the measurement noise covariance matrix and the noise compensation value estimation, the noise estimation model is obtained based on deep learning.

[0181] To effectively model observation quality characteristics and their dynamic uncertainties, in one example, the noise estimation model sequentially includes an input layer, a multi-head attention layer, a normalization layer, and a fully connected layer. A multi-head attention mechanism can be used to capture the intrinsic relationships between satellite features, enabling the model to dynamically weight and distinguish observation quality characteristics from different satellites.

[0182] Accordingly, the observation quality features are input into the noise estimation model obtained based on deep learning to obtain the measurement noise covariance matrix and the noise compensation value, including steps 1031-1034:

[0183] In step 1031, after converting the observation quality features into input vectors, the input vectors are subjected to feature fusion through the multi-head attention layer of the noise estimation model to obtain weighted satellite features.

[0184] In one example, the observation quality features are converted into input vectors through the input layer of the noise estimation model, and an embedding vector of the multi-head attention layer is derived based on the input vector, and the embedding vector is input into the multi-head attention layer; in the multi-head attention layer, self-attention calculation is performed on the embedding vector in each self-attention unit; the self-attention values calculated by each self-attention unit are fused to obtain the weighted satellite features.

[0185] Assuming there are N satellites, the input layer converts a set of observation quality features of each satellite into a d-dimensional input vector, which forms the matrix Then, the input layer linearly maps the matrix X to obtain an embedding vector, which includes the query (Query, Q) vector, the key (Key, K) vector, and the value (Value, V) vector.

[0186] Among them, the input layer linearly maps the input vector X to obtain the embedded vector which can be expressed as follows:

[0187] Q=XW Q ;

[0188] K=XW K ;

[0189] V=XW V ;

[0190] Among them, W Q 、W K 、 are the learnable weight parameters in the multi-head attention layer, d represents the dimension of each row of eigenvalues in the matrix X, and d k Indicates the dimension after mapping the matrix X to the QKV space, or the scaling factor; Q, K, Represents the embedding vector corresponding to the observation quality features of each satellite.

[0191] The multi-head attention layer includes at least two self-attention units. For example, if head=4, it means that the multi-head attention layer includes four self-attention units. Each self-attention unit is used to calculate the correlation between each satellite and each other satellite. For example, each self-attention unit multiplies the Q vector in the embedding vector by the transpose of the K vector to calculate the similarity score between different satellites; after normalizing the similarity score, the V vector in the embedding vector is weighted averaged to obtain the self-attention value of the self-attention unit. The calculation process of the self-attention value can be expressed as follows:

[0192]

[0193] Among them, Attention(Q,K,V) represents the weighted satellite features; softmax represents the normalization function.

[0194] According to the process of calculating the self-attention value of each self-attention unit, it can be seen that this process integrates the observation quality features of each satellite. That is, each self-attention unit outputs the weighted observation quality features of all satellites. This enables the model to capture the interaction between the observation quality features of different satellites, thereby realizing dynamic feature weighting.

[0195] After each self-attention unit outputs its corresponding self-attention value, the concatenation unit concatenates all the self-attention values, and then fuses them through a linear unit to obtain weighted satellite features. At this point, the self-attention units of different heads can understand the relationship between satellites from different perspectives, improving the model's feature extraction performance. For example, the weighted satellite features can be expressed as follows:

[0196] AttentionOut=Concat(head1,head2,…,head h )W o ;

[0197] Among them, Concat represents a connection unit, which is used to connect the self-attention values head1 to head output by the n-head self-attention units. h Connect; W oIt is a learnable weight matrix, which is used to perform linear unit on the self-attention values of the self-attention units of multiple heads to integrate information and obtain the weighted satellite feature AttentionOut.

[0198] Step 1032: The weighted satellite features are combined with the input vector and input into the normalization layer of the noise estimation model for normalization processing to obtain normalized satellite features.

[0199] In one example, a noise estimation model uses a residual connection to combine weighted satellite features with observation quality features.

[0200] The normalization layer is used to improve the stability and feature consistency of model training, ensure that the feature distribution remains stable across different samples, reduce covariance shift, and accelerate the convergence process. Optionally, the normalization layer can be layer normalization or batch normalization. This embodiment does not limit the implementation method of the normalization layer.

[0201] Taking the normalization layer as an example, the normalized satellite feature Output can be expressed as follows:

[0202] Output=LayerNorm(X+AttentionOut);

[0203] Here, X represents the input vector; AttentionOut represents the weighted satellite features output by the multi-head attention layer. K+AttentionOut represents a residual connection between the input vector and the weighted satellite features. In this embodiment, the input vector and the weighted satellite features are combined through a residual connection, providing a direct gradient propagation path for the input vector. This can avoid the problem of vanishing or exploding gradients caused by increasing network depth, enhancing gradient flow and training stability.

[0204] LayerNorm represents the layer normalization function, which is used to normalize the features after residual connection. The normalization formula can be expressed as follows:

[0205]

[0206] Among them, X c represents the feature vector after the weighted satellite features are combined with the input vector; μ represents the X calculated on the feature dimension c The mean of X; σ represents the mean of X calculated on the feature dimension c The standard deviation of ;γ represents a trainable scaling parameter of the noise estimation model;β represents a trainable scaling parameter of the noise estimation model;∈ represents a constant for numerical stability; represents the normalized satellite characteristics.

[0207] In step 1033, the normalized satellite features are input into the fully connected layer of the noise estimation model for nonlinear transformation to obtain enhanced satellite features.

[0208] The fully connected layer (MLP) is used to perform nonlinear transformation on the normalized satellite features to further enhance feature extraction.

[0209] Optionally, the fully connected layer includes one or at least two connected in sequence, for example, the fully connected layer includes three, and the hidden layer dimensions of the three fully connected layers are 64, 128, and 64, respectively. In actual implementation, the number of fully connected layers and the hidden layer dimensions can also be set to other values as required. This embodiment does not limit the number of fully connected layers and the hidden layer dimensions.

[0210] The nonlinear transformation process of each fully connected layer can be expressed as follows:

[0211] h i+1 =ReLU(W i h i +b i );

[0212] Among them, h i Represents the input features of the i-th fully connected layer. When i=1, In the case of i>1, h i is the output of the previous fully connected layer; h i+1 represents the output of the i-th fully connected layer; W i represents the learnable weight matrix in the i-th fully connected layer; b i Represents the learnable bias parameter in the i-th fully connected layer; RELU represents the activation function Rectified Linear Unit, which is used to perform nonlinear transformations to optimize the learned feature representations.

[0213] In step 1034, the enhanced satellite features are input into the output layer of the noise estimation model to obtain a two-dimensional output. The two-dimensional output includes a measurement noise covariance matrix and a noise compensation value corresponding to each satellite.

[0214] The output layer maps the enhanced satellite features output by the last fully connected layer to a two-dimensional output, which can be expressed as:

[0215] Measurement noise covariance matrix R diag : Represents the diagonal elements of the measurement noise covariance matrix estimated using the Softplus activation function. The Softplus activation function ensures that the output value is non-negative.

[0216] Noise compensation value v c : Indicates that the model is a simulated noise for each satellite observation, and is directly predicted as a real number output.

[0217] For example, the feature mapping process of the output layer can be expressed as follows:

[0218] R diag =Softplus(o R ),v c =o v ;

[0219] Among them, R diag represents the measurement noise covariance matrix; v c Indicates the noise compensation value; o R Represents the part of the enhanced satellite characteristics related to the measurement noise covariance matrix; v It represents the part of the enhanced satellite characteristics related to the noise compensation value. Softplus represents the activation function, which can be expressed as:

[0220] Softplus(x)=ln(1+e x );

[0221] Among them, x represents the data input into the Softplus activation function.

[0222] In this example, the noise estimation model combines the multi-head attention mechanism to estimate the measurement noise covariance matrix R of the GNSS observations. diag and the new interest compensation term v c , which can capture the complex dependencies between different satellite signals while maintaining computational efficiency to meet the needs of real-time applications.

[0223] Step 104: determine the state vector of the filter at the initial moment based on the coarse positioning result, and gradually update the state vector of the filter based on the measurement noise covariance matrix and the noise compensation value to obtain the state vector at the time to be estimated. The state vector at the time to be estimated includes the positioning result of the receiver at the time to be estimated.

[0224] The filter is used to optimally estimate the state of a nonlinear system in the presence of noise and uncertainty. Based on this, in this embodiment, at least the receiver position is used as the filter's state variable. This allows for an optimal estimate of the receiver position in the presence of noise and uncertainty. Initializing the filter's state vector using the coarse positioning results provides a reasonable initial value for the filter's state vector, reducing the number of iterations required for the filter to converge and improving positioning efficiency.

[0225] In this embodiment, the filter receives the measurement noise covariance matrix and the noise compensation value output by the noise estimation model to participate in the filtering process, and obtains the positioning result at the time to be estimated.

[0226] In one example, the filter is an Extended Kalman Filter (EKF), and the state vector of the EKF includes: the receiver position of the receiver, the receiver velocity, the receiver clock error, the receiver clock error drift, and the inter-system bias. In this case, the state vector of the EKF can be expressed as:

[0227]

[0228] Where x represents the state vector of the extended Kalman filter, p represents the receiver position of the receiver, v represents the speed of the receiver, Δt r represents the receiver clock error, It represents the clock drift of the receiver clock, and ISB represents the inter-system bias.

[0229] Accordingly, the state vector of the filter at the initial moment is determined based on the coarse positioning result, and the state vector of the filter is gradually updated based on the measurement noise covariance matrix and the noise compensation value to obtain the state vector at the time to be estimated, including steps 1041-1043:

[0230] Step 1041: Initialize the state vector of the extended Kalman filter. Specifically, determine the positioning result and clock error in the state vector at the initial time based on the coarse positioning result; the velocity, clock error drift, and inter-system bias in the state vector at the initial time are zero.

[0231] In one example, the extended Kalman filter further quantifies the uncertainty of the state estimate through a covariance matrix, which is initialized to a predefined block diagonal matrix P0, which can be expressed as:

[0232]

[0233] Where diag represents a function that generates a diagonal matrix; represents the uncertainty in the receiver position in the state variables, represents the uncertainty in the receiver's velocity in the state variable, represents the uncertainty of the receiver clock error in the state variable, represents the uncertainty of the receiver clock drift in the state variable, represents the uncertainty in the inter-system bias of the receivers in the state variables; as well as These are all preset values, and the specific values are determined according to the hardware performance of the receiver. This embodiment does not limit the values of the uncertainties of the various state variables.

[0234] Step 1042: State prediction. Specifically, for the kth moment, the pre-created state transfer matrix for the kth moment is multiplied by the state vector for the k-1th moment, and the process noise vector for the kth moment is pre-modeled to obtain the state vector for the kth moment. The state transfer matrix for the kth moment is multiplied by the covariance matrix for the k-1th moment, and then multiplied by the transposed matrix of the state transfer matrix for the kth moment, and the process noise covariance matrix for the kth moment is pre-modeled to obtain the covariance matrix for the kth moment. k is an integer starting from 1.

[0235] Assume that a constant speed model is used to describe the dynamic behavior of the receiver. The variation of clock error drift and inter-system bias is modeled as zero-mean Gaussian white noise. In this case, the state transfer matrix F k It can be expressed as:

[0236]

[0237] Wherein, Δt represents the time interval between two adjacent moments.

[0238] Accordingly, the update process of the state vector at the kth moment can be expressed as follows:

[0239] x k|k-1 =F k x k-1 +u k ;

[0240]

[0241] Among them, x k|k-1 Indicates the use of the state vector x at the k-1th moment k-1 The predicted state vector at the kth moment; P k|k-1 Indicates the use of the covariance matrix P at the k-1th moment k-1 The predicted covariance matrix at the kth moment. u k represents the process noise vector, That is u k The mean is 0 and the covariance matrix is Q k Gaussian distribution, Q k represents the covariance matrix of process noise, Q k It can be expressed as:

[0242]

[0243] Where diag represents a function that generates a diagonal matrix; represents the uncertainty of the receiver position in the process noise vector, represents the uncertainty of the receiver's velocity in the process noise vector, represents the uncertainty of the receiver clock error in the process noise vector, represents the uncertainty of the receiver clock drift in the process noise vector, represents the uncertainty of the inter-system bias of the receiver in the process noise vector; Set according to the unit change range and actual change range of the state variable.

[0244] Step 1043, state update. During the state update process, the state vector at the kth moment obtained during the state prediction process is improved by the observed pseudorange at the kth moment. The state update includes the following steps 10431-10433:

[0245] Step 10431, subtract the product of the Jacobian matrix at the kth moment and the state vector at the kth moment from the observed pseudorange at the kth moment to obtain the new information vector at the kth moment; multiply the Jacobian matrix at the kth moment by the process noise covariance matrix at the kth moment, then multiply it by the transposed matrix of the Jacobian matrix at the kth moment, and add the measurement noise covariance matrix output by the noise estimation model to obtain the new information covariance at the kth moment.

[0246] The Jacobian matrix at the kth moment is obtained based on the partial derivative of the pseudorange measurement equation of each satellite with respect to the state vector.

[0247] The innovation vector v at the kth moment k It is expressed by the following formula:

[0248] v k =z k -H k x k|k-1 ;

[0249] The innovation covariance S at the kth moment k It is expressed by the following formula:

[0250]

[0251] Among them, z k represents the observed pseudorange at the kth moment, H k represents the Jacobian matrix at the kth moment. The acquisition process of the Jacobian matrix is described in step 1013, which will not be repeated in this embodiment. k|k-1 Indicates the use of the state vector x at the k-1th moment k-1 The predicted state vector at the kth moment; P k|k-1 Indicates the use of the covariance matrix P at the k-1th moment k-1The predicted covariance matrix at the kth moment.

[0252] R k Represents the measurement noise covariance matrix output by the noise estimation model based on the observation quality characteristics corresponding to the kth moment. The measurement noise covariance matrix is modeled as a diagonal matrix by the noise estimation model to indicate the independent measurement noise of each satellite. Since the observation quality characteristics of the satellite change when the observation quality of the satellite also change, the measurement noise covariance matrix R output by the noise estimation model is k Also changes, at this time, the model can dynamically adjust the level of measurement noise according to the observation quality of the satellite, thereby improving the robustness and accuracy of the state estimation process. For example, R k It can be expressed as:

[0253] R k =diag(r1,r2,...,r N );

[0254] Among them, diag represents the function of generating diagonal matrix, r1~r N Represents the measurement noise level of each satellite in N satellites, and the diagonal elements of the measurement noise levels of N satellites constitute the measurement noise covariance matrix R k .

[0255] Step 10432: multiply the process noise covariance matrix at the kth moment by the transposed matrix of the Jacobian matrix at the kth moment, and then multiply it by the inverse of the innovation covariance at the kth moment to obtain the Kalman gain at the kth moment.

[0256] The Kalman gain can be expressed as follows:

[0257]

[0258] Among them, K k represents the Kalman gain at the kth moment, P k|k-1 represents the process noise covariance matrix at the kth moment, H k represents the Jacobian matrix at the kth moment, S k represents the innovation covariance at the kth moment.

[0259] Step 10433, use the Kalman gain at the kth moment, the new information vector at the kth moment and the noise compensation value to update the state vector at the kth moment and the covariance matrix at the kth moment to obtain the updated state vector at the kth moment and the updated covariance matrix at the kth moment.

[0260] When the kth moment is the time to be estimated, the state vector at the kth moment includes the receiver position of the receiver at the kth moment, and the receiver position is the positioning result of the receiver.

[0261] When the kth moment is not the time to be estimated, let k = k + 1, and execute steps 1042 and 1043 again to gradually update the state vector at the kth moment until the kth moment is the time to be estimated, and the updated state vector at the kth moment is output to obtain the positioning result of the receiver.

[0262] Exemplarily, the Kalman gain at the kth moment, the innovation vector at the kth moment, and the noise compensation value are used to update the state vector at the kth moment and the covariance matrix at the kth moment to obtain the updated state vector at the kth moment and the updated covariance matrix at the kth moment, which are expressed by the following formula:

[0263]

[0264] P k =(IK k H k )P k|k-1 (IK k H k ) T +K k R k K k T ;

[0265] Among them, x k represents the updated state vector at the kth moment, x k|k-1 represents the state vector at the kth moment, K k represents the Kalman gain at the kth moment, v k represents the new information vector at the kth moment, represents the noise compensation value, which is estimated by the noise estimation model and can alleviate the impact of unmodeled noise on the estimation results; P k represents the updated covariance matrix at the kth moment, P k|k-1 represents the covariance matrix at the kth moment, I represents the identity matrix, and H k represents the Jacobian matrix at the kth moment, R k represents the measurement noise covariance matrix.

[0266] In this embodiment, the covariance matrix at the kth moment is updated by using the Joseph stabilized update formula, which can avoid the problem that the covariance matrix loses symmetry and / or positive definiteness during the update process, resulting in a larger estimation error, thereby ensuring the stability of the numerical update and thus ensuring the accuracy of the estimation.

[0267] In other embodiments, the filter may also be implemented as other types of filters capable of performing state estimation, such as a particle filter, an unscented Kalman filter, etc. This embodiment does not limit the implementation method of the filter.

[0268] In summary, the satellite positioning method driven by deep learning and filter coupling provided in this embodiment determines the coarse positioning result of the receiver based on the least squares method by using the observation pseudorange between the receiver and each satellite and the model pseudorange between the receiver and each satellite obtained by modeling; extracts the observation quality features based on the coarse positioning result; inputs the observation quality features into the noise estimation model obtained based on deep learning to obtain the measurement noise covariance matrix and the noise compensation value; determines the state vector of the filter at the initial moment based on the coarse positioning result, and gradually updates the state vector of the filter based on the measurement noise covariance matrix and the noise compensation value to obtain the state vector of the time to be estimated, and the state vector of the time to be estimated includes the state vector of the receiver at the time to be estimated. positioning results; it can solve the problem of low positioning accuracy in traditional satellite positioning methods due to the inability to adaptively adjust process noise and measurement noise; since the noise estimation model can determine the measurement noise covariance matrix and noise compensation value that are adapted to the observation quality characteristics of the satellite based on the learned complex nonlinear relationship between the satellite signal and the environment, when the filter uses the measurement noise covariance matrix and noise compensation value for state estimation, it can effectively compensate for the noise and error in the environment, and the obtained positioning result can be obtained based on the adaptively changing noise level, thereby effectively reducing the impact of noise and error and improving the accuracy of satellite positioning. The improvement in the accuracy and robustness of satellite positioning is particularly obvious in urban environments.

[0269] In addition, by setting observation quality features, including the DOP contribution, the quality of each satellite signal can be characterized, thereby improving the measurement weighting strategy in satellite positioning and further enhancing satellite positioning accuracy. This setting method is more effective in improving the system's positioning accuracy when dealing with complex urban environments, especially in conditions of poor signal quality, further optimizing positioning performance.

[0270] In this application, the deep learning task of the noise estimation model is a regression task, that is, the model goal is to predict a continuous value, and the continuous value is a numerical value that may take any value within a range. In the regression task, there is often a difference between the value predicted by the model and the true value, that is, there is a regression error. The larger the regression error, the larger the error of the model prediction. At this time, it can be considered that the model uses difficult samples for prediction; the smaller the regression error, the smaller the error of the model prediction. At this time, it can be considered that the model uses easy samples for prediction. In order to avoid the imbalance between easy samples and difficult samples in the regression task, in one possible implementation method, the focal loss mechanism in the classification task is used for the regression task to deal with continuous regression errors.

[0271] Accordingly, in the above embodiment, the loss value of the noise estimation model during the training process is obtained by adjusting the basic loss value using a dynamic weight factor; the basic loss value is used to indicate the difference between the predicted positioning result and the actual positioning result corresponding to each observed pseudorange sample. The greater the difference, the greater the basic loss value.

[0272] Among them, the weight factor is positively correlated with the basic loss; or, the weight factor is positively correlated with the basic loss and negatively correlated with the preset dynamic parameter, and the dynamic parameter is negatively correlated with the basic loss.

[0273] refer to Figure 2 The training process of the noise estimation model shown in FIG, includes the following steps:

[0274] Step 201: Acquire a training data set for a noise estimation model, where the training data set includes observation pseudorange samples collected by a receiver at multiple time instants.

[0275] Step 202, performing coarse positioning based on the observed pseudorange samples to obtain coarse positioning samples;

[0276] For the description of coarse positioning, refer to step 101 , and the observed pseudorange in step 101 is adaptively replaced with the observed pseudorange sample, and the coarse positioning result is adaptively replaced with the coarse positioning sample. This embodiment will not be described in detail here.

[0277] Step 203: extracting observation quality feature samples based on the coarse positioning samples;

[0278] The extraction process of the observation quality feature samples refers to step 102, and the observed pseudorange in step 102 is adaptively replaced by the observation pseudorange sample, the coarse positioning result is adaptively replaced by the coarse positioning sample, and the observation quality feature is adaptively replaced by the observation quality feature sample. This embodiment will not be repeated here.

[0279] Step 204: Input the observed quality feature sample into the deep neural network to be trained to obtain a first prediction result of the measurement noise covariance matrix and a second prediction result of the noise compensation value;

[0280] The model structure of the deep neural network is the same as the model structure of the noise estimation model, except that the trainable model parameters are different. The model structure and the model calculation process refer to step 103, and this embodiment will not be repeated here.

[0281] During the training process, since the batches of observation quality feature samples are input into the deep neural network to be trained, the input vector transformed by the input layer can be expressed as X∈R B×N×d , where B represents the batch size, N represents the number of satellites, and d represents the feature dimension of the input vector.

[0282] Step 205: Input the first prediction result and the second prediction result into a filter to obtain a positioning estimation result corresponding to each observed pseudorange sample.

[0283] The state estimation process of the filter is referred to step 104 and will not be described in detail in this embodiment.

[0284] In step 206, the positioning estimation result corresponding to each observed pseudorange sample is compared with the actual positioning result to determine a basic loss value; the basic loss value is adjusted using a dynamic weight factor to obtain a loss value; and the model parameters of the deep neural network are iteratively updated based on the loss value until a preset iteration stop condition (such as model convergence) is reached to obtain a noise estimation model.

[0285] Assume that the positioning estimation result is x pred ∈R 3 , represents the predicted three-dimensional ENU coordinates, and the actual positioning result is x true ∈R 3 , represents the true three-dimensional ENU coordinates. At this time, the ENU error e between the positioning estimation result and the true positioning result ENU for:

[0286] e ENU =x pred -x true ;

[0287] Accordingly, the basic loss value can be expressed as the Euclidean distance of the ENU error, that is, the basic loss value can be calculated by the following formula:

[0288]

[0289] Among them, e i,ENU Represents the components of ENU error, i∈{1,2,3}, corresponding to the errors in E, N, and U directions respectively, L base represents the base loss value, and d represents the Euclidean distance.

[0290] In other embodiments, the basic loss value may also be calculated in other ways to indicate the error between the positioning estimation result and the actual positioning result. This embodiment does not limit the implementation method of the basic loss value.

[0291] To enable the model to prioritize samples with larger errors (i.e., difficult samples) during training, a weighting factor is used to adjust the base loss value to dynamically adjust the importance of each sample. In this embodiment, the weighting factor is positively correlated with the base loss. Thus, a larger base loss indicates a larger error, and a larger weighting factor allows the model to pay more attention to difficult samples.

[0292] Exemplarily, the weight factor w is expressed by the following formula:

[0293]

[0294] Among them, max(L base ) represents the maximum basic loss value in a batch of samples, γ dynamic is a tuning parameter. Optionally, γ dynamic Can be a fixed value, or γ dynamic is a dynamic parameter that changes dynamically; L base Indicates the basic loss value.

[0295] γ dynamic Taking the dynamic parameter as an example, at this time, the weight factor is positively correlated with the basic loss and negatively correlated with the preset dynamic parameter. The dynamic parameter is negatively correlated with the basic loss. In this way, through γ dynamic The influence of hard samples can be further adjusted. For example, γ dynamic It is expressed by the following formula:

[0296] γ dynamic =γ·exp(-λ·L base );

[0297] Among them, γ is the preset initial parameter, that is, γ is a fixed value; λ is the preset control value used to control γ dynamic The rate of change of L base Indicates the basic loss value.

[0298] For example, the loss value of the model can be obtained by multiplying the basic loss by the weight factor w and adjusting the magnitude of the overall loss by the hyperparameter α. dhem It can be expressed by the following formula:

[0299] L dhem =α·w·L base ;

[0300] Among them, L base Represents the basic loss value, α represents the preset hyperparameter; w represents the weight factor.

[0301] Optionally, in order to ensure that the loss value is a stable scalar, the above formula L can be further calculated dhem The root mean square error is obtained to obtain the loss value. At this time, the loss value is expressed by the following formula:

[0302]

[0303] Where N represents the number of samples in a batch, It represents the dynamic difficult sample mining loss obtained by adjusting the basic loss using the weight factor w for the i-th sample in a batch.

[0304] In this embodiment, dynamic difficult sample mining loss is used to enable the model to prioritize samples with larger errors during training, thereby improving the ability to handle difficult samples and significantly improving the model prediction performance in high-error scenarios.

[0305] according to Figure 2 It can be seen that the system framework provided by this application includes two models, namely, Figure 2 The training model and the test model are shown.

[0306] In training mode, the system compares the estimated positioning results with the actual positioning results and calculates the error. A dynamic hard-sample mining strategy is used to construct a loss function for model updates and optimization. Through this iterative process, the system framework can adapt to different error environments.

[0307] In measurement mode, the trained noise estimation model can intelligently capture the characteristics of satellite signals and adaptively adjust the Kalman filter to achieve real-time GNSS positioning with higher accuracy and stability. Figure 1 The embodiment shown is not described in detail here.

[0308] In order to illustrate the accuracy of the satellite positioning system framework provided by this application compared with the existing methods, refer to Figure 3 The Cumulative Distribution Function (CDF) graph of the satellite positioning method LF-GNSS provided by this application is compared with the existing methods TDL-GNSS, open source Real-Time Kinematic Library (RTKLIB), high-precision Global Navigation Satellite Positioning System (GOGPS), and open source Satellite Positioning System Toolkit (CSSRLIB) under different three-dimensional positioning errors (3D Error, unit: meter, m). Figure 3 It can be seen that in data set 1, the three-dimensional positioning error of the LF-GNSS samples of this application reaches 95% of the samples, while the three-dimensional positioning errors of the samples of other existing methods reach 95% of the samples are 3.85m, 7.72m, 11.93m and 12.77m, which are all greater than the three-dimensional positioning error of the LF-GNSS of this application, indicating that the satellite positioning method provided by this application has higher accuracy and better performance.

[0309] In data set 2, the three-dimensional positioning error of the LF-GNSS samples of this application reaches 95% of the samples, while the three-dimensional positioning errors of the samples of other existing methods reach 95% of the samples are 7.20m, 9.14m, 13.30m and 14.24m, which are also greater than the three-dimensional positioning error of the LF-GNSS of this application, further demonstrating that the satellite positioning method provided by this application has higher accuracy and better performance.

[0310] refer to Figure 4 The box plots shown are of the errors in different directions (north error, east error, and up error), northeast error (2D error), and three ENU directions (3D error) for the satellite positioning method LF-GNSS provided by the present application and the above-mentioned existing methods in the ENU coordinate system. Each box plot mainly includes five values, namely: minimum, which is the minimum value of non-outliers in the data (usually the end point of the lower whisker); first quartile (Q1), the lower quartile of the sorted data, that is, 25% of the data is less than Q1; median (Q2), the middle value of the data, that is, 50% of the data is less than this value, the horizontal line in the middle of the box in the figure; third quartile (Q3), the upper quartile, 75% of the data is less than Q3. Maximum, the maximum value of non-outliers in the data (usually the end point of the upper whisker). Among them, the box refers to the area from Q1 to Q3, representing the middle 50% of the data, called the interquartile range (IQR = Q3-Q1). Whiskers: These generally extend to data points no larger than Q1 - 1.5 × IQR and Q3 + 1.5 × IQR. Outliers are points outside the whiskers and are usually marked with a small dot or asterisk.

[0311] As can be seen from the box plots above, in Datasets 3 and 4, the satellite positioning method provided by this application has shorter box sums and whiskers in each error box plot, indicating that the positioning accuracy of this application is more stable and robust. Furthermore, in each box plot, the median value of the LF-GNSS method provided by this application is smaller, indicating higher positioning accuracy.

[0312] refer to Figure 5 The figure shows an error line graph of different direction errors (Norh Error, East Error and Up Error) of the satellite positioning method LF-GNSS provided by the present application and the above-mentioned existing methods in the ENU coordinate system, as well as a bar graph of the square roots of the errors in different directions (Norh RMSE, East RMSE and Up RMSE), the northeast direction error (2D RMSE) and the errors in the three ENU directions (3D RMSE).

[0313] In the above line graph, it can be found that the errors of the LF-GNSS of the present application in different directions fluctuate around 0, indicating that the positioning accuracy of the present application is more stable and more robust.

[0314] In the above bar chart, it can be found that the values of the square roots of different errors of the LF-GNSS of the present application are all the smallest, indicating that the positioning accuracy of the present application is higher.

[0315] Figure 6 FIG. 1 is a block diagram of a satellite positioning device driven by deep learning and filter coupling according to an embodiment of the present disclosure. Figure 6 As shown, the device includes: a coarse positioning module 610, a feature extraction module 620, a noise estimation module 630 and a positioning module 640

[0316] A coarse positioning module 610 is configured to determine a coarse positioning result of the receiver based on a least squares method using the observed pseudoranges between the receiver and each satellite and the modeled pseudoranges between the receiver and each satellite obtained by modeling;

[0317] A feature extraction module 620 is configured to extract observation quality features based on the coarse positioning result;

[0318] A noise estimation module 630 is configured to input the observation quality features into a noise estimation model obtained based on deep learning to obtain a measurement noise covariance matrix and a noise compensation value;

[0319] The positioning module 640 is used to determine the state vector of the filter at the initial moment based on the coarse positioning result, and gradually update the state vector of the filter based on the measurement noise covariance matrix and the noise compensation value to obtain the state vector at the time to be estimated, where the state vector at the time to be estimated includes the positioning result of the receiver at the time to be estimated.

[0320] Optionally, the coarse positioning module 610 is configured to:

[0321] Based on the satellite signal of each satellite received by the receiver, obtaining the satellite position and the observed pseudorange of the satellite;

[0322] Inputting the satellite position into a pre-established pseudorange measurement equation to obtain a model pseudorange; the pseudorange measurement equation uses at least the receiver position of the receiver and the receiver clock error as a receiver state vector;

[0323] With the goal of minimizing the residual between the observed pseudorange and the model pseudorange, the receiver state vector is gradually updated based on the least squares method to obtain an updated receiver state vector, where the receiver position in the updated receiver state vector is the coarse positioning result.

[0324] Optionally, the receiver performs satellite positioning based on satellite signals transmitted by satellites in at least two satellite systems. Accordingly, the receiver state vector also includes an inter-system bias, and the receiver clock error includes clock errors for different satellite systems.

[0325] Optionally, the feature extraction module 620 is configured to:

[0326] determining an elevation angle of each satellite relative to the receiver based on the coarse positioning result;

[0327] and / or,

[0328] determining an azimuth angle of each satellite relative to the receiver based on the coarse positioning result;

[0329] and / or,

[0330] Determining a geometric distance between each satellite and the receiver based on the coarse positioning result; determining a pseudorange residual between the observed pseudorange and the geometric distance based on an observed pseudorange between the receiver and the satellite and the geometric distance;

[0331] and / or,

[0332] Based on the coarse positioning result, the elevation angle and azimuth angle of each satellite relative to the receiver are determined, and a first distribution relationship matrix including the distribution of all satellites relative to the receiver and a second distribution relationship matrix excluding the distribution of the nth satellite relative to the receiver are generated; based on the first distribution relationship matrix, a first dilution of precision when all satellites are included is determined; based on the second distribution relationship matrix, a second dilution of precision when the nth satellite is excluded is determined; based on the difference between the first dilution of precision and the second dilution of precision, a dilution of precision contribution of the nth satellite is determined; wherein n is a positive integer starting from 1.

[0333] Optionally, the observation quality feature also includes a signal-to-noise ratio of the satellite signal.

[0334] Optionally, the noise estimation module 630 is configured to:

[0335] After converting the observation quality features into input vectors, the input vectors are fused through the multi-head attention layer of the noise estimation model to obtain weighted satellite features;

[0336] Combining the weighted satellite features with the input vector and inputting the combined vectors into a normalization layer of the noise estimation model for normalization to obtain normalized satellite features;

[0337] Inputting the normalized satellite features into the fully connected layer of the noise estimation model for nonlinear transformation to obtain enhanced satellite features;

[0338] The enhanced satellite features are input into the output layer of the noise estimation model to obtain a two-dimensional output, where the two-dimensional output includes the measurement noise covariance matrix and a noise compensation value corresponding to each satellite.

[0339] Optionally, the loss value of the noise estimation model during the training process is obtained by adjusting the basic loss value using a dynamic weight factor; the basic loss value is used to indicate the difference between the predicted positioning result and the actual positioning result corresponding to each observed pseudorange sample, and the greater the difference, the greater the basic loss value;

[0340] The weight factor is positively correlated with the basic loss; or the weight factor is positively correlated with the basic loss and negatively correlated with a preset dynamic parameter, and the dynamic parameter is negatively correlated with the basic loss.

[0341] Optionally, the filter is an extended Kalman filter, and the state vector of the extended Kalman filter includes: the receiver position of the receiver, the speed of the receiver, the clock error of the receiver, the clock error drift of the receiver, and the inter-system bias; accordingly,

[0342] The positioning module 640 is used to:

[0343] Determine the positioning result and clock error in the state vector at an initial time based on the coarse positioning result; the velocity, clock error drift and inter-system deviation in the state vector at the initial time are 0;

[0344] For the kth moment, the state transfer matrix at the kth moment created in advance is multiplied by the state vector at the k-1th moment, and the process noise vector at the kth moment obtained by pre-modeling is added to obtain the state vector at the kth moment; the state transfer matrix at the kth moment is multiplied by the covariance matrix at the k-1th moment, and then multiplied by the transposed matrix of the state transfer matrix at the kth moment, and the process noise covariance matrix at the kth moment obtained by pre-modeling is added to obtain the covariance matrix at the kth moment; the covariance matrix is initialized to a pre-defined block diagonal matrix; and k is an integer starting from 1 and taking values sequentially;

[0345] The product of the Jacobian matrix at the kth moment and the state vector at the kth moment is subtracted from the observed pseudorange at the kth moment to obtain the innovation vector at the kth moment; the Jacobian matrix at the kth moment is multiplied by the process noise covariance matrix at the kth moment, and then multiplied by the transposed matrix of the Jacobian matrix at the kth moment, and then added to the measurement noise covariance matrix output by the noise estimation model to obtain the innovation covariance at the kth moment; wherein the Jacobian matrix at the kth moment is obtained based on the partial derivative of the pseudorange measurement equation of each satellite with respect to the state vector;

[0346] The Kalman gain at the kth moment is obtained by multiplying the process noise covariance matrix at the kth moment by the transposed matrix of the Jacobian matrix at the kth moment and then multiplying the result by the inverse of the innovation covariance at the kth moment;

[0347] Use the Kalman gain at the kth moment, the new information vector at the kth moment and the noise compensation value to update the state vector at the kth moment and the covariance matrix at the kth moment to obtain an updated state vector at the kth moment and an updated covariance matrix at the kth moment; wherein, when the kth moment is the moment to be estimated, the state vector at the kth moment includes the receiver position of the receiver at the kth moment.

[0348] Optionally, the Kalman gain at the kth moment, the innovation vector at the kth moment, and the noise compensation value are used to update the state vector at the kth moment and the covariance matrix at the kth moment to obtain the updated state vector at the kth moment and the updated covariance matrix at the kth moment, which are expressed by the following formula:

[0349]

[0350] P k =(IK k H k )P k|k-1 (IK k H k ) T +K k R k K k T ;

[0351] Among them, x k represents the updated state vector at the kth moment, x k|k-1 represents the state vector at the kth moment, K k represents the Kalman gain at the kth moment, v k represents the new information vector at the kth moment, represents the noise compensation value, P krepresents the updated covariance matrix at the kth moment, P k|k-1 represents the covariance matrix at the kth moment, I represents the identity matrix, and H k represents the Jacobian matrix at the kth moment, R k represents the measurement noise covariance matrix.

[0352] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.

[0353] An embodiment of the present disclosure also provides a satellite positioning device driven by deep learning and filter coupling, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the above method.

[0354] An embodiment of the present disclosure further provides a non-volatile computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the steps of the above method when executed by a processor.

[0355] An embodiment of the present disclosure further provides a computer program product, including a computer program, or a non-volatile computer-readable storage medium carrying the computer program, wherein the computer program implements the steps of the above method when executed by a processor.

[0356] Figure 7 1 is a block diagram of a satellite positioning device 1900 driven by deep learning and filter coupling according to an exemplary embodiment. For example, the device 1900 can be provided as a server or a terminal device. Figure 7 The apparatus 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as an application, that can be executed by the processing component 1922. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute the instructions to perform the above-described method.

[0357] The device 1900 may also include a power supply component 1926 configured to perform power management of the device 1900, a wired or wireless network interface 1950 configured to connect the device 1900 to a network, and an input / output interface 1958 (I / O interface). The device 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server 2003. TM , MacOS X TM , Unix TM ,LinuxTM , FreeBSD TM or similar.

[0358] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions that can be executed by the processing component 1922 of the apparatus 1900 to perform the above-described method.

[0359] A computer-readable storage medium can be a tangible device that can hold and store programs / instructions used by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0360] The computer programs (or computer-readable program instructions) described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0361] The computer program (or computer program instructions) for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, by utilizing state information of computer-readable program instructions to personalize and customize an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), the electronic circuit can execute the computer-readable program instructions to implement various aspects of the present disclosure.

[0362] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0363] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0364] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0365] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the prescribed logical function. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the prescribed function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0366] While various embodiments of the present disclosure have been described above, the foregoing description is intended to be illustrative, non-exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or technological improvements in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A satellite positioning method driven by deep learning and filter coupling, characterized in that: The method comprises: Determine a coarse positioning result of the receiver based on a least squares method using the observed pseudoranges between the receiver and each satellite and the modeled pseudoranges between the receiver and each satellite obtained by modeling; extracting observation quality features based on the coarse positioning result; Inputting the observation quality features into a noise estimation model obtained based on deep learning to obtain a measurement noise covariance matrix and a noise compensation value; Based on the coarse positioning result, the state vector of the filter at the initial moment is determined, and the state vector of the filter is gradually updated based on the measurement noise covariance matrix and the noise compensation value to obtain the state vector at the time to be estimated, where the state vector at the time to be estimated includes the positioning result of the receiver at the time to be estimated.

2. The method according to claim 1, characterized in that Determining a coarse positioning result of the receiver based on a least squares method using the observed pseudoranges between the receiver and each satellite and the modeled pseudoranges between the receiver and each satellite obtained by modeling includes: Based on the satellite signal of each satellite received by the receiver, obtaining the satellite position and the observed pseudorange of the satellite; Inputting the satellite position into a pre-established pseudorange measurement equation to obtain a model pseudorange; the pseudorange measurement equation uses at least the receiver position of the receiver and the receiver clock error as a receiver state vector; With the goal of minimizing the residual between the observed pseudorange and the model pseudorange, the receiver state vector is gradually updated based on the least squares method to obtain an updated receiver state vector, where the receiver position in the updated receiver state vector is the coarse positioning result.

3. The method according to claim 2, characterized in that The receiver performs satellite positioning based on satellite signals transmitted by satellites in at least two satellite systems. Accordingly, the receiver state vector also includes an inter-system bias, and the receiver clock error includes clock errors for different satellite systems.

4. The method according to claim 1, wherein The extracting of the observation quality feature based on the coarse positioning result includes: determining an elevation angle of each satellite relative to the receiver based on the coarse positioning result; and / or, determining an azimuth angle of each satellite relative to the receiver based on the coarse positioning result; and / or, Determining a geometric distance between each satellite and the receiver based on the coarse positioning result; determining a pseudorange residual between the observed pseudorange and the geometric distance based on an observed pseudorange between the receiver and the satellite and the geometric distance; and / or, Based on the coarse positioning result, the elevation angle and azimuth angle of each satellite relative to the receiver are determined, and a first distribution relationship matrix including the distribution of all satellites relative to the receiver and a second distribution relationship matrix excluding the distribution of the nth satellite relative to the receiver are generated; based on the first distribution relationship matrix, a first dilution of precision when all satellites are included is determined; based on the second distribution relationship matrix, a second dilution of precision when the nth satellite is excluded is determined; based on the difference between the first dilution of precision and the second dilution of precision, a dilution of precision contribution of the nth satellite is determined; wherein n is a positive integer starting from 1.

5. The method according to claim 4, characterized in that The observation quality characteristics also include the signal-to-noise ratio of the satellite signal.

6. The method according to claim 1, characterized in that Inputting the observation quality feature into a noise estimation model obtained based on deep learning to obtain a measurement noise covariance matrix and a noise compensation value includes: After converting the observation quality features into input vectors, the input vectors are fused through the multi-head attention layer of the noise estimation model to obtain weighted satellite features; Combining the weighted satellite features with the input vector and inputting the combined vectors into a normalization layer of the noise estimation model for normalization to obtain normalized satellite features; Inputting the normalized satellite features into the fully connected layer of the noise estimation model for nonlinear transformation to obtain enhanced satellite features; The enhanced satellite features are input into the output layer of the noise estimation model to obtain a two-dimensional output, where the two-dimensional output includes the measurement noise covariance matrix and a noise compensation value corresponding to each satellite.

7. The method according to claim 1, characterized in that The loss value of the noise estimation model during the training process is obtained by adjusting the basic loss value using a dynamic weight factor; the basic loss value is used to indicate the difference between the predicted positioning result and the actual positioning result corresponding to each observed pseudorange sample, and the greater the difference, the greater the basic loss value; The weight factor is positively correlated with the basic loss; or the weight factor is positively correlated with the basic loss and negatively correlated with a preset dynamic parameter, and the dynamic parameter is negatively correlated with the basic loss.

8. The method according to claim 1, characterized in that The filter is an extended Kalman filter, and the state vector of the extended Kalman filter includes: the receiver position of the receiver, the speed of the receiver, the clock error of the receiver, the clock error drift of the receiver, and the inter-system bias; accordingly, The step of determining a state vector of a filter at an initial moment based on the coarse positioning result, and gradually updating the state vector of the filter based on the measurement noise covariance matrix and the noise compensation value to obtain a state vector at a time to be estimated, includes: Determine the positioning result and clock error in the state vector at an initial time based on the coarse positioning result; the velocity, clock error drift and inter-system deviation in the state vector at the initial time are 0; For the kth moment, the state transfer matrix at the kth moment created in advance is multiplied by the state vector at the k-1th moment, and the process noise vector at the kth moment obtained by pre-modeling is added to obtain the state vector at the kth moment; the state transfer matrix at the kth moment is multiplied by the covariance matrix at the k-1th moment, and then multiplied by the transposed matrix of the state transfer matrix at the kth moment, and the process noise covariance matrix at the kth moment obtained by pre-modeling is added to obtain the covariance matrix at the kth moment; the covariance matrix is initialized to a pre-defined block diagonal matrix; and k is an integer starting from 1 and taking values sequentially; The product of the Jacobian matrix at the kth moment and the state vector at the kth moment is subtracted from the observed pseudorange at the kth moment to obtain the innovation vector at the kth moment; the Jacobian matrix at the kth moment is multiplied by the process noise covariance matrix at the kth moment, and then multiplied by the transposed matrix of the Jacobian matrix at the kth moment, and then added to the measurement noise covariance matrix output by the noise estimation model to obtain the innovation covariance at the kth moment; wherein the Jacobian matrix at the kth moment is obtained based on the partial derivative of the pseudorange measurement equation of each satellite with respect to the state vector; The Kalman gain at the kth moment is obtained by multiplying the process noise covariance matrix at the kth moment by the transposed matrix of the Jacobian matrix at the kth moment and then multiplying the result by the inverse of the innovation covariance at the kth moment; Use the Kalman gain at the kth moment, the new information vector at the kth moment and the noise compensation value to update the state vector at the kth moment and the covariance matrix at the kth moment to obtain an updated state vector at the kth moment and an updated covariance matrix at the kth moment; wherein, when the kth moment is the moment to be estimated, the state vector at the kth moment includes the receiver position of the receiver at the kth moment.

9. The method according to claim 8, characterized in that The Kalman gain at the kth moment, the innovation vector at the kth moment, and the noise compensation value are used to update the state vector at the kth moment and the covariance matrix at the kth moment to obtain the updated state vector at the kth moment and the updated covariance matrix at the kth moment, which are expressed by the following formula: P k =(I-K k H k )P k|k-1 (I-K k H k ) T +K k R k K k T ; Among them, x k represents the updated state vector at the kth moment, x k|k-1 represents the state vector at the kth moment, K k represents the Kalman gain at the kth moment, v k represents the new information vector at the kth moment, represents the noise compensation value, P k represents the updated covariance matrix at the kth moment, P k|k-1 represents the covariance matrix at the kth moment, I represents the identity matrix, and H k represents the Jacobian matrix at the kth moment, R k represents the measurement noise covariance matrix.

10. A satellite positioning device driven by deep learning and filter coupling, comprising a memory, a processor, and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 9.

11. A non-volatile computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.

12. A computer program product comprising a computer program, or a non-volatile computer-readable storage medium carrying a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.

Citation Information

Cited By

  • Satellite total station integrated positioning method and system based on AI noise estimation

    CN122449561A

  • Satellite total station integrated positioning method and system based on AI noise estimation

    CN122449561B