Satellite positioning method and device, computer equipment and storage medium
By generating target observation expressions and the extended Kalman filter algorithm, the complexity and cost issues of GNSS high-precision positioning technology in low-altitude navigation scenarios were resolved, and autonomous positioning with decimeter-level accuracy was achieved.
Patent Information
- Application Number
- CN202510928330.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-04
- Publication Date
- 2025-10-03
AI Technical Summary
The operational complexity and high deployment cost of existing GNSS high-precision positioning technology in low-altitude navigation scenarios conflict with the requirements of low power consumption, low cost, and autonomy, limiting its large-scale application.
By acquiring satellite broadcast data, performing linearization processing to generate target observation expressions, determining the error model of state parameters, and using the extended Kalman filter algorithm for initialization and iterative estimation, autonomous single-point positioning is achieved.
It achieves autonomous positioning with decimeter-level accuracy, reduces operational complexity and deployment costs, and avoids dependence on external enhancement information.
Smart Images

Figure CN120742370A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of satellite navigation technology, and more specifically, to a satellite positioning method, apparatus, computer equipment, and storage medium. Background Art
[0002] The Global Navigation Satellite System (GNSS) provides basic positioning services through Standard Point Positioning (SPP), which utilizes broadcast ephemeris and single-frequency observations to achieve meter-level positioning accuracy. Related technologies, such as precise point positioning (PPP) and real-time kinematic (RTK), can be used to achieve decimeter-level or even centimeter-level positioning accuracy. Both PPP and RTK rely on external augmentation information, such as precise satellite orbit and clock corrections and differential observations from reference stations. While current systems capable of real-time precise positioning can achieve decimeter-level accuracy, their implementation relies on the broadcast of precise orbit and clock products, complex ground-based augmentation infrastructure, and additional satellite communication support. While these technologies have achieved significant breakthroughs in positioning accuracy, their operational complexity and high deployment costs fundamentally conflict with the core requirements of low-altitude navigation, which require low power consumption, low cost, and autonomy. This has severely restricted the large-scale application of high-precision GNSS positioning technology in this field.
[0003] Therefore, it is particularly important to propose an autonomous positioning method that uses GNSS satellite broadcast information to achieve decimeter-level accuracy. Summary of the Invention
[0004] In view of this, the present application provides a satellite positioning method, apparatus, computer equipment and storage medium to achieve high-precision satellite positioning.
[0005] In a first aspect, an embodiment of the present disclosure provides a satellite positioning method, including:
[0006] Acquire satellite broadcast data received by the receiver in a current epoch, wherein the satellite broadcast data includes broadcast data of a plurality of satellites, and the broadcast data includes pseudorange and carrier phase;
[0007] performing linearization processing on a first observation expression corresponding to the pseudorange and a second observation expression corresponding to the carrier phase to generate a target observation expression for determining positioning information;
[0008] Determining error models of multiple state parameters in the target observation expression, wherein the multiple state parameters include: three-dimensional coordinates, receiver clock error, ionospheric delay, and carrier phase ambiguity;
[0009] Determining initialization information of at least one state parameter in the target observation expression according to the satellite broadcast data, and initializing the target observation expression using the initialization information;
[0010] Based on the error model, the initialized target observation expression and the extended Kalman filter algorithm, the positioning result of the receiver at the current epoch is determined.
[0011] Optionally, the error model corresponding to the three-dimensional coordinates is related to the motion mode of the receiver; when the motion mode is a dynamic mode, the error model corresponding to the three-dimensional coordinates is a white noise model; when the motion mode is a static mode, the error model corresponding to the three-dimensional coordinates is a first constant model;
[0012] The error model corresponding to the receiver clock difference is a white noise model;
[0013] The error model corresponding to the carrier phase ambiguity is a second constant model that does not change with time;
[0014] The error model corresponding to the ionospheric delay is a noise model that varies with time and is related to the satellite altitude angle; wherein, in the error model corresponding to the ionospheric delay, the noise error at the second moment is determined based on the noise error at the first moment, the ionospheric activity coefficient, the satellite altitude angle, and the interval length of the observation epoch, and the time difference between the second moment and the first moment matches the interval length of the observation epoch.
[0015] Optionally, determining initialization information of at least one state parameter in the target observation expression according to the satellite broadcast data includes:
[0016] Determining whether the current epoch is a first epoch;
[0017] If so, initialization information of each of the multiple state parameters is determined according to the satellite broadcast data.
[0018] Optionally, the method further includes:
[0019] When it is determined that the current epoch is not the first epoch, determining whether a cycle slip occurs in the receiver within the current epoch;
[0020] When it is determined that a cycle slip occurs in the receiver, determining initialization information of the carrier phase ambiguity and the receiver clock error in the target observation expression according to the satellite broadcast data;
[0021] When it is determined that the receiver does not have a cycle slip, initialization information of the receiver clock error in the target observation expression is determined based on the satellite broadcast data.
[0022] Optionally, the method further includes:
[0023] When it is determined that the current epoch is not the first epoch, determining whether the receiver is in a dynamic mode;
[0024] When it is determined that the receiver is in dynamic mode, determining initialization information of the three-dimensional coordinates and the receiver clock error in the target observation expression according to the satellite broadcast data;
[0025] When it is determined that the receiver is not in dynamic mode, initialization information of the receiver clock error in the target observation expression is determined based on the satellite broadcast data.
[0026] Optionally, initialization information of the carrier phase ambiguity is determined according to the following steps:
[0027] determining a target pseudorange and a target carrier phase at a target time according to the satellite broadcast data, wherein the target time is a first epoch time or a cycle slip occurrence time;
[0028] The target pseudorange is divided by the carrier wavelength of the satellite signal, and the obtained quotient is subtracted from the target carrier phase to obtain initialization information of the carrier phase ambiguity.
[0029] Optionally, determining a positioning result of the receiver at a current epoch based on the error model, the initialized target observation expression, and the extended Kalman filter algorithm includes:
[0030] Based on the error model and the initialized target observation expression, the state parameters are estimated using the extended Kalman filter algorithm to obtain updated state parameters;
[0031] Determining pseudorange residuals and carrier phase residuals corresponding to a plurality of satellites respectively based on the updated state parameters and the target observation expression;
[0032] Determine a positioning result of the receiver at a current epoch based on the pseudorange residuals and carrier phase residuals respectively corresponding to the multiple satellites.
[0033] Optionally, determining the positioning result of the receiver at the current epoch according to the pseudorange residuals and carrier phase residuals respectively corresponding to the multiple satellites includes:
[0034] For each satellite, determining whether a pseudorange residual corresponding to the satellite is greater than a first residual threshold, and whether the carrier phase residual is greater than a second residual threshold; when it is determined that the pseudorange residual corresponding to the satellite is not greater than the first residual threshold, and the carrier phase residual is not greater than the second residual threshold, determining that the residual of the satellite meets the requirement;
[0035] Determining the number of satellites whose residuals meet the requirement among the plurality of satellites;
[0036] When the number of satellites is greater than the target number, the positioning result of the receiver in the current epoch is determined to be successful positioning, and the three-dimensional coordinates in the updated state parameters are determined as the position information of the receiver.
[0037] In a second aspect, an embodiment of the present disclosure further provides a satellite positioning device, including:
[0038] an acquisition module, configured to acquire satellite broadcast data received by the receiver in a current epoch, wherein the satellite broadcast data includes broadcast data of a plurality of satellites, and the broadcast data includes pseudorange and carrier phase;
[0039] a generating module, configured to linearize a first observation expression corresponding to the pseudorange and a second observation expression corresponding to the carrier phase to generate a target observation expression for determining positioning information;
[0040] A first determination module is configured to determine an error model of multiple state parameters in the target observation expression, wherein the multiple state parameters include: three-dimensional coordinates, receiver clock error, ionospheric delay, and carrier phase ambiguity;
[0041] a second determining module, configured to determine initialization information of at least one state parameter in the target observation expression based on the satellite broadcast data, and initialize the target observation expression using the initialization information;
[0042] The third determination module is used to determine the positioning result of the receiver at the current epoch based on the error model, the initialized target observation expression and the extended Kalman filter algorithm.
[0043] The present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned satellite positioning method is implemented.
[0044] This specification provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the above-mentioned satellite positioning method is implemented.
[0045] This application determines the target observation expression and the error model of multiple state parameters in the target observation expression, determines the initialization information of at least one state parameter in the target observation expression based on the satellite broadcast data, and uses the initialization information to initialize the target observation expression. Then, the extended Kalman filter algorithm is used to perform multiple iterative estimates of the state parameters based on the error model and the initialized target observation expression, so that state parameters with higher accuracy can be obtained, that is, three-dimensional coordinates with higher accuracy are obtained, and then the positioning result of the receiver at the current epoch is more accurately determined, thereby improving the positioning accuracy. After testing, the accuracy of the positioning method proposed in this application can reach decimeter-level accuracy. This application only uses satellite broadcast messages and single-frequency observation quantities to achieve highly accurate autonomous single-point positioning. Compared with related technologies, it does not need to rely on external enhancement information, nor does it need to deploy other positioning facilities. While improving positioning accuracy, it reduces operational complexity and deployment costs. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The exemplary embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation of this specification. In the drawings:
[0047] Figure 1 is a schematic diagram of a receiver device shown in an embodiment of the present application;
[0048] Figure 2 This is a flow chart of a satellite positioning method shown in an embodiment of the present application;
[0049] Figure 3 This is a framework diagram corresponding to a satellite positioning method shown in an embodiment of the present application;
[0050] Figure 4 is a flow chart of another satellite positioning method shown in an embodiment of the present application;
[0051] Figure 5 1 is a schematic diagram of a positioning error statistical curve corresponding to the satellite positioning method shown in an embodiment of the present application;
[0052] Figure 6 is a schematic diagram of a satellite positioning device shown in an embodiment of the present application;
[0053] Figure 7 This is a structural diagram of a computer device provided by this application. DETAILED DESCRIPTION
[0054] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0055] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. As used in this application and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
[0056] It should be understood that although the terms first, second, third, etc. may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0057] To facilitate understanding of this embodiment, a satellite positioning method disclosed in the embodiment of the present disclosure is first introduced in detail. The execution subject of the satellite positioning method provided in the embodiment of the present disclosure can be a computer device with certain computing capabilities, or it can be a receiver, that is, the satellite positioning method proposed in this application is integrated into the receiver, and after the receiver receives the data broadcast by the satellite, the satellite positioning process is performed.
[0058] See also Figure 1 As shown, the receiver proposed in this application is connected to a GNSS antenna (such as a single-frequency active antenna). The GNSS antenna and receiver only need to support single-frequency mode, and it can be configured at any frequency point of the GNSS system. For example, the GNSS antenna can use an active antenna with a low-noise amplifier located at the antenna end and powered by the receiver, so that the receiver can more accurately receive satellite broadcast data and ensure the accuracy of satellite positioning.
[0059] During implementation, the GNSS receiver in this application can use a low-cost single-frequency navigation receiver. Tests have shown that its positioning performance is not much different from that of a measurement receiver in an open environment, thereby reducing positioning costs.
[0060] See also Figure 2FIG. 2 is a flow chart of a satellite positioning method provided by an embodiment of the present disclosure, wherein the method includes steps S201 to S205, wherein:
[0061] S201. Acquire satellite broadcast data received by a receiver in a current epoch, wherein the satellite broadcast data includes broadcast data of multiple satellites, and the broadcast data includes pseudoranges and carrier phases.
[0062] S202: Linearize the first observation expression corresponding to the pseudorange and the second observation expression corresponding to the carrier phase to generate a target observation expression for determining positioning information.
[0063] S203. Determine error models of multiple state parameters in the target observation expression, wherein the multiple state parameters include: three-dimensional coordinates, receiver clock error, ionospheric delay, and carrier phase ambiguity.
[0064] S204: Determine initialization information of at least one state parameter in the target observation expression according to the satellite broadcast data, and initialize the target observation expression using the initialization information.
[0065] S205 : Determine the positioning result of the receiver at the current epoch based on the error model, the initialized target observation expression, and the extended Kalman filter algorithm.
[0066] This application determines the target observation expression and the error model of multiple state parameters in the target observation expression, determines the initialization information of at least one state parameter in the target observation expression based on the satellite broadcast data, and uses the initialization information to initialize the target observation expression. Then, the extended Kalman filter algorithm is used to perform multiple iterative estimates of the state parameters based on the error model and the initialized target observation expression, so that state parameters with higher accuracy can be obtained, that is, three-dimensional coordinates with higher accuracy are obtained, and then the positioning result of the receiver at the current epoch is more accurately determined, thereby improving the positioning accuracy. After testing, the accuracy of the positioning method proposed in this application can reach decimeter-level accuracy. This application only uses satellite broadcast messages and single-frequency observation quantities to achieve highly accurate autonomous single-point positioning. Compared with related technologies, it does not need to rely on external enhancement information, nor does it need to deploy other positioning facilities. While improving positioning accuracy, it reduces operational complexity and deployment costs.
[0067] S201-S205 are described in detail below.
[0068] For S201,
[0069] The receiver can receive broadcast data from multiple satellites at the current position of the current epoch. The broadcast data includes single-frequency observation values, broadcast messages, etc. The single-frequency observation values are such as pseudorange and carrier phase.
[0070] For S202,
[0071] In satellite single-point positioning, the observation equations of pseudorange and carrier phase are:
[0072] L=ρ+dt r -I+λ·N+T-dt s +M L +ε L (1)
[0073] P=ρ+dt r +I+T-dt s +M P +ε P (2)
[0074] Where L is the carrier phase in meters, P is the pseudorange in meters, λ is the carrier wavelength, ρ is the geometric distance from the satellite to the receiver, and dt r is the receiver clock error, I is the ionospheric delay, N is the carrier phase ambiguity, T is the tropospheric delay, dt s is the satellite clock error, M L and M P denote the unmodeled carrier phase error and pseudorange error, ε L and ε P represent the carrier phase observation noise and pseudorange observation noise respectively.
[0075] During implementation, a general tropospheric model (such as the Saastamoinen model) and broadcast message parameters can be used to calculate the tropospheric delay T and satellite clock error dt in the above formulas (1) and (2). s Make corrections to ensure subsequent positioning accuracy.
[0076] During implementation, formula (1) and formula (2) can also be simplified so that the simplified formula can be used to generate the target observation expression. Specifically, the unmodeled carrier phase error M L and pseudorange error M P Incorporated into the observation noise, the simplified formulas are shown in formulas (3) and (4):
[0077]
[0078] in, represents the error-corrected carrier phase observation in meters; represents the error-corrected pseudorange observation in meters; represents the integrated carrier phase observation noise; represents the integrated pseudorange observation noise; Represents the carrier phase ambiguity in meters.
[0079] In this application, the above formula (3) is the second observation expression corresponding to the carrier phase, and the formula (4) is the first observation expression corresponding to the pseudorange.
[0080] By linearizing the first observation expression and the second observation expression, a target observation expression can be obtained, and the target observation expression is used to subsequently determine positioning information with higher accuracy.
[0081] During implementation, the solution of this application can be applied to a single frequency point of a single positioning system, or to a single frequency point of each positioning system in multiple positioning systems, such as the L1 frequency point of the Global Positioning System (GPS) and the B1 frequency point of the BeiDou Navigation Satellite System (BDS). When multiple positioning systems are applied, the solution proposed in this application for each positioning system is a positioning process for a single frequency point.
[0082] The following uses the GPS L1 frequency and the BDS B1 frequency as examples. If a receiver observes n GPS satellites and m BeiDou satellites, each of the n GPS satellites corresponds to a pseudorange and a carrier phase, for a total of 2n observations; each of the m BeiDou satellites corresponds to a pseudorange and a carrier phase, for a total of 2m observations, resulting in a total of (2n + 2m) observation equations. After linearizing the first and second observation expressions, the target observation expression can be obtained as shown in formula (5):
[0083]
[0084] in, H xyz It represents the linearized satellite distance geometric coefficients in multiple directions (i.e., x-axis, y-axis, and z-axis directions). is the satellite-to-earth distance geometry coefficient corresponding to the GPS satellite, is the satellite-to-earth distance geometric coefficient corresponding to the Beidou satellite. and As shown below:
[0085]
[0086] is a 2n×3 dimensional matrix, and is a 2m×3 dimensional matrix, Indicates the linearized satellite-to-earth distance geometric coefficients in multiple directions corresponding to the first GPS satellite. Indicates the linearized satellite-to-earth distance geometric coefficients in multiple directions corresponding to the first Beidou satellite.
[0087] in, and As shown below:
[0088]
[0089] is a 2n×2 dimensional matrix, is a 2m×2 dimensional matrix. In the , 1 means that the satellite belongs to GPS satellite, 0 means that the satellite does not belong to GPS satellite. Similarly, in In the value, 1 indicates that the satellite belongs to Beidou satellite, and 0 indicates that the satellite does not belong to Beidou satellite.
[0090] in, and As shown below:
[0091]
[0092] is a (2n+2m)×n dimensional matrix, It is a (2n+2m)×m-dimensional matrix. γ Li Indicates the ionospheric scale factor of GPS Li frequency relative to GPS L1 frequency. If L1 frequency is used in implementation, γ L1 If other GPS frequencies are used, such as L2, then γ in the above formula should be replaced by L1 Replaced by γ L2 ,and f represents the center frequency of the GNSS signal, that is, f L1 Indicates the center frequency of the L1 frequency point in the GNSS signal. Similarly, γ B1 The determination process of γ L1 Description.
[0093] I map is the single-layer ionosphere model mapping function, I mapIt can be determined based on the GNSS interface control document (ICD), such as It is the single-layer ionosphere model mapping function corresponding to the first satellite in the Beidou system. The coefficient corresponding to the carrier phase of the first GPS satellite, Corresponding to the coefficient of the pseudorange of the first GPS satellite, similarly, Corresponding to the coefficient of the carrier phase of the first Beidou satellite, The coefficient corresponding to the pseudorange of the first Beidou satellite.
[0094] in, and As shown below:
[0095]
[0096] is a (2n+2m)×n dimensional matrix, It is a (2n+2m)×m-dimensional matrix.
[0097] Where X is a (3+1+1+n+m+n+m)×1 matrix. X is the state parameter in the target observation expression.
[0098]
[0099] xyz is the three-dimensional coordinate in the state parameter; dt r,L1 and dt r,B1 is the receiver clock error in the state parameter, dt r,L1 Corresponding to GPS system, dt r,B1 Corresponding to BeiDou system; and is the ionospheric delay; and is the carrier phase ambiguity.
[0100] Where L is a (2n+2m)×1 dimensional matrix, as follows:
[0101]
[0102] is the residual term, which can be ignored in the estimation process of the extended Kalman filter algorithm.
[0103] The above describes the process of determining the target observation expression when the present application is applicable to a single frequency point of multiple systems. If the present application is applicable to a single system, such as a GPS system, the content corresponding to the GPS system in the above formula can be retained, and the content corresponding to the Beidou system can be deleted to obtain the target observation expression applicable to the GPS system, such as Etc. Similarly, this solution can be applied to a single frequency point of any positioning system.
[0104] In the above process, a target observation expression is generated so that the target observation expression can be used to iteratively adjust the state parameters in the future to obtain more accurate state parameters and thus more accurate three-dimensional coordinates.
[0105] For S203,
[0106] Determine the error models of multiple state parameters in the target observation expression, where the multiple state parameters include: three-dimensional coordinates, receiver clock error, ionospheric delay, and carrier phase ambiguity, that is, determine the error model of three-dimensional coordinates, the error model of receiver clock error, the error model of ionospheric delay, and the error model of carrier phase ambiguity respectively.
[0107] Optionally, the error model corresponding to the three-dimensional coordinates is related to the motion mode of the receiver; when the motion mode is a dynamic mode, the error model corresponding to the three-dimensional coordinates is a white noise model; when the motion mode is a static mode, the error model corresponding to the three-dimensional coordinates is a first constant model.
[0108] When the receiver is in motion, it is in dynamic mode, the noise of the three-dimensional coordinates is modeled as a white noise process, and the three-dimensional coordinates can be initialized in each epoch by using the pseudo-range single point positioning method. In addition, the initial value of the noise variance of the three-dimensional coordinates can be set according to the accuracy of the pseudo-range single point positioning. For example, when the accuracy is high, the initial value of the noise variance can be set to a smaller value, such as 25m. 2 , 100m 2 When the accuracy is low, the initial value of the noise variance can be set larger, such as 900m 2 、3600m 2 During the iterative process of the extended Kalman filter algorithm, the white noise model can be used to update the 3D coordinate error model. When the receiver is stationary, it is in static mode, and the 3D coordinate error model is modeled as a constant value model. The initial value of the noise variance is as described above.
[0109] The error model corresponding to the receiver clock error is a white noise model. During implementation, the receiver clock error can be initialized using pseudorange single-point positioning within each epoch. The initial value of the receiver clock error model (i.e., the initial value of the noise variance) can be found in the description above and will not be detailed here.
[0110] The error model corresponding to the carrier phase ambiguity is a second constant model that does not change over time. During implementation, the carrier phase ambiguity is initialized when a cycle slip occurs. The initial value of the error model for the carrier phase ambiguity (i.e., the initial value of the noise variance) can be found in the description above.
[0111] The error model corresponding to the ionospheric delay is a noise model that varies with time and is related to the satellite altitude angle; wherein, in the error model corresponding to the ionospheric delay, the noise error at the second moment is determined based on the noise error at the first moment, the ionospheric activity coefficient, the satellite altitude angle, and the interval length of the observation epoch, and the time difference between the second moment and the first moment matches the interval length of the observation epoch.
[0112] The error model of ionospheric delay is shown in the following formula (6):
[0113]
[0114] Among them, σ I (t+dt) is the noise error at the second moment; σ I (t) is the noise error at the first moment; α is the ionospheric activity coefficient, and the value of α can be set according to the actual geographical environment. For example, in areas with more active ionosphere, the coefficient can be set to 0.05, and in areas with less active ionosphere, the coefficient can be set to 0.01; E is the satellite altitude angle in radians, and dt is the observation epoch interval in seconds, that is, the interval length of the observation epoch.
[0115] The ionospheric delay can be initialized using the ICD broadcast ephemeris parameters during the first positioning (first epoch), and the initial value of the ionospheric delay noise variance can be set as described above. After the noise variance is initialized, the ionospheric delay noise variance can be updated using formula (6) during the iterative process of the extended Kalman filter.
[0116] This application sets a corresponding error model for each state parameter according to the characteristics of the state parameter, so that the subsequent extended Kalman filter algorithm can use the error model to iteratively estimate the state parameter more accurately, thereby improving the positioning accuracy.
[0117] For S204,
[0118] After determining the target observation expression and the error models for multiple state parameters, at least one state parameter in the target observation expression can be initialized. For example, the initial values of the three-dimensional coordinates can be determined using pseudorange single-point positioning to initialize the three-dimensional coordinates; and / or the initial value of the receiver clock error can be determined using pseudorange single-point positioning to initialize the receiver clock error; and / or the ionospheric delay can be initialized using the broadcast ephemeris parameters of the ICD; and / or the initial value of the carrier phase ambiguity can be determined using pseudorange to initialize the carrier phase ambiguity.
[0119] Optionally, determining the initialization information of at least one state parameter in the target observation expression based on the satellite broadcast data includes: determining whether the current epoch is the first epoch; if so, determining the initialization information of each of the multiple state parameters based on the satellite broadcast data.
[0120] During implementation, before initializing the state parameters in the target observation expression, determine whether the current epoch is the first epoch. If it is the first epoch, each state parameter in the target observation expression needs to be initialized, that is, the three-dimensional coordinates, receiver clock error, ionospheric delay, and carrier phase ambiguity are all initialized. If it is not the first epoch, then no initialization of each state parameter is required.
[0121] Optionally, when it is determined that the current epoch is not the first epoch, it is determined whether the receiver has a cycle slip in the current epoch; when it is determined that the receiver has a cycle slip, the initialization information of the carrier phase ambiguity and the receiver clock error in the target observation expression is determined based on the satellite broadcast data; when it is determined that the receiver has not had a cycle slip, the initialization information of the receiver clock error in the target observation expression is determined based on the satellite broadcast data.
[0122] When it is determined that the current epoch is not the first epoch, determine whether the receiver has experienced a cycle slip in the current epoch. If a cycle slip occurs, the carrier phase ambiguity must be reset. Since the receiver clock error must be initialized at each epoch, when a cycle slip occurs, the carrier phase ambiguity and the receiver clock error must be initialized. Specifically, the initialization information for the carrier phase ambiguity and the receiver clock error must be determined based on the satellite broadcast data. If the receiver has not experienced a cycle slip, the receiver clock error can be initialized. Specifically, the initialization information for the receiver clock error in the target observation expression must be determined based on the satellite broadcast data.
[0123] Optionally, the method also includes: when it is determined that the current epoch is not the first epoch, determining whether the receiver is in dynamic mode; when it is determined that the receiver is in dynamic mode, determining the initialization information of the three-dimensional coordinates and the receiver clock difference in the target observation expression based on the satellite broadcast data; when it is determined that the receiver is not in dynamic mode, determining the initialization information of the receiver clock difference in the target observation expression based on the satellite broadcast data.
[0124] During implementation, if the current epoch is not the first epoch, it is also possible to determine whether the receiver is in dynamic mode, that is, whether the receiver is in motion. If the receiver is in dynamic mode, it means that the receiver's three-dimensional coordinates must be initialized at each epoch. Since the receiver clock error also needs to be initialized at each epoch, when the receiver is in dynamic mode, the three-dimensional coordinates and receiver clock error are initialized. That is, the initialization information of the three-dimensional coordinates and receiver clock error in the target observation expression is determined based on the satellite broadcast data.
[0125] If the receiver is not in dynamic mode (ie, static mode), it means that the three-dimensional coordinates of the receiver do not change. Therefore, in this case, there is no need to initialize the three-dimensional coordinates and initialize the receiver clock error.
[0126] Through the above process, the state parameters in the target observation expression can be initialized more accurately to provide data support for the subsequent determination of the positioning results.
[0127] Optionally, the initialization information of the carrier phase ambiguity is determined according to the following steps: based on the satellite broadcast data, the target pseudorange and target carrier phase at the target time are determined, wherein the target time is the first epoch time or the time when the cycle slip occurs; the target pseudorange is divided by the carrier wavelength of the satellite signal, and the obtained quotient is subtracted from the target carrier phase to obtain the initialization information of the carrier phase ambiguity.
[0128] When the current epoch is the first epoch, the target pseudorange and target carrier phase for the first epoch are determined based on the satellite broadcast data to determine the initialization information for the carrier phase ambiguity in the first epoch. When the current epoch is not the first epoch, but a cycle slip occurs in the receiver, the target pseudorange and target carrier phase at the time of the cycle slip are determined based on the satellite broadcast data to determine the initialization information for the carrier phase ambiguity in the event of a cycle slip.
[0129] The initialization information of the carrier phase ambiguity is determined according to the following formula (7):
[0130]
[0131] Where λ is the carrier wavelength of the satellite signal, N0 is the carrier phase ambiguity, P(t0) is the pseudorange at the time of the first epoch or cycle slip (i.e., the target pseudorange described above), and L(t0) is the carrier phase at the time of the first epoch or cycle slip (i.e., the target carrier phase described above).
[0132] The above process can accurately determine the initialization information of the carrier phase ambiguity, so that the extended Kalman filter algorithm can be used for iterative adjustment later.
[0133] For S205,
[0134] After initializing the state parameters in the target observation expression, the extended Kalman filter algorithm can be used to iteratively adjust the state parameters based on the error model and the initialized target observation expression until the termination condition is met, resulting in updated state parameters, i.e., updated 3D coordinates. For example, the updated 3D coordinates can be directly determined as the receiver's positioning result at the current epoch. Alternatively, it can be determined whether the updated state parameters meet the requirements. If so, the updated 3D coordinates can be determined as the receiver's positioning result at the current epoch.
[0135] Optionally, the determining of the positioning result of the receiver at the current epoch based on the error model, the initialized target observation expression and the extended Kalman filter algorithm includes: estimating the state parameters using the extended Kalman filter algorithm based on the error model and the initialized target observation expression to obtain updated state parameters; determining the pseudorange residuals and carrier phase residuals corresponding to multiple satellites based on the updated state parameters and the target observation expression; and determining the positioning result of the receiver at the current epoch based on the pseudorange residuals and carrier phase residuals corresponding to the multiple satellites.
[0136] During implementation, the extended Kalman filter algorithm can be used, combined with the error model and the initialized target observation expression, to estimate the state parameters in the target observation expression and obtain the updated state parameters. By substituting the updated state parameters into the target observation expression, the pseudorange residuals and carrier phase residuals corresponding to multiple satellites can be obtained, as shown in the following formula (8):
[0137]
[0138] where X + is the updated state parameter, is a residual term, which includes the pseudorange residual and carrier phase residual corresponding to each satellite in the multiple satellites.
[0139] Then, based on the pseudorange residuals and carrier phase residuals corresponding to multiple satellites, it is determined whether the updated three-dimensional coordinates meet the requirements. If not, the positioning result of the receiver at the current epoch is determined to be a positioning failure. If it meets the requirements, the positioning result of the receiver at the current epoch is determined to be a positioning success, and the position information of the receiver at the current epoch, namely the updated three-dimensional coordinates, is determined to be obtained.
[0140] Through the above process, it can be determined whether the accuracy of the updated three-dimensional coordinates obtained in the current epoch meets the requirements, and then the positioning result of the receiver in the current epoch can be determined more accurately.
[0141] Optionally, determining the positioning result of the receiver at the current epoch according to the pseudorange residuals and carrier phase residuals respectively corresponding to the multiple satellites includes:
[0142] Step 1: For each satellite, determine whether the pseudorange residual corresponding to the satellite is greater than a first residual threshold, and whether the carrier phase residual is greater than a second residual threshold; when it is determined that the pseudorange residual corresponding to the satellite is not greater than the first residual threshold, and the carrier phase residual is not greater than the second residual threshold, determine that the residual of the satellite meets the requirement;
[0143] Step 2: Determine the number of satellites whose residuals meet the requirements among the multiple satellites;
[0144] Step 3: When the number of satellites is greater than the target number, determine that the positioning result of the receiver in the current epoch is successful positioning, and determine the three-dimensional coordinates in the updated state parameters as the position information of the receiver.
[0145] During implementation, the first residual threshold and the second residual threshold can be set according to business requirements. For example, the first residual threshold can be 1m, and the second residual threshold can be 0.1m. For each satellite, if the pseudorange residual of the satellite is greater than the first residual threshold, or if the carrier phase residual is greater than the second residual threshold, the residual of the satellite exceeds the limit, that is, the residual of the satellite does not meet the requirements. If the pseudorange residual of the satellite is not greater than the first residual threshold, and the carrier phase residual is not greater than the second residual threshold, the residual of the satellite is within the limit, that is, the residual of the satellite meets the requirements.
[0146] The number of satellites whose residuals meet the requirements, that is, the number of satellites whose residuals do not exceed the limit, is counted. If the number of satellites whose residuals do not exceed the limit is greater than the target number, the receiver's positioning result at the current epoch is determined to be successful, and the three-dimensional coordinates in the updated state parameters are determined as the receiver's position information. Conversely, if the number of satellites whose residuals do not exceed the limit is less than or equal to the target number, the receiver's positioning result at the current epoch is determined to be a positioning failure. The target number can be determined based on business needs, such as 4. Alternatively, the target number can be determined based on the total number of satellites currently received and the target ratio. For example, if the total number of satellites is 10 and the target ratio is 1 / 2, the target number is determined to be 5.
[0147] Through the above process, it is possible to more accurately determine whether the updated three-dimensional coordinates obtained at the current epoch are credible, so as to ensure the accuracy of the determined positioning results.
[0148] For example, before estimating the state parameters using the extended Kalman filter algorithm, the pseudorange and carrier phase in the target observation expression can also be corrected. For example, the satellite orbit, satellite clock error, and ionospheric delay can be calculated using the broadcast message, and the tropospheric delay can be calculated using the Saastamoinen model. The satellite orbit, satellite clock error, ionospheric delay, and tropospheric delay can then be used to correct the pseudorange and carrier phase observations to improve the accuracy of the determined positioning result.
[0149] See also Figure 3 The framework diagram corresponding to the satellite positioning method shown in the figure shows that the receiver can receive GNSS signals to obtain broadcast information (observation information), specifically including pseudorange, carrier phase, and broadcast message. Figure 3 It also includes a correction model and measurement equations. Specifically, the correction model can calculate the satellite position, satellite clock error, ionospheric delay, and process delay. The data obtained by the correction model is used to correct the pseudorange and carrier phase in the broadcast information to obtain the corrected carrier phase and the corrected pseudorange; and based on the carrier phase observation equation (such as the above formula 3) and the pseudorange observation equation (such as the above formula 4), the measurement equation of the Extended Kalman Filter (EKF) is constructed, such as the target observation expression of formula 5.
[0150] Figure 3 The state parameters and error models are also included. The state parameters include three-dimensional coordinates, receiver clock error, ionospheric delay and carrier phase ambiguity, as well as the error models corresponding to each state parameter. For example, when the receiver is in static mode, the error model of the three-dimensional coordinates can be a constant model, and the initialization variance can be 900m. 2The initialization variance can be set according to the actual situation. Here, 900m 2 This is just an example. When the receiver is in dynamic mode, the error model of the three-dimensional coordinates can be a white noise model, and the initialization variance can be 900m. 2 , and the initial value of the three-dimensional coordinates can be updated and determined by SPP. The error model of the receiver clock error is a white noise model, the initial value of the receiver clock error can be updated and determined by SPP, and the initialization variance can be 900m 2 The error model of ionospheric delay is a time-varying altitude angle-related noise model. During the iterative estimation process of EKF, the error of ionospheric delay can be updated by formula (6), and the initial variance can be 900m. 2 , and ionospheric delay can be initialized by broadcast ephemeris at the first positioning. The error model of carrier phase ambiguity is a constant model, which is initialized at the first epoch or when a cycle slip occurs. The initialization variance can be 900m 2 .
[0151] Combine Figure 4 As shown, the satellite positioning method proposed in this application is exemplarily described, specifically including the following contents: GNSS signal, wherein the GNSS signal includes pseudorange, carrier phase, and broadcast message. Determine whether it is the first epoch. If so, perform the process of initializing the ionospheric delay by the broadcast message, initializing the carrier phase ambiguity by the pseudorange, and initializing the three-dimensional coordinates by the pseudorange single point positioning. If it is not the first epoch, determine whether a cycle slip occurs. If so, perform the process of initializing the carrier phase ambiguity by the pseudorange. If no cycle slip occurs, determine whether it is a dynamic mode. If it is a dynamic mode, perform the process of initializing the three-dimensional coordinates by the pseudorange single point positioning. Then perform the pseudorange single point positioning to initialize the receiver clock error. Update the ionospheric delay covariance by formula (6). And use the broadcast message to calculate the satellite orbit, satellite clock error and ionospheric delay, and use the Saastamoinen model to calculate the tropospheric delay; use the above content (i.e., satellite orbit, satellite clock error, ionospheric delay and tropospheric delay) to correct the pseudorange and carrier phase observations. Perform extended Kalman filter estimation, in which the extended Kalman filter estimation process uses the constructed target observation expression and the error model of multiple state parameters. Specifically, based on the error model and the initialized target observation expression, the extended Kalman filter algorithm is used to estimate the state parameters to obtain the updated state parameters. Then, the pseudorange and carrier phase residuals can be calculated, and the residuals can be checked to see if they exceed the limit. The detection threshold (i.e., the first residual threshold and the second residual threshold) are set according to the actual scenario. Determine whether the number of satellites that do not exceed the limit is greater than 4; here, the target number is set to 4, and the target number can be set according to the actual scenario. If so, positioning is successful; if not, positioning fails.
[0152] This application proposes a satellite positioning method that does not rely on any augmentation or differential information. It uses single-frequency observations and broadcast ephemeris broadcast by navigation satellites to achieve decimeter-level positioning accuracy comparable to real-time PPP performance. Figure 5 As shown, Figure 5 The satellite positioning method and receiver device proposed in this application are shown in FIG. Figure 1 The positioning error statistical curve under the condition of receiving real satellite signals in actual application scenarios is shown in Figure 2. Figure 5 It can be seen that the positioning error of the satellite positioning method of the present application reaches the decimeter level in the east direction E, north direction N and sky direction U after a period of convergence.
[0153] In this application, single-frequency pseudorange and carrier phase are used to form non-differenced and non-combined observation quantities, and a hybrid filtering architecture based on the time domain characteristics of the observation error is constructed. The error models of ionospheric delay and carrier phase ambiguity are configured as an altitude angle-dependent noise model that varies slowly with time and a constant model that does not change with time, respectively. The characteristic that the carrier phase ambiguity does not change when the signal is stably tracked is used to separate the ionospheric delay. Other unmodeled errors (such as satellite orbit clock error, tropospheric delay, etc.) with similar time domain characteristics will be absorbed into the corresponding time domain state filtering model, thereby accurately separating the main error terms that affect the positioning accuracy and improving the positioning accuracy.
[0154] Therefore, the method proposed in this application does not rely on any augmentation information. It can break through the meter-level accuracy limit of existing autonomous single-point positioning by using only GNSS satellite broadcast messages and single-frequency observations. Compared with the classic real-time precise point positioning (RT-PPP) technology that relies on complex ground monitoring networks, satellite communication links and central control platforms, the method proposed in this application has obvious cost and solution deployment advantages. In addition, the method proposed in this application can be integrated into low-cost, low-power single-frequency navigation receivers. It is a low-cost, high-precision positioning solution, providing a new approach for autonomous high-precision positioning of unmanned systems in low-altitude navigation.
[0155] Corresponding to the aforementioned embodiments of the satellite positioning method, the present application also provides embodiments of a satellite positioning device. Figure 6 The schematic diagram of the satellite positioning device provided for this application specifically includes:
[0156] An acquisition module 601 is configured to acquire satellite broadcast data received by a receiver in a current epoch, wherein the satellite broadcast data includes broadcast data of multiple satellites, and the broadcast data includes pseudoranges and carrier phases;
[0157] A generating module 602 is configured to perform linearization processing on the first observation expression corresponding to the pseudorange and the second observation expression corresponding to the carrier phase to generate a target observation expression for determining positioning information;
[0158] A first determination module 603 is configured to determine an error model of multiple state parameters in the target observation expression, wherein the multiple state parameters include: three-dimensional coordinates, receiver clock error, ionospheric delay, and carrier phase ambiguity;
[0159] a second determining module 604, configured to determine initialization information of at least one state parameter in the target observation expression based on the satellite broadcast data, and initialize the target observation expression using the initialization information;
[0160] The third determination module 605 is used to determine the positioning result of the receiver at the current epoch based on the error model, the initialized target observation expression and the extended Kalman filter algorithm.
[0161] Optionally, the error model corresponding to the three-dimensional coordinates is related to the motion mode of the receiver; when the motion mode is a dynamic mode, the error model corresponding to the three-dimensional coordinates is a white noise model; when the motion mode is a static mode, the error model corresponding to the three-dimensional coordinates is a first constant model;
[0162] The error model corresponding to the receiver clock difference is a white noise model;
[0163] The error model corresponding to the carrier phase ambiguity is a second constant model that does not change with time;
[0164] The error model corresponding to the ionospheric delay is a noise model that varies with time and is related to the satellite altitude angle; wherein, in the error model corresponding to the ionospheric delay, the noise error at the second moment is determined based on the noise error at the first moment, the ionospheric activity coefficient, the satellite altitude angle, and the interval length of the observation epoch, and the time difference between the second moment and the first moment matches the interval length of the observation epoch.
[0165] Optionally, the second determining module 604, when determining the initialization information of at least one state parameter in the target observation expression according to the satellite broadcast data, is configured to:
[0166] Determining whether the current epoch is a first epoch;
[0167] If so, initialization information of each of the multiple state parameters is determined according to the satellite broadcast data.
[0168] Optionally, the second determining module 604 is further configured to:
[0169] When it is determined that the current epoch is not the first epoch, determining whether a cycle slip occurs in the receiver within the current epoch;
[0170] When it is determined that a cycle slip occurs in the receiver, determining initialization information of the carrier phase ambiguity and the receiver clock error in the target observation expression according to the satellite broadcast data;
[0171] When it is determined that the receiver does not have a cycle slip, initialization information of the receiver clock error in the target observation expression is determined based on the satellite broadcast data.
[0172] Optionally, the second determining module 604 is further configured to:
[0173] When it is determined that the current epoch is not the first epoch, determining whether the receiver is in a dynamic mode;
[0174] When it is determined that the receiver is in dynamic mode, determining initialization information of the three-dimensional coordinates and the receiver clock error in the target observation expression according to the satellite broadcast data;
[0175] When it is determined that the receiver is not in dynamic mode, initialization information of the receiver clock error in the target observation expression is determined based on the satellite broadcast data.
[0176] Optionally, the second determining module 604 is configured to determine the initialization information of the carrier phase ambiguity according to the following steps:
[0177] determining a target pseudorange and a target carrier phase at a target time according to the satellite broadcast data, wherein the target time is a first epoch time or a cycle slip occurrence time;
[0178] The target pseudorange is divided by the carrier wavelength of the satellite signal, and the obtained quotient is subtracted from the target carrier phase to obtain initialization information of the carrier phase ambiguity.
[0179] Optionally, the third determination module 605, when determining the positioning result of the receiver at the current epoch based on the error model, the initialized target observation expression, and the extended Kalman filter algorithm, is configured to:
[0180] Based on the error model and the initialized target observation expression, the state parameters are estimated using the extended Kalman filter algorithm to obtain updated state parameters;
[0181] Determining pseudorange residuals and carrier phase residuals corresponding to a plurality of satellites respectively based on the updated state parameters and the target observation expression;
[0182] Determine a positioning result of the receiver at a current epoch based on the pseudorange residuals and carrier phase residuals respectively corresponding to the multiple satellites.
[0183] Optionally, the third determination module 605, when determining the positioning result of the receiver at the current epoch according to the pseudorange residuals and carrier phase residuals respectively corresponding to the multiple satellites, is configured to:
[0184] For each satellite, determining whether a pseudorange residual corresponding to the satellite is greater than a first residual threshold, and whether the carrier phase residual is greater than a second residual threshold; when it is determined that the pseudorange residual corresponding to the satellite is not greater than the first residual threshold, and the carrier phase residual is not greater than the second residual threshold, determining that the residual of the satellite meets the requirement;
[0185] Determining the number of satellites whose residuals meet the requirement among the plurality of satellites;
[0186] When the number of satellites is greater than the target number, the positioning result of the receiver in the current epoch is determined to be successful positioning, and the three-dimensional coordinates in the updated state parameters are determined as the position information of the receiver.
[0187] The implementation process of the functions and effects of each unit in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned method, and will not be repeated here.
[0188] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to the partial description of the method embodiments. The device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application scheme. A person of ordinary skill in the art can understand and implement it without paying any creative work.
[0189] The present application also provides a computer-readable storage medium, which stores a computer program. The computer program can be used to execute the satellite positioning method described in the above embodiment.
[0190] This application also provides a computer device, see Figure 7As shown, it is a structural diagram of the computer device provided by this application. At the hardware level, the computer device includes a processor, an internal bus, a network interface, a memory and a non-volatile memory, and of course may also include hardware required for other services. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to implement the satellite positioning method described in the above embodiment. Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0191] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, devices, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0192] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0193] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0194] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1a process or multiple processes and / or boxes Figure 1 In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0195] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0196] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.
[0197] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0198] This specification may be described in the general context of computer-executable instructions, such as program modules, executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media, including storage devices.
[0199] The various embodiments in this specification are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiments are generally similar to the method embodiments, so the description is relatively simple. For relevant parts, refer to the description of the method embodiments.
[0200] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A satellite positioning method, characterized in that: The method comprises: Acquire satellite broadcast data received by the receiver in a current epoch, wherein the satellite broadcast data includes broadcast data of a plurality of satellites, and the broadcast data includes pseudorange and carrier phase; performing linearization processing on a first observation expression corresponding to the pseudorange and a second observation expression corresponding to the carrier phase to generate a target observation expression for determining positioning information; Determining error models of multiple state parameters in the target observation expression, wherein the multiple state parameters include: three-dimensional coordinates, receiver clock error, ionospheric delay, and carrier phase ambiguity; Determining initialization information of at least one state parameter in the target observation expression according to the satellite broadcast data, and initializing the target observation expression using the initialization information; Based on the error model, the initialized target observation expression and the extended Kalman filter algorithm, the positioning result of the receiver at the current epoch is determined.
2. The method according to claim 1, characterized in that The error model corresponding to the three-dimensional coordinates is related to the motion mode of the receiver; when the motion mode is a dynamic mode, the error model corresponding to the three-dimensional coordinates is a white noise model; when the motion mode is a static mode, the error model corresponding to the three-dimensional coordinates is a first constant model; The error model corresponding to the receiver clock difference is a white noise model; The error model corresponding to the carrier phase ambiguity is a second constant model that does not change with time; The error model corresponding to the ionospheric delay is a noise model that varies with time and is related to the satellite altitude angle; wherein, in the error model corresponding to the ionospheric delay, the noise error at the second moment is determined based on the noise error at the first moment, the ionospheric activity coefficient, the satellite altitude angle, and the interval length of the observation epoch, and the time difference between the second moment and the first moment matches the interval length of the observation epoch.
3. The method according to claim 1, characterized in that Determining initialization information of at least one state parameter in the target observation expression according to the satellite broadcast data includes: Determining whether the current epoch is a first epoch; If so, initialization information of each of the multiple state parameters is determined according to the satellite broadcast data.
4. The method according to claim 3, characterized in that The method further comprises: When it is determined that the current epoch is not the first epoch, determining whether a cycle slip occurs in the receiver within the current epoch; When it is determined that a cycle slip occurs in the receiver, determining initialization information of the carrier phase ambiguity and the receiver clock error in the target observation expression according to the satellite broadcast data; When it is determined that the receiver does not have a cycle slip, initialization information of the receiver clock error in the target observation expression is determined based on the satellite broadcast data.
5. The method according to claim 4, characterized in that The method further comprises: When it is determined that the current epoch is not the first epoch, determining whether the receiver is in a dynamic mode; When it is determined that the receiver is in dynamic mode, determining initialization information of the three-dimensional coordinates and the receiver clock error in the target observation expression according to the satellite broadcast data; When it is determined that the receiver is not in dynamic mode, initialization information of the receiver clock error in the target observation expression is determined based on the satellite broadcast data.
6. The method according to claim 3 or 4, characterized in that The initialization information of the carrier phase ambiguity is determined according to the following steps: determining a target pseudorange and a target carrier phase at a target time according to the satellite broadcast data, wherein the target time is a first epoch time or a cycle slip occurrence time; The target pseudorange is divided by the carrier wavelength of the satellite signal, and the obtained quotient is subtracted from the target carrier phase to obtain initialization information of the carrier phase ambiguity.
7. The method according to any one of claims 1 to 5, characterized in that: Determining a positioning result of the receiver at a current epoch based on the error model, the initialized target observation expression, and the extended Kalman filter algorithm includes: Based on the error model and the initialized target observation expression, the state parameters are estimated using the extended Kalman filter algorithm to obtain updated state parameters; Determining pseudorange residuals and carrier phase residuals corresponding to a plurality of satellites respectively based on the updated state parameters and the target observation expression; Determine a positioning result of the receiver at a current epoch based on the pseudorange residuals and carrier phase residuals respectively corresponding to the multiple satellites.
8. The method according to claim 7, characterized in that The determining, based on the pseudorange residuals and carrier phase residuals respectively corresponding to the plurality of satellites, a positioning result of the receiver at a current epoch includes: For each satellite, determining whether a pseudorange residual corresponding to the satellite is greater than a first residual threshold, and whether the carrier phase residual is greater than a second residual threshold; when it is determined that the pseudorange residual corresponding to the satellite is not greater than the first residual threshold, and the carrier phase residual is not greater than the second residual threshold, determining that the residual of the satellite meets the requirement; Determining the number of satellites whose residuals meet the requirement among the plurality of satellites; When the number of satellites is greater than the target number, the positioning result of the receiver in the current epoch is determined to be successful positioning, and the three-dimensional coordinates in the updated state parameters are determined as the position information of the receiver.
9. A satellite positioning device, characterized in that: The device comprises: an acquisition module, configured to acquire satellite broadcast data received by the receiver in a current epoch, wherein the satellite broadcast data includes broadcast data of a plurality of satellites, and the broadcast data includes pseudorange and carrier phase; a generating module, configured to linearize a first observation expression corresponding to the pseudorange and a second observation expression corresponding to the carrier phase to generate a target observation expression for determining positioning information; A first determination module is configured to determine an error model of multiple state parameters in the target observation expression, wherein the multiple state parameters include: three-dimensional coordinates, receiver clock error, ionospheric delay, and carrier phase ambiguity; a second determining module, configured to determine initialization information of at least one state parameter in the target observation expression based on the satellite broadcast data, and initialize the target observation expression using the initialization information; The third determination module is used to determine the positioning result of the receiver at the current epoch based on the error model, the initialized target observation expression and the extended Kalman filter algorithm.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
11. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: The processor executes the steps of the method according to any one of claims 1 to 8.
