Method and system for position estimation using domain adaptation

By using neural networks and GAN architectures in the GNSS receiving system for domain adaptive processing, the problem of position estimation accuracy of the GNSS receiving system in a multipath environment is solved, and the location of mobile objects is accurately tracked in the real environment.

CN119768714APending Publication Date: 2025-04-04MITSUBISHI ELECTRIC CORP

Patent Information

Application Number
CN202380061443.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-06
Filing Date
2023-06-30
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

In GNSS receiving systems, prior art is difficult to effectively deal with reduced accuracy in location estimation caused by multipath transmission, especially in urban environments.

Method used

The location estimation is performed using neural networks and domain adaptation is performed through a generative adversarial network (GAN) architecture, mapping GNSS measurement data from the target domain to the source domain to identify and track data affected by multipath.

Benefits of technology

Improves the accuracy of the position estimation of the GNSS receiving system in a multipath environment, and can accurately track the location of moving objects in a real environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119768714A_ABST
    Figure CN119768714A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a method and system for tracking the position of one or more moving objects. The method includes collecting GNSS measurement data of satellite signals transmitted from a plurality of satellites. The method further includes extracting values of the plurality of features from the GNSS measurement data. The method includes mapping extracted values of the plurality of features to a source domain. The method includes classifying a plurality of features of the mapped transforms using a neural network. A neural network is trained on simulation data sampled from a source domain. The method includes identifying a multipath measurement of the GNSS measurement data based on a classification of a plurality of features of a transform of the corresponding map. The method includes tracking a position of one or more moving objects by processing an identification of multipath-affected GNSS measurement data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to global navigation satellite systems (GNSS) and, more particularly, to a method and system for performing position estimation under multipath transmission of signals from at least some satellites. Background Art

[0002] Global Navigation Satellite Systems (GNSS), including GPS, GLONASS, Galileo or BeiDou, are used in many applications. GNSS is a satellite navigation system that uses line of sight (LOS) to a group of satellites to provide position and time information. In urban environments, reflections and refractions of LOS satellite signals can cause multipath transmission, which affects the accuracy of position estimation.

[0003] Conventional GNSS receiving systems or receivers use time and space diversity to minimize the multipath problem of satellite signals. The time method uses the time delay difference between the multipath signal and the LOS signal. However, these methods are computationally complex and ineffective when the delay of the multipath signal is short. The space method uses multiple antennas for multipath detection and mitigation. For example, the method described in U.S. Patent 7,642,957 uses two antennas to receive signals, assuming that at least one antenna receives a "good" signal obtained from a constructively interfering signal. However, constructive interference of satellite signals cannot be guaranteed, and all antennas of such a GNSS receiving system will experience the same multipath degradation.

[0004] Another common approach is to use altitude masking, where the receiver selects the set of active satellites with the highest altitude angles. Although very high or low altitude angles can be a sign of the presence of multipath, this altitude masking is not very effective in obstructed areas such as urban environments.

[0005] In recent years, model-free or data-driven machine learning (ML) techniques that do not require knowledge of the parameters of a model have been improved in a wide range of applications. In particular, the ability of ML techniques to learn complex hidden models from data has proven to be very successful, rapidly surpassing most state-of-the-art human-designed algorithms.

[0006] ML is also useful for position estimation performed by GNSS receiving systems. For example, hidden models of multipath and non-line-of-sight (NLOS) signals can be learned to improve position estimation. However, ML-based multipath and NLOS detection for position estimation in GNSS receiving systems has several challenges, including one or a combination of the following: (1) lack of training data; (2) unclear data representation; (3) no common model for multipath and NLOS signal reception; and (4) the need to tune the architecture of the neural network to the needs of the GNSS receiving system.

[0007] Therefore, there is a need for ML configured for position estimation in a positioning device based on a Global Navigation Satellite System (GNSS). Summary of the invention

[0008] An object of some embodiments is to provide a positioning device based on a global navigation satellite system (GNSS-based positioning device) that uses a neural network to perform position estimation. Additionally or alternatively, an object of some embodiments is to provide ML-based multipath and non-line-of-sight (NLOS) detection for position estimation in GNSS. However, supervised ML-based multipath and NLOS detection requires labeled data for learning. Creating a large amount of labeled data will require a lot of time-consuming efforts and may be subject to experimental and labeling errors. In particular, given the variability of actual data due to environmental, dynamic, and physical constraints on the receiver, it is impractical to provide labeled data for all position estimation scenarios.

[0009] Some embodiments are based on the recognition that, while the availability of tagged GNSS data of the actual position of a mobile object in a target domain is unavailable or at least limited, tagged GNSS data may be available in other domains. As used herein, a domain dominated by at least a current position relative to a plurality of satellites and an environment surrounding a mobile object at the current position is referred to herein as a target domain. GNSS measurement data collected within the target domain has a statistical distribution of multipath and / or non-line-of-sight (NLOS) signals in the target domain, dominated by, for example, urban architecture and infrastructure and the positions of satellites used to collect the GNSS measurement data. Such statistical distribution in the target domain may also be interchangeably referred to herein as a target distribution.

[0010] Other domains with different distributions of GNSS measurement data are referred to herein as source domains. Labeled GNSS data for ML can come from different types of source domains, including real GNSS data with distributions other than the target (e.g., collected at different locations) and / or simulated GNSS data. The source domain may have full or partial knowledge of non-line-of-sight (NLOS) and multipath GNSS signals. To this end, the target domain data resembles real data associated with real GNSS measurements collected in a real or current environment, while the source domain represents a simulation of the real domain. Therefore, the source domain data is a type of simulated data.

[0011] Some embodiments are based on the recognition that there may be challenges associated with using simulated data, e.g., the simulated data may not be an accurate representation of the real data, given the variability of real data due to the environment, dynamics, and physical constraints on GNSS receivers. To this end, training an ML model in a source domain (e.g., on simulated data) and applying it to perform prediction and tracking in a target domain (e.g., on real data) may encounter performance-related challenges that need to be overcome.

[0012] To this end, some embodiments provide domain adaptation of GNSS measurement data from a target domain to a source domain to classify the GNSS measurement data using an ML-based approach. Some embodiments use a generative adversarial network (GAN) architecture model for domain adaptation, particularly a cycle-consistent GAN (CGAN) architecture. Domain adaptation is then used to train an ML model to identify multipath measurements from GNSS measurements, and further perform accurate tracking of one or more mobile objects in a real environment of GNSS.

[0013] Thus, one embodiment discloses a computer-implemented method for tracking the position of one or more mobile objects. The method uses a processor coupled to stored instructions for implementing the method. The instructions, when executed by the processor, perform the steps of the method. The method includes the steps of collecting GNSS measurement data of satellite signals transmitted from a plurality of satellites. The GNSS measurement data is collected during movement or navigation of one or more mobile objects in a target domain. The method also includes the steps of extracting values ​​of a plurality of features from the GNSS measurement data. The plurality of features include one or a combination of: features derived from code and phase measurements, carrier-to-noise power density ratio, and Doppler shift. The method includes the steps of mapping the extracted values ​​of the plurality of features from the target domain to a source domain, wherein the mapped values ​​of the plurality of features have a statistical distribution in the target domain similar to the statistical distribution of training data used to train a classifier in the source domain. The method includes the steps of classifying the mapped values ​​of the plurality of features using a neural network, wherein the neural network is trained on training data sampled from the source domain. Based on the classification of the corresponding mapped values ​​of the plurality of features, GNSS measurement data affected by multipath is identified. In addition, the method includes the steps of tracking the position of one or more mobile objects by processing the identified GNSS measurement data affected by multipath. The plurality of features include one or a combination of the following values: a change in carrier-to-noise power density ratio (C / N0) over time, a code-minus-carrier (CMC) value, and a Doppler rate consistency (DRC) value, and at least first and second derivatives of the plurality of features, a relative satellite elevation angle, and an estimator integer fixed estimate.

[0014] In some embodiments, the mapping of extracted values ​​of multiple features is performed using a cycle-consistent generative adversarial network (CGAN). Some embodiments are based on the recognition that CGAN can be used for image-to-image conversion of images, for example, converting an image of a horse into an image of a zebra and vice versa. However, some embodiments recognize that features extracted from GNSS measurement data can be considered as images, so CGAN can be used for domain adaptation of these features. To this end, some embodiments use CGAN to perform image-to-image conversion on images formed by extracted values ​​of multiple features and images formed by training features used to train neural networks to map extracted values ​​of multiple features. Examples of features that are conducive to such mapping include, but are not limited to, features indicating changes in carrier-to-noise power density ratio (C / N0) over time, code-subtracted carrier (CMC) values, and Doppler rate consistency (DRC).

[0015] Another embodiment discloses tracking the position of one or more mobile objects using a position estimator, wherein the position estimator is a probabilistic filter configured to determine the position of the one or more mobile objects based on GNSS measurement data being identified as being affected by multipath or not affected by multipath.

[0016] Some embodiments disclose that the position estimator is a probability filter configured to determine the position of one or more mobile objects based on GNSS measurement data being identified as being affected by multipath or not affected by multipath. In some embodiments, the probability filter is a mixed integer Kalman filter that calculates an estimate of the receiver state conditioned on the GNSS measurement data identified as not being affected by multipath.

[0017] Some embodiments disclose using a CNN autoencoder (CNN-AE) with K-means clustering to train a neural network to classify multiple features of a map of GNSS measurement data, wherein the multiple features of the map are classified as any of inlier measurements and outlier measurements, wherein K-means clustering distinguishes between inlier measurements and outlier measurements.

[0018] Another embodiment discloses that a neural network is pre-trained offline and updated online during tracking the position of one or more mobile objects using extracted values ​​of multiple features of GNSS measurement data.

[0019] According to another embodiment, a positioning device for tracking the position of one or more mobile objects is provided. The positioning device includes a processor; and a memory having instructions stored thereon, which, when executed by the processor, causes the GNSS to: collect GNSS measurement data of satellite signals sent from multiple satellites, wherein the GNSS measurement data is collected during the movement of one or more mobile objects in a target domain (defined by the environment); extract values ​​of multiple features from the GNSS measurement data, wherein the multiple features include one or a combination of the following: features derived from code and phase measurements, carrier-to-noise power density ratio, and Doppler shift; map the extracted values ​​of the multiple features from the target domain to the source domain, wherein the mapped values ​​of the multiple features have a statistical distribution in the target domain similar to the statistical distribution of training data used to train a classifier in the source domain; classify the mapped values ​​of the multiple features using a neural network, wherein the neural network is trained on training data sampled from the source domain; identify GNSS measurement data affected by multipath based on the classification of the mapped values ​​of the multiple features; and track the position of the one or more mobile objects by processing the identified GNSS measurement data affected by multipath.

[0020] According to another embodiment, a non-transitory computer-readable storage medium is provided, on which a program is specifically implemented, which can be executed by a processor to perform a method for tracking the position of one or more mobile objects. The method includes the following steps: collecting GNSS measurement data of satellite signals sent from multiple satellites, wherein the GNSS measurement data is collected during the movement of one or more mobile objects in a target domain; extracting values ​​of multiple features from the GNSS measurement data, wherein the multiple features include one or a combination of the following: features derived from code and phase measurements, carrier-to-noise power density ratio, and Doppler shift; mapping the extracted values ​​of the multiple features from the target domain to the source domain, wherein the mapped values ​​of the multiple features have a statistical distribution in the target domain similar to the statistical distribution of training data used to train a classifier in the source domain; classifying the mapped values ​​of the multiple features using a neural network, wherein the neural network is trained on training data sampled from the source domain; identifying GNSS measurement data affected by multipath based on the classification of corresponding mapped values ​​of the multiple features; and tracking the position of the one or more mobile objects by processing the GNSS measurement data affected by multipath. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] [ Figure 1 ] Figure 1 An environment of a positioning device according to an embodiment of the present disclosure is shown.

[0022] [ Figure 2A ] Figure 2A A schematic block diagram of a positioning device according to an embodiment of the present disclosure is shown.

[0023] [ Figure 2B ] Figure 2B An exemplary block diagram of a positioning device including a position estimator according to an embodiment of the present disclosure is shown.

[0024] [ Figure 2C ] Figure 2C A block diagram illustrating mapping extracted values ​​of multiple features according to an embodiment of the present disclosure.

[0025] [ Figure 3A ] Figure 3A An exemplary block diagram of a generator for mapping GNSS measurement data from a target domain to a source domain according to an embodiment of the present disclosure is shown.

[0026] [ Figure 3B ] Figure 3B The architecture of a cycle-consistent generative adversarial network (CGAN) for training a generator according to an embodiment of the present disclosure is shown.

[0027] [ Figure 3C ] Figure 3C Showing the use of an embodiment according to the present disclosure Figure 3B The generator maps multiple features from the target domain to a graph representation of the source domain.

[0028] [ Figure 4A ] Figure 4A A block diagram of a classifier neural network for classifying GNSS measurement data according to an embodiment of the present disclosure is shown.

[0029] [ Figure 4B ] Figure 4B A block diagram illustrating a method used by a neural network classifier according to an embodiment of the present disclosure.

[0030] [ Figure 4C ] Figure 4C Showing the use of an embodiment according to the present disclosure Figure 4A and Figure 4B The neural network classifier classifies the GNSS measurement data into either an interior point measurement or an exterior point measurement.

[0031] [ Figure 5 ] Figure 5 A block diagram illustrating an exemplary position estimator for tracking the position of one or more moving objects according to an embodiment of the present disclosure.

[0032] [ Figure 6 ] Figure 6 A block diagram is shown of an exemplary system for tracking one or more moving objects according to an embodiment of the present disclosure.

[0033] [ Figure 7 ] Figure 7FIG. 1 shows a method for using a Figure 2A Block diagram of a system for tracking the location of one or more moving objects using a machine learning approach.

[0034] [ Fig. 8A ] Fig. 8A A flow chart depicting a method of performing position estimation of one or more mobile objects according to an embodiment of the present disclosure is shown.

[0035] [ Figure 8B ] Figure 8B A flow chart showing a method for position estimation of a mobile object according to an embodiment of the present disclosure is configured to receive measurements of carrier phase and code phase signals transmitted from a set of satellites.

[0036] [ Figure 8C ] Figure 8C An overview of the embodiments according to the present disclosure is shown. Figure 2A Schematic diagram of some principles adopted by the positioning device.

[0037] [ Fig.8D ] Fig.8D A flow chart showing a method for executing a position estimator to update parameters of a probability distribution of a vehicle state according to an embodiment of the present disclosure.

[0038] [ Fig. 9 ] Fig. 9 A use case of a positioning device acting as a control system implemented on a vehicle network according to an embodiment of the present disclosure is shown.

[0039] [ Fig.10 ] Fig.10 A block diagram of a computer-based system for tracking the position of one or more mobile objects is shown in accordance with an embodiment of the present disclosure. DETAILED DESCRIPTION

[0040] In the following description, for the purpose of illustration, numerous specific details are set forth in order 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 cases, the devices and methods are shown only in block diagram form to avoid obscuring the present disclosure.

[0041] As used in this specification and claims, the terms "for example" and "such as" and the verbs "include," "have," "comprises," and other verb forms thereof, when used in conjunction with a list of one or more components or other items, should each be interpreted as open-ended, meaning that the list should not be viewed as excluding other additional components or items. The term "based on" means based at least in part on. In addition, it will be understood that the phraseology and terminology employed herein are for descriptive purposes and should not be construed as limiting. Any headings utilized within this description are for convenience only and have no legal or limiting effect. A GNSS receiver is also identified as a GNSS system by some embodiments.

[0042] Figure 1 An environment 100 of a positioning device according to some embodiments is shown. For example, an Nth satellite 104 transmits a signal 112 and a signal 114 including code and carrier phase measurements to a set of receivers 118 and 120. For example, receiver 118 is positioned to receive signals 110, 112 from N satellites 102, 104, 106, and 108. Similarly, receiver 120 is positioned to receive signals 114 and 116 from N satellites 102, 104, 106, and 108.

[0043] In various embodiments, receivers 118 and 120 may be of different types. Figure 1 In an exemplary embodiment of , receiver 120 is a base station receiver whose location is known. In one example, receiver 120 corresponds to a receiver mounted on the ground. In contrast, receiver 118 is a mobile receiver configured to move. In another example, receiver 118 is installed in a cellular phone, a car, or a train. In some implementations, a second receiver 120 is optional and is used to remove uncertainties and errors due to various sources, such as atmospheric effects and errors in the internal clocks of receivers and satellites. Therefore, at least one of a set of receivers 118 and 120 can be associated with one or more mobile objects.

[0044] One or more receivers 118 and 120 are configured to receive GNSS data from one or more of N satellites 102, 104, 106, and 108 in the form of signals (e.g., signals 110, 112, 114, and 116). In general, in order to track the position of one or more mobile objects associated with one or more receivers 118 and 120, the availability of tagged GNSS data is required. GNSS measurement data of signals 110 and 112 transmitted from N satellites 102, 104, 106, and 108 are collected during the movement or navigation of one or more mobile objects in a target domain. Some embodiments are based on the recognition that although the availability of tagged GNSS data of the actual position of the mobile object in the target domain is unavailable or at least limited, tagged GNSS data may be available in other domains (e.g., source domains). As used herein, a domain dominated by at least a current position relative to a plurality of satellites and an environment 100 surrounding the mobile object at the current position is referred to herein as a target domain. The GNSS measurement data collected in the target domain has a statistical distribution of multipath and / or non-line-of-sight (NLOS) signals in the target domain, for example, dominated by the city architecture and infrastructure and the positions of the satellites used to collect such GNSS measurement data. Such statistical distribution in the target domain is also interchangeably referred to herein as target distribution. The GNSS measurement data collected in the target domain represents true GNSS measurement data.

[0045] The statistical distribution of the GNSS measurement data collected in the target domain affects the statistical distribution of features extracted from the collected GNSS measurement data. An example of a statistical distribution may be a joint distribution of different features extracted from the collected GNSS measurement data. For example, the values ​​of the multiple features extracted from the GNSS measurement data may indicate one or a combination of code and phase values, carrier-to-noise power density ratio, and Doppler shift of satellite signals collected in the target domain, such that the statistical distribution of the extracted values ​​of the multiple features is dominated by the target domain.

[0046] Other domains with different GNSS measurement data distributions are referred to herein as source domains. The labeled GNSS data may come from different types of source domains, including actual GNSS data (e.g., collected at different locations) and / or simulated GNSS data having a target distribution other than the target distribution. The source domain may have full or partial knowledge of non-line-of-sight (NLOS) and multipath GNSS signals. To this end, the target domain data is similar to real data associated with real GNSS measurement data collected in a real or current environment, while the source domain represents a simulation of the real domain. On the other hand, the source domain data may be simulated data. Simulation data is conducive to training a neural network to classify multipaths in GNSS measurement data. However, due to the differences in the statistical properties of the data in the source domain and the target domain, the neural network trained in this way may not be able to accurately process GNSS measurement data collected in real time.

[0047] Therefore, given the variability of real data due to the environment, dynamics, and physical constraints on GNSS receivers, there may be challenges associated with using simulated data, such as the simulated data may not be an accurate representation of the real data. To this end, training an ML model in a source domain (e.g., on simulated data) and applying it to perform prediction and tracking in a target domain (e.g., on real data) may encounter performance-related challenges that need to be overcome.

[0048] To this end, some embodiments provide domain adaptation of GNSS measurement data from a target domain to a source domain to classify the GNSS measurement data using an ML-based approach. GNSS measurement data is received in the form of signals (e.g., signals 110-116) having different characteristics. For example, random noise characteristics. These random noise characteristics of the carrier phase and code signals are described by a probability density function (PDF) with a predetermined parameter (e.g., the variance of the PDF). That is, the PDF and the integer ambiguity associated with the position of the receiver 118, 120 are used to determine the range of the ambiguity, which results in a finite number of possible integer values.

[0049] Other embodiments are based on the recognition that a limited number of possible integer values ​​for the carrier phase ambiguity allows evaluation of all possible integer values ​​for tracking the position of the receiver 118, 120. This recognition allows replacement of the evaluation of the carrier phase ambiguity with an evaluation of the position of the receiver 118, 120 determined using the carrier phase ambiguity. This replacement is advantageous because the probabilistic nature of the motion of the receiver 118, 120 is more suitable for evaluating the position than evaluating the derivative of the position (e.g., carrier phase ambiguity).

[0050] To this end, a positioning device associated with environment 100 may be used to track the location of one or more mobile objects in a target domain based on characteristics of signals received by one or more receivers 110 and 120 .

[0051] Specifically, the positioning device depicted by environment 100 can be used to implement an ML model trained on simulated data in a source domain for use with real data in a target domain, where the target domain is different from the source domain. In this regard, an important consideration for the ML model is to retain some relevant information (e.g., multipath information of signal characteristics) from the source domain during the prediction of the position of one or more mobile objects by the ML model. The signal characteristics represent GNSS measurement data received by one or more receivers 110 and 112. The positioning device is in Figure 2A Further explanation in.

[0052] Figure 2AA schematic block diagram 200A of a positioning device 202 according to an embodiment of the present disclosure is shown. The positioning device 202 includes a processor 206 and a memory 208. The processor 206 includes an extractor 210, a generator 212, and a neural network 214. The positioning device 202 is a GNSS-based positioning device (a positioning device based on a global navigation satellite system).

[0053] In some embodiments, examples of the processor 206 include, but are not limited to, an application specific integrated circuit (ASIC) processor, a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a field programmable gate array (FPGA), etc. In some embodiments, the memory 208 includes suitable logic, circuits, and / or interfaces to store a set of computer-readable instructions for performing operations. In addition, examples of the memory 208 may include a random access memory (RAM), a read-only memory (ROM), a removable storage drive, a hard disk drive (HDD), etc. It will be apparent to those skilled in the art that the scope of the present disclosure is not limited to implementing the memory 208 in the positioning device 202 as described herein.

[0054] The memory 208 stores instructions to be executed by the processor 206. The processor 206 is configured to execute the stored instructions to cause the positioning device 202 to collect GNSS measurement data 204 of satellite signals transmitted from a plurality of satellites. The plurality of satellites correspond to Figure 1 The GNSS measurement data 204 is collected during navigation of one or more mobile objects in the target domain. The GNSS measurement data 204 includes, but is not limited to, at least one of a signal formed by code and phase measurements, a carrier-to-noise power density ratio, and a Doppler shift.

[0055] In addition, the extractor 210 is configured to extract values ​​of a plurality of features from the GNSS measurement data 204. The plurality of features include one or a combination of the following: features derived from code and phase measurements, carrier-to-noise power density ratio, Doppler shift, etc. In addition, the extracted values ​​of the plurality of features are mapped from the target domain to the source domain using the generator 212. Figure 3A , Figure 3B and Figure 3C The generator 212 is described in detail.

[0056] The mapped values ​​of the plurality of features provided by the generator 212 have a statistical distribution in the target domain similar to the statistical distribution of the training data used to train the neural network 214 in the source domain. The mapped values ​​of the plurality of features of the GNSS measurement data 204 are classified using the neural network 214 .

[0057] The GNSS measurement data 204 is mapped and transformed from the target domain to the source domain using a neural network 214. The neural network 214 is trained using simulation data having a source distribution of a plurality of features in the source domain that is different from a target distribution of a plurality of features in the target domain. The neural network 214 is pre-trained offline using unbalanced supervised learning with at least instances of the trained simulation data having the source distribution and instances of labeled simulation data having the target distribution. The neural network 214 is trained using a generator 212. In an embodiment, the generator 212 may be a cycle-consistent generative adversarial network. In general, a cycle-consistent generative adversarial network or CGAN is a method of training a deep convolutional neural network for a domain-to-domain translation task (in Figure 3A 204 ). The neural network 214 uses the unpaired data set to learn the mapping between the input features and the output features. In an embodiment of the present disclosure, the neural network 214 is used to generate mapping values ​​for multiple features of the GNSS measurement data 204.

[0058] In addition, the positioning device 202 uses a neural network 214 to classify the mapped plurality of features 212. The neural network 214 is trained on simulated data sampled from the source domain. The neural network 214 includes a classifier 220 (shown in FIG. Figure 2B ). The classifier 220 is trained to classify the mapped values ​​of the plurality of features 212 as either inlier measurements or outlier measurements.

[0059] Based on the classification of the mapped values ​​of the plurality of features, the positioning device 202 identifies the GNSS measurement data affected by multipath. In addition, the positioning device 202 performs tracking of the position of one or more mobile objects in the target domain by processing the GNSS measurements affected by multipath.

[0060] To this end, based on the classification of the mapped values ​​of the plurality of features, the positioning device 202 is configured to identify GNSS measurement data affected by multipath. As is well known, when a transmitted signal reaches a receiver via more than one path, the data is affected by multipath-related interference noise. This interference may affect the quality of the GNSS measurement data, and in turn affect the accuracy of tracking an object using such GNSS measurement data affected by multipath. Therefore, the positioning device 202 is configured to track the position of one or more mobile objects by processing the identified GNSS measurement data affected by multipath and generate an output 216 based on the identification. The positioning device 202 is also configured to control the movement of one or more mobile objects based on the tracked position of the one or more mobile objects.

[0061] In some embodiments, GNSS measurement data identified as being affected by multipath are removed from GNSS measurement data for tracking of one or more mobile objects. In order to track the position of one or more mobile objects, some embodiments disclose a position estimator, as will be described below. Figure 2B Described in .

[0062] Figure 2B An exemplary block diagram of a positioning device 202 including a position estimator 218 according to an embodiment of the present disclosure is shown. The processor 206 includes a generator 212 that provides a plurality of features 212a of a map and a neural network 214 that also includes a classifier 220. The classifier 220 is configured to classify the GNSS measurement 204 as either an inlier measurement or a clean measurement (i.e., a measurement without multipath and with line-of-sight (LOS) transmission) and an outlier measurement (i.e., a measurement corrupted by a bias and non-line-of-sight (NLOS) transmission) in the presence of noise. As an example, a recurrent neural network is used as the position estimator 218.

[0063] The position estimator 218 is used to track the position of one or more mobile objects based on the classification of the corresponding mapped plurality of features 212a, taking into account the probability that the GNSS measurement data is affected by multipath. In some embodiments, the neural network 214 utilizes a classifier 220, which is trained to separate exo-point measurements from inliers, in order to determine which measurements to include or exclude in the position estimator 218. GNSS measurement data in the presence of noise caused by multipath and non-line-of-sight (NLOS) transmissions of at least some satellite signals at certain times is referred to herein as exo-point measurements. In some embodiments, the classifier 220 is trained in the source domain to classify the mapped plurality of features 212a as inliers or exo-point measurements.

[0064] Some embodiments are based on the understanding that the neural network 214 can directly output the position of at least one mobile object based on GNSS measurements identified as multipath GNSS measurements. To this end, in some embodiments, a neural network 214 is used in combination with a position estimator 218, which is a recursive neural network trained to determine the position of one or more mobile objects from GNSS measurement data. The recursive neural network uses attention-based multimodal fusion, which applies different weights to at least some different GNSS measurements to estimate the position of the mobile object from the weighted GNSS measurements. The position estimator 218 prunes the outlier measurements in the target domain to generate clean measurements in the target domain and estimates the position of one or more mobile objects based on the clean (also called inlier) measurements in the target domain. In addition, the tracked position of the one or more mobile objects is generated as an output 216.

[0065] In some embodiments, the position estimator 218 estimates the position of one or more mobile objects based on the probability that the GNSS measurement data is affected by multipath based on the classification of the corresponding mapped multiple features. To this end, the position estimator is a probability filter configured to determine the position of the one or more mobile objects based on whether the GNSS measurement data is identified as being affected by multipath or not affected by multipath. For example, the position estimator 218 can be a probability filter including a mixed integer Kalman filter, which calculates an estimate of the receiver state conditioned on the GNSS measurement data identified as not being affected by multipath. This will be combined with Figure 5 Further discussion.

[0066] To this end, some features of GNSS measurement data are more suitable than others for accurately tracking the position of one or more mobile objects, which will be discussed later. Figure 2C Described in.

[0067] Figure 2C A block diagram 200C is shown for mapping extracted values ​​of multiple features of GNSS measurement data according to an embodiment of the present disclosure. The extracted values ​​of the multiple features 210′ ​​include, but are not limited to, a value of a carrier-to-noise power density ratio (C / N0) over time 210a, a code-to-carrier (CMC) value 210b, and a Doppler rate consistency (DRC) value 210c (e.g., Figure 2C 210a). Typically, C / N0 210a exhibits special behavior under multipath or for NLOS signals. A common technique for detecting multipath is to evaluate C / N0 210a relative to a threshold. Considering that even for pure LOS signals, C / N0 can take a wide range of values, a more advanced solution is to evaluate C / N0 210a with respect to its expected value, which is modeled as a nonlinear function of the satellite altitude angle. This requires tuning, and the C / N0 210a of an unhealthy satellite may be high in some cases. Therefore, the positioning device 202 uses continuous receiver independent exchange format (RINEX) measurements that constitute GNSS measurement data or other types of measurements within a time window W to capture the evolution of C / N0 210a. Since the instantaneous or mean values ​​of C / N0 210a provide false information, these values ​​are concentrated to focus only on changes.

[0068] Typically, CMC 210b is used as a feature. At time epoch t, ​​the i-th CMC of the i-th satellite is defined as in and represents the pseudorange and carrier phase measurements received for the i-th satellite at time epoch t; λ is the signal wavelength; is the ionospheric delay; is the integer ambiguity; is the multipath bias; ε is the measurement noise. Although carrier phase multipath is usually negligible compared to pseudorange multipath, The multipath experienced by the pseudorange and carrier phase measurements is included. To simplify the analysis, it is assumed that the measurement noise is independent of the satellite and time epoch, while the ionospheric delay, integer ambiguity, and multipath bias are satellite dependent and time dependent. The presence of multipath bias in the absence of geometric dependence is an indication of the potential usefulness of this feature. Since the integer ambiguity can take on higher values ​​but remains approximately constant over time, the CMC 210b is centered on the time window.

[0069] In addition, DRC 210c is an effective feature for multipath and NLOS detection, because multipath often affects Doppler shift and pseudorange measurements differently. DRC 210c is defined as: in represents the Doppler shift caused by the relative motion between the receiver and the satellite, c and denote the speed of light and the L1 carrier frequency, respectively, and Δt denotes the duration between two measurements.

[0070] The extracted values ​​of each of these features C / N0 210a, CMC 210b, and DRC 210c are mapped to mapped values ​​of a plurality of features 212a using a generator 212 as shown below in Figure 3A , Figure 3B and Figure 3C Described in detail in .

[0071] Figure 3A An exemplary block diagram 300A is shown of the generator 212 for mapping the GNSS measurement data 204 from a target domain to a source domain according to an embodiment of the present disclosure.

[0072] The generator 212 is based on an architecture that includes one autoencoder (AE) per cluster. Two AEs 302, 304 of the same type are used. The generator 212 includes an additional cluster classifier 306 to select the AE to be used for each specific time windowed measurement set. The generator 212 is initialized using the trained AE and cluster classifier weights w1 and w2. The generator 212 is trained and a weighted MSE loss L is generated. In addition, the reconstruction loss of the two AEs 302, 304 is weighted by the weights obtained from the cluster classifier 306. In order to prevent premature degradation to a single cluster classifier 306, the following training process is used: 1) train each AE 302, 304; 2) train a K-means classifier on a hidden feature set; 3) train the cluster classifier under the supervision of supervised training. The labels obtained by K-means are used as target labels; 4) initialize the generator 212 using the trained AE and cluster classifier weights; and 5) train the entire generator 212. In particular, if X is the input, X1 and X2 represent the outputs of the two AEs, respectively, and w1 and w2 are the weights obtained from the clustering classifier 306, then the training loss is given by:

[0073]

[0074] In one example, the generator 212 includes a cycle-consistent generative adversarial network (CGAN), such as Figure 3B shown.

[0075] Figure 3B The architecture 300B of a cycle-consistent generative adversarial network (CGAN) used as the generator 212 according to an embodiment of the present disclosure is shown. The architecture 300B includes two generators: a simulation generator 316 and a real generator 318. The simulation generator 316 is used to transform the simulation data 314 (i.e., the source domain data) into the real data 314 (i.e., the target domain data). In addition, the real generator 318 transforms the real data 314 into the simulation data 314. The simulation generator 316 and the real generator 318 respectively train the simulation domain discriminator 328 and the real domain discriminator 330 to distinguish between the real generated data and the fake generated data. The simulation domain discriminator 328 and the real domain discriminator 330 are trained in an unsupervised manner and applied to any real data without prior labeling. The simulation domain discriminator 328 and the real domain discriminator 330 distinguish between X S and Whether it is from simulated data or real data. In addition, the mean square error (MSE) loss function is used as the generative adversarial network (GAN) loss 332 and 334 for training the simulated generator 316 and the real generator 318, respectively. The MSE loss function is most commonly used for regression, which calculates the mean of the squared difference between the true value and the predicted value. In addition, the element-wise maximum absolute error (MAE) is used to generate a cyclic loss 324 from the reconstructed simulated data 320 and a cyclic loss 326 from the reconstructed real data 322. The CGAN 300b trains two generators 316 and 318 to ensure consistency between the original data and the restored data by applying the second generator to the transformed data, thereby transforming the data from one domain to another. This processing is required to retain all multipath information in the data in both the source domain and the target domain.

[0076] The architecture 300B is alternatively trained by minimizing the generator loss (cycle loss 324 and 326) and the discriminator loss (GAN loss 332 and 334), which are defined by the following equations, respectively:

[0077] Generator Loss

[0078]

[0079] Discriminator loss

[0080] Where 1 and 0 represent matrices of 1 and 0 respectively; X S and X R is the sample matrix from the simulation data domain and the real data domain; S and λ R is the loss weighting factor of the loop losses 324, 326 in the two domains; G S Corresponding to the simulation generator 316, G R Corresponding to the real generator 318, D S Corresponding to the simulation domain identifier 328, D R Corresponds to the real domain identifier 330 .

[0081] Figure 3C Showing the use of an embodiment according to the present disclosure Figure 3A The generator 212 maps multiple features from the target domain to a graphical representation of the source domain. In addition, Figure 3C The embodiment of the present disclosure includes a generator G R (.) and a graph of the structure used to achieve cross-domain feature distribution alignment between the real domain 340 and the simulated domain 342 during training. Generator G R (.) Semi-real data X R Mapped to very similar simulation data XS The mapped real data can then be classified by the neural network 214 as inlier data or outlier data, such as Figure 4A , Figure 4B and Figure 4C shown.

[0082] Figure 4A A block diagram 400A of a neural network 214 for classifying GNSS measurement data 204 according to an embodiment of the present disclosure is shown. The neural network 214 includes a convolutional neural network autoencoder (CNN-AE) 402 (e.g., Figure 3A 402 takes the simulated data as input and encodes the simulated data in a low-dimensional representation in a so-called feature space. In addition, the neural network 214 performs K-means clustering 404 to distinguish between inliers and outliers. K-means clustering 404 Figure 4C Further explanation in.

[0083] Figure 4B A block diagram 400B illustrates a method used by the classifier 220 of the neural network 214 according to some embodiments. At step 406, the classifier 220 of the neural network 214 performs identification of multipath GNSS measurement data. If the GNSS measurement data is identified as being affected by multipath (yes), then step 408 is performed. At step 408, the classifier 220 excludes the multipath GNSS measurement from the position estimator 218 used to track the position of one or more mobile objects. If the GNSS measurement is not identified as being affected by multipath (no), then step 410 is performed. At step 410, the classifier 220 adds or includes the GNSS measurement in the position estimator 218 used to track the position of one or more mobile objects.

[0084] At step 412, the position of the one or more mobile objects is tracked using the position estimator 218. The position estimator 218 is a probabilistic filter configured to determine the position of the one or more mobile objects. The position estimator 218 uses information from the classifier 220 to include or exclude GNSS measurements based on the predicted presence of multipath. The position estimator 218 is a probabilistic filter that includes a mixed integer Kalman filter that computes an estimate of the receiver state (e.g., a GNSS measurement that is deemed by the classifier 220 to be free of multipath) as a condition. Figure 5 ).

[0085] Some embodiments are based on the recognition that the position estimator 218 is trained from phase measurement signals to perform multipath detection and / or position estimation. For example, in some embodiments, the position estimator 218 is designed using an encoder-decoder architecture. The encoder is trained to learn the input global navigation satellite system (GNSS) phase measurement set, and the decoder converts the encoder's output into a predicted GNSS signal measurement set for position estimation by extracting a fixed number of features that characterize the time dependency of the phase measurement set. As an extension of a feedforward neural network, the position estimator 218 connects current information and past information by adding edges between hidden states that are adjacent in processing time, where the current state value of a hidden layer is affected by the current phase measurement and the previous state value of the hidden layer.

[0086] The classifier 220 performs identification of multipath GNSS measurements based on training the classifier 220 using the generator 212 (CGAN). In an embodiment, the classifier 220 removes the corresponding mapped plurality of features 212a classified as multipath GNSS measurements from the position estimator 218 for tracking the position of one or more mobile objects. The CGAN 212 has an architecture including two generators and two discriminators to facilitate unsupervised training for a loss function including a cycle consistency loss term. Figure 3B The architecture of CGAN 210 is illustrated in .

[0087] Classifier 220 is based on Figure 4A and uses K-means clustering 404 to distinguish between inliers and outliers (in Figure 4C ).

[0088] Figure 4C A block diagram 400C of K-means clustering 404 according to an embodiment of the present disclosure is shown. In general, K-means clustering is an unsupervised machine learning algorithm for solving clustering problems. It follows a simple process of classifying a given data set into multiple clusters (defined by the letter "k" fixed in advance). In other words, K-means clustering 404 involves dividing objects into clusters that share similarities and are dissimilar to objects belonging to another cluster. The clusters are then located as points, and all observations or data points associated with the nearest cluster are calculated and adjusted. The process then restarts with the new adjustments until the desired result is achieved. In an embodiment, prior to K-means clustering 404, inlier measurements 414, NLOS-affected measurements 416, and multipath-affected measurements 418 are placed together in an unstructured manner. After applying K-means clustering, all inlier measurements 414 are grouped together in cluster 420 , all NLOS-affected measurements 416 are grouped together in cluster 422 , and all multipath-affected measurements 418 are grouped together in cluster 424 .

[0089] Based on these separations, GNSS measurements 404 that are affected by multipath and those that are not affected by multipath are identified, which identification is used by the position estimator 218 for tracking the position of one or more mobile objects.

[0090] Figure 5 A block diagram of an exemplary position estimator 218 for tracking the position of one or more mobile objects according to an embodiment of the present disclosure is shown. The position estimator 218 is used as a Kalman filter (KF). In addition, the position estimator 218 is implemented as a mixed integer Kalman filter that calculates an estimate of the receiver state conditioned on the GNSS measurement data 204 identified as not affected by multipath. The KF is a tool for state estimation in a linear state space model. When the noise source is known, the KF is an optimal estimator and when the state estimate is Gaussian, the KF is a Gaussian estimator. The KF estimates the mean and variance of the Gaussian posterior distribution. The mean and variance are two required quantities for describing the Gaussian distribution.

[0091] The KF starts with initial knowledge of the state 502a to determine the mean of the state and its variance 504a. In step 506a, the KF uses a model of the global navigation satellite system (GNSS) (e.g., a motion model of the vehicle) to predict the state and variance for the next time step to obtain an updated mean and variance of the state 508a. The KF then uses the measurement model of the GNSS in an update step 512a using measurements 510a to determine an updated mean and variance of the state 514a. Then, an output 516a is obtained and the process is repeated for the next time step 518a.

[0092] Some embodiments employ probabilistic filters including various variants of KF, such as extended KF (EKF), linear regression KF (LRKF) (e.g., unscented KF (UKF)). Notably, KF uses measurements 510a described by a probabilistic measurement model to update the first and second moments (i.e., mean and covariance) of the probability distribution of interest. In some embodiments, the probabilistic measurement model is a multi-head measurement model constructed to satisfy the measurement update principle in KF.

[0093] In this way, in some embodiments, the probability filter recursively propagates the probability distribution parameters of the vehicle state according to the motion model of the state transition of the vehicle subjected to process noise in each update step 512a, and updates the probability distribution parameters upon receiving the output of one or a combination of the first head of the multi-head measurement model and the second head of the multi-head measurement model.

[0094] In some embodiments, the motion model of the receiver is a general kinematic constant acceleration model with state vector:

[0095] x k =[p r,k vr,k a r,k ] T ,

[0096] The three components are the position, velocity and acceleration of the receiver. In some other embodiments, the time-evolving ambiguity of the propagation of the satellite signal is modeled as

[0097] n k+1 =n k +w n,k , with Gaussian noise w n,k ~N(0,Q n ), where n k It's the fuzziness.

[0098] In some embodiments, the ambiguity is included in the vehicle state. Other embodiments also include a bias state that captures residual errors in atmospheric delays (e.g., ionospheric delays). For receivers that are close enough to each other, the ionospheric delays are the same or similar for different vehicles. Some embodiments exploit this relationship to resolve these delays and / or ambiguities.

[0099] Some embodiments measure model y k =h k +λn k +e k The carrier and code phase signals are captured in k is the measurement noise, which may also capture other unmodeled effects, h k is the nonlinear part of the measurement equation that depends on the location of the receiver, n k is the integer ambiguity, λ is the wavelength of the carrier phase signal, y k It is a combination of single-difference or double-difference measurements using observables from multiple satellites.

[0100] In some embodiments, the probability filter uses carrier phase single difference (SD) and / or double difference (DD) to estimate the receiver state indicating the receiver position. When a carrier phase signal transmitted from one satellite is received by two receivers, the difference between the first carrier phase and the second carrier phase is referred to as the carrier phase SD. Alternatively, SD may be defined as the difference between signals from two different satellites arriving at the receiver. For example, when the first satellite is referred to as the base satellite, the difference may be from the first satellite and the second satellite. For example, the difference between signal 110 from satellite 102 and signal 112 from satellite 104 is an SD signal, where satellite 102 is the base satellite. Using Figure 1The difference between the carrier phases SD obtained from the radio signals from the two satellites in the paired receivers 120 and 118 is called the carrier phase DD. When the carrier phase difference is converted into a number of wavelengths, for example, λ=19cm for L1 GPS (and / or GNSS) signals, it is separated into a fractional part and an integer part. The fractional part can be measured by a positioning device, while the positioning device cannot directly measure the integer part. Therefore, the integer part is called the integer deviation or integer ambiguity.

[0101] Some embodiments are based on the understanding that a particle filter is a filter that can solve mixed integer estimation problems without resorting to optimization methods. Other embodiments understand that in order not to resort to optimization methods, a particle filter requires many particles, which can be computationally prohibitive. To this end, some embodiments solve the recursive mixed integer weighted least squares problem by employing a mixed integer extended Kalman filter (KF). Other embodiments use a mixed integer linear regression KF to solve.

[0102] Figure 6 A block diagram is shown of an exemplary system 600 for tracking one or more moving objects in accordance with an embodiment of the present disclosure.

[0103] Exemplary system 600 includes RINEX data 602, mask 608, and filter 610. In general, RINEX data corresponds to receiver independent exchange data that includes raw satellite navigation system data relative to a specified time interval (usually a calendar day). t Formed from RINEX data 602. Object X t The information of object X exists in RINEX data 602 for a short time. t The function f(.) is a machine learning method that uses mask 608 to output GNSS measurements as either interior point measurement / carrier phase measurement 606 or exterior point measurement / carrier phase measurement 604. The output is represented as Y t =f(X t ). Mask 608 is an elevation mask, in which the receiver selects a set of active satellites with the highest elevation angles. Although very high or very low elevation angles can be a sign of the presence of multipath, this elevation mask does not work well in obstructed areas such as urban environments. Filter 610 uses the output Y t Determine the carrier phase measurement to track the object X t The filter 610 corresponds to Figure 2B Position estimator 218 of the tracked object X t The position is represented by Function f(.) in Figure 7 Further explanation in.

[0104] Figure 7 The present invention is shown in Figure 2. Figure 2A 700 is a block diagram of the use of a machine learning method for tracking the position of one or more mobile objects using a positioning device. The machine learning method corresponds to implementing a function f(.) in three steps 702, 704, and 706. In step 702, CGAN 210 transforms the real data X R Transformed into very similar simulation data X S In step 704, a convolutional neural network autoencoder (CNN-AE) is used to simulate the data X S As input and represented in low dimensionality in feature space F, simulated data X S In step 706, K-means clustering 404 is performed to distinguish between inliers and outliers. Figure 4C K-means clustering is illustrated in .

[0105] Fig. 8A A flowchart 800A depicting a method for performing position estimation of one or more mobile objects according to some embodiments of the present disclosure is shown. At step 802, the method includes collecting GNSS measurement data 204 of one or more satellite signals transmitted from a plurality of satellites. The GNSS measurement data 204 has a target distribution in a target domain that is at least dominated by the current position of the one or more mobile objects relative to the plurality of satellites and the environment surrounding the one or more mobile objects at the current position. Typically, the target domain is a test domain where tag information is not available.

[0106] At step 804, the method includes extracting values ​​of a plurality of features from the GNSS measurement data 204, the GNSS measurement data 204 including at least one of a signal formed with code and phase measurements, a carrier-to-noise power density ratio, and a Doppler shift. The plurality of features include a carrier-to-noise power density ratio (C / N0) variation over time, a code-minus-carrier (CMC) value, a Doppler rate consistency (DRC) value, a first-order derivative and a second-order derivative of the signal, a relative satellite elevation angle, and one or a combination of the ability of the estimator to fix integer estimates. In addition, the extracted values ​​include values ​​of C / N0 variation over time, a code-minus-carrier (CMC) value, and a Doppler rate consistency (DRC) value. Typically, C / N0 exhibits special behavior under multipath or for NLOS (non-line-of-sight) signals. A common technique for detecting multipath is to evaluate C / N0 relative to a threshold. Considering that even for a pure LOS (line-of-sight) signal, C / N0 can take a wide range of values, a more advanced solution is to evaluate C / N0 with respect to its expected value, which is modeled as a nonlinear function of the satellite elevation angle. This requires tuning, and the C / N0 of an unhealthy satellite may be high in some cases.

[0107] At step 806, the method includes mapping the values ​​of a plurality of features extracted from the GNSS measurement data to a source domain (in Figure 3B ). The source domain is a training domain in which the simulated data is statistically similar to the training data used to train the classifier neural network 214. Typically, the simulated data is publicly available and easily accessible data.

[0108] At step 808, the method includes classifying the mapped transformed plurality of features using a neural network. The neural network is trained using a CNN autoencoder with K-means clustering 404 to classify the mapped plurality of features 212a of the GNSS measurement data 204. The mapped plurality of features 212a are classified into inliers and outliers. K-means clustering distinguishes between inliers and outliers (in Figure 6 ).

[0109] In one embodiment, the neural network 214 is trained with simulated data having a source distribution of a source domain that is different from a target distribution of a target domain. The neural network 214 is trained online using GNSS measurements of the target domain and simulated data for training of the source domain. Additionally, the neural network 214 is trained using a cycle consistent generative adversarial network (CGAN). In another embodiment, the neural network is pre-trained offline using unbalanced supervised learning with at least instances of simulated data for training with a source distribution and instances of labeled simulated data with a target distribution.

[0110] At step 810, the method includes identifying GNSS measurement data affected by multipath based on the classification of the mapped plurality of features 212a. GNSS measurement data corresponding to the mapped plurality of features 212a classified as multipath are removed from the position of tracking one or more mobile objects.

[0111] At step 812, the method includes tracking the position of one or more mobile objects in the target domain by processing GNSS measurement data classified as multipath using the position estimator 218 based on the training of the classifier 220 of the neural network 214. The classifier 220 of the neural network 214 is trained in the source domain to classify the GNSS measurement data in the presence of noise into clean measurements (i.e., measurements without multipath and with line-of-sight (LOS) transmission) and outlier measurements (i.e., measurements corrupted by deviations of at least some satellite signals and non-line-of-sight (NLOS) transmission at some time instants).

[0112] As an embodiment, a recurrent neural network is used as the position estimator 218. The recurrent neural network uses attention-based multimodal fusion, which applies different weights to at least some different GNSS measurements to estimate the position of one or more mobile objects from the weighted GNSS measurements. The position estimator 218 is a probability filter that is configured to determine a set of combinations of carrier phase ambiguity integer values ​​consistent with the measurement of the carrier phase signal and the code phase signal according to one or a combination of a motion model and a measurement model within limits defined by one or a combination of process noise and measurement noise. In addition, the probability filter is configured to execute a set of position estimators to determine the position of the receiver by jointly using the motion model and the measurement model. Each position estimator 218 determines a joint probability distribution of the receiver position relative to the motion model and the measurement model. The measurement models of at least some different position estimators include different combinations of carrier phase ambiguity integer values. In addition, the probability filter is configured to determine the receiver position using the position estimator with the highest joint probability of the receiver position based on the measurement of the carrier phase signal and the code phase signal. The probability filter includes, but is not limited to, a mixed integer Kalman filter that solves a mixed integer least squares problem to update the first and second moments of the joint probability distribution of the augmented states of the multiple vehicles. In one embodiment, the position estimator includes a pre-processing block or classifier that classifies the GNSS signals into line-of-sight (LOS) and non-line-of-sight (NLOS) / multipath. After classification, only LOS signals are input to the position estimator 218.

[0113] The classifier 220 is trained in the source domain to classify GNSS measurements as clean measurements or outlier measurements. The position estimator 218 determines the position of one or more mobile objects from the GNSS measurements and selects the GNSS measurements to include based on the training of the classifier of the neural network. In one embodiment, the neural network 214 is pre-trained offline and updated online during tracking the position of one or more mobile objects using the extracted values ​​of the plurality of features 210' of the GNSS measurements.

[0114] Figure 8B Flowchart 800B shows a method of estimating the position of a mobile object 832 configured to receive measurements 826 of carrier and code phase signals transmitted from a set of satellites in accordance with some embodiments. At step 824a, the method includes receiving carrier phase and code phase signals associated with the mobile object 832. Each carrier phase signal includes a carrier phase ambiguity as a measure of the position of the mobile object 832 at a satellite 102, 104, 106, or 108 ( Figure 8B Not shown, refer to Figure 1) and the mobile object 832. Next, the method uses the carrier phase ambiguity of the carrier phase signal to retrieve from the memory a motion model that relates the previous position of the receiver 820 to the current position of the receiver 820 and a measurement model 822 that relates the measurement 826 of the carrier phase and code phase signals to the current position of the receiver 820. The motion model and the measurement model 822 are probabilistic models. For example, the motion model is a probabilistic model subject to process noise and the measurement model 822 is a probabilistic model subject to measurement noise.

[0115] At step 828a, the method then determines a possible set of combinations of integer values ​​830a of carrier phase ambiguities consistent with the measurements 826 of the carrier phase and code phase signals from one or a combination of the motion model and the measurement model 822 within the bounds defined by one or a combination of the process noise and the measurement noise. This step is based on the understanding that instead of attempting to determine the carrier phase ambiguities to perform a position estimate, it is beneficial to determine and evaluate different possible combinations of carrier phase ambiguities for position estimation. In this way, the best carrier phase ambiguities are selected using a probabilistic model that better reflects the nuances of the position estimate.

[0116] To this end, at step 834a, the method executes a set of position estimators to determine the receiver position 820 by jointly using the motion model and the measurement model 822. Each position estimator includes a corresponding combination of integer values ​​of its carrier phase ambiguities to determine a joint probability distribution 836a of the receiver position relative to the motion model and the measurement model 822, which in one embodiment is defined by the classifier 220 operating on the transformed signal. In this way, the combinations of integer values ​​of carrier phase ambiguities are evaluated probabilistically because the measurement models of at least some different position estimators include different combinations of integer values ​​of carrier phase ambiguities selected from the measurements (set of possible combinations) 830a. Next, the method determines the receiver position 820 using the position estimator with the highest joint probability of the receiver position 820 based on the measurements 826 of the carrier phase and code phase signals. At step 838a, the method updates the distribution parameters of the receiver position 820 using the updated parameters 840a calculated by associating the acquired measurements with the defined measurement model.

[0117] To this end, some embodiments are based on the recognition that estimating a range of possible integer values ​​of the carrier phase ambiguity and selecting an integer value of the carrier phase ambiguity from this range can be done probabilistically using a consistency of the motion and measurement models relative to a probability density function (PDF) of the noise of the measurement model 822.

[0118] Figure 8C An overview of the embodiments according to the present disclosure is shown. Figure 2A and Figure 2BSchematic diagram 800C of some principles employed by the positioning device 202. In particular, some embodiments are based on the recognition that a limited number of possible integer values ​​of the carrier phase ambiguity allow the execution of step 838b. In step 838b, different combinations of those possible integer values ​​are determined for tracking the position of the GNSS receiver.

[0119] This recognition allows step 848 to be performed to replace the three steps 824b, 828b, and 834b with steps 842, 844, and 846. Step 824b includes determining or evaluating carrier phase ambiguities for estimating the receiver position. Step 828b includes estimating the receiver position using the carrier phase ambiguities. Step 834b includes the position of the GNSS receiver. Step 844 includes evaluating different positions of the GNSS receiver determined in step 842 using different combinations of carrier phase ambiguities. This replacement is advantageous because the probabilistic nature of the motion of the receiver is more suitable for evaluating the position than evaluating the derivatives of the position (e.g., carrier phase ambiguities). In this way, the best position 846 selected using the probabilistic nature of the motion of the receiver automatically indicates the corresponding combination of carrier phase ambiguities used to determine the best position 846.

[0120] Another example of a position estimator 218 is a KF, which uses a series of measurements observed over time that contain statistical noise and other inaccuracies, and generates estimates of unknown variables by estimating the joint probability distribution over the variables at various time ranges, which is often more accurate than estimates based on a single measurement alone. The KF tracks the estimated state of the positioning device 202 and the uncertainty of the estimate. The estimate is updated using a motion model and measurements of state transitions. Some embodiments use a KF-based system with a motion model subject to process noise of a GNSS receiver associated with a moving object and a measurement model of satellite signals subject to measurement noise. In some embodiments, the measurement model is probabilistic and multi-headed, that is, includes multiple paths that generate different types of outputs. The measurement model includes different information and different types of noise, but has a similar structure acceptable to a probabilistic filter, allowing the outputs of different heads to be used individually or jointly.

[0121] Fig.8DA flow chart of a method for executing a position estimator 218 to update probability distribution parameters of a vehicle state according to an embodiment of the present disclosure is shown. At step 850, the method receives relevant measurements 852 of the state, including a measurement model, without outlier measurements. Each carrier phase signal includes a carrier phase ambiguity as an unknown integer number of wavelengths of the carrier phase signal propagating between a satellite 102, 104, 106, or 108 and a mobile object 832. Next, at step 856, the method retrieves from memory a motion model that associates a previous state of the vehicle with a current state of the vehicle and a measurement model that associates measurements of carrier phase and code phase signals with current confidences of the vehicle state using the carrier phase ambiguities of the carrier phase signals and estimates of the vehicle state and confidences of the vehicle state. Both models, i.e., the motion model and the measurement model, are probabilistic. For example, the motion model is a probabilistic model subject to process noise and the measurement model is a probabilistic model subject to measurement noise. Using the measurement model, measurements, motion model, and probability distribution parameters determined during the previous iteration, the method executes step 854 to perform a Kalman filter (KF) that updates the first and second moments of the probability distribution. The updated first moments of the ambiguities contained in the state are real valued. Next, at step 858, the method solves a weighted least squares optimization problem that fixes the ambiguities to have integer values. The optimization problem cost function is the squared Euclidean norm of the deviation of the first moment of the state from the value estimate 860 determined by the KF 854. Using the resulting integer ambiguities 862, at step 864, the method executes a KF initialized with the real valued portion of the first moment and the integer valued portion of the first moment to obtain updated probability distribution parameters.

[0122] In some embodiments, the KF is an extended KF, and the nonlinear parts of the motion and measurement models are linearized around the current confidence of the state. In other embodiments, the KF is a linear regression KF, such as a traceless KF, a volumetric KF, or an intelligent sampling KF. The linear regression KF avoids the linearization around the current state estimate as in the extended KF, and is generally accurate, but computationally complex. Instead of linearization, the linear regression KF solves the moment integral involved through a set of weighted integration points, and can be used to determine other probability distribution parameters, such as high-order moments. These high-order moments are useful when the first-order and second-order moments cannot represent the underlying distribution well enough.

[0123] In addition, various embodiments may be described as processes, which are depicted as flow charts, data flow diagrams, structure diagrams, or block diagrams. Although flow charts may describe operations as sequential processes, many operations may be performed in parallel or simultaneously. In addition, the order of operations may be rearranged. A process may terminate when its operations are completed, but may have additional steps that are not discussed or included in the accompanying drawings. In addition, not all operations in any specifically described process may appear in all embodiments. A process may correspond to a method, a function, a program, a subroutine, a subprogram, etc. When a process corresponds to a function, the termination of the function may correspond to the function returning to the calling function or the main function.

[0124] Fig. 9 The use case of the positioning device 202 according to the embodiment of the present disclosure acting as a control system 900 is shown, and the control system 900 is implemented on a vehicle network to control the navigation of one or more mobile objects. In this embodiment, one or more mobile objects correspond to vehicles, such as any of vehicles 902, 904 and 906. Vehicles 902, 904 and 906 communicate with access points (such as access points 912, 910 and 908) of the vehicle network. The control system 900 can be installed on the roadside to control the movement or navigation of vehicles 902, 904 and 906. In this way, some elements of the control system 900 are implemented on vehicles 902, 904 and 906, and some elements are implemented on access points and / or other systems that are operatively connected to access points. In this example, vehicles 902, 904, 906 can be different vehicles or the same vehicle at different time points.

[0125] For example, in one embodiment, the vehicle 902 includes a transceiver to send GNSS measurement data to the access point 912 and receive an estimate of the vehicle's position from the access point. The position estimate is performed by the access point 912 using the positioning device 202 (and / or other systems operatively connected to the access point) described in the above disclosed embodiments and sent back to the vehicle. In addition, the neural network is trained to determine the position in the area covered by the access point 912 in the vehicle network. When the vehicle moves between areas covered by different access points (e.g., access points 910 or 908) without the vehicle's knowledge, the different access points track the location of the vehicle. In the example, the control system 900 controls the navigation and / or movement of the vehicles 902, 904, and 906 based on the positions it tracks. The control system 900 collects real-time traffic data. In addition, the control system 900 controls the movement of the vehicles 902, 904, and 906, such as the speed of the vehicles 902, 904, and 906, based on the tracked positions of the vehicles 902, 904, and 906 and the real-time traffic data. Control system 900 may provide navigation routes to vehicles 902 , 904 , and 906 based on their tracked locations.

[0126] Fig.10A block diagram of a computer-based system 1000 for tracking the position of one or more mobile objects is shown in accordance with an embodiment of the present disclosure.

[0127] The system 1000 includes at least one processor 1008 and a memory 1006 storing instructions, the instructions including executable instructions to be executed by the at least one processor 1008 during control of the system 1000. The memory 1006 is embodied as a storage medium, such as a RAM (random access memory), a ROM (read only memory), a hard disk, or any combination thereof. For example, the memory 1006 stores instructions executable by the at least one processor 1008. In an example embodiment, the processor 1008 is configured to train the generator 1010 and the classifier 1012. The generator corresponds to Figure 2A Generator 212 of. Classifier 1012 corresponds to Figure 2B Classifier 220.

[0128] The at least one processor 1008 may be embodied as a single core processor, a multi-core processor, a computing cluster, or any number of other configurations. The at least one processor 1008 is operatively connected to the sensor 1004, the receiver 1014 via a bus 1020. In an embodiment, the at least one processor 1008 is configured to collect GNSS measurements 1002. In some example embodiments, the GNSS measurements 1002 are collected from the receiver 1014. The receiver 1014 is connected to an input device 1026 via a network 1024. The GNSS measurements 1002 are stored in the storage 1016. In some other example embodiments, the GNSS measurements 1002 are collected from the sensor 1004.

[0129] Additionally or alternatively, the system 1000 is integrated with a network interface controller (NIC) 1022 to receive GNSS measurements 1002 using a network 1024 .

[0130] At least one processor 1008 is configured to train a generator 1010 for domain adaptation and a classifier 1012 for classifying whether satellite data contains multipath bias. In this sense, the neural network 1010 represents a generator.

[0131] The trained classifier 1012 determines whether the measurement data is corrupted by multipath bias, and the position estimator 218 uses this information to estimate the position of one or more mobile objects. The estimate is sent via the transmitter 1018. Additionally or alternatively, the transmitter 1018 is coupled to an output device 1028 to output the position of the tracked one or more mobile objects via a wireless or wired communication channel (e.g., network 1024). The output device 1028 includes a computer, laptop, smart device, or any computing device for preventing adversarial attacks in applications installed in the output device 1028.

[0132] In addition, embodiments of the disclosed subject matter may be implemented at least in part manually or automatically. Manual or automatic implementation may be performed or at least assisted using a machine, hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, program code or code segments that perform the desired tasks may be stored in a machine-readable medium. A processor may perform the desired tasks.

[0133] The above-mentioned embodiments of the present disclosure can be implemented in any of numerous ways. For example, the embodiments can be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or processor set (whether arranged on a single computer or distributed between multiple computers). These processors can be implemented as integrated circuits, in which one or more processors are in an integrated circuit assembly. However, the processor can be implemented using a circuit of any suitable format.

[0134] In addition, the various methods or processes outlined herein may be encoded as software that can be executed on one or more processors using any of a variety of operating systems or platforms. In addition, such software may be written using any of a variety of suitable programming languages ​​and / or programming or scripting tools, and may be compiled into executable machine language code or intermediate code that is executed on a framework or virtual machine. Typically, in various embodiments, the functionality of the program modules may be combined or distributed as desired.

[0135] In addition, embodiments of the present disclosure may be embodied as a method, examples of which have been provided. The actions performed as part of the method may be ordered in any suitable manner. Thus, embodiments may be constructed that perform actions in an order different from that shown, which may include performing some actions simultaneously, although shown as sequential actions in the illustrative embodiments. Therefore, it is the purpose of the appended claims to cover all such changes and modifications that fall within the true spirit and scope of the present disclosure.

[0136] Although the present disclosure has been described with reference to certain preferred embodiments, it will be understood that various other adaptations and modifications may be made within the spirit and scope of the present disclosure. Therefore, the aspects of the appended claims cover all such changes and modifications that fall within the true spirit and scope of the present disclosure.

Claims

1. A positioning device for tracking the position of one or more mobile objects based on transmissions from a global navigation satellite system (GNSS), the positioning device comprising: processor; and a memory having instructions stored thereon, which, when executed by the processor, cause the positioning device to: collecting GNSS measurement data of satellite signals transmitted from a plurality of satellites of the GNSS, wherein the GNSS measurement data is collected during movement of the one or more mobile objects in a target domain; extracting values ​​of a plurality of features indicative of one or a combination of code and phase values, carrier-to-noise power density ratio, and Doppler shift of the satellite signals collected in the target domain from the GNSS measurement data such that a statistical distribution of the extracted values ​​of the plurality of features is dominated by the target domain; mapping the extracted values ​​of the plurality of features from the target domain to a source domain such that a statistical distribution of the mapped values ​​of the plurality of features is similar to a statistical distribution of values ​​of a plurality of training features collected in the source domain; classifying the mapped values ​​of the plurality of features using a neural network trained using the training features sampled from the source domain to identify the GNSS measurement data affected by multipath; and The positions of the one or more mobile objects are tracked by processing the GNSS measurements based on the identified GNSS measurements affected by multipath.

2. The positioning device according to claim 1, wherein: The processor is configured to remove the identified GNSS measurement data affected by multipath from the GNSS measurement data collected for tracking.

3. The positioning device according to claim 1, wherein: A classifier estimates probabilities that different instances of the GNSS measurement data are affected by the multipath, and wherein the processor is configured to track the positions of the one or more mobile objects using a probabilistic position estimator based on the probabilities that different instances of the GNSS measurement data are affected by the multipath.

4. The positioning device according to claim 1, wherein: The positions of the one or more mobile objects are tracked using a position estimator, wherein the position estimator is a probabilistic filter configured to determine the positions of the one or more mobile objects based on identifying the GNSS measurement data as being affected by multipath or not affected by multipath.

5. The positioning device according to claim 4, wherein: The position estimator is the probabilistic filter comprising a mixed integer Kalman filter that computes an estimate of receiver state conditioned on the GNSS measurement data identified as not being affected by multipath.

6. The positioning device according to claim 1, wherein: The plurality of features include features indicative of a change in carrier-to-noise power density ratio (C / N0) over time, a code-minus-carrier (CMC) value, and a Doppler rate consistency (DRC).

7. The positioning device according to claim 1, wherein: The plurality of features include features indicating a change in a carrier-to-noise power density ratio (C / N0) over time, a code-minus-carrier (CMC) value, and a Doppler rate consistency (DRC), derivatives of the C / N0, the CMC, and the DRC, one or a combination of a relative satellite elevation angle, and an estimator integer fixed estimate.

8. The positioning device according to claim 1, wherein: The processor is configured to map the extracted values ​​of the plurality of features using a cycle-consistent generative adversarial network (CGAN) that performs a tensor-to-tensor conversion of a tensor formed of the extracted values ​​of the plurality of features and a tensor formed of training features for training the neural network.

9. The positioning device according to claim 8, wherein: The architecture of the CGAN includes two generators and two discriminators, such that the architecture is associated with a loss function including a cycle consistency loss term for providing unsupervised training for the CGAN.

10. The positioning device according to claim 1, wherein: The neural network is trained using a CNN autoencoder (CNN-AE) with K-means clustering to classify the mapped multiple features of the GNSS measurement data, wherein the mapped multiple features are classified as any one of inlier measurements and outlier measurements, wherein the K-means clustering distinguishes between the inlier measurements and the outlier measurements.

11. The positioning device according to claim 1, wherein: The neural network is pre-trained offline and updated online during tracking the position of the one or more mobile objects using the extracted values ​​of the plurality of features of the GNSS measurement data.

12. The positioning device according to claim 1, wherein: The neural network is trained using simulated data associated with the GNSS measurement data collected during navigation of an object in the source domain.

13. The positioning device according to claim 1, wherein: The one or more moving objects include a vehicle.

14. The positioning device according to claim 1, wherein: The positioning device is further configured to control the movement of the one or more mobile objects based on the tracked positions of the one or more mobile objects.

15. A computer-implemented method for tracking the position of one or more mobile objects based on transmissions from a global navigation satellite system (GNSS), wherein: The computer-implemented method is performed by a processor coupled to stored instructions implementing the method, wherein the stored instructions, when executed by the processor, perform the steps of the method, the method comprising the steps of: collecting GNSS measurement data of satellite signals transmitted from a plurality of satellites, wherein the GNSS measurement data is collected during movement of the one or more mobile objects in a target domain; extracting values ​​of a plurality of features indicative of one or a combination of code and phase values, carrier-to-noise power density ratio, and Doppler shift of the satellite signals collected in the target domain from the GNSS measurement data such that a statistical distribution of the extracted values ​​of the plurality of features is dominated by the target domain; mapping the extracted values ​​of the plurality of features from the target domain to a source domain such that a statistical distribution of the mapped values ​​of the plurality of features is similar to a statistical distribution of values ​​of a plurality of training features collected in the source domain; classifying the mapped values ​​of the plurality of features using a neural network trained using the training features sampled from the source domain to identify the GNSS measurement data affected by multipath; and The positions of the one or more mobile objects are tracked by processing the GNSS measurements based on the identified GNSS measurements affected by multipath.

16. The computer-implemented method of claim 15, wherein: The extracted values ​​of the plurality of features, referred to as tensors, are mapped using a cycle-consistent generative adversarial network (CGAN), the CGAN performing a tensor-to-tensor conversion of a tensor formed of the extracted values ​​of the plurality of features and a tensor formed of training features for training the neural network.

17. The computer-implemented method of claim 15, wherein: The identified GNSS measurements affected by multipath are removed from the GNSS measurements collected for tracking.

18. The computer-implemented method of claim 15, wherein: The plurality of features include features indicative of a change in carrier-to-noise power density ratio (C / N0) over time, a code-minus-carrier (CMC) value, and a Doppler rate consistency (DRC).

19. The computer-implemented method of claim 15, further comprising the steps of: Movement of the one or more moving objects is controlled based on the tracked positions of the one or more moving objects.

20. A non-transitory computer-readable storage medium having embodied thereon a program executable by a processor for performing a method for tracking the position of one or more mobile objects based on transmissions from a global navigation satellite system (GNSS), the method comprising the steps of: collecting GNSS measurement data of satellite signals transmitted from a plurality of satellites, wherein the GNSS measurement data is collected during movement of the one or more mobile objects in a target domain; extracting values ​​of a plurality of features indicative of one or a combination of code and phase values, carrier-to-noise power density ratio, and Doppler shift of the satellite signals collected in the target domain from the GNSS measurement data such that a statistical distribution of the extracted values ​​of the plurality of features is dominated by the target domain; mapping the extracted values ​​of the plurality of features from the target domain to a source domain such that a statistical distribution of the mapped values ​​of the plurality of features is similar to a statistical distribution of values ​​of a plurality of training features collected in the source domain; classifying the mapped values ​​of the plurality of features using a neural network trained using the training features sampled from the source domain to identify the GNSS measurement data affected by multipath; and The positions of the one or more mobile objects are tracked by processing the GNSS measurements based on the identified GNSS measurements affected by multipath.

Citation Information

Patent Citations

  • GPS system utilizing multiple antennas

    US7642957B2

Cited By

  • Mineral spectral characteristic unmixing device using generative adversarial network

    CN120726454A