Method and system for position estimation using domain adaptation

The method employs a CGAN-based domain adaptation and probabilistic filters to enhance GNSS position estimation in urban environments by mitigating multipath interference, leveraging simulated data for improved accuracy in real-world conditions.

JP2025523270AInactive Publication Date: 2025-07-17MITSUBISHI ELECTRIC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025523230
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-06
Filing Date
2023-06-30
Publication Date
2025-07-17
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Conventional GNSS systems face challenges in accurately estimating positions in urban environments due to multipath and non-line-of-sight signal interference, which existing methods like time and space diversity, elevation masking, and machine learning approaches struggle to address effectively, especially with limited labeled data availability and environmental variability.

Method used

A method using a Cycle-Consistent Adversarial Network (CGAN) for domain adaptation, mapping GNSS measurement data from a target domain to a source domain, combined with a neural network and probabilistic filters like mixed integer Kalman filters, to identify and mitigate multipath interference and enhance position estimation accuracy.

Benefits of technology

The solution enables accurate tracking of moving objects by distinguishing between multipath and line-of-sight signals, improving position estimation in complex environments by leveraging simulated data for training and adapting to real-world conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025523270000001_ABST
    Figure 2025523270000001_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure disclose a method and system for tracking the positions 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 a plurality of features from the GNSS measurement data. The method includes mapping the extracted values of the plurality of features to a source domain. The method includes classifying the plurality of features that have been mapping-transformed using a neural network. The neural network is trained on simulated data sampled from the source domain. The method includes identifying multipath measurement values of the GNSS measurement data based on the classification of the corresponding plurality of mapping-transformed features. The method includes tracking the positions of one or more moving objects by processing the identification of GNSS measurement data affected by multipath.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to a Global Navigation Satellite System (GNSS), and more specifically to a method and system for position estimation under multipath transmission from at least some satellite signals.

Background Art

[0002] Global Navigation Satellite Systems (GNSS), including GPS, GLONASS, Galileo, or BeiDou systems, are used in many applications. GNSS is a satellite navigation system that provides position and time information using lines-of-sight (LOS) to a set of satellites. In urban environments, multipath transmission that affects the accuracy of position estimation may occur due to reflection and refraction of LOS satellite signals.

[0003] Conventional GNSS receiving systems or receivers use time and space diversity to minimize problems related to multipath of satellite signals. The time method uses the difference in time delay between the multipath signal and the LOS signal. However, those 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 No. 7,642,957 receives signals using two antennas, assuming that at least one antenna receives a "good" signal generated by a signal interfered with constructively. However, it is not possible to guarantee constructive interference of satellite signals, and all antennas of such GNSS receiving systems may be subject to the same multipath degradation.

[0004] Another common approach is to use an elevation mask, where the receiver selects the active set of satellites with the highest elevations. Very high or low elevations may suggest the presence or absence of multipath, but such elevation masking does not work well in areas with many obstacles, such as an urban environment.

[0005] In recent years, model-free or data-driven machine learning (ML) techniques that do not require knowledge of parametric models have led to improvements in a wide range of applications. In particular, the ability of ML techniques to learn complex hidden models from data has quickly surpassed most human-designed state-of-the-art algorithms and has achieved considerable success.

[0006] ML is also useful for position estimation performed by a GNSS receiving system. For example, it is possible to learn hidden models of multipath and non-line-of-sight (NLOS) signals to improve position estimation. However, there are several challenges for ML-based multipath and NLOS detection for position estimation in a GNSS receiving system, including one or a combination of (1) lack of training data, (2) ambiguity in data representation, (3) lack of a common model for multipath and NLOS signal reception, and (4) the need to adapt the architecture of neural networks to the needs of the GNSS receiving system.

[0007] Therefore, it is necessary to configure ML for position estimation in a positioning device based on a global navigation satellite system (GNSS). SUMMARY OF THE INVENTION

[0008] The objective of some embodiments is to provide a global navigation satellite system (GNSS)-based positioning device that performs position estimation using a neural network. In addition to or instead of this, the objective 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 large amounts of labeled data requires a huge and time-consuming effort, and experimental and labeling errors may occur. Specifically, considering the variations in actual data due to environmental, mechanical, and physical constraints on the receiver, it is unrealistic to provide labeled data for all position estimation scenarios.

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

[0010] Other domains having different GNSS measurement data distributions are referred to herein as source domains. The labeled GNSS data used in ML can be obtained from different types of source domains, including actual GNSS data having distributions other than the target distribution, e.g., GNSS data collected at different locations, and / or simulated GNSS data. The source domain can have complete or partial knowledge about non-line-of-sight (NLOS) and multipath GNSS signals. Thus, the target domain data is similar to 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, source domain data is a kind of simulated data.

[0011] Some embodiments are based on the recognition that there may be issues related to the use of simulated data, such as that simulated data may not accurately represent real data when considering the variability of real data due to environmental, mechanical, and physical constraints on the GNSS receiver. Therefore, when training an ML model in the source domain (e.g., with simulated data) and applying it to perform predictions and tracking in the target domain (e.g., with real data), performance-related issues may be faced and need to be overcome.

[0012] Therefore, some embodiments provide domain adaptation from a target domain to a source domain of GNSS measurement data in order to use an ML-based approach for classifying GNSS measurement data. Some embodiments use a Generative Adversarial Network (GAN) architecture model, specifically a cycle-consistent GAN (CGAN) architecture, for domain adaptation. Then, the domain adaptation is used to train an ML model to identify multipath measurements from GNSS measurements and to further perform accurate tracking of one or more moving objects in a real-world environment of GNSS.

[0013] Accordingly, one embodiment discloses a method implemented by a computer for tracking the position of one or more moving objects. The method uses a processor coupled to stored instructions that implement the method. The instructions, when executed by the processor, perform the steps of the method. The method includes collecting GNSS measurement data transmitted from a plurality of satellites. The GNSS measurement data is collected during the movement or navigation of one or more moving objects in a target domain. The method further includes extracting values of a plurality of features from the GNSS measurement data. The plurality of features includes one or a combination of features derived from code and phase measurements, carrier power to noise power density ratio, and Doppler shift. The method includes 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 that is similar to the statistical distribution of training data used to train a classifier in the source domain. The method includes 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. Further, the method includes tracking the position of one or more moving objects by processing the GNSS measurement data identified as being affected by multipath. The plurality of features includes one or a combination of values of the change over time of the carrier power to noise power density ratio (C / N0: carrier-to-noise-power-density-ratio), code-minus-carrier (CMC) values, and Doppler rate consistency (DRC) values, and at least the first and second derivatives of these plurality of features, relative satellite altitude, and integer-fixed estimation values of an estimator.

[0014] In some embodiments, the mapping of the extracted values of the plurality of features is performed using a Cycle-Consistent Adversarial Network (CGAN). Some embodiments are based on the recognition that a CGAN can be used for image-to-image conversion of images, for example, to convert an image of a horse to an image of a zebra or vice versa. However, some embodiments understand that features extracted from GNSS measurement data can be treated as images, and thus a CGAN can be used for domain adaptation of these features. Therefore, some embodiments use a CGAN that performs image-to-image conversion of an image formed by the extracted values of the plurality of features and an image formed by training features used to train a neural network to map the extracted values of the plurality of features. Examples of features advantageous for such mapping include, but are not limited to, the change over time of the carrier power to noise power density ratio (C / N0), the code minus carrier (CMC) value, and the Doppler rate consistency (DRC).

[0015] Another embodiment discloses that the position of one or more moving objects is tracked using a position estimator, which is a probabilistic filter configured to determine the position of one or more moving objects based on an identification of whether GNSS measurement data is affected by multipath or not.

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

[0017] In some embodiments, the neural network is trained using a CNN auto-encoder (CNN-AE) with K-means clustering to classify a plurality of mapped features of GNSS measurement data, the plurality of mapped features are classified as either normal measurement values or abnormal measurement values, and K-means clustering discloses distinguishing normal measurement values from abnormal measurement values.

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

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

[0020] According to yet another embodiment, there is provided a non-transitory computer-readable storage medium having a program executable by a processor for implementing a method 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 GNSS measurement data being collected during the movement of one or more moving objects in a target domain. The method further includes extracting values of a plurality of features from the GNSS measurement data, the plurality of features including one or a combination of features derived from code and phase measurements, carrier power to noise power density ratio, and Doppler shift. The method further includes mapping the extracted values of the plurality of features from the target domain to a source domain, the mapped values of the plurality of features having 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 further includes classifying the mapped values of the plurality of features using a neural network, the neural network being trained on training data sampled from the source domain. The method further includes identifying GNSS measurement data affected by multipath based on the classification of the corresponding mapped values of the plurality of features, and tracking the position of one or more moving objects by processing the GNSS measurement data affected by multipath.

Brief Description of Drawings

[0021]

Figure 1

Figure 2A

Figure 2B

Figure 2C

Figure 3A

Figure 3B

Figure 3C

Figure 4A

Figure 4B

Figure 4C

Figure 5

Figure 6

Figure 7

Figure 8A

Figure 8B

Figure 8C

Figure 8D

Figure 9

Figure 10

DETAILED DESCRIPTION OF THE INVENTION

[0022] In the following description, for the sake of explanation, 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 instances, devices and methods are shown in block diagram form only to avoid obscuring the present disclosure.

[0023] As used in this specification and the claims, the terms "for example," "as an example," and "such as," as well as the verbs "comprising," "having," "including," and other verb forms thereof, when used in conjunction with an enumeration of one or more components or other items, should be construed as open-ended, meaning that the enumeration should not be considered as excluding additional components or items. The term "based on" means at least partially based on. Further, it should be understood that the style and terminology used in this specification are for the purpose of description and should not be regarded as limiting. Any headings used in this specification are for convenience only and have no legal or limiting effect. A GNSS receiver is also recognized as a GNSS system in some embodiments.

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

[0025] In various embodiments, receivers 118 and 120 can be of different types. For example, in the exemplary embodiment of FIG. 1, receiver 120 is a base receiver whose position is known. In one example, receiver 120 corresponds to a receiver installed on the ground. In contrast, receiver 118 is a mobile receiver configured to move. In another example, receiver 118 is mounted on a mobile phone, a vehicle, or a train. In some implementations, the second receiver 120 is optional and is used to remove uncertainties and errors caused by various factors such as atmospheric effects and errors in the internal clocks of the receivers and satellites. Thus, at least one of the set of receivers 118 and 120 may be associated with one or more moving objects.

[0026] One or more receivers 118 and 120 are configured to receive GNSS data from one or more of the N satellites 102, 104, 106, and 108 in the form of signals such as signals 110, 112, 114, and 116. Generally, in order to track the position of one or more moving objects associated with one or more receivers 118 and 120, it is necessary that labeled GNSS data be available. The GNSS measurement data of signals 110 and 112 transmitted from the N satellites 102, 104, 106, and 108 are collected during the movement or navigation of one or more moving objects in the target domain. Some embodiments are based on the recognition that labeled GNSS data about the actual position of a moving object in the target domain may not be available or is at least limited in availability, while labeled GNSS data in other domains such as the source domain may be available. As used herein, the domain governed by at least the current position relative to a plurality of satellites and the environment 100 surrounding the moving object at the current position is referred to herein as the target domain. The GNSS measurement data collected within the target domain has a statistical distribution in the target domain of multipath and / or non-line-of-sight (NLOS) signals governed, for example, by the buildings and infrastructure of the city and the position of the satellites used to collect such GNSS measurement data. Such a statistical distribution in the target domain is also referred to herein as the target distribution in the same sense. The GNSS measurement data collected in the target domain represents actual GNSS measurement data.

[0027] The statistical distribution of GNSS measurement data collected in a target domain affects the statistical distribution of features extracted from the collected GNSS measurement data. Examples of statistical distributions can be the joint distribution of different features extracted from the collected GNSS measurement data. For example, the values of multiple features extracted from GNSS measurement data can indicate one or a combination of the code and phase values of satellite signals, the carrier power to noise power density ratio, and the Doppler shift collected in the target domain, and the statistical distribution of the extracted values of the multiple features is governed by the target domain.

[0028] Other domains with different GNSS measurement data distributions are referred to herein as source domains. Labeled GNSS data can be obtained from different types of source domains, including actual GNSS data having a distribution other than the target distribution, e.g., GNSS data collected at different locations, and / or simulated GNSS data. The source domain can have complete or partial knowledge about non-line-of-sight (NLOS) and multipath GNSS signals. Thus, 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, source domain data can be simulated data. Simulated data is advantageous for training a neural network to classify multipath in GNSS measurement data. However, such a trained neural network may not be accurate for processing GNSS measurement data collected in real time because the statistical characteristics of the data in the source and target domains are different.

[0029] Therefore, considering the actual data variations due to environmental, mechanical, and physical constraints on GNSS receivers, there may be issues related to the use of simulated data, such as the possibility that the simulated data may not accurately represent the actual data. Thus, when training an ML model in the source domain (e.g., with simulated data) and applying it to perform predictions and tracking in the target domain (e.g., with actual data), performance-related issues may be faced and need to be overcome.

[0030] Therefore, some embodiments provide domain adaptation from the target domain to the source domain of GNSS measurement data for using an ML-based approach to classify GNSS measurement data. GNSS measurement data is received in the form of signals such as signals 110 - 116 having different characteristics such as random noise characteristics. These random noise characteristics of the carrier phase and code signals are described by a probability density function (PDF) having predetermined parameters such as the variance of the PDF. That is, the range of ambiguity is determined using the PDF and integer ambiguity that associates the measured values with the positions of receivers 118, 120, and as a result, a finite number of possible integer values are obtained.

[0031] Other embodiments are based on the recognition that the finite number of possible integer values of the carrier phase ambiguity enables the evaluation of all possible integer values for tracking the positions of receivers 118, 120. Such recognition enables the replacement of the evaluation of the carrier phase ambiguity with the evaluation of the positions of receivers 118, 120 obtained using the carrier phase ambiguity. This replacement is advantageous because the probabilistic nature of the movement of receivers 118, 120 is more suitable for evaluating the positions rather than evaluating the derivatives of positions such as the carrier phase ambiguity.

[0032] Therefore, using a positioning device associated with the environment 100, the positions of one or more moving objects in the target domain can be tracked based on the characteristics of the signals 110 and 120 received by one or more receivers.

[0033] Specifically, the positioning device depicted by the environment 100 is used to implement an ML model trained with simulated data from the source domain and can be used with real data from the target domain (the target domain is different from the source domain). In this regard, one important consideration regarding the ML model is to retain some relevant information from the source domain, such as multi-path information of the signal characteristics, that is stored during the prediction of the positions of one or more moving objects by the ML model. The signal characteristics represent GNSS measurement data 110 and 112 received by one or more receivers. The positioning device is further described in FIG. 2A.

[0034] FIG. 2A shows a schematic block diagram 200A of a positioning device 202 according to an embodiment of the present disclosure. 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 the global navigation satellite system).

[0035] In some embodiments, examples of the processor 206 include, but are not limited to, application specific integrated circuit (ASIC) processors, reduced instruction set computing (RISC) processors, complex instruction set computing (CISC) processors, graphics processing units (GPUs), field programmable gate arrays (FPGAs), and the like. In some embodiments, the memory 208 includes suitable logic, circuitry, and / or interfaces for storing a set of computer-readable instructions for performing operations. Additionally, examples of the memory 208 can include random access memory (RAM), read only memory (ROM), removable storage drives, hard disk drives (HDD), and the like. As will be apparent to those skilled in the art, the scope of the present disclosure is not limited to implementing the memory 208 in the positioning device 202.

[0036] 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 the N satellites 102, 104, 106, and 108 of FIG. 1. The GNSS measurement data 204 is collected during the navigation of one or more moving objects in the target domain. The GNSS measurement data 204 includes, but is not limited to, at least one of signals formed by code and phase measurements, carrier power to noise power density ratio, and Doppler shift.

[0037] Furthermore, the extractor 210 is configured to extract values of a plurality of features from the GNSS measurement data 204. The plurality of features includes one or a combination of features derived from code and phase measurements, carrier power to noise power density ratio, Doppler shift, and the like. Further, the extracted values of the plurality of features from the target domain to the source domain are mapped by the facilitation of the generator 212. The generator 212 will be described in detail with reference to FIGS. 3A, 3B, and 3C.

[0038] The mapped values of the plurality of features provided by the generator 212 have a statistical distribution in the target domain that is similar to the statistical distribution of the training data used to train the neural network 214 in the source domain. The neural network 214 is utilized to classify the mapped values of the plurality of features of the GNSS measurement data 204.

[0039] The GNSS measurement data 204 is mapped and transformed from the target domain to the source domain using the neural network 214. The neural network 214 is trained using simulated data having a source distribution of a plurality of features in a source domain that is different from the target distribution of the plurality of features in the target domain. The neural network 214 is pre-trained offline using unbalanced teacher - student learning using at least an instance of the trained simulated data having the source distribution and an instance of the labeled simulated data having the target distribution. The neural network 214 is trained using the generator 212. In some embodiments, the generator 212 may be a cycle - consistent adversarial network. Generally, a cycle - consistent adversarial network, i.e., a CGAN, is an approach for training deep convolutional neural networks for domain - to - domain transformation tasks (described in more detail in FIG. 3A). The neural network 214 learns the mapping between the input features and the output features using unpaired datasets. In embodiments of the present disclosure, the mapped values of the plurality of features of the GNSS measurement data 204 are generated using the neural network 214.

[0040] Furthermore, the positioning device 202 classifies a plurality of mapped features 212 using a neural network 214. The neural network 214 is trained with simulated data sampled from a source domain. The neural network 214 includes a classifier 220 (shown in FIG. 2B). The classifier 220 is trained to classify the mapped values of the plurality of features 212 as either normal measurement values or abnormal measurement values.

[0041] Based on the classification of the mapped values of the plurality of features, the positioning device 202 identifies GNSS measurement data affected by multipath. Furthermore, the positioning device 202 executes tracking of the positions of one or more moving objects in the target domain by processing the GNSS measurement values affected by multipath.

[0042] Therefore, 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 the transmitted signal reaches the receiver via two or more paths, the data is affected by multipath-related interference noise. Such interference can affect the quality of the GNSS measurement data and, consequently, the accuracy of tracking an object using this GNSS measurement data affected by multipath. Thus, the positioning device 202 is configured to track the positions of one or more moving objects by processing the GNSS measurement data identified as being affected by multipath, and an output 216 is generated according to this identification. The positioning device 202 is further configured to control the movement of one or more moving objects based on the tracked positions of the one or more moving objects.

[0043] In some embodiments, the GNSS measurement data identified as being affected by multipath is removed from the GNSS measurement data used to track one or more moving objects. To track the positions of one or more moving objects, some embodiments disclose a position estimator as described next with reference to FIG. 2B.

[0044] FIG. 2B shows an exemplary block diagram of a positioning device 202 including a position estimator 218 according to an embodiment of the present disclosure. The processor 206 includes a generator 212 that provides a plurality of mapped features 212a, and a neural network 214 that further includes a classifier 220. The classifier 220 is configured to classify GNSS measurements 204 in the presence of noise as either normal or clean measurements, i.e., measurements having no multipath and line-of-sight (LOS) transmissions, and abnormal measurements, i.e., measurements corrupted by bias and non-line-of-sight (NLOS) transmissions. As an example, a recurrent neural network is employed as the position estimator 218.

[0045] The positions of one or more moving objects are tracked using a position estimator 218 that takes into account the probability that GNSS measurement data is affected by multipath based on the classification of the corresponding plurality of mapped features 212a. In some embodiments, the neural network 214 utilizes the classifier 220. The classifier 220 is trained to separate normal measurements from abnormal measurements 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 at least some multipath and non-line-of-sight (NLOS) transmissions of satellite signals at some points in time is referred to herein as abnormal measurements. In some embodiments, the classifier 220 is trained in the source domain to classify the plurality of mapped features 212a as either normal or abnormal measurements.

[0046] Some embodiments are based on the understanding that the neural network 214 can directly output the position of at least one moving object based on GNSS measurements identified as multipath GNSS measurements. Thus, in some embodiments, the neural network 214 is used in combination with a position estimator 218 that is a recurrent neural network trained to determine the position of one or more moving objects from GNSS measurement data. The recurrent neural network uses attention-based multimodal fusion that applies different weights to at least some different GNSS measurements to estimate the position of the moving object from the weighted GNSS measurements. The position estimator 218 prunes abnormal measurements in the target domain to generate clean measurements in the target domain and estimates the position of one or more moving objects based on the clean (also called normal) measurements in the target domain. Further, the tracked positions of one or more moving objects are generated as output 216.

[0047] In some embodiments, the position estimator 218 estimates the position of one or more moving objects based on the classification of a plurality of corresponding mapped features, based on the probability that the GNSS measurement data is affected by multipath. Thus, the position estimator is a probability filter configured to determine the position of one or more moving objects based on the identification of whether the GNSS measurement data is affected by multipath or not. For example, the position estimator 218 may be a probability filter that includes a mixed integer Kalman filter that calculates an estimate of the receiver state conditioned on GNSS measurement data identified as not being affected by multipath. This is further discussed in connection with FIG. 5.

[0048] Thus, to accurately track the position of one or more moving objects, some features of the GNSS measurement data are more suitable than other features. This is explained next in FIG. 2C.

[0049] Figure 2C shows a block diagram 200C of the mapping of the extracted values of a plurality of features of GNSS measurement data according to an embodiment of the present disclosure. The extracted values 210' of the plurality of features include, but are not limited to, the value 210a of the change over time of the carrier power to noise power density ratio (C / N0), the code minus carrier (CMC) value 210b, and the value 210c of the Doppler rate consistency (DRC) (as shown in Figure 2C). In general, C / N0 210a exhibits special behavior under multipath or with respect to NLOS signals. A common technique for detecting multipath is to evaluate by comparing C / N0 210a with a threshold value. Considering that C / N0 can take a wide range of values even for pure LOS signals, a more advanced solution is to evaluate the C / N0 of 210a by comparing it with the expected value modeled as a non-linear function of the satellite altitude. This requires tuning, and the C / N0 210a of unhealthy satellites may be high depending on the situation. Therefore, the positioning device 202 utilizes the Receiver Independent Exchange Format (RINEX) measurements independent of a continuous receiver, or other types of measurements over the time window W, that make up the GNSS measurement data to capture the evolution of C / N0 210a. Since the instantaneous or average value of C / N0 210a provides incorrect information, the values are centered to focus only on the change.

[0050]

Number

[0051]

Number

[0052] The extracted value of each of these features C / N0 210a, CMC 210b, and DRC 210c is mapped to the mapped value 212a of the plurality of features using the generator 212, as will be described in detail below with reference to Figures 3A, 3B, and 3C.

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

[0054]

Number

[0055] In one example, the generator 212 includes a Cycle-Consistent Adversarial Network (CGAN) as shown in Figure 3B.

[0056]

Number

[0057]

Number

[0058] Figure 3C shows a graphical representation of the mapping of multiple features from a target domain to a source domain using the generator 212 of Figure 3A according to an embodiment of the present disclosure. Additionally, Figure 3C shows a generator G used during training to achieve cross-domain feature distribution alignment between the real domain 340 and the simulated domain 342 according to an embodiment of the present disclosure. R (·) and shows a graph including a structure. The generator G R (·) maps real data X R to closely similar simulated data X S . This mapped real data can then be classified as normal or abnormal data by a neural network 214 as shown in Figures 4A, 4B, and 4C.

[0059] Figure 4A shows a block diagram 400A of a neural network 214 used to classify GNSS measurement data 204 according to an embodiment of the present disclosure. The neural network 214 includes a convolutional neural network autoencoder (CNN-AE) 402 (as described in FIG. 3A). The CNN-AE 402 takes simulated data as input and encodes the simulated data into a low-dimensional representation in a so-called feature space. Further, the neural network 214 performs K-means clustering 404 to distinguish normal measurements from abnormal measurements. K-means clustering 404 is further described in FIG. 4C.

[0060] Figure 4B shows a block diagram 400B of a method used by a classifier 220 of a neural network 214 according to some embodiments. In step 406, the classifier 220 of the neural network 214 performs an identification of multi-path GNSS measurement data. If the GNSS measurement data is identified as being affected by multi-path (YES), the process proceeds to step 408. In step 408, the classifier 220 excludes the multi-path GNSS measurements from a position estimator 218 used to track the positions of one or more moving objects. If the GNSS measurements are identified as not being affected by multi-path (NO), the process proceeds to step 410. In step 410, the classifier 220 adds or includes the GNSS measurements to a position estimator 218 used to track the positions of one or more moving objects.

[0061] In step 412, the position estimator 218 is used to track the positions of one or more moving objects. The position estimator 218 is a probabilistic filter configured to determine the positions of one or more moving objects. The position estimator 218 utilizes information from the classifier 220 to include or exclude GNSS measurements based on the predicted presence of multi-path. The position estimator 218 is a probabilistic filter that includes a mixed integer Kalman filter that calculates an estimated value of the receiver state conditioned on GNSS measurements that are considered to be multi-path free by the classifier 220 (as described in FIG. 5).

[0062] Some embodiments are based on the recognition that the position estimator 218 is trained from the 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 a set of input global navigation satellite system (GNSS) phase measurements, and the decoder converts the output of the encoder into a set of predicted GNSS signal measurements used for position estimation by extracting a fixed number of features that characterize the time dependence of the set of phase measurements. As an extension of the feedforward neural network, the position estimator 218 relates current information to past information by adding edges between adjacent hidden states over the processing time. In this case, the current state value of the hidden layer is influenced by the current phase measurement and the previous state value of the hidden layer.

[0063] The classifier 220 performs the identification of multipath GNSS measurements based on the training of the classifier 220 using the generator 212 (CGAN). In one embodiment, the classifier 220 removes GNSS measurements having a corresponding plurality of mapped features 212a classified as multipath from the position estimator 218 for tracking the positions of one or more moving objects. The CGAN 212 has an architecture that includes two generators and two discriminators to facilitate unsupervised training with respect to a loss function that includes a cycle consistency loss term. The architecture of the CGAN 210 was described above in FIG. 3B.

[0064] The classifier 220 is based on the architecture of FIG. 4A and uses K-means clustering 404 to distinguish normal measurements from abnormal measurements (further described in FIG. 4C).

[0065] FIG. 4C shows a block diagram 400C of K-means clustering 404 according to an embodiment of the present disclosure. Generally, K-means clustering is an unsupervised machine learning algorithm used to solve clustering problems. It follows a simple procedure of classifying a given dataset into multiple clusters defined by a pre-fixed number "k". That is, K-means clustering 404 involves dividing objects into clusters that share similarity and clusters that are dissimilar to the object and belong to another cluster. The clusters are then placed as points and all the observations or data points associated with the nearest cluster are calculated and adjusted. And this process is repeated using new adjustments until the desired result is reached. In one embodiment, before K-means clustering 404, normal measurements 414, measurements 416 affected by NLOS, and measurements 418 affected by multipath are collected without being structured. After applying K-means clustering, all normal measurements 414 are grouped into cluster 420, all measurements 416 affected by NLOS are grouped into cluster 422, and all measurements 418 affected by multipath are grouped into cluster 424.

[0066] Based on these separations, GNSS measurement data 404 affected by multipath and GNSS measurement data 404 not affected by multipath are identified, and this identification is used by the position estimator 218 to track the positions of one or more moving objects.

[0067] FIG. 5 shows a block diagram of an exemplary position estimator 218 used to track the positions of one or more moving objects according to an embodiment of the present disclosure. 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 estimated value of the receiver state conditioned on GNSS measurement data 204 identified as not being affected by multipath. The KF is a tool for state estimation in a linear state space model. The KF is an optimal estimator when the noise sources are known and Gaussian and when the state estimate is Gaussian distributed. The KF estimates the mean and variance of the Gaussian posterior distribution. The mean and variance are the two necessary quantities used to describe the Gaussian distribution.

[0068] The KF starts with an initial knowledge 502a of the state and determines the mean and its variance 504a of the state. In step 506a, the KF uses a model of a global navigation satellite system (GNSS), such as a vehicle motion model, to predict the state and variance at the next time step and obtains an updated mean and variance 508a of the state. Next, the KF uses the measurement value 510a in the update step 512a using the GNSS measurement model to obtain an updated mean and variance 514a of the state. Next, an output 516a is obtained, and this procedure is repeated for the next time step 518a.

[0069] Some embodiments employ a probabilistic filter that includes various variants of the KF, such as an extended KF (EKF), a linear regression KF (LRKF), for example, an unscented KF (UKF). It should be noted that the KF uses the measurement value 510a described by a probabilistic measurement model to update the first moment and the second moment of the probability distribution of interest, that is, the mean and the covariance. In some embodiments, the probabilistic measurement model is a multi-head measurement model structured to satisfy the principle of measurement value update in the KF.

[0070] In this way, in some embodiments, the probability filter recursively propagates the parameters of the probability distribution of the vehicle state according to the motion model of the state transition of the vehicle receiving process noise at each update step 512a, and updates the parameters of the probability distribution when 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.

[0071]

Number

[0072] In some embodiments, the ambiguity is included in the state of the vehicle. Other embodiments also include a bias state that incorporates residual errors of atmospheric delays such as ionospheric delays. When receivers are close enough to each other, the ionospheric delay is the same or similar for different vehicles. Some embodiments utilize this relationship to resolve these delays and / or ambiguities.

[0073]

Number

[0074] In some embodiments, the probabilistic filter uses carrier phase single differences (SDs) and / or double differences (DDs) to estimate the state of the receiver indicating the receiver's 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 called the SD of the carrier phase. Alternatively, the SD can be defined as the difference between signals from two different satellites arriving at the receiver. For example, if the first satellite is called the base satellite, this difference can be obtained from the first and second satellites. For example, the difference between signal 110 from satellite 102 and signal 112 from satellite 104 is one SD signal, and satellite 102 is the base satellite. Using the pair of receivers 120 and 118 in FIG. 1, the difference between the SDs of the carrier phases obtained from radio signals from two satellites is called the DD of the carrier phase. When the carrier phase difference is converted to the number of wavelengths, for example, in the case of an L1 GPS (and / or GNSS) signal, when converted to λ = 19 cm, this is separated into a fractional part and an integer part. The positioning device can measure the fractional part but cannot directly measure the integer part. Therefore, the integer part is called an integer bias or integer ambiguity.

[0075] Some embodiments are based on the understanding that the particle filter is a filter that can solve the mixed integer estimation problem without using an optimization method. Other embodiments understand that in order not to use an optimization method, the particle filter requires a large number of particles, which can be computationally prohibitive. For this reason, some embodiments solve the recursive mixed integer weighted least squares problem by employing a mixed integer extended Kalman filter (KF). Other embodiments solve it using a mixed integer linear regression KF.

[0076] FIG. 6 shows a block diagram of an exemplary system 600 for tracking one or more moving objects according to an embodiment of the present disclosure.

[0077] [Number]

[0078] FIG. 7 shows a block diagram 700 of a use case depicting a machine learning approach for tracking the positions of one or more moving objects using the positioning device of FIG. 2A according to an embodiment of the present disclosure. This machine learning approach corresponds to the implementation of a function f(·) in three steps 702, 704, and 706. In step 702, the CGAN 210 converts real data X R into simulated data X S that is closely similar. In step 704, a convolutional neural network autoencoder (CNN-AE) receives the simulated data X S as input and encodes the simulated data X S into a low-dimensional representation in the feature space F. In step 706, K-means clustering 404 is performed to distinguish normal measurements from abnormal measurements. K-means clustering was described above with reference to FIG. 4C.

[0079] FIG. 8A shows a flowchart 800A depicting a method for performing position estimation of one or more moving objects according to some embodiments of the present disclosure. In 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 generally dominated by the current positions of one or more moving objects with respect to a plurality of satellites and the environment around the one or more moving objects at the current positions. Generally, the target domain is a test domain where label information is not available.

[0080] In step 804, the method includes extracting values of a plurality of features from GNSS measurement data 204, the plurality of features including at least one of a code and phase measurement value, a carrier power to noise power density ratio, and a Doppler shift. The plurality of features includes one or a combination of a change over time of the carrier power to noise power density ratio (C / N0), a code minus carrier (CMC) value, a value of Doppler rate consistency (DRC), first and second derivatives of the signal, a relative satellite altitude, and the ability of an estimator to fix an integer estimate value. Additionally, the extracted values include a value of the change over time of C / N0, a code minus carrier (CMC) value, and a value of Doppler rate consistency (DRC). Generally, 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 by comparing it to a threshold value. Considering that C / N0 can take a wide range of values for pure LOS (line-of-sight) signals as well, a more advanced solution is to evaluate C / N0 by comparing it to an expected value modeled as a non-linear function of the satellite altitude. This requires tuning, and the C / N0 of a defective satellite may be high depending on the situation.

[0081] In step 806, the method includes mapping the extracted values of the plurality of features from the GNSS measurement data to a source domain using a generator such as a cycle consistency adversarial network (CGAN) (further described in FIG. 3B). The source domain is a training domain similar to the training data used to train classifier neural network 214 with simulated data in a statistical sense. Generally, the simulated data is data that is generally publicly available and easily accessible.

[0082] In step 808, the method includes classifying a plurality of mapped features using a neural network. The neural network is trained using a CNN autoencoder with K-means clustering 404 to classify a plurality of mapped features 212a of the GNSS measurement data 204. The plurality of mapped features 212a are classified as normal measurements and abnormal measurements. K-means clustering distinguishes normal measurements from abnormal measurements (further described in FIG. 6).

[0083] In one embodiment, the neural network 214 is trained using simulated data having a source distribution of a source domain that is different from the target distribution of the target domain. The neural network 214 is trained online using GNSS measurements of the target domain and the trained simulated data of the source domain. Additionally, the neural network 214 is trained using a Cycle-Consistent Adversarial Network (CGAN). In another embodiment, the neural network is pre-trained offline using unbalanced teacher-aided learning using at least an instance of trained simulated data having a source distribution and an instance of labeled simulated data having a target distribution.

[0084] In step 810, the method includes identifying GNSS measurement data affected by multipath based on the classification of the plurality of mapped features 212a. The GNSS measurement data having the corresponding plurality of mapped features 212a classified as multipath is removed from the tracking of the position of one or more moving objects.

[0085] In step 812, the method includes tracking the position of one or more moving 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 GNSS measurement data in the presence of noise as clean measurements, i.e., measurements without multipath and having line-of-sight (LOS) transmissions, and as abnormal measurements, i.e., measurements corrupted by bias and non-line-of-sight (NLOS) transmissions of at least some of the satellite signals at some points in time.

[0086] As one embodiment, a recurrent neural network is used as the position estimator 218. The recurrent neural network uses attention-based multimodal fusion that applies different weights to at least some different GNSS measurements to estimate the position of one or more moving objects from the weighted GNSS measurements. The position estimator 218 is a probabilistic filter configured to determine a set of combinations of integer values of carrier phase ambiguities that match the measurements 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 a range defined by one or a combination of process noise and measurement noise. Additionally, the probabilistic filter is configured to execute a set of position estimators that 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 position of the receiver with respect to the motion model and the measurement model. The measurement models of at least some different position estimators include different combinations of integer values of carrier phase ambiguities. Further, the probabilistic filter is configured to determine the position of the receiver using the position estimator with the highest joint probability of the position of the receiver based on the measurements of the carrier phase signal and the code phase signal. The probabilistic 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 extended states of multiple vehicles. In one embodiment, the position estimator includes a preprocessing block, or a classifier that classifies 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.

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

[0088] FIG. 8B shows a flowchart 800B of a method for estimating the position of a moving object 832 configured to receive measurements of a carrier wave and a code phase signal 826 transmitted from a set of satellites, according to some embodiments. At step 824a, the method includes receiving a carrier phase and a code phase signal associated with the moving object 832. Each carrier phase wave signal includes a carrier phase ambiguity as an unknown integer number of wavelengths of the carrier phase signal transmitted between the satellites 102, 104, 106, or 108 (not shown in FIG. 8B and referenced from FIG. 1) and the moving object 832. Next, the method retrieves from memory a motion model that associates a previous position of the receiver 820 with the current position of the receiver 820 using the carrier phase ambiguity of the carrier phase signal, and a measurement model 822 that associates the measurements of the carrier phase and code phase signal 826 with 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 that receives process noise, and the measurement model 822 is a probabilistic model that receives measurement noise.

[0089] In step 828a, the method then determines a set of possible combinations of integer values 830a of the carrier phase ambiguity that match the measured values of the carrier phase and code phase signals 826, within a range defined by one or a combination of process noise and measurement noise, according to one or a combination of the motion model and the measurement model 822. This step is based on the understanding that it is beneficial to determine and evaluate different possible combinations of the carrier phase ambiguity for position estimation instead of trying to determine the carrier phase ambiguity and perform position estimation. In this way, the best carrier phase ambiguity is selected using a probability model that more appropriately reflects the nuances of position estimation.

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

[0091] Therefore, some embodiments are based on the recognition that the estimation of the possible integer values of the carrier wave phase ambiguity and the selection of the integer value of the carrier wave phase ambiguity from that range can be performed probabilistically using the consistency of the motion and the measurement model with respect to the probability density function (PDF) of the noise of the measurement model 822.

[0092] FIG. 8C shows a schematic diagram 800C showing an overview of some principles employed by the positioning device 202 of FIGS. 2A and 2B according to an embodiment of the present disclosure. Specifically, some embodiments are based on the recognition that a finite number of possible integer values of the carrier wave phase ambiguity enable performing step 838b. In step 838b, different combinations of those possible integer values for tracking the position of the GNSS receiver are determined.

[0093] Such recognition enables performing step 848, which replaces three steps 824b, 828b, and 834b with steps 842, 844, and 846. Step 824b includes determining or evaluating the carrier wave phase ambiguity for estimating the position of the receiver. Step 828b includes estimating the position of the receiver using the carrier wave phase ambiguity. Step 834b includes the position of the GNSS receiver. Step 844 includes evaluating different positions of the GNSS receiver obtained in step 842 using different combinations of the carrier wave phase ambiguity. This replacement is advantageous because the probabilistic nature of the receiver's motion is more suitable for evaluating the position than for evaluating the derivative of the position such as the carrier wave phase ambiguity. In this way, the best position 846 selected using the probabilistic nature of the receiver's motion automatically indicates the corresponding combination of the carrier wave phase ambiguity used to obtain the best position 846.

[0094] Another example of the position estimator 218 is the KF. The KF uses a series of measurements observed over time that include statistical noise and other inaccuracies to generate an estimate of an unknown variable that tends to be more accurate than an estimate based on only a single measurement by estimating the joint probability distribution for the variable for each time frame. 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 of the state transition and the measurements. Some embodiments use a KF-based system that uses a motion model that receives process noise from a GNSS receiver associated with a moving object and a measurement model of satellite signals that receives measurement noise. In some embodiments, the measurement model is probabilistic and multi-headed, i.e., includes multiple paths that produce different types of outputs. The measurement model has a similar structure that is accepted by a probability filter that includes different information and different types of noise but allows the outputs of different heads to be used individually or jointly.

[0095] FIG. 8D shows a flowchart of a method for executing a position estimator 218 to update parameters of a probability distribution of a vehicle state according to an embodiment of the present disclosure. At step 850, the method receives associated measurements 852 of a state including a measurement model without abnormal measurements. Each carrier phase signal includes a carrier phase ambiguity as an unknown integer number of wavelengths of the carrier phase signal transmitted between the satellites 102, 104, 106 or 108 and the moving object 832. Next, at step 856, the method uses the carrier phase ambiguity of the carrier phase signal and the estimated value of the vehicle state with respect to the belief of the vehicle state to retrieve from memory a motion model that associates the previous state of the vehicle with the current state of the vehicle and a measurement model that associates the measurements of the carrier phase and code phase signals with the current belief of the vehicle state. Both models, i.e., the motion model and the measurement model, are probabilistic. For example, the motion model is a probability model that receives process noise, and the measurement model is a probability model that receives measurement noise. The method performs step 854 for executing a Kalman filter (KF) that updates the first moment and the second moment of the probability distribution using the measurement model, the measurements, the motion model, and the parameters of the probability distribution determined at the previous iteration. The first moment of the updated ambiguity included in the state is a real value. Next, at step 858, the method solves a weighted least squares optimization problem that fixes the ambiguity to have an integer value. The optimization problem cost function is the square Euclidean norm of the deviation of the first moment of the state with respect to the estimated value 860 of the value obtained by the KF 854. The method uses the resulting integer ambiguity 862 to execute, at step 864, a KF initialized with the real value part and the integer value part of the first moment, resulting in updated parameters of the probability distribution.

[0096] In some embodiments, the KF is an extended KF, and the non-linear parts of the motion and measurement models are linearized around the current belief of the state. In other embodiments, the KF is a linear regression KF, such as an unscented KF, a cubature KF, or a smart sampling KF. The linear regression KF avoids linearization around the current state estimate like the extended KF and is generally accurate but computationally complex. Instead of linearization, the linear regression KF can be used to solve the relevant moment integrals by a set of weighted integration points and determine other parameters of the probability distribution, such as higher-order moments. Such higher-order moments are useful when the first and second moments do not fully represent the underlying distribution.

[0097] Also, individual embodiments may be described as a process shown as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. A flowchart may describe operations as a sequential process, but many of the operations can be executed in parallel or simultaneously. Additionally, the order of the operations may be rearranged. The process may end when its operations are completed, but may have additional steps not discussed or included in the figure. Further, not all operations in any specifically described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When the process corresponds to a function, the end of the function may correspond to returning the function to the calling function or the main function.

[0098] FIG. 9 shows a use case of the positioning device 202 that functions as a control system 900 implemented on a vehicle network to control the navigation of one or more moving objects. In this embodiment, the one or more moving objects correspond to vehicles such as any of vehicles 902, 904, and 906. Vehicles 902, 904, and 906 communicate with access points of a vehicle network such as access points 912, 910, and 908. The control system 900 may be installed along a road 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 on other systems operably connected to the access points. In this example, vehicles 902, 904, 906 may be different vehicles or the same vehicle at different times.

[0099] For example, in one embodiment, vehicle 902 includes a transceiver for transmitting GNSS measurement data to access point 912 and receiving an estimated value of the vehicle's position from the access point. The position estimation is performed by access point 912 using the positioning device 202 (and / or other systems operably connected to the access point) described in the embodiments disclosed above and sent back to the vehicle. Further, a neural network is trained to determine a position within the area of the vehicle network covered by access point 912. When the vehicle moves between areas covered by different access points such as access points 910 or 908, the different access points track the vehicle's position without the vehicle knowing. In one example, control system 900 controls the navigation and / or movement of vehicles 902, 904, and 906 based on their tracked positions. Control system 900 collects real-time traffic data. Further, the control system controls the movement of vehicles 902, 904, and 906, such as their speeds, based on the tracked positions of 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 positions.

[0100] FIG. 10 shows a block diagram of a computer-based system 1000 for tracking the positions of one or more moving objects according to an embodiment of the present disclosure.

[0101] System 1000 includes at least one processor 1008 and a memory 1006 storing instructions including executable instructions to be executed by the at least one processor 1008 during the control of the system 1000. The memory 1006 is embodied as a storage medium such as RAM (Random Access Memory), 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 one exemplary embodiment, the processor 1008 is configured to train a generator 1010 and a classifier 1012. The generator corresponds to the generator 212 of FIG. 2A. The classifier 1012 corresponds to the classifier 220 of FIG. 2B.

[0102] The at least one processor 1008 can 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 operably connected to a sensor 1004 and a receiver 1014 via a bus 1020. In one embodiment, the at least one processor 1008 is configured to collect GNSS measurements 1002. In some exemplary 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 a storage 1016. In some other exemplary embodiments, the GNSS measurements 1002 are collected from the sensor 1004.

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

[0104] The at least one processor 1008 is configured to train a generator 1010 for domain adaptation and a classifier 1012 for classification when the satellite data includes a multipath bias. In that sense, the neural network 1010 represents a generator.

[0105] The trained classifier 1012 determines whether the measurement data is corrupted by multipath bias, and this information is used by the position estimator 218 to estimate the position of one or more moving objects. The estimated values are transmitted via the transmitter 1018. In addition to or instead of this, the transmitter 1018 is coupled to an output device 1028 that outputs the tracked positions of one or more moving objects over a wireless or wired communication channel such as the network 1024. The output device 1028 includes a computer, laptop, smart device, or any computing device used to prevent adversarial attacks on applications installed on the output device 1028.

[0106] Furthermore, embodiments of the disclosed subject matter may be implemented, at least in part, either manually or automatically. Manual or automatic implementation may be executed or at least assisted by using a machine, hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments for performing the required tasks may be stored on a machine-readable medium. A processor (or processors) may execute the required tasks.

[0107] Embodiments of the present disclosure can be implemented in any of a number of ways. For example, these embodiments may be implemented using hardware, software, or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided on a single computer or distributed among multiple computers. Such processors may be implemented as an integrated circuit with one or more processors within an integrated circuit component. That being said, the processors may be implemented using circuitry in any suitable format.

[0108] Also, the various methods or processes outlined herein may be encoded as software executable on one or more processors employing any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a plurality of suitable programming languages and / or programming or scripting tools, and may be compiled as executable machine language code or intermediate code to be executed on a framework or virtual machine. Typically, the functionality of program modules may be combined or distributed as desired in various embodiments.

[0109] Further, embodiments of the present disclosure may be embodied as a method, and an example thereof is provided. The order of operations performed as part of this method may be determined in any suitable manner. Accordingly, embodiments may be configured so that operations are performed in an order different from that illustrated, which may include performing some operations simultaneously that are shown as a series of operations in the exemplary embodiments. Accordingly, it is an object of the following claims to cover all such variations and modifications that fall within the true spirit and scope of the present disclosure.

[0110] Although the present disclosure has been described with several preferred embodiments, it should be understood that various other adaptations and modifications can be made within the spirit and scope of the present disclosure. Accordingly, it is the aspect of the following claims to cover all such variations 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 moving objects based on transmissions from a Global Navigation Satellite System (GNSS), the positioning device comprising a processor and a memory storing instructions, the instructions, when executed by the processor, causing the positioning device to collect GNSS measurement data of satellite signals transmitted from a plurality of satellites of the GNSS, the GNSS measurement data being collected during the movement of the one or more moving objects in a target domain, and further causing the positioning device to extract from the GNSS measurement data values of a plurality of features indicating one or a combination of the code and phase values, carrier power-to-noise power density ratio, and Doppler shift of the satellite signals collected in the target domain, the statistical distribution of the extracted values of the plurality of features being dominated by the target domain, and further causing the positioning device to map the extracted values of the plurality of features from the target domain to a source domain, the statistical distribution of the mapped values of the plurality of features being similar to the statistical distribution of the values of a plurality of training features collected in the source domain, and further causing the positioning device to classify the mapped values of the plurality of features using a neural network trained with the training features sampled from the source domain to identify the GNSS measurement data affected by multipath, and track the position of the one or more moving objects by processing the GNSS measurement data based on the GNSS measurement data identified as being affected by multipath. A positioning device.

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

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

4. The position of the one or more moving objects is tracked using a position estimator, the position estimator being a probabilistic filter configured to determine the position of the one or more moving objects based on an identification of whether the GNSS measurement data is subject to multipath effects or not, the positioning device according to claim 1.

5. The position estimator is the probabilistic filter including a mixed integer Kalman filter that calculates an estimated value of a receiver state conditional on the GNSS measurement data identified as not being subject to multipath effects, the positioning device according to claim 4.

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

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

8. The processor is configured to map the extracted values of the plurality of features using a cycle-consistent adversarial generative network (CGAN) that performs an inter-tensor conversion between a tensor formed by the extracted values of the plurality of features and a tensor formed by training features used to train the neural network, the positioning device according to claim 1.

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

10. The neural network is trained using a CNN autoencoder (CNN-AE) with K-means clustering to classify the plurality of mapped features of the GNSS measurement data, the plurality of mapped features being classified as either normal measurement values or abnormal measurement values, and the K-means clustering distinguishing between the normal measurement values and the abnormal measurement values, the positioning device according to claim 1.

11. The positioning device according to claim 1, wherein the neural network is pre-trained offline and updated online during the tracking of the position of the one or more moving 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 the navigation of an object in the source domain.

13. The positioning device according to claim 1, wherein the one or more moving objects include vehicles.

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

15. A method implemented by a computer for tracking the position of one or more moving objects based on transmissions from a Global Navigation Satellite System (GNSS), the method implemented by the computer being executed by a processor coupled to stored instructions that, when executed by the processor, perform the steps of the method, the method comprising: collecting GNSS measurement data of satellite signals transmitted from a plurality of satellites, the GNSS measurement data being collected during the movement of the one or more moving objects in a target domain, the method further comprising: extracting values of a plurality of features indicative of one or a combination of the code and phase values, carrier power to noise power density ratio, and Doppler shift of the satellite signals collected in the target domain from the GNSS measurement data, the statistical distribution of the extracted values of the plurality of features being governed by the target domain, the method further comprising: mapping the extracted values of the plurality of features from the target domain to a source domain, the statistical distribution of the mapped values of the plurality of features being similar to the statistical distribution of the values of a plurality of training features collected in the source domain, the method further comprising: Classifying the mapped values of the plurality of features using a neural network trained with the training features sampled from the source domain to identify the GNSS measurement data affected by multipath; Tracking the position of the one or more moving objects by processing the GNSS measurement data based on the GNSS measurement data identified as being affected by multipath. A method implemented by a computer comprising the steps of. **Claim 16** The extracted values of the plurality of features called tensors are mapped using a cycle-consistent adversarial generative network (CGAN) that performs an inter-tensor transformation between a tensor formed by the extracted values of the plurality of features and a tensor formed by the training features used to train the neural network. The method implemented by a computer according to claim 15. **Claim 17** The GNSS measurement data identified as being affected by multipath is removed from the collected GNSS measurement data used for tracking. The method implemented by a computer according to claim 15. **Claim 18** The plurality of features includes features indicating the change over time of the carrier power to noise power density ratio (C / N0), the code minus carrier (CMC) value, and the Doppler rate consistency (DRC). The method implemented by a computer according to claim 15. **Claim 19** Further comprising controlling the movement of the one or more moving objects based on the tracked positions of the one or more moving objects. The method implemented by a computer according to claim 15. **Claim 20** A non-transitory computer-readable storage medium having a program executable by a processor implemented to perform a method for tracking the position of one or more moving objects based on transmissions from a Global Navigation Satellite System (GNSS), the method comprising: Collecting GNSS measurement data of satellite signals transmitted from a plurality of satellites, the GNSS measurement data being collected during the movement of the one or more moving objects in a target domain, the method further comprising: extracting, from the GNSS measurement data, values of a plurality of features indicating one or a combination of the code and phase values, carrier power to noise power density ratio, and Doppler shift of the satellite signals collected in the target domain, wherein a statistical distribution of the extracted values of the plurality of features is governed by the target domain, and the method further comprises mapping the extracted values of the plurality of features from the target domain to a source domain, wherein 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, and the method further comprises classifying the mapped values of the plurality of features using a neural network trained with the training features sampled from the source domain to identify the GNSS measurement data affected by multipath, and tracking the position of the one or more moving objects by processing the GNSS measurement data based on the GNSS measurement data identified as being affected by multipath. A non-transitory computer-readable storage medium comprising

Citation Information

Patent Citations

  • Weighted positioning method based on GNSS signal accurate classification in urban canyon

    CN113031031A

  • Received signal reliability determination method, code phase error calculation method and received signal reliability determination device

    JP2012093134A

  • Position calculation method and position calculation device

    JP2013068451A

  • Device-free localization robust to environmental changes

    US20210241173A1