Optimizing weighted least squares (WLS) inputs to improve global navigation satellite system (GNSS) positioning
By using radio frequency signal measurement and weighted least squares optimization technology in GNSS positioning, combined with GNSS satellite geometry, the problem of insufficient GNSS positioning accuracy is solved and higher-precision device positioning is achieved.
Patent Information
- Application Number
- CN202480012559.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-03-02
- Filing Date
- 2024-02-23
- Publication Date
- 2025-09-23
AI Technical Summary
Existing Global Navigation Satellite System (GNSS) positioning technology has large errors when determining the location of a device, making it difficult to achieve high-precision positioning.
By using RF signals to perform GNSS measurements without GNSS positioning, the initial residuals and errors are determined, and the weighted least squares (WLS) optimization technique is used in combination with GNSS satellite geometry to improve positioning.
The accuracy of device positioning is improved, and higher positioning accuracy can be achieved based on existing hardware, reducing additional costs.
Smart Images

Figure CN120693545A_ABST
Abstract
Description
[0001] Related applications
[0002] This application claims the benefit of U.S. application No. 18 / 177,713, filed on March 2, 2023, entitled “OPTIMIZING WEIGHTED LEAST SQUARE (WLS) INPUTS TO IMPROVE GLOBAL NAVIGATION SATELLITE SYSTEMS (GNSS) LOCALIZATION,” which is assigned to the assignee of this application and is incorporated herein by reference in its entirety. Background Art
[0003] Modern electronic devices often include systems that can receive signals from satellite navigation systems, often referred to as global navigation satellite systems (GNSS), and use those signals to determine the device's location and other information such as speed, heading, altitude, etc. Such GNSS receivers can be integrated into consumer electronic devices such as smartphones or smartwatches, as well as into navigation systems in different types of vehicles, including cars, trucks, ships, and aircraft. GNSS receivers receive signals from multiple satellites orbiting the Earth, and machine learning models are used to predict the location of the mobile device. Summary of the Invention
[0004] An example method for determining a position of a device includes obtaining an initial position of the device without using Global Navigation Satellite System (GNSS) positioning. The method may also include performing GNSS measurements of radio frequency (RF) signals transmitted by GNSS satellites. The method may also include determining an initial residual based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurements and an expected distance determined from the initial position. The method may also include estimating an error of the GNSS measurements based at least in part on the initial residual and the RF signal. The method may also include performing an optimization using the initial residual and at least a portion of the error to produce a modified set of residuals, wherein the optimization is further based on the geometry of the GNSS satellites. The method may also include determining an improved position of the device using a cost minimization method using the modified set of residuals and the geometry of the GNSS satellites.
[0005] An example device includes: a memory, one or more processors communicatively coupled to the memory, wherein the one or more processors are configured to obtain an initial position of the device without using a global navigation satellite system (GNSS) positioning. The one or more processors may be further configured to perform GNSS measurements on radio frequency (RF) signals transmitted by GNSS satellites. The one or more processors may be further configured to determine initial residuals based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurements and an expected distance determined from the initial position. The one or more processors may be further configured to estimate an error of the GNSS measurements based at least in part on the initial residuals and the RF signals. The one or more processors may be further configured to perform an optimization using the initial residuals and at least a portion of the error to produce a modified set of residuals, wherein the optimization is further based on the geometry of the GNSS satellites. The one or more processors may be further configured to determine an improved position of the device using a cost minimization method based on the modified set of residuals and the geometry of the GNSS satellites.
[0006] According to the present disclosure, an example apparatus for determining a location of a device may include components for obtaining an initial location of the device without using global navigation satellite system (GNSS) positioning. The apparatus may also include components for performing GNSS measurements on radio frequency (RF) signals transmitted by GNSS satellites. The apparatus may also include components for determining initial residuals based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurements and an expected distance determined from the initial location. The apparatus may also include components for estimating an error in the GNSS measurements based at least in part on the initial residuals and the RF signals. The apparatus may also include components for performing optimization using the initial residuals and at least a portion of the error to produce a modified set of residuals, wherein the optimization is further based on the geometry of the GNSS satellites. The apparatus may also include components for determining an improved location of the device using a cost minimization method based on the modified set of residuals and the geometry of the GNSS satellites.
[0007] According to the present disclosure, an example non-transitory computer-readable medium stores instructions for determining a location of a device, the instructions including code for obtaining an initial location of the device without using Global Navigation Satellite System (GNSS) positioning. The instructions may also include code for performing GNSS measurements of radio frequency (RF) signals transmitted by GNSS satellites. The instructions may also include code for determining initial residuals based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurements and an expected distance determined from the initial location. The instructions may also include code for estimating an error of the GNSS measurements based at least in part on the initial residuals and the RF signals. The instructions may also include code for performing an optimization using the initial residuals and at least a portion of the error to produce a modified set of residuals, wherein the optimization is further based on the geometry of the GNSS satellites. The instructions may also include code for determining an improved location of the device using a cost minimization method based on the modified set of residuals and the geometry of the GNSS satellites.
[0008] These illustrative examples are not intended to limit or define the scope of the present disclosure, but rather to provide examples that aid in understanding the present disclosure. These illustrative examples are discussed in the detailed description that provides further description. By reviewing this specification, the advantages provided by each example can be further understood. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more certain examples and, together with the description of the examples, serve to explain the principles and implementations of certain examples.
[0010] Figure 1 is a diagram illustrating an example positioning system in which the techniques described herein are used to operate a Global Navigation Satellite System (GNSS) receiver, according to some embodiments.
[0011] Figure 2 is a simplified diagram of a GNSS system according to an embodiment.
[0012] Figure 3 is a simplified block diagram of an example signal processing architecture that may be used in a GNSS receiver, according to an implementation.
[0013] Figure 4 is a diagram depicting an example scenario in which GNSS signals are used to determine an improved position of a mobile device.
[0014] Figure 5 is an illustration of an example system for determining an improved position of a mobile device.
[0015] Figure 6is an illustration of a graph showing performance improvements that an example system may provide over the prior art, according to an example.
[0016] Figure 7 is a flow chart of a method for determining which GNSS signals to use based on upper and lower bounds of the GNSS signals.
[0017] Figure 8 is an illustration of a graph showing performance improvements using a combination of techniques described herein, according to an example.
[0018] Figure 9 is a flow chart of a method for determining an improved position of a mobile device based on GNSS data.
[0019] Figure 10 is a block diagram of an implementation of a mobile device.
[0020] Similar reference symbols in the various figures indicate similar elements according to certain example embodiments. In addition, multiple instances of an element may be indicated by following the first digit of the element with a letter or hyphen and a second digit. For example, multiple instances of element 110 may be indicated as 110-1, 110-2, 110-3, etc. or 110a, 110b, 110c, etc. When only the first digit is used to refer to such an element, it should be understood that any instance of the element (e.g., element 110 in the previous example would refer to elements 110-1, 110-2, and 110-3 or to elements 110a, 110b, and 110c) is included. DETAILED DESCRIPTION
[0021] Several illustrative examples will now be described with reference to the accompanying drawings which form a part thereof. Although specific examples are described below in which one or more aspects of the present disclosure may be implemented, other examples may be used and various modifications may be made without departing from the scope of the present disclosure or the spirit of the appended claims.
[0022] References throughout this specification to "one example" or "an example" mean that a particular feature, structure, or characteristic described in connection with the example is included in at least one example of the claimed subject matter. Thus, appearances of the phrases "in one example" or "an example" throughout this specification are not necessarily referring to the same example. Furthermore, the particular features, structures, or characteristics may be combined in one or more examples.
[0023] According to specific examples, the methodologies described herein may be implemented by various means depending on the application. For example, such methodologies may be implemented in hardware, firmware, software, and / or a combination thereof. In a hardware implementation, for example, the processing unit may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other device units designed to perform the functions described herein, and / or a combination thereof.
[0024] According to one example, a device and / or system may estimate the location of the device and / or system based at least in part on signals received from a spacecraft (SV) (e.g., a satellite). Specifically, such a device and / or system may obtain pseudorange measurements that include an approximation of the distance between the associated SV and a navigation satellite receiver. In a specific example, such pseudoranges may be determined at a receiver capable of processing signals from one or more SVs that are part of a GNSS (which may also be referred to as a satellite positioning system (SPS)). Examples of GNSS systems include the Global Positioning System (GPS), established by the United States; the Global Navigation Satellite System or Global Orbiting Navigation Satellite System (GLONASS), established by the Russian Federation and conceptually similar to GPS; the BeiDou Navigation Satellite System (BDS), established by China; and Galileo, which is also similar to GPS but was established by the European Community and is planned to be fully operational in the near future. To determine its position, a satellite navigation receiver may obtain pseudorange measurements to four or more satellites and their positions at the time of launch. These positions can be calculated for any point in time given the orbital parameters of the SVs. A pseudorange measurement may then be determined based at least in part on the time it takes for the signal to travel from the SV to the receiver multiplied by the speed of light. While the techniques described herein may be provided as implementations for position determination in GPS and / or Galileo-type GNSS systems as specific illustrations according to particular examples, it should be understood that these techniques may also be applied to other types of GNSS systems, and claimed subject matter is not limited in this respect.
[0025] As referenced herein, GNSS refers to a navigation system comprising SVs that transmit synchronized navigation signals according to a common signaling format. Such a GNSS may include, for example, a constellation of SVs in a synchronous orbit for simultaneously transmitting navigation signals to most locations on the Earth's surface from multiple SVs in the constellation. SVs that are members of a particular GNSS constellation typically transmit navigation signals in a format unique to that particular GNSS format. Accordingly, the techniques for acquiring navigation signals transmitted by SVs in a first GNSS may be modified to acquire navigation signals transmitted by SVs in a second GNSS. In certain examples, although the claimed subject matter is not limited in this respect, it should be understood that GPS, Galileo, and GLONASS each represent a GNSS system distinct from two other named GNSS systems. However, these are merely examples of GNSS systems and the claimed subject matter is not limited in this respect.
[0026] According to one embodiment, a navigation receiver may obtain a pseudorange measurement to a particular SV based at least in part on acquiring a signal from the particular SV, the signal being encoded using a periodically repeating pseudo-noise (PN) (or pseudo-random noise (PRN)) code sequence. Acquiring such a signal may include detecting a "code phase" associated with a reference time and a point in the PN code sequence. In one particular embodiment, for example, such a code phase may be referenced to the state of a locally generated clock signal and a particular chip in the PN code sequence. However, this is merely an example of how a code phase may be represented, and claimed subject matter is not limited in this respect.
[0027] According to one embodiment, detecting the code phase may provide several ambiguous candidate pseudoranges or pseudorange hypotheses at PN code intervals. Accordingly, the navigation receiver may obtain a pseudorange measurement to an SV based at least in part on the detected code phase and the resolution of the ambiguity to select one of the pseudorange hypotheses as the pseudorange measurement to the SV. As mentioned above, the navigation receiver may estimate its position based at least in part on the pseudorange measurements obtained from multiple SVs.
[0028] Various aspects relate generally to GNSS positioning. Some aspects relate more specifically to improved GNSS positioning determined using optimized residuals and, in alternative embodiments, optimized weights. As will be appreciated by one of ordinary skill in the art, given measurement errors, optimal residuals and optimal weights can be derived for triangulation based on weighted least squares (WLS). In some examples, a machine learning (ML) model can be trained using ground truth measurement errors. This trained model is used to estimate errors during inference. In some examples, the measured GNSS distance and the expected distance are used to calculate the unoptimized residuals. Next, a WLS Input Optimizer (WIO) block is introduced to operate on the output of the ML model, the estimated errors during inference, and the unoptimized residuals. In the WIO block, the estimated optimized residuals and optimized weights are derived using mathematical equations, as further described below.
[0029] In some embodiments, an improved method for calculating the location of a mobile device (i.e., a device) is applied using radio frequency (RF) signals from four or more GNSS satellites. Initially, the method may include obtaining an initial location of the device without using a global navigation satellite system (GNSS) satellite. GNSS measurements are performed on radio frequency (RF) signals transmitted by GNSS satellites, and errors in the GNSS measurements are determined based on the RF signals. The method determines initial residuals based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurements and an expected distance determined from the initial location. Optimization is performed using the initial residuals and at least a portion of the errors to produce a modified set of residuals and weights (e.g., modified residuals and / or modified weights). The optimization is further based on H, where H represents a matrix of trigonometric functions having the geometry (e.g., azimuth and elevation) of the GNSS satellites. The method uses weighted least squares (WLS) of the modified set of residuals and weights and the geometry (H) of the GNSS satellites to determine an improved location of the device.
[0030] Certain aspects of the subject matter described in this disclosure can be implemented to achieve one or more of the following potential advantages. In some examples, by performing optimization of residuals (and / or weights), the described techniques can be used to generate location estimates with higher accuracy than traditional location techniques. Furthermore, in some embodiments, this can be performed using existing device hardware at little or no additional cost. These and other advantages will be apparent to one of ordinary skill in the art in view of the embodiments herein. Details regarding such embodiments are provided after reviewing the related art.
[0031] Figure 1is a simplified illustration of a positioning system 100 in which a mobile device 105, a location server (LS) 160, and / or other components of the positioning system 100 may be implemented according to one embodiment, in which the techniques described herein for operating a GNSS receiver in calculating an improved position fix may be performed. The techniques described herein may be implemented by one or more components of the positioning system 100. The positioning system 100 may include a mobile device 105, one or more GNSS satellites 110 (or SVs) for a GNSS such as GPS, a base station 120, an access point (AP) 130, a location server (LS) 160, a network 170, and external clients 180. In general, the positioning system 100 may estimate the position of the mobile device 105 based on radio frequency (RF) signals received by and / or transmitted from the mobile device 105 and the known positions of other components (e.g., GNSS satellites 110, base stations 120, APs 130) that send and / or receive RF signals. That being said, some embodiments may relate to systems that are not part of a larger positioning system (e.g., a Figure 1 A mobile device that is part of the system shown).
[0032] In this example, Figure 1 The mobile device 105 is illustrated as a smartphone device, however, the mobile device may be any suitable device that includes GNSS capabilities, or may be a device or machine into which such GNSS capabilities are integrated. Thus, the mobile device 105 may include personal devices such as smartphones, smart watches, tablet computers, laptop computers, etc. However, the device may also include a larger class of devices and may include vehicles with integrated GNSS receivers and positioning systems, such as boats or ships, cars, trucks, aircraft, shipping containers, etc. Mobile devices that are communicatively coupled to a cellular network may be referred to as user equipment (UE).
[0033] It should be pointed out that Figure 1 Only generalized illustrations of the various components are provided, any or all of which may be utilized as appropriate, and each of which may be repeated as needed. Specifically, although only one mobile device 105 is illustrated, it should be understood that many mobile devices (e.g., hundreds, tens of thousands, millions, etc.) may utilize the positioning system 100. Similarly, the positioning system 100 may include more than one mobile device 105. Figure 1A greater or lesser number of base stations 120 and / or APs 130 are illustrated. The illustrated connections connecting the various components in positioning system 100 include data and signaling connections, which may include additional (intermediate) components, direct or indirect physical and / or wireless connections, and / or additional networks. Furthermore, components may be rearranged, combined, separated, replaced, and / or omitted depending on the desired functionality. In some embodiments, for example, external client 180 may be directly connected to LS 160. One of ordinary skill in the art will recognize many modifications to the illustrated components.
[0034] Depending on the desired functionality, network 170 may include any one of a variety of wireless and / or wired networks. Network 170 may, for example, include any combination of public and / or private networks, local area networks and / or wide area networks, etc. In addition, network 170 may utilize one or more wired and / or wireless communication technologies. In some embodiments, network 170 may include, for example, a cellular or other mobile network, a WLAN, a WWAN, and / or the Internet. Specific examples of network 170 include long-term evolution (LTE) wireless networks, fifth-generation (5G) wireless networks (also known as new radio (NR) wireless networks), Wi-Fi wireless local area networks (WLANs), and the Internet. LTE, 5G, and NR are wireless technologies defined or being defined by the Third Generation Partnership Project (3GPP). Network 170 may also include more than one network and / or more than one type of network.
[0035] The base station (BS) 120 and the access point (AP) 130 are communicatively coupled to the network 170. In some embodiments, the base station 120 may be owned, maintained, and / or operated by a cellular network provider and may employ any of a variety of wireless technologies, as described herein below. Depending on the technology of the network 170, the base station 120 may include a node B, an evolved node B (eNodeB or eNB), a base transceiver station (BTS), a radio base station (RBS), an NR node B (gNB), a next generation eNB (ng-eNB), etc. In the case where the network 170 is a 5G network, the base station 120 as a gNB or ng-eNB may be part of a next generation radio access network (NG-RAN) that may be connected to a 5G core network (5GC). The AP 130 may include, for example, a Wi-Fi AP or AP. Thus, mobile device 105 can transmit and receive information with network-connected devices such as LS 160 by accessing network 170 via base station 120 using first communication link 133. Additionally or alternatively, because AP 130 is also communicatively coupled to network 170, mobile device 105 can communicate with Internet-connected devices (including LS 160) using second communication link 135.
[0036] LS 160 may include a server and / or other computing device configured to determine an estimated location of mobile device 105 and / or provide data (e.g., “assistance data”) to mobile device 105 to facilitate location determination. In some embodiments, LS 160 may include a Home Secure User Plane Location (SUPL) Location Platform (H-SLP) that may support the SUPL User Plane (UP) location solution defined by the Open Mobile Alliance (OMA) and may support location services for mobile device 105 based on subscription information about mobile device 105 stored in LS 160. In some embodiments, LS 160 may include a Discovery SLP (D-SLP) or an Emergency SLP (E-SLP). LS 160 may also include an Enhanced Serving Mobile Location Center (E-SMLC) that uses a Control Plane (CP) location solution to support positioning of mobile device 105 for LTE radio access of mobile device 105. LS 160 may also include a location management function (LMF) that uses a control plane (CP) location solution to support positioning of the mobile device 105 for 5G or NR radio access of the mobile device 105. In the CP location solution, from the perspective of the network 170, signaling for controlling and managing the location of the mobile device 105 may be exchanged between elements of the network 170 and with the mobile device 105 as signaling using existing network interfaces and protocols. In the UP location solution, from the perspective of the network 170, signaling for controlling and managing the location of the mobile device 105 may be exchanged between the LS 160 and the mobile device 105 as data (e.g., data transmitted using the Internet Protocol (IP) and / or the Transmission Control Protocol (TCP)).
[0037] As previously noted, the estimated position of mobile device 105 can be based on measurements of RF signals transmitted from and / or received by mobile device 105. Specifically, these measurements can provide information about the relative distances and / or angles of mobile device 105 from one or more components in positioning system 100 (e.g., GNSS satellites 110, AP 130, base station 120). The estimated position of mobile device 105 can be estimated geometrically (e.g., using multi-angle measurements and / or multilateration) based on the distance and / or angle measurements along with the known positions of the one or more components.
[0038] While terrestrial components (such as AP 130 and base station 120) may be fixed, embodiments are not limited thereto. Mobile components may be used, and terrestrial networks may be employed. For example, in some embodiments, the location of mobile device 105 may be estimated based, at least in part, on measurements of RF signals 140 communicated between mobile device 105 and one or more other devices 145 (which may be mobile or stationary). As illustrated, other devices 145 may include, for example, mobile phone 145-1, vehicle 145-2, and / or static communication / positioning device 145-3. When one or more other devices 145 are used in determining the location of a particular mobile device 105, the mobile device 105 whose location is to be determined may be referred to as a "target device," and each of the one or more other devices 145 used may be referred to as an "anchor device." To determine the location of the target device, the respective locations of the one or more anchor devices may be known and / or determined jointly with the target device. Direct communication between one or more other devices 145 and mobile device 105 may include sidelink and / or similar device-to-device (D2D) communication technologies. The sidelink protocol defined by 3GPP is a form of D2D communication based on the cellular LTE and NR standards.
[0039] According to some embodiments, such as when the mobile device 105 includes and / or is incorporated into a vehicle, a form of D2D communication used by the mobile device 105 may include vehicle-to-everything (V2X) communication. V2X is a communication standard for vehicles to exchange information about the traffic environment with related entities. V2X may include vehicle-to-vehicle (V2V) communication between vehicles with V2X capabilities, vehicle-to-infrastructure (V2I) communication between vehicles and infrastructure-based equipment (commonly referred to as roadside units (RSUs)), vehicle-to-person (V2P) communication between vehicles and nearby people (pedestrians, cyclists, and other road users), etc. In addition, V2X may use any of a variety of wireless RF communication technologies. For example, cellular V2X (CV2X) is a form of V2X that uses cellular-based communications, such as LTE (4G), NR (5G), and / or other cellular technologies, in a direct communication mode defined by 3GPP. Figure 1The illustrated mobile device 105 may correspond to a component or device on a vehicle, an RSU, or other V2X entity for communicating V2X messages. The static communication / positioning device 145-3 (which may correspond to an RSU) and / or the vehicle 145-2 may thus communicate with the mobile device 105 and may be used to determine the location of the mobile device 105 using techniques similar to those used by the base station 120 and / or the AP 130 (e.g., using multi-angle measurement and / or multilateration). It may be further noted that, according to some embodiments, the device 145 (which may include a V2X device), the base station 120, and / or the AP 130 may be used together (e.g., in a WWAN positioning solution) to determine the location of the mobile device 105.
[0040] The estimated location of the mobile device 105 can be used in a variety of applications, such as to assist a user of the mobile device with direction finding or navigation or to assist another user (e.g., associated with an external client 180) in locating the mobile device 105. "Location" is also referred to herein as a "position estimate," "estimated location," "position," "position estimate," "position fix," "estimated position," "position fix," or "fix." The location of the mobile device 105 can include the absolute location of the mobile device 105 (e.g., latitude and longitude and possibly altitude) or the relative location of the mobile device 105 (e.g., expressed as a distance north or south, east or west, and possibly above or below, of some other known fixed location or some other location, such as the location of the mobile device 105 at some known previous time). The location can also be specified as a geodetic location (e.g., latitude and longitude) or a city location (e.g., in the form of a street address or using other location-related names and labels). The location may also include uncertainty or error indications, such as the horizontal distance and possible vertical distance that the location is expected to be in error or an indication of an area or volume (e.g., a circle or ellipse) within which the mobile device 105 is expected to be located with a certain confidence level (e.g., 95% confidence).
[0041] The external client 180 may be a web server or remote application that may have some association with the mobile device 105 (e.g., accessible by a user of the mobile device 105), or may be a server, application, or computer system that provides location services to one or more other users, which may include obtaining and providing the location of the mobile device 105 (e.g., to enable services such as friend or relative locating, asset tracking, or child or pet locating). Additionally or alternatively, the external client 180 may obtain the location of the mobile device 105 and provide the location to emergency service providers, government agencies, etc.
[0042] like Figure 1As illustrated, the location of the mobile device 105 can be determined in a variety of ways. Furthermore, a positioning engine (e.g., a Kalman filter) executed by the mobile device 105 can use positioning estimates from one or more of a variety of sources (GNSS, RAT-based positioning, etc.) to determine a final estimated position of the mobile device 105. Figure 2 , and the corresponding description below, provide some additional detail regarding how the position of the GNSS receiver of the mobile device 105 may be determined.
[0043] Figure 2 2 is a simplified diagram of a GNSS system 200, which is provided to illustrate how GNSS is generally used to determine the accurate position of a GNSS receiver 210 on Earth 220. As previously noted, the GNSS receiver 210 may be incorporated into the mobile device 105 or similar mobile device, and GNSS positioning may be one of a variety of positioning technologies that may be used to determine the location of the UE / mobile device. Generally speaking, the GNSS system 200 achieves an accurate GNSS positioning fix for the GNSS receiver 210, which receives radio frequency (RF) signals from GNSS satellites 230 from one or more GNSS constellations. Figure 2 230 GNSS satellites can be used with Figure 1 GNSS satellite 110. )
[0044] It should be understood that Figure 2 The diagram provided in is greatly simplified. In practice, there may be dozens of satellites 230 and a given GNSS constellation, and there are many different types of GNSS systems. As described above, GNSS systems include, for example, GPS, Galileo, GLONASS, and BDS. Additionally, GNSS systems may include the Quasi-Zenith Satellite System (QZSS) over Japan, the Indian Regional Navigation Satellite System (IRNSS) over India, and the like. In addition to the basic positioning functionality described later, GNSS augmentations (e.g., Satellite-Based Augmentation Systems (SBAS)) may be used to provide higher accuracy. Such augmentations may be associated with or otherwise enabled for use with one or more global and / or regional navigation satellite systems, such as, for example, the Wide Area Augmentation System (WAAS), the European Geostationary Navigation Overlay Service (EGNOS), the Multifunctional Satellite Augmentation System (MSAS), and the Geographic Augmentation Navigation System (GAGAN).
[0045] GNSS positioning is based on trilateration, a method for determining a position by measuring the distance to known coordinates. Generally speaking, determining the three-dimensional position of a GNSS receiver 210 may rely on determining the distance between the GNSS receiver 210 and four or more satellites 230. As illustrated, the 3D coordinates may be based on a coordinate system centered on the Earth's center of mass (e.g., XYZ coordinates; latitude, longitude, and altitude, etc.). The distance between each satellite 230 and the GNSS receiver 210 can be determined by accurately measuring the time difference between the GNSS receiver 210 transmitting a radio frequency (RF) signal and the time the signal is received at the GNSS receiver 210. To help ensure accuracy, the GNSS receiver 210 must not only accurately determine when the corresponding signal from each satellite 230 is received, but also consider and account for a number of additional factors. These factors include, for example, clock differences between the GNSS receiver 210 and the satellites 230 (e.g., clock bias), the precise position of each satellite 230 at the time of transmission (e.g., as determined by broadcast ephemeris), the effects of atmospheric distortion (e.g., ionospheric and tropospheric delays), and more.
[0046] As will be understood by those skilled in the art, triangulation / triangulation can be used and a three-dimensional (3D) position can be estimated. Triangulation can also estimate the clock difference between the device and (all current) satellite systems. The clock error can be different for each satellite system (GLONASS, GPS, Galileo, etc.). In summary, triangulation estimates three numbers representing the 3D coordinates, one number for each satellite system, representing the time difference between the local time and the satellite system's time.
[0047] To perform a traditional GNSS positioning fix, taking into account the additional factors and error sources mentioned above, GNSS receiver 210 can use code-based positioning to determine its distance from each satellite 230 based on the determined delay in a generated pseudo-random binary sequence received in the RF signal received from each satellite. Using the distance and position information of satellite 230, GNSS receiver 210 can then determine a positioning fix regarding its position. For example, this positioning fix can be determined by a standalone positioning engine (SPE) executed by one or more processors of GNSS receiver 210. However, code-based positioning is relatively inaccurate and, without error correction, is susceptible to many of the errors described above. Even so, code-based GNSS positioning can provide GNSS receiver 210 with positioning accuracy on the order of meters.
[0048] More accurate carrier-based ranging is based on the carrier of the RF signal from the satellite and can use measurements at a base station or reference station (not shown) to perform error correction to help reduce errors from the previously mentioned error sources. More specifically, errors in carrier-based ranging of satellites 230 observed by GNSS receiver 210 (e.g., atmospheric error sources) can be mitigated or eliminated based on similar carrier-based ranging of satellites 230 using a highly accurate GNSS receiver at a base station at a known location. These measurements and the location of the base station can be provided to GNSS receiver 210 for error correction. For example, the position fix can be determined by a precise positioning engine (PPE) executed by one or more processors of GNSS receiver 210. More specifically, in addition to the information provided to the SPE, the PPE can also use base station GNSS measurement information and additional correction information (such as precise orbit and clock, troposphere, and ionosphere) to provide a high-accuracy, carrier-based positioning fix. A variety of GNSS technologies can be used in PPE, such as differential GNSS (DGNSS), real-time kinematic (RTK), and precise point positioning (PPP), and can provide sub-meter accuracy (e.g., centimeter-level). The embodiments described herein for optimizing WLS input can be applied to traditional code-based positioning and / or carrier-based ranging.
[0049] Figure 3 A simplified block diagram of an example signal processing architecture 300 is illustrated that may be used in a GNSS receiver (e.g., Figure 2 The GNSS receiver 210 can also be integrated into Figure 1 The signal processing architecture 300 may be used in a GNSS receiver such as a mobile device 105 to enable GNSS signal acquisition and tracking and determine pseudoranges (distance measurements) for GNSS-based positioning. Figure 10 The signal processing architecture 300 is implemented in hardware and / or software components of a GNSS receiver 1080, which will be described in more detail below. The signal processing architecture 300 combines two GNSS signals GNSS1 and GNSS2 with a frequency F LO The received signal is processed by mixing a local oscillator (LO) signal of the first carrier frequency f1 and the second carrier frequency f2, the frequency of which is determined at least in part based on the first carrier frequency f1 and the second carrier frequency f2. Figure 3 As shown, depending on the particular implementation, a signal processing architecture 300 may receive signals GNSS1 and GNSS2 at a single RF antenna 302, a bandpass RF filter 304 (such as a surface acoustic wave (SAW) filter), and a low noise amplifier 306. The received signals may then be complex down-converted to an intermediate frequency by mixing the received GNSS signals with an LO signal, as shown.
[0050] In this context, "downconversion" may involve converting an input signal having a first frequency characteristic into an output signal having a second frequency characteristic. In one particular implementation, such downconversion may include converting a first signal into a second signal having a frequency characteristic of a lower frequency than the frequency of the first signal, although claimed subject matter is not limited in this respect. Here, in specific examples, such downconversion may include converting an RF signal into an intermediate frequency (IF) signal, or converting an IF signal into a baseband signal and / or baseband information. However, these are merely examples of downconversion and claimed subject matter is not limited in this respect.
[0051] In a particular implementation, by selecting F at approximately the midpoint between f1 and f2 LO , the portion of the signal down-converted from the signal received from components 302 and 304 can be substantially covered by bandpass filters 308 and 310. Here, for example, F LO Selecting a particular frequency may result in an image frequency component of one down-converted GNSS signal that may substantially overlap with a desired signal component of another down-converted GNSS signal. In certain embodiments, the effects of such overlap may be avoided without attenuating the image frequency component prior to mixing with the LO. However, it should be understood that in other implementations, F LO It may be chosen to be somewhere other than approximately midway between f1 and f2, and claimed subject matter is not limited in this respect.
[0052] The in-phase (I) and quadrature (Q) components filtered by associated bandpass filters (BPFs) 308 and 310 can then be digitally sampled at analog-to-digital conversion circuits (ADCs) 312 and 314 to provide digitally sampled in-phase and quadrature components for further processing (e.g., acquisition and / or tracking as described herein). Here, ADCs 312 and 314 can be adapted to sample the output signals of BPFs 308 and 310 at or above the Nyquist rate of the combined signal. Furthermore, the presently illustrated implementation includes ADCs 312 and 314 located between the first and second downconversion stages. However, it should be understood that other architectures may be implemented without departing from the claimed subject matter. In other implementations, for example, analog-to-digital conversion may occur after the second downconversion stage. Again, these are merely example implementations, and the claimed subject matter is not limited in these respects.
[0053] Furthermore, in alternative implementations, ADCs 312 and 314 may be replaced with a single complex ADC or a single time-shared and / or multiplexed ADC with appropriate delays shared between the in-phase and quadrature signal paths.
[0054] In certain implementations, GNSS1 and / or GNSS2 may include any of several pairs of different GNSS signals. In one specific embodiment, although the claimed subject matter is not limited in this respect, GNSS1 and GNSS2 may be selected such that f1 and f2 are close in frequency to enable low-cost manufacturing of RF filter 304 (e.g., a SAW filter) and / or low-noise amplifier (LNA) 306 by limiting the operating frequency bands. While GNSS1 and GNSS2 may be selected such that f1 and f2 are close in frequency (e.g., both in the L1 band or both in the L2 band) as illustrated above in certain embodiments, the claimed subject matter is not limited in this respect. In an alternative embodiment, GNSS signals transmitted at larger carrier frequencies may be downconverted to a common intermediate frequency in a single receiver channel, as illustrated above. In one specific example, SVs in a GNSS constellation may transmit multiple GNSS signals at different carrier frequencies and / or frequency bands (such as, for example, the L1 and L2 bands).
[0055] In certain embodiments, the bandwidth of BPFs 308 and 310 may be approximately the same as the intermediate frequency IF. o centered to process portions of the GNSS signals received from both GNSS1 and GNSS2. Furthermore, the bandwidth of BPFs 308 and 310 can be implemented to be wide enough to capture sufficient information GNSS signals received from both GNSS1 and GNSS2 without introducing significant noise outside the frequency bands of the spectrum of components 302 and 304. Additionally, BPFs 308 and 310 can be selected to be narrow enough to enable ADCs 312 and 314 to sample at a given sampling rate (e.g., at approximately the Nyquist rate) without significant distortion.
[0056] Depending on the particular implementation, the sampled in-phase and quadrature components provided by ADCs 312 and 314 may be further processed by complex down-conversion and digital baseband 316, which may be used to generate in-phase and quadrature components and output pseudoranges derived from the GNSS signals. According to some embodiments, the output of complex down-conversion and digital baseband 316 may be more broadly referred to as measurements, where the measurements may include pseudoranges, or pseudoranges and carrier phase.
[0057] The components that perform digital conversion from RF antenna 302 to ADCs 312 and 314 may be referred to herein as an "RF front end" and / or an "analog front end." As noted, signal processing architecture 300 may be capable of processing multiple frequencies using a single RF antenna 302 and / or a single set of analog front end components. To process additional frequencies, a GNSS receiver may have multiple signal processing architectures 300 to process GNSS satellite signals in multiple frequency bands and / or from multiple GNSS constellations. For example, a GNSS receiver (e.g., GNSS receiver 210) may include a first signal processing architecture for processing frequency bands L1 and L2, and a second signal processing architecture for processing frequency band L5. In some embodiments, a GNSS receiver may include different analog front end components for different frequency bands (some of which may be shared, as in the case of GPS L1 and L2), and may share a single digital processing chip and / or digital processing structure to perform the complex down-conversion and digital baseband processing shown by block 316. Some embodiments may have separate digital processing circuits.
[0058] Depend on Figure 3 The pseudoranges output by the illustrated architecture are used to determine the position of a GNSS receiver (and / or a device, vehicle, etc., into which a GNSS receiver is integrated or co-located). Because the pseudoranges used for position estimation depend on signals received from GNSS satellites, phenomena that affect signal quality can adversely affect the position estimate determined by the GNSS receiver. For example, in dense urban areas, signals may reflect off buildings one or more times before reaching the GNSS receiver. Because the signal takes a longer path to reach the receiver, and the GNSS receiver is unaware of the signal path, the GNSS receiver may estimate its position farther from the satellite due to the additional delay. Additionally or alternatively, signals may experience multipath, where the same signal from a satellite may reach the GNSS receiver via multiple paths (either reflections or a direct path plus reflections). These mixed signals can cancel each other and result in erroneous measurements of the GNSS receiver's distance to the satellite. Finally, in urban areas, first fixes (e.g., the initial position fix from acquired satellite and navigation signals) and continuous positioning can be significantly degraded, which can result in horizontal position errors as much as 20 times greater than those under open sky. Due to the inaccuracy of GNSS receiver positioning, the quality of service of location-based services (such as ride-sharing applications) on mobile devices in urban areas is degraded. In addition, traditional techniques for solving this problem, such as using 3D maps of the area, can present significant challenges and consume a large amount of communication and / or processing resources.
[0059] As previously noted, embodiments may address these and other issues by performing an optimization of the residuals (and / or weights) to provide an improved positioning estimate from an initial positioning estimate. Figure 4Describe in more detail.
[0060] Figure 4 4 is a diagram illustrating a system 400 for finding an improved position 410 of a user's mobile device using GNSS satellite signals (of traveled distances 404, 406) by determining a correction Δx 412. As illustrated, a GNSS satellite 402 transmits a signal having a measured distance 406 (e.g., as measured by the mobile device's GNSS receiver) that indicates the mobile device's actual position 410. This measured distance 406 is not completely accurate, as compared to an expected distance 404 (e.g., an initial position estimate, which may be determined without using GNSS measurements) indicating the GNSS receiver's guessed position 408. A difference Δx 412 (e.g., a correction to the guessed position 408) represents the difference between the guessed position 408 and the actual position 410.
[0061] Arrows 414-418 further illustrate how a residual error is determined based on the difference between expected distance 404 and measured distance 406. Expected distance arrow 414 (corresponding to expected distance 404) indicates the expected distance that would be measured at guess location 408, measured distance arrow 418 indicates the distance actually measured by the mobile device's GNSS receiver (e.g., at actual location 410), and residual arrow 416 indicates the difference between expected distance arrow 414 and measured distance arrow 418.
[0062] Here, the measured distance to the satellite can be input to a weighted least squares (WLS) algorithm to determine the correction Δx as follows:
[0063] Δx=(H T WH) -1 H T Wr, (Equation 1)
[0064] where the residual r is the difference between the measured distance and the expected distance at the guessed position; the weight W represents the importance of each measurement; and the information about the position of the satellite in the sky is represented by H. Once the correction Δx is determined, it can be applied to the guessed position (e.g., Figure 4 The WLS algorithm can find Δx by iteratively running the algorithm until convergence (correction becomes smaller). Embodiments herein can provide a more accurate determination of Δx by performing an optimization to find the best residual and / or best weights for the WLS algorithm for a given set of GNSS measurement errors.
[0065] Figure 55 is a diagram of an example system 500 that determines and uses optimized residuals, or in an alternative embodiment, optimized weights, to calculate a more accurate value for Δx 516, thereby resulting in a more accurate determination of a position estimate (e.g., an improved position) for a mobile device compared to conventional techniques using unoptimized residuals and unoptimized weights. As explained in more detail below, the estimated optimal residuals / weights can be derived using Equation 1 and estimated GNSS measurement errors. System 500 can be executed by hardware and / or software components of a GNSS positioning engine, which can be implemented in a GNSS receiver and / or application processor of a mobile device, as described below.
[0066] The example system 500 receives satellite characteristics and signal characteristics input 502 into a machine learning model 504. The satellite characteristics and signal characteristics input 502 (such as the carrier power to noise ratio (CN / 0) and elevation angle of the satellite signal) can come from one or more GNSS satellites from which GNSS measurements are taken. The machine learning model 504 determines the error of the GNSS measurement based on the satellite characteristics and signal characteristics input 502. 506 (e.g., better estimate the actual error). Specifically, the machine learning model 504 may include a model developed to predict the error in the measured distance to the satellite by using information from the signal and the satellite constellation as input. (This distance measurement error may be calculated from, for example, accurate hardware such as an atomic clock.) To this end, the machine learning model may be trained using ground truth measurement errors to estimate the error at inference time. The machine learning model may include, for example, a neural network, although other machine learning models may be used. Furthermore, in some embodiments, additional or alternative algorithms may be used to determine the error, which may or may not involve machine learning. 506 (or unoptimized error). As described in more detail below, according to some embodiments, the error determined by the machine learning model 504 (and / or other such algorithms) may be used to filter certain GNSS measurements used to determine the value of Δx and the corresponding improved position estimate.
[0067] In another embodiment of the system, the machine learning model 504 determines an estimated error during inference. This is an estimate because accurate atomic clock hardware (e.g., on a mobile phone) is not available during inference. In order for the machine learning model 504 to learn to estimate the error during inference, it can be trained by feeding it input 502 and forcing the machine learning model 504 to output the actual (true) error. The actual error can be collected using atomic clock accurate hardware (for training purposes). After the machine learning model 504 is trained using this accurate data, it enters the mobile phone. During inference, the input 502 is input at runtime so that the output is now close to the actual error.
[0068] The example system 500 also includes a difference generator 520 that calculates the difference between the distances traveled by the RF signals. Specifically, the difference generator 520 determines the measured distance 518 (e.g., a pseudorange, which may correspond to Figure 4 406 and 418) and the expected distance 522 (e.g., corresponding to Figure 4 The difference generator 520 determines the residual I (e.g., the difference, such as Figure 4 416).
[0069] In one embodiment, the error output from the machine learning model 504 506 and the residual (r) output from the difference generator 520 are input to the WLS input optimizer (WIO) 508. In one configuration, the WIO 508 uses the initial residual r524 and the error 506 to perform the optimization to produce a modified set of residuals 512 (e.g., optimizing residuals) and weights 510 (e.g., optimizing weights). As indicated in more detail below, the optimization may be performed on either the residuals or the weights, and thus the modified set of residuals and weights may include modified / optimized residuals or modified / optimized weights. The optimization may be further based on H, where H represents the position of the GNSS satellite. The optimization performed by WIO may be based on determining the best residual of Equation 1 or weight These optimal residuals or weights are then provided to the WLS block 514 .
[0070] At its core, WLS aims to find the WLS that minimizes the weighted sum of the residuals:
[0071] w0r0 2 +w1r1 2 +w2r2 2 ..., (Equation 2) where for the distance d from position x to satellite i i and the measured distance m to satellite i i , r i is the residual (m i -d i In addition to optimizing the position (XYZ), WLS also optimizes the time offset between the user device and the constellation used in the triangulation (XYZ + time in the case of GPS constellation only). Therefore, the best residual and / or weight The optimization of can include setting the derivative with respect to position to zero:
[0072] or H x,0 w0r0+H x,1 w1r1+H x, 2w2r2...=0 (Equation 3) where the matrix H is known. In vector form:
[0073] H T Wr=0
[0074] H T W(MD(x))=0
[0075] H T W(D(gt)+eD(x))=0 (Equation 4)
[0076] Here, the ground truth position may be the solution. Thus, the measurement error e may be reduced from the measurement. The modified (eg, optimized) residual 512 from WIO 508 may include the residual 524 and the estimated measurement error The difference between 506.
[0077] like Figure 5 As shown, a set of residuals from WIO 508 including the modified 512 and weight The output of 510 may be input to a weighted least squares (WLS) block 514. The WLS block 514 uses this input along with the geometry of the GNSS satellites (H) to determine an improved position of the device by calculating a correction Δx 516 (e.g., using Equation 1 above). A uniform weight w may be used when determining the modified / optimized residual.
[0078] Figure 6 is an illustration of a graph 600 illustrating the performance improvements that the example system 500 may provide over prior art techniques when the WIO 508 performs optimization to determine modified / optimized residuals. Using a large sample of measurements obtained, cumulative distribution functions (CDFs) are plotted on the horizontal errors for: (1) a technique using uniform weights (no correction), illustrated by curve 610; (2) a technique in which measurements with high estimation errors are simply removed, illustrated by curve 620; (3) the solutions discussed above (e.g., as Figure 5 (shown as curve 630), where the estimated error is used to correct the residual error; and (4) using the theoretical limit of the ground truth measurement error (this theoretical limit is not available on the mobile device but is shown as a reference), shown by line 640. The improvement in the horizontal error in curve 630 over the conventional technique can be attributed to, for example, Figure 5 WIO block 514, where the modified / optimized residual is determined 512 (eg, rather than simply using the residual 524 and weighted measures to perform WLS (which can be implemented in conventional techniques)).
[0079] As noted above, the modified set of residuals output by WIO is 512 and weight 510 may alternatively include optimized / modified values of the weights. That is, using H and e in the set of equations provided above, the values of the weights may be determined using Gauss-Jordan elimination and produce an optimal set of weights as a function of the measurement error e.
[0080] In some alternative embodiments, WIO 508 may not perform the initial residual r524 or error 506 performs the optimization and will not produce a modified residual 512 or weight 510. In some configurations, WIO 508 may use the initial residual r524 and the error 506 to perform the optimization to produce only the modified residual 512, and no weight will be generated 510. In another configuration, as known to those skilled in the art, the WIO 508 may use the initial residual r524 and / or the error 506 to perform optimization to generate weights 510 and / or modified residuals 512.
[0081] According to some embodiments, example system 500 can provide Δx 516 and / or the improved positioning of the device in any of a variety of ways. For example, example system 500 can provide Δx 516 and / or the improved positioning of the device to an operating system or application of the device, transmit Δx 516 and / or the improved positioning of the device to an application processor and / or another device, provide Δx 516 and / or the improved positioning of the device to a graphical user interface and / or other output (e.g., to a user of the device) for display, or perform any combination of these operations.
[0082] In some configurations, the example system 500 may filter the GNSS measurements to select at least a portion of the GNSS measurements. In another embodiment, the example system 500 may use, at least in part, a threshold number of satellite measurements to determine Δx 516 and the corresponding improved position of the device. At least a portion of the GNSS measurements may be the threshold number of satellite measurements required to determine Δx 516. In other configurations, the system may increase the upper error limit and decrease the lower error limit so that the number of satellite measurements is met. Figure 7 Additional details are provided.
[0083] Figure 7is a flow chart illustrating an example method for filtering GNSS measurements, which may be performed in some embodiments (e.g., in addition to performing the features of WIO block 514 discussed above). That is, according to process 700, using error (For example, in Figure 5 506 ), the corresponding GNSS measurements may be omitted or included in the determination of Δx and the improved position of the device. Process 700 begins by receiving a set of GNSS measurements (Meas) 710. At block 710, a determination is made to determine whether the number of GNSS measurements (Count(Meas)) is less than a threshold number of measurements (Nreq) for performing filtering. (In some embodiments, Nreq may be 15, but other embodiments may have higher or lower Nreq values, depending on the desired functionality.) If Count(Meas) is less than Nreq, the process proceeds to block 730. At block 730, an output (predicted position) estimate of the device is generated (e.g., using the techniques described above for determining an improved position estimate). If Count(Meas) is greater than Nreq, filtering of the GNSS measurements may be performed, and process 700 proceeds to block 720.
[0084] At block 720, it is determined whether the number of GNSS measurements (Count(LB < Meas < UB)) in which the error falls between the lower bound (LB) and the upper bound (UB) of the error value exceeds Nreq. According to some embodiments, the initial values of LB and UB may be set based on desired or target LB / UB values (e.g., based on prior and / or empirical data of values leading to a threshold or desired positioning accuracy). In other embodiments, LB and UB may change at each timestamp at which measurements are made. For example, at time t = 1 (e.g., 1 fix or 1 epoch), the mobile device may record 50 satellite measurements such that the set UB, LB may be set and filtering may be performed based on those bounds. The next time, at timestamp t = 2, the mobile device may record 30 measurements, and the reset UB and LB may be set to smaller values, and then filtering will be performed using the currently set UB and LB values. If Count(LB < Meas < UB) is greater than Nreq, process 700 may proceed to block 730 to generate a predicted position value based on the GNSS measurements having error values between LB and UB. Otherwise, process 700 may proceed to block 740. At block 740, UB is increased by a step value S. The value of S may vary based on desired functionality. In some embodiments, S may be static (a pre-determined value). In some embodiments, S may be a dynamic value based on factors such as the error value of the GNSS measurement, the current values of UB / LB, etc. Process 700 then proceeds to block 750, where it is determined whether the new UB value) is greater than the maximum measurement error (max(Meas)) in the current measurement set. If not, the process returns to block 720. Otherwise, process 700 then proceeds to block 760, where LB is decreased by step S, and process 700 returns to block 720 to again check whether Count(LB < Meas < UB) is greater than Nreq given the new UB and / or LB values. Thus, process 700 may increase the bounds UB and LB until the threshold Nreq is exceeded. As Figure 7 shown and discussed above, the value of UB may be increased first, and then the value of LB may be adjusted. However, depending on the desired functionality, embodiments may alternatively adjust the values of LB and UB together, or adjust the value of LB first and then adjust UB.
[0085] Figure 8 is an illustration of graph 800 showing the performance improvement that embodiments may provide when determining a modified / optimized residual as provided herein (e.g., as described above with respect to Figure 5 and Figure 6 described) and performing additional filtering as described with respect to Figure 7 described. Similar to Figure 6, using a large sample of the measurements obtained, the CDF is plotted on the horizontal errors for: (1) a technique using uniform weights (no correction), shown by curve 810; (2) a technique in which measurements with high estimated errors are simply removed, shown by curve 820; (3) the solution discussed above in which the estimated errors are used to correct the residuals, and the error is corrected according to Figure 7 , filtering is performed, shown by curve 830. As can be seen, the techniques herein can be used to reduce horizontal error, thereby increasing the accuracy of the device's position estimate.
[0086] Figure 9 is a flow chart of a method 900 for calculating an improved position of a mobile device using GNSS satellites according to one embodiment. Figure 9 Means of the functionality illustrated in one or more of the illustrated blocks may be performed by hardware and / or software components of a GNSS receiver and / or a mobile device utilizing the GNSS receiver. Figure 10 Example components of a mobile device are illustrated in FIG, and are described in more detail below.
[0087] The method 900 begins at 910 by obtaining an initial position of the device without using a global navigation satellite system (GNSS) positioning. Specifically, the initial position of the device may be obtained without using GNSS measurements obtained at the initial position (e.g., the GNSS measurements obtained at block 940 described below). The initial position may be obtained using any of a variety of positioning determination techniques, including, for example, using network-based positioning in a cellular network (e.g., using base stations, non-GNSS satellites, and / or other nodes of the cellular network). Additionally or alternatively, the initial position of the device may be determined using Wi-Fi positioning, dead reckoning (e.g., from a previously determined position), user input, or any combination thereof. At 920, GNSS measurements are taken of RF signals transmitted by GNSS satellites. In some embodiments, at least a portion of the GNSS measurements include at least a minimum threshold number of GNSS measurements for determining an improved position. In other embodiments, the GNSS measurements may be filtered to select at least a portion of the GNSS measurements. In other alternative embodiments, the method 900 may iteratively increase an upper error limit and / or decrease a lower error limit (e.g., as Figure 7 exemplified and described above), such that a threshold number of GNSS measurements is met.
[0088] At 940, an error in the GNSS measurement is estimated based on the RF signal. At 930, an initial residual is determined based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurement and an expected distance determined from the initial position fix. This may be, for example, Figure 4 and Figure 5 In some embodiments, machine learning (e.g., Figure 5 A machine learning model 504 based on the RF signal is used to estimate the error. At 950, an optimization is performed using the initial residuals and at least a portion of the error to produce a modified set of residuals and weights. The optimization is further based on the geometry of the satellite. As noted, the geometry of the GNSS satellite may include a matrix (H) having trigonometric functions of the azimuth and elevation angles of the GNSS satellite. At 960, a cost minimization method is performed on the modified set of residuals and weights and the actual geometry of the GNSS satellite to determine an improved positioning of the device. As noted herein, the cost minimization method may be based on and / or implement a weighted least squares (WLS) calculation. According to some embodiments, the geometry of the satellite may include a matrix having trigonometric functions of the azimuth and elevation angles of the satellite.
[0089] In some embodiments, the method may also include: providing the improved positioning of the device to an operating system or application of the device; transmitting the improved positioning to an application processor; transmitting the improved positioning to another device; providing the improved positioning to a graphical user interface for display; or any combination thereof.
[0090] Functional means for performing any or all of blocks 910-960 may include, for example, Figure 10 The illustrated mobile device 1000 includes a processor 1010 , a DSP 1020 , a wireless communication interface 1030 , a sensor 1040 , a memory 1060 , a GNSS receiver 1080 , and / or other components.
[0091] Figure 10 is a block diagram of an embodiment of a mobile device 1000 that can be used as described in the embodiments described herein and with Figures 1 to 9 For example, the mobile device 1000 may execute Figure 9 Furthermore, the mobile device 1000 may correspond to a mobile device as described herein (eg, Figure 1 It should be noted that Figure 10 It is meant only to provide a generalized illustration of the various components of mobile device 1000, any or all of which may be utilized as appropriate. In other words, because devices may vary widely in functionality, they may only include Figure 10 It may be noted that in some instances, Figure 10 The illustrated components may be localized to a single physical device and / or distributed across various networked devices that may be located at different geographical locations.
[0092] The mobile device 1000 is shown as including hardware elements that can be electrically coupled via a bus 1005 (or can communicate in other ways as appropriate). The hardware elements may include one or more processors 1010, which may include but are not limited to one or more general-purpose processors, one or more special-purpose processors (such as digital signal processing (DSP) chips, graphics acceleration processors, application-specific integrated circuits (ASICs)), etc.), and / or other processing structures, units, or components that can be configured to perform one or more of the methods described herein. Figure 10 As shown, depending on the desired functionality, some embodiments may have a separate DSP 1020. The mobile device 1000 may also include one or more input devices (not shown), which may include but are not limited to one or more touch screens, touch pads, microphones, buttons, dials, switches, etc.; and one or more output devices (not shown), which may include but are not limited to one or more displays, light emitting diodes (LEDs), speakers, etc.
[0093] The mobile device 1000 may further include a wireless communication interface 1030, which may include but is not limited to a modem, a network card, an infrared communication device, a wireless communication device and / or a chipset (such as equipment, IEEE 802.11 equipment, IEEE 802.15.4 equipment, WiFi equipment, WiMAX TM equipment, cellular communication facilities, etc.), etc., which can enable the mobile device 1000 to be as described herein Figure 1 1034. The wireless communication interface 1030 may communicate via a network as described herein. The wireless communication interface 1030 may permit data to be communicated with a network, a base station (e.g., an eNB, ng-eNB, and / or gNB), and / or other network components, a computer system, a transmit / receive point (TRP), and / or any other electronic device described herein. Communication may be performed via one or more wireless communication antennas 1032 that transmit and / or receive wireless signals 1034. According to some embodiments, the wireless communication antennas 1032 may include multiple discrete antennas, antenna arrays, or any combination thereof. The antennas 1032 may be capable of transmitting and receiving wireless signals using beams (e.g., Tx beams and Rx beams). Beamforming may be performed using digital and / or analog beamforming techniques with corresponding digital and / or analog circuitry. The wireless communication interface 1030 may include such circuitry.
[0094] Depending on the desired functionality, the wireless communication interface 1030 may include separate receivers and transmitters, or any combination of transceivers, transmitters, and / or receivers to communicate with base stations (e.g., ng-eNBs and gNBs) and other terrestrial transceivers such as wireless devices and access points. The mobile device 1000 may communicate with different data networks, which may include a variety of network types. As previously noted, a WWAN may be a CDMA network, a TDMA network, an FDMA network, an OFDMA network, an SC-FDMA network, WiMAX (IEEE 802.16), etc. 5G, LTE, Advanced LTE, NR, GSM, and WCDMA are described in documents from 3GPP. Similarly, a WLAN may also be an IEEE 802.11x network, and a WPAN may be a Bluetooth network, IEEE 802.15x, or some other type of network.
[0095] The mobile device 1000 may also include sensors 1040. Such sensors may include, but are not limited to, one or more inertial sensors, radar, LIDAR, sonar, accelerometers, gyroscopes and / or other inertial measurement units (IMUs), cameras, magnetometers, compasses, altimeters, microphones, proximity sensors, light sensors, barometers, and the like, some of which may be used to supplement and / or facilitate the functionality described herein.
[0096] Various embodiments of the mobile device 1000 may also include a GNSS receiver 1080 capable of receiving signals 1084 from one or more GNSS satellites via one or more GNSS frequency bands using a GNSS antenna 1082 (which, in some implementations, may be combined with the antenna 1032). To this end, the GNSS receiver 1080 may include Figure 3 The signal processing architecture 300 and / or similar processing components may be implemented in the GNSS baseband / combined baseband block 1085. As previously noted, the signal processing architecture 300 may be used to process signals received from a single GNSS frequency band or two GNSS frequency bands having similar baseband frequencies. Thus, the GNSS receiver 1080 may include a signal processing architecture similar to Figure 3 The signal processing architecture 300 may be configured to process signals received via many GNSS bands / constellations. In some embodiments, the GNSS receiver 1080 may include front-end analog components for each GNSS band (or for a pair of GNSS bands having similar baseband frequencies), and may share digital circuitry (e.g., complex down-conversion and digital baseband 316) across multiple GNSS bands. Additionally or alternatively, the digital circuitry may be separate for each GNSS band. According to some embodiments, Figure 5 Some or all aspects of system 500 may be implemented by GNSS receiver 1080 and / or processor 1010 .
[0097] The GNSS receiver 1080 may use conventional techniques to extract the position of the mobile device 1000 from GNSS satellites of GNSS systems such as GPS, Galileo, GLONASS, Compass, Quasi-Zenith Satellite System (QZSS) over Japan, Indian Regional Navigation Satellite System (IRNSS) over India, BeiDou over China, and the like. Furthermore, the GNSS receiver 1080 may use various augmentation systems (e.g., satellite-based augmentation systems (SBAS)) that may be associated with or otherwise support use with one or more global and / or regional navigation satellite systems. By way of example and not limitation, SBAS may include augmentation systems that provide integrity information, differential corrections, and the like, such as Wide Area Augmentation System (WAAS), European Geostationary Navigation Overlay Service (EGNOS), Multifunctional Satellite Augmentation System (MSAS), GPS-Assisted Geo-augmented Navigation, or GPS and Geographic Augmentation Navigation System (GAGAN), and the like. Thus, as used herein, GNSS may include any combination of one or more global and / or regional navigation satellite systems and / or augmentation systems, and GNSS signals may include GNSS, GNSS-like, and / or other signals associated with such one or more GNSS.
[0098] It may be pointed out that although Figure 10 GNSS receiver 1080 is illustrated as a distinct component in the figures, but embodiments are not limited thereto. As used herein, the term "GNSS receiver" may include hardware and / or software components configured to obtain GNSS measurements (measurements from GNSS satellites). Thus, in some embodiments, the GNSS receiver may include (as software) a measurement engine executed by one or more processors, such as processor 1010, DSP 1020, and / or a processor within wireless communication interface 1030 (e.g., in a modem). The GNSS receiver can also optionally include a positioning engine that can use the GNSS measurements from the measurement engine to determine the position of the GNSS receiver using an extended Kalman filter (EKF), weighted least squares (WLS), a hatch filter, or a particle filter, among others. Additionally or alternatively, as Figure 10 As indicated, at least some aspects of the positioning engine may also be executed by one or more processors, such as processor 1010 (as shown by block 1015 ) or DSP 1020 .
[0099] The mobile device 1000 may also include and / or be in communication with memory 1060. The memory 1060 may include, but is not limited to, local and / or network accessible storage, disk drives, drive arrays, optical storage devices, solid-state storage devices, such as random access memory (RAM) and / or programmable, flash-updatable read-only memory (ROM). Such storage devices may be configured to implement any suitable data storage, including, but not limited to, various file systems, database structures, and the like.
[0100] The memory 1060 of the mobile device 1000 may also include software elements (not shown) including an operating system, device drivers, executable libraries, and / or other code such as one or more applications, which may include computer programs provided by various embodiments and / or may be designed to implement methods provided by other embodiments and / or configure systems provided by other embodiments, as described herein. By way of example only, one or more processes described with respect to the functionality discussed above may be implemented as code and / or instructions executable by the mobile device 1000 (e.g., using the processor 1010). In one aspect, such code and / or instructions may be used to configure and / or adapt a general-purpose computer (or other device) to perform one or more operations according to the described methods.
[0101] It will be apparent to those skilled in the art that basic modifications may be made to suit specific requirements. For example, customized hardware may be used, and / or specific elements may be implemented in hardware, software (including portable software such as applets), or both. Furthermore, connections to other computing devices such as network input / output devices may be employed.
[0102] With reference to the accompanying drawings, components that may include memory may include non-transitory machine-readable media. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any storage medium that participates in providing data that causes a machine to operate in a particular manner. In the embodiments provided above, various machine-readable media may be involved when providing instructions / codes to a processor and / or other device for execution. Additionally or alternatively, machine-readable media may be used to store and / or carry such instructions / codes. In many specific implementations, computer-readable media is a physical and / or tangible storage medium. Such media may take a variety of forms, including but not limited to non-volatile media, volatile media, and transmission media. Common forms of computer-readable media include, for example: magnetic and / or optical media, any other physical media with a hole pattern, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cassette, the carrier described below, or any other medium from which a computer can read instructions and / or code.
[0103] The methods, systems, and devices discussed herein are examples. Various embodiments may omit, substitute, or add various processes or components as appropriate. For example, features described for certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. The various components of the figures provided herein may be embodied in hardware and / or software. Moreover, technology is evolving, and therefore many elements are examples that do not limit the scope of this disclosure to those specific examples.
[0104] It has proven convenient at times, primarily for reasons of common usage, to refer to such signals as bits, information, values, elements, symbols, characters, variables, terms, numbers, digital symbols, and the like. It will be understood, however, that all of these or similar terms are to be associated with the appropriate physical quantities and are merely convenient labels. Unless otherwise specifically stated, as will be apparent from the above discussion, it will be appreciated that throughout this specification, discussions utilizing terms such as "processing," "computing," "calculating," "determining," "ascertaining," "identifying," "correlating," "measuring," "performing," and the like refer to the actions or processes of a specific apparatus, such as a special-purpose computer or similar special-purpose electronic computing device. Thus, in the context of this specification, a special-purpose computer or similar special-purpose electronic computing device is capable of manipulating or transforming signals, typically expressed as physical, electronic, electrical, or magnetic quantities in a memory, register, or other information storage device, a transmitting device, or a display device of the special-purpose computer or similar special-purpose electronic computing device.
[0105] As used herein, the terms "and" and "or" may include a variety of meanings that are also intended to depend at least in part on the context in which such terms are used. In general, "or," if used in connection with a list, such as A, B, or C, is intended to mean A, B, and C (used herein in an inclusive sense) as well as A, B, or C (used herein in an exclusive sense). Furthermore, as used herein, the term "one or more" may be used to describe any feature, structure, or characteristic in the singular, or may be used to describe some combination of features, structures, or characteristics. However, it should be noted that this is merely an illustrative example, and the claimed subject matter is not limited to this example. Furthermore, the term "at least one of," if used in connection with a list, such as A, B, or C, may be interpreted to mean any combination of A, B, and / or C, such as A, AB, AA, AAB, AABBCCC, etc.
[0106] As used herein, the terms "mobile device" and "user equipment (UE)" may be used interchangeably and are not intended to be specific to or otherwise limited to any particular radio access technology (RAT), unless otherwise noted. In general, a mobile device and / or UE may be any wireless communication device (e.g., a mobile phone, a router, a tablet, a laptop, a tracking device, a wearable device (e.g., a smart watch, glasses, augmented reality (AR) / virtual reality (VR) headset, etc.), a vehicle (e.g., a car, a ship, an aircraft, a motorcycle, a bicycle, etc.), an Internet of Things (IoT) device, etc.), or other electronic device that can be used for global navigation satellite system (GNSS) positioning as described herein. In some embodiments, a mobile device or UE may be used to communicate on a wireless communication network. A UE may be mobile or may be stationary (e.g., at certain times) and may communicate with a radio access network (RAN). As used herein, the term UE may be interchangeably referred to as an access terminal (AT), client device, wireless device, subscriber device, subscriber terminal, subscriber station, user terminal (UT), mobile device, mobile terminal, mobile station, or variations thereof. Generally speaking, a UE can communicate with a core network via a RAN, and through the core network, the UE can connect to external networks (such as the Internet) and other UEs. Other mechanisms for connecting to the core network and / or the Internet are also possible for the UE, such as through a wired access network, a wireless local area network (WLAN) network (e.g., based on IEEE 802.11, etc.), etc.
[0107] As used herein, "instructions" refer to expressions that represent one or more logical operations. For example, instructions may be "machine-readable" by being interpretable by a machine to perform one or more operations on one or more data objects. However, these are merely examples of instructions and claimed subject matter is not limited in this respect. In another example, as used herein, instructions may refer to encoded commands that may be executed by a processing circuit having a command set that includes these encoded commands. Such instructions may be encoded in a machine language that is understood by the processing circuit. Again, these are merely examples of instructions and claimed subject matter is not limited in this respect.
[0108] As used herein, "storage media" refers to media capable of maintaining expressions perceivable by one or more machines. For example, a storage medium may include one or more storage devices for storing machine-readable instructions and / or information. Such storage devices may include any of several media types, including, for example, magnetic, optical, or semiconductor storage media. Such storage devices may also include any type of long-term, short-term, volatile, or non-volatile device, memory device. However, these are merely examples of storage media and the claimed subject matter is not limited in these respects.
[0109] Unless otherwise specifically stated, as will be apparent from the following discussion, it should be appreciated that throughout this specification, discussions utilizing terms such as "process," "compute," "calculate," "select," "form," "enable," "disable," "locate," "terminate," "identify," "initiate," "detect," "obtain," "host," "maintain," "represent," "estimate," "receive," "send," "determine," and the like refer to actions and / or processes that may be performed by a computing platform (such as a computer or similar electronic computing device) that manipulates and / or transforms data represented as physical electronic and / or magnetic quantities and / or other physical quantities within a processor, memory, registers, and / or other information storage, transmission, reception, and / or display device of the computing platform. For example, such actions and / or processes may be performed by the computing platform under the control of machine-readable instructions stored in a storage medium. Such machine-readable instructions may, for example, include software or firmware stored in a storage medium included as part of the computing platform (e.g., "included as part of processing circuitry or external to such processing circuitry"). Furthermore, unless specifically stated otherwise, the processes described herein with reference to flow diagrams or otherwise may also be executed and / or controlled, in whole or in part, by such computing platforms.
[0110] As used herein, a "space vehicle" (SV) refers to an object capable of transmitting signals to a receiver on the surface of the Earth. In one specific example, such an SV may comprise a geostationary satellite. Alternatively, an SV may comprise a satellite that orbits and moves relative to a stationary location on the Earth. However, these are merely examples of SVs, and claimed subject matter is not limited in these respects. An SV may also be referred to herein simply as a "satellite."
[0111] As used herein, "location" refers to information indicating where an object or thing is located relative to a reference point. Here, for example, such a location may be represented as geographic coordinates, such as latitude and longitude. In another example, such a location may be represented as XYZ coordinates centered on the Earth. In yet another example, such a location may be represented as a street address, a municipality or other governmental jurisdiction, a postal code, etc. However, these are merely examples of how a location may be represented according to specific examples, and claimed subject matter is not limited in these respects.
[0112] The location determination techniques described herein can be used in various wireless communication networks, such as wireless wide area networks (WWANs), WLANs, wireless personal area networks (WPANs), and the like. The terms "network" and "system" can be used interchangeably herein. A WWAN can be a code division multiple access (CDMA) network, a time division multiple access (TDMA) network, a frequency division multiple access (FDMA) network, an orthogonal frequency division multiple access (OFDMA) network, a single carrier frequency division multiple access (SC-FDMA) network, and the like. A CDMA network can implement one or more RATs, such as cdma2000, Wideband CDMA (W-CDMA), to name just a few examples of radio technologies. Here, cdma2000 can include technologies implemented according to the IS-95, IS-2000, and IS-856 standards. A TDMA network can implement Global System for Mobile Communications (GSM), Digital Advanced Mobile Phone System (D-AMPS), or some other RAT. GSM and W-CDMA are described in documents from an organization called the Third Generation Partnership Project (3GPP). Cdma2000 is described in documents from an organization named 3rd Generation Partnership Project 2 (3GPP2). 3GPP and 3GPP2 documents are publicly available. For example, WLANs may include IEEE 802.11x networks, while WPANs may include Bluetooth networks, IEEE 802.15x networks. Such location determination techniques described herein may also be used for any combination of WWANs, WLANs, and / or WPANs.
[0113] Several embodiments have been described, and various modifications, alternative configurations, and equivalents may be used without departing from the spirit of the present disclosure. For example, the above elements may be merely components of a larger system, wherein other rules may take precedence over the application of the various embodiments or otherwise modify the application of the various embodiments. Additionally, multiple steps may be performed before, during, or after considering the above elements. Accordingly, the above description does not limit the scope of the present disclosure.
[0114] In view of this description, various embodiments may include different combinations of features. Specific implementation examples are described in the following numbered clauses.
[0115] Item 1: A method for determining a position of a device, the method comprising: obtaining an initial position of the device without using Global Navigation Satellite System (GNSS) positioning; performing GNSS measurements of radio frequency (RF) signals transmitted by GNSS satellites; determining initial residuals based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurements and an expected distance determined from the initial position; estimating an error in the GNSS measurements based at least in part on the initial residuals and the RF signals; performing optimization using the initial residuals and at least a portion of the errors to produce a modified set of residuals, wherein the optimization is further based on the geometry of the GNSS satellites; and determining an improved position of the device using a cost minimization method of the modified set of residuals and the geometry of the GNSS satellites.
[0116] Clause 2: The method of determining the location of the device of clause 1, wherein the cost minimization method is based on a weighted least squares (WLS) calculation.
[0117] Clause 3: The method of determining the position of the device according to any of clauses 1 to 2, wherein estimating the error of the GNSS measurement further comprises using machine learning to estimate the error based on the RF signal.
[0118] Clause 4: The method of determining the position of the device according to any one of clauses 1 to 3, further comprising obtaining the initial position of the device using a base station of a terrestrial network.
[0119] Clause 5: The method of determining the position of the device according to any of clauses 1 to 4, further comprising filtering the GNSS measurements to select the at least a portion of the GNSS measurements.
[0120] Clause 6: The method of determining the position of the device of Clause 5, wherein the at least a portion of the GNSS measurements comprises at least a minimum threshold number of GNSS measurements used to determine the improved position.
[0121] Clause 7: The method of determining the position of the device according to any of clauses 1 to 6, further comprising iteratively increasing an upper error limit, iteratively decreasing a lower error limit, or both, such that a threshold number of GNSS measurements is met.
[0122] Clause 8: A method for determining the position of the device according to any one of clauses 1 to 7, the method further comprising: providing the improved position of the device to an operating system or application of the device; transmitting the improved position to an application processor; transmitting the improved position to another device; providing the improved position to a graphical user interface for display; or any combination thereof.
[0123] Clause 9: The method of determining the position of the device according to any one of clauses 1 to 8, wherein the geometry of the GNSS satellites comprises a matrix having trigonometric functions of azimuth and elevation angles of the GNSS satellites.
[0124] Item 10: A device comprising: a memory; and one or more processors communicatively coupled to the memory, wherein the one or more processors are configured to: obtain an initial position of the device without using Global Navigation Satellite System (GNSS) positioning; perform GNSS measurements of radio frequency (RF) signals transmitted by GNSS satellites; determine initial residuals based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurements and an expected distance determined from the initial position; estimate an error of the GNSS measurement based at least in part on the initial residuals and the RF signals; perform optimization using the initial residuals and at least a portion of the errors to produce a modified set of residuals, wherein the optimization is further based on the geometry of the GNSS satellites; and determine an improved position of the device using a cost minimization method using the modified set of residuals and the geometry of the GNSS satellites.
[0125] Clause 11: The apparatus of clause 10, wherein the one or more processors are configured to use the cost minimization method based on a weighted least squares (WLS) calculation.
[0126] Clause 12: The apparatus of any of clauses 10 to 11, wherein to estimate the error of the GNSS measurement, the one or more processors are configured to use a machine learning model to estimate the error based on the RF signal.
[0127] Clause 13: The apparatus of any of clauses 10 to 12, wherein the one or more processors are further configured to obtain the initial position of the apparatus from a base station of a terrestrial network.
[0128] Clause 14: Apparatus according to any of clauses 10 to 13, wherein the one or more processors are further configured to filter the GNSS measurements to select the at least a portion of the GNSS measurements.
[0129] Clause 15: The apparatus of clause 14, wherein to select the at least a portion of the GNSS measurements, the one or more processors are configured to select at least a minimum threshold number of GNSS measurements for determining the improved position fix.
[0130] Clause 16: Apparatus according to any of clauses 10 to 15, wherein the one or more processors are further configured to iteratively increase the upper error limit, iteratively decrease the lower error limit, or both, such that a threshold number of GNSS measurements is met.
[0131] Clause 17: A device according to any one of clauses 10 to 16, wherein the one or more processors are further configured to: provide the improved positioning of the device to an operating system or application of the device; transmit the improved positioning to an application processor; transmit the improved positioning to another device; provide the improved positioning to a graphical user interface for display; or any combination thereof.
[0132] Clause 18: Apparatus according to any of clauses 10 to 17, wherein the geometry of the GNSS satellite comprises a matrix having trigonometric functions of azimuth and elevation angles of the GNSS satellite.
[0133] Item 19: An apparatus for determining a location of a device, the apparatus comprising: means for obtaining an initial location of the device without using Global Navigation Satellite System (GNSS) positioning; means for performing GNSS measurements of radio frequency (RF) signals transmitted by GNSS satellites; means for determining initial residuals based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurements and an expected distance determined from the initial location; means for estimating an error in the GNSS measurement based at least in part on the initial residuals and the RF signal; means for performing optimization using the initial residuals and at least a portion of the error to produce a modified set of residuals, wherein the optimization is further based on the geometry of the GNSS satellites; and means for determining an improved location of the device using a cost minimization method using the modified set of residuals and the geometry of the GNSS satellites.
[0134] Clause 20: The apparatus of clause 19, wherein the cost minimization method is based on a weighted least squares (WLS) calculation.
[0135] Clause 21: The apparatus of any of clauses 19 to 20, wherein the means for estimating the error of the GNSS measurement further comprises means for using machine learning to estimate the error based on the RF signal.
[0136] Clause 22: The apparatus of any of clauses 19 to 21, further comprising means for obtaining the initial position of the device using a base station of a terrestrial network.
[0137] Clause 23: Apparatus according to any of clauses 19 to 22, further comprising means for filtering the GNSS measurements to select the at least a portion of the GNSS measurements.
[0138] Clause 24: The apparatus of any of clauses 19 to 23, further comprising means for iteratively increasing the upper error limit, iteratively decreasing the lower error limit, or both such that a threshold number of GNSS measurements is met.
[0139] Clause 25: An apparatus according to any one of clauses 19 to 24, further comprising a component for providing the improved positioning of the device to an operating system or application of the device; a component for transmitting the improved positioning to an application processor; a component for transmitting the improved positioning to another device; a component for providing the improved positioning to a graphical user interface for display; or any combination thereof.
[0140] Item 26: A non-transitory computer-readable medium storing instructions for determining a position of a device, the instructions comprising code for: obtaining an initial position of the device without using Global Navigation Satellite System (GNSS) positioning; performing GNSS measurements of radio frequency (RF) signals transmitted by GNSS satellites; determining initial residuals based at least in part on a GNSS measured distance determined from at least a portion of the GNSS measurements and an expected distance determined from the initial position; estimating an error in the GNSS measurements based at least in part on the initial residuals and the RF signals; performing optimization using the initial residuals and at least a portion of the errors to produce a modified set of residuals, wherein the optimization is further based on the geometry of the GNSS satellites; and determining an improved position of the device using a cost minimization method using the modified set of residuals and the geometry of the GNSS satellites.
[0141] Clause 27: The computer-readable medium of clause 28, wherein the code for estimating the error of the GNSS measurement comprises code for using machine learning to estimate the error based on the RF signal.
[0142] Clause 28: The computer-readable medium of any of clauses 26-27, wherein the instructions further comprise code for: obtaining the initial position of the device using a base station of a terrestrial network.
[0143] Clause 29: The computer-readable medium of any one of clauses 26 to 28, wherein the instructions further comprise code for filtering the GNSS measurements to select the at least a portion of the GNSS measurements.
[0144] Clause 30: The computer-readable medium of any one of clauses 26 to 29, wherein the instructions further comprise code for iteratively increasing an upper error bound, iteratively decreasing a lower error bound, or both, such that a threshold number of GNSS measurements is met.
[0145] An apparatus having components for carrying out the method according to any of clauses 1 to 18.
[0146] A non-transitory computer-readable medium storing instructions comprising code for performing the method according to any one of clauses 1 to 18.
[0147] A mobile device comprising a memory and one or more processors configured to perform, or cause the mobile device to perform, the method of any of clauses 1 to 18.
Claims
1. A method for determining a location of a device, the method comprising: obtaining an initial position of the device without using a Global Navigation Satellite System (GNSS) positioning; Performing GNSS measurements on radio frequency (RF) signals transmitted by GNSS satellites; determining an initial residual based at least in part on a GNSS measured range determined from at least a portion of the GNSS measurements and an expected range determined from the initial position; estimating an error in the GNSS measurement based at least in part on the initial residual and the RF signal; performing an optimization using the initial residuals and at least a portion of the errors to produce a modified set of residuals, wherein the optimization is further based on a geometry of the GNSS satellites; as well as An improved position determination for the device is performed using the modified set of residuals and a cost minimization method for the geometry of the GNSS satellites. 2 . The method of determining the location of the device according to claim 1 , wherein the cost minimization method is based on a weighted least squares (WLS) calculation. 3 . The method of determining the position of the device of claim 1 , wherein estimating the error of the GNSS measurement further comprises using machine learning to estimate the error based on the RF signal.
4. The method of determining the location of the device according to claim 1, further comprising: The initial position of the device is obtained using a base station of a terrestrial network.
5. The method of determining the location of the device according to claim 1 , further comprising: The GNSS measurements are filtered to select the at least a portion of the GNSS measurements. 6 . The method of determining the position of the device of claim 5 , wherein the at least a portion of the GNSS measurements comprises at least a minimum threshold number of GNSS measurements used to determine the improved position.
7. The method of determining the location of the device according to claim 1, further comprising: The upper error bound is iteratively increased, the lower error bound is iteratively decreased, or both, such that a threshold number of GNSS measurements is met.
8. The method of determining the location of the device according to claim 1, further comprising: providing the improved positioning of the device to an operating system or application of the device; transmitting the improved position to an application processor; transmitting the improved position to another device; providing the improved positioning to a graphical user interface for display; or Any combination of them.
9. The method of determining the position of the device of claim 1, wherein the geometry of the GNSS satellites comprises a matrix having trigonometric functions of azimuth and elevation angles of the GNSS satellites.
10. A device comprising: Memory; and one or more processors communicatively coupled to the memory, wherein the one or more processors are configured to: obtaining an initial position of the device without using a Global Navigation Satellite System (GNSS) positioning; Performing GNSS measurements on radio frequency (RF) signals transmitted by GNSS satellites; determining an initial residual based at least in part on a GNSS measured range determined from at least a portion of the GNSS measurements and an expected range determined from the initial position; estimating an error in the GNSS measurement based at least in part on the initial residual and the RF signal; performing an optimization using the initial residuals and at least a portion of the errors to produce a modified set of residuals, wherein the optimization is further based on a geometry of the GNSS satellites; as well as An improved position determination for the device is performed using the modified set of residuals and a cost minimization method for the geometry of the GNSS satellites.
11. The apparatus of claim 10, wherein the one or more processors are configured to use the cost minimization method based on a weighted least squares (WLS) calculation.
12. The device of claim 10, wherein to estimate the error of the GNSS measurement, the one or more processors are configured to use a machine learning model to estimate the error based on the RF signal.
13. The apparatus of claim 10, wherein the one or more processors are further configured to: The initial position of the device is obtained from a base station of a terrestrial network.
14. The apparatus of claim 10, wherein the one or more processors are further configured to: The GNSS measurements are filtered to select the at least a portion of the GNSS measurements. 15 . The apparatus of claim 14 , wherein to select the at least a portion of the GNSS measurements, the one or more processors are configured to select at least a minimum threshold number of GNSS measurements for determining the improved position fix.
16. The apparatus of claim 10, wherein the one or more processors are further configured to: The upper error bound is iteratively increased, the lower error bound is iteratively decreased, or both, such that a threshold number of GNSS measurements is met.
17. The apparatus of claim 10, wherein the one or more processors are further configured to: providing the improved positioning of the device to an operating system or application of the device; transmitting the improved position to an application processor; transmitting the improved position to another device; providing the improved positioning to a graphical user interface for display; or Any combination of them.
18. The apparatus of claim 10, wherein the geometry of the GNSS satellite comprises a matrix having trigonometric functions of azimuth and elevation angles of the GNSS satellite.
19. An apparatus for determining a location of a device, the apparatus comprising: means for obtaining an initial position fix of the device without using Global Navigation Satellite System (GNSS) positioning; Components for performing GNSS measurements on radio frequency (RF) signals transmitted by GNSS satellites; means for determining an initial residual based at least in part on a GNSS measured range determined from at least a portion of the GNSS measurements and an expected range determined from the initial position; means for estimating an error in the GNSS measurement based at least in part on the initial residual and the RF signal; means for performing an optimization using the initial residuals and at least a portion of the errors to produce a modified set of residuals, wherein the optimization is further based on a geometry of the GNSS satellites; as well as Means for determining an improved position fix for the device using a cost minimization method of the modified set of residuals and the geometry of the GNSS satellites.
20. The apparatus of claim 19, wherein the cost minimization method is based on a weighted least squares (WLS) calculation.
21. The apparatus of claim 19, wherein the means for estimating the error of the GNSS measurement further comprises means for using machine learning to estimate the error based on the RF signal.
22. The apparatus according to claim 19, further comprising: Means for obtaining said initial position of said device using a base station of a terrestrial network.
23. The apparatus according to claim 19, further comprising: Means for filtering the GNSS measurements to select the at least a portion of the GNSS measurements.
24. The apparatus according to claim 19, further comprising: Means for iteratively increasing an upper error bound, iteratively decreasing a lower error bound, or both, such that a threshold number of GNSS measurements is met.
25. The apparatus according to claim 19, further comprising: means for providing said improved positioning of said device to an operating system or application of said device; means for communicating said improved positioning to an application processor; means for communicating said improved positioning to another device; means for providing said improved positioning to a graphical user interface for display; or Any combination of them.
26. A non-transitory computer-readable medium storing instructions for determining a location of a device, the instructions comprising code for: obtaining an initial position of the device without using a Global Navigation Satellite System (GNSS) positioning; Performing GNSS measurements on radio frequency (RF) signals transmitted by GNSS satellites; determining an initial residual based at least in part on a GNSS measured range determined from at least a portion of the GNSS measurements and an expected range determined from the initial position; estimating an error in the GNSS measurement based at least in part on the initial residual and the RF signal; performing an optimization using the initial residuals and at least a portion of the errors to produce a modified set of residuals, wherein the optimization is further based on a geometry of the GNSS satellites; as well as An improved position determination for the device is performed using the modified set of residuals and a cost minimization method for the geometry of the GNSS satellites.
27. The computer-readable medium of claim 26, wherein the code for estimating the error of the GNSS measurement comprises code for using machine learning to estimate the error based on the RF signal.
28. The computer-readable medium of claim 26, wherein the instructions further comprise code for: The initial position of the device is obtained using a base station of a terrestrial network.
29. The computer-readable medium of claim 26, wherein the instructions further comprise code for: The GNSS measurements are filtered to select the at least a portion of the GNSS measurements.
30. The computer-readable medium of claim 26, wherein the instructions further comprise code for: The upper error bound is iteratively increased, the lower error bound is iteratively decreased, or both, such that a threshold number of GNSS measurements is met.