A method, device and equipment for checking the correctness of integer ambiguity and a storage medium
By combining the LAMBDA algorithm and the XGBoost classification model, the threshold setting problem of integer ambiguity resolution in GNSS RTK positioning was solved, which improved the flexibility and reliability of integer ambiguity resolution and ensured the accuracy and usability of positioning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SUN YAT SEN UNIV
- Filing Date
- 2024-09-09
- Publication Date
- 2026-06-19
AI Technical Summary
In existing GNSS RTK positioning technologies, the threshold setting for integer ambiguity resolution is too conservative and fails to effectively consider the actual noise distribution, making it difficult to guarantee the reliability and availability of ambiguity resolution.
The LAMBDA algorithm is used to perform a fixed transformation on the floating-point integer ambiguity, calculate the Ratio value, and use the XGBoost classification model combined with parameters such as baseline length, TEC and PDOP for verification, and accept or retain the integer solution.
It improves the flexibility and reliability of integer ambiguity resolution, ensures the accuracy and usability of ambiguity resolution, and avoids positioning errors caused by incorrect resolution.
Smart Images

Figure CN119046813B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of high-precision satellite positioning technology, and in particular to a method, apparatus, device and storage medium for verifying integer ambiguity correctness. Background Technology
[0002] Global Navigation Satellite System (GNSS) Real-Time Kinematic (RTK) positioning is a widely used high-precision positioning method. During RTK positioning, algorithms are needed to resolve integer ambiguities in the model to calculate relatively accurate unknown position coordinates. Therefore, rapidly and accurately fixing the carrier phase double-difference integer ambiguities is crucial.
[0003] The resolution of integer ambiguities mainly involves two steps: estimation and verification. For the estimated integer ambiguities, their correctness needs to be verified. During verification, accepting correctly resolved integer ambiguities can significantly improve the accuracy of the baseline vector and enhance the usability of high-precision positioning solutions. Accepting incorrectly resolved integer ambiguities not only fails to improve baseline vector accuracy but may also introduce significant positioning errors that go unnoticed by the user. Rejecting correctly resolved integer ambiguities reduces the usability of high-precision positioning solutions.
[0004] The most commonly used verification method is the ratio test. Depending on whether the threshold is variable, the most popular ratio test algorithms are the fixed-threshold ratio test (RT) and the fixed-failure-rate ratio test (FFRT). RT has a significant limitation: it cannot dynamically adjust the threshold based on model strength, which undoubtedly makes it difficult to simultaneously guarantee the usability and reliability of ambiguity resolution. While FFRT dynamically adjusts the threshold based on model strength, it simply assumes that the measurement noise follows a Gaussian distribution and artificially assigns the noise level, without considering the actual noise distribution of the data. Furthermore, in practical applications, FFRT typically classifies the results of various common GNSS scenarios through simulation, selects the most conservative GNSS model for each scenario, and calculates its corresponding threshold. The resulting threshold is also relatively conservative, making it difficult to guarantee reliability. Summary of the Invention
[0005] This application provides a method, apparatus, device, and storage medium for verifying integer ambiguity correctness, which addresses the technical problem that existing technologies rely on conservative thresholds and prior knowledge, and oversimplify the consideration of measurement noise, resulting in unsatisfactory conditional success rates.
[0006] In view of this, the first aspect of this application provides a method for verifying the correctness of integer ambiguity, including:
[0007] The LAMBDA algorithm is used to perform a fixed-circle transformation on the floating-point integer ambiguity to obtain the fixed-circle solution;
[0008] The Ratio value is calculated based on the floating-point integer ambiguity and the fixed integer solution;
[0009] The Ratio value and preset parameter information are input into a preset XGBoost classification model for correctness verification to obtain the verification result. The preset parameter information includes baseline length, TEC, and PDOP.
[0010] If the test result is passed, the fixed integer solution is accepted, and the fixed solutions corresponding to other parameters are updated based on the fixed integer solution. If the test result is not passed, the floating-point solution is retained.
[0011] Preferably, the step of using the LAMBDA algorithm to perform a fixed-round transformation on the floating-point integer ambiguity to obtain a fixed-round solution includes:
[0012] After performing integer transformation and downcorrelation processing on the floating-point integer ambiguity using the LAMBDA algorithm, the least squares method is used to search for the integer solution of the ambiguity, and the searched integer solution is obtained.
[0013] The search integer solution is subjected to an inverse integer transformation to obtain a fixed integer solution.
[0014] Preferably, the process of calculating the Ratio value based on the floating-point integer ambiguity and the fixed integer solution is specifically expressed as follows:
[0015]
[0016] in, The floating-point integer ambiguity, This is the fixed integer solution. For suboptimal integral solutions, This is the covariance matrix corresponding to the floating-point integer ambiguity.
[0017] Preferably, the step of inputting the Ratio value and preset parameter information into a preset XGBoost classification model for correctness verification and obtaining the verification result further includes:
[0018] The Euclidean distance is calculated based on the fixed integer solution and the preset true value to obtain the fixed solution error;
[0019] An initial XGBoost model is constructed based on the fixed solution error and the preset error allowable range;
[0020] The initial XGBoost model is validated and trained using a pre-set dataset to obtain a pre-set XGBoost classification model.
[0021] A second aspect of this application provides an integer ambiguity correctness verification device, comprising:
[0022] The ambiguity conversion unit is used to perform fixed conversion on floating-point integer ambiguity using the LAMBDA algorithm to obtain a fixed integer solution.
[0023] The Ratio calculation unit is used to calculate the Ratio value based on the floating-point integer ambiguity and the fixed integer solution.
[0024] The ambiguity verification unit is used to input the Ratio value and preset parameter information into a preset XGBoost classification model for correctness verification and to obtain the verification result. The preset parameter information includes baseline length, TEC and PDOP, etc.
[0025] The solution selection unit is used to accept the fixed integer solution if the test result is passed, and update the fixed solutions corresponding to other parameters based on the fixed integer solution; if the test result is not passed, the floating-point solution is retained.
[0026] Preferably, the fuzziness conversion unit is specifically used for:
[0027] After performing integer transformation and downcorrelation processing on the floating-point integer ambiguity using the LAMBDA algorithm, the least squares method is used to search for the integer solution of the ambiguity, and the searched integer solution is obtained.
[0028] The search integer solution is subjected to an inverse integer transformation to obtain a fixed integer solution.
[0029] Preferably, the Ratio calculation unit is specifically expressed as:
[0030]
[0031] in, The floating-point integer ambiguity, This is the fixed integer solution. For suboptimal integral solutions, This is the covariance matrix corresponding to the floating-point integer ambiguity.
[0032] Preferably, it further includes:
[0033] The error calculation unit is used to calculate the Euclidean distance based on the fixed integer solution and the preset true value to obtain the fixed solution error.
[0034] The model building unit is used to build an initial XGBoost model based on the fixed solution error and the preset error allowable range;
[0035] The validation training unit is used to validate and train the initial XGBoost model using a preset dataset to obtain a preset XGBoost classification model.
[0036] A third aspect of this application provides an integer ambiguity correctness verification device, the device including a processor and a memory;
[0037] The memory is used to store program code and transmit the program code to the processor;
[0038] The processor is used to execute the integer ambiguity correctness verification method described in the first aspect according to the instructions in the program code.
[0039] A fourth aspect of this application provides a computer-readable storage medium for storing program code for executing the integer ambiguity correctness verification method described in the first aspect.
[0040] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:
[0041] This application provides a method for verifying the correctness of integer ambiguity, comprising: performing a fixed conversion on the floating-point integer ambiguity using the LAMBDA algorithm to obtain a fixed integer solution; calculating a Ratio value based on the floating-point integer ambiguity and the fixed integer solution; inputting the Ratio value and preset parameter information into a preset XGBoost classification model for correctness verification to obtain a verification result, wherein the preset parameter information includes baseline length, TEC, and PDOP; if the verification result is passed, the fixed integer solution is accepted, and the fixed solutions corresponding to other parameters are updated based on the fixed integer solution; if the verification result is not passed, the floating-point solution is retained.
[0042] The integer ambiguity correctness verification method provided in this application introduces machine learning methods into the ambiguity correctness verification problem, exploring a new approach by treating the ambiguity correctness verification problem as a binary classification problem in machine learning. This method combines the Ratio value and various preset parameter information to verify the correctness of integer ambiguities, offering greater flexibility compared to fixed threshold verification methods and greater reliability compared to verification methods based on a fixed failure rate. This application addresses the technical problem in existing technologies where the underlying model does not consider the real noise distribution and the selected threshold is too conservative, leading to difficulties in guaranteeing the reliability of ambiguity resolution. Attached Figure Description
[0043] Figure 1 A flowchart illustrating an integer ambiguity correctness verification method provided in an embodiment of this application;
[0044] Figure 2A schematic diagram of an integer ambiguity correctness verification device provided in an embodiment of this application;
[0045] Figure 3 A flowchart illustrating the principle of integer ambiguity correctness verification provided in this application embodiment. Detailed Implementation
[0046] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.
[0047] Terminology Explanation:
[0048] RT (ratio test): A ratio test based on a fixed threshold.
[0049] FFRT (Fixed Failure-rate Ratio test): A ratio test based on a fixed failure rate.
[0050] RTK (real-time kinematic): Real-time dynamic positioning
[0051] LAMBDA (Least-square AMBiguity Decorrelation Adjustment): Least-squares reduction correlation adjustment
[0052] TEC (Total Electron Content): Total electron content of the ionosphere
[0053] PDOP (Position Dilution of Precision): position precision factor
[0054] Availability: The availability of fuzzy resolution is evaluated through the fuzzy fixation rate.
[0055] Reliability: The reliability of fuzzy resolution is evaluated by the success rate under the condition of fixed fuzziness.
[0056] Conditional success rate: The ratio of the number of successful fixed epochs to the total number of fixed epochs within a specific time frame.
[0057] For easier understanding, please refer to Figure 1 An embodiment of an integer ambiguity correctness verification method provided in this application includes:
[0058] Step 101: Use the LAMBDA algorithm to perform a fixed conversion on the floating-point integer ambiguity to obtain the fixed integer solution.
[0059] Further, step 101 includes:
[0060] After performing integer transformation and downcorrelation processing on the floating-point integer ambiguity using the LAMBDA algorithm, the least squares method is used to search for the integer solution of the ambiguity, and the searched integer solution is obtained.
[0061] By performing an inverse integer transformation on the search integer solution, a fixed integer solution is obtained.
[0062] It should be noted that the LAMBDA algorithm is mainly used for integer ambiguity resolution in Global Navigation Satellite Systems (GNSS). This embodiment uses the LAMBDA algorithm to resolve floating-point integer ambiguities. Integer transformation is performed to reduce correlation; then, the least squares method is used to search for integer solutions; finally, the integer solutions of the original ambiguity, i.e., fixed integer solutions, are obtained through inverse integer transformation. This stage is the integer ambiguity estimation stage, which yields the selection value for the integer solution.
[0063] Step 102: Calculate the Ratio value based on the floating-point integer ambiguity and the fixed integer solution.
[0064] Furthermore, step 102, specifically, is expressed as follows:
[0065]
[0066] Among them, Floating-point integer ambiguity, To fix the integer solution, For suboptimal integral solutions, This is the covariance matrix corresponding to the floating-point integer ambiguity. It can be understood that the Ratio value is... and The ratio of, where It is a floating-point solution for ambiguity. With suboptimal integral solution The square of the Mahalanobis distance, It is a floating-point solution for ambiguity. With the optimal integer solution The square of the Mahalanobis distance.
[0067] Step 103: Input the Ratio value and preset parameter information into the preset XGBoost classification model for correctness verification and obtain the verification results. The preset parameter information includes baseline length, TEC and PDOP.
[0068] Furthermore, step 103, preceding the following, also includes:
[0069] The Euclidean distance is calculated based on the fixed integer solution and the preset true value to obtain the fixed solution error;
[0070] An initial XGBoost model is constructed based on a fixed solution error and a preset error allowable range;
[0071] The initial XGBoost model was validated and trained using a pre-set dataset to obtain a pre-defined XGBoost classification model.
[0072] It is understood that the preset parameter information includes, but is not limited to, concepts such as baseline length, TEC, and PDOP. This embodiment is only provided as an example and is not intended to limit the scope. By combining the Ratio value and multiple preset parameter information, the correctness of integer ambiguity is verified using the constructed preset XGBoost classification model, which can ensure the availability and reliability of ambiguity resolution.
[0073] The default XGBoost classification model is a pre-built, validated classification model trained on a large amount of real-world data. Early training requires acquiring satellite positioning observation data from multiple days and baselines. Differential positioning is performed using a positioning program for different baselines and time periods. Then, the Ratio value and corresponding preset parameter information for each epoch are obtained. Given the preset true values, it is determined whether the error of the fixed solution at each epoch is within the allowable range. The following condition must be met:
[0074]
[0075] Then the label for the current epoch can be marked as "verification passed," accepting a fixed integer solution; otherwise, it can be marked as "verification failed," using a floating-point solution. The above formula... The coordinates represent the fixed integer solutions. The coordinates representing the preset truth value, This represents the preset allowable error range; That is, the fixed solution error, representing and The Euclidean distance can also be expressed as:
[0076]
[0077] If the fixed solution error is within the allowable range, the verification is considered successful. Based on the above principles, an XGBoost classification model can be constructed. Furthermore, the main reason for choosing XGBoost to construct the classification model in this embodiment is that the XGBoost model can provide feature importance scores, which helps in understanding the relationship between patterns and variables in the data; moreover, it has high prediction accuracy and generalization ability in handling classification problems; in addition, XGBoost leverages the advantages of parallel computing, enabling simultaneous execution of computational tasks on multiple CPU cores, thereby improving prediction speed. This characteristic is particularly suitable for real-time applications such as satellite positioning that require rapid response.
[0078] During model training, this embodiment uses classification metrics such as accuracy to evaluate the training effect of the model. If the model performance does not meet the predetermined performance standards, the model parameters are further adjusted to achieve higher prediction accuracy. The XGBoost classifier that has been fully trained and validated and meets the performance requirements is saved and integrated into the localization program for subsequent use.
[0079] It is understandable that the "model building and training" process is not limited to a specific machine learning algorithm. Besides the currently used XGBoost model, other types of machine learning models, including but not limited to deep learning and reinforcement learning models, can be used as alternatives. Furthermore, in the process of fuzzy correctness verification using XGBoost, the XGBoost result can be combined with the results of other correctness verification algorithms, using logical operators such as AND and OR to define new judgment criteria. For example, the verification result can be considered "passed" only if both XGBoost and FFRT results are met simultaneously. Alternatively, a judgment logic can be adopted where either XGBoost or RT (e.g., with a fixed threshold of 3) is considered "passed" if either result is met. The specific combination method is not limited here and can be selected according to the actual verification scenario.
[0080] Step 104: If the test result is passed, the fixed integer solution is accepted, and the fixed solutions corresponding to other parameters are updated based on the fixed integer solution. If the test result is not passed, the floating-point solution is retained.
[0081] Model validation is categorized into two types: validation passed and validation failed. If validation passes, the fixed integer solution is usable; this fixed integer solution is accepted, and fixed solutions for other parameters are calculated. If validation fails, the fixed integer solution is unusable; the original floating-point solution, i.e., the floating-point integer ambiguity, is retained. Correspondingly, the baseline vector also needs to use its corresponding floating-point solution. For an example of the overall integer ambiguity verification process in this embodiment, please refer to [link to example]. Figure 3.
[0082] The integer ambiguity correctness verification method provided in this application combines the Ratio value and various preset parameter information to verify the correctness of integer ambiguity. Compared with the verification method based on a fixed threshold, it is more flexible, and compared with the verification method based on a fixed failure rate, it is more reliable. This application embodiment can solve the technical problem that the underlying model of the prior art does not consider the actual noise distribution and the selected threshold is too conservative, which makes it difficult to guarantee the reliability of ambiguity resolution.
[0083] For easier understanding, please refer to Figure 2 This application provides an embodiment of an integer ambiguity correctness verification device, comprising:
[0084] The ambiguity conversion unit 201 is used to perform fixed conversion on floating-point integer ambiguity using the LAMBDA algorithm to obtain a fixed integer solution.
[0085] Ratio calculation unit 202 is used to calculate the Ratio value based on floating-point integer ambiguity and fixed integer solution;
[0086] The ambiguity verification unit 203 is used to input the Ratio value and preset parameter information into the preset XGBoost classification model for correctness verification and obtain the verification result. The preset parameter information includes baseline length, TEC and PDOP.
[0087] The solution is selected in cell 204. If the test result is passed, the fixed integer solution is accepted, and the fixed solutions corresponding to other parameters are updated based on the fixed integer solution. If the test result is not passed, the floating-point solution is retained.
[0088] Furthermore, the ambiguity conversion unit 201 is specifically used for:
[0089] After performing integer transformation and downcorrelation processing on the floating-point integer ambiguity using the LAMBDA algorithm, the least squares method is used to search for the integer solution of the ambiguity, and the searched integer solution is obtained.
[0090] By performing an inverse integer transformation on the search integer solution, a fixed integer solution is obtained.
[0091] Furthermore, the Ratio calculation unit 202 is specifically expressed as follows:
[0092]
[0093] in, For floating-point integer ambiguity, To fix the integer solution, For suboptimal integral solutions, This is the covariance matrix corresponding to the floating-point integer ambiguity.
[0094] Furthermore, it also includes:
[0095] The error calculation unit 205 is used to calculate the Euclidean distance based on the fixed integer solution and the preset true value to obtain the fixed solution error.
[0096] Model building unit 206 is used to build an initial XGBoost model based on a fixed solution error and a preset error allowable range;
[0097] The validation training unit 207 is used to validate and train the initial XGBoost model using a pre-set dataset to obtain a preset XGBoost classification model.
[0098] This application also provides an integer ambiguity correctness verification device, the device including a processor and a memory;
[0099] The memory is used to store program code and transfer the program code to the processor;
[0100] The processor is used to execute the integer ambiguity correctness verification method in the above method embodiment according to the instructions in the program code.
[0101] This application also provides a computer-readable storage medium for storing program code for executing the integer ambiguity correctness verification method in the above method embodiments.
[0102] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0103] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0104] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0105] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for executing all or part of the steps of the methods described in the various embodiments of this application through a computer device (which may be a personal computer, server, or network device, etc.). The aforementioned storage medium includes: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.
[0106] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A method of checking the correctness of integer ambiguities, characterized in that include: The LAMBDA algorithm is used to perform a fixed-integer transformation on the floating-point integer ambiguity to obtain the fixed-integer solution. The specific process is as follows: After performing integer transformation and downcorrelation processing on the floating-point integer ambiguity using the LAMBDA algorithm, the least squares method is used to search for the integer solution of the ambiguity, and the searched integer solution is obtained. Perform an inverse integer transformation on the search integer solution to obtain a fixed integer solution; The Ratio value is calculated based on the floating-point integer ambiguity and the fixed integer solution. The specific process is as follows: in, The floating-point integer ambiguity, This is the fixed integer solution. For suboptimal integral solutions, This is the covariance matrix corresponding to the floating-point integer ambiguity; The Ratio value and preset parameter information are input into a preset XGBoost classification model for correctness verification to obtain the verification result. The preset parameter information includes baseline length, TEC, and PDOP. If the test result is passed, the fixed integer solution is accepted, and the fixed solutions corresponding to other parameters are updated based on the fixed integer solution. If the test result is not passed, the floating-point solution is retained.
2. The method of integer ambiguity validation as claimed in claim 1, wherein, The step of inputting the Ratio value and preset parameter information into a preset XGBoost classification model for correctness verification and obtaining the verification result includes, before: The Euclidean distance is calculated based on the fixed integer solution and the preset true value to obtain the fixed solution error; An initial XGBoost model is constructed based on the fixed solution error and the preset error allowable range; The initial XGBoost model is validated and trained using a pre-set dataset to obtain a pre-set XGBoost classification model.
3. An all-in-modulus ambiguity resolution verification apparatus, characterized by, include: The ambiguity conversion unit is used to perform fixed conversion on floating-point integer ambiguities using the LAMBDA algorithm to obtain a fixed integer solution. Specifically, the ambiguity conversion unit is used for: After performing integer transformation and downcorrelation processing on the floating-point integer ambiguity using the LAMBDA algorithm, the least squares method is used to search for the integer solution of the ambiguity, and the searched integer solution is obtained. Perform an inverse integer transformation on the search integer solution to obtain a fixed integer solution; The ratio calculation unit is used to calculate the ratio value based on the floating-point integer ambiguity and the fixed integer solution. Specifically, the ratio calculation unit is expressed as follows: wherein, is the float integer cycle ambiguity, is the fixed integer cycle solution, is the suboptimal integer cycle solution, is the covariance matrix corresponding to the float integer cycle ambiguity; The ambiguity verification unit is used to input the Ratio value and preset parameter information into a preset XGBoost classification model for correctness verification and to obtain the verification result. The preset parameter information includes baseline length, TEC and PDOP. The solution selection unit is used to accept the fixed integer solution if the test result is passed, and update the fixed solutions corresponding to other parameters based on the fixed integer solution; if the test result is not passed, the floating-point solution is retained.
4. The integer ambiguity validity checking apparatus according to Claim 3, characterized by Also includes: The error calculation unit is used to calculate the Euclidean distance based on the fixed integer solution and the preset true value to obtain the fixed solution error. The model building unit is used to build an initial XGBoost model based on the fixed solution error and the preset error allowable range; The validation training unit is used to validate and train the initial XGBoost model using a preset dataset to obtain a preset XGBoost classification model.
5. An all-in-modulus ambiguity resolution verification apparatus, characterized by, The device includes a processor and a memory; The memory is used to store program code and transmit the program code to the processor; The processor is configured to perform the method of any one of claims 1-2 according to instructions in the program code.
6. A computer-readable storage medium, characterized in that, The computer readable storage medium is configured to store program code for performing the method of any one of claims 1-2.