Joint learning of atmospheric models for satellite-based navigation
By generating and transmitting training data in supporting GNSS devices, joint learning and iterative refinement of atmospheric models are solved, and more accurate and real-time navigation and positioning services are achieved.
Patent Information
- Application Number
- CN202280099284.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-19
- Publication Date
- 2025-03-18
AI Technical Summary
Existing satellite navigation-based systems have limitations on the accuracy and uncertainty of atmospheric models, resulting in inaccuracy and uncertainty of navigation and positioning services.
Update and improve the atmospheric model by generating training data in support GNSS devices, encoding error metrics in atmospheric models and transmitting them to atmospheric model services for joint learning and iterative refinement.
Improves the accuracy and uncertainty of navigation and location services, reduces the risk of exposure to user privacy, and updates the model in real time to provide more accurate navigation information.
Smart Images

Figure CN119654575A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the development of satellite-based navigation. More specifically, the present disclosure relates to federated learning of atmospheric models to enable satellite-based navigation. Background Art
[0002] Various agencies have deployed various global navigation satellite systems (GNSS). A popular GNSS is a global positioning system (GPS) deployed and operated by the U.S. federal government. Typically, GNSS enables users equipped with devices supporting GNSS to navigate the surface of the earth via receiving signals transmitted by an array of earth orbit satellites. Devices supporting GNSS are now ubiquitous, because many mobile devices and / or wearable devices (e.g., smart phones, tablet computers and smart watches) now include antennas that can receive GNSS satellite signals. Among other information, GNSS satellite signals also encode the identification of the transmitting satellite and the precise timestamp of the transmission (e.g., transmission time (TOT) timestamp). When receiving GNSS satellite signals, the device supporting GNSS generates the precise timestamp of the reception (e.g., arrival time (TOA) timestamp). By understanding the orbital position of the transmitting satellite at TOT (based on the precise orbital trajectory model) and the flight time (TOF) of the signal (e.g., the difference between TOA and TOT), the device supporting GNSS can estimate the distance between its positioning and the orbital position of the transmitting satellite at TOT. Receiving such signals from three or more satellites enables a GNSS device to determine its position on the Earth's surface (eg, geolocation) via triangulation methods.
[0003] Note that the accuracy of determining the geolocation of a device is highly dependent on an accurate estimate of the distance between the geolocation of the device and the orbital position of the transmitting satellite at TOT. The estimate of this distance is highly dependent on determining the "optical path length" of the signal transmission. Determining the optical path length enables the determination of the pseudorange of the satellite. Determining the optical path length of the signal involves performing a path integration of the transmission velocity (e.g., the refractive index of the transmitting medium) along the transmission path.
[0004] In order to reach the device, satellite signals must pass through various layers of the Earth's atmosphere. The transmission speed of the signal varies in the atmosphere due to the varying density of electrons, nuclei, ions, atoms, and molecules in the atmosphere. Therefore, in order to achieve accurate satellite-based navigation, an atmospheric model can be used to model the transmission speed of satellite signals through the Earth's atmosphere. Summary of the invention
[0005] Aspects and advantages of embodiments of the present disclosure will be set forth in part in the following description, or may be learned from the description, or may be learned through practice of the embodiments.
[0006] An example aspect of the present disclosure relates to a computer-implemented method for satellite-based navigation. The method includes causing determination of an error metric at a computing device. The determination of the error metric may be based on a difference between a set of measurements and a set of expected values. The set of expected values may be based on an atmospheric model and a geographic location of the computing device. The set of measurements may be based on a set of satellite signals received at the computing device from a set of satellites. The error metric may be for an atmospheric model. The method includes causing transmission of a data structure from the computing device to an atmospheric model service. The transmitted data structure may encode the error metric.
[0007] Other aspects of the disclosure relate to various systems, apparatus, non-transitory computer-readable media, user interfaces, and electronic devices.
[0008] These and other features, aspects and advantages of various embodiments of the present disclosure will be better understood with reference to the following description and appended claims.The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate example embodiments of the present disclosure and, together with the description, serve to explain the relevant principles. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] A detailed discussion of the embodiments for those skilled in the art is set forth in this specification with reference to the accompanying drawings, in which:
[0010] Figure 1 A block diagram depicting an example atmospheric modeling environment that implements federated machine learning for an atmospheric model;
[0011] Figure 2 depicts a block diagram of a process for federated learning of an atmospheric model consistent with various embodiments;
[0012] FIG. 3A to FIG. 3E Iterative refinement of the ionospheric model based on federated learning employed in various embodiments is demonstrated;
[0013] Figure 4A A flowchart depicting an example method for federated learning of an atmospheric model according to an example embodiment of the present disclosure;
[0014] Figure 4B depicts a flowchart of an example method for generating an error metric according to an example embodiment of the present disclosure; and
[0015] Figure 5 Depicted is a flow chart of an example method for updating an atmospheric model according to an example embodiment of the present disclosure.
[0016] Reference numerals that are repeated across multiple drawings are intended to identify like features in the various implementations. DETAILED DESCRIPTION
[0017] Overview
[0018] In general, the present disclosure relates to systems and methods for implementing joint learning of atmospheric models for navigation via a global navigation satellite system (GNSS). A GNSS-enabled device may employ one or more atmospheric models while performing various calculations associated with satellite-based navigation and / or positioning services. Due to the complexity of the spatial and temporal dynamics of the Earth's atmosphere, such models may include significant inaccuracies and / or uncertainties. Such limitations in atmospheric models may lead to inaccuracies and / or uncertainties in navigation and / or positioning services for GNSS-enabled devices. In an embodiment, when implementing such positioning and / or navigation services, a GNSS-enabled device may generate "training data" indicating inaccuracies and / or uncertainties in an atmospheric model. That is, the training data may encode error metrics associated with the model. Such error metrics provide an indication of how an atmospheric model can be refined to achieve more accurate navigation and / or positioning services at the device level. As discussed below, the error metrics encoded in the training data do not include sensitive information of users of the corresponding GNSS-enabled device. For example, the error metrics do not indicate the user's geographic location, nor do they indicate their movement within an area. Rather, the error metric encodes a likelihood function of the parameters (or coefficients) of the atmospheric model.
[0019] In an embodiment, multiple independent GNSS-enabled devices distributed across most of the earth's surface may provide such training data to a joint service. In order to reduce network bandwidth resources, each GNSS-enabled device may provide their training data in batches. The joint service uses the training data to iteratively refine and / or update one or more atmospheric models used in the navigation and / or positioning services of the device. When the atmospheric model is iteratively refined based on the training data provided by the device, the joint service may provide iterative refinement to the device. Therefore, the accuracy and / or uncertainty in the navigation and / or positioning services of the device may be iteratively improved over time without exposing sensitive information of the device user to the joint atmospheric modeling service. A non-limiting variant of GNSS includes the popular global positioning system (GPS). However, the embodiment is not limited to GPS, and the embodiment may be used for almost any satellite-based navigation system that uses an atmospheric model when determining geographic positioning. Joint learning in the context of the embodiment includes multiple independent GNSS-enabled devices providing training data to a centralized service and / or a joint service (e.g., an atmospheric modeling service).
[0020] More specifically, training data may be generated at each of the GNSS-enabled devices via the device's location service. The training data may encode error metrics associated with one or more atmospheric models employed by the location service at the device. The joint service employs the training data to iteratively refine the one or more atmospheric models. As the atmospheric model is iteratively updated, the atmospheric model service may provide updated models to multiple GNSS-enabled devices. Multiple devices may continue to provide training data to the joint service for future updates of the model. Therefore, the iterative refinement of the atmospheric model focuses on increasingly accurately representing the optical transmission characteristics of the Earth's atmosphere. Because the training data may be generated and provided by the location services of multiple independent GNSS-enabled devices, the union of the learning atmospheric model may include the generation of crowdsourced data that enables the refinement of the atmospheric model for satellite-based navigation. That is, when a user (or client) of the atmospheric modeling service is employing the location and / or navigation service of its device, the user may be acting as a "crowd" that continuously generates and provides training data. The atmospheric modeling service utilizes the training data to iteratively improve the accuracy of the atmospheric model for satellite-based navigation. In addition, the training data provided by the crowd does not compromise the privacy of the crowd members.
[0021] As used throughout the text, a GNSS-enabled device may include any device configured to receive signals generated by a satellite in a GNSS (e.g., GPS) array included in a satellite. Such GNSS-enabled devices include, but are not limited to, smartphones, tablet computers, wearable devices (e.g., smart watches), GPS-specific receivers (e.g., such as those used in marine environments or hikers), other mobile devices, fixed devices, etc. A GNSS-enabled device may include any device comprising an antenna configured to receive signals from one or more GNSS satellites. In an embodiment, when a GNSS-enabled device determines its location based on the reception of satellite signals and / or other factors, any residual inconsistency between the calculated location and its antenna measurement may be considered as a noise measurement of the error in the atmospheric model used in the calculation of the location and / or antenna measurement. Each determination of the location of the device may be used to calculate the error metric of the determination. The error metric may be associated with the uncertainty in the atmospheric model used in determining the location and / or antenna-based measurement. Such error metrics may be aggregated (on multiple measurements) and encoded in a data structure provided to an atmospheric model service.
[0022] The atmospheric model service receives these aggregated error metrics (accumulated over multiple measurements at the same device) from multiple GNSS-enabled devices distributed around the world. The aggregated error metrics can be received in batches to reduce network bandwidth requirements. The atmospheric model service can use these crowdsourced error metrics as training data for updating (or refining) the atmospheric model. The atmospheric model service updates (or refines) the atmospheric model based on the training data. The atmospheric model service propagates the updated model to the device that provides the training data and / or other GNSS-enabled devices. Effectively, the GNSS-enabled devices that provide these error metrics act as a global sensor network (e.g., or "distributed sensor swarm") for iteratively refining the atmospheric model. The improved model improves the accuracy and uncertainty of navigation and / or positioning services for various GNSS-enabled devices, including those that do not provide crowdsourced training data.
[0023] In various embodiments, the atmospheric model may include a model of the Earth's ionosphere. However, embodiments are not limited to refining the ionospheric model, and embodiments may be used to refine models of additional and / or alternative portions of the Earth's atmosphere. In addition, the atmospheric model may be a parameterized model, and refining and / or updating the model may include updating estimates of parameters of the model. In at least one embodiment, the atmospheric model may be based on a set of orthogonal basis functions (e.g., Fourier basis functions, spherical harmonic basis functions, etc.). The parameters of the model may include expansion coefficients of the set of basis functions. Therefore, updating the atmospheric model may include updating (or refining) estimates of expansion coefficients of an ionospheric representation based on a linear summation of a set of appropriate basis functions.
[0024] The error metric determined by or at a GNSS-enabled device may include a likelihood function of a joint probability distribution on the parameter space of the atmospheric model. The joint probability distribution of the likelihood function may include a multivariate Gaussian (or normal) joint distribution on the model parameters. The atmospheric model service may update the atmospheric model via Bayesian inference techniques. For example, the currently deployed model may include a joint Gaussian distribution on the model parameters and the covariance of the parameters. When updating the model, the atmospheric model service may treat the currently deployed model as a prior distribution of the parameters, and treat the likelihood function provided by the user as a conditional probability that enables the prior distribution to be updated to generate the posterior probability of the model parameters. In some embodiments, the atmospheric model service may use a Bayesian filter to update or refine the atmospheric model. Because the distribution is a Gaussian distribution, in at least one embodiment, the Bayesian filter may be a Kalman filter. Because the update to the model is generated via Bayesian inference, the likelihood function provided by the user does not need to be stored and / or archived. Each likelihood function provided by the user only needs to be provided to the Bayesian filter once. In addition to reducing the amount of long-term storage space required to protect training data, users also do not need to worry about their "data" being stored and / or "mined" by the Federated Atmosphere Services or other parties.
[0025] Various aspects of the present disclosure provide a variety of technical effects and benefits. For example, the privacy of users who provide training data will not be compromised. None of the data sent to the atmospheric model service encodes the precise positioning of their devices. Instead, the error metric encodes the likelihood function of the model parameters, which does not expose sensitive data to the atmospheric model service. Iterative improvements in model accuracy occur in real time, and the improved model can be continuously provided to GNSS-enabled devices. Once the training data (encoded to the user's likelihood function) is used to generate model refinement, the training data does not need to be stored or archived for further use. Each GNSS-enabled device can aggregate their error metrics and send a batch of error metrics whenever it is convenient. Batching training data at the device level reduces the bandwidth and power consumption required by the device. In addition, batching the upload of error metrics at the client device end provides additional protection for user positioning and direction of travel. For example, via a batch upload implementation, a user driving from San Francisco to Mountain View can generate similar error metrics (and thus similar updates to the atmospheric model) as when the user drives from Mountain View to San Francisco. Additionally, combining updates into batches may obscure precise positioning information without adversely affecting the quality of updates to the atmospheric model.The amount of network resources required may be based on the available bandwidth of the device and adjusted in real time as network resources available to the device change over time and space.
[0026] Example devices and systems
[0027] Figure 1 A block diagram of an example atmospheric modeling environment 100 implementing a federation of machine learning for an atmospheric model is depicted. Environment 100 may be used to implement satellite-based navigation and / or positioning determination. Environment 100 includes a first GNSS sensor device 102 and a server device 104. First GNSS sensor device 102 may be a GNSS-enabled device including an antenna. Environment 100 also includes a planetary body 110, such as, but not limited to, the Earth. Environment 100 additionally includes a satellite array 112. Satellite array 112 may include a set of satellites, including, but not limited to, a first satellite 114. Each satellite of satellite array 112 may orbit around planetary body 110. Although not described herein, the first satellite 114 may be a satellite array 112. Figure 1 1 , but a plurality of GNSS-enabled devices, including but not limited to a first GNSS sensor device 102, may be distributed around the surface of the planetary body 110. In a non-limiting embodiment, the first GNSS sensor device 102 is a mobile device (e.g., a smart phone) located near the San Francisco Bay area in California.
[0028] The plurality of GNSS-enabled devices distributed on the surface of the planetary body 110 are not limited to smartphones or other mobile devices, but may include any device capable of providing positioning and / or navigation services based on one or more atmospheric models of the planetary body 110. One commonality of each of the GNSS-enabled devices, including the first GNSS sensor device 102, is that it includes an antenna capable of receiving satellite signals transmitted by satellites of a satellite array. For example, Figure 1 The first GNSS sensor device is shown receiving satellite signals transmitted by satellites of the satellite array, including but not limited to receiving a first satellite signal 116 transmitted by a first satellite 114. Each of the GNSS-enabled devices of the plurality of GNSS-enabled devices, including the first GNSS sensor device 102, is communicatively coupled to the server device 104 via a communication network 106. Figure 1 In a non-limiting embodiment, the server device 104 is located in the Miami metropolitan area in Florida.
[0029] Each of the plurality of GNSS-enabled devices may implement a positioning and / or navigation service. For example, the first GNSS sensor device 102 implements a first GNSS positioning service 120. The server device 104 implements an atmospheric modeling service 140. An embodiment of the first GNSS positioning service 120 and the atmospheric modeling service 140 is at least combined with Figure 2However, briefly described here, in addition to providing navigation and / or positioning services to users based on satellite signals and atmospheric models, the first GNSS positioning service 120 can also generate training data for updating or refining the atmospheric model. The first GNSS positioning service 120 (and other positioning services for other GNSS-enabled devices) can provide training data to the atmospheric modeling service 140. The atmospheric modeling service 140 can be a federated learning service that receives training data from various positioning services of various GNSS-enabled devices. The atmospheric modeling service 140 can use the training data to update, refine and / or modify the atmospheric model.
[0030] Example Federated Learning of Atmospheric Models for Satellite-Based Navigation
[0031] Figure 2 A block diagram of a process 200 for federated learning of an atmospheric model consistent with various embodiments is depicted. The process 200 may be implemented by a GNSS positioning service 220, an atmospheric modeling service 240, and a plurality of GNSS-enabled devices 260. The GNSS positioning service 220 may be similar to Figure 1 The first GNSS positioning service 120. Therefore, the GNSS positioning service 220 can be provided by Figure 1 The atmospheric modeling service 240 may be similar to Figure 1 The atmospheric modeling service 140. Therefore, the atmospheric modeling service 240 can be composed of Figure 1 The server device 104 is implemented.
[0032] The GNSS positioning service 220 is generally responsible for providing services to GNSS-enabled devices (e.g., Figure 1 242). The GNSS positioning service 220 may provide positioning and / or navigation services to users of the first GNSS sensor device 102. The GNSS positioning service 220 may employ an atmospheric model (e.g., the atmospheric model 242) and a set of satellite signals 262 to implement its functions. The GNSS positioning service 220 is also responsible for generating training data. The training data may be used by the atmospheric modeling service 240 to refine and / or update the atmospheric model (e.g., the atmospheric model 242). To perform its functions, the GNSS positioning service 220 may include a satellite signal receiver 222, a position estimator 224, and an atmospheric model likelihood evaluator 226.
[0033] The satellite signal receiver 222 is configured to receive the set of satellite signals 262. The position estimator 224 is configured to determine and / or estimate the position (e.g., geolocation) of a GNSS-enabled device implementing the GNSS positioning service 220 based on the set of satellite signals 262, the atmospheric model 242, and / or other factors. The atmospheric model likelihood evaluator 226 is configured to determine an error signal based on the atmospheric model 242, the determined and / or estimated geolocation of the GNSS-enabled device, and the set of satellite signals 262. The atmospheric model likelihood evaluator 226 may be configured to encode and / or package the error metric in the training data provided to the atmospheric modeling service 240. The GNSS positioning service 220 is configured to provide the training data to the atmospheric modeling service 240.
[0034] The details of the error metric are described below. However, briefly described here, the error metric determined by the atmospheric model likelihood evaluator 226 may include a likelihood function of a joint probability distribution over the parameter space of the atmospheric model 242. The joint probability distribution of the likelihood function may include a Gaussian (or normal) joint distribution over the model parameters. The Gaussian distribution included in the error metric may be characterized by the mean value of each parameter and the covariance between the parameters. The covariance of the distribution may be encoded in a covariance matrix.
[0035] Atmospheric modeling service 240 is generally responsible for providing atmospheric model 242 to GNSS positioning service 220. Atmospheric modeling service 240 may additionally receive training data from GNSS positioning service 220, as well as additional training data 264 received by the positioning service from other GNSS-enabled devices in plurality of GNSS-enabled devices 260. The plurality of GNSS-enabled devices may or may not include GNSS-enabled devices implementing GNSS positioning service 220 (e.g., Figure 1 The atmosphere modeling service 240 may update the atmosphere model 242 based on the received training data (eg, the training data received from the GNSS positioning service 220 and the additional training data 264 received from the plurality of GNSS enabled devices).
[0036] Atmospheric model 242 may include a model of the Earth's ionosphere. However, embodiments are not limited to refining the ionospheric model, and embodiments may be used to refine models of additional and / or alternative portions of the Earth's atmosphere. In addition, atmospheric model 242 may be a parameterized model, and refining and / or updating model 242 may include updating estimates of parameters of the model. In at least one embodiment, atmospheric model 242 may be based on a set of orthogonal basis functions (e.g., Fourier basis functions, circular harmonic basis functions, spherical harmonic basis functions, etc.). The parameters of the model may include expansion coefficients of the set of basis functions. Therefore, updating atmospheric model 242 may include updating (or refining) estimates of expansion coefficients of an ionospheric representation based on a linear summation of a set of appropriate basis functions.
[0037] The atmospheric model 242 can be used by the GNSS positioning service 220 to determine the pseudorange of each satellite that transmitted one of the satellite signals in the set of satellite signals 262. Based on the transmission time (TOT) timestamp encoded in the satellite signal and the arrival time (TOA) timestamp generated by the GNSS positioning service 220, the GNSS positioning service 220 is configured to determine the flight time (TOF) of each signal. The atmospheric model can model the speed of transmission through the atmosphere (e.g., the speed of light or the refractive index). Therefore, knowing the speed of transmission at each point along the signal transmission and the TOF of the signal, the pseudorange of the transmitting satellite can be estimated. In an embodiment where the atmospheric model 242 is an ionospheric model, the atmospheric model 242 can model the ion density in the entire ionosphere. Ignoring higher-order effects, the refractive index of the ionosphere can be approximately linearly scaled with the ion density in the ionosphere.
[0038] To perform its various functions, the atmospheric modeling service 240 may include an atmospheric model 242 and an atmospheric model updater 244. The atmospheric model updater 244 is generally responsible for updating and / or refining the atmospheric model 242 based on the error metrics encoded in the training data discussed above. The details of updating the atmospheric model 242 are described below. However, briefly stated here, the atmospheric model updater 244 may update the atmospheric model 242 via Bayesian inference techniques. For example, the currently deployed model may include a joint Gaussian distribution on the model parameters and the covariance of the parameters. When updating the model, the atmospheric model updater 244 may treat the currently deployed model as a prior distribution of the parameters, and treat the likelihood function provided by the GNSS device as a conditional probability that enables the prior distribution to be updated to generate the posterior probability of the model parameters. In some embodiments, the atmospheric model updater 244 may employ a Bayesian filter to update or refine the atmospheric model 242. Because the distribution is a Gaussian distribution, in at least one embodiment, the Bayesian filter may be a Kalman filter.
[0039] Process 200 begins at step 202, where the atmosphere modeling service 240 provides (a current version of) the atmosphere model 242 to the position estimator 224 of the GNSS positioning service 220. At step 204, the satellite signal receiver 222 receives signals from a satellite array (e.g., Figure 1 The satellite array 112 of the satellite receiver 222 receives the group of satellite signals 262. The satellite signal receiver may include an antenna configured to receive the group of satellite signals 262. In step 206, the satellite signal receiver 222 provides the group of satellite signals 262 to the position estimator 224. The position estimator 224 may be configured to determine and / or estimate the position of the GNSS-enabled device implementing the GNSS positioning service 220 based on the atmospheric model 242, the group of satellite signals 262, and one or more other factors. Other factors may include data generated by an accelerometer, a gyroscope, and / or other sensors included in the GNSS-enabled device. In at least one embodiment, the position of the GNSS-enabled device is accurately known by other means. For example, the GNSS-enabled device may not be a mobile device, and its position is known and stable over time. In some embodiments, other factors for determining positioning may include a static or dynamic IP address of the device, communication through a cellular tower, and / or communication through a wireless network, etc. The positioning determined by the position estimator 224 may be a geographic positioning.
[0040] At block 208 of step 208, the location estimator 224 provides the geolocation of the GNSS-enabled device to the atmospheric model likelihood evaluator 226. In some embodiments, the atmospheric model 242 and the set of satellite signals 262 are also provided to the atmospheric model likelihood service 226. At step 210, the atmospheric model likelihood evaluator 226 provides training data encoding the error metric to the atmospheric model updater 226. At step 212, the atmospheric model updater 244 may receive additional training data 264 from the plurality of GNSS-enabled devices 260. At step 214, the atmospheric model updater 244 may update and / or refine the atmospheric model 242 based on the training data, which includes the training data provided by the atmospheric likelihood evaluator 226 and the additional training data 264 provided by the plurality of GNSS-enabled devices 260. At step 216, the updated atmospheric model 242 may be provided to the GNSS positioning service 220.
[0041] More specifically, the location estimator 224 may determine the geolocation of the GNSS-enabled device and the covariance of the geolocation. The geolocation may be referred to as a vector ,and The covariance of may be encoded in a covariance matrix based on the atmospheric model 242, the set of satellite signals 262, and / or one or more other factors (e.g., data from an accelerometer, data from a wireless network, an IP address of the device, a known location of the device, etc.) The satellites in the group of satellites that transmit the satellite signals can be indexed by positive integers. Based on the set of satellite signals 262 (e.g., the timestamps encoded in the signals) and a model of the orbital trajectory of each satellite, the position estimator 224 can determine the orbital position of each satellite. , where the position is encoded in the vector. The determined orbital position of the satellite can be used for the TOT corresponding to its signal. Therefore, the geometric distance of the i-th satellite can be expressed as the size of the difference between the device's geolocation vector and the vector encoding the satellite's orbital position: for example, The position estimator 224 and / or the atmosphere likelihood evaluator 226 may determine the normalized geometric distance matrix .matrix The i-th column in contains the normalized vector representing the direction from the device to the i-th satellite: .
[0042] Position estimator 224 and / or atmosphere likelihood estimator 226 may determine the pseudorange for each satellite. and the covariance matrix of the pseudorange for each satellite The position estimator 224 and / or the atmosphere likelihood estimator 226 may determine a residual vector for the satellite. The components of encode the difference between the pseudorange and geometric range of the satellite, for example, The covariance matrix of the residual vector can be calculated as: .
[0043] The position estimator 224 and / or the atmosphere likelihood evaluator 226 may determine the puncture point of each satellite based on the device's geolocation and the satellite's pseudorange. and puncture angle The puncture point of the i-th satellite may be the location of a line-of-sight "puncture" or penetration of the atmosphere (e.g., the Earth's ionosphere) between the GNSS-enabled device and the satellite. Likewise, the puncture angle may be the angle of the device's line-of-site.
[0044] As described above, the atmospheric model may include a set of basis functions and expansion coefficients (or parameters). The basis functions and expansion coefficients may be indexed by a positive integer index l ranging from 1 to L, where L is a positive integer. The lth basis function may be referred to as , and the lth expansion coefficient (or model parameter) can be called The position estimator 224 and / or the atmosphere likelihood estimator 226 may generate a measurement matrix The measurement matrix can be a with components evaluated at the puncture point and puncture angle of each satellite The components of the measurement matrix can be evaluated as Therefore, the measurement matrix encodes the gradient of the pseudorange in the model parameter space. The information matrix of the user measurement is It can be calculated as:
[0045] .
[0046] As shown below, the information matrix of user measurements can be used to calculate the covariance matrix of the likelihood function.
[0047] For the lth expansion coefficient ,vector Can be defined as: .therefore, corresponds to the total density of the atmosphere at the puncture point of the i-th satellite. The atmospheric model likelihood evaluator 226 may determine a likelihood function for the set of expansion coefficients: For the lth expansion coefficient, the negative log-likelihood function can be written as (up to a constant):
[0048] .
[0049] The likelihood function may include a Gaussian distribution for each expansion coefficient characterized by the likelihood mean and the likelihood covariance matrix . Based on the lth expansion coefficient Using the above expression for the negative log-likelihood, the inverse of the coefficients of the likelihood covariance matrix can be calculated as:
[0050] .
[0051] The likelihood mean of the lth expansion coefficient can be calculated as:
[0052]
[0053] The error metrics calculated by the atmospheric model likelihood evaluator 226 include the likelihood mean and the likelihood covariance matrix As noted throughout, the error metric may be encoded in a data structure included in the training data provided to the atmosphere model updater 244 at step 210. Also as described above, the atmosphere model updater 244 may update the atmosphere model via a Bayesian filter (e.g., a Kalman filter) and the error metric.
[0054] Iterative updates to the model can be indexed by an integer t. Thus, the index The joint distribution of the model at can be used as the index The prior model (e.g., the joint Gaussian distribution of model parameters) can be called ,in is the set of model parameters. This means that the iterative update The value of the parameter model at index (i.e., the "prior" of the parameter value). The likelihood function for a user can be called . Includes the likelihood mean calculated as above and the likelihood covariance matrix Both. Via the Bayesian filter, the posterior model (eg, the updated model) can be calculated as:
[0055]
[0056] Note that the posterior distribution does not need to be normalized, as such normalization constant may not be critical to the model.
[0057] FIG. 3A to FIG. 3E Iterative refinement of the ionospheric model based on federated learning employed in various embodiments is demonstrated. FIG. 3A to FIG. 3E Involves a series of experiments that demonstrate the refinement of the ionospheric model until the model converges to a "ground truth" of the model. In this series of experiments, the Earth's surface and the ionosphere are modeled as concentric 1D circles, with the Earth being the inner circle and the ionosphere being the outer circle. Thus, the model of the ionosphere can be a 1D model where the coordinates of interest are the angles of the corresponding circles swept through the ionosphere. FIG. 3A to FIG. 3E In an embodiment of , the set of basis functions of the ionospheric model is the set of circular harmonics. Thus, the ionospheric model comprises a weighted sum of circular harmonics, and the model parameters comprise expansion coefficients for the sum of basis functions. FIG. 3A to FIG. 3E In the present invention, the set of satellites providing satellite signals are included in a "thin" orbital ring concentric with the concentric circles of the Earth and the ionosphere.
[0058] Go to Figure 3A , Figure 3A The first phase 310 of the experiment is illustrated, which demonstrates the effectiveness of the joint learning achieved by various embodiments. In the first phase 310 of the experiment, the model has not been updated, and the prior model is a uniform model. Figure 3A, the earth 302 and the ionosphere 304 are shown. The earth 302 and the ionosphere form a set of two concentric circles, where the earth 302 is represented by the inner circle of the set of concentric circles and the ionosphere 304 is represented by the outer circle of the set of concentric circles. The satellite array is arranged within a hashed ring 306, which is also concentric with the circles of the earth and the ionosphere. The dots within the hashed ring 306 represent satellites. For clarity, the first satellite 308 of the satellite array is shown. The earth 302, ionosphere 304, hashed ring 306, and satellite array are shown in FIG. Figure 3A , Figure 3B , Figure 3C , Figure 3D and Figure 3E However, for the sake of clarity, these elements are only shown in Figure 3A Indicated by component number.
[0059] For the first phase 310 of the experiment, graph 312 shows a "baseline truth" of the model (labeled "True" in the legend of graph 312) and a current version of the model (labeled "Estimate" in the legend of graph 312). The current version of the model can be used as a "prior" version of the model, where the prior is used in a Bayesian sense. The model is a 1D model and is a function of the angle around the earth 302. The units of the x-axis are radians (e.g., referring to angles around the earth 302). The y-axis represents the evaluation of the model at the corresponding angle (of the x-axis). Figure 3A , no updates to the model have occurred. Therefore, the current estimate of the model is a "uniform" model corresponding to the horizontal line. Graph 314 shows the error in the estimate of the model (e.g., the difference between the baseline truth for the model and the current estimate of the model). A color-coded representation of the information matrix of the likelihood function of the model is shown in graph 316. A color-coded representation of the covariance matrix of the likelihood function of the model is shown in graph 318. Because model updates have not yet occurred, the information matrix of the likelihood function and the covariance matrix of the likelihood function are uniformly filled with 0s.
[0060] Figure 3BThe second phase 320 of the experiment is illustrated. In the second phase 320 of the experiment, the model has been updated via two likelihood functions (e.g., error metrics) provided by the users. Two separate geolocations of two users are displayed on the surface of the earth, as well as the line of sight between the two users and the satellite that transmits the satellite signal through the signal transmission line between the user and the satellite. For clarity, the first line of sight 300 is shown. Note that the puncture point and puncture angle of each satellite (and each user) can be geometrically evaluated by the line of sight that "punctures" the ionosphere. Graph 322 shows the updated estimates of the model and the reference true model. The dots near the points on the x-axis of graph 322 indicate two locations on the earth's surface corresponding to the two likelihood functions. Graph 324 shows the errors in the updated estimates of the model. A color-coded representation of the information matrix of the likelihood function of the model is shown in graph 326. A color-coded representation of the covariance matrix of the likelihood function of the model is shown in graph 328.
[0061] Figure 3C The third phase 330 of the experiment is illustrated. In the third phase 330 of the experiment, the model has been updated via eight likelihood functions provided by the user. Graph 332 shows the updated estimate of the model and the benchmark true model. The shaded band in graph 332 shows the variance of the estimated model (e.g., as an indication of confidence and / or uncertainty). The dots near the points on the x-axis of graph 332 indicate eight locations on the earth's surface corresponding to the eight likelihood functions. Graph 334 shows the errors in the updated estimates of the model. The color-coded representation of the information matrix of the likelihood function of the model is shown in graph 336. The color-coded representation of the covariance matrix of the likelihood function of the model is shown in graph 338.
[0062] Figure 3D The fourth stage 340 of the experiment is illustrated. In the fourth stage 340 of the experiment, the model has been updated via twelve likelihood functions provided by the user. Graph 342 shows the updated estimate of the model and the reference true model. The shaded band in graph 342 shows the variance (e.g., uncertainty) of the estimated model. The dots near the points on the x-axis of graph 342 indicate the twelve locations on the earth's surface corresponding to the twelve likelihood functions. Graph 344 shows the error in the updated estimate of the model. The color-coded representation of the information matrix of the likelihood function of the model is shown in graph 346. The color-coded representation of the covariance matrix of the likelihood function of the model is shown in graph 348.
[0063] Figure 3EThe fifth stage 350 of the experiment is illustrated. In the fifth stage 350 of the experiment, the model has been updated via 300 likelihood functions provided by the user. Graph 352 shows the updated estimated value of the model and the benchmark true model. The shaded band in the graph 352 shows the variance (e.g., uncertainty) of the estimated model. The dots near the points on the x-axis of the graph 354 indicate 300 locations on the earth's surface corresponding to the 300 likelihood functions. Graph 354 shows the error in the updated estimate of the model. The color-coded representation of the information matrix of the likelihood function of the model is shown in graph 356. The color-coded representation of the covariance matrix of the likelihood function of the model is shown in graph 358. Note that through 300 updates, the estimated value of the model has converged to the benchmark truth of the model, and the error and variance have converged to near zero. The information matrix and the covariance matrix have converged to a sparse "near" diagonal matrix.
[0064] Example Method
[0065] FIG. 4A to FIG. 5 Flowcharts of various methods implemented by embodiments are depicted. FIG. 4A to FIG. 5 The flowcharts depict steps performed in a particular order for the purpose of illustration and discussion, but the methods of the present disclosure are not limited to the specific order or arrangement described. They may be omitted, rearranged, combined and / or adjusted in various ways without departing from the scope of the present disclosure. FIG. 4A to FIG. 5 The various steps of the method. Positioning service (for example, Figure 1 The first GNSS positioning service 120 and / or Figure 2 GNSS positioning service 220) and / or atmospheric modeling service (e.g., Figure 1 Atmospheric Modeling Services 140 and / or Figure 2 The atmospheric modeling service 240) can perform at least some steps of the various methods.
[0066] Figure 4A A flow chart of an example method 400 for federated learning of an atmospheric model according to an example embodiment of the present disclosure is depicted. The method 400 begins at block 402, where a GNSS device receives an atmospheric model. The model may be received from an atmospheric model service. The GNSS device may be a GNSS-enabled device (e.g., Figure 1The first GNSS sensor device 102 is a first GNSS sensor device. At block 404, the GNSS device receives a set of satellite signals. At block 406, the GNSS device may estimate and / or determine its position (e.g., geolocation). The determination or estimation of the geolocation of the GNSS device may be based on an atmospheric model, the set of satellite signals, and / or one or more other factors (e.g., data from additional sensors of the device, the IP address of the device, communications across a wireless communication network, etc.). Various embodiments of estimating the position of the GNSS device are combined with Figure 4B At block 408, the GNSS device evaluates a likelihood function of the atmospheric model. The estimated likelihood function may be based on the estimated position of the GNSS device and the set of satellite signals. Various embodiments of the estimated likelihood function are combined Figure 4B The evaluation of the likelihood function may include generating and / or determining an error metric. The error metric may encode the likelihood function. At block 410, and at the GNSS device, the evaluation of the likelihood function is added to a set of evaluations of the likelihood function. The set of evaluations may form a batch of likelihood evaluation functions.
[0067] At decision block 412, a determination is made as to whether to terminate the batch of likelihood function evaluations. If the batch is not to be terminated, the method 400 may return to block 404, where a subsequent set of satellite signals is received. If the batch is to be terminated, the method 400 may proceed to block 410. At block 410, the set of likelihood function evaluations may be sent from the GNSS device. In some embodiments, the set of evaluations may be sent from the GNSS device to an atmospheric modeling service. In at least one embodiment, the error metric (which encodes the estimated likelihood function) may be encoded in a data structure before being sent. The data structure may encode training data for updating the atmospheric model. At block 416, the set of likelihood function evaluations may be cleared. At decision block 418, a determination is made as to whether to receive an updated atmospheric model. If the updated atmospheric model is not to be received, the method 400 returns to block 404 to receive additional satellite signals. If the updated atmospheric model is to be received, the method 400 returns to block 402.
[0068] Figure 4B A flow chart of an example method 420 for generating an error metric according to an example embodiment of the present disclosure is depicted. The method 420 begins at block 422, where the position of the GNSS device (eg, encoded as a vector At block 424, the covariance of the estimated location is determined (e.g., the covariance matrix ). At block 426, estimate the pseudoranges of the satellites At block 428, the covariance of the satellite pseudoranges is estimated At block 430, the position (e.g., orbital position) of each satellite is determined. At block 432, the geometric distance of each satellite is determined (e.g., ). At block 434, the puncture point for each satellite is determined. and puncture angle At block 436, a measurement matrix (e.g., At block 438, a residual vector (eg, ) and residual covariance (e.g., At block 440, a likelihood function for the atmospheric model is determined (e.g., and ).
[0069] Figure 5 A flow chart of an example method 500 for updating an atmospheric model according to an example embodiment of the present disclosure is depicted. The method 500 begins at block 502, where an atmospheric model is provided to a set of GNSS devices (e.g., a set of GNSS-enabled devices). At block 504, a likelihood function for the atmospheric model may be received from at least a subset of the set of GNSS devices. The likelihood function may be encoded in one or more error metrics. The received likelihood function may constitute training data for refining the atmospheric model. At block 506, the atmospheric model may be updated and / or refined based on Bayesian inference techniques and the received likelihood function. At decision block 508, a determination is made as to whether to provide the updated atmospheric model to the set of GNSS devices. If the updated model is to be provided, the method 500 returns to block 502. If the updated model is not to be provided, the method 500 returns to block 504.
[0070] Additional public content
[0071] One embodiment includes a computer-implemented method for satellite-based navigation. The method includes causing determination of an error metric at a computing device. The determination of the error metric may be based on a difference between a set of measurements and a set of expected values. The set of expected values may be based on an atmospheric model and a geographic location of the computing device. The set of measurements may be based on a set of satellite signals received at the computing device from a set of satellites. The error metric may be for the atmospheric model. The method includes causing transmission of a data structure from the computing device to an atmospheric model service. The transmitted data structure may encode the error metric.
[0072] The method may further include receiving, at a second computing device of the atmospheric model service, a data structure encoding the error metric. The second computing device may update the atmospheric model based on the error metric.
[0073] Updating the atmospheric model may include providing the atmospheric model to a Bayesian filter at the second computing device. The second computing device may provide the error metric to the Bayesian filter. The Bayesian filter may be a Kalman filter. The method may further include providing the updated atmospheric model to the computing device.
[0074] In some embodiments, the set of expected values may include a geometric range for each satellite in the set of satellites.The set of measured values may include a pseudorange for each satellite in the set of satellites.
[0075] The atmospheric model may be an ionospheric model characterized by a set of basis functions and a set of expansion coefficients corresponding to the set of basis functions.
[0076] The error metric may encode a likelihood function. The likelihood function may indicate a joint probability distribution for a set of measured values conditioned on the values of a set of parameters of the atmospheric model. The joint probability distribution may include a mean for each parameter in the set of parameters and a covariance for each parameter in the set of parameters. The joint probability distribution may be a multivariate Gaussian distribution for the set of parameters.
[0077] In another example, the atmospheric model may be or include one or more neural networks including a plurality of artificial neurons having a plurality of parameters. The error metric may include or be represented using a loss function and / or a gradient of the loss function (e.g., for each of a plurality of parameters). The atmospheric model may be updated by aggregating error metrics (e.g., gradient values) from a plurality of client devices and then modifying the parameters of the model based on the aggregated error metrics. For example, the parameters may be updated using back propagation of the error. The updated model with the updated parameters may then be provided to the client device.
[0078] The techniques discussed herein refer to servers, databases, software applications, and other computer-based systems, as well as the actions taken and information sent to and from such systems. The inherent flexibility of computer-based systems allows for a variety of possible configurations, combinations, and divisions of tasks and functions between and among components. For example, the processes discussed herein may be implemented using a single device or component or multiple devices or components working in combination. Databases and applications may be implemented on a single system or distributed across multiple systems. Distributed components may operate sequentially or in parallel.
[0079] Although the subject matter has been described in detail with respect to various specific example embodiments of the subject matter, each example is provided by way of explanation rather than limitation of the present disclosure. Those skilled in the art may easily produce changes, modifications, and equivalents to such embodiments after understanding the foregoing. Therefore, the present disclosure does not exclude such modifications, changes, and / or additions to the subject matter that would be readily apparent to those of ordinary skill in the art. For example, a feature shown or described as part of one embodiment may be used together with another embodiment to produce yet another embodiment. Therefore, the present disclosure is intended to cover such changes, modifications, and equivalents.
Claims
1. A computer-implemented method for satellite-based navigation, the method comprising: determining, at a computing device, an error metric based on a difference between a set of measured values and a set of expected values, wherein the set of expected values is based on an atmospheric model and a geographic location of the computing device, the set of measured values is based on a set of satellite signals transmitted by a set of satellites, and the error metric is for the atmospheric model; sending data including the error metric from the computing device to an atmospheric model service; as well as An updated atmospheric model is received at the computing device from the atmospheric model service, the updated atmospheric model being updated based on an aggregation of the error metric from the computing device and other error metrics determined at other computing devices.
2. The method of claim 1, further comprising: receiving, at the computing device, the atmospheric model from the atmospheric model service; receiving, at the computing device, the set of satellite signals transmitted by the set of satellites; as well as The geographic location of the computing device is determined at the computing device based on the atmospheric model and the set of satellite signals.
3. The method of claim 2, wherein determining the geographic location of the computing device is further based on data generated by at least one sensor included in the computing device, wherein the at least one sensor includes at least one of an accelerometer or a gyroscope.
4. The method of any one of claims 1 to 3, wherein the updated atmospheric model is further based on a Bayesian filter. The method of claim 4 , wherein the Bayesian filter is a Kalman filter.
6. The method of any one of claims 1 to 5, wherein the set of expected values comprises a geometric range for each satellite in the set of satellites, and the set of measured values comprises a pseudorange for each satellite in the set of satellites.
7. The method of any one of claims 1 to 6, wherein the atmospheric model is an ionospheric model, the ionospheric model being characterized by a set of basis functions and a set of expansion coefficients corresponding to the set of basis functions.
8. The method of any one of claims 1 to 7, wherein the error metric encodes a likelihood function that indicates a joint probability distribution for the set of measurements conditioned on the values of a set of parameters of the atmospheric model.
9. The method of claim 8, wherein the joint probability distribution comprises a mean of each parameter in the set of parameters and a covariance of each parameter in the set of parameters.
10. The method of claim 8, wherein the joint probability distribution is a multivariate Gaussian distribution of the set of parameters.
11. A computing system comprising: one or more processors; as well as one or more non-transitory computer-readable media that, when executed by the one or more processors, cause the computer system to perform operations comprising: Providing atmospheric models for computing devices; receiving, from the computing device, an error metric determined by the computing device based on a difference between a set of measured values and a set of expected values, wherein the set of expected values is based on the atmospheric model and a geographic location of the computing device, the set of measured values is based on a set of satellite signals received at the computing device from a set of satellites, and the error metric is for the atmospheric model; and updating the atmospheric model based on the error metric; and The updated atmospheric model is provided to at least one of the computing device or another computing device.
12. The computing system of claim 11, wherein updating the atmospheric model comprises: providing the atmospheric model to a Bayesian filter at the computing system; as well as The error metric is provided to the Bayesian filter at the computing system.
13. The computing system of claim 12, wherein the Bayesian filter is a Kalman filter.
14. The computing system of any one of claims 11 to 13, wherein updating the atmospheric model is further based on a plurality of error metrics received from a plurality of computing devices including the computing device.
15. The computing system of claim 14, wherein the set of expected values comprises a geometric range for each satellite in the set of satellites, and the set of measured values comprises a pseudorange for each satellite in the set of satellites.
16. The computing system of any one of claims 11 to 15, wherein the atmospheric model is an ionospheric model, the ionospheric model being characterized by a set of basis functions and a set of expansion coefficients corresponding to the set of basis functions.
17. The computing system of any one of claims 11 to 16, wherein the error metric encodes a likelihood function that indicates a joint probability distribution for the set of measurements conditioned on values of a set of parameters of the atmospheric model.
18. The computing system of claim 18, wherein the joint probability distribution comprises a mean of each parameter in the set of parameters and a covariance of each parameter in the set of parameters.
19. One or more tangible non-transitory computer-readable media storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: causing, at a computing device, to determine an error metric based on a difference between a set of measured values and a set of expected values, wherein the set of expected values is based on an atmospheric model and a geographic location of the computing device, the set of measured values is based on a set of satellite signals received at the computing device from a set of satellites, and the error metric is for the atmospheric model; as well as A transmission of a data structure is caused from the computing device to an atmospheric model service, wherein the data structure encodes the error metric.
20. The one or more tangible non-transitory computer readable media of claim 19, the operations further comprising: receiving, at a second computing device of the atmospheric model service, the data structure encoding the error metric; as well as The atmospheric model is updated at the second computing device based on the error metric.