Enhanced GNSS measurement handling in real-time dynamic (RTK) and precision point positioning (PPP)

By employing adaptive and hybrid RAIM technologies, the measurement processing of GNSS equipment is improved. By calculating the prefit residual and comparing it with a threshold, and adjusting the measurement using scaling and deweighting factors, the problem of accuracy degradation in GNSS measurements in challenging environments is solved, achieving higher positioning accuracy and fixation rate.

CN121969956APending Publication Date: 2026-05-01QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
QUALCOMM INC
Filing Date
2024-07-25
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing GNSS measurements are susceptible to multipath and other challenging conditions, leading to a decrease in the accuracy of the positioning solution. Traditional RAIM algorithms cannot effectively remove erroneous measurements, affecting the accuracy and fixation rate of the positioning solution.

Method used

By employing adaptive and hybrid RAIM technology, the standard deviation of the prefit residual of GNSS measurements is compared with a threshold to determine the condition trigger. Scale factors and deweighting factors are used to adjust or remove erroneous measurements, thus improving the measurement processing method of the positioning engine.

Benefits of technology

It improves the positioning estimation accuracy of GNSS equipment, reduces the horizontal error of positioning solutions, and increases the positioning fixation rate, especially significantly improving positioning accuracy in challenging environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121969956A_ABST
    Figure CN121969956A_ABST
Patent Text Reader

Abstract

A Global Navigation Satellite System (GNSS) device may receive GNSS correction data and may determine respective standard deviations of pre-fit residuals for one or more GNSS measurement types of a set of GNSS measurements. The GNSS device may determine that at least one conditional trigger is satisfied based on a comparison of respective standard deviations of pre-fit residuals of one or more GNSS measurement types to respective thresholds, and in response to determining that the at least one conditional trigger is satisfied, may modify how the positioning engine processes one or more measurements of the set of GNSS measurements. The GNSS device may determine a positioning estimate of the GNSS device based at least in part on a result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.
Need to check novelty before this filing date? Find Prior Art

Description

Enhanced GNSS survey handling in real-time kinematic (RTK) and precise point positioning (PPP)

[0001] Related applications

[0002] This application is an international application of U.S. Application No. 18 / 782,323, filed July 24, 2024, entitled “ENHANCED GNSS MEASUREMENT HANDLING IN REAL-TIME KINEMATIC (RTK) AND PRECISE POINT POSITIONING (PPP),” which claims the benefit of U.S. Provisional Application No. 63 / 586,282, filed September 28, 2023, entitled “ENHANCED GNSS MEASUREMENT HANDLING IN RTK / PPP,” both of which are assigned to the assignee of this application and whose entire contents are incorporated herein by reference. Background Technology

[0003] This disclosure relates generally to the field of satellite-based positioning, and more specifically to Global Navigation Satellite System (GNSS) positioning.

[0004] Precise positioning techniques such as Real-Time Kinematic (RTK) and Precise Point Positioning (PPP) can enhance the accuracy of positioning estimates obtained from Global Navigation Satellite System (GNSS) receivers. Precise positioning can provide sub-meter accuracy estimates, often exceeding the accuracy of traditional consumer-grade GNSS receivers. Therefore, precise positioning can increase the number of applications that consumer-grade GNSS receivers can be used for. However, the accuracy of such positioning solutions can be significantly affected by GNSS measurements, which are susceptible to multipath and / or other challenging conditions that may degrade the quality of GNSS measurements. Summary of the Invention

[0005] According to this disclosure, an example method for handling GNSS measurements for precise positioning of a Global Navigation Satellite System (GNSS) device may include: receiving GNSS correction data from a correction data source at the GNSS device. The method may further include: determining, for a set of GNSS measurements performed by the GNSS device and corresponding to measurement epochs, a corresponding standard deviation of prefitted residuals for one or more GNSS measurement types in the set of GNSS measurements, including pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof. The method may further include: determining whether at least one conditional trigger is met based on a comparison of the corresponding standard deviation of the prefitted residuals for the one or more GNSS measurement types with a corresponding threshold. The method may further include: modifying how the positioning engine processes one or more measurements in the set of GNSS measurements in response to determining that the at least one conditional trigger is met. The method may further include: determining a positioning estimate for the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

[0006] According to this disclosure, an example GNSS device for precise positioning of a Global Navigation Satellite System (GNSS) device may include: one or more transceivers; one or more memories; and one or more processors communicatively coupled to the one or more transceivers and the one or more memories, wherein the one or more processors are configured to receive GNSS correction data from a correction data source via the one or more transceivers. The one or more processors may be further configured to determine, for a set of GNSS measurements performed by the GNSS device and corresponding to a measurement epoch, a corresponding standard deviation of prefit residuals for one or more GNSS measurement types in the set of GNSS measurements, including: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof. The one or more processors may be further configured to determine, based on a comparison of the corresponding standard deviation of the prefit residuals for the one or more GNSS measurement types with a corresponding threshold, that at least one conditional trigger is satisfied. The one or more processors may be further configured to modify how the positioning engine processes one or more measurements in the set of GNSS measurements in response to determining that the at least one conditional trigger is satisfied. The one or more processors may be further configured to determine the positioning estimate of the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

[0007] According to this disclosure, an example apparatus for GNSS measurement processing for precise positioning of a Global Navigation Satellite System (GNSS) device may include: components for receiving GNSS correction data from a correction data source. The apparatus may further include components for determining a corresponding standard deviation of a prefit residual of one or more GNSS measurement types for a set of GNSS measurements performed by the GNSS device and corresponding to a measurement epoch, the one or more GNSS measurement types including: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof. The apparatus may further include: components for determining, based on a comparison of the corresponding standard deviation of the prefit residual of the one or more GNSS measurement types with a corresponding threshold, that at least one conditional trigger is satisfied. The apparatus may further include: components for modifying how the positioning engine processes one or more measurements in the set of GNSS measurements in response to determining that the at least one conditional trigger is satisfied. The apparatus may further include: components for determining a positioning estimate of the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

[0008] According to this disclosure, an example non-transitory computer-readable medium stores instructions for handling GNSS measurements for precise positioning of a Global Navigation Satellite System (GNSS) device. These instructions include code for receiving GNSS correction data from a correction data source at the GNSS device. The instructions may also include code for determining a corresponding standard deviation of a prefit residual for one or more GNSS measurement types of a set of GNSS measurements performed by the GNSS device and corresponding to a measurement epoch. The one or more GNSS measurement types include: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof. The instructions may also include code for determining whether at least one conditional trigger is met based on a comparison of the corresponding standard deviation of the prefit residual for the one or more GNSS measurement types with a corresponding threshold. The instructions may also include code for modifying how the positioning engine processes one or more measurements in the set of GNSS measurements in response to determining that the at least one conditional trigger is met. The instructions may also include code for determining a positioning estimate for the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

[0009] This invention is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used alone to define the scope of the claimed subject matter. This subject matter should be understood with reference to the appropriate portions of this disclosure, any or all of the accompanying drawings, and each claim. The foregoing, as well as other features and examples, will be described in more detail in the following description, claims, and drawings. Attached Figure Description

[0010] Figure 1 is a simplified diagram of the GNSS system according to the implementation plan.

[0011] Figure 2 is an example of a correlation plot, provided to illustrate an example of the correlation between the prefit residuals of the pseudorange (PR) and the level error (HE) of the RTK solution.

[0012] Figure 3 is a block diagram of a method for handling GNSS measurements for RTK / PPP positioning using adaptive and / or hybrid receiver autonomous integrity monitoring (RAIM) according to an implementation scheme.

[0013] Figure 4 is a block diagram showing how some operations related to the adaptive RAIM described in Figure 3 can be implemented according to some implementation schemes.

[0014] Figure 5 illustrates the experimental results of implementing adaptive RAIM in the manner illustrated in Figure 4.

[0015] Figure 6 is a block diagram showing how some operations related to the hybrid RAIM described in Figure 3 can be implemented according to some implementation schemes.

[0016] Figure 7 illustrates the experimental results of implementing hybrid RAIM in the manner illustrated in Figure 6.

[0017] Figure 8 is a flowchart of a method for performing GNSS measurement processing for precise positioning of GNSS equipment according to the implementation plan.

[0018] Figure 9 is a block diagram of the GNSS equipment according to the implementation plan.

[0019] Similar reference numerals in various figures indicate similar elements according to certain specific embodiments. Furthermore, multiple instances of an element can be indicated by adding a letter or hyphen after the first digit of the element, followed by a second digit. For example, multiple instances of element 110 may be indicated as 110-1, 110-2, 110-3, etc., or 110a, 110b, 110c, etc. When only the first digit is used to refer to such an element, it should be understood that any instance of the element (e.g., element 110 in the previous example would refer to elements 110-1, 110-2, and 110-3, or elements 110a, 110b, and 110c) Detailed Implementation

[0020] Several exemplary embodiments will now be described with reference to the accompanying drawings, which form part of the present disclosure. Although specific embodiments that can implement one or more aspects of this disclosure are described below, other embodiments can be used and various modifications can be made without departing from the scope of this disclosure.

[0021] As used herein, the terms “positioning” and “location” are used interchangeably. Furthermore, terms such as “positioning estimate,” “positioning determination,” “positioning fixation,” “location estimation,” “estimated location,” and “fixed location” are also used interchangeably herein with respect to Global Navigation Satellite System (GNSS) based positioning to refer to the estimated positioning of a mobile device or other device including a GNSS receiver. Positioning or location can be two-dimensional (e.g., with respect to a two-dimensional map) or three-dimensional.

[0022] As used herein, "positioning engine" refers to one or more components (e.g., software components or modules) that perform positioning techniques to determine the positioning estimate of a mobile device. In a typical implementation, the positioning engine for a mobile device is executed by one or more processors of the mobile device. A positioning engine that provides high-precision positioning (also referred to herein as a "precise positioning engine (PPE)") typically operates by acquiring pseudorange and carrier phase GNSS data from radio frequency (RF) signals from one or more GNSS constellations, and further applying correction data obtained from a correction data source to apply various corrections to the GNSS data to further determine the precise positioning. More specifically, positioning performed by a PPE uses carrier phase-based ranging to determine the carrier frequency cycles between the satellite and the mobile device (e.g., carrier phase measurements, including changes in the phase and cycles of the carrier signal). Positioning performed by a PPE may be referred to herein as "precise positioning."

[0023] A positioning engine can use, for example, a Bayesian estimator to determine one or more high-precision locations of a mobile device. Examples of Bayesian estimators that can be used include Kalman filters, extended Kalman filters, unscented Kalman filters, particle filters, etc. It should be noted that, as used herein, "Kalman filter" is intended to refer to various types of Kalman filters, such as extended Kalman filters, unscented Kalman filters, etc. In some implementations, the estimator can be used to iteratively determine the state corresponding to the predicted device location over a series of time steps. Continuing this example, the Bayesian estimator can be iteratively updated (e.g., the state of the estimator can be iteratively updated) to identify the solution. The solution of the estimator can correspond to a high-precision GNSS-based positioning estimate of the mobile device at the time point where the estimator has converged.

[0024] As previously noted, GNSS receivers (e.g., in vehicles, mobile devices, etc.) can be able to use high-precision positioning techniques such as RTK or PPP to determine high-precision positioning estimates. These high-precision positioning techniques involve the GNSS receiver receiving correction data from an RTK or PPP service and using a Precise Positioning Engine (PPE) to apply the correction data to GNSS measurements performed by the GNSS receiver to achieve positioning accuracy far greater than that of traditional (pseudorange-based) GNSS positioning. However, the accuracy of such positioning solutions can be negatively affected by GNSS measurements that are susceptible to multipath and / or other challenging conditions that may degrade the quality of GNSS measurements.

[0025] The various aspects of the implementations described herein generally relate to low-quality GNSS measurement filtering and / or deweighting in high-precision positioning of GNSS equipment. Some aspects specifically provide techniques for performing measurement pre-checks by comparing the standard deviation of prefitted residuals for different measurement types (pseudorange (PR), carrier phase (CP), and Doppler (DR)) with a threshold to determine whether a conditional trigger has been met. In some examples, measurements of one or more measurement types can be excluded from measurement updates performed by the positioning engine of the GNSS equipment if a conditional trigger has been met for one or more measurement types. In some examples, if a conditional trigger has been met for one or more measurement types, a scaling factor (SF) can be used to adjust a threshold to determine whether specific measurements of one or more measurement types should be skipped / omitted from the positioning solution. In some examples, if a conditional trigger has been met for one or more measurement types, a deweighting factor (DWF) can be used to deweight certain measurements of one or more measurement types. In such implementations, the DWF can be used to increase the uncertainty of one or more measurement types.

[0026] Specific aspects of the subject matter described in this disclosure can be implemented to achieve one or more of the following potential advantages. In some examples, the described techniques can be used to improve the accuracy of positioning estimates by modifying how / which measurements are processed by the positioning engine to determine the positioning estimate of a GNSS device through measurement pre-checks. These and other advantages will be understood by those skilled in the art in light of the embodiments provided below. Detailed embodiments are provided after a brief discussion of the related art.

[0027] Figure 1 is a simplified diagram of a GNSS system 100, provided to illustrate how GNSS is generally used to determine the precise location (also referred to as “positioning” of the GNSS receiver) of a GNSS receiver 110 on Earth 120. Generally, the GNSS system 100 achieves precise GNSS positioning of the GNSS receiver 110, which receives radio frequency (RF) signals from one or more GNSS satellites 130 from a GNSS constellation. (Satellites such as GNSS satellites 130 may also be referred to herein as spacecraft (SVs).) The type of GNSS receiver 110 used can vary depending on the application. In some embodiments, for example, the GNSS receiver 110 may include consumer electronics or devices such as mobile phones, tablet computers, laptop computers, wearable devices, vehicles (or in-vehicle equipment), etc. In some embodiments, the GNSS receiver 110 may include industrial or commercial equipment, such as exploration equipment.

[0028] It should be understood that the illustration provided in Figure 1 is greatly simplified. In practice, there may be dozens of satellites and a given GNSS constellation, and many different types of GNSS systems exist. GNSS systems include, for example, the Global Positioning System (GPS), Galileo (GAL), GLONASS, the Quasi-Zenith Satellite System over Japan (QZSS), the Indian Regional Navigation Satellite System over India (IRNSS), and the BeiDou Navigation Satellite System (BDS). In addition to the basic positioning functionality described later, GNSS augmentations (e.g., Satellite-Based Augmentation Systems (SBAS)) can be used to provide greater accuracy. Such augmentations can be associated with or otherwise enabled for use with one or more global and / or regional navigation satellite systems, such as, for example, the Wide Area Augmentation System (WAAS), the European Geostationary Navigation Coverage Service (EGNOS), the Multifunctional Satellite Augmentation System (MSAS), and the Geographic Augmentation Navigation System (GAGAN).

[0029] GNSS positioning is based on multipoint positioning, a method of determining positioning by measuring distances to known coordinate points. Generally, determining the three-dimensional positioning of a GNSS receiver 110 can rely on determining the distances between the GNSS receiver 110 and four or more satellites 130. As illustrated, 3D coordinates can be based on a coordinate system centered on the Earth's center of mass (e.g., XYZ coordinates; latitude, longitude, and altitude, etc.). The distance between each satellite 130 and the GNSS receiver 110 can be determined using precise measurements of the time difference between when the corresponding satellite 130 transmits an RF signal and when that signal is received at the GNSS receiver 110. To help ensure accuracy, the GNSS receiver 110 needs to not only accurately determine when it receives the corresponding signal from each satellite 130, but also consider and account for many additional factors. These factors include, for example, clock differences (e.g., clock skew) between GNSS receiver 110 and satellite 130, the precise location of each satellite 130 at the time of transmission (e.g., as determined by broadcast ephemeris), and the effects of atmospheric distortion (e.g., ionospheric and tropospheric delays).

[0030] To perform conventional GNSS positioning fixation, taking into account the previously noted additional factors and error sources, GNSS receiver 110 can use code-based positioning to determine its distance to each satellite 130 based on a determined delay in a generated pseudo-random binary sequence received from the RF signals received from each satellite. These measurements are called pseudorange (PR) measurements. Using the distance and position information of satellite 130, GNSS receiver 110 can then determine a positioning fixation for its position. For example, this positioning fixation can be determined by an independent positioning engine (SPE) executed by one or more processors of GNSS receiver 110. However, code-based positioning is relatively inaccurate and lacks error correction, making it susceptible to many of the errors described above. Even so, code-based GNSS positioning can provide GNSS receiver 110 with positioning accuracy on the order of meters.

[0031] More accurate carrier-based ranging is based on the carrier of the RF signal from the satellite and can use measurements at a base station or reference station (not shown) to perform error correction to help reduce errors from previously indicated error sources. More specifically, errors (e.g., atmospheric error sources) in carrier-based ranging of satellite 130 as observed by GNSS receiver 110 can be mitigated or eliminated based on similar carrier-based ranging of satellite 130 using a highly accurate GNSS receiver at a base station at a known location. Carrier-based ranging involves the use of carrier phase (CP) measurements, although PR measurements can be additionally used. These measurements and the location of the base station can be provided to GNSS receiver 110 for error correction. For example, this positioning fixation can be determined by a Precision Positioning Engine (PPE) executed by one or more processors of GNSS receiver 110. More specifically, in addition to the information provided to the PPE, the PPE can also use base station GNSS measurement information and additional correction information (such as precise orbit and clock, troposphere and ionosphere) to provide high-accuracy, carrier-based positioning fixation. Several GNSS technologies can be used in PPE, such as differential GNSS (DGNSS), real-time dynamic (RTK) and PPP, and can provide sub-meter accuracy (e.g., centimeter level).

[0032] The high accuracy of carrier-based ranging using RTK and / or PPP error correction data can be compromised in challenging environments. More specifically, in environments such as canyons (including “urban” canyons), overpasses, etc., the signals utilized by GNSS receivers for GNSS measurements may be susceptible to multipath interference that cannot be removed by base station correction. This “contamination” of GNSS measurements can lead to cycle slips under conditions of significantly degraded positioning solutions if the measurements are not properly identified and filtered. Conventional techniques for identifying and filtering such erroneous GNSS measurements may involve the use of additional sensors (e.g., IMUs, cameras, etc.), but this can significantly increase the cost and complexity of the GNSS receiver. Other solutions may include receiver autonomous integrity monitoring (RAIM) to remove “bad” (e.g., large residual) measurements and use filtered measurements to maintain the accuracy and integrity of the positioning solution. However, existing RAIM solutions can be improved.

[0033] Figure 2 illustrates the correlation plots 200 and 205, provided to demonstrate the correlation between the pseudorange (PR) "prefit" residuals and the level error (HE) of the RTK solution using example data. As used herein, the prefit residuals can be a measure of how newly acquired GNSS measurements might affect the positioning solution, which can be determined before applying GNSS measurements in measurement updates (e.g., in a Kalman filter (KF)). The upper plot 200 illustrates the level error of the RTK solution over a time period, and the lower plot 205 illustrates the PR prefit measurement residuals. As can be seen from plots 200 and 205, periods with high PR prefit measurement residuals also result in large HE values ​​for the RTK positioning solution. For the RTK positioning solution, this also corresponds to floating-point values ​​rather than fixed values. These time periods are labeled with box 210 in Figure 2.

[0034] Traditional prefit RAIM algorithms can determine outlier GNSS measurements to be filtered based solely on the offset of the prefitted measurement residuals relative to the median of the prefitted measurement residuals. However, in challenging GNSS environments, such traditional algorithms often fail to remove sufficiently high residual measurements. Therefore, some erroneous measurements are used (rather than filtered out), resulting in lower accuracy and lower RTK fixation rate in the localization solution. For example, the data in curves 200 and 205 in Figure 2 represent data susceptible to the effects of traditional prefit RAIM algorithms. Even so, in box 210, the RTK localization solution still results in low RTK fixation rate and high HE during that time period.

[0035] The implementation described in this paper addresses these and other issues by implementing adaptive and / or hybrid RAIM to help identify additional erroneous measurements. These identified measurements can then be correctly rejected (or deweighted), which can improve the accuracy of RTK and / or PPP localization solutions.

[0036] Figure 3 is a block diagram of method 300 for handling GNSS measurements for RTK and / or PPP positioning using adaptive and / or hybrid RAIM according to an implementation scheme. Some or all of the operations of method 300 can be performed by the positioning engine of the GNSS device. As noted below, such a positioning engine can be implemented in the GNSS receiver, modem, application processor, and / or other hardware and / or software components of the GNSS device. Example components of the GNSS device are described below with reference to Figure 9.

[0037] Method 300 can begin at box 310, where GNSS measurements are preprocessed to prepare for a measurement pre-check performed at box 320. In the measurement pre-check at box 320, the standard deviation of a specific type of measurement (e.g., pseudorange (PR), carrier phase (CP), Doppler (DR), or any combination thereof) can be calculated to determine if a conditional trigger has been met. If so, the process can proceed to functionality at box 330 or box 340, where adaptive RAIM and / or hybrid RAIM are performed. Different implementation schemes, environmental factors, and / or other factors can be considered when determining whether to use adaptive RAIM or hybrid RAIM. If the conditional trigger is not met, conventional RAIM can be used. As described in more detail below, adaptive RAIM can use an additional scaling factor (SF) to exclude measurements from the selection of one or more measurement types in the prefit RAIM module based on the met conditional trigger. Adaptive RAIM can be used to provide relatively aggressive RAIM logic. As described in more detail below, hybrid RAIM can deweight measurements of one or more selected measurement types in a prefitted RAIM module based on satisfied condition triggers. Hybrid RAIM can be used to provide (e.g., compared to adaptive RAIM) relatively less aggressive RAIM logic. Method 300 can then proceed to the functionality illustrated at box 350, where a Kalman filter (KF) measurement update is performed using GNSS measurements (e.g., modified / filtered using adaptive RAIM or hybrid RAIM). The update can then be used to provide a positioning solution (e.g., indicating position, velocity, and time (PVT)) for the GNSS receiver, as indicated at box 360. Among other things, this positioning solution can be based on the GNSS measurements used in the Kalman filter (KF) measurement update and RTK / PPP correction.

[0038] Different conditional triggers can be used to implement adaptive RAIM and / or hybrid RAIM, relative to the measurement pre-check at box 320. According to some implementations, these conditional triggers may include:

[0039] (1) Whether the standard deviation of the PR prefit residual is greater than the threshold of the PR prefit residual.

[0040] (2) Whether the standard deviation of the CP prefit residuals is greater than the threshold of the CP prefit residuals, or

[0041] (3) Whether the standard deviation of the DR prefit residual is greater than the threshold of the DR prefit residual.

[0042] Regression analysis can be used to predetermine appropriate thresholds for each measurement type; for example, in regression analysis, a threshold is selected and applied to various datasets. It can be noted that the thresholds used in the measurement pre-check at box 320 (and / or in adaptive and / or hybrid RAIM at boxes 330 and 340) may be specific only to a particular measurement type (PR, CP, DR), but additionally or alternatively may be specific to other factors such as positioning methods (e.g., RTK, PPP, etc.), environmental factors, uncertainties, timing, etc., or any combination thereof, and may be predetermined or dynamically determined (e.g., based on current factors). As indicated in Figure 3 and described in more detail below, adaptive RAIM and / or hybrid RAIM can be used to remove certain measurements and / or deweight certain measurements before performing the KF measurement update at box 350 if one or more conditions are triggered.

[0043] However, it can be noted that some implementations can simply omit updating all measurements of a measurement type in the positioning engine if certain trigger conditions are met. As previously noted, GNSS measurements can include PR measurements, CP measurements, and DR measurements, all of which can be used for KF measurement updates in the positioning engine (box 350). In various cases, avoiding measurement updates for measurement types (PR, CP, DR) can reduce the level error (HE) of the positioning solution if the standard deviation of the measurements for that measurement type exceeds the corresponding threshold for that measurement type. For example, avoiding PR measurement updates in the positioning engine when trigger condition (1) is met can result in increased accuracy (reduced HE). The same applies to other measurement types. That is, skipping measurement updates in this way can cause the positioning engine (KF) to operate in a purely time-update mode (e.g., when trigger conditions for all measurement types are met). If the dynamic model is inaccurate, the positioning solution will drift as long as the trigger conditions are enabled.

[0044] Accordingly, adaptive and / or hybrid RAIM can be achieved when one or more of the conditional triggers are met. An example of this is illustrated in Figure 4.

[0045] Figure 4 is a block diagram 400 illustrating how certain operations related to the adaptive RAIM described in Figure 3 can be implemented according to some implementation schemes. Here, the measurement pre-check at block 410 can correspond to the measurement pre-check at block 320 in Figure 3, and the KF measurement update at block 420 can correspond to the KF measurement update at block 350 in Figure 3. Figure 4 provides additional details on how adaptive RAIM can be performed based on which conditions are met.

[0046] As shown in Figure 4, different adaptive RAIMs can be implemented for the corresponding measurement types of the conditional triggers when different conditional triggers (triggers (1) to (3) described above) are met. That is, if conditional trigger (1) (corresponding to PR measurement) is met, as indicated in box 430, adaptive prefit RAIM for PR prefit residuals can be performed, as indicated in box 435. Similarly, if conditional trigger (2) (corresponding to CP measurement) is met, as indicated in box 440, adaptive prefit RAIM for CP prefit residuals can be performed, as indicated in box 445. Finally, if conditional trigger (3) (corresponding to DR measurement) is met, as indicated in box 450, adaptive prefit RAIM for DR prefit residuals can be performed, as indicated in box 455. Otherwise, if the conditional trigger is not met, as indicated in box 460, "regular" (e.g., traditional) RAIM can be performed, as indicated in box 465.

[0047] As previously noted, the functionality of adaptive prefit RAIM for various measurement types, indicated by boxes 435, 445, and 455 in Figure 4, can involve the use of a scaling factor (SF). For example, while the regular RAIM at box 465 can use a standard RAIM threshold to filter the PR prefit residuals, the adaptive prefit RAIM for PR at box 435 can multiply the standard RAIM threshold by the SF. If the PR prefit residuals exceed this scaling threshold, the adaptive prefit RAIM for PR at box 435 can then omit the PR prefit residuals from the KF measurement update at box 420. A similar process is implemented for the prefit residuals for other measurement types (CP and DR).

[0048] Depending on the desired functionality, the SF and / or standard RAIM thresholds for each measurement type can be unique for that type, or they can be shared between two or all three measurement types. Additionally or alternatively, the SF and / or standard RAIM thresholds can vary based on one or more additional factors (such as positioning methods (e.g., RTK, PPP, etc.), environmental factors, uncertainties, timing, etc., or any combination thereof), and can be predetermined or dynamically determined (e.g., based on current factors). The standard RAIM threshold for a given measurement type can be a function of the measurement noise matrix (R), the observation matrix (H), and the KF state covariance. Furthermore, according to some implementations, the SF value can be deeply tuned based on regressions from multiple databases. For example, the default value for SF can be 0.1. (An SF less than 1 will result in more prefitted residuals being filtered compared to regular RAIM.) Other implementations can have higher or lower SF values. And the SF can be tuned over time according to specific devices and / or applications.

[0049] Figure 5 illustrates some experimental results of implementing adaptive RAIM in the manner described in Figure 4 above. Here, the experimental results are based on data from a library of movement logs in challenging environments.

[0050] Table 500 shows statistics for horizontal error (columns beginning with the letters "He"), horizontal velocity (beginning with "Ve"), and other information for the positioning value samples. Horizontal error and horizontal velocity are further broken down into percentages (50%, 68%, 95%, and 99%), indicating the corresponding percentage of samples with error values ​​equal to or lower than the indicated error value. Rows are divided into "before implementing adaptive RAIM (e.g., implementing conventional / traditional RAIM)" and "after implementing adaptive RAIM." (Rows with values ​​for implementing adaptive RAIM also include the difference in parentheses, which shows the "after" value as a percentage of the "before" value.) As can be seen, at all percentage values, the horizontal error is reduced in the "after" implementation. For example, where 50% of the "before" value has a horizontal error of 1.2751 m (column "HeCep 50"), 50% of the "after" value has a horizontal error of 0.6120 m, which is only 48% of the "before" value. Furthermore, the percentage of "fixed" samples increases after applying adaptive RAIM.

[0051] Plot 510 provides further illustration of the experimental results. In Plot 510, the results corresponding to various datasets of the movement logs are plotted and grouped by dataset. Each dataset begins with a number (e.g., 0, 1, 2, etc.), and the last three datasets (10, 11, and 12) are statistical combinations of the previous datasets (sum, mean, and geometric mean). Each group includes a bar chart plotting some data from the data corresponding to the columns in Table 500, showing an increase or decrease as a percentage of the “previous” value / baseline value. Of particular interest is the level error (again, starting with “He”), which decreases in almost every instance.

[0052] Figure 6 is a block diagram 600 illustrating how certain operations related to the hybrid RAIM described in Figure 3 can be implemented according to some embodiments. Here, the measurement pre-check at block 610 can correspond to the measurement pre-check at block 320 in Figure 3, and the KF measurement update at block 620 can correspond to the KF measurement update at block 350 in Figure 3. Figure 6 provides additional details on how adaptive RAIM can be performed based on which conditions are met.

[0053] Similar to Figure 4, Figure 6 illustrates how different hybrid RAIMs can be implemented for the corresponding measurement types of the conditional triggers when different conditional triggers (triggers (1) to (3) described above) are met. That is, if conditional trigger (1) (corresponding to PR measurement) is met, as indicated in box 630, hybrid prefit RAIM for PR prefit residuals can be performed, as indicated in box 635. Similarly, if conditional trigger (2) (corresponding to CP measurement) is met, as indicated in box 640, hybrid prefit RAIM for CP prefit residuals can be performed, as indicated in box 645. Finally, if conditional trigger (3) (corresponding to DR measurement) is met, as indicated in box 650, hybrid prefit RAIM for DR prefit residuals can be performed, as indicated in box 655. Otherwise, if the conditional trigger is not met, as indicated in box 660, "conventional" (e.g., traditional) RAIM can be performed, as indicated in box 665.

[0054] As noted above, hybrid RAIM (which may include hybrid prefit RAIM for various measurement types, as indicated by boxes 635, 645, and 655 in Figure 6) can involve deweighting measurements of a given measurement type when performing a KF measurement update (e.g., at box 620). Furthermore, hybrid RAIM can be used in conjunction with scaling factors of the types previously described relative to the adaptive RAIM of Figure 4. For example, if the prefit residual is greater than a standard threshold, a conventional RAIM filtering for the PR measurement can be performed at box 665. However, for prefit residuals less than the standard threshold but greater than the standard threshold multiplied by SF, the hybrid prefit RAIM for PR at box 635 can apply a deweighting factor (DWF) to the corresponding PR measurement in the KF measurement update. According to some implementations, although conditional triggering (e.g., performed at boxes 630, 640, and / or 650) can be based on all measurements of a specific measurement type (PR, CP, DR), the functionality of mixed prefit RAIM boxes 635, 645, and 655 can apply DWF to a specific measurement (e.g., it can be identified as having a prefit residual greater than a scaled threshold). Similarly, similar processes can be implemented for other measurement types (CP and DR). Depending on the desired functionality, the SF and / or DWF for each measurement type can be unique for that measurement type, or can be shared between two or all three measurement types, and can vary based on factors such as positioning methods (e.g., RTK, PPP, etc.), environmental factors, uncertainty, timing, etc., or any combination thereof, and can be predetermined or dynamically determined (e.g., based on current factors). Furthermore, similar to SF, DWF values ​​can be deeply tuned based on regressions from multiple databases. According to some implementations, DWF can deweight measurements by scaling the uncertainty of the measurement. (Higher uncertainty can reduce the impact of measurements in KF measurement updates.) For example, the DWF in this case could be 10. Other implementations can have higher or lower DWFs. And the SF can be tuned over time depending on the specific device and / or application.

[0055] Figure 7 illustrates the experimental results of implementing hybrid RAIM in the manner illustrated in Figure 6 as described above. The experimental results are based on the same data used in Figure 5.

[0056] Table 700 shows values ​​similar to those in Table 500 of Figure 5. Because Table 700 processes the same dataset used in Table 500, the values ​​in the "Before" row (values ​​prior to implementing hybrid RAIM) are the same. However, the values ​​in the "After" row differ from their counterparts in Table 500. That is, similar to the "After" row in Table 500, the "After" row in Table 700 shows a reduction in level error and velocity estimation compared to the "Before" row. These reductions can be significant. For example, where 50% of the "Before" values ​​had a level error of 1.2751 m (column "HeCep 50"), 50% of the "After" values ​​have a level error of 0.3446 m, which is only 27% of the "Before" values.

[0057] Plot 710 (similar to plot 510) provides further illustration of the experimental results, where results corresponding to various datasets of the mobile logs are plotted and grouped by dataset. Each group includes a bar chart plotting some data from the data corresponding to the columns of Table 700. Similar to plot 510, where the data shows that adaptive RAIM reduces almost every level of error metric, plot 710 also shows the reduction in almost every level of error metric when using hybrid RAIM.

[0058] The use of adaptive RAIM or hybrid RAIM (or more generally, the use of scaling factors (SF) and / or deweighting factors (DWF)) can vary depending on the desired functionality. As described in the embodiments above, adaptive RAIM uses SF to filter measurements so that these measurements are not used at all for KF measurement updates. On the other hand, hybrid RAIM uses DWF (which can be used in conjunction with SF) to deweight measurements from KF measurement updates. Thus, as previously noted, adaptive RAIM can be considered more aggressive than hybrid RAIM because it removes some measurements rather than deweighting others. Accordingly, depending on the desired functionality, adaptive RAIM or hybrid RAIM can be utilized in different embodiments, different applications, and / or different challenging environments. For example, it can be determined that one approach is superior to another in certain applications and / or environments. This can be based on data collected and analyzed in such environments. Furthermore, in some embodiments, hybrid and / or adaptive RAIM as described herein can be implemented to process RTK and / or PPP measurements based on additional or alternative triggers (e.g., in addition to measurement pre-checks as described herein). Factors that can be considered when determining whether to use adaptive RAIM and / or hybrid RAIM may include environmental and / or measurement uncertainties, such as where the GNSS receiver is located.

[0059] Figure 8 is a flowchart of a method 800 for precise positioning of a Global Navigation Satellite System (GNSS) device according to an embodiment. Components / structures for performing the functions illustrated in one or more boxes shown in Figure 8 can be implemented by hardware and / or software components of the GNSS device. Specifically, components and / or structures may include a GNSS receiver and / or one or more processors (e.g., application processors), including one or more software applications / modules / functions executed thereby. Example components of a GNSS receiver are illustrated in Figure 9, and these example components are described in more detail below.

[0060] At block 810, this functionality includes receiving GNSS correction data from a correction data source at the GNSS device. As described in the embodiments above, the correction data may include RTK and / or PPP correction data, which may be provided to the GNSS device by a correction data source (e.g., an RTK / PPP correction service) via a communication link (e.g., a wireless connection). The manner in which the GNSS device may receive such correction data may vary depending on the specific implementation. According to some embodiments, correction data may be received on a per-request basis, based on a predetermined schedule, periodically (e.g., based on previous requests), etc.

[0061] Components used to perform functionality at block 810 may include: bus 905, one or more processors 910, DSP 920, one or more memories 960, GNSS receiver 980 and / or other components of GNSS device 900, as illustrated in FIG9.

[0062] At box 820, this functionality includes: determining the corresponding standard deviation of the prefit residuals for one or more GNSS measurement types of the set of GNSS measurements performed by a GNSS device and corresponding to a measurement epoch, wherein the one or more GNSS measurement types include: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof. For example, this functionality may correspond to at least some aspects of the measurement pre-check as described in the embodiments above (e.g., at box 320 of FIG. 3, box 410 of FIG. 4, and box 610 of FIG. 6).

[0063] Components used to perform functionality at block 820 may include: bus 905, one or more processors 910, DSP 920, one or more memories 960, GNSS receiver 980 and / or other components of GNSS device 900, as illustrated in FIG9.

[0064] At box 830, this functionality includes: determining whether at least one condition trigger is met by comparing the corresponding standard deviation of the prefit residuals for one or more GNSS measurement types with a corresponding threshold. For example, this functionality (e.g., in addition to the functionality at box 820) may correspond to at least some aspects of the measurement pre-checks described in the embodiments above (e.g., at box 320 of Figure 3, box 410 of Figure 4, and box 610 of Figure 6). As previously noted, different measurement types may have the same or different corresponding thresholds, which may be based on a variety of factors. According to some embodiments, the corresponding threshold may be based at least in part on: one or more GNSS measurement types, whether the GNSS correction data includes RTK correction data or PPP correction data, the environment, measurement uncertainty, or any combination thereof. According to some embodiments, the environment may include the environment or type of environment in which the GNSS equipment is located (e.g., indoor, outdoor, in a canyon, in an urban area, etc.).

[0065] Components used to perform functionality at block 830 may include: bus 905, one or more processors 910, DSP 920, one or more memories 960, GNSS receiver 980 and / or other components of GNSS device 900, as illustrated in FIG9.

[0066] At box 840, this functionality includes modifying how the positioning engine handles one or more measurements from a set of GNSS measurements in response to determining that at least one condition is met. As noted in the embodiments described above, these modifications may include: avoiding including measurements of a measurement type in measurement updates, applying adaptive RAIM, applying hybrid RAIM, or any combination thereof. More specifically, according to some embodiments, modifying how the positioning engine handles one or more measurements from a set of GNSS measurements may include using only a subset of the set of GNSS measurements for measurement updates performed by the positioning engine, wherein the subset of the set of GNSS measurements excludes all measurements of at least one of one or more GNSS measurement types. Here, the positioning engine may include an RTK / PPP engine, or (more generally) a PPE. Additionally or alternatively, modifying how the positioning engine processes one or more measurements in the set of GNSS measurements may include: (i) modifying a processing threshold using a scaling factor (SF); (ii) comparing the corresponding prefit residual of the measurement with the modified processing threshold for each of the one or more measurements; and (iii) excluding at least one of the one or more measurements from the measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the modified processing threshold. At least some aspects of this functionality may correspond to adaptive RAIM as described herein (e.g., with respect to Figures 4 and 5). Additionally or alternatively, modifying how the positioning engine processes one or more measurements in the set of GNSS measurements may include: (i) comparing the corresponding prefit residual of the measurement with a weighted threshold for each of the one or more measurements; and (ii) changing the corresponding weight of at least one of the one or more measurements used in the measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the weighted threshold. At least some aspects of this functionality may correspond to hybrid RAIM as described herein (e.g., with respect to Figures 6 and 7). As noted herein, in such embodiments, the weighting threshold may include a processing threshold modified by a scaling factor (SF). Additionally or alternatively, in such embodiments, changing the corresponding weight of at least one of the one or more measurements includes increasing the corresponding uncertainty corresponding to at least one of the one or more measurements. As explained herein, this can be accomplished using a deweighting factor (DWF).

[0067] Components used to perform functionality at block 840 may include: bus 905, one or more processors 910, DSP 920, one or more memories 960, GNSS receiver 980 and / or other components of GNSS device 900, as illustrated in FIG9.

[0068] At block 850, this functionality includes determining a positioning estimate for the GNSS device based at least in part on the results of a modified processing of one or more measurements by the positioning engine and GNSS correction data. For example, this determination can be performed based on conventional RTK / PPP positioning (but using a modified processing of one or more measurements as described in the previous operation of method 800, rather than conventional means (e.g., conventional RAIM)). Depending on the desired functionality, the positioning estimate can be output to a device or system. According to some embodiments, for example, an indication of the positioning estimate can be provided to the processor, application, and / or operating system of the GNSS device. Additionally or alternatively, an indication of the positioning estimate can be provided to another device or system (communically coupled to the GNSS device), a user of the GNSS device (e.g., via a user interface such as a display), etc.

[0069] The components used to perform functionality at block 850 may include: bus 905, one or more processors 910, DSP 920, one or more memories 960, GNSS receiver 980 and / or other components of GNSS device 900, as illustrated in FIG9.

[0070] Figure 9 is a block diagram of the various hardware and software components of a GNSS device 900 according to an embodiment. These components can be utilized as described herein (e.g., in association with Figures 1 through 8). For example, the GNSS device 900 can perform the operations of the methods illustrated in Figures 3, 4, 6, and 8, and / or one or more of the functions of a GNSS device as described in the embodiments herein. It should be noted that Figure 9 is intended only to provide a generalized illustration of the various components, any or all of which may be utilized as appropriate. As previously noted, the GNSS device 900 can vary in form and function and can ultimately include any GNSS-enabled device, including vehicles, commercial and consumer electronic devices, surveying equipment, and the like.

[0071] GNSS device 900 is shown as including hardware elements that can be electrically coupled (or otherwise communicated) via bus 905. The hardware elements may include one or more processors 910, which may include, but are not limited to, one or more general-purpose processors, one or more dedicated processors (such as DSP chips, graphics processing units (GPUs), application-specific integrated circuits (ASICs), etc.) and / or other processors, processing architectures, processing units, or processing components. As shown in FIG9, some embodiments may have a separate DSP 920 depending on the desired functionality. Wireless communication-based location determination and / or other determinations (discussed below) may be provided in processor 910 and / or wireless communication interface 930. GNSS device 900 may also include: one or more input devices 970, which may include, but are not limited to, keyboards, touchscreens, touchpads, microphones, buttons, dial pads, switches, etc.; and one or more output devices 915, which may include, but are not limited to, displays, light-emitting diodes (LEDs), speakers, etc. As will be understood, the type of input devices 970 and output devices 915 may depend on the type of GNSS device 900 integrated with the input devices 970 and output devices 915.

[0072] GNSS device 900 may also include a wireless communication interface 930, which may include, but is not limited to, a modem, network card, infrared communication device, wireless communication device and / or chipset (such as Bluetooth). ® Devices, IEEE 802.11 devices, IEEE 802.15.4 devices, Wi-Fi devices, WiMAX ™ The GNSS device 900 can communicate with other devices as described herein via networks as described herein and / or directly with other devices as described herein, including devices, wide area network (WAN) devices, and / or various cellular devices. The wireless communication interface 930 can permit the transmission (e.g., sending and receiving) of data and signaling with networks (e.g., via WAN access points, cellular base stations and / or other access node types, and / or other network components, computer systems, and / or any other electronic devices described herein). Communication can be performed via one or more wireless communication antennas 932 that transmit and / or receive wireless signals 934. Antennas 932 may include one or more discrete antennas, one or more antenna arrays, or any combination thereof.

[0073] Depending on the desired functionality, the wireless communication interface 930 may include a separate transceiver, a separate receiver and transmitter, or any combination of transceivers, transmitters and / or receivers, for communication with base stations and other ground transceivers, such as wireless devices and access points. The GNSS device 900 can communicate with various data networks, which may include a variety of network types. For example, a wireless wide area network (WWAN) may be a Code Division Multiple Access (CDMA) network, a Time Division Multiple Access (TDMA) network, a Frequency Division Multiple Access (FDMA) network, an Orthogonal Frequency Division Multiple Access (OFDMA) network, a Single Carrier Frequency Division Multiple Access (SC-FDMA) network, or a WiMAX network. ™ (IEEE 802.16), etc. CDMA networks can implement one or more Radio Access Technologies (RATs), such as CDMA2000. ® Broadband CDMA (WCDMA), etc. CDMA2000 ® Including IS-95, IS-2000, and / or IS-856 standards. TDMA networks can implement Global System for Mobile Communications (GSM), Digital Advanced Mobile Telephone System (D-AMPS), or some other RAT. OFDMA networks can adopt Long Term Evolution (LTE), Advanced LTE, 5G NR, 6G, etc. (This information is from the 3rd Generation Partnership Project (3GPP)...) ™ The document describes 5G NR, LTE, Advanced LTE, GSM, and WCDMA. CDMA2000 ® It is described in documents from an organization called "3rd Generation Partnership Project 2" (3GPP2). 3GPP ™ The 3GPP2 documentation is publicly available. Wireless Local Area Networks (WLANs) can also be IEEE 802.11x networks, while Wireless Personal Area Networks (WPANs) can be Bluetooth. ® This applies to networks, IEEE 802.15x, or some other type of network. The techniques described herein can also be used in any combination of WWAN, WLAN, and / or WPAN.

[0074] The GNSS device 900 may also include a sensor 940. In some instances, the sensor 940 may include, but is not limited to, one or more inertial sensors and / or other sensors (e.g., accelerometers, gyroscopes, cameras, magnetometers, altimeters, microphones, proximity sensors, light sensors, barometers, etc.), some of which may be used to supplement and / or facilitate the location determination described herein.

[0075] An embodiment of GNSS device 900 may further include a GNSS receiver 980 capable of receiving signals 984 from one or more GNSS satellites (e.g., satellite 130) as described herein, using an antenna 982 (which may be identical to antenna 932). GNSS receiver 980 may use conventional techniques to extract the positioning of GNSS device 900 from GNSS SVs (e.g., satellite 130) of GNSS systems such as GPS, GAL, GLONASS, the Quasi-Zenith Satellite System (QZSS) over Japan, the Indian Regional Navigation Satellite System (IRNSS) over India, the BeiDou Navigation Satellite System (BDS), etc. In addition, the GNSS receiver 980 can be used with various augmentation systems, such as satellite-based augmentation systems (SBAS), which can be associated with or otherwise enabled to be used with one or more global and / or regional navigation satellite systems, such as the Wide Area Augmentation System (WAAS), the European Geostationary Navigation Coverage Service (EGNOS), the Multifunctional Satellite Augmentation System (MSAS), and the Geographic Augmentation Navigation System (GAGAN).

[0076] It should be noted that although the GNSS receiver 980 illustrated in Figure 9 is illustrated as a component distinct from other components within the GNSS device 900, the implementation is not limited thereto. As used herein, the term "GNSS receiver" may include hardware and / or software components configured to acquire GNSS measurements (measurements from GNSS satellites). Thus, in some implementations, the GNSS receiver may include (as software) a measurement engine executed by one or more processors, such as processor 910, DSP 920, and / or a processor within a wireless communication interface 930 (e.g., in a modem). The GNSS receiver may also optionally include a positioning engine, such as those described herein (e.g., Kalman filter, WLS, particle filter, etc.), which can determine the positioning of the GNSS receiver using GNSS measurements from the measurement engine and RTK correction information. The positioning engine may also be executed by one or more processors, such as processor 910 and / or DSP 920.

[0077] The GNSS device 900 may also include a memory 960 and / or communicate with the memory 960. The memory 960 may include machine-readable or computer-readable media, which may include, but are not limited to, local and / or network-accessible storage devices, disk drives, drive arrays, optical storage devices, solid-state storage devices (such as random access memory (RAM) and / or read-only memory (ROM)), which may be programmable, flash-updatable, etc. Such storage devices can be configured to implement any suitable data storage, including but not limited to various file systems, database structures, etc.

[0078] The memory 960 of the GNSS device 900 may also include software elements (not shown in FIG. 9), including an operating system, device drivers, executable libraries, and / or other code (such as one or more applications). These software elements may include computer programs provided by various embodiments, and / or may be designed to implement methods provided by other embodiments, and / or configure systems provided by other embodiments, as described herein. By way of example only, one or more processes described with respect to the methods discussed above may be implemented as code and / or instructions in memory 960 executable by the GNSS device 900 (and / or the processor 910 or DSP 920 within the GNSS device 900). In one respect, such code and / or instructions may then be used to configure and / or adapt a general-purpose computer (or other device) to perform one or more operations according to the described methods.

[0079] It will be apparent to those skilled in the art that basic modifications can be made to suit specific requirements. For example, custom hardware can also be used, and / or specific elements can be implemented in hardware, software (including portable software such as applets), or both. Furthermore, connections to other computing devices, such as network input / output devices, can be employed.

[0080] Referring to the accompanying drawings, components that may include memory may include non-transitory machine-readable media. As used herein, the terms "machine-readable media" and "computer-readable media" refer to any storage medium that participates in providing data that enables a machine to operate in a particular manner. In the embodiments provided above, various machine-readable media may be involved in providing instructions / code to a processor and / or other devices for execution. Additionally or alternatively, machine-readable media may be used to store and / or carry such instructions / code. In many specific embodiments, computer-readable media are physical and / or tangible storage media. Such media may take many forms, including but not limited to non-volatile and volatile media. Common forms of computer-readable media include, for example: magnetic and / or optical media, any other physical media with a hole pattern, RAM, programmable ROM (PROM), erasable PROM (EPROM), FLASH-EPROM, any other memory chip or memory cartridge, or any other medium from which a computer can read instructions and / or code.

[0081] The methods, systems, and apparatus discussed herein are examples. Various embodiments may omit, substitute, or add various processes or components as appropriate. For example, features described for some embodiments may be combined in various other embodiments. Different aspects and elements of embodiments may be combined in a similar manner. The various components in the accompanying drawings provided herein may be embodied in hardware and / or software. Furthermore, technology evolves, and therefore many elements are examples that do not limit the scope of this disclosure to those particular examples.

[0082] It has been proven convenient to sometimes refer to such signals as bits, information, values, elements, symbols, characters, variables, items, numbers, numerical symbols, etc., primarily for common use. However, it should be understood that all such terms or similar terms should be associated with appropriate physical quantities and are merely convenient labels. Unless otherwise specifically stated, it is as apparent from the above discussion that throughout this specification, discussions using terms such as “processing,” “calculating,” “determining,” “identifying,” “ascertaining,” “identifying,” “associating,” “measuring,” and “executing” refer to the actions or processes of a specific device such as a dedicated computer or similar dedicated electronic computing device. Therefore, in the context of this specification, a dedicated computer or similar dedicated electronic computing device is capable of manipulating or transforming signals, generally referred to as physical, electronic, electrical, or magnetic quantities in the memory, registers, or other information storage devices, transmitting devices, or display devices of the dedicated computer or similar dedicated electronic computing device.

[0083] As used herein, the terms “and” and “or” may include a variety of meanings, which are also contemplated, at least in part, depending on the context in which such terms are used. Generally, “or,” when used in relation to a list such as A, B, or C, is intended to mean A, B, and C (in the inclusive sense) and A, B, or C (in the exclusive sense). Furthermore, as used herein, the term “one or more” can be used to describe any feature, structure, or characteristic in the singular form, or to describe some combination of features, structures, or characteristics. However, it should be noted that this is merely an illustrative example, and the claimed subject matter is not limited to this example. Additionally, the term “at least one of…” when used in relation to a list such as A, B, or C can be interpreted as meaning any combination of A, B, and / or C, such as A, AB, AA, AAB, AABBCCC, etc.

[0084] Several implementations have been described, and various modifications, alternative constructions, and equivalents may be used without departing from the scope of this disclosure. For example, the above elements may be components of a larger system, where other rules may take precedence over the application of various implementations or otherwise modify the application of various implementations. Furthermore, multiple steps may be performed before, during, or after considering the above elements. Accordingly, the above description does not limit the scope of this disclosure.

[0085] Given this description, different implementations may include different combinations of features. Specific implementation examples are described in the following numbered clauses:

[0086] Clause 1: A method for handling GNSS measurements for precise positioning of a Global Navigation Satellite System (GNSS) device, the method comprising: receiving GNSS correction data from a correction data source at the GNSS device; determining, for a set of GNSS measurements performed by the GNSS device and corresponding to measurement epochs, a corresponding standard deviation of prefit residuals for one or more GNSS measurement types of the set of GNSS measurements, the one or more GNSS measurement types including: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof; determining, based on a comparison of the corresponding standard deviation of the prefit residuals of the one or more GNSS measurement types with a corresponding threshold, that at least one conditional trigger is satisfied; in response to determining that the at least one conditional trigger is satisfied, modifying how a positioning engine processes one or more measurements in the set of GNSS measurements; and determining a positioning estimate of the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

[0087] Clause 2: The method according to Clause 1, wherein modifying how the positioning engine processes one or more measurements in the set of GNSS measurements includes using only a subset of the set of GNSS measurements for measurement updates performed by the positioning engine, wherein the subset of the set of GNSS measurements excludes all measurements of at least one of the one or more GNSS measurement types.

[0088] Clause 3: The method according to any one of Clauses 1 to 2, wherein modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises: modifying a processing threshold using a scaling factor (SF); comparing a corresponding prefit residual of the measurement with the modified processing threshold for each of the one or more measurements; and excluding at least one of the one or more measurements from a measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the modified processing threshold.

[0089] Clause 4: The method according to any one of Clauses 1 to 3, wherein modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises: for each of the one or more measurements, comparing a corresponding prefit residual of the measurement with a weighted threshold; and in response to the comparison of the corresponding prefit residual of the measurement with the weighted threshold, changing a corresponding weight of at least one of the one or more measurements used in a measurement update performed by the positioning engine.

[0090] Clause 5: The method described in Clause 4, wherein the weighted threshold includes a processing threshold modified by a scaling factor (SF).

[0091] Clause 6: The method according to any one of Clauses 4 to 5, wherein changing the corresponding weight of the at least one of the one or more measurements comprises increasing the corresponding uncertainty corresponding to the at least one of the one or more measurements.

[0092] Clause 7: The method according to any one of Clauses 1 to 6, wherein the GNSS correction data includes real-time dynamic (RTK) correction data or precise point positioning (PPP) correction data.

[0093] Clause 8: The method according to any one of Clauses 1 to 7, wherein the corresponding threshold is based at least in part on: the one or more GNSS measurement types, the GNSS correction data including RTK correction data or PPP correction data, environment, measurement uncertainty, or any combination thereof.

[0094] Clause 9: A GNSS device for GNSS measurement processing for precise positioning of a Global Navigation Satellite System (GNSS) device, the GNSS device comprising: one or more transceivers; one or more memories; and one or more processors communicatively coupled to the one or more transceivers and the one or more memories, wherein the one or more processors are configured to: receive GNSS correction data from a correction data source via the one or more transceivers; determine, for a set of GNSS measurements performed by the GNSS device and corresponding to measurement epochs, a corresponding standard deviation of prefit residuals for one or more GNSS measurement types of the set of GNSS measurements, the one or more GNSS measurement types including: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof; determine that at least one conditional trigger is met based on a comparison of the corresponding standard deviation of the prefit residuals of the one or more GNSS measurement types with a corresponding threshold; modify how a positioning engine processes one or more measurements in the set of GNSS measurements in response to determining that the at least one conditional trigger is met; and determine a positioning estimate of the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

[0095] Clause 10: A GNSS device according to Clause 9, wherein, in order to modify how the positioning engine processes one or more measurements in the set of GNSS measurements, the one or more processors are configured to use only a subset of the set of GNSS measurements for measurement updates performed by the positioning engine, wherein the subset of the set of GNSS measurements excludes all measurements of at least one of the one or more GNSS measurement types.

[0096] Clause 11: A GNSS device according to any one of Clauses 9 to 10, wherein, in order to modify how the positioning engine processes one or more measurements in the set of GNSS measurements, the one or more processors are configured to: modify a processing threshold using a scaling factor (SF); compare a corresponding prefit residual of the measurement with the modified processing threshold for each of the one or more measurements; and exclude at least one of the one or more measurements from a measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the modified processing threshold.

[0097] Clause 12: A GNSS device according to any one of Clauses 9 to 11, wherein, in order to modify how the positioning engine processes one or more measurements in the set of GNSS measurements, the one or more processors are configured to: compare a corresponding prefit residual of the measurement with a weighted threshold for each of the one or more measurements; and, in response to the comparison of the corresponding prefit residual of the measurement with the weighted threshold, change the corresponding weight of at least one of the one or more measurements used in a measurement update performed by the positioning engine.

[0098] Clause 13: GNSS equipment as described in Clause 12, wherein the weighted threshold includes a processing threshold modified by a scaling factor (SF).

[0099] Clause 14: A GNSS device according to any one of Clauses 12 to 13, wherein, in order to change the corresponding weight of the at least one of the one or more measurements, the one or more processors are configured to increase the corresponding uncertainty of the at least one of the one or more measurements.

[0100] Clause 15: A GNSS device pursuant to any one of Clauses 9 to 14, wherein the GNSS correction data includes real-time dynamic (RTK) correction data or precision point positioning (PPP) correction data.

[0101] Clause 16: A GNSS device pursuant to any one of Clauses 9 to 15, wherein the corresponding threshold is based at least in part on: the one or more GNSS measurement types, the GNSS correction data including RTK correction data or PPP correction data, environment, measurement uncertainty, or any combination thereof.

[0102] Clause 17: An apparatus for GNSS measurement processing for precise positioning of a Global Navigation Satellite System (GNSS) device, the apparatus comprising: components for receiving GNSS correction data from a correction data source; components for determining a corresponding standard deviation of prefit residuals of one or more GNSS measurement types of a set of GNSS measurements performed by the GNSS device and corresponding to a measurement epoch, the one or more GNSS measurement types including: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof; components for determining, based on a comparison of the corresponding standard deviation of the prefit residuals of the one or more GNSS measurement types with a corresponding threshold, that at least one conditional trigger is satisfied; components for modifying how a positioning engine processes one or more measurements in the set of GNSS measurements in response to determining that the at least one conditional trigger is satisfied; and components for determining a positioning estimate of the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

[0103] Clause 18: The apparatus according to Clause 17, wherein the component for modifying how the positioning engine processes one or more measurements in the set of GNSS measurements includes: a component for using only a subset of the set of GNSS measurements for measurement updates performed by the positioning engine, wherein the subset of the set of GNSS measurements excludes all measurements of at least one of the one or more GNSS measurement types.

[0104] Clause 19: An apparatus according to any one of Clauses 17 to 18, wherein the component for modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises: a component for modifying a processing threshold using a scaling factor (SF); a component for comparing a corresponding prefit residual of the measurement with the modified processing threshold for each of the one or more measurements; and a component for excluding at least one of the one or more measurements from a measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the modified processing threshold.

[0105] Clause 20: An apparatus according to any one of Clauses 17 to 19, wherein the component for modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises: a component for comparing a corresponding prefit residual of the measurement with a weighted threshold for each of the one or more measurements; and a component for changing a corresponding weight of at least one of the one or more measurements used in a measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the weighted threshold.

[0106] Clause 21: The apparatus according to Clause 20, wherein the weighted threshold includes a processing threshold modified by a scaling factor (SF).

[0107] Clause 22: The apparatus according to any one of Clauses 20 to 21, wherein the component for changing the corresponding weight of the at least one of the one or more measurements includes a component for increasing the corresponding uncertainty of the at least one of the one or more measurements.

[0108] Clause 23: The apparatus according to any one of Clauses 17 to 22, wherein the GNSS correction data includes real-time dynamic (RTK) correction data or precision point positioning (PPP) correction data.

[0109] Clause 24: An apparatus pursuant to any one of Clauses 17 to 23, wherein the corresponding threshold is based at least in part on: the one or more GNSS measurement types, the GNSS correction data including RTK correction data or PPP correction data, environment, measurement uncertainty, or any combination thereof.

[0110] Clause 25: A non-transitory computer-readable medium storing instructions for handling GNSS measurements for precise positioning of a Global Navigation Satellite System (GNSS) device, the instructions comprising code for: receiving GNSS correction data from a correction data source at the GNSS device; determining, for a set of GNSS measurements performed by the GNSS device and corresponding to measurement epochs, a corresponding standard deviation of prefit residuals for one or more GNSS measurement types of the set of GNSS measurements, the one or more GNSS measurement types including: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof; determining, based on a comparison of the corresponding standard deviation of the prefit residuals of the one or more GNSS measurement types with a corresponding threshold, that at least one conditional trigger is satisfied; modifying how a positioning engine processes one or more measurements in the set of GNSS measurements in response to determining that the at least one conditional trigger is satisfied; and determining a positioning estimate of the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

[0111] Clause 26: The computer-readable medium according to Clause 25, wherein the code for modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises: code for using only a subset of the set of GNSS measurements for measurement updates performed by the positioning engine, wherein the subset of the set of GNSS measurements excludes all measurements of at least one of the one or more GNSS measurement types.

[0112] Clause 27: A computer-readable medium pursuant to any one of Clauses 25 to 26, wherein the code for modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises code for: modifying a processing threshold using a scaling factor (SF); comparing the corresponding prefit residual of the measurement with the modified processing threshold for each of the one or more measurements; and excluding at least one of the one or more measurements from a measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the modified processing threshold.

[0113] Clause 28: A computer-readable medium pursuant to any one of Clauses 25 to 27, wherein the code for modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises code for: comparing a corresponding prefit residual of the measurement with a weighted threshold for each of the one or more measurements; and changing the corresponding weight of at least one of the one or more measurements used in a measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the weighted threshold.

[0114] Clause 29: The computer-readable medium pursuant to Clause 28, wherein the weighted threshold includes a processing threshold modified by a scaling factor (SF).

[0115] Clause 30: A computer-readable medium pursuant to any one of Clauses 28 to 29, wherein the code for changing the corresponding weight of the at least one of the one or more measurements includes code for increasing the corresponding uncertainty of the at least one of the one or more measurements.

[0116] Clause 31: A computer-readable medium pursuant to any one of Clauses 25 to 30, wherein the GNSS correction data includes real-time dynamic (RTK) correction data or precise point positioning (PPP) correction data.

[0117] Clause 32: A computer-readable medium pursuant to any one of Clauses 25 to 31, wherein the corresponding threshold is based at least in part on: the one or more GNSS measurement types, the GNSS correction data including RTK correction data or PPP correction data, environment, measurement uncertainty, or any combination thereof.

Claims

1. A method for GNSS measurement processing of precise positioning of a Global Navigation Satellite System (GNSS) device, the method comprising: GNSS correction data is received from the correction data source at the GNSS device; For a set of GNSS measurements performed by the GNSS device and corresponding to measurement epochs, determine the corresponding standard deviation of the prefit residuals of one or more GNSS measurement types in the set of GNSS measurements, said one or more GNSS measurement types including: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof; determine that at least one conditional trigger is met based on a comparison of the corresponding standard deviation of the prefit residuals of said one or more GNSS measurement types with a corresponding threshold; in response to determining that said at least one conditional trigger is met, modify how the positioning engine processes one or more measurements in the set of GNSS measurements; and determine the positioning estimate of the GNSS device based at least in part on the result of the modified processing of said one or more measurements by said positioning engine and said GNSS correction data.

2. The method of claim 1, wherein modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises using only a subset of the set of GNSS measurements for measurement updates performed by the positioning engine, wherein the subset of the set of GNSS measurements excludes all measurements of at least one of the one or more GNSS measurement types.

3. The method of claim 1, wherein modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises: Use a scaling factor (SF) to modify the processing threshold; For each of the one or more measurements, the corresponding prefit residual of the measurement is compared with the modified processing threshold; And in response to the comparison of the corresponding prefit residual of the measurement with the modified processing threshold, at least one of the one or more measurements is excluded from the measurement update performed by the positioning engine.

4. The method of claim 1, wherein modifying how the positioning engine processes one or more measurements in the set of GNSS measurements comprises: For each of the one or more measurements, the corresponding prefit residual of the measurement is compared with a weighted threshold; And in response to the comparison of the corresponding prefit residual of the measurement with the weighted threshold, the weight of at least one of the one or more measurements used in the measurement update performed by the positioning engine is changed.

5. The method of claim 4, wherein the weighted threshold comprises a processing threshold modified by a scaling factor (SF).

6. The method of claim 4, wherein changing the corresponding weight of the at least one of the one or more measurements comprises increasing the corresponding uncertainty of the at least one of the one or more measurements.

7. The method of claim 1, wherein the GNSS correction data includes real-time dynamic (RTK) correction data or precision point positioning (PPP) correction data.

8. The method of claim 1, wherein the corresponding threshold is based at least in part on: the one or more GNSS measurement types, the GNSS correction data including RTK correction data or PPP correction data, environment, measurement uncertainty, or any combination thereof.

9. A GNSS device for precise positioning of a Global Navigation Satellite System (GNSS) device, the GNSS device comprising: One or more transceivers; One or more memory units; The system includes one or more processors communicatively coupled to one or more transceivers and one or more memories, wherein the one or more processors are configured to: receive GNSS correction data from a correction data source via the one or more transceivers; determine, for a set of GNSS measurements performed by the GNSS device and corresponding to measurement epochs, a corresponding standard deviation of prefit residuals for one or more GNSS measurement types, including pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof; determine that at least one conditional trigger is met based on a comparison of the corresponding standard deviation of the prefit residuals for the one or more GNSS measurement types with a corresponding threshold; modify how the positioning engine processes one or more measurements in the set of GNSS measurements in response to determining that the at least one conditional trigger is met; and determine a positioning estimate for the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

10. The GNSS device of claim 9, wherein, in order to modify how the positioning engine processes one or more measurements in the set of GNSS measurements, the one or more processors are configured to use only a subset of the set of GNSS measurements for measurement updates performed by the positioning engine, wherein the subset of the set of GNSS measurements excludes all measurements of at least one of the one or more GNSS measurement types.

11. The GNSS device of claim 9, wherein, in order to modify how the positioning engine processes one or more measurements in the set of GNSS measurements, the one or more processors are configured to: modify a processing threshold using a scaling factor (SF); For each of the one or more measurements, the corresponding prefit residual of the measurement is compared with the modified processing threshold; And in response to the comparison of the corresponding prefit residual of the measurement with the modified processing threshold, at least one of the one or more measurements is excluded from the measurement update performed by the positioning engine.

12. The GNSS device of claim 9, wherein, in order to modify how the positioning engine processes one or more measurements in the set of GNSS measurements, the one or more processors are configured to: compare a corresponding prefit residual of the measurement with a weighted threshold for each of the one or more measurements; and, in response to the comparison of the corresponding prefit residual of the measurement with the weighted threshold, change the corresponding weight of at least one of the one or more measurements used in a measurement update performed by the positioning engine.

13. The GNSS device of claim 12, wherein the weighted threshold includes a processing threshold modified by a scaling factor (SF).

14. The GNSS device of claim 12, wherein, in order to change the corresponding weight of the at least one of the one or more measurements, the one or more processors are configured to increase the corresponding uncertainty of the at least one of the one or more measurements.

15. The GNSS device of claim 9, wherein the GNSS correction data includes real-time dynamic (RTK) correction data or precision point positioning (PPP) correction data.

16. The GNSS device of claim 9, wherein the corresponding threshold is based at least in part on: the one or more GNSS measurement types, the GNSS correction data including RTK correction data or PPP correction data, environment, measurement uncertainty, or any combination thereof.

17. An apparatus for GNSS measurement processing for precise positioning of Global Navigation Satellite System (GNSS) equipment, the apparatus comprising: Components used to receive GNSS correction data from a correction data source; Components for determining the corresponding standard deviation of the prefit residuals of one or more GNSS measurement types for a set of GNSS measurements performed by the GNSS device and corresponding to a measurement epoch, the one or more GNSS measurement types including: pseudorange (PR) measurements, carrier phase (CP) measurements, Doppler (DR) measurements, or any combination thereof; components for determining, based on a comparison of the corresponding standard deviation of the prefit residuals of the one or more GNSS measurement types with a corresponding threshold, that at least one conditional trigger is satisfied; components for modifying how the positioning engine processes one or more measurements in the set of GNSS measurements in response to determining that the at least one conditional trigger is satisfied; and components for determining a positioning estimate of the GNSS device based at least in part on the result of the modified processing of the one or more measurements by the positioning engine and the GNSS correction data.

18. The apparatus of claim 17, wherein the component for modifying how the positioning engine processes one or more measurements from the set of GNSS measurements comprises: A component for using only a subset of the set of GNSS measurements for measurement updates performed by the positioning engine, wherein the subset of the set of GNSS measurements excludes all measurements of at least one of the one or more GNSS measurement types.

19. The apparatus of claim 17, wherein the component for modifying how the positioning engine processes one or more measurements from the set of GNSS measurements comprises: A component used to modify the processing threshold using a scaling factor (SF); A component for comparing the corresponding prefit residual of each of the one or more measurements with a modified processing threshold; And a component for excluding at least one of the one or more measurements from the measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the modified processing threshold.

20. The apparatus of claim 17, wherein the component for modifying how the positioning engine processes one or more measurements from the set of GNSS measurements comprises: A component for comparing the corresponding prefit residual of each of the one or more measurements with a weighted threshold; And a component for changing the corresponding weight of at least one of the one or more measurements used in the measurement update performed by the positioning engine in response to the comparison of the corresponding prefit residual of the measurement with the weighted threshold.