System and method for tracking state of receiver of global navigation satellite system
The iterative feedback smoothing method using stochastic smoothers addresses integer ambiguity and cycle slip issues in GNSS systems, enhancing accuracy and reliability by refining estimation models.
Patent Information
- Application Number
- JP2024079900
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-29
- Filing Date
- 2024-05-16
- Publication Date
- 2025-01-20
AI Technical Summary
Existing GNSS positioning systems face challenges in accurately resolving integer ambiguities and cycle slips due to errors from clock discrepancies, atmospheric delays, multipath effects, and blockages, leading to estimation errors that are difficult to resolve, especially in urban environments and long distances, which affect the reliability and accuracy of positioning.
A system and method utilizing iterative feedback smoothing and stochastic smoothers, such as the Fraser-Potter (FP) and Rauch-Tung-Striebel (RTS) frameworks, to update parameters of a probabilistic estimation model iteratively, refining integer ambiguities and kinematic states, improving estimation accuracy through feedback refinement processes.
Enhances the accuracy and reliability of GNSS positioning by effectively resolving ambiguities and cycle slips, reducing estimation errors, and improving positioning performance in challenging environments.
Smart Images

Figure 2025009855000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to positioning systems such as the global positioning system (GPS) or the Quasi-Zenith Satellite System (QZSS), and more specifically to estimating satellite receiver states in post-processing based on probabilistic estimation models. [Background technology]
[0002] A Global Navigation Satellite System (GNSS) comprises a set of satellites that can be used to determine the geographic position of a fixed or mobile receiver relative to the Earth. Examples of GNSS may include, but are not limited to, the Global Positioning System (GPS), Galileo, Glonass, the Quasi-Zenith Satellite System (QZSS), and BeiDou.
[0003] In particular, various global navigation satellite (GNS) correction systems are configured to receive GNSS signal data from GNSS satellites. The GNSs can be configured to process the GNSS signal data and calculate GNSS corrections from the GNSS signal data. Providing these corrections to a GNSS receiver allows for quicker and more accurate calculation of the receiver's geographical position. Summary of the Invention [Problem to be solved by the invention]
[0004] Typically, a position estimation method is used to determine the geographical location of the receiver. For example, the geographical location is calculated by the position estimation method based on repeated measurements of pseudorange and carrier phase observables by the Earth-based GNSS receiver. In addition, information about the velocity of the receiver relative to the satellites can be obtained by sampling the time derivative of the carrier phase measurements. This type of observable is called a Doppler measurement. In one example, the pseudorange or code observable represents the difference between the time of transmission of the GNSS satellite signal and the time of local reception of this GNSS satellite signal. Thus, the pseudorange or code observable comprises the geometrical distance covered by the GNSS satellite signal. Furthermore, a measurement of the alignment between the carrier of the received GNSS satellite signal and a copy of the GNSS satellite signal generated inside the receiver provides another source of information for determining the apparent distance between the satellite and the receiver. The corresponding observable is called the carrier phase observable, which represents the integral of the Doppler frequency due to the relative motion of the satellite and the receiver.
[0005] However, any pseudorange observation necessarily includes sources of error. Errors may arise, for example, from receiver and transmitter clock errors, other delays caused by the non-zero refractive index of the atmosphere, instrument delays, multipath effects, and detector noise. Furthermore, any carrier-phase observation may include an unknown integer number of signal cycles. For example, the unknown integer number of signal cycles may include an unknown integer number of wavelengths that may elapse before lock-in to signal alignment is obtained. This unknown integer is called the carrier-phase ambiguity. Thus, the pseudorange and carrier-phase observables are measured, i.e., sampled, by the receiver, at discrete successive time steps. In one example, the index of the time steps at which the observables are measured is called an epoch.
[0006] Traditionally, position estimation methods require dynamic numerical estimation and correction schemes for range and error components based on measurements of observables, i.e. pseudorange and carrier-phase observables, that can be sampled at successive epochs.
[0007] When multiple GNSS satellite signals are tracked continuously and no lock loss occurs, a particular integer ambiguity value resolved at the beginning of the tracking phase can persist throughout the entire range of the GNSS positioning. However, in certain conditions, the GNSS satellite signals may be frequently blocked (e.g., due to buildings in an urban environment) or momentarily blocked (e.g., when the receiver reaches under a bridge or passes through a tunnel). In such cases, the integer ambiguity value is lost and must be re-determined. Such re-determination may take a certain amount of time, such as several seconds to several minutes, and may cause estimation errors. In addition, the presence of significant multipath errors or unmodeled systematic biases in one or more measurements of either the pseudorange observables or the carrier phase observables may make ambiguity resolution difficult for currently used commercial positioning systems. With increasing receiver separation (i.e., the distance between the reference receiver and the mobile receiver whose position is being sought), the range-dependent biases (e.g., orbit errors, ionospheric effects, and tropospheric effects) become larger. As a result, reliable ambiguity resolution (or re-initialization) becomes even more challenging. Instead, lock loss may occur due to a discontinuity in the receiver's continuous phase lock to the signal, called a cycle slip. For example, cycle slips may be caused by power loss, receiver software failure, or a malfunctioning satellite oscillator. In addition, cycle slips may also be caused by changes in ionospheric conditions. However, resolving ambiguities when lock loss occurs is also difficult.
[0008] It will be noted that GNSS extension refers to techniques used to improve the accuracy of positioning information provided by GPS or other GNSS that use a network of satellites for navigation. For example, some conventional methods for GNSS extension may use discrimination techniques based on inter-satellite discrimination, inter-receiver discrimination, inter-epoch discrimination, or a combination of these. For example, single and double discrimination between satellites and receivers reduces sources of error. However, conventional discrimination techniques cannot completely remove sources of error.
[0009] In some cases, multiple frequency bands are used. In the case of the GPS constellation, the frequency bands may include, for example, carrier frequencies of 1575.42 MHz (L1 band), 1227.6 MHz (L2 band), and 1176 MHz (L5 band). Using the underlying radio physics as well as discrimination techniques, several observations on multiple frequency bands may be combined to form an ionosphere-free combination. This may further reduce the effect of ionosphere modeling errors on the position estimate.
[0010] However, despite these modeling methods, there is a need to enhance GNSS positioning estimation accuracy beyond such conventional methods. To address some of the issues related to positioning estimation, some methods apply the positioning problem to a smoothing setting where data is received in batches and an estimate of the position at any given time can be calculated using not only past and current measurements but also future measurements within the batch of data received. This differs from filtering methods where a current estimate of the position is calculated in real time based on past and current data. The advantage of the smoothing solution is that it strictly improves performance compared to filtering solutions that have increased computational cost and require offline execution or have a delay equal to the length of the batch of data. Smoothing solutions are typically referred to as post-processing algorithms (PPAs). Examples of algorithms for performing smoothing post-processing include, for example, Kalman smoothing in Fraser-Potter (FP) based algorithms and Rauch-Tung-Striebel (RTS) framework based algorithms. Other smoothing post-processing may include factor-graph optimization (FGO).
[0011] It will be noted that smoothing is a problem of estimating an unknown probability density function of a state trajectory considered over multiple time steps using past, present, and future measurements. This is possible in a post-processing scenario where a batch of measurements is taken and used as input to a smoothing algorithm or smoother. A smoother is an algorithm that realizes a solution to this problem, typically based on Bayesian techniques. For example, many types of Kalman smoothers can use an estimation model that includes a prediction model that is subject to process noise and a measurement model that is subject to measurement noise.
[0012] However, these smoothing algorithms rely on a well-defined estimation model, and any errors in the estimation model or its parameters can cause performance degradation. Smoothers assume that at least a subset of the parameters of the estimation model are known in advance, which is not always feasible. Therefore, a method is needed to adapt the estimation model in a safe, data-driven manner while simultaneously estimating the receiver state (bias, position, velocity, etc.). There is a need for an improved estimation model in GNSS positioning post-processing to enable a safe update of the model parameters and thereby improve the estimation performance for GNSS post-processing and precise positioning estimation. [Means for solving the problem]
[0013] An object of some embodiments is to disclose a system, method, and computer program product for tracking a Global Navigation Satellite System (GNSS) receiver state based on iterative feedback smoothing. Another object of some embodiments is to disclose a system, method, and computer program product that enables a feedback mechanism for parameter adaptation. Another object of some embodiments is to disclose a system, method, and computer program product related to GNSS post-processing applications.
[0014] Some embodiments are based on the recognition that, given the structure and purpose of parameters of a probabilistic estimation model for GNSS tracking, at least some parameters of the probabilistic estimation model affect state tracking more than other parameters.
[0015] Some embodiments are based on the recognition that the probabilistic estimation model may include parameters that define, for example, the kinematic state of the receiver, the clock drift, the ionospheric delay, the tropospheric delay, correction terms, and integer ambiguity biases associated with the receiver, and thus updating each of the parameters of the probabilistic estimation model may be computationally challenging.
[0016] Some embodiments are based on the recognition that updating only the parameters indicative of the kinematic state may be sufficient. In one embodiment, for example, parameters related to a Wiener process driving the random walk of the kinematic state of the receiver may be updated. In some implementations, the parameters of the kinematic state may be iteratively updated until a termination condition is reached, and then the integer ambiguity bias is updated once the termination condition is reached based on the refinement or updated parameters of the probabilistic estimation model. In addition, the kinematic state of the receiver may be updated based on the updated integer ambiguity bias.
[0017] Accordingly, some embodiments are based on the realization that stochastic smoothers can predict receiver state variables more accurately than filters because stochastic smoothers are non-causal and can more accurately describe the spatial distribution of variables of interest such as state variables. Therefore, it is an objective of some embodiments to track the state of a GNSS receiver using post-processing techniques implemented using stochastic smoothers within the Fraser-Potter (FP) and Rauch-Tung-Striebel (RTS) frameworks.
[0018] Some embodiments are based on the realization that smoothing can track the state as a function of the parameters of the probabilistic estimation model. Furthermore, the results of the tracking can be used as a feedback loop to update the parameters of the probabilistic estimation model. In particular, a metric indicative of the measurement likelihood taking the parameters into account can be used as an indication of the accuracy of the parameters. However, it will be appreciated that the calculation of such a measurement likelihood is a computationally expensive process that may make direct minimization impossible to achieve for parameters of large estimation models. Instead, it may be possible to construct a majorant function for the negative log-likelihood, which may be minimized efficiently, possibly analytically. As a result, some embodiments may use iterative feedback smoothing, which may iteratively implement smoothing followed by feedback refinement of at least some parameters of the probabilistic estimation model until a termination condition is met. The smoothing updates the state trajectory to account for the measurements taking into account the parameters of the probabilistic estimation model, and the feedback refinement updates at least some parameters of the probabilistic estimation model to improve the metric indicative of the measurement likelihood taking into account the updated parameters.
[0019] One embodiment discloses a system for tracking a state of a Global Navigation Satellite System (GNSS) receiver based on iterative feedback smoothing. The system includes a processor and a memory having instructions stored thereon, the instructions causing the processor to receive a set of measurements indicative of a receiver movement, the set of measurements collected over a period of time. The set of measurements is associated with satellite signals, the satellite signals including combinations of carrier phase and one or more code signals transmitted from a set of GNSS satellites and detected by the receiver at different times within the period of time. The processor may further estimate a state trajectory of the receiver for the period of time by processing the set of measurements associated with the receiver with a stochastic smoother, the set of measurements being associated with a stochastic estimation model. The stochastic smoother performs a smoothing process followed by a feedback refinement process iteratively on at least some parameters of the stochastic estimation model until a termination condition is met. The smoothing process updates the state trajectory indicative of the set of measurements based on at least some parameters of the stochastic estimation model. The feedback refinement process updates at least some parameters of the stochastic estimation model to improve a metric indicative of a measurement likelihood. The processor further renders the estimated state trajectory and the updated at least some parameters over a wired or wireless communication channel. In some embodiments, the feedback refinement process updates only at least some parameters of the probabilistic estimation model. In some embodiments, the feedback refinement process updates at least some parameters of the probabilistic estimation model that are indicative of the kinematic state of the receiver.
[0020] In some embodiments, the feedback refinement process may update at least some parameters of a probabilistic estimation model associated with a stochastic process driving the random walk of one or more kinematic states of the receiver.
[0021] In some embodiments, the feedback refinement process may iteratively update at least some parameters of a probabilistic estimation model associated with the stochastic process until a termination condition is met, and further estimate integer ambiguity biases of the probabilistic estimation model to generate the rendered state trajectory.
[0022] In some embodiments, the feedback refinement process updates at least some parameters of the probabilistic estimation model based on expectation maximization (EM) techniques to ensure monotonic improvement of the updated parameters relative to the measurement likelihood at each EM iteration, and intermediate smoothed solutions may be discarded.
[0023] In some embodiments, the processor may be further configured to construct an objective Q function for parameter optimization of at least some of the parameters using a smoothing process of a relaxed estimation problem, where the relaxed estimation problem is a biconvex function that performs majorization of negative measurement log-likelihoods.
[0024] In some embodiments, the Q-function may be formed such that the arguments of the Q-function are all or a portion of at least one of the parameters associated with the maps and functions of the probabilistic estimation model.
[0025] In some embodiments, the Q function may be formed such that the arguments of the Q function are a set of parameters that parameterize at least one or more of the functions and matrices that define the measurement model, the inverse covariance matrix, the functions and matrices that define the prediction model, and the structure of the probabilistic estimation model.
[0026] In some embodiments, the Q-function may be a Q-function that is minimized with a regularization term to promote the sparse pattern assumed in the resulting probabilistic estimation model.
[0027] In some embodiments, the processor may be further configured to implement the probabilistic estimation model using at least one of an embedded system, parallel processing, or entities utilizing computing hardware.
[0028] In some embodiments, the processor may be further configured to perform the smoothing process using an approximate Gaussian fixed-interval smoother, the Gaussian fixed-interval smoother including at least one of a Rauch-Tung-Striebel smoother, a Fraser-Potter smoother, or a factor graph optimization smoother, and the smoothing process is performed using at least one of an explicit or statistical linearization method to resolve nonlinearities in the probabilistic estimation model.
[0029] In some embodiments, a probabilistic estimation model may be formed for multiple receivers and an estimation problem is formed to jointly estimate the state trajectories of the multiple receivers.
[0030] In some embodiments, one or more biases of the probabilistic estimation models of each of the multiple receivers may be described as being identical due to the geographical proximity between them.
[0031] In some embodiments, multiple receivers may be mounted on vehicles, with the multiple receivers configured to determine the location of the corresponding vehicles.
[0032] In some embodiments, the multiple receivers may be mounted on a surface buoy, and the multiple receivers are configured to determine sporadic changes during at least one of a seismic event or an irrigation event using parameter adaptation of a probabilistic estimation model.
[0033] Another embodiment discloses a method for tracking a state of a Global Navigation Satellite System (GNSS) receiver based on iterative feedback smoothing. The method includes receiving a set of measurements indicative of receiver motion, the set of measurements collected over a time period, the set of measurements associated with satellite signals, the satellite signals including combinations of carrier phase and one or more code signals transmitted from a set of GNSS satellites and detected by the receiver at different times within the time period. The method further includes estimating a state trajectory of the receiver for the time period by processing the received set of measurements associated with the receiver with a stochastic smoother, the set of measurements being associated with a stochastic estimation model. Processing the motion data includes iteratively performing a smoothing process followed by a feedback refinement process on at least some parameters of the stochastic estimation model by the stochastic smoother until a termination condition is met. The smoothing process includes updating the state trajectory indicative of the set of measurements based on at least some parameters of the stochastic estimation model. The feedback refinement process includes updating at least some parameters of the stochastic estimation model to improve a metric indicative of measurement likelihood. The method further includes rendering the estimated state trajectory and at least some of the updated parameters over a wired or wireless communication channel.
[0034] In some embodiments, the feedback refinement process may involve updating only at least some parameters of the probabilistic estimation model.
[0035] In some embodiments, the feedback refinement process may include updating at least some parameters of a probabilistic estimation model that is indicative of the kinematic state of the receiver.
[0036] Another embodiment discloses a non-transitory computer-readable storage medium including a program executable by a processor to perform a method for tracking a state of a Global Navigation Satellite System (GNSS) receiver based on iterative feedback smoothing. The method includes receiving a set of measurements indicative of a receiver's motion, the set of measurements collected over a period of time, the set of measurements associated with satellite signals, the satellite signals including a combination of carrier phase and one or more code signals transmitted from a set of GNSS satellites and detected by the receiver at different times within the period of time. The method further includes estimating a state trajectory of the receiver for the period of time by processing the received set of measurements associated with the receiver with a stochastic smoother, the set of measurements being associated with a stochastic estimation model. Processing the set of measurements includes iteratively performing a smoothing process followed by a feedback refinement process on at least some parameters of the stochastic estimation model by the stochastic smoother until a termination condition is met. The smoothing process includes updating the state trajectory indicative of the set of measurements based on at least some parameters of the stochastic estimation model. The feedback refinement process includes updating at least some parameters of the probabilistic estimation model to improve a metric indicative of the measurement likelihood. The method further includes rendering the estimated state trajectory and at least some of the updated parameters over a wired or wireless communication channel. [Brief description of the drawings]
[0037] [Figure 1A] 1 shows a schematic diagram of a Global Navigation Satellite System (GNSS), according to an embodiment of the present disclosure. [Figure 1B] FIG. 2 shows a schematic diagram illustrating an example urban driving scenario for estimating the positions of multiple receivers mounted on multiple vehicles, according to an embodiment of the present disclosure. [Figure 1C] FIG. 1 shows a schematic diagram describing an example underwater surveillance scenario for estimating the positions of multiple receivers mounted on multiple buoys, according to an embodiment of the present disclosure. [Figure 1D]FIG. 1 illustrates a diagram of a system that utilizes a feedback mechanism to update parameters of a probabilistic estimation model, according to an embodiment of the present disclosure. [Figure 1E] 1 illustrates a schematic diagram of a Kalman filter according to an embodiment of the present disclosure. [Figure 1F] FIG. 2 shows a schematic diagram describing the information flow in a Kalman filter and a Kalman smoother according to an embodiment of the present disclosure. [Figure 1G] FIG. 1 shows a diagram illustrating the main idea of expectation maximization, according to an embodiment of the present disclosure. [Figure 2A] 1 illustrates a block diagram of a system for tracking the states of multiple receivers according to an embodiment of the present disclosure. [Figure 2B] 2 illustrates a block diagram of a receiver of a plurality of receivers according to an embodiment of the present disclosure. [Figure 3A] FIG. 1 shows a diagram illustrating an overview of a method for processing satellite signals according to an embodiment of the present disclosure and a comparison with other types of post-processing methods. [Figure 3B] FIG. 1 illustrates a diagram describing an overview of an adaptive post-processing method including smoothing algorithm numerical optimization and integer fixation according to an embodiment of the present disclosure. [Figure 3C] FIG. 1 shows a diagram illustrating the synthesis of probabilistic estimation models, according to an embodiment of the present disclosure. [Figure 3D] FIG. 1 shows a graphical illustration of key components of a mixed integer probabilistic estimation model, according to an embodiment of the present disclosure. [Figure 3E] FIG. 1 shows a diagram illustrating cycle slip detection and process noise adaptation of a probabilistic estimation model according to an embodiment of the present disclosure. [Figure 3F] FIG. 1 shows a diagram illustrating the probability density function used to model a cycle slip event and the integer random walk process used to model the time evolution of the integer ambiguity bias according to an embodiment of the present disclosure. [Figure 3G]FIG. 2 illustrates a graphical representation of key components of a mixed integer estimation model for multiple receivers, according to an embodiment of the present disclosure. [Figure 4A] FIG. 1 shows a diagram describing the smoothing process of a relaxed probabilistic estimation model based on constructing integer bias for real numbers, according to an embodiment of the present disclosure. [Figure 4B] FIG. 1 shows a diagram describing the computation and minimization of a majorizing Q function according to an embodiment of the present disclosure. [Figure 4C] FIG. 1 illustrates a graphical representation of a decay of a Q function as a function of expectation-maximization (EM) iterations, according to an embodiment of the present disclosure. [Figure 4D] 1 shows a diagram describing the smoothing process performed for an integer fixed probabilistic estimation model, where the integer bias is configured for integers, according to an embodiment of the present disclosure. [Diagram 5] FIG. 1 shows a graphical illustration illustrating the impact of optimizing model parameters in an adaptive GNSS post-processing method with reference to position estimation error, according to an embodiment of the present disclosure. [Figure 6] FIG. 1 illustrates a block diagram of a system for implementing a post-processing solution used to assist in tracking a mixed autonomous vehicle, according to an embodiment of the present disclosure. [Figure 7A] 1 shows a schematic diagram of a directly or indirectly controlled vehicle according to an embodiment of the present disclosure. [Figure 7B] FIG. 2 illustrates a schematic diagram of the interaction between a controller of a system for receiving controlled commands and a controller of a vehicle according to an embodiment of the present disclosure. [Figure 8] 1 shows a flowchart describing a method for tracking a receiver state based on iterative feedback smoothing, according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0038] For purposes of explanation, numerous specific details are set forth below to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In other instances, the apparatus and method are shown in block diagram form solely to avoid obscuring the present disclosure. It is contemplated that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosed subject matter as set forth in the appended claims.
[0039] As used in the specification and claims, the terms "for example," "for instance," and "such as," as well as the verbs "comprising," "having," "including," and other forms of these verbs, when used in conjunction with a list of one or more components or other items, should each be construed as open-ended, meaning that the list should not be considered to exclude further components or items. The term "based on" means based at least in part on. Furthermore, it should be understood that the style and terminology used herein are for purposes of illustration and should not be considered to be limiting. Any headings used herein are for convenience only and should not be considered to have any legal or limiting effect.
[0040] In the following description, specific details are provided to fully understand the embodiments. However, those skilled in the art will appreciate that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the disclosed subject matter may be shown in block diagram form as components to avoid obscuring the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail to avoid obscuring the embodiments. Additionally, like reference numbers and names in the various drawings refer to like elements.
[0041] 1A illustrates a schematic diagram 100A of a Global Navigation Satellite System (GNSS) according to some embodiments. The schematic diagram 100A may include a plurality of receivers 102, a base station 104, and a set of GNSS satellites 106. The plurality of receivers 102 may include receiver 102A and receiver 102B. The set of GNSS satellites 106 may include satellite 106A, satellite 106B, satellite 106C, satellite 106D, and satellite 106N.
[0042] In some embodiments, the plurality of receivers 102 and the base station 104 may be different. For example, in some embodiments, the base station 104 may have a known location and may be ground-based. In contrast, the plurality of receivers 102 may be mobile and assumed to be in motion, or may be fixed receivers, in which case the location of the plurality of receivers 102 may be unknown. By way of example, the plurality of receivers 102 may be mounted on various devices, such as a mobile phone, a vehicle, or a tablet. In all embodiments described, there may be multiple GNSS receivers in the plurality of receivers 102 that may be configured to receive code and carrier phase signals, and the number of receivers in the plurality of receivers 102 may be large. In some embodiments, the base station 104 may be moving, and in other embodiments, the location of the base station 104 may be unknown.
[0043] The set of GNSS satellites 106 may include several satellites from a number of different constellations, including, but not limited to, the Global Positioning System (GPS), Galileo satellites, the Global Navigation Satellite System (GLONASS), the Quasi-Zenith Satellite System (QZSS), and the BeiDou Navigation Satellite (BDS) systems. Some embodiments of the set of GNSS satellites 106 may use one or more carrier frequency bands per satellite.
[0044] Multiple receivers 102, such as receiver 102A and receiver 102B, can receive wireless signals that can be processed by the multiple receivers 102 to generate a set of measurements. In an embodiment, the multiple receivers 102 can include a processor configured to generate the set of measurements. For example, the set of measurements is related to satellite signals that include a combination of carrier phase and one or more code signals, such as pseudorange measurements, carrier phase measurements, and Doppler measurements, along with other signals indicative of the quality of wireless communications between the multiple receivers 102, the base station 104, and the set of GNSS satellites 106.
[0045] Additionally, the set of measurements may be related to a geometric distance 108 and a time derivative of the geometric distance 108 with a set of biases. For example, the geometric distance 108 may be a Euclidean distance between the coordinates of the set of GNSS satellites 106 and the coordinates of the multiple receivers 102 at the transmit and receive times. In some embodiments, the set of measurements obtained from the multiple receivers 102 may be combined with measurements obtained by a known base station, such as the base station 104, to attenuate sources of error in the set of measurements. In one example, a set of pseudorange, carrier-phase, and Doppler measurements of the set of measurements may be received for each satellite of the set of GNSS satellites 106 visible to the multiple receivers 102 at each epoch and may be processed locally in the multiple receivers 102 by using a processor.
[0046] The GNSS signals sampled at the receiver, including carrier phase, pseudorange (code), and possibly Doppler measurements (time derivative of carrier phase) from one or more frequency bands in one or more GNSS constellations, are collectively referred to as GNSS measurements. Additionally, additional measurements may be obtained from sensors, such as inertial measurement units (IMUs), barometers, cameras, etc. The set of measurements may include both GNSS measurements and additional measurements. The set of measurements is described in more detail in connection with Figures 2A and 2B.
[0047] FIG. 1B illustrates a schematic diagram 100B describing an example urban driving scenario for estimating the positions of multiple receivers 102 mounted on multiple vehicles 112, according to an embodiment of the present disclosure. FIG. 1B is described in relation to the elements of FIG. 1A. The schematic diagram 100B includes multiple receivers 102. The multiple receivers 102 may include, for example, receiver 102A, receiver 102B, receiver 102C, and receiver 102N. The schematic diagram 100B may further include a set of GNSS satellites 106 and a base station 104. The multiple receivers 102, the set of GNSS satellites 106, and the base station 104 may communicate via wireless communication 116.
[0048] The urban driving scenario illustrates an intersection, where the base station 104 may be included in an adaptive post-processing algorithm of a set of measurements received from multiple receivers 102 to accurately reconstruct state trajectories of multiple vehicles 112 at the intersection. In some embodiments, the base station 104 may be part of a roadside unit (RSU), which may optionally be used to control the intersection.
[0049] In some embodiments, the multiple receivers 102 may be mounted on vehicles. The multiple receivers 102 may be configured to determine the position of the corresponding vehicles. In one example, the multiple receivers 102 may be mounted on the multiple vehicles 112 at a four-way intersection, the base station 104 may be located nearby, and the positions of the multiple vehicles 112 may be estimated within an area 114 near the intersection. Due to the proximity of the multiple receivers 102 and the use of the same base station 104 and the same set of GNSS satellites 106, there is a correlation between the set of measurements, which results in correlated state estimates. However, the exact magnitude of the correlated measurement noise covariance may be unknown, and therefore estimating the noise level in the adaptive post-processing algorithm may improve estimation performance as opposed to assuming a known noise level in the post-processing algorithm.
[0050] FIG 1C shows a schematic diagram 100C illustrating an example underwater monitoring scenario for estimating the positions of multiple receivers 102 mounted on multiple buoys 118, according to an embodiment of the present disclosure. FIG 1C will be described with reference to elements of FIG 1A and FIG 1B. The schematic diagram 100C includes a set of GNSS satellites 106, a base station 104, and multiple receivers 102 mounted on multiple buoys 118. The multiple receivers 102, the set of GNSS satellites 106, and the base station 104 can communicate via wireless communication 116.
[0051] The above-water monitoring scenario relates to environmental monitoring, such as the location of above-water surface buoys, for example, the plurality of buoys 118 may be estimated. In some embodiments, the plurality of receivers 102 may be mounted on above-water buoys, such as the plurality of buoys 118. The plurality of receivers 102 may be configured to determine sporadic changes during at least one of a seismic event or an irrigation event using parameter adaptation of a probabilistic estimation model. The probabilistic estimation model is defined in conjunction with the details of FIG. 1E, FIG. 3D, FIG. 3G, and Equations 1-4 and 22-24. In some embodiments, the probabilistic estimation model may be formed for the plurality of receivers 102 such that the estimation problem is formed to jointly estimate the state trajectories of the plurality of receivers 102. Each of the plurality of buoys 118 may include an antenna, such as a receiver of the plurality of receivers 102. The plurality of receivers 102 may reside above the water level 120. In some embodiments, the plurality of buoys 118 may be attached to the seabed 122 using mooring chains 124. In this example, the base station 104 can communicate with a set of GNSS satellites 106 using wireless communications 116 .
[0052] In some embodiments, the buoys 118 may be deployed in bodies of water, such as reservoirs and lakes. In such cases, the buoys 118 may monitor changes in the water level 120 over long time scales, with sudden changes due to events, such as rain or irrigation events, suggesting that the dynamics of some of the buoys 118 may vary over time. In one or more embodiments, the buoys 118 may be deployed in other types of bodies of water, such as oceans. In such cases, the buoys 118 may monitor changes in the water level 120 due to events, such as seismic events, where the water level 120 is constant with similarly small sporadic and abrupt changes. In both cases, the predictive models and resulting estimation problems may differ significantly in periods of relative lull and periods with sporadic events. As such, it may be necessary to adapt the parameters of the probabilistic estimation model in a data-driven manner to improve positioning performance in post-processing of a set of measurements during such events.
[0053] FIG. 1D illustrates a diagram 100D of a system 126 utilizing a feedback mechanism for updating parameters of a probabilistic estimation model 126A, according to an embodiment of the present disclosure. FIG. 1D is described with reference to elements of FIG. 1A, FIG. 1B, and FIG. 1C. FIG. 100D includes a system 126. The system 126 may include a processor 128, a memory 120, and a communication interface 132. FIG. 100D illustrates steps for utilizing a feedback mechanism for updating parameters of the probabilistic estimation model.
[0054] The system 126 may be configured to perform one or more operations, such as updating parameters of a probabilistic estimation model. In an example embodiment, the system 126 may be embodied in one or more of several ways depending on the desired implementation. For example, the system 126 may be embodied as a cloud-based service or a cloud-based platform. In each such embodiment, the system 126 may be communicatively coupled to components, such as a plurality of receivers 102, a set of GNSS satellites 106, and a base station 104, to perform the desired operations, and may be modified in any case within the scope of the present disclosure. The system 126 may also be implemented in devices, such as a plurality of vehicles 112. Furthermore, in an embodiment, the system 126 may be a standalone device configured to update parameters of a probabilistic estimation model. Alternatively, the system 126 may be associated with a service provider, such as a navigation service provider. For example, the navigation service provider may be a map application provider.
[0055] The system 126 may include a processor 128, a memory 130, and a communication interface 132. The processor 128, the memory 130, and the communication interface 132 may be communicatively coupled to one another. In some example embodiments, the system 126 may include a processing means, such as a central processing unit (CPU), a storage means, such as a read-only memory (ROM) and a random access memory (RAM), a display-enabled user interface, such as a touch screen display, and other components that may be required for the particular functionality of the system 126. Additional, different, or fewer components may be provided. For example, the system 126 may be configured to execute and run mobile applications, such as navigation applications.
[0056] The processor 128 may be embodied in a number of ways. For example, the processor 128 may be embodied as one or more of a variety of hardware processing means, such as a co-processor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an associated DSP, or various other processing circuits including integrated circuits, such as, for example, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), a microcontroller unit (MCU), a hardware accelerator, a dedicated computer chip, and the like. Thus, in some embodiments, the processor 128 may include one or more processing cores configured to execute independently. A multi-core processor may enable multi-processing within a single physical package. Additionally or alternatively, the processor 128 may include one or more processors configured in tandem via a bus to enable independent execution of instructions, pipelining, and / or multithreading.
[0057] Additionally or alternatively, the processor 128 may include one or more processors capable of handling large workloads and operations to provide support for large data analytics. In an example embodiment, the processor 128 may communicate with the memory 130 via a bus for transmitting information between components coupled to the system 126.
[0058] The memory 130 may be non-transitory, e.g., may include one or more volatile and / or non-volatile memories. In other words, for example, the memory 130 may be an electronic storage device (e.g., a computer-readable storage medium) with gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device such as the processor 128). The memory 130 may be configured to store information, data, content, applications, instructions, etc., to enable the device to perform various functions according to example embodiments of the present disclosure. For example, the memory 130 may be configured to buffer input data for processing by the processor 128. As illustrated in FIG. 1D, the memory 130 may be configured to store instructions for execution by the processor 128. Thus, whether configured by a hardware method, a software method, or a combination thereof, the processor 128 may represent an entity (e.g., physically embodied in a circuit) capable of performing operations according to embodiments of the present disclosure while so configured. Thus, for example, when processor 128 is embodied as an ASIC, FPGA, etc., processor 128 may be specifically configured hardware to perform the operations described herein. Alternatively, as another example, when processor 128 is embodied as an executor of software instructions, the instructions may, among other things, configure processor 128 to perform the algorithms and / or operations described herein when executed. However, in some cases, processor 128 may be a processor-specific device (e.g., a mobile terminal or a fixed computing device) that is configured to employ embodiments of the present disclosure by further configuration of processor 128 with instructions to perform the algorithms and / or operations described herein. Processor 128 may include, among other things, a clock, an arithmetic logic unit (ALU), and logic gates configured to support the operation of processor 128.
[0059] The communication interface 132 may include input and output interfaces for supporting communication between the system 126 or any other components with which the system 126 may communicate. The communication interface 132 may be any means, such as a device or circuit embodied in hardware or a combination of hardware and software, configured to receive and / or transmit data to and from a communication device in communication with the system 132. In this regard, the communication interface 132 may include an antenna (or multiple antennas) and supporting hardware and / or software, for example, to enable communication with a wireless communication network. Additionally or alternatively, the communication interface 132 may include circuitry that interfaces with an antenna to cause transmission of signals via the antenna or to process reception of signals received via the antenna. In some environments, the communication interface 132 may instead or additionally support wired communication. Thus, for example, the communication interface 132 may include a communication modem and / or other hardware and / or software to support communication via cable, digital subscriber line (DSL), universal serial bus (USB), or other mechanism.
[0060] At step 134, a set of measurements may be received. The processor 128 may be configured to receive the set of measurements. The set of measurements is associated with a probabilistic estimation model. In an embodiment, the probabilistic estimation model 126A may be formed for multiple receivers 102 such that an estimation problem is formed to jointly estimate state trajectories of the multiple receivers 102. The processor 128 may receive a set of measurements indicative of a receiver's movement, such as receiver 102A, among the multiple receivers 102. In an exemplary scenario, a vehicle having an on-board receiver 102A may be traveling. The set of measurements may be collected from receiver 102A over a period of time. The set of measurements received from receiver 102A may be indicative of the movement of receiver 102A. The set of measurements may be associated with satellite signals including a combination of carrier phase and one or more code signals, such as pseudorange measurements, carrier phase measurements, and Doppler measurements, along with other signals indicative of the quality of wireless communication 116 between receiver 102A, base station 104, and a set of GNSS satellites 106. The set of measurements may be sensed by receiver 102A at different times within that period.
[0061] In step 136, the set of measurements may be processed. The processor 128 may be configured to process the set of measurements associated with the receiver 102A. The processor 128 may utilize a stochastic smoother to estimate a state trajectory of the receiver 102A over the time period. After estimating the state trajectory, the processor 128 may perform a feedback refinement process on at least some parameters of the probabilistic estimation model. In some embodiments, the probabilistic estimation model 126A may be implemented using an entity that utilizes embedded systems, parallel processing, or computational hardware.
[0062] In step 136A, to process a set of measurements, the stochastic smoother iteratively implements a smoothing process on at least some parameters of the probabilistic estimation model 126A utilizing a smoothing algorithm until a termination condition is met. The smoothing process may update a state trajectory 136B indicative of the set of measurements based on at least some parameters of the probabilistic estimation model. The smoothing or estimation algorithm may be configured to calculate a posteriori estimates such as a posteriori state trajectory 136B. Details of an exemplary smoothing algorithm and the update of at least some parameters are further provided, for example, in Figures 1E, 1F, 1G, 3A, and 4A. In addition, details of embodiments related to GNSS post-processing applications are detailed in connection with Figures 3B, 3C, 3D, 3E, 3F, 3G, 4A, and 5A.
[0063] In step 136C, to process the set of measurements, the processor 128 may be configured to perform a feedback refinement process on at least some parameters 136D of the probabilistic estimation model 126A until a termination condition is met. In some embodiments, the feedback refinement process may only update at least some parameters 136D of the probabilistic estimation model. The feedback refinement process may update at least some parameters 136D of the probabilistic estimation model 126A to improve a metric indicative of the measurement likelihood. For example, the posterior state trajectory 136B may be used as an input in a feedback refinement process that may attempt to update and improve at least some parameters 136D used in a smoothing algorithm during the calculation of the posterior state trajectory 136B.
[0064] In some embodiments, the feedback refinement process may update at least some parameters 136D of the probabilistic estimation model 126A that are indicative of a kinematic state of a receiver, such as receiver 102A. Because receiver 102A can be located in a vehicle that may be moving, at least some parameters 136D can be indicative of a kinematic state (e.g., a moving state) of 102A (or the vehicle).
[0065] In some embodiments, the feedback refinement process may update at least some parameters 136D of the probabilistic estimation model 126A related to a stochastic process driving the random walk of one or more kinematic states of the receiver 102A. For example, parameters related to the inverse variance of a Wiener process driving the random walk of the kinematic states of the receiver 102A may be updated. The Wiener process may be utilized to determine errors in the kinematic measurements to update at least some parameters 136D.
[0066] In some embodiments, the feedback refinement process may iteratively update at least some parameters 136D of the probabilistic estimation model 126A associated with the stochastic process until a termination condition is met. Furthermore, the feedback refinement process may estimate integer ambiguity biases of the probabilistic estimation model 126A to generate the rendered state trajectory. In some implementations, the parameters of the kinematic state may be iteratively updated before the termination condition is reached, and then, once the termination condition is reached, the integer ambiguity biases may be updated based on the refinement or updated at least some parameters 136D of the probabilistic estimation model. In addition, the kinematic state of the receiver 102A may be updated based on the updated integer ambiguity biases. In some embodiments, one or more biases of the probabilistic estimation model 126A of each of the multiple receivers 102 are described as being identical due to the geographical proximity between the multiple receivers 102.
[0067] In some embodiments, the feedback refinement process updates at least some parameters 136D of the probabilistic estimation model 126A based on an expectation-maximization (EM) method to ensure monotonic improvement of the updated parameters relative to the measurement likelihood at each EM iteration, with intermediate smoothed solutions being discarded. Details of the EM method are provided further in, for example, FIG. 1G.
[0068] The updated at least some parameters 136D may then be fed back to the smoothing algorithm, which may calculate further posterior values, and the process may be repeated until a desired set of model parameters is obtained. Once a desired set of model parameters is obtained, a termination condition is said to be met. Details of the feedback refinement process are further provided, for example, in Figures 4A, 4B, 4C, and 4D. Additional embodiments of applications and implementations of updating at least some parameters are provided in Figures 1A, 1B, 1C, 6, 7A, and 7B.
[0069] In step 138, the estimated state trajectory 136B and at least some of the updated parameters 136D may be rendered. The processor 128 may be configured to render the estimated state trajectory 136B and at least some of the updated parameters 136D through a wired or wireless communication channel. In some embodiments, the estimated state trajectory 136B and at least some of the updated parameters 136D may be rendered on a device hosting a navigation application. The rendered estimated state trajectory 136B and at least some of the updated parameters 136D may be viewed by a user associated with the device hosting the navigation application. The device may be communicatively coupled to the processor 128 through a communication network.
[0070] The communication network may be a wired communication network, a wireless communication network, or any combination of wired and wireless communication networks, such as cellular, Wi-Fi, the Internet, a local area network, etc. In one embodiment, the communication network may include one or more networks, such as a data network, a wireless network, a telephone network, or any combination thereof. It is contemplated that the data network may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), a public data network (e.g., the Internet), a short-range wireless network, or any other suitable packet-switched network, such as a commercially owned proprietary packet-switched network, e.g., a proprietary cable or fiber optic network, etc., or any combination thereof.In addition, the wireless network may be, for example, a cellular network and may use a variety of technologies including enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), and other suitable wireless media, the latter being, for example, worldwide interoperability for microwave access (WiMAX), Long Term Evolution (LTE) networks (e.g., for LTE-Advanced Pro), 5G emerging wireless networks, ITU-IMT2020 networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (Wi-Fi), wireless LAN (WLAN), and the like. LAN, Bluetooth, Internet Protocol (IP) datacasting, satellite, mobile ad-hoc network (MANET), etc., or any combination thereof.
[0071]
number
[0072] where "x" is the state, "k" is the time, "N" is the Gaussian density, "y" is the measurement, and "Q k " and "Rk " is the covariance.
[0073] The Kalman filter is an optimal estimator when the dynamics are linear and the noise is Gaussian, in which case the posterior estimate of the state trajectory is Gaussian. The Kalman filter may be utilized to estimate the mean and variance of a Gaussian distribution, which are two quantities necessary and sufficient statistics to describe a Gaussian distribution.
[0074] Schematic diagram 100E illustrates the steps performed by the Kalman filter. In step 140, the Kalman filter receives information of an initial state distribution of a receiver, such as receiver 102A. The Kalman filter utilizes the initial state information to determine the state mean and state variance. In step 142, the Kalman filter obtains an updated state mean and variance by predicting the state and variance at the next time step using a model of the GNSS system. In step 144, the Kalman filter receives a set of measurements from receiver 102A. The Kalman filter obtains an updated state mean and variance 141d by comparing the set of measurements with the updated state mean and variance of the acquired state using a measurement model (or probabilistic estimation model) of the GNSS system. In step 146, the Kalman filter outputs an estimated state mean and variance based on the comparison. The process may be repeated for each time step.
[0075]
number
[0076] Generally, GNSS can simultaneously utilize multiple constellations in a set of GNSS satellites 106 to determine the state of multiple receivers 102. For example, GPS, Galileo, Glonass, and QZSS can be used simultaneously. GNSS can typically transmit information in up to three different frequency bands, with each satellite in the set of GNSS satellites 106 transmitting a code measurement and a carrier phase measurement for each frequency band. Such measurements can be combined as either single or double differencing. Single differencing can include taking a difference between a reference satellite and another satellite, and double differencing can also include a difference between the receiver of interest and a base receiver or base station whose stationary position is known.
[0077] In some embodiments, the processor 128 may utilize single difference (SD) and / or double difference (DD) of measured signals, such as code and carrier phase measurements, to estimate the state of the receiver 102A. In one embodiment, the state may include the position of the receiver 102A. When a signal transmitted from one satellite of a set of GNSS satellites 106 can be received by two receivers, such as receiver 102A and receiver 102B, the difference between a first measured signal obtained from receiver 102A and a measured signal obtained from receiver 102B is called a single difference (SD). Alternatively, SD may be defined as the difference between measured signals from two satellites reaching the receiver 102A, where one of the two satellites may be a base satellite. For example, the difference between a measured signal from satellite 106A and a measured signal from satellite 106B is one SD signal, where satellite 106A is a base satellite. The difference between the SDs in the measured signal obtained from the radio signals from two satellites using a pair of receivers such as receiver 102A and receiver 102B is called double difference (DD). If the carrier phase difference is converted to a number of wavelengths (λ), for example λ1≈0.1905 meters for L1 GPS (and / or GNSS) signals, it can be separated by a fractional part and an integer part. If the GNSS positioning device cannot directly measure the integer part, the fractional part may be measured by the GNSS positioning device. The integer part is therefore called the integer bias or integer ambiguity.
[0078] It will be appreciated that in other embodiments, combining measurements on different frequency bands can be done to eliminate certain biases from the estimation problem. One such example may be ionosphere-free (IF) multi-band (MB) combining, where non-differential, single-differential, or double-differential measurements may be taken into a linear combination across at least two different frequency bands of carrier frequencies, with each fraction proportional to the ratio of the squares of the carrier frequencies. It will be appreciated that this, if done properly, can eliminate ionospheric delays from the estimation problem of the state of the multiple receivers 102.
[0079] FIGURE 1F shows a schematic diagram 100F describing the information flow in the Kalman filter and Kalman smoother, according to an embodiment of the present disclosure. FIGURE 1F will be described with reference to elements of FIGURES 1A, 1B, 1C, 1D, and 1E. The schematic diagram 100F shows the information flow in the Kalman smoother, which is performed on a batch of data 148 that includes several measurements. The Kalman smoother utilizes the same forward pass algorithm 150 as the Kalman filter, but then complements it with a backward pass algorithm 152.
[0080] A batch of data 148 may include several measurements 148A, 148B, 148C, ... 148N, collectively referred to as measurements 148A-148N. For example, a batch of data 148 may include a set of measurements. A forward pass algorithm 150 shows a batch of data 148 being processed to form filtered post state measurements 150A, 150B, 150C, ... 150N, collectively referred to as filtered post state measurements 150A-150N. In a backward pass algorithm 152, the filtered post state measurements 150A-150N may be corrected by future measurements in the batch to generate smoothed post state measurements 152A, 152B, 152C, ... 152N, collectively referred to as smoothed post state measurements 152A-152N.
[0081]
number
[0082]
number
[0083]
number
[0084] It is understood that in the case of a linear prediction model, the smoothing correction remains the same as in the linear setting and may not require the evaluation of computationally expensive moment integrals.
[0085]
number
[0086] For example, two different models can be defined: the first model can be a relaxed estimation model, where the biases associated with the ambiguities are allowed to take real values (and are therefore relaxed); the other model can be a fixed estimation model, where certain fixed ambiguity biases are assumed and the number of states "x" in the estimation model can be reduced to include only real-valued states. It is understood that in the adaptive post-processing algorithm, a solution needs to be calculated for each of these models: the relaxed model is for finding integer ambiguities and the fixed model is for computing receiver positioning estimates that take these integer biases into account.
[0087]
number
[0088] Using such a formula, the positioning performance can be improved if there is a systematic and safe way to select the parameter θ in a data-driven manner.
[0089] There are many methods to estimate such parameters, one method is Expectation Maximization (EM), where the negative log-likelihood of the measurements given the model parameters is minimized. However, it is recognized that computing this measurement likelihood can be costly, and for high-order estimation problems related to GNSS positioning, direct minimization of the negative log-likelihood is computationally infeasible and potentially unsafe, as there has been no previous method to accurately convey the behavior of the estimates after updating the model parameters.
[0090] FIG. 1G shows a diagram 100G describing the main idea of EM, according to an embodiment of the present disclosure. FIG. 1G is described in relation to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, and FIG. 1F. FIG. 100G shows a graph of the i-th and (i+1)-th iterations of EM versus the parameter θ.
[0091] FIG. 100G illustrates the main idea of EM, which can improve both computational complexity and security in the context of linear Gaussian estimation models. EM can represent an upper bound on the negative log-likelihood 154 at a point in the parameter space 156 where the smoothed posterior value was calculated. It is understood that the calculation of the so-called Q-function 158 can be faster than the calculation of the entire smoothed posterior value and its evaluation is much faster than evaluating the negative log-likelihood at a single point in the parameter space 156 of the estimation model. It is understood that in fact it may be possible to minimize the Q-function analytically in the context of linear Gaussian models.
[0092] 1G, where the Q-function 158 admits a global minimum 160, which can be analytically grasped from the shape of the Q-function 158 and computed in one EM iteration. In the next (i+1) iteration, a new smoothed posterior value for a new point in the parameter space 156 is computed, which is then minimized to yield new parameters 162 that can be forwarded in the next EM iteration. It will be appreciated that such a procedure ensures a decay of the Q-function 158 over the EM iterations, in the sense that the Q-function 158 evaluated with the parameters in the next iteration ((i+1)) is lower than the previous Q-function evaluated with the parameters of the previous iteration (i, etc.), making the algorithm safe to use in a linear Gaussian setting.
[0093] In one or more embodiments, variations of the RTS smoother, including but not limited to explicit linearization and piecewise linear moment matching combined with parameter adaptation, may be performed using EM methods applied to both relaxed and fixed estimation models in a specific order in some embodiments. Estimation models that explicitly or implicitly model the dynamics of integer value bias constitute adaptive post-processing methods.
[0094] FIG 2A illustrates a block diagram 200A of a system 126 for tracking the status of multiple receivers 102, according to an embodiment of the present disclosure. FIG 2A will be described with reference to elements of FIG 1A, FIG 1B, FIG 1C, FIG 1D, FIG 1E, FIG 1F, and FIG 1G. The block diagram 200A may include a processor 128, a memory 130, a receiver 102A, an input interface 202, a sensor 204, a transmitter 206, and a communication interface 208.
[0095] The system 126 may be a state estimation system that may include, for example, an input interface 202 for receiving a set of measurements indicative of changes in the state of a receiver, such as the receiver 102A, and measurements of satellite signals, i.e., carrier and code signals transmitted from a set of GNSS satellites 106. Each carrier signal may include carrier phase ambiguity as an unknown integer number of wavelengths of the carrier signal traveling between a satellite, such as the satellite 106A, and the receiver 102A. The measurement for each satellite signal includes a single difference between a satellite signal transmitted by one satellite of the set of GNSS satellites 106 and another satellite signal, and thus includes the integer ambiguity of the satellite's carrier signal and the relative position of the receiver 102A of the satellite signal to the satellite's position subject to noise, with all possible measurements for each satellite signal forming a set of measurements. The system 126 may be implemented internally in some device in which the receiver 102A is located, such as a handheld device, an automobile, an airplane, or a train. Additionally or alternatively, the system 126 may be communicatively connected to the device, i.e., the receiver 102A may not be physically internal to the system. Further details of the system 126 are provided further in, for example, FIG. 1D.
[0096] The system 126 also includes a memory 130 that stores a motion model 130A that relates previous states of the receiver 102A to the current state of the receiver 102A. The motion model may be subject to process noise. The memory 130 may also store a measurement model 130B that relates measurements of the carrier and code signals received by the receiver 102A to the current state of the receiver 102A using carrier phase ambiguities of the carrier signals. The measurement model 130B relates a subset of measurements of the satellite signals to the current state of the receiver 102A, and the maximum size of the subset of measurements is predetermined and fixed. The measurement model 130B may be a probabilistic model that is subject to measurement noise. Due to the inherent random noise and errors of the satellite transmitters and the receiver 102A, the motion model 130A and the measurement model 130B are probabilistic, thus allowing several possible values of the carrier phase ambiguities at any given epoch to be consistent with those models with different probabilities.
[0097] The memory 130 may also store a set of possible combinations of integer values 130C, and a smoothing algorithm 130D, as described in other embodiments. The memory 130 may further store carrier phase measurements 130E, and data provided by the sensor 204. For example, in some implementations, the memory 130 stores a geometry 130F of a physical structure on which the receiver 102A is mounted, and a geometric relationship between a set of GNSS satellites 106 and the multiple receivers 102. Although shown in FIG. 2A as separate from the processor 128, all or a portion of the primary memory 130 may be provided within, or otherwise co-located and / or coupled to, the processor 128. Further details of the memory 130 are provided further, for example, in FIG. 1D.
[0098] The system 126 may include additional sensors 204 that may be useful in assisting the positioning system. By way of example, the sensors 204 may include an inertial measurement unit (IMU), a camera, a wheel encoder if mounted on a wheeled vehicle, one or more laser ranging sensors, a radar sensor, and a barometer. For example, when connected to a car, the IMU and wheel encoders may be used in a motion model of the vehicle to increase the accuracy of the positioning system beyond certain limits.
[0099] The IMU may include a three-axis accelerometer, a three-axis gyroscope, and / or a magnetometer. The IMU may provide speed, orientation, and / or other position related information to the processor 128. In some embodiments, the IMU may output measured information synchronized with the capture of each image frame from the camera. In some embodiments, the output of the IMU is used in part by the processor 128 to fuse the sensor measurements and / or to further process the fused measurements.
[0100] The system 126 includes a processor 128 for tracking the state of the receiver 102A using a smoothing algorithm 130D stored in the memory 130. The processor 128 may further include a post-processing algorithm 128A and a measurement selector 128B. Additionally, the processor 128 may be configured to utilize the measurement selector 128B to select a subset of measurements for a set of measurements using a masking method or other measurement selection method. The processor 128 may also be configured to utilize the post-processing algorithm 128A to execute and / or run at least one state estimator that determines the state of the receiver 102A by using the motion model 130A and the measurement model 130B together. Each state estimator determines a joint probability distribution of the state of the receiver 102A with respect to the motion model 130A and the measurement model 130B, and may be executed simultaneously and / or sequentially by the processor 128.
[0101] The system 126 may further include a transmitter 206 that may be configured to transmit one or more signals. As an example, the transmitter 206 transmits the state of the receiver 102A to other estimation methods to be used in fusion with other sensors to improve accuracy. The receiver 102A and the transmitter 206 may receive and transmit over one or more types of wireless communication networks, such as a communication network 208.
[0102] The communications network 208 may be a wired communications network, a wireless communications network, or any combination of wired and wireless communications networks, such as cellular, Wi-Fi, the Internet, a local area network, etc. In one embodiment, the communications network 208 may include one or more networks, such as a data network, a wireless network, a telephone network, or any combination thereof. It is contemplated that the data network may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), a public data network (e.g., the Internet), a short-range wireless network, or any other suitable packet-switched network, such as a commercially owned proprietary packet-switched network, e.g., a proprietary cable or fiber optic network, or any combination thereof. In addition, the wireless network may be, for example, a cellular network and may use various technologies including Enhanced Data Rates for Global Evolution (EDGE), General Packet Radio Service (GPRS), Global System for Mobile Communications (GSM), Internet Protocol Multimedia Subsystem (IMS), Universal Mobile Telecommunications System (UMTS), and other suitable wireless mediums, the latter being, for example, WiMAX, LTE networks (e.g., for LTE-Advanced Pro), 5G emerging wireless networks, ITU-IMT2020 networks, Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Wi-Fi, WLAN, Bluetooth, Internet Protocol (IP) datacasting, satellite, Mobile Ad Hoc Networks (MANET), and the like, or any combination thereof.
[0103] FIG 2B illustrates a block diagram 200B of a receiver 102A of the multiple receivers 102 according to an embodiment of the present disclosure. FIG 2B will be described with reference to elements of FIG 1A, FIG 1B, FIG 1C, FIG 1D, FIG 1E, FIG 1F, FIG 1G, and FIG 2A. The receiver 102A may include an antenna 210, an amplifier 212, an acquisition module 214, a code tracking module 216, a carrier tracking module 218, a data processing module 220, and a multipath detection module 222.
[0104] In some embodiments, the multipath detection module 222 may be configured to perform measurements to detect the presence of multipath. The measurements may be calculated within the receiver 102A as part of the process of estimating the position. The received signal from the antenna 210 is composed of the sum of the signals transmitted by each satellite in the set of GNSS satellites 106. The amplifier 212 may be configured to strengthen the signal for further processing. The acquisition module 214 may be configured to initialize the tracking process by providing an estimate of the phase and frequency of each received satellite signal. The tracking unit, including the code tracking module 216 and the carrier tracking module 218, may be configured to estimate and provide measurements of the phase and frequency of each satellite signal over time. For example, the code tracking module 216 may estimate the phase and frequency of the code observable. The carrier tracking module 218 may estimate the phase and frequency of the carrier of the satellite signal. The data processing module 220 may be configured to process data from the code tracking module 216. The multipath detection module 222 may be configured to process data from the carrier tracking module 218.
[0105] In one embodiment, the receiver 102A may have several antennas 210, although a combination of several antennas and an equal number of receivers is possible. One embodiment uses multiple antennas with an equal number of receivers. The antennas are spatially separated so that the receivers can detect differences between observed carrier frequencies for the same satellite signal.
[0106] FIG. 3A illustrates a diagram 300A that describes a general description of a method for processing satellite signals and a comparison with other types of post-processing methods, according to an embodiment of the present disclosure. FIG. 3A will be described with reference to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, FIG. 1F, FIG. 1G, FIG. 2A, and FIG. 2B.
[0107] Block diagram 302 of diagram 300A shows steps by which prior art post-processing for GNSS is implemented. A batch 304 of measurement data consisting of individual measurements 306 may be processed by one or more smoothers, such as smoother 308A and smoother 308B with fixed parameters. For example, the batch 304 of measurement data may include a set of measurements. Here, parameters related to the prediction model and the measurement model may differ slightly between the smoothers. In step 310, the best performing smoother or the desired smoother may be selected from smoother 308A and smoother 308B based on some measure indicative of the estimation performance. Such a measure may be selected as the mean squared error of the estimates indicated by the covariance matrix in the smoothed posterior value 312, or the certainty with which integer ambiguities can be fixed, or other signals indicative of the estimation accuracy. However, ground truth may not be available and it is necessary to select the best solution (or the best performing smoother) based on a signal that may indicate the estimation performance but is not necessarily correct.
[0108] Block diagram 314 of FIG. 300A illustrates a method according to an embodiment of the present disclosure, which differs from conventional approaches in the way in which model parameters are selected and an optimal model (or optimal performing smoother) may be selected. A batch 316 of measurement data consisting of individual measurements 318 may be processed by the smoother. For example, the batch 316 of measurement data may include a set of measurements. The smoother may operate based on an estimated model parameterized at a set of initial parameters θ 320, which may be initial estimates of the parameters provided as input to the smoothing algorithm. The smoothing algorithm then calculates a smoothed posterior value, which may be used to construct a majorizing Q-function of the negative log-likelihood of the measurements given the model parameters. In step 322, such Q-function is then minimized, resulting in a new set of parameters that can be returned to the smoother. Furthermore, a new smoothed solution may be calculated in the smoother 324 and repeated until a solution is requested by the user, at which point the most recently calculated solution may be provided to the user. An output 326 containing the most recently calculated solution may be provided to the user.
[0109] Based on the theory of EM for linear Gaussian systems, it is understood that the solution reported to the user (such as output 326) may be the one with the lowest negative log-likelihood of any solution computed up to that point. This can be accounted for without computing the ground truth, making the feedback mechanism of parameter adaptation safe in the manner outlined in Fig. 3A. Therefore, it is understood that only the most recently computed smoothed posterior values that need to be stored in the solution computed at the intermediate steps can be immediately discarded.
[0110] It is appreciated that with proper selection of parameters in the estimation model, EM typically converges in a small number of iterations. In contrast to this adaptive post-processing, where parameter selection is performed without a feedback mechanism, such as in EM, a very large number of parameter combinations must be tested and a smoothed solution must be calculated for each combination of parameters. It is therefore appreciated that EM not only provides a safe feedback mechanism in the context of GNSS post-processing, but can also be much more efficient from a computational point of view.
[0111] It is also recognized that to make the adaptation safe, it is important to adapt the parameters of the relaxed estimation model and that the parameter dependencies in the estimation model do not change functionally across EM iterations. Therefore, the adaptive post-processing algorithm consists of three main steps. In the case of the adaptive RTS smoother for the relaxed estimation model, cycle slip detection is used to fix the parameter dependencies in the estimation model in the first iteration. This is followed by a sequence of EM iterations to refine the free parameters θ0 of the estimation model. Third, once a suitable set of parameters is found or the user requests an output, the integer bias is fixed based on the most recently calculated smoothed or filtered posterior value. Fixing the integer ambiguities results in a fixed estimation model. A smoothing pass is then performed based on the fixed integer estimation model and the output is reported to the user.
[0112] FIG. 3B shows a diagram 300B outlining an adaptive post-processing method including smoothing algorithm numerical optimization and integer fixation according to an embodiment of the present disclosure. FIG. 3B is described in relation to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, FIG. 1F, FIG. 1G, FIG. 2A, FIG. 2B, and FIG. 3A. FIG. 300B shows steps for performing the adaptive post-processing method. FIG. 300B shows how the information flow in the adaptive post-processing algorithm is implemented.
[0113] In step 328, a relaxed estimate is synthesized. In some embodiments, the processor 128 may be configured to perform the synthesis of the relaxed estimate. For example, a relaxed estimate may be synthesized in which an integer bias can be configured for real numbers based on available measurements and specifications from a user. In an embodiment, the probabilistic estimation model 328A may be parameterized in the initial model parameters 328B. In an embodiment, the probabilistic estimation model 328A is identical to the probabilistic estimation model 126A of FIG. 1D. In an example, the probabilistic estimation model 328A may be identical to the measurement model 130B of FIG. 2A.
[0114] In step 330, adaptive RTS smoothing may be performed. In some embodiments, the processor 128 may be configured to perform adaptive RTS smoothing. The estimation model 328A parameterized in the initial model parameters 328B may be used for adaptive RTS smoothing. In some embodiments, the adaptive RTS smoother determines cycle slips (e.g., sporadic jumps in integer ambiguities) in the first iteration of the EM algorithm and fixes the bases (or parameter dependencies) in the probabilistic estimation model 328A based on the detection of the cycle slip. An example of such an adaptation method is described below in connection with the dynamics of integer ambiguities.
[0115] In step 332, a Q-function 332A may be constructed. In some embodiments, the processor 128 may be configured to construct the Q-function 332A. In an embodiment, the processor 128 may construct an objective Q-function 332A for parameter optimization of at least some parameters using a smoothing process of a relaxed estimation problem. The relaxed estimation problem may be a biconvex function that performs a majorization of the negative measurement log-likelihoods. Once the smoothed posterior values are calculated based on the relaxed estimation model, the Q-function 332A may be configured to perform a majorization of the negative log-likelihoods of the measurements taking into account the model parameters. In some embodiments, the Q-function 332A may be formed such that the arguments of the Q-function 332A are all or a portion of at least one of the parameters associated with the maps and functions, such as linear maps, of the probabilistic estimation model. In some embodiments, the Q function 332A may be formed such that the arguments of the Q function 332A are a set of parameters that parameterize at least one of the following: functions and matrices that define the measurement model of the probabilistic estimation model 328A, the inverse covariance matrix, functions and matrices that define the prediction model of the probabilistic estimation model 328A, and the structure of the probabilistic estimation model. For example, the probabilistic estimation model 328A may include two models, such as a measurement model and a prediction model. If the measurement model and the prediction model are nonlinear, the probabilistic estimation model 328A may be considered a nonlinear model. If the measurement model and the prediction model are linear, the probabilistic estimation model 328A may be considered a linear model.
[0116] In step 334, the Q-function 332A may be minimized. In some embodiments, the processor 128 may be configured to minimize the Q-function 332A. The Q-function 332A may then be minimized to yield a new set of parameters. The minimization may be performed in several ways. For example, for linear Gaussian models, analytical expressions exist even if these models are sparse, and the optimization may be performed with a regularizer to further promote sparsity and avoid misidentification of parameter dependencies in the probabilistic estimation model 328A.
[0117] In step 336, the processor 128 may be configured to check whether an output request has been received from the user. For example, in the execution of the algorithm, the user may choose to interrupt the execution and obtain a solution. However, if an output request has not been received from the user (or the execution has not been interrupted by the user) and the parameters are far enough away from the local optimum that minimizes the negative measurement log-likelihood, the probabilistic estimation model 328A may be reparameterized using the updated parameters and a new RTS smoothing pass may be initiated. In some embodiments, for subsequent iterations of the updated parameters, the parameter dependencies determined in the first iteration may be used to make the execution of the algorithm and the feedback mechanism safe. In other embodiments, the parameter dependencies in the estimation model may be tested and modified for each successive iteration.
[0118] In step 338, if an output request is received from the user, the most likely integer ambiguity may be determined. In some embodiments, the processor 128 may be configured to determine the most likely integer ambiguity. For example, when the EM iteration is terminated due to a convergence criterion, the best smoothed posterior value calculated up to that point may be used to determine the most likely integer ambiguity, commonly referred to as fixing the ambiguity. It is understood that while ambiguity fixing may often be performed on the filtered posterior value, fixing accuracy may be improved if fixing can be performed on the smoothed posterior value instead. Thus, one embodiment fixes the integer ambiguity based on the smoothed posterior value associated with the most likely model parameter considering the measurement data.
[0119] In step 340, a non-adaptive RTS may be performed on the probabilistic estimation model 328A. In some embodiments, the processor 128 may be configured to perform the non-adaptive RTS on the probabilistic estimation model 328A. Once the integer ambiguities are fixed, a fixed integer estimation model, such as the probabilistic estimation model 328A, may be synthesized, effectively removing such bias from the state vector. A final smoothing forward and backward pass algorithm may be performed based on such ambiguities, resulting in a fixed smoothed posterior for the real-valued states of the mixed integer estimation model. The output 340A, i.e., the solution with the trajectory of the integer ambiguity hypotheses, may be provided or reported to a user.
[0120] Further, the measurement modeling and synthesis followed by the cycle slip detection algorithm used in the adaptive smoothing is described in detail in FIG. 3C. In addition, the smoothing performed with respect to the relaxed stochastic estimation model 328A, the construction and minimization of the Q-function 332A, and the smoothing performed based on the fixed stochastic estimation model 328A are further described in FIG.
[0121]
[0033] Figure 3C shows a diagram 300C describing the synthesis of a probabilistic estimation model 328A, according to an embodiment of the present disclosure. Figure 3C is described in relation to elements of Figures 1A, 1B, 1C, 1D, 1E, 1F, 1G, 2A, 2B, 3A, and 3B. Figure 300C shows steps for the synthesis of a probabilistic estimation model 328A.
[0122] At step 342, a set of measurements may be received. In some embodiments, the processor 128 may be configured to receive a set of measurements from multiple receivers 102. The combination may begin by obtaining a set of measurements from one or more of the multiple receivers 102. In one embodiment, the set of measurements may include signals indicative of pseudorange measurements, carrier phase measurements, and / or Doppler measurements from multiple GNSS constellations in multiple frequency bands, as described in FIG. 1A. The set of measurements may further include other sensing information, as described in FIG. 2A.
[0123] At step 344, the satellite signals may be flagged as healthy or unhealthy based on the measurement data 342A or the set of measurements. In some embodiments, the processor 128 may be configured to flag the satellite signals as healthy or unhealthy. The flags may depend on factors such as carrier-to-noise density ratio, elevation angle, sky geometry, or more sophisticated estimation algorithms associated with the set of GNSS satellites 106.
[0124] In step 346, a state space and a measurement space may be defined. In some embodiments, the processor 128 may be configured to define the state space and the measurement space based on satellite availability. In some embodiments, the union of healthy and visible satellites over all time steps or epochs in a set of measurements may be used to determine the size of the state space and the measurement space depending on the selected differencing scheme. For example, the measurement scheme may include a combination of non-differential, SD, DD, and ionosphere-free of GNSS observables over one or more frequency bands as described in FIG. 1A.
[0125] In step 348, a probabilistic estimation model 328A may be created. In some embodiments, the processor 128 may be configured to create the probabilistic estimation model 328A. It is understood that the selection of the measurement scheme may affect both the definition of the state space and the definition of the measurement space. It is further understood that the number of states in the probabilistic estimation model 328A may change over time as the satellite changes from a healthy state to an unhealthy state and vice versa. In such cases, the probabilistic estimation model 328A may adapt to process noise to conditions that may not be observable with local information and adjust the probabilistic estimation model 328A accordingly.
[0126] In step 350, the probabilistic estimation model 328A may be parameterized. In some embodiments, the processor 128 may be configured to parameterize the probabilistic estimation model 328A. Once the functional relationships in the probabilistic estimation model 328A are determined in step 348, the probabilistic estimation model 328A may be parameterized based on a set of model parameters 350A that are free to vary.
[0127] In step 352, a variable-based probabilistic estimation model 328A may be determined. In some embodiments, the processor 128 may be configured to determine the variable-based probabilistic estimation model 328A. The probabilistic estimation model 328A may have fixed parameter dependencies, but may be specified in a variable-based form. As an example, the variance of the process noise associated with the integer ambiguity bias may not be known, but may take one of two values specified by a set of model parameters 350A. The probabilistic estimation model 328A before cycle slip detection is called a variable-based model. The objective of the adaptive post-processing algorithm is to find optimal parameters and also fix the base and parameter dependencies in the probabilistic estimation model 328A.
[0128] FIG. 3D illustrates a graph 300D of key components of a mixed integer probabilistic estimation model according to an embodiment of the present disclosure. FIG. 3D is described in relation to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, FIG. 1F, FIG. 1G, FIG. 2A, FIG. 2B, FIG. 3A, FIG. 3B, and FIG. 3C. The graph diagram 300D illustrates a variable-based mixed integer estimation model in the context of double difference (DD) measurements subject to ionosphere-free (IF) combinations for multiple frequency bands using only the GPS constellation of the GNSS system. The graph diagram 300D may include multiple graphs for different conditions, measurement spaces, average noise parameters, etc.
[0129] The first graph 354 may show multiple states. For example, the first graph 354 shows about 100 states. The set of real-valued states 354A may include DD-IF biases associated with the receiver's kinematic state (e.g., position and velocity) and ionospheric and tropospheric delays. The set of integer-valued states 354B may model integer ambiguity biases.
[0130] A second graph 356 may show a measurement space, where all measurements may be composed of real numbers. For example, all of the states may be combined with "x" and all of the measurements may be combined with "y", and both the states and measurements may be governed by a dynamical system such as described in Equations 22 and 23.
[0131] Additionally, the third graph 358 may correspond to a full process noise covariance matrix. The full process noise covariance matrix may be the probabilistic estimation model 328A parameterized in the model parameter "θ". Furthermore, the full process noise covariance matrix may have a particular structure resulting from the assumed difference relationship between states in the probabilistic estimation model 328A. As an example, the velocity may be the time derivative of the position, and the change in position is not related to the time delay that occurs when the signal passes through the troposphere. In the third graph 358, the + signs correspond to the integer random walk associated with integer ambiguities. For such states that evolve over integers, traditional process noise may not be able to drive their behavior; rather, an example of such an embodiment assumes a discrete random walk as described in Equation 24. The last component of Equation 24 may drive the integer random walk.
[0132] A fourth graph 360 shows a map B relating process noise q to real-valued states 360A. R and a map B that associates integer jump noise s with integer states 360B Z 1B and 1C, it will be appreciated that accurately finding the process noise covariance across the real-valued states 362A described in the fifth graph 362, and in particular the process noise associated with the motion model 362B described in the fifth graph 362, is important to estimation performance.
[0133] Thus, an embodiment of an adaptive post-processing algorithm can identify the process noise level associated with the motion model of the receiver 102A relative to other modeled noise levels by defining the model parameter θ. In such an example, the measurement noise covariance matrix described in the sixth graph 364 can have a particular structure that can vary depending on whether the measurements are undifferential, SD, DD, and / or IF. It is understood that the noise covariance matrix and model described in FIG. 3D is just one example of many different models that can be considered in adaptive post-processing.
[0134] FIG. 3E shows a diagram 300E describing the detection of cycle slips and the adaptation of process noise of the probabilistic estimation model 328A according to an embodiment of the present disclosure. FIG. 3E is described in relation to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, FIG. 1F, FIG. 1G, FIG. 2A, FIG. 2B, FIG. 3A, FIG. 3B, FIG. 3C, and FIG. 3D. FIG. 300E shows steps for the detection of cycle slips and the adaptation of process noise of the probabilistic estimation model 328A. A cycle slip detection algorithm may be utilized to determine parameter dependencies in the probabilistic estimation model 328A.
[0135] In step 366, the cycle slip detection algorithm may receive a set of measurements. In some embodiments, the processor 128 may be configured to receive the set of measurements from receiver 102A of the multiple receivers 102. In addition to the GNSS measurement signals, the set of measurements may further include additional sensing information, such as data from an inertial measurement unit (IMU).
[0136] In step 368, the measurement data 342A of the set of measurements may be used to calculate a measurement prediction error 368A. In some embodiments, the processor 128 may be configured to utilize the measurement data 342A in combination with a posterior estimate 368B, such as a filtered or smoothed posterior estimate. The measurement data 342A in combination with the posterior estimate 368B may be calculated simultaneously with or prior to cycle slip detection to determine the presence of a significant measurement prediction error 368A that may be due to any or multiple ambiguity magnitudes. Such a set of measurement prediction errors 368A may be calculated for each time step.
[0137] In step 370, measurement prediction errors 368A that may exceed a predetermined threshold may be determined. In some embodiments, the processor 128 may be configured to use a thresholding technique based on a predetermined threshold. The predetermined threshold may be used to determine whether a cycle slip has occurred from one time step to the next. If a cycle slip has occurred from one time step to the next, an indicator variable 370A for a given ambiguity at a given time may be set high.
[0138] In step 372, the ambiguities may be associated with noise levels. In some embodiments, the processor 128 may be configured to associate noise levels with the ambiguities. For example, the magnitude of each ambiguity having two different noise levels of exact magnitude is considered as part of the variable model parameters. Therefore, the indicator variables 370A may be used to fix the process noise base of the probabilistic estimation model 328A. Furthermore, the indicator variables 370A may be used to determine parameter dependence without determining what the exact parameters are that describe the high and low noise levels. In other embodiments, the indicator variables 370A may include more than binary states and may describe the probability that a cycle slip has occurred. In step 374, a variable noise covariance basis may be determined based on the correspondence between the ambiguities and the noise levels.
[0139] In Figure 3F, indicator variables are further shown in relation to the time evolution of the integer bias.
[0140] FIG 3F shows a diagram 300F illustrating the probability density functions used to model cycle slip events and the integer random walk process used to model the time evolution of the integer ambiguity bias, according to an embodiment of the present disclosure. FIG 3E will be described with reference to elements of FIG 1A, FIG 1B, FIG 1C, FIG 1D, FIG 1E, FIG 1F, FIG 1G, FIG 2A, FIG 2B, FIG 3A, FIG 3B, FIG 3C, and FIG 3D.
[0141] FIG. 300F shows a probability density function of integer jump noise "s" in a first graph 376 that may drive an integer random walk used to model the time evolution of the integer ambiguities shown in a second graph 378. As shown in the first graph 376, the probability density function 376B governing the integer noise process may be used to define a dynamic system, modeling cycle slip behavior, whereby the integer bias sporadically jumps to different integers before staying at a constant integer for a long time. For such an integer random walk process, it is natural to approximate the discrete probability density function 376B with two continuous Gaussian distributions, such as Gaussian distribution 376A and Gaussian distribution 376C, when relaxing the probabilistic estimation model 328A to allow the integer ambiguity estimates to exist in real numbers. In one embodiment, the use of two distinct noise levels may be used to expand or reduce the process noise of a given ambiguity magnitude in the relaxed estimate when a cycle slip is likely to have occurred. While the high or low state may be parameter dependent, which can be fixed by a cycle slip algorithm, the exact variances of the two described Gaussian probability density functions, such as Gaussian distribution 376A and Gaussian distribution 376C, may be considered as part of the model parameters, which can be estimated and fitted by adaptive post-processing methods.
[0142] The time evolution of the integer ambiguities, shown in the second graph 378, may be modeled as a stochastic process, where the noise driving the integer ambiguity bias trajectory 378A is dominated by the discrete jump noise process described in the first graph 376. In this example, there may be several, for example ten, different ambiguities whose individual biases sporadically exhibit cycle slip behavior where they jump from one integer to another. However, this number ten is not to be considered as limiting the scope of the present disclosure, and an equivalent number may be used as appropriate without departing from the scope of the present disclosure.
[0143] FIG. 3G illustrates a graph diagram 300G of key components of a mixed integer estimation model for multiple receivers 102, according to an embodiment of the present disclosure. FIG. 3G is described in relation to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, FIG. 1F, FIG. 1G, FIG. 2A, FIG. 2B, FIG. 3A, FIG. 3B, FIG. 3C, FIG. 3D, FIG. 3E, and FIG. 3F. The graph diagram 300G illustrates a multi-receiver mixed integer estimation model in the context of double difference (DD) measurements subject to ionosphere free (IF) combinations for multiple frequency bands using only the GPS constellation of the GNSS system. The graph diagram 300E may include multiple graphs for different conditions, measurement spaces, average noise parameters, etc.
[0144] The first graph 380 may show multiple states. For example, the first graph 354 shows approximately 180 states.
[0145] Similar to Figure 3D, the second graph 382 may show a measurement space, where all measurements may be composed of real numbers. For example, all of the states may be combined with "x" and all of the measurements may be combined with "y", and both the states and measurements may be subject to the dynamic system shown in Figure 3D.
[0146] Additionally, the third graph 384 may correspond to a full process noise covariance matrix. The full process noise covariance matrix may be the probabilistic estimation model 328A parameterized in the model parameter "θ". Furthermore, the full process noise covariance matrix may have a particular structure resulting from the assumed difference relationships between states in the probabilistic estimation model 328A. As an example, the velocity may be the time derivative of the position, and the change in position is not related to the time delay that occurs when the signal passes through the troposphere. In the third graph 384, the + signs correspond to integer random walks associated with integer ambiguities.
[0147] A fourth graph 386 shows a map B relating the process noise q to real-valued states 386A. Rand a map B that associates integer jump noise s with integer state 386B Z In some embodiments, Map B R relates the process noise q to the real-valued states 386A, and the map B Z relates integer jump noise s to integer states 386B, and may be sparse. In this and many other examples, such as the examples described in Figures 1B and 1C, it will be appreciated that accurately finding the process noise covariance across real-valued states 388A described in fifth graph 388, and in particular the process noise associated with motion model 388B described in fifth graph 388, is important to estimation performance.
[0148] Thus, an embodiment of an adaptive post-processing algorithm can identify the process noise level associated with the motion model of the receiver 102A relative to other modeled noise levels by defining the model parameter θ. In such an example, the measurement noise covariance matrix described in the sixth graph 390 can have a particular structure that can vary depending on whether the measurements are undifferential, SD, DD, and / or IF. It is understood that the noise covariance matrix and model described in FIG. 3D is just one example of many different models that can be considered in adaptive post-processing in a multi-receiver setup.
[0149] Further details regarding the smoothing algorithm and its implementation are further explained in FIG. 4A.
[0150] FIG. 4A shows a diagram 400A describing a smoothing process of a relaxed probabilistic estimation model based on the configuration of integer bias on real numbers, according to an embodiment of the present disclosure. FIG. 4A is described in relation to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, FIG. 1F, FIG. 1G, FIG. 2A, FIG. 2B, FIG. 3A, FIG. 3B, FIG. 3C, FIG. 3D, FIG. 3E, FIG. 3F, and FIG. 3G. FIG. 400A shows steps of a smoothing process of a relaxed probabilistic estimation model. FIG. 400A describes a relaxed smoothing problem for a relaxed probabilistic estimation model 328A where integer ambiguity bias may be allowed to exist on real numbers.
[0151] A set of measurements may be received, step 402. In some embodiments, the processor 128 may be configured to receive the set of measurements from multiple receivers 102.
[0152] In step 404, the measurement data 342A or a set of measurements may be utilized to synthesize a relaxed probabilistic estimation model 328A. In some embodiments, the processor 128 may be configured to synthesize a relaxed probabilistic estimation model 328A utilizing the measurement data 342A as outlined in FIG. 3C. The relaxed probabilistic estimation model 328A may be parameterized by model parameters 350A as described in FIG. 3A. The model parameters 350A may be received from a user in a first iteration or calculated by parameter updates in a second and subsequent iterations.
[0153] In step 406, a forward pass algorithm may be utilized with cycle slip detection. In some embodiments, in a first iteration of the method, cycle slip detection may be used to associate the model parameters 350A with the probabilistic estimation model 328A. For example, an unassociated model 406A, which may not have all the parameters associated with the map, may be utilized for the forward pass algorithm. The forward pass algorithm may be performed taking into account the probabilistic estimation model 328A, and the integer random walk may be considered as Gaussian noise, which may be of variable scale based on the model parameters 350A and the indicator variable 370A calculated in the cycle slip algorithm. Based on the forward pass algorithm, a relaxed filter posterior value 406B may be determined.
[0154] In step 408, a backward pass algorithm may be utilized. In some embodiments, the processor 128 may be configured to utilize the backward pass algorithm. For example, the associated model 408A, which may have all parameters associated with the map, may be utilized for the backward pass algorithm. The processor 128 may utilize the relaxed filter posterior value 406B as a starting point for the backward pass algorithm, as described in connection with FIG. 1F. In step 410, a relaxed smoothed posterior value may be calculated based on the backward pass algorithm. In some embodiments, the processor 128 may be configured to calculate the relaxed smoothed posterior value based on the backward pass algorithm.
[0155] It is understood that the probabilistic estimation model 328A may be large, making it impossible to implement a traditional moment matching filter in such a setting. Thus, in one embodiment, the system 126 may implement an RTS or FP smoother, relying on piecewise linear moment approximations and explicit linearization of nonlinearities to generate smoothed posterior values.
[0156]
number
[0157]
number
[0158]
number
[0159] However, it is understood that the probabilistic estimation model 328A used for adaptive post-processing has structure and many elements of the maps in the probabilistic estimation model 328A are necessarily zero. Therefore, it is only necessary to update the model parameters 350A of the probabilistic estimation model 328A that are known a priori to be non-zero. Furthermore, it is understood that while traditional EM methods work in a time-invariant setting, problem solving under variable sample rates can become more complex and difficult.
[0160]
number
[0161]
number
[0162]
number
[0163] It is also understood that such methods of updating the model parameters 350A may be implemented to target only certain portions of the probabilistic estimation model 328A, including but not limited to the inverse variance of the random walk driving the receiver's kinematic state, the inverse variance of the high and low relaxation process noise PDFs used to drive the real-valued ambiguity bias in the relaxation estimation model, the inverse variance of the remaining real-valued biases and their velocities, the time constants in the Singer motion model, and other parameters in the motion model that govern the movement of the receiver 102A. In some embodiments, similar updates may be utilized to update the model parameters 350A of the probabilistic estimation model 328A, in particular the inverse variance of the measurement noise.
[0164] It will be appreciated that updating the parameters in such a manner can reduce the number of parameters that may need to be modeled from approximately 10,000 parameters to as few as 10 parameters for the probabilistic estimation model 328A outlined in Figure 3C, speeding up computation time. Furthermore, it will be appreciated that implementing updates in this manner empirically significantly improves the convergence speed of EM, significantly reducing the total number of EM iterations required to converge on a suitable set of model parameters 350A.
[0165] Furthermore, in some embodiments, the Q-function may be such that the Q-function is complemented with a regularization term to induce the expected sparsity pattern in the resulting probabilistic estimation model. A regularization term or regularizer may be added to the probabilistic estimation model 328A to remove parameters from the probabilistic estimation model 328A. In one example, this may be done by using a form of lasso regression on the above Q-function that uses an 11 or weighted 11 regularizer to promote the expected sparsity pattern in the probabilistic estimation model 328A. It is understood that other regularizers, such as a Huber-type regularizer, may also be used within the scope of this disclosure.
[0166]
[0023] Figure 4B shows a diagram 400B describing the calculation and minimization of a majorizing Q function according to an embodiment of the present disclosure. Figure 4B will be described with reference to elements of Figures 1A, 1B, 1C, 1D, 1E, 1F, 1G, 2A, 2B, 3A, 3B, 3C, 3D, 3E, 3F, 3G, and 4A. Figure 400B shows the steps for the calculation and minimization of a majorizing Q function.
[0167] In step 412, a set of maps {H i ,f i ,c i} i By defining 412A, a majorizing objective function is constructed. In step 414, the processor 128 may be configured to check whether the predictive model or the probabilistic estimation model 328A is linear or there is no specified regularizer. If the probabilistic estimation model 328A is linear or there is no specified regularizer, in step 416, a solution to the optimization problem may be analytically calculated. If a regularizer is specified or the parameter dependence is nonlinear in the predictive model, in step 418, an optimizer may be used to numerically optimize the Q-function using the old model parameters 418A. The old model parameters 416A may be, for example, the model parameters 350A. In step 420, once the Q-function is optimized to obtain updated model parameters, the updated model parameters may be reported as an output.
[0168] It will be appreciated that other majorizing functions than the two forms above can be used in the minimization procedure. The exact form of the Q function may depend on modeling assumptions, which may vary based on the model of the receiver 102A and noise modeling.
[0169] FIG 4C shows a graph 400C describing the decay of the Q-function as a function of expectation maximization (EM) iterations, according to an embodiment of the present disclosure. FIG 4C will be described with reference to elements of FIG 1A, FIG 1B, FIG 1C, FIG 1D, FIG 1E, FIG 1F, FIG 1G, FIG 2A, FIG 2B, FIG 3A, FIG 3B, FIG 3C, FIG 3D, FIG 3E, FIG 3F, FIG 3G, FIG 4A and FIG 4B. The graph view 400C shows the Q-function 422.
[0170] Graphical illustration 400C shows a decreasing series of Q-function minima as a function of EM iterations when evaluated using one of the Q-functions 422 described for the previous figures. The probabilistic estimation model 328A can continually refine the model parameters 350A over the EM runs, reducing the negative log-likelihood and thereby increasing the likelihood that the model parameters 350A are correct. In addition, once a sufficiently correct model is found, determined by a threshold applied to the relative change in the Q-function 422 over successive EM iterations or by the number of iterations that reaches a specified maximum number, the integer bias, which up until that point could have been made up of real numbers, must be fixed to an integer.
[0171] Fixing the integer bias to an integer is further explained in FIG. 4D. 4D illustrates a diagram 400D describing a smoothing process performed for an integer fixed probabilistic estimation model, where an integer bias is configured for integers, according to an embodiment of the present disclosure. FIG. 4D will be described with reference to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, FIG. 1F, FIG. 1G, FIG. 2A, FIG. 2B, FIG. 3A, FIG. 3B, FIG. 3C, FIG. 3D, FIG. 3E, FIG. 3F, FIG. 3G, FIG. 4A, FIG. 4B, and FIG. 4C.
[0172] FIG. 400D illustrates method steps that are employed once sufficiently good model parameters are found by the system 126 or the user requests the output. In step 424, the integer ambiguities may be fixed based on the relaxed smoothed posterior values 424A calculated for the latest model parameters 350A. It is understood that some embodiments fix to the filter posterior values, while other embodiments fix the integer bias to the smoothed posterior values. It is also understood that the fixing may be done in a number of ways, and that the method itself may not be important to the present disclosure. In one example, a decorrelation unimodular transform may be utilized to fix the integers in a decorrelation space before mapping the fixed integers back to the original ambiguity space. In such an example, the fixing may be done using a simple bootstrap method. In other examples, the fixing may be done using a branch and bound optimization method. In yet other examples, the fixing may be done using simple rounding. In some example embodiments, the decorrelation transform may be calculated using a variation of the LAMDA algorithm, or using the Psiaki reduction algorithm.
[0173] Once the ambiguities are fixed in step 426, the ambiguities can be removed from the measurement data 342A collected from the receiver 102A to obtain fixed integer measurements that may correspond to a fixed integer measurement model in which the integer bias has been removed from the estimation problem. In step 428, a new measurement model can be synthesized based on the integer bias, and the fixed integer measurement model can be parameterized using the previously calculated model parameters 428A. In step 430, since the integer ambiguities are no longer part of the estimation problem, a forward pass algorithm can be performed without cycle slip detection to obtain a fixed integer filtering posterior value 430A. The forward pass algorithm may be performed based on the associated fixed integer model 430B. In step 432, the fixed integer filtering posterior value 430A is followed by a backward pass algorithm that can correct the fixed integer filtering posterior value 430A to obtain a fixed integer smoothed posterior value in step 434.
[0174] It is understood that while it is possible to adjust the original relaxed smoothed posterior value for the integer bias, this may lead to jitter in the estimation error of the fixed integer smoothed posterior value when the integers cannot be fixed correctly, so in some embodiments, a smaller fixed integer model may be synthesized and the measurements may be converted to fixed integer measurements before performing a final smoothing pass.
[0175]
[0023] Figure 5 shows a graph diagram 500 illustrating the impact of optimizing model parameters in an adaptive GNSS post-processing method with reference to position estimation error, according to an embodiment of the present disclosure. Figure 5 will be described with reference to elements of Figures 1A, 1B, 1C, 1D, 1E, 1F, 1G, 2A, 2B, 3A, 3B, 3C, 3D, 3E, 3F, 3G, 4A, 4B, 4C and 4D.
[0176] Graphical diagram 500 illustrates the effect of using adaptive post-processing as described in this disclosure when model parameters cannot be adequately defined. In one embodiment, the estimation error, specifically the sum root mean square error, associated with the position state of receiver 102A may be quite large when only the adaptive RTS smoother is used for the integer fix shown by peak 502. However, when the estimation algorithm allows for simultaneous updating of model parameters using EM iterations and the method outlined in FIG. 3A, a set of model parameters can be found where the resulting position root mean square error is quite small, as shown in region 504 of graphical diagram 500.
[0177] FIG. 6 illustrates a block diagram 600 of a system 602 for implementing a post-processing solution used to assist in tracking a mixed autonomous vehicle, according to an embodiment of the present disclosure. FIG. 6 is described in relation to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, FIG. 1F, FIG. 1G, FIG. 2A, FIG. 2B, FIG. 3A, FIG. 3B, FIG. 3C, FIG. 3D, FIG. 3E, FIG. 3F, FIG. 3G, FIG. 4A, FIG. 4B, FIG. 4C, FIG. 4D, and FIG. 5. The system 602 may include a network interface controller (NIC) 604, a bus 606, a control interface 608 coupled to a control input interface 610, and a human machine interface (HMI) 612. The HMI 612 may communicate with a keyboard 614 and a pointing device 616. The system 602 may further include a processor 618, a memory 620, and a memory storage 622. The memory storage 622 may include a probabilistic estimation model 328A, an adaptive post-processing (APP) algorithm and associated data 622A, and a control generator 622B. The block diagram 600 may further include a communication network 208. In some embodiments, the system 602 may be identical to the system 126 described in Figures 1D and 2A.
[0178] The block diagram 600 of the system 602 may be utilized for collaborative tracking and / or control of multiple receivers 102 installed on multiple vehicles or surface buoys. The system 602 may have a number of different interfaces that connect the system 602 to other machines and devices used for collaborative tracking and / or control of the multiple receivers 102. The NIC 604 may include a receiver adapted to connect the system 602 via a bus 606 to a communication network 208 that connects the system 602 to receive GNSS signals and other sensing data from the multiple receivers 102.
[0179] In some embodiments, an APP system such as system 602 may be configured only to track the status of one or more of the receivers 102. In one or more embodiments where one or more receivers may be mounted on a moving vehicle, system 602 may be configured to further control the operation of the vehicles individually or as a platoon. Thus, in some embodiments, system 602 may be configured to receive traffic conditions for a group of mixed autonomous vehicles traveling in the same direction, which may include a controlled vehicle and at least one non-controlled vehicle willing to join the platoon. The traffic conditions may indicate the status of each vehicle in the group and the controlled vehicle. For example, in one embodiment, the traffic conditions may include the current roadway, current speed, and current acceleration of the mixed autonomous vehicle. In some embodiments, the mixed autonomous vehicle includes all non-controlled vehicles within a predetermined range of a lateral controlled vehicle in the platoon.
[0180] The NIC 604 may also include a transmitter adapted to transmit control commands to the controlled vehicles via the communications network 208. As such, the system 602 may include an output interface, such as a control interface 608, configured to transmit control commands to the controlled vehicles in the group of mixed automated vehicles via the control input interface 610 and over the communications network 208. In this manner, the system 602 may be located on a remote server in direct or indirect wireless communication with the mixed automated vehicles.
[0181] The system 602 may further include other types of input / output interfaces. For example, the system 602 may include an HMI 612. The HMI 612 may connect the NIC 604 to a keyboard 614 and a pointing device 616. For example, the pointing device 616 may include a mouse, a trackball, a touchpad, a joystick, a pointing stick, a stylus, a touch screen, etc.
[0182] The system 602 may further include a processor 618 configured to execute stored instructions and a memory 620 that stores instructions executable by the processor 618. The processor 618 may be a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. The memory 620 may include random access memory (RAM), read-only memory (ROM), flash memory, or any other suitable memory machine. The processor 618 may be connected to one or more input / output devices via a bus 606.
[0183] The processor 618 may be operatively connected to memory storage 622 for storing instructions as well as for storing processing data used by the instructions. The memory storage 622 may form part of or be operatively connected to the memory 620. For example, the memory storage 622 may be configured to store the probabilistic estimation model 328A, the APP algorithms and associated data 622A, and optionally a control generator 622B.
[0184] The processor 618 may further be configured to determine control commands for the controlled vehicles, which also indirectly control the non-controlled vehicles. To that end, the processor 618 may be configured to determine the control commands based on the state of the vehicles by executing a control generator 622B. In some embodiments, the control generator 622B uses a deep reinforcement learning (DRL) controller trained to generate control commands from extended states for individual and / or vehicle platooning. The system 602 may output data indicative of the state of a machine 624, such as a vehicle.
[0185] 7A illustrates a schematic diagram 700A of a directly or indirectly controlled vehicle according to an embodiment of the present disclosure, which will be described with reference to elements of FIGS. 1A, 1B, 1C, 1D, 1E, 1F, 1G, 2A, 2B, 3A, 3B, 3C, 3D, 3E, 3F, 3G, 4A, 4B, 4C, 4D, 5, and 6.
[0186] Diagram 700A includes a directly or indirectly controlled vehicle 702 according to some embodiments. As used herein, vehicle 702 may be any type of wheeled vehicle, such as a car, a bus, or a rover. In some embodiments, vehicle 702 may be an autonomous or semi-autonomous vehicle. For example, some embodiments control the movement of vehicle 702. An example of the movement may include lateral movement of vehicle 702 controlled by a steering system 704 of vehicle 702. In one embodiment, steering system 704 may be controlled by a controller 706 in communication with system 602. Additionally or alternatively, steering system 704 may be controllable by a driver of vehicle 702.
[0187] The vehicle 702 may further include an engine 708 that may be controlled by the controller 706 or by other components of the vehicle 702. The vehicle 702 may include one or more sensors 710 for sensing the surrounding environment. Examples of the one or more sensors 710 may include a distance range finder, a radar, a lidar, and a camera. The vehicle 702 may also include one or more sensors 712 for sensing its current amount of motion and internal status. Examples of the sensors 712 include GNSS signals, an accelerometer, an inertial measurement unit, a gyroscope, a shaft rotation sensor, a torque sensor, a deflection sensor, a pressure sensor, and a flow sensor. The one or more sensors 710 and the one or more sensors 712 may provide information to the controller 706. The vehicle 702 may include a transceiver 714 that enables communication functions of the controller 706 through wired or wireless communication channels.
[0188] 7B illustrates a schematic diagram 700B of an interaction between a controller 716 of a control command receiving system 602 and a controller 706 of a vehicle 702 according to an embodiment of the present disclosure. FIG. 7B will be described with reference to elements of FIG. 1A, FIG. 1B, FIG. 1C, FIG. 1D, FIG. 1E, FIG. 1F, FIG. 1G, FIG. 2A, FIG. 2B, FIG. 3A, FIG. 3B, FIG. 3C, FIG. 3D, FIG. 3E, FIG. 3F, FIG. 3G, FIG. 4A, FIG. 4B, FIG. 4C, FIG. 4D, FIG. 5, FIG. 6, and FIG. 7A.
[0189] Schematic diagram 700B illustrates the interaction between a controller 716 receiving control commands from system 602 and a controller 706 of a vehicle 702, according to some embodiments. For example, in some embodiments, the controller 706 of the vehicle 702 may include a steering controller 706A and a brake / throttle controller 706B that control the rotation and acceleration of the vehicle 702. In such a case, the controller 716 outputs control inputs to the steering controller 706A and the brake / throttle controller 706B to control the state of the vehicle 702. The controller 706 may also include a higher level controller, for example a lane keep assist controller 706C, that further processes the control inputs of the predictive controller 716. In either case, the controller 706 uses the output of the predictive controller 716 to control the movement of the vehicle 702 by controlling at least one actuator of the vehicle 702, such as the steering wheel and / or brakes of the vehicle. The vehicle machine state may further include position, heading, and forward / lateral speed, and the control inputs may include lateral / forward acceleration, steering angle, and engine / brake torque. The state constraints for the system may include lane keeping constraints and obstacle avoidance constraints. The control input constraints may include steering angle constraints and acceleration constraints. The collected data may include position, heading, speed profile, acceleration, torque, and / or steering angle.
[0190] 8 shows a flowchart 800 describing a method for tracking a state of a receiver 102A based on iterative feedback smoothing, according to an embodiment of the present disclosure. The flowchart 800 may include steps 802, 804, and 806. Fewer or more steps may be provided. Additionally, one or more steps may be combined or divided without departing from the scope of the present disclosure.
[0191] In step 802, the method may include receiving a set of measurements indicative of a movement of the receiver 102A. The set of measurements may be collected over a period of time. The set of measurements may relate to satellite signals, including combinations of carrier phase and one or more code signals transmitted from a set of GNSS satellites 106 and detected by the receiver 102A at different times during the period of time. Details of receiving the set of measurements are provided further in, for example, FIG. 1A.
[0192] In step 806, the method may include estimating a state trajectory of the receiver 102A for the time period by processing a set of measurements associated with the receiver 102A with a stochastic smoother. The set of measurements is associated with a stochastic estimation model. The stochastic smoother may iteratively perform a smoothing process followed by a feedback refinement process on at least some parameters of the stochastic estimation model until a termination condition is met. The smoothing process may update a state trajectory indicative of the set of measurements based on at least some parameters of the stochastic estimation model. The feedback refinement process may update at least some parameters of the stochastic estimation model to improve a metric indicative of measurement likelihood. Details of the processing of the set of measurements are provided further, for example, in FIG. 1D.
[0193] In step 808, the method may include rendering the estimated state trajectory and at least some of the updated parameters over a wired or wireless communication channel. Details about rendering the estimated state trajectory and at least some of the updated parameters are provided further in, for example, FIG. 1D.
[0194] The above description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the above description of exemplary embodiments provides one of ordinary skill in the art with an enabling description for implementing one or more exemplary embodiments. What is intended is various changes that may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosed subject matter, as set forth in the appended claims.
[0195] Specific details are provided in the following description to provide a thorough understanding of the embodiments. However, those skilled in the art will appreciate that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the disclosed subject matter may be shown as components in block diagram form in order to avoid obscuring the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Additionally, like reference numbers and names in the various drawings refer to like elements.
[0196] Also, the individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Moreover, the order of operations may be rearranged. A process may be terminated when its operations are completed, but may have other steps not discussed or included in the diagram. Moreover, not all operations in any process specifically described may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, or the like. When a process corresponds to a function, the end of the function may correspond to a return of the function to a calling function or to the main function.
[0197] Furthermore, embodiments of the disclosed subject matter may be implemented, at least in part, either manually or automatically. The manual or automated implementation may be performed or at least assisted through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, program code or code segments to perform the necessary tasks may be stored on a machine-readable medium. A processor may perform the necessary tasks.
[0198] The various methods or processes outlined herein may be coded as software executable on one or more processors employing any one of a variety of operating systems or platforms. In addition, such software may be written using any of a number of suitable programming languages and / or programming or scripting tools, and may be compiled as executable machine language code or intermediate code that runs on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
[0199] The above individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Moreover, the order of operations may be rearranged. A process may be terminated when its operations are completed, but may have other steps not discussed or included in the diagram. Moreover, not all operations in any process specifically described may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, or the like. When a process corresponds to a function, the end of the function may correspond to a return of the function to a calling function or to the main function.
[0200] Furthermore, embodiments of the disclosed subject matter may be implemented, at least in part, either manually or automatically. The manual or automated implementation may be performed or at least assisted through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, program code or code segments to perform the necessary tasks may be stored on a machine-readable medium. A processor may perform the necessary tasks.
[0201] Those skilled in the art to which this disclosure pertains, having the benefit of the teachings presented in the above description and the associated drawings, will come up with numerous modifications and other embodiments of the disclosure described herein. It should be understood that the disclosure is not limited to the specific embodiments disclosed, and that modifications and other embodiments are intended to be within the scope of the following claims. In addition, while the above description and the associated drawings describe example embodiments in the context of some example combinations of elements and / or functions, it should be understood that different combinations of elements and / or functions may be provided by alternative embodiments without departing from the scope of the following claims. In this regard, combinations of elements and / or functions different from those expressly described are also contemplated, for example, as may be set forth in some of the following claims. Although certain terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. 1. A system for tracking a global navigation satellite system (GNSS) receiver state based on iterative feedback smoothing, comprising: A processor; and a memory having instructions stored thereon, the instructions causing the processor to: receiving a set of measurements indicative of motion of the receiver, the set of measurements collected over a period of time, the set of measurements relating to satellite signals, the satellite signals including combinations of carrier phase and one or more code signals transmitted from a set of GNSS satellites and detected by the receiver at different times within the period of time, the instructions further comprising: processing the set of received measurements associated with the receiver using a stochastic smoother to estimate a state trajectory of the receiver for the time period, the set of measurements being associated with a stochastic estimation model associated with the receiver; the stochastic smoother performs the iterative feedback smoothing, the iterative feedback smoothing including performing a smoothing process followed by a feedback refinement process for at least some parameters of the probabilistic estimation model until a termination condition is met; the smoothing process updating the state trajectory indicative of the set of measurements based on the at least some parameters of the probabilistic estimation model; The feedback refinement process updates at least some of the parameters of the probabilistic estimation model to improve a metric indicative of measurement likelihood, the instructions further directing the processor to: The system causes the estimated state trajectory and the updated at least some of the parameters to be rendered over a wired or wireless communication channel.
2. The system of claim 1 , wherein the feedback refinement process updates only the at least some parameters of the probabilistic estimation model.
3. The system of claim 1 , wherein the feedback refinement process updates at least some parameters of the probabilistic estimation model indicative of the kinematic state of the receiver.
4. The system of claim 1 , wherein the feedback refinement process updates at least some parameters of the probabilistic estimation model that are related to a stochastic process driving a random walk of one or more kinematic states of the receiver.
5. 2. The system of claim 1 , wherein the feedback refinement process iteratively updates at least some parameters of the probabilistic estimation model associated with a stochastic process until the termination condition is met, and further estimates an integer ambiguity bias of the probabilistic estimation model to generate the rendered state trajectory.
6. 2. The system of claim 1, wherein the feedback refinement process updates at least some parameters of the probabilistic estimation model based on an expectation-maximization (EM) method to ensure monotonic improvement of the updated parameters relative to the measurement likelihood at each EM iteration, with intermediate smoothed solutions being discarded.
7. 2. The system of claim 1, wherein the processor is further configured to construct an objective Q function for parameter optimization of at least some of the parameters using the smoothing process of a relaxed estimation problem, the relaxed estimation problem being a biconvex function that performs a majorization of negative measurement log-likelihoods.
8. The system of claim 7 , wherein the Q-function is formed such that arguments of the Q-function are all or a portion of at least one of parameters associated with maps and functions of the probabilistic estimation model.
9. 9. The system of claim 8, wherein the Q-function is formed such that arguments of the Q-function are a set of parameters that parameterize at least one or more of the following: functions and matrices that define a measurement model of the probabilistic estimation model, an inverse covariance matrix, the functions and matrices that define a prediction model of the probabilistic estimation model, and a structure of the probabilistic estimation model.
10. 9. The system of claim 8, wherein the Q function is a Q function that is minimized with a regularization term to promote an assumed sparse pattern in the resulting probabilistic estimation model.
11. The system of claim 1 , wherein the processor is further configured to implement the probabilistic estimation model using at least one of an embedded system, parallel processing, or an entity utilizing computing hardware.
12. 2. The system of claim 1, wherein the processor is further configured to perform the smoothing process using an approximate Gaussian fixed-interval smoother, the Gaussian fixed-interval smoother comprising at least one of a Rauch-Tung-Striebel smoother, a Fraser-Potter smoother, or a factor graph optimization smoother, and the smoothing process is performed using at least one of an explicit or statistical linearization method to resolve nonlinearities in the probabilistic estimation model.
13. The system of claim 1 , wherein the probabilistic estimation models are formulated for multiple receivers and an estimation problem is formulated to jointly estimate state trajectories of the multiple receivers.
14. The system of claim 13 , wherein one or more biases of the probabilistic estimation model for each of the plurality of receivers are described as being identical due to geographic proximity between the plurality of receivers.
15. The system of claim 13 , wherein the plurality of receivers are mounted on vehicles, and the plurality of receivers are configured to determine a location of a corresponding vehicle.
16. 14. The system of claim 13, wherein the multiple receivers are mounted on a surface buoy, and the multiple receivers are configured to use parameter adaptation of the probabilistic estimation model to determine sporadic changes during at least one of a seismic event or an irrigation event.
17. 1. A method for tracking a receiver state of a Global Navigation Satellite System (GNSS) based on iterative feedback smoothing, the method comprising: receiving a set of measurements indicative of motion of the receiver, the set of measurements collected over a period of time, the set of measurements relating to satellite signals, the satellite signals including combinations of carrier phase and one or more code signals transmitted from a set of GNSS satellites and detected by the receiver at different times within the period of time, the method further comprising: and estimating a state trajectory of the receiver for the period by processing the received set of measurements associated with the receiver with a stochastic smoother, the set of measurements being associated with a stochastic estimation model associated with the receiver, and processing the set of measurements includes: performing the iterative feedback smoothing, the iterative feedback smoothing including performing a smoothing process followed by a feedback refinement process for at least some parameters of the probabilistic estimation model by the stochastic smoother until a termination condition is met; the smoothing process includes updating the state trajectory indicative of the set of measurements based on the at least some parameters of the probabilistic estimation model; The feedback refinement process includes updating at least some of the parameters of the probabilistic estimation model to improve a metric indicative of measurement likelihood, the method further comprising: Rendering the estimated state trajectory and the updated at least some of the parameters over a wired or wireless communication channel.
18. The method of claim 17 , wherein the feedback refinement process includes updating only the at least some parameters of the probabilistic estimation model.
19. The method of claim 17 , wherein the feedback refinement process includes updating the at least some parameters of the probabilistic estimation model indicative of the kinematic state of the receiver.
20. 1. A non-transitory computer-readable storage medium comprising a program executable by a processor to perform a method for tracking a state of a Global Navigation Satellite System (GNSS) receiver based on iterative feedback smoothing, the method comprising: receiving a set of measurements indicative of motion of the receiver, the set of measurements collected over a period of time, the set of measurements relating to satellite signals, the satellite signals including combinations of carrier phase and one or more code signals transmitted from a set of GNSS satellites and detected by the receiver at different times within the period of time, the method further comprising: and estimating a state trajectory of the receiver for the period by processing the received set of measurements associated with the receiver with a stochastic smoother, the set of measurements being associated with a stochastic estimation model associated with the receiver, and processing the set of measurements includes: performing the iterative feedback smoothing, the iterative feedback smoothing including performing a smoothing process followed by a feedback refinement process for at least some parameters of the probabilistic estimation model by the stochastic smoother until a termination condition is met; the smoothing process includes updating the state trajectory indicative of the set of measurements based on the at least some parameters of the probabilistic estimation model; The feedback refinement process includes updating at least some of the parameters of the probabilistic estimation model to improve a metric indicative of measurement likelihood, the method further comprising: and rendering the estimated state trajectory and the updated at least some of the parameters over a wired or wireless communication channel.