GNSS positioning method and device, GNSS positioning terminal and storage medium
By acquiring GNSS data and using state variables to record abnormal information, and filtering target satellites to fix ambiguity, the problem of poor solution performance of GNSS positioning technology on platforms with low computing power and small memory is solved, and efficient positioning solution and abnormal information recording are achieved.
Patent Information
- Application Number
- CN202311847745.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-28
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2043-12-28
AI Technical Summary
Existing GNSS positioning technology has poor performance on computing platforms with low computing power and small memory, high memory resource requirements, and requires a large amount of log data for real-time calculation, which consumes a lot of memory resources.
By acquiring raw GNSS data and differential data, recording abnormal information using state variables, performing calculations under the conditions that meet the requirements, filtering target satellites to fix ambiguities, updating phase ambiguity parameters and receiver coordinates, and outputting positioning information, unnecessary satellite data calculations are avoided.
It improves the performance of localization calculation, reduces the computing power requirement, and records abnormal information during the calculation process with minimal memory resources, thus achieving efficient localization calculation.
Smart Images

Figure CN117805874B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of satellite navigation and positioning technology, and more specifically, to a GNSS positioning method, device, GNSS positioning terminal, and storage medium. Background Technology
[0002] The rise of autonomous driving requires the support of various cutting-edge core technologies, one of which is the fusion positioning technology of in-vehicle integrated navigation. Because Global Positioning System (GNSS) satellite positioning technology can provide the absolute position coordinates of a vehicle, it has become the preferred solution for autonomous driving navigation and positioning.
[0003] Autonomous driving technology is complex and cost-sensitive for each module. High-precision navigation and positioning modules, in particular, require low cost and reliable real-time positioning accuracy. Therefore, these modules typically use hardware platforms with low computing power and limited memory to process GNSS data. For such computing platforms, existing GNSS positioning and solving technologies suffer from poor performance and high memory requirements. Furthermore, current technologies have high computing power requirements, and during real-time solving, extensive logs are printed to analyze any anomalies that occur afterward, necessitating substantial memory resources for processing this large amount of log data. Summary of the Invention
[0004] In view of this, the purpose of the present invention is to provide a GNSS positioning method, device, GNSS positioning terminal and storage medium, so as to improve the positioning solution performance and reduce the computing power requirements, while recording abnormal information in the solution process with minimal memory resources.
[0005] To achieve the above objectives, the technical solutions adopted in the embodiments of the present invention are as follows:
[0006] In a first aspect, embodiments of the present invention provide a GNSS positioning method, applied to a GNSS positioning terminal;
[0007] The method includes:
[0008] Acquire raw GNSS data, differential GNSS data, and state variables. Use the raw GNSS data and differential GNSS data as data to be processed, wherein the state variables are used to record abnormal information.
[0009] The data to be processed is analyzed, and the state variables are updated based on the analysis results;
[0010] The state variable is updated according to the data to be processed. If the data to be processed meets the solution conditions, the preset solution observation equation is solved based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters.
[0011] Target satellites are selected based on the analysis results of the data to be processed;
[0012] The ambiguity of the target satellite is fixed in order to update the phase ambiguity parameters, receiver coordinates, and state variables;
[0013] The updated phase ambiguity parameter and receiver coordinates are used as positioning information, and the positioning information and the state variable are output.
[0014] In an optional implementation, the raw GNSS data includes GNSS ephemeris data and GNSS satellite observation data;
[0015] The step of analyzing the data to be processed and updating the state variables based on the analysis results includes:
[0016] The status of the GNSS ephemeris data, GNSS satellite observation data, and GNSS positioning differential data is analyzed to determine the number of satellites in the GNSS ephemeris data, the number of satellites in the GNSS satellite observation data, the satellite elevation angle in the GNSS satellite observation data, the number of satellites with elevation angles greater than a preset angle, the average signal-to-noise ratio of the GNSS satellite observation data, the number of satellites in the GNSS differential data, the number of ionospheric satellites in the GNSS differential data, and the average ionospheric accuracy factor in the GNSS differential data.
[0017] The state variables are updated one by one based on the number of satellites in the GNSS ephemeris data, the number of satellites with an elevation angle greater than a preset angle in the GNSS satellite observation data, the average signal-to-noise ratio of the GNSS satellite observation data, the number of satellites in the GNSS differential data, the number of satellites in the ionosphere in the GNSS differential data, and the average ionospheric accuracy factor of the GNSS differential data.
[0018] Gross errors are identified in the GNSS satellite observation data to determine the number of outlier satellites based on the GNSS satellite observation data, and the state variable is updated according to the number of outlier satellites.
[0019] Cycle slip detection is performed on the GNSS satellite observation data to determine the number of cycle slip satellites based on the GNSS satellite observation data, and the state variable is updated according to the number of cycle slip satellites.
[0020] In an optional implementation, the GNSS satellite observation data includes phase observations;
[0021] The step of updating the state variable based on the data to be processed, and, if it is determined that the data to be processed meets the solution conditions, solving the preset solution observation equation based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters, includes:
[0022] Determine the number of phase observations to update the state variable based on the number of phase observations;
[0023] If the number of phase observations is greater than or equal to a first preset value, the preset solution observation equation is solved based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters.
[0024] In an optional implementation, the step of filtering out target satellites based on the analysis results of the data to be processed includes:
[0025] Target satellites are selected based on the number of satellites and their elevation angles in the GNSS satellite observation data.
[0026] In an optional implementation, the step of filtering target satellites based on the number of satellites and satellite elevation angles in the GNSS satellite observation data includes:
[0027] Determine whether the number of satellites in the GNSS satellite observation data is greater than a second preset value;
[0028] If so, sort the satellite elevation angles in the GNSS satellite observation data from high to low, and select the number of satellites equal to the second preset value as target satellites based on the sorting results;
[0029] If not, the target satellites will be the number of satellites equal to the number of satellites in the GNSS satellite observation data.
[0030] In an optional implementation, the step of fixing the ambiguity of the target satellite to update the phase ambiguity parameters, receiver coordinates, and state variables includes:
[0031] Determine the wide-lane variance-covariance matrix corresponding to the inter-satellite single-difference wide-lane ambiguity of the target satellite;
[0032] The wide-lane variance covariance matrix is input into the lambda algorithm for search, so as to fix the ambiguity of the inter-satellite single-difference wide-lane ambiguity of the target satellite;
[0033] Determine the number of inter-satellite single-difference wide-lane ambiguities of the target satellite and the corresponding search result ratio value;
[0034] The state variable is updated based on the number of inter-satellite single-difference wide-lane ambiguities and the corresponding search result ratio value;
[0035] If the search result ratio value is greater than the third preset value and the number of inter-satellite single-difference wide-lane ambiguities of the target satellite is greater than or equal to the fourth preset value, the narrow-lane variance covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguity of the target satellite is determined.
[0036] The narrow alleyway variance covariance matrix is input into the lambda algorithm for search, so as to fix the ambiguity of the inter-satellite single-difference narrow alleyway ambiguity of the target satellite;
[0037] Determine the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite and the corresponding search result ratio value;
[0038] If the search result ratio value is greater than the third preset value and the number of inter-satellite single-difference narrow lane ambiguities of the target satellite is greater than or equal to the fifth preset value, the phase ambiguity parameter and receiver coordinates are updated according to the ambiguity fixing result.
[0039] The state variable is updated based on the number of inter-satellite single-difference narrow alleyway ambiguities and the corresponding search result ratio value.
[0040] In an optional implementation, the method further includes:
[0041] If the search result ratio value is less than or equal to the third preset value or the number of inter-satellite single-difference wide-lane ambiguities of the target satellite is less than the fourth preset value, the target satellite is updated according to the satellite elevation angle, and the process returns to the steps of determining the wide-lane variance covariance matrix corresponding to the inter-satellite single-difference wide-lane ambiguity of the target satellite and updating the state variable according to the number of inter-satellite single-difference wide-lane ambiguities and the corresponding search result ratio value.
[0042] If the search result ratio value is less than or equal to the third preset value or the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite is less than the fifth preset value, the target satellite is updated according to the satellite elevation angle, and the process returns to the steps of determining the narrow-lane variance covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguity of the target satellite and determining the number of inter-satellite single-difference narrow-lane ambiguities and the corresponding search result ratio value of the target satellite.
[0043] Secondly, embodiments of the present invention provide a GNSS positioning device, which is applied to a GNSS positioning terminal;
[0044] The device includes:
[0045] The data acquisition module is used to acquire raw GNSS data, differential GNSS data, and state variables, and to use the raw GNSS data and differential GNSS data as data to be processed, wherein the state variables are used to record abnormal information.
[0046] The data analysis module is used to analyze the data to be processed and update the state variables based on the analysis results;
[0047] The solution module is used to update the state variables based on the data to be processed; when it is determined that the data to be processed meets the solution conditions, it solves the preset solution observation equation based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters; it selects target satellites based on the analysis results of the data to be processed; and it fixes the ambiguity of the target satellites to update the phase ambiguity parameters, receiver coordinates, and state variables.
[0048] The output module is used to take the updated phase ambiguity parameter and receiver coordinates as positioning information, and output the positioning information and the state variable.
[0049] Thirdly, embodiments of the present invention provide a GNSS positioning terminal, including a memory and a processor;
[0050] The memory is used to store computer programs;
[0051] The processor is used to execute the computer program to implement the GNSS positioning method provided as described in the first aspect embodiment and / or in combination with possible implementations of the first aspect embodiment.
[0052] Fourthly, embodiments of the present invention provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the GNSS positioning method provided as described in the first aspect embodiments and / or in combination with possible implementations of the first aspect embodiments.
[0053] The beneficial effects of the embodiments of the present invention include, for example:
[0054] This invention provides a GNSS positioning method, device, GNSS positioning terminal, and storage medium. By acquiring raw GNSS data, differential GNSS data, and state variables, the raw and differential GNSS data are used as data to be processed and analyzed. The state variables are updated based on the analysis results. If the data to be processed meets the solution conditions, a preset solution observation equation is solved based on the data to obtain receiver coordinates and phase ambiguity parameters. Ambiguity is fixed based on selected target satellites to update the phase ambiguity parameters and receiver coordinates. Finally, the updated phase ambiguity parameters, receiver coordinates, and state variables are output. Since the ambiguity is fixed only for selected target satellites throughout the process, unnecessary satellite data calculations are avoided, reducing computation time and thus improving positioning performance while reducing computing power requirements.
[0055] Meanwhile, since the above GNSS positioning method uses state variables, which occupy very little memory resources, the memory cost is greatly reduced. Since the state variables are used to record abnormal information and are updated in real time throughout the process, it is possible to record abnormal information during the solution process while occupying very little memory resources.
[0056] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0057] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0058] Figure 1 An exemplary structural block diagram of a GNSS positioning terminal provided in an embodiment of the present invention is shown;
[0059] Figure 2 A flowchart illustrating a GNSS positioning method provided by an embodiment of the present invention is shown;
[0060] Figure 3 This is a second schematic flowchart of a GNSS positioning method provided by an embodiment of the present invention;
[0061] Figure 4 The third schematic flowchart of a GNSS positioning method provided by an embodiment of the present invention is shown;
[0062] Figure 5The fourth schematic flowchart of a GNSS positioning method provided by an embodiment of the present invention is shown;
[0063] Figure 6 The fifth illustration shows a flowchart of a GNSS positioning method provided by an embodiment of the present invention;
[0064] Figure 7 This illustration shows a flowchart of a GNSS positioning method provided by an embodiment of the present invention. Figure 6 ;
[0065] Figure 8 This illustration shows a flowchart of a GNSS positioning method provided by an embodiment of the present invention. Figure 7 ;
[0066] Figure 9 An exemplary structural block diagram of a GNSS positioning device provided by an embodiment of the present invention is shown.
[0067] Icons: 110-GNSS positioning terminal; 1101-Memory; 1102-Processor; 1103-Communication interface; 300-GNSS positioning device; 301-Data acquisition module; 302-Data analysis module; 303-Solution module; 304-Output module. Detailed Implementation
[0068] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. The components of the embodiments of the present invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.
[0069] Therefore, the following detailed description of the embodiments of the invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the invention without inventive effort are within the scope of protection of the invention.
[0070] It should be noted that relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0071] It should be noted that, where there is no conflict, the features in the embodiments of the present invention can be combined with each other.
[0072] The rise of autonomous driving requires the support of various cutting-edge core technologies, one of which is the fusion positioning technology of in-vehicle integrated navigation. Because Global Positioning System (GNSS) satellite positioning technology can provide the absolute position coordinates of a vehicle, it has become the preferred solution for autonomous driving navigation and positioning.
[0073] With the development of autonomous driving technology, higher requirements are being placed on the real-time performance, high accuracy, and high reliability of navigation and positioning. Currently, the main GNSS positioning technologies include real-time kinematic (RTK) positioning and precise point positioning (PPP).
[0074] Specifically, RTK technology offers fast convergence and high positioning accuracy, making it a commonly used satellite positioning technology in the field of high-precision positioning. PPP technology, on the other hand, requires no reference station; it only needs a single receiver on the vehicle terminal to receive data such as precise satellite orbit clock errors. Through error modeling and parameterization, it can obtain centimeter-level high-precision positioning information. However, due to its slow convergence speed, PPP technology typically requires 20-30 minutes of continuous observation to obtain centimeter-level positioning information.
[0075] With the development of technology, atmospheric delay error information of GNSS satellite signals has been added to the PPP technology to create enhanced PPP technology (PPP-RTK). PPP-RTK technology combines all the advantages of PPP technology and can provide centimeter-level positioning services in real time within tens of seconds.
[0076] Furthermore, due to the complexity of autonomous driving technology and its sensitivity to the cost of each module, high-precision navigation and positioning modules require low cost and real-time reliable positioning accuracy. Therefore, high-precision navigation and positioning modules typically use hardware platforms with low computing power and small memory to process GNSS data.
[0077] For computing platforms with low computing power and limited memory, existing GNSS positioning and solving technologies suffer from poor solving performance and high memory resource requirements. Furthermore, existing technologies have high computing power requirements, and during real-time solving, a large amount of log data is printed to analyze any anomalies that occur afterward, necessitating substantial memory resources.
[0078] Based on this, embodiments of the present invention provide a GNSS positioning method that can improve positioning solution performance and reduce computing power requirements, while recording abnormal information during the algorithm solution process with minimal memory resources.
[0079] Please see Figure 1 , Figure 1 An exemplary structural block diagram of a GNSS positioning terminal 110 provided in an embodiment of the present invention is shown. The GNSS positioning terminal can be mounted on a car to realize navigation during the car's driving process, or it can be mounted on other devices to realize navigation. This application embodiment does not impose any limitations on this.
[0080] Furthermore, such as Figure 1 As shown, the GNSS positioning terminal 110 includes a memory 1101, a processor 1102, and a communication interface 1103. The memory 1101, processor 1102, and communication interface 1103 are electrically connected to each other directly or indirectly to realize data transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses or signal lines.
[0081] The memory 1101 can be used to store software programs and modules. The processor 1102 executes various functional applications and data processing by executing the software programs and modules stored in the memory 1101. The communication interface 1103 can be used to communicate with other node devices for signaling or data.
[0082] The memory 1101 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.
[0083] The processor 1102 can be an integrated circuit chip with signal processing capabilities. The processor 1102 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0084] Based on the GNSS positioning terminal 110 described above, the following executor describes a GNSS positioning method provided by an embodiment of the present invention, using the GNSS positioning terminal 110 as the execution subject. Please refer to [link / reference]. Figure 2 , Figure 2 A flowchart illustrating a GNSS positioning method provided by an embodiment of the present invention is shown.
[0085] like Figure 2 As shown, the above GNSS positioning method is applied to GNSS positioning terminal 110, and the above GNSS positioning method may include the following steps:
[0086] S210: Acquire raw GNSS data, differential GNSS data, and state variables, and use the raw GNSS data and differential GNSS data as data to be processed.
[0087] Among them, the state variables are used to record abnormal information.
[0088] S220: Analyze the data to be processed and update the state variables based on the analysis results.
[0089] S230: Update the state variables based on the data to be processed. If the data to be processed meets the solution conditions, solve the preset solution observation equation based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters.
[0090] S240 selects target satellites based on the analysis results of the data to be processed.
[0091] S250 fixes the ambiguity of the target satellite in order to update the phase ambiguity parameters, receiver coordinates, and state variables.
[0092] S260 uses the updated phase ambiguity parameters and receiver coordinates as positioning information, and outputs positioning information and state variables.
[0093] The above steps involve acquiring raw GNSS data, differential GNSS data, and state variables; analyzing the raw and differential GNSS data as data to be processed; updating the state variables based on the analysis results; solving the preset solution observation equations based on the data to be processed, given that the data to be processed meets the solution conditions, to obtain receiver coordinates and phase ambiguity parameters; fixing the ambiguity based on the selected target satellites to update the phase ambiguity parameters and receiver coordinates; and finally outputting the updated phase ambiguity parameters, receiver coordinates, and state variables.
[0094] Step S210 involves acquiring raw GNSS data, differential GNSS data, and state variables. Specifically, the raw GNSS data includes GNSS ephemeris data and GNSS satellite observation data. The GNSS satellite observation data may include pseudorange and carrier phase observations, Doppler observations, and signal-to-noise ratio (SNR) information. If the GNSS positioning method uses the PPP-RTK technology scheme, the differential GNSS data may include precise orbital clock error data, satellite-end pseudorange and phase hardware delay data, and ionospheric and tropospheric delay data along the satellite signal propagation path. If the GNSS positioning method uses the RTK technology scheme, the differential GNSS data may include pseudorange and carrier phase data, Doppler data, and SNR information.
[0095] Furthermore, the aforementioned state variable can be a predefined uint32 type state variable mask, which has 32 bits and occupies 4 bytes of memory. It is used to record abnormal information in the real-time calculation process, which facilitates the analysis of the cause of the abnormality and the optimization of the algorithm afterward. The Mask state variable is initialized to 0.
[0096] In this embodiment of the invention, after obtaining the above-mentioned raw GNSS data, differential GNSS data and state variables, step S220 is executed to analyze the data to be processed and update the state variables according to the analysis results.
[0097] Specifically, step S220, analyzing the data to be processed, can be achieved by performing corresponding preprocessing on the data to be processed. For example, the status of GNSS ephemeris data, GNSS satellite observation data, and GNSS positioning differential data can be analyzed to determine the number of satellites in the GNSS ephemeris data, the number of satellites in the GNSS satellite observation data, the satellite elevation angle in the GNSS satellite observation data, the number of satellites with elevation angles greater than a preset angle, the average signal-to-noise ratio of the GNSS satellite observation data, the number of satellites in the GNSS differential data, the number of ionospheric satellites in the GNSS differential data, and the average ionospheric accuracy factor in the GNSS differential data.
[0098] Furthermore, the state variables can be updated one by one based on the number of satellites in the GNSS ephemeris data, the number of satellites with an elevation angle greater than a preset angle in the GNSS satellite observation data, the average signal-to-noise ratio of the GNSS satellite observation data, the number of satellites in the GNSS differential data, the number of satellites in the ionosphere in the GNSS differential data, and the average ionospheric accuracy factor in the GNSS differential data.
[0099] For example, if we define the number of satellites in the GNSS ephemeris data as nav_ns, the number of satellites with an elevation angle greater than 10 degrees in the GNSS satellite observation data as obs_ns, the average signal-to-noise ratio of the GNSS satellite observation data as ave_snr, the number of satellites in the GNSS differential data as cf_ns, the number of ionospheric satellites in the GNSS differential data as stec_ns, and the average ionospheric precision factor of the GNSS differential data as ave_qi, then the following example illustrates how to update the state variables based on the above settings and the obtained data:
[0100] If nav_ns equals 0, the first bit of the state variable mask is set to 1; otherwise, it is set to 0.
[0101] If obs_ns is less than 10, the second bit of the state variable mask is set to 1; otherwise, it is set to 0.
[0102] If ave_snr is less than 35, the third bit of the state variable mask is set to 1; otherwise, it is set to 0.
[0103] If cf_ns is 0, the 4th bit of the state variable mask is set to 1; otherwise, it is set to 0.
[0104] If the proportion of cf_ns to obs_ns is less than 0.9, the 5th bit of the state variable mask is set to 1; otherwise, it is set to 0.
[0105] If the ratio of stec_ns to obs_ns is less than 0.8, the 6th bit of the state variable mask is set to 1; otherwise, it is set to 0.
[0106] If ave_qi is greater than 16 cm, the 7th bit of the state variable mask is set to 1; otherwise, it is set to 0.
[0107] Based on the above settings, the state variable can be updated according to the analysis results of the data to be processed, so that subsequent analysis of abnormal information in the above data analysis process can be based on the state variable.
[0108] Furthermore, step S220 also requires gross error identification of the GNSS satellite observation data to determine the number of gross error satellites based on the GNSS satellite observation data. Specifically, gross error identification of the GNSS satellite observation data can be performed using methods such as signal frequency cross-checking, Doppler and pseudorange consistency cross-checking, and single-point positioning residual verification. If the number of gross error satellites recorded is set to gross_ns, the state variable can be updated according to the number of gross error satellites. For example, if the proportion of gross_ns to the number of satellites with an elevation angle greater than 10 degrees (obs_ns) in the total GNSS satellite observation data is greater than 0.32, then the 8th bit of the state variable mask is set to 1; otherwise, it is set to 0.
[0109] Furthermore, step S220 also requires cycle slip detection of the GNSS satellite observation data to determine the number of cycle slip satellites based on the GNSS satellite observation data. Specifically, the ionospheric residual method, MW combination method, epoch difference method, etc. can be used to detect cycle slips in the GNSS satellite observation data. If the number of cycle slip satellites recorded is set to slip_ns, the state variable can be updated according to the number of cycle slip satellites. For example, if slip_ns accounts for more than 0.32 of the number of satellites with an elevation angle greater than 10 degrees in the GNSS satellite observation data obs_ns, the 9th bit of the state variable mask is set to 1, otherwise it is set to 0.
[0110] In this embodiment of the invention, after analyzing the data to be processed and updating the state variables according to the analysis results, step S230 is continued to be executed. The state variables are updated according to the data to be processed. If it is determined that the data to be processed meets the solution conditions, the preset solution observation equation is solved based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters.
[0111] Specifically, step S230 can be achieved by pre-constructing a preset solution observation equation and solving the preset solution observation equation based on the data to be processed. If the preset solution observation equation is set as a non-combined PPP observation equation, then the above non-combined PPP observation equation can be expressed as follows:
[0112]
[0113]
[0114] Among them, P s,j and L s,j These are the pseudorange and phase observations of satellite s at frequency j (j = 1, 2), respectively. Let dt be the geometric distance between the phase center of the receiver antenna r and the phase center of the satellite s, c be the speed of light in vacuum, and dt be the geometric distance between them. r,j Let dt be the receiver clock error at frequency j of receiver r. s Let be the clock bias of satellite s; Trop be the tropospheric delay. Let γ be the ionospheric delay at frequency j, and γ be the square ratio of the frequency. f j b is the frequency value of frequency j; r,j and The pseudorange hardware delays at the receiver and satellite ends are B, respectively. r,j and These are the phase hardware delays at the receiver and satellite ends, respectively. and Let ε be the wavelength and phase ambiguity at frequency j of satellite s, respectively. p,j and ε L,j These represent the observation noise of pseudorange and phase observations, respectively.
[0115] Furthermore, the unknown parameters in Formula 1 above include receiver coordinates, receiver clock bias, wet delay in the zenith troposphere, ionospheric delay at each frequency, and phase ambiguity at each frequency. Since the hardware delay at the receiver end is absorbed by the receiver clock bias, the orbital error and clock error at the satellite end, as well as the hardware delay at the satellite end, can be corrected using the differential data obtained in step S210. Errors such as tropospheric dry delay, phase entanglement, antenna phase center offset, and relativistic effects can be corrected using the model.
[0116] Based on Formula 1 above, the preset solution observation equation can be solved based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters. In practical applications, due to L... s,jSince the phase observation value is for satellite s, the number of phase observation values in the GNSS satellite observation data obtained in step S210 can be used to determine whether the data to be processed meets the solution conditions. If the number of phase observation values is greater than or equal to the first preset value, the preset solution observation equation can be solved based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters, and the state variables can be updated according to the number of phase observation values.
[0117] For example, based on the state variable settings mentioned above, if the phase observation value L is set... s,j If the quantity is L_n, then if L_n is less than 10, the 10th bit of the state variable mask is set to 1, otherwise it is set to 0. If L_n is greater than or equal to 10, then the data to be processed is judged to meet the solution conditions, and Kalman filtering can be used to solve the receiver coordinates and phase ambiguity parameters. Otherwise, the solution process ends and the positioning solution fails.
[0118] In this embodiment of the invention, after solving the preset solution observation equation based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters, steps S240 and S250 are continued to be executed. The target satellite is selected according to the analysis results of the data to be processed, and the ambiguity of the target satellite is fixed to update the phase ambiguity parameters, receiver coordinates and state variables.
[0119] Specifically, step S240 can be implemented by filtering target satellites based on the number of satellites and their elevation angles in the GNSS satellite observation data. For example, the satellite elevation angles in the GNSS satellite observation data can be sorted from highest to lowest, and the satellite with the highest elevation angle can be selected as the reference satellite. Then, the filtering can be achieved by determining whether the number of satellites in the GNSS satellite observation data is greater than a second preset value.
[0120] For example, it can be determined whether the number of satellites in the GNSS satellite observation data is greater than 10. If the number of satellites in the GNSS satellite observation data is greater than 10, then the 10 satellites with higher elevation angles are selected as target satellites based on the sorting results to form inter-satellite single-difference wide-lane ambiguity. If the number of satellites in the GNSS satellite observation data is less than or equal to 10, then the satellites equal to the number of satellites in the GNSS satellite observation data are selected as target satellites to form inter-satellite single-difference wide-lane ambiguity, and subsequently, inter-satellite single-difference narrow-lane ambiguity is formed.
[0121] Based on the above settings, step S250 can be executed to fix the ambiguity of the target satellite, thereby updating the phase ambiguity parameters, receiver coordinates, and state variables. It should be noted that, because the phase observations contain integer ambiguity, when using the phase observations as unknowns in the solution process, an ambiguity fixing method is needed to fix them to integers, so that the final positioning result can achieve centimeter-level or even millimeter-level accuracy.
[0122] Based on this, in this embodiment of the invention, the inter-satellite single-difference wide-lane ambiguity and inter-satellite single-difference narrow-lane ambiguity of the target satellite can be fixed. The inter-satellite single-difference wide-lane ambiguity of the target satellite can be specifically represented as follows:
[0123] WL=N 0,1 -N 0,2 -(N r,1 -N r,2 )
[0124] (Formula 2)
[0125] The wide-lane variance-covariance matrix corresponding to the inter-satellite single-difference wide-lane ambiguity of the target satellite can be specifically represented as follows:
[0126] Q wl =HQ 12 H T
[0127] (Formula 3)
[0128] Where H is the coefficient matrix of Formula 2, T is the matrix transpose flag, and Q... 12 The variance and covariance information of ambiguities N1 and N2 can be obtained from the Kalman filter information during the Kalman filter solution process in step S230. Therefore, step S250 can first determine the wide-lane variance and covariance matrix corresponding to the inter-satellite single-difference wide-lane ambiguity of the target satellite, and then input the wide-lane variance and covariance matrix into the lambda algorithm for searching, so as to fix the ambiguity of the inter-satellite single-difference wide-lane ambiguity WL of the target satellite.
[0129] Furthermore, during the search process using the lambda algorithm, it is also necessary to determine the number of inter-satellite single-difference wide-lane ambiguities of the target satellite and the corresponding search result ratio value, so as to update the state variables according to the number of inter-satellite single-difference wide-lane ambiguities and the corresponding search result ratio value, and to determine whether the ambiguity fixation of the inter-satellite single-difference narrow-lane ambiguities of the target satellite can continue based on the above parameters.
[0130] For example, it can be determined whether the search result ratio value is greater than a third preset value and whether the number of inter-satellite single-difference wide-lane ambiguities of the target satellite is greater than or equal to a fourth preset value, so as to determine whether the ambiguity fixation of the inter-satellite single-difference narrow-lane ambiguities of the target satellite can continue.
[0131] For example, based on the settings mentioned above, if the lambda search result ratio value is greater than 2.5 and the number of single-difference narrow-lane ambiguities is greater than or equal to 3, then the narrow-lane variance covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguities of the target satellite can be determined, and the narrow-lane variance covariance matrix can be input into the lambda algorithm for searching to fix the ambiguity of the inter-satellite single-difference narrow-lane ambiguities of the target satellite. For the state variable, it can be set that if the number of single-difference wide-lane ambiguities is less than 3 or the lambda search result ratio value is less than or equal to 2.5, then the 12th bit of the mask state variable is set to 1, otherwise it is set to 0.
[0132] Furthermore, the inter-satellite single-difference narrow-lane ambiguity of the target satellite can be specifically expressed as follows:
[0133] NL=N 0,1 -N r,1
[0134] (Formula 4)
[0135] The narrow-lane variance-covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguity of the target satellite can be specifically represented as follows:
[0136] Q nl =hQ1h T
[0137] (Formula 5)
[0138] Where h is the coefficient matrix of Formula 4, T is the matrix transpose flag, and Q1 is the variance-covariance information of ambiguity N1, which can be obtained from the Kalman filter information during the Kalman filter solution process in step S230. Therefore, in step S250, the narrow-lane variance-covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguity of the target satellite can also be determined. Then, the narrow-lane variance-covariance matrix is input into the lambda algorithm for searching, so as to fix the ambiguity of the inter-satellite single-difference narrow-lane ambiguity NL of the target satellite.
[0139] Furthermore, during the search using the lambda algorithm, it is also necessary to determine the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite and the corresponding search result ratio value, so as to update the state variables based on the number of inter-satellite single-difference narrow-lane ambiguities and the corresponding search result ratio value.
[0140] For example, it can be determined whether the search result ratio value is greater than a third preset value and whether the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite is greater than or equal to a fifth preset value, in order to determine whether the phase ambiguity parameters and receiver coordinates can be updated based on the final ambiguity fixation result. That is, the integer solutions of the inter-satellite single-difference wide-lane ambiguities and inter-satellite single-difference narrow-lane ambiguities are finally obtained and substituted into the preset solution observation equation to obtain the fixed solution (i.e., the updated phase ambiguity parameters), and finally the receiver coordinates of the fixed solution (i.e., the updated receiver coordinates).
[0141] For example, based on the settings mentioned above, if the lambda search result ratio is greater than 2.5 and the number of single-difference narrow alley ambiguities is greater than or equal to 4, the phase ambiguity parameters and receiver coordinates can be updated according to the ambiguity fixation result. For the state variable, it can be set that if the number of single-difference narrow alley ambiguities is less than 4 or the lambda search result ratio is less than or equal to 2.5, the 14th bit of the mask state variable is set to 1, otherwise it is set to 0.
[0142] It should be noted that the real-time update process of the above-mentioned state variables involves inputting the wide-lane variance covariance matrix into the lambda algorithm for search, and inputting the narrow-lane variance covariance matrix into the lambda algorithm for search before updating. In step S250, the state variables can also be updated after determining the wide-lane variance covariance matrix corresponding to the inter-satellite single-difference wide-lane ambiguity of the target satellite, and the narrow-lane variance covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguity of the target satellite.
[0143] For example, after determining the width-lane variance-covariance matrix corresponding to the inter-satellite single-difference width-lane ambiguity of the target satellite, the number of inter-satellite single-difference width-lane ambiguities of the target satellite can be determined. At this time, the state variable can be updated according to the number of inter-satellite single-difference width-lane ambiguities of the target satellite as follows: if the number of single-difference width-lane ambiguities is less than 3, the 11th bit of the mask state variable is set to 1, otherwise it is set to 0, so as to record the abnormal situation that when the number of single-difference width-lane ambiguities is less than 3, it indicates that there are too few available inter-satellite single-difference width-lane ambiguities and the inter-satellite single-difference width-lane ambiguities cannot be fixed.
[0144] For example, after determining the narrow-lane variance-covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguity of the target satellite, the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite can be determined. At this time, the state variable can be updated according to the number of inter-satellite single-difference wide-lane ambiguities of the target satellite as follows: if the number of single-difference narrow-lane ambiguities is less than 4, the 13th bit of the mask state variable is set to 1, otherwise it is set to 0, so as to record the abnormal situation that when the number of single-difference narrow-lane ambiguities is less than 4, it means that there are too few available inter-satellite single-difference narrow-lane ambiguities and the inter-satellite single-difference narrow-lane ambiguities cannot be fixed.
[0145] In this embodiment of the invention, after fixing the ambiguity of the target satellite in step S250 to update the phase ambiguity parameters, receiver coordinates and state variables, step S260 can be executed to use the updated phase ambiguity parameters and receiver coordinates as positioning information and output the positioning information and state variables.
[0146] Specifically, step S260 is the process of outputting the printing location information and the state mask value. Based on the examples of all state variable masks mentioned above, a state variable mask value judgment table can be pre-defined to ultimately judge the abnormal situations that occur during real-time calculation based on the output state variables. Therefore, the above state variable mask value judgment table can be represented as follows:
[0147]
[0148]
[0149] (Table 1)
[0150] Based on the aforementioned state variable mask value judgment table, abnormal situations in the solution process can be quickly analyzed according to the output state variable lookup table. Since the state variable only occupies a few bytes, the log printing has minimal memory resource requirements, greatly reducing memory costs. Furthermore, this state variable can record detailed information during the solution process, while existing technologies typically print log statements, with each epoch's log volume reaching several kilobytes.
[0151] In this embodiment of the invention, the information recorded by the state variable mask is not limited to the contents of Table 1, and can be added or adjusted according to actual needs. This embodiment of the invention does not limit this.
[0152] This invention provides a GNSS positioning method that acquires raw GNSS data, differential GNSS data, and state variables. The raw and differential GNSS data are used as data to be processed and analyzed. The state variables are updated based on the analysis results. If the data to be processed meets the solution conditions, a preset solution observation equation is solved based on the data to obtain receiver coordinates and phase ambiguity parameters. Ambiguity is fixed based on selected target satellites to update the phase ambiguity parameters and receiver coordinates. Finally, the updated phase ambiguity parameters, receiver coordinates, and state variables are output. Since the ambiguity is fixed only for selected target satellites throughout the process, unnecessary satellite data calculations are avoided, reducing computation time and thus improving positioning performance while reducing computational requirements.
[0153] Meanwhile, since the above GNSS positioning method uses state variables, which occupy very little memory resources, the memory cost is greatly reduced. Since the state variables are used to record abnormal information and are updated in real time throughout the process, it is possible to record abnormal information during the solution process while occupying very little memory resources.
[0154] Optionally, the specific process of analyzing the data to be processed and updating the state variables based on the analysis results can be implemented through the following steps:
[0155] exist Figure 2 Based on this, please refer to Figure 3 , Figure 3 This illustrates a second flowchart of the GNSS positioning method provided in this embodiment of the invention. The raw GNSS data includes GNSS ephemeris data and GNSS satellite observation data. Step S220, which involves analyzing the data to be processed and updating the state variables based on the analysis results, includes:
[0156] S221, analyze the status of GNSS ephemeris data, GNSS satellite observation data, and GNSS positioning differential data to determine the number of satellites in the GNSS ephemeris data, the number of satellites in the GNSS satellite observation data, the satellite elevation angle in the GNSS satellite observation data, the number of satellites with elevation angles greater than a preset angle, the average signal-to-noise ratio of the GNSS satellite observation data, the number of satellites in the GNSS differential data, the number of ionospheric satellites in the GNSS differential data, and the average ionospheric accuracy factor in the GNSS differential data.
[0157] S222, update the state variables one by one based on the number of satellites in the GNSS ephemeris data, the number of satellites with an elevation angle greater than a preset angle in the GNSS satellite observation data, the average signal-to-noise ratio of the GNSS satellite observation data, the number of satellites in the GNSS differential data, the number of satellites in the ionosphere in the GNSS differential data, and the average ionospheric accuracy factor in the GNSS differential data.
[0158] S223, perform gross error identification on GNSS satellite observation data to determine the number of gross error satellites based on GNSS satellite observation data, and update the state variables according to the number of gross error satellites.
[0159] S224 performs cycle slip detection on GNSS satellite observation data to determine the number of cycle slip satellites based on the GNSS satellite observation data, and updates the state variables according to the number of cycle slip satellites.
[0160] The above steps realize the process of analyzing the data to be processed and updating the state variables based on the analysis results.
[0161] Optionally, updating the state variables based on the data to be processed, and solving the preset solution observation equation based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters, can be achieved through the following steps, provided that the data to be processed meets the solution conditions:
[0162] exist Figure 3 Based on this, please refer to Figure 4 , Figure 4 This is illustrated in the third flowchart of a GNSS positioning method provided by an embodiment of the present invention. GNSS satellite observation data includes phase observation values. Step S230 involves updating state variables based on the data to be processed. If the data to be processed meets the solution conditions, the preset solution observation equation is solved based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters. This step includes:
[0163] S231, determine the number of phase observations to update the state variables based on the number of phase observations.
[0164] S232, if the number of phase observations is greater than or equal to the first preset value, the preset solution observation equation is solved based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters.
[0165] The above steps realize the process of solving the preset solution observation equation based on the data to be processed, under the condition that the data to be processed meets the solution conditions, so as to obtain the receiver coordinates and phase ambiguity parameters.
[0166] In this embodiment of the invention, the above-described specific process can be implemented based on Formula 1 above, and will not be described again in this embodiment of the invention.
[0167] Optionally, the specific process of selecting target satellites based on the analysis results of the data to be processed can be achieved through the following steps:
[0168] exist Figure 3 Based on this, please refer to Figure 5 , Figure 5 The fourth flowchart of the GNSS positioning method provided in this embodiment of the invention is shown. Step S240, which involves selecting target satellites based on the analysis results of the data to be processed, includes:
[0169] S241, the target satellite is selected based on the number of satellites and the satellite elevation angle in the GNSS satellite observation data.
[0170] The above steps enable the process of selecting target satellites based on the analysis results of the data to be processed.
[0171] Optionally, the process of selecting target satellites based on the number of satellites and their elevation angles in GNSS satellite observation data can be achieved through the following steps:
[0172] exist Figure 5 Based on this, please refer to Figure 6 , Figure 6 The fifth flowchart of the GNSS positioning method provided in this embodiment of the invention is shown. Step S241, which involves selecting the target satellite based on the number of satellites and the satellite elevation angle in the GNSS satellite observation data, includes:
[0173] S2411, determine whether the number of satellites in the GNSS satellite observation data is greater than the second preset value.
[0174] S2412, if so, sort the satellite elevation angles in the GNSS satellite observation data from high to low, and select the number of satellites equal to the second preset value as target satellites based on the sorting results.
[0175] S2413, if not, use satellites equal to the number of satellites in the GNSS satellite observation data as target satellites.
[0176] The above steps enable the selection of target satellites based on the number of satellites and their elevation angles in GNSS satellite observation data.
[0177] Optionally, the process of fixing the ambiguity of the target satellite to update the phase ambiguity parameters, receiver coordinates, and state variables can be implemented through the following steps:
[0178] exist Figure 6 Based on this, please refer to Figure 7 , Figure 7 The sixth step of the flowchart of the GNSS positioning method provided in this embodiment of the invention is shown. Step S250, which involves fixing the ambiguity of the target satellite to update the phase ambiguity parameters, receiver coordinates, and state variables, includes:
[0179] S251, determine the wide-lane variance covariance matrix corresponding to the inter-satellite single-difference wide-lane ambiguity of the target satellite.
[0180] S252, input the wide-lane variance covariance matrix into the lambda algorithm for search, in order to fix the ambiguity of the inter-satellite single-difference wide-lane ambiguity of the target satellite.
[0181] S253, determine the number of inter-satellite single-difference wide-lane ambiguities of the target satellite and the corresponding search result ratio value.
[0182] S254, update the state variable based on the number of inter-satellite single-difference wide-lane ambiguities and the corresponding search result ratio value.
[0183] S255, if the search result ratio value is greater than the third preset value and the number of inter-satellite single-difference wide-lane ambiguities of the target satellite is greater than or equal to the fourth preset value, determine the narrow-lane variance covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguities of the target satellite.
[0184] S256. The narrow lane variance covariance matrix is input into the lambda algorithm for search, so as to fix the ambiguity of the inter-satellite single-difference narrow lane ambiguity of the target satellite.
[0185] S257, determine the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite and the corresponding search result ratio value.
[0186] S258, if the search result ratio value is greater than the third preset value and the number of inter-satellite single-difference narrow lane ambiguities of the target satellite is greater than or equal to the fifth preset value, update the phase ambiguity parameters and receiver coordinates according to the ambiguity fixing result.
[0187] S259, update the state variable based on the number of inter-satellite single-difference narrow alley ambiguities and the corresponding search result ratio value.
[0188] The above steps achieve the process of fixing the ambiguity of the target satellite in order to update the phase ambiguity parameters, receiver coordinates, and state variables.
[0189] In this embodiment of the invention, the above-mentioned specific process can be implemented based on Formulas 2 and 3, as well as Formulas 4 and 5, which will not be elaborated further in this embodiment of the invention.
[0190] Optionally, during the process of fixing the ambiguity of the target satellite to update the phase ambiguity parameters, receiver coordinates, and state variables, if the search result ratio value obtained by the lambda algorithm is less than or equal to the third preset value, or the number of inter-satellite single-difference wide-lane ambiguities of the target satellite is less than the fourth preset value, or the search result ratio value obtained by the lambda algorithm is less than or equal to the third preset value, or the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite is less than the fifth preset value, the satellite with the lowest satellite elevation angle can be removed from the original target satellites to update the target satellites and re-search using the lambda algorithm, so that the final fixed result is more accurate. The above specific process can be implemented through the following steps:
[0191] exist Figure 7 Based on this, please refer to Figure 8 , Figure 8 The seventh flowchart of the GNSS positioning method provided in this embodiment of the invention is shown. The GNSS positioning method further includes:
[0192] S255a, if the search result ratio value is less than or equal to the third preset value or the number of inter-satellite single-difference wide-lane ambiguities of the target satellite is less than the fourth preset value, update the target satellite according to the satellite elevation angle, and return to the step of determining the wide-lane variance covariance matrix corresponding to the inter-satellite single-difference wide-lane ambiguity of the target satellite and updating the state variable according to the number of inter-satellite single-difference wide-lane ambiguities and the corresponding search result ratio value.
[0193] S258a, if the search result ratio value is less than or equal to the third preset value or the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite is less than the fifth preset value, update the target satellite according to the satellite elevation angle, and return to the steps of determining the narrow-lane variance covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguity of the target satellite to determining the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite and the corresponding search result ratio value.
[0194] The above steps implement the process of updating the target satellite if the search result ratio value obtained by searching with the lambda algorithm is less than or equal to the third preset value or the number of inter-satellite single-difference wide-lane ambiguities of the target satellite is less than the fourth preset value, or the search result ratio value obtained by searching with the lambda algorithm is less than or equal to the third preset value or the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite is less than the fifth preset value.
[0195] Based on the same inventive concept, this embodiment of the invention also provides a GNSS positioning device 300, which is used to execute the process steps in the above embodiments and achieve the corresponding technical effects.
[0196] Specifically, please refer to Figure 9 The GNSS positioning device 300 is applied to the GNSS positioning terminal 110. The GNSS positioning device 300 includes a data acquisition module 301, a data analysis module 302, a calculation module 303, and an output module 304.
[0197] The data acquisition module 301 is used to acquire GNSS raw data, GNSS differential data and state variables. The GNSS raw data and GNSS differential data are used as data to be processed, and the state variables are used to record abnormal information.
[0198] The data analysis module 302 is used to analyze the data to be processed and update the state variables based on the analysis results.
[0199] The solution module 303 is used to update the state variables according to the data to be processed. When it is determined that the data to be processed meets the solution conditions, it solves the preset solution observation equation based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters. The target satellite is selected according to the analysis results of the data to be processed, and the ambiguity of the target satellite is fixed to update the phase ambiguity parameters, receiver coordinates and state variables.
[0200] The output module 304 is used to take the updated phase ambiguity parameters and receiver coordinates as positioning information, and output positioning information and state variables.
[0201] It should be noted that the embodiments of the present invention are applicable to RTK positioning technology and PPP-RTK positioning technology. The embodiments of the present invention not only record abnormal information in the solution process with minimal memory resources by using state variables, but also update the phase ambiguity parameters and receiver coordinates by fixing the ambiguity of the selected target satellites. That is, the required target satellites are selected first, and then the single difference ambiguity calculation and the single difference variance covariance matrix calculation are performed. Existing technologies usually calculate the single difference ambiguity and the corresponding variance covariance matrix first. When performing the single difference matrix calculation, due to the large amount of satellite data and the large matrix dimension, even sparse matrix multiplication is very time-consuming.
[0202] Therefore, the GNSS positioning method of this invention can select the optimal number of target satellites for single difference matrix calculation, avoid the calculation of unnecessary satellite data, reduce the matrix calculation dimension, and reduce the calculation time.
[0203] Meanwhile, the method of selecting target satellites is not limited to the method of sorting the satellites by elevation angle in the GNSS satellite observation data in the embodiment of the present invention. In practical applications, it can also be achieved by sorting the data by signal-to-noise ratio, or by sorting the data by the number of consecutive tracking, or by performing corresponding variance calculation on the data to be processed and sorting it according to the variance calculation results. The embodiment of the present invention does not limit this.
[0204] Based on the same inventive concept, embodiments of the present invention also provide a computer-readable storage medium storing a computer program thereon, which, when executed by processor 1102, implements a GNSS positioning method provided in the above embodiments.
[0205] The steps executed by the aforementioned computer program during runtime will not be described in detail here, but can be found in the explanation of the GNSS positioning method described above.
[0206] In the several embodiments provided in this application, it should be understood that the disclosed methods and apparatus can also be implemented in other ways. The embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of methods, apparatus, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0207] In addition, the functional modules in the various embodiments of the present invention can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0208] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0209] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A GNSS positioning method, characterized in that, Applied to GNSS positioning terminals; The method includes: Acquire raw GNSS data, differential GNSS data, and state variables. Use the raw GNSS data and differential GNSS data as data to be processed, wherein the state variables are used to record abnormal information. The data to be processed is analyzed, and the state variables are updated based on the analysis results; The state variable is updated according to the data to be processed. If the data to be processed meets the solution conditions, the preset solution observation equation is solved based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters. Target satellites are selected based on the analysis results of the data to be processed; The ambiguity of the target satellite is fixed in order to update the phase ambiguity parameters, receiver coordinates, and state variables; The updated phase ambiguity parameter and receiver coordinates are used as positioning information, and the positioning information and the state variable are output.
2. The GNSS positioning method according to claim 1, characterized in that, The raw GNSS data includes GNSS ephemeris data and GNSS satellite observation data; The step of analyzing the data to be processed and updating the state variables based on the analysis results includes: The status of the GNSS ephemeris data, GNSS satellite observation data, and GNSS positioning differential data is analyzed to determine the number of satellites in the GNSS ephemeris data, the number of satellites in the GNSS satellite observation data, the satellite elevation angle in the GNSS satellite observation data, the number of satellites with elevation angles greater than a preset angle, the average signal-to-noise ratio of the GNSS satellite observation data, the number of satellites in the GNSS differential data, the number of ionospheric satellites in the GNSS differential data, and the average ionospheric accuracy factor in the GNSS differential data. The state variables are updated one by one based on the number of satellites in the GNSS ephemeris data, the number of satellites with an elevation angle greater than a preset angle in the GNSS satellite observation data, the average signal-to-noise ratio of the GNSS satellite observation data, the number of satellites in the GNSS differential data, the number of satellites in the ionosphere in the GNSS differential data, and the average ionospheric accuracy factor of the GNSS differential data. Gross errors are identified in the GNSS satellite observation data to determine the number of outlier satellites based on the GNSS satellite observation data, and the state variable is updated according to the number of outlier satellites. Cycle slip detection is performed on the GNSS satellite observation data to determine the number of cycle slip satellites based on the GNSS satellite observation data, and the state variable is updated according to the number of cycle slip satellites.
3. The GNSS positioning method according to claim 2, characterized in that, The GNSS satellite observation data includes phase observation values; The step of updating the state variable based on the data to be processed, and, if it is determined that the data to be processed meets the solution conditions, solving the preset solution observation equation based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters, includes: Determine the number of phase observations to update the state variable based on the number of phase observations; If the number of phase observations is greater than or equal to a first preset value, the preset solution observation equation is solved based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters.
4. The GNSS positioning method according to claim 2, characterized in that, The step of filtering out target satellites based on the analysis results of the data to be processed includes: Target satellites are selected based on the number of satellites and their elevation angles in the GNSS satellite observation data.
5. The GNSS positioning method according to claim 4, characterized in that, The step of selecting target satellites based on the number of satellites and satellite elevation angles in the GNSS satellite observation data includes: Determine whether the number of satellites in the GNSS satellite observation data is greater than a second preset value; If so, sort the satellite elevation angles in the GNSS satellite observation data from high to low, and select the number of satellites equal to the second preset value as target satellites based on the sorting results; If not, the target satellites will be the number of satellites equal to the number of satellites in the GNSS satellite observation data.
6. The GNSS positioning method according to claim 5, characterized in that, The step of fixing the ambiguity of the target satellite to update the phase ambiguity parameters, receiver coordinates, and state variables includes: Determine the wide-lane variance-covariance matrix corresponding to the inter-satellite single-difference wide-lane ambiguity of the target satellite; The wide-lane variance covariance matrix is input into the lambda algorithm for search, so as to fix the ambiguity of the inter-satellite single-difference wide-lane ambiguity of the target satellite; Determine the number of inter-satellite single-difference wide-lane ambiguities of the target satellite and the corresponding search result ratio value; The state variable is updated based on the number of inter-satellite single-difference wide-lane ambiguities and the corresponding search result ratio value; If the search result ratio value is greater than the third preset value and the number of inter-satellite single-difference wide-lane ambiguities of the target satellite is greater than or equal to the fourth preset value, the narrow-lane variance covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguity of the target satellite is determined. The narrow alleyway variance covariance matrix is input into the lambda algorithm for search, so as to fix the ambiguity of the inter-satellite single-difference narrow alleyway ambiguity of the target satellite; Determine the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite and the corresponding search result ratio value; If the search result ratio value is greater than the third preset value and the number of inter-satellite single-difference narrow lane ambiguities of the target satellite is greater than or equal to the fifth preset value, the phase ambiguity parameter and receiver coordinates are updated according to the ambiguity fixing result. The state variable is updated based on the number of inter-satellite single-difference narrow alleyway ambiguities and the corresponding search result ratio value.
7. The GNSS positioning method according to claim 6, characterized in that, The method further includes: If the search result ratio value is less than or equal to the third preset value or the number of inter-satellite single-difference wide-lane ambiguities of the target satellite is less than the fourth preset value, the target satellite is updated according to the satellite elevation angle, and the process returns to the steps of determining the wide-lane variance covariance matrix corresponding to the inter-satellite single-difference wide-lane ambiguity of the target satellite and updating the state variable according to the number of inter-satellite single-difference wide-lane ambiguities and the corresponding search result ratio value. If the search result ratio value is less than or equal to the third preset value or the number of inter-satellite single-difference narrow-lane ambiguities of the target satellite is less than the fifth preset value, the target satellite is updated according to the satellite elevation angle, and the process returns to the steps of determining the narrow-lane variance covariance matrix corresponding to the inter-satellite single-difference narrow-lane ambiguity of the target satellite and determining the number of inter-satellite single-difference narrow-lane ambiguities and the corresponding search result ratio value of the target satellite.
8. A GNSS positioning device, characterized in that, Applied to GNSS positioning terminals; The device includes: The data acquisition module is used to acquire raw GNSS data, differential GNSS data, and state variables, and to use the raw GNSS data and differential GNSS data as data to be processed, wherein the state variables are used to record abnormal information. The data analysis module is used to analyze the data to be processed and update the state variables based on the analysis results; The solution module is used to update the state variables based on the data to be processed; when it is determined that the data to be processed meets the solution conditions, it solves the preset solution observation equation based on the data to be processed to obtain the receiver coordinates and phase ambiguity parameters; it selects target satellites based on the analysis results of the data to be processed; and it fixes the ambiguity of the target satellites to update the phase ambiguity parameters, receiver coordinates, and state variables. The output module is used to take the updated phase ambiguity parameter and receiver coordinates as positioning information, and output the positioning information and the state variable.
9. A GNSS positioning terminal, characterized in that, Including memory and processor; The memory is used to store computer programs; The processor is used to execute the computer program to implement the GNSS positioning method as described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the GNSS positioning method as described in any one of claims 1-7.
Citation Information
Patent Citations
Embedded equipment log output recording method and system
CN112100032A
Precision marking method for satellite positioning and related device
CN115755113A