Carrier signal positioning
By performing integer ambiguity search using a stricter subset of metric thresholds in satellite positioning system signal reception, the problem of insufficient accuracy and confidence in the carrier signal wavelength solution is solved, and higher positioning accuracy and efficiency are achieved.
Patent Information
- Application Number
- CN202380063827.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-17
- Filing Date
- 2023-07-28
- Publication Date
- 2025-04-11
Smart Images

Figure CN119816760A_ABST
Abstract
Description
[0001] background
[0002] This application claims the benefit of U.S. application No. 17 / 947,099, filed on September 17, 2022, entitled “CARRIER SIGNAL POSITIONING,” which application is assigned to the assignee of this application, and the entire contents of which are hereby incorporated herein by reference for all purposes. Background Art
[0003] Wireless communication systems have evolved over several generations, including first generation analog wireless telephone service (1G), second generation (2G) digital wireless telephone service (including transitional 2.5G and 2.75G networks), third generation (3G) high-speed data wireless service with Internet capabilities, fourth generation (4G) service (e.g., Long Term Evolution (LTE) or ), fifth generation (5G) services (e.g., 5G New Radio (NR), etc. There are many different types of wireless communication systems currently in use, including cellular and personal communications service (PCS) systems. Examples of known cellular systems include the cellular analog Advanced Mobile Phone System (AMPS), and digital cellular systems based on code division multiple access (CDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), time division multiple access (TDMA), global system for mobile access (GSM) TDMA variants, etc.
[0004] The fifth generation (5G) mobile standard requires higher data transfer speeds, a greater number of connections, and better coverage, among other improvements. According to the Next Generation Mobile Network Alliance, the 5G standard is designed to provide data rates of tens of megabits per second to each of tens of thousands of users, with a data rate of 1 gigabit per second provided to dozens of workers on an office floor. In order to support large sensor deployments, hundreds of thousands of simultaneous connections should be supported. Therefore, the spectrum efficiency of 5G mobile communications should be significantly improved compared to the current 4G standard. In addition, signaling efficiency should be improved and latency should be significantly reduced compared to the current standard. Summary of the invention
[0005] An example mobile device includes: a satellite positioning system receiver configured to receive a plurality of satellite positioning system (SPS) signals; a memory; and a processor communicatively coupled to the satellite positioning system receiver and the memory, wherein the processor is configured to: determine a plurality of candidate float ambiguity values for the plurality of SPS signals, the plurality of candidate float ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between corresponding satellite sources of the plurality of SPS signals and the mobile device; and in response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate float ambiguity values, perform an integer ambiguity search using at least a second subset of the plurality of candidate float ambiguity values; wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than a first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any.
[0006] An example integer ambiguity resolution method includes: receiving a plurality of SPS signals at a mobile device; determining a plurality of candidate float ambiguity values for the plurality of SPS signals, the plurality of candidate float ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between corresponding satellite sources of the plurality of SPS signals and the mobile device; and in response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate float ambiguity values, performing an integer ambiguity search using at least a second subset of the plurality of candidate float ambiguity values; wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than a first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any.
[0007] Another example mobile device includes: means for receiving a plurality of SPS signals; means for determining a plurality of candidate float ambiguity values for the plurality of SPS signals, the plurality of candidate float ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between corresponding satellite sources of the plurality of SPS signals and the mobile device; and means for performing an integer ambiguity search using at least a second subset of the plurality of candidate float ambiguity values in response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate float ambiguity values; wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than the first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any.
[0008] An example non-transitory processor-readable storage medium includes processor-readable instructions for causing one or more processors of a mobile device to: receive a plurality of SPS signals; determine a plurality of candidate float ambiguity values for the plurality of SPS signals, the plurality of candidate float ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between corresponding satellite sources of the plurality of SPS signals and the mobile device; and in response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate float ambiguity values, perform an integer ambiguity search using at least a second subset of the plurality of candidate float ambiguity values; wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than a first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 is a simplified diagram of an example wireless communication system.
[0010] Figure 2 yes Figure 1 A block diagram of components of an example user equipment is shown.
[0011] Figure 3 is a block diagram of the components of an example send / receive point.
[0012] Figure 4 is a block diagram of components of an example server, various implementations of which are described in Figure 1 Shown in.
[0013] Figure 5 It is a timing diagram of code phase signal transition and carrier signal.
[0014] Figure 6 is a diagram of the power distribution of satellite signals as a function of frequency and an indication of possible interfering signals.
[0015] Figure 7 is a simplified block diagram of an example user equipment.
[0016] Figure 8 A block diagram of a method for selecting a subset of candidate ambiguity values and determining a position estimate in a cascaded manner.
[0017] Fig. 9 is a block diagram of another method of selecting a subset of candidate ambiguity values and determining a position estimate in a cascaded manner.
[0018] Fig.10A block flow diagram of a method for utilizing a combined frequency signal to select a floating point ambiguity value for use in an ambiguity search and / or to determine a position estimate for a device.
[0019] Fig.11 It is a flowchart of the integer ambiguity resolution method. DETAILED DESCRIPTION
[0020] This article discusses techniques for positioning of a mobile device that use integer ambiguity resolution to determine the integer number of complete cycles of a carrier signal between a transmitter (e.g., a satellite) and a receiver (e.g., a user equipment). For example, a satellite positioning system signal may be used to determine the number of wavelengths of a carrier signal between a satellite and a mobile device. An ambiguity search may be performed to resolve integer ambiguities in the number of wavelengths. In response to a failure to validate the results of the ambiguity search, increasingly stringent metric thresholds may be applied to one or more signal metrics to determine which satellite signals will be used to determine the number of wavelengths and thus determine the positioning of the mobile device. Candidate floating-point ambiguities for multiple signals from the same satellite and multiple frequency bands may be used to determine combined frequency candidate floating-point ambiguities, which are used to determine "fixed" combined frequency integer ambiguities (i.e., integer number of wavelengths), which are used to determine a positioning estimate for a mobile device. Fixed combined frequency integer ambiguities (e.g., positioning estimates based on such integer ambiguities) may be used to determine individual frequency band ambiguities and limit the use of information corresponding to individual frequency band satellite signals based on the quality of the individual frequency band ambiguities (e.g., closeness to the corresponding integer). These are examples, and other examples may be implemented.
[0021] The items and / or techniques described herein may provide one or more of the following capabilities, as well as other capabilities not mentioned. The accuracy (and confidence in the accuracy) of integer ambiguity resolution of carrier signal wavelengths between satellites and mobile devices may be improved, thereby increasing the accuracy (and confidence in the accuracy) of positioning estimates for mobile devices. Ambiguity convergence time may be reduced, for example from tens of minutes to a few minutes or even less than a minute. Other capabilities may be provided, and not every specific implementation according to the present disclosure must provide any of the capabilities discussed, let alone all of the capabilities. In addition, it is also possible to achieve the above effects in ways other than those described, and the items / techniques described may not necessarily produce the described effects.
[0022] Obtaining the location of a mobile device accessing a wireless network can be used for many applications, including, for example, emergency calls, personal navigation, consumer asset tracking, locating friends or family members, etc. Existing positioning methods include methods based on measuring radio signals transmitted from various devices or entities, including satellite vehicles (SVs) and ground-based radio sources such as base stations and access points in wireless networks. It is expected that standardization for 5G wireless networks will include support for various positioning methods, which can utilize reference signals transmitted by base stations for positioning determination in a manner similar to how LTE wireless networks currently utilize positioning reference signals (PRS) and / or cell-specific reference signals (CRS).
[0023] The description herein may refer to a sequence of actions to be performed by, for example, an element of a computing device. Each action described herein can be performed by a dedicated circuit (e.g., an application specific integrated circuit (ASIC)), by program instructions being executed by one or more processors, or by a combination of the two. The sequence of actions described herein may be embodied in a non-transitory computer-readable medium having a corresponding set of computer instructions stored thereon, which, when executed, will cause an associated processor to perform the functionality described herein. Thus, each of the examples described herein may be embodied in a number of different forms, all of which fall within the scope of the present disclosure, including the claimed subject matter.
[0024] As used herein, the terms "user equipment" (UE) and "base station" are not dedicated to or otherwise limited to any particular radio access technology (RAT), unless otherwise specified. In general, a UE can be any wireless communication device (e.g., a mobile phone, a router, a tablet computer, a laptop computer, a consumer asset tracking device, an Internet of Things (IoT) device, etc.) used to communicate on a wireless communication network. A UE can be mobile or can be stationary (e.g., at certain times) and can communicate with a radio access network (RAN). As used herein, the term "UE" can be interchangeably referred to as an "access terminal" or "AT", "client device", "wireless device", "subscriber equipment", "subscriber terminal", "subscriber station", "user terminal" or UT, "mobile terminal", "mobile station", "mobile device" or variations thereof. In general, a UE can communicate with a core network via the RAN, and through the core network, the UE can connect to external networks such as the Internet and to other UEs. Of course, 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 network (eg, based on IEEE (Institute of Electrical and Electronics Engineers) 802.11, etc.), etc. In addition to or instead of transferring information to each other through the network, two or more UEs may communicate directly.
[0025] Depending on the network in which the base station is deployed, the base station may operate according to one of several RATs when communicating with a UE. Examples of base stations include access points (APs), network nodes, NodeBs, evolved NodeBs (eNBs), or general NodeBs (gNodeBs, gNBs). Additionally, in some systems, a base station may provide only edge node signaling functions, while in other systems, a base station may provide additional control functions and / or network management functions.
[0026] The UE may be implemented by any of several types of devices, including but not limited to a printed circuit (PC) card, a compact flash device, an external or internal modem, a wireless or wired phone, a smart phone, a tablet device, a consumer asset tracking device, an asset tag, etc. The communication link through which the UE can transmit signals to the RAN is referred to as an uplink channel (e.g., a reverse traffic channel, a reverse control channel, an access channel, etc.). The communication link through which the RAN can transmit signals to the UE is referred to as a downlink or forward link channel (e.g., a paging channel, a control channel, a broadcast channel, a forward traffic channel, etc.). As used herein, the term "traffic channel (TCH)" may refer to an uplink / reverse traffic channel or a downlink / forward traffic channel.
[0027] As used herein, depending on the context, the term "cell" or "sector" may correspond to one of the multiple cells of a base station or to the base station itself. The term "cell" may refer to a logical communication entity used to communicate with a base station (e.g., on a carrier), and may be associated with an identifier to distinguish adjacent cells operating via the same or different carriers (e.g., physical cell identifier (PCID), virtual cell identifier (VCID)). In some examples, a carrier may support multiple cells, and different cells may be configured according to different protocol types that may provide access to different types of devices (e.g., machine type communication (MTC), narrowband Internet of Things (NB-IoT), enhanced mobile broadband (eMBB), or other protocol types). In some examples, the term "cell" may refer to a portion of a geographic coverage area (e.g., a sector) on which the logical entity operates.
[0028] refer to Figure 1, an example of a communication system 100 includes UE 105, UE 106, a radio access network (RAN) (here, fifth generation (5G) next generation (NG) RAN (NG-RAN) 135), a 5G core network (5GC) 140, and a server 150. UE 105 and / or UE 106 may be, for example, an IoT device, a location tracker device, a cellular phone, a vehicle (e.g., a car, a truck, a bus, a ship, etc.), or another device. A 5G network may also be referred to as a new radio (NR) network; NG-RAN 135 may be referred to as a 5G RAN or an NR RAN; and 5GC 140 may be referred to as an NG core network (NGC). Standardization of NG-RAN and 5GC is being conducted in the 3rd Generation Partnership Project (3GPP). Accordingly, NG-RAN 135 and 5GC 140 may follow current or future standards for 5G support from 3GPP. NG-RAN 135 may be another type of RAN, for example, a 3G RAN, a 4G long term evolution (LTE) RAN, etc. UE 106 may be similarly configured and coupled to UE 105 to transmit and / or receive signals to and / or from similar other entities in system 100, but for simplicity of the drawing, the UE 106 is not shown in FIG. Figure 1 105. Similarly, for simplicity, the discussion focuses on UE 105. The communication system 100 may utilize information from a constellation 185 of satellite vehicles (SVs) 190, 191, 192, 193 of a satellite positioning system (SPS), such as a global navigation satellite system (GNSS), such as a global positioning system (GPS), a global navigation satellite system (GLONASS), Galileo, or BeiDou or some other local or regional SPS, such as the Indian Regional Navigation Satellite System (IRNSS), the European Geostationary Navigation Overlay Service (EGNOS), or a Wide Area Augmentation System (WAAS). Additional components of the communication system 100 are described below. The communication system 100 may include additional or alternative components.
[0029] like Figure 1As shown, the NG-RAN 135 includes NR nodeB (gNB) 110a, 110b and next generation eNodeB (ng-eNB) 114, and the 5GC 140 includes an access and mobility management function (AMF) 115, a session management function (SMF) 117, a location management function (LMF) 120, and a gateway mobile location center (GMLC) 125. The gNB 110a, gNB 110b, and ng-eNB 114 are communicatively coupled to each other, each configured to perform bidirectional wireless communication with the UE 105, and each communicatively coupled to the AMF 115 and configured to perform bidirectional communication with the AMF. The gNB 110a, 110b, and ng-eNB 114 may be referred to as a base station (BS). The AMF 115, SMF 117, LMF 120, and GMLC 125 are communicatively coupled to each other, and the GMLC is communicatively coupled to the external client 130. SMF 117 may serve as an initial contact point for a service control function (SCF) (not shown) to create, control, and delete media sessions. A base station (such as gNB 110a, 110b, and / or ng-eNB 114) may be a macro cell (e.g., a high-power cellular base station), or a small cell (e.g., a low-power cellular base station), or an access point (e.g., a short-range base station configured to use a short-range technology (such as a Direct connection Low power consumption (BLE), One or more base stations (e.g., one or more of gNBs 110a, 110b, and / or ng-eNB 114) may be configured to communicate with UE 105 via multiple carriers. Each of gNBs 110a, 110b, and / or ng-eNB 114 may provide communication coverage for a corresponding geographic area (e.g., a cell). Each cell may be divided into multiple sectors according to base station antennas.
[0030] Figure 1A generalized illustration of the various components is provided, any or all of which may be utilized as appropriate, and each component may be repeated or omitted as desired. Specifically, although one UE 105 is illustrated, many UEs (e.g., hundreds, thousands, millions, etc.) may be utilized in the communication system 100. Similarly, the communication system 100 may include a greater (or smaller) number of SVs (i.e., more or less than the four SVs 190-193 shown), gNBs 110a, gNBs 110b, ng-eNBs 114, AMFs 115, external clients 130, and / or other components. The illustrated connections connecting the various components in the communication 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. In addition, components may be rearranged, combined, separated, replaced, and / or omitted, depending on the desired functionality.
[0031] UE 105 may include and / or may be referred to as a device, a mobile device, a wireless device, a mobile terminal, a terminal, a mobile station (MS), a secure user plane location (SUPL) enabled terminal (SET), or some other name. In addition, UE 105 may correspond to a cellular phone, a smart phone, a laptop computer, a tablet device, a PDA, a consumer asset tracking device, a navigation device, an Internet of Things (IoT) device, a health monitor, a security system, a smart city sensor, a smart meter, a wearable tracker, or some other portable or movable device.
[0032] UE 105 may include a single entity or may include multiple entities, such as in a personal area network, where users may employ audio, video, and / or data I / O (input / output) devices, and / or body sensors and separate wired or wireless modems. The estimate of the location of UE 105 may be referred to as location, location estimate, location fix, fix, position, position estimate, or position fix, and may be geographic, thereby providing location coordinates (e.g., latitude and longitude) of UE 105, which may or may not include an altitude component (e.g., height above sea level; height above or depth below ground level, floor level, or basement level). Alternatively, the location of UE 105 may be expressed as a municipal location (e.g., a postal address or a designation of a point or smaller area in a building, such as a specific room or floor). The location of UE 105 may be represented as an area or volume (geographically or municipally defined) within which UE 105 is expected to be located with a certain probability or confidence level (e.g., 67%, 95%, etc.). The location of the UE 105 may be expressed as a relative location, including, for example, a distance and direction relative to a known location. The relative location may be expressed as relative coordinates (e.g., X, Y (and Z) coordinates) defined relative to a certain origin at a known location, which may be defined, for example, geographically, in municipal form, or with reference to a point, area, or volume indicated, for example, on a map, floor plan, or building plan. In the description contained herein, the use of the term location may include any of these variants unless otherwise indicated. When calculating the location of the UE, local x, y, and (possibly) z coordinates are typically solved, and then (if necessary) the local coordinates are converted into absolute coordinates (e.g., with respect to latitude, longitude, and altitude above or below mean sea level).
[0033] UE 105 may be configured to communicate with other entities, for example, using one or more of a variety of techniques to determine and / or provide location information for UE 105. UE 105 may be configured to be indirectly connected to one or more communication networks via one or more device-to-device (D2D) peer-to-peer (P2P) links. D2D P2P links may be supported using any suitable D2D radio access technology (RAT), such as LTE Direct (LTE-D), WiFi Direct (WiFi-D), Etc. One or more UEs in the group of UEs utilizing D2D communications may be located within the geographic coverage area of a transmit / receive point (TRP) such as one or more of gNBs 110a, 110b and / or ng-eNB 114.
[0034] Each of the gNBs 110a, 110b, and / or ng-eNB 114 may include a radio unit (RU), a distributed unit (DU), and a central unit (CU). For example, the gNB 110b includes a RU 111, a DU 112, and a CU 113. The RU 111, the DU 112, and the CU 113 divide the functionality of the gNB 110b. Although the gNB 110b is shown as having a single RU, a single DU, and a single CU, the gNB may include one or more RUs, one or more DUs, and / or one or more CUs. The interface between the CU 113 and the DU 112 is referred to as the F1 interface. The RU 111 is configured to perform digital front end (DFE) functions (e.g., analog-to-digital conversion, filtering, power amplification, transmission / reception) and digital beamforming, and includes a portion of the physical (PHY) layer. The RU 111 may perform DFE using massive multiple input / multiple output (MIMO) and may be integrated with one or more antennas of the gNB 110b. DU 112 hosts the radio link control (RLC), medium access control (MAC), and physical layers of gNB 110b. One DU may support one or more cells, and each cell is supported by a single DU. The operation of DU 112 is controlled by CU 113. CU 113 is configured to perform functions for delivering user data, mobility control, radio access network sharing, positioning, session management, etc., although some functions are only assigned to DU 112. CU 113 hosts the radio resource control (RRC), service data adaptation protocol (SDAP), and packet data convergence protocol (PDCP) protocols of gNB 110b. UE 105 can communicate with CU 113 via RRC, SDAP, and PDCP layers, communicate with DU 112 via RLC, MAC, and PHY layers, and communicate with RU 111 via the PHY layer.
[0035] As mentioned, although Figure 1 Nodes configured to communicate according to a 5G communication protocol are depicted, but nodes configured to communicate according to other communication protocols (such as, for example, an LTE protocol or an IEEE 802.11x protocol) may also be used. For example, in an evolved packet system (EPS) that provides LTE wireless access to UE 105, the RAN may include an evolved universal mobile telecommunications system (UMTS) terrestrial radio access network (E-UTRAN), which may include base stations including evolved Node Bs (eNBs). The core network for the EPS may include an evolved packet core (EPC). The EPS may include the E-UTRAN plus the EPC, where the E-UTRAN corresponds to Figure 1 The NG-RAN 135 in the figure and the EPC correspond to the 5GC 140 in the figure.
[0036] Using UE-based positioning methods, UE 105 can obtain position measurements and can calculate the position of UE 105 (e.g., with the help of assistance data received from a location server (such as LMF 120) or broadcast by gNB 110a, 110b, ng-eNB 114 or other base stations or APs). UE 105 can provide the location of UE 105 to server 150, for example, directly and / or via a base station, so that server 150 can provide location information to the location client.
[0037] The server 150 (e.g., a cloud server) is configured to obtain a location estimate for the UE 105 and provide it to the external client 130. The server 150 may, for example, be configured to run a microservice / service that obtains a location estimate for the UE 105. The server 150 may, for example, obtain a location estimate from (e.g., by transmitting a location request) the UE 105, one or more of the gNBs 110a, 110b (e.g., via the RU 111, DU 112, and CU 113), and / or the ng-eNB 114, and / or the LMF 120. As another example, the UE 105, one or more of the gNBs 110a, 110b (e.g., via the RU 111, DU 112, and CU 113), and / or the LMF 120 may push the location estimate of the UE 105 to the server 150.
[0038] The information provided to LMF 120 by gNB 110a, 110b and / or ng-eNB 114 using NRPPa may include timing and configuration information for directional SS or PRS transmission and location coordinates. LMF 120 may provide some or all of this information to UE 105 as assistance data in LPP (LTE Positioning Protocol) and / or NPP (New Radio Positioning Protocol) messages via NG-RAN 135 and 5GC 140.
[0039] The LPP or NPP message transmitted from LMF 120 to UE 105 may instruct UE 105 to do any of a variety of things, depending on the desired functionality. For example, the LPP or NPP message may include instructions for UE 105 to obtain measurements for GNSS (or A-GNSS), WLAN, E-CID, and / or OTDOA (Observed Time Difference of Arrival) (or some other positioning method).
[0040] Also refer to Figure 2UE 200 may be an example of one of UEs 105, 106, and may include a computing platform including a processor 210, a memory 211 including software (SW) 212, one or more sensors 213, a transceiver interface 214 for a transceiver 215 (which includes a wireless transceiver 240 and a wired transceiver 250), a user interface 216, a satellite positioning system (SPS) receiver 217, a camera 218, and a positioning device (PD) 219. The processor 210, the memory 211, the sensor 213, the transceiver interface 214, the user interface 216, the SPS receiver 217, the camera 218, and the positioning device 219 may be communicatively coupled to each other via a bus 220 (which may be configured, for example, for optical communication and / or electrical communication). One or more of the illustrated devices (e.g., the camera 218, the positioning device 219, and / or one or more of the sensors 213, etc.) may be omitted from the UE 200. The processor 210 may include one or more hardware devices, such as a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), etc. The processor 210 may include multiple processors, including a general / application processor 230, a digital signal processor (DSP) 231, a modem processor 232, a video processor 233, and / or a sensor processor 234. One or more of the processors 230 to 234 may include multiple devices (e.g., multiple processors). For example, the sensor processor 234 may include, for example, a processor for RF (radio frequency) sensing (wherein one or more (cellular) wireless signals and reflections transmitted are used to identify, map and / or track objects) and / or ultrasound, etc. The modem processor 232 may support dual SIM / dual connectivity (or even more SIMs). For example, a SIM (subscriber identity module or subscriber identity module) may be used by an original equipment manufacturer (OEM), and another SIM may be used by a terminal user of the UE 200 to obtain connectivity. The memory 211 may be a non-transitory storage medium that may include a random access memory (RAM), a flash memory, a disk memory, and / or a read-only memory (ROM), etc. The memory 211 may store software 212, which may be a processor-readable, processor-executable software code containing instructions that may be configured to cause the processor 210 to perform various functions described herein when executed. Alternatively, the software 212 may not be directly executable by the processor 210, but may be configured to cause the processor 210 to perform these functions, for example, when compiled and executed. The description herein may refer to the processor 210 performing a function, but this includes other specific implementations, such as a specific implementation in which the processor 210 executes software and / or firmware. The description herein may refer to the processor 210 performing a function as a shorthand for one or more of the processors 230 to 234 performing the function.The description herein may refer to UE 200 performing a function as shorthand for one or more appropriate components of UE 200 performing that function. Processor 210 may include memory with stored instructions in addition to and / or in lieu of memory 211. The functionality of processor 210 is discussed more fully below.
[0041] Figure 2 The configuration of UE 200 shown is an example and not a limitation of the present disclosure (including claims), and other configurations may be used. For example, an example configuration of UE may include one or more of processors 230 to 234 in processor 210, memory 211, and wireless transceiver 240. Other example configurations may include one or more of processors 230 to 234 in processor 210, memory 211, wireless transceiver, and one or more of the following: sensor 213, user interface 216, SPS receiver 217, camera 218, PD 219, and / or wired transceiver.
[0042] UE 200 may include a modem processor 232 that may be capable of performing baseband processing of signals received and down-converted by transceiver 215 and / or SPS receiver 217. Modem processor 232 may perform baseband processing of signals to be up-converted for transmission by transceiver 215. Additionally or alternatively, baseband processing may be performed by general / application processor 230 and / or DSP 231. However, other configurations may be used to perform baseband processing.
[0043] UE 200 may include sensor 213, which may include, for example, one or more of various types of sensors, such as one or more inertial sensors, one or more magnetometers, one or more environmental sensors, one or more optical sensors, one or more weight sensors, and / or one or more radio frequency (RF) sensors, etc. An inertial measurement unit (IMU) may include, for example, one or more accelerometers (e.g., collectively responsive to acceleration of UE 200 in three dimensions) and / or one or more gyroscopes (e.g., three-dimensional gyroscopes). Sensor 213 may include one or more magnetometers (e.g., three-dimensional magnetometers) to determine orientation (e.g., relative to magnetic north and / or true north), which may be used for any of a variety of purposes (e.g., to support one or more compass applications). Environmental sensors may include, for example, one or more temperature sensors, one or more air pressure sensors, one or more ambient light sensors, one or more camera imagers, and / or one or more microphones, etc. The sensor 213 may generate analog and / or digital signals, indications of which may be stored in the memory 211 and processed by the DSP 231 and / or the general / application processor 230 to support one or more applications (such as, for example, applications involving positioning operations and / or navigation operations). The sensor 213 may include one or more other various types of sensors, such as one or more optical sensors, one or more weight sensors, and / or one or more radio frequency (RF) sensors, etc.
[0044] The sensor 213 may be used for relative position measurement, relative position determination, motion determination, etc. The information detected by the sensor 213 may be used for motion detection, relative displacement, dead reckoning, sensor-based position determination, and / or sensor-assisted position determination. The sensor 213 may be used to determine whether the UE 200 is fixed (stationary) or moving and / or whether to report certain useful information related to the mobility of the UE 200 to the LMF 120. For example, based on the information obtained / measured by the sensor 213, the UE 200 may notify / report to the LMF 120 that the UE 200 has detected movement or that the UE 200 has moved, and report the relative displacement / distance (e.g., via dead reckoning implemented by the sensor 213, or sensor-based position determination, or sensor-assisted position determination). In another example, for relative positioning information, the sensor / IMU may be used to determine the angle and / or orientation of another device relative to the UE 200, etc.
[0045] The IMU may be configured to provide measurements of the direction of motion and / or speed of motion of the UE 200, which may be used for relative position determination. For example, one or more accelerometers and / or one or more gyroscopes of the IMU may detect the linear acceleration and rotational speed of the UE 200, respectively. The linear acceleration measurements and rotational speed measurements of the UE 200 may be integrated over time to determine the transient direction of motion and displacement of the UE 200. The instantaneous direction of motion and displacement may be integrated to track the position of the UE 200. For example, the reference position of the UE 200 at a certain moment may be determined, for example, using the SPS receiver 217 (and / or by some other means), and the measurements obtained from the accelerometers and gyroscopes after that moment may be used for dead reckoning to determine the current position of the UE 200 based on the movement (direction and distance) of the UE 200 relative to the reference position.
[0046] The magnetometer may determine magnetic field strengths in different directions, which may be used to determine the orientation of the UE 200. For example, the orientation may be used to provide a digital compass for the UE 200. The magnetometer may include a two-dimensional magnetometer configured to detect and provide an indication of magnetic field strength in two orthogonal dimensions. The magnetometer may include a three-dimensional magnetometer configured to detect and provide an indication of magnetic field strength in three orthogonal dimensions. The magnetometer may provide a component for sensing a magnetic field and providing an indication of the magnetic field, for example, to the processor 210.
[0047] The transceiver 215 may include a wireless transceiver 240 and a wired transceiver 250 configured to communicate with other devices via wireless connections and wired connections, respectively. For example, the wireless transceiver 240 may include a wireless transmitter 242 and a wireless receiver 244 coupled to an antenna 246 for transmitting (e.g., on one or more uplink channels and / or one or more sidelink channels) and / or receiving (e.g., on one or more downlink channels and / or one or more sidelink channels) wireless signals 248 and converting signals from the wireless signals 248 to wired (e.g., electrical and / or optical) signals and from wired (e.g., electrical and / or optical) signals to the wireless signals 248. The wireless transmitter 242 includes appropriate components (e.g., a power amplifier and a digital-to-analog converter). The wireless receiver 244 includes appropriate components (e.g., one or more amplifiers, one or more frequency filters, and an analog-to-digital converter). The wireless transmitter 242 may include multiple transmitters that may be discrete components or combined / integrated components, and / or the wireless receiver 244 may include multiple receivers that may be discrete components or combined / integrated components. The wireless transceiver 240 may be configured to communicate signals (e.g., with the TRP and / or one or more other devices) according to various radio access technologies (RATs), such as 5G New Radio (NR), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Phone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), Direct connection Etc. The new radio may use millimeter wave frequencies and / or sub-6 GHz frequencies. The wired transceiver 250 may include a wired transmitter 252 and a wired receiver 254 configured for wired communication, for example, a network interface that may be used to communicate with the NG-RAN 135 to transmit communications to the NG-RAN 135 and receive communications from the NG-RAN. The wired transmitter 252 may include multiple transmitters that may be discrete components or combined / integrated components, and / or the wired receiver 254 may include multiple receivers that may be discrete components or combined / integrated components. The wired transceiver 250 may be configured, for example, for optical communication and / or electrical communication. The transceiver 215 may be communicatively coupled to the transceiver interface 214, for example, via an optical connection and / or an electrical connection. The transceiver interface 214 may be at least partially integrated with the transceiver 215. The wireless transmitter 242, the wireless receiver 244 and / or the antenna 246 may include multiple transmitters, multiple receivers and / or multiple antennas, respectively, for transmitting and / or receiving appropriate signals, respectively.
[0048] The user interface 216 may include one or more of several devices (such as, for example, a speaker, a microphone, a display device, a vibration device, a keyboard, a touch screen, etc.). The user interface 216 may include more than one of any of these devices. The user interface 216 may be configured to enable a user to interact with one or more applications hosted by the UE 200. For example, the user interface 216 may store indications of analog and / or digital signals in the memory 211 in response to actions from the user to be processed by the DSP 231 and / or the general / application processor 230. Similarly, an application hosted on the UE 200 may store indications of analog and / or digital signals in the memory 211 to present output signals to the user. The user interface 216 may include an audio input / output (I / O) device, which includes, for example, a speaker, a microphone, a digital-to-analog circuit, an analog-to-digital circuit, an amplifier, and / or a gain control circuit (including more than one of these devices). Other configurations of audio I / O devices may be used. Additionally or alternatively, the user interface 216 may include one or more touch sensors that respond to touch and / or pressure on, for example, a keyboard and / or a touch screen of the user interface 216 .
[0049] The SPS receiver 217 (e.g., a global positioning system (GPS) receiver) may be capable of receiving and acquiring the SPS signal 260 via the SPS antenna 262. The SPS antenna 262 is configured to convert the SPS signal 260 from a wireless signal to a wired signal (e.g., an electrical signal or an optical signal), and may be integrated with the antenna 246. The SPS receiver 217 may be configured to process the acquired SPS signal 260 in whole or in part to estimate the position of the UE 200. For example, the SPS receiver 217 may be configured to determine the position of the UE 200 by performing trilateration using the SPS signal 260. The general / application processor 230, the memory 211, the DSP 231, and / or one or more dedicated processors (not shown) may be utilized in conjunction with the SPS receiver 217 to process the acquired SPS signal in whole or in part, and / or calculate the estimated position of the UE 200. The memory 211 may store indications (e.g., measurements) of the SPS signal 260 and / or other signals (e.g., signals obtained from the wireless transceiver 240) for use in performing positioning operations. The general / application processor 230, the DSP 231, and / or one or more special-purpose processors, and / or the memory 211 may provide or support a location engine for use in processing measurements to estimate the location of the UE 200.
[0050] UE 200 may include a camera 218 for capturing still or moving images. Camera 218 may include, for example, an imaging sensor (e.g., a charge coupled device or a CMOS (complementary metal oxide semiconductor) imager), a lens, analog-to-digital circuits, a frame buffer, etc. Additional processing, conditioning, encoding, and / or compression of signals representing captured images may be performed by general / application processor 230 and / or DSP 231. Additionally or alternatively, video processor 233 may perform conditioning, encoding, compression, and / or manipulation of signals representing captured images. Video processor 233 may decode / decompress stored image data for presentation on a display device (not shown) (e.g., of user interface 216).
[0051] Positioning device (PD) 219 may be configured to determine the location of UE 200, the movement of UE 200, and / or the relative location of UE 200, and / or time. For example, PD 219 may communicate with SPS receiver 217 and / or include part or all of the SPS receiver. PD 219 may work appropriately with processor 210 and memory 211 to perform at least a portion of one or more positioning methods, although the description herein may only refer to PD 219 being configured to perform or performing according to the positioning method according to the positioning method. PD 219 may be additionally or alternatively configured to: use ground-based signals (e.g., at least some wireless signals 248) for trilateration, assist in obtaining and use SPS signals 260, or both to determine the location of UE 200. PD 219 may be configured to determine the location of UE 200 based on the cell of the serving base station (e.g., cell center) and / or another technology (such as E-CID). The PD 219 may be configured to determine the location of the UE 200 using one or more images from the camera 218 and image recognition combined with known locations of landmarks (e.g., natural landmarks (such as mountains) and / or artificial landmarks (such as buildings, bridges, streets), etc.). The PD 219 may be configured to determine the location of the UE 200 using one or more other techniques (e.g., relying on the UE's self-reported location (e.g., part of the UE's location beacon)), and may use a combination of techniques (e.g., SPS and ground positioning signals) to determine the location of the UE 200. The PD 219 may include one or more sensors 213 (e.g., gyroscopes, accelerometers, magnetometers, etc.), which may sense the orientation and / or movement of the UE 200 and provide an indication of the orientation and / or movement, and the processor 210 (e.g., general / application processor 230 and / or DSP 231) may be configured to use the indication to determine the movement of the UE 200 (e.g., velocity vector and / or acceleration vector). PD 219 may be configured to provide an indication of uncertainty and / or error in the determined position and / or motion. The functionality of PD 219 may be provided in various ways and / or configurations, such as by general / application processor 230, transceiver 215, SPS receiver 217, and / or another component of UE 200, and may be provided by hardware, software, firmware, or various combinations thereof.
[0052] Also refer to Figure 3, an example of a TRP 300 for gNB 110a, 110b, and / or ng-eNB 114 includes a computing platform including a processor 310, a memory 311 including software (SW) 312, and a transceiver 315. The processor 310, the memory 311, and the transceiver 315 may be communicatively coupled to one another via a bus 320 (which may be configured, for example, for optical communication and / or electrical communication). One or more of the illustrated devices (e.g., a wireless transceiver) may be omitted from the TRP 300. The processor 310 may include one or more hardware devices, such as a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), etc. The processor 310 may include a plurality of processors (e.g., including a general / application processor, a DSP, a modem processor, a video processor, and / or a sensor processor, such as Figure 2 ). The memory 311 may be a non-transitory storage medium that may include a random access memory (RAM), a flash memory, a disk memory, and / or a read-only memory (ROM), etc. The memory 311 may store software 312, which may be a processor-readable, processor-executable software code containing instructions that are configured to cause the processor 310 to perform the various functions described herein when executed. Alternatively, the software 312 may not be directly executable by the processor 310, but may be configured to cause the processor 310 to perform these functions, for example, when compiled and executed.
[0053] The description herein may refer to processor 310 performing a function, but this includes other specific implementations, such as a specific implementation in which processor 310 executes software and / or firmware. The description herein may refer to processor 310 performing a function as shorthand for one or more of the processors included in processor 310 performing the function. The description herein may refer to TRP 300 performing a function as shorthand for one or more appropriate components (e.g., processor 310 and memory 311) of TRP 300 (and therefore one of gNB 110a, gNB 110b, and / or ng-eNB 114) performing the function. Processor 310 may include a memory with stored instructions in addition to and / or in lieu of memory 311. The functionality of processor 310 is discussed more fully below.
[0054] The transceiver 315 may include a wireless transceiver 340 and / or a wired transceiver 350 configured to communicate with other devices via wireless connections and wired connections, respectively. For example, the wireless transceiver 340 may include a wireless transmitter 342 and a wireless receiver 344 coupled to one or more antennas 346 for transmitting (e.g., on one or more uplink channels and / or one or more downlink channels) and / or receiving (e.g., on one or more downlink channels and / or one or more uplink channels) wireless signals 348 and converting signals from the wireless signals 348 to wired (e.g., electrical and / or optical) signals and from wired (e.g., electrical and / or optical) signals to the wireless signals 348. Thus, the wireless transmitter 342 may include multiple transmitters that may be discrete components or combined / integrated components, and / or the wireless receiver 344 may include multiple receivers that may be discrete components or combined / integrated components. The wireless transceiver 340 may be configured to communicate in accordance with a variety of radio access technologies (RATs) such as 5G New Radio (NR), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Phone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), Direct connection The wired transceiver 350 may include a wired transmitter 352 and a wired receiver 354 configured for wired communication, for example, a network interface that may be used to communicate with the NG-RAN 135 to transmit communications to, for example, the LMF 120 and / or one or more other network entities and receive communications therefrom. The wired transmitter 352 may include multiple transmitters that may be discrete components or combined / integrated components, and / or the wired receiver 354 may include multiple receivers that may be discrete components or combined / integrated components. The wired transceiver 350 may be configured, for example, for optical communication and / or electrical communication.
[0055] Figure 3 The configuration of the TRP 300 shown is an example and not a limitation of the present disclosure (including the claims), and other configurations may be used. For example, the description herein discusses that the TRP 300 may be configured to perform several functions or that the TRP performs several functions, but one or more of these functions may be performed by the LMF 120 and / or the UE 200 (i.e., the LMF 120 and / or the UE 200 may be configured to perform one or more of these functions).
[0056] Also refer to Figure 4 , the server 400 (LMF 120 may be an example thereof) may include: a computing platform including a processor 410, a memory 411 including software (SW) 412, and a transceiver 415. The processor 410, the memory 411, and the transceiver 415 may be communicatively coupled to each other via a bus 420 (the bus may be configured, for example, for optical communication and / or electrical communication). One or more of the devices shown (e.g., a wireless transceiver) may be omitted from the server 400. The processor 410 may include one or more hardware devices, such as a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), etc. The processor 410 may include a plurality of processors (e.g., including a general / application processor, a DSP, a modem processor, a video processor, and / or a sensor processor, such as Figure 2 ). The memory 411 may be a non-transitory storage medium that may include random access memory (RAM), flash memory, disk storage, and / or read-only memory (ROM), etc. The memory 411 may store software 412, which may be a processor-readable, processor-executable software code containing instructions that are configured to cause the processor 410 to perform various functions described herein when executed. Alternatively, the software 412 may not be directly executable by the processor 410, but may be configured to cause the processor 410 to perform these functions, for example, when compiled and executed. The description herein may refer to the processor 410 performing functions, but this includes other specific implementations, such as specific implementations of the processor 410 executing software and / or firmware. The description herein may refer to the processor 410 performing functions as a shorthand for one or more of the processors included in the processor 410 performing the functions. The description herein may refer to the server 400 performing functions as a shorthand for one or more appropriate components of the server 400 performing the functions. The processor 410 may include a memory with stored instructions as a supplement and / or alternative to the memory 411. The functionality of processor 410 is discussed more fully below.
[0057] The transceiver 415 may include a wireless transceiver 440 and / or a wired transceiver 450 configured to communicate with other devices via wireless connections and wired connections, respectively. For example, the wireless transceiver 440 may include a wireless transmitter 442 and a wireless receiver 444 coupled to one or more antennas 446 for transmitting (e.g., on one or more downlink channels) and / or receiving (e.g., on one or more uplink channels) wireless signals 448 and converting signals from the wireless signals 448 to wired (e.g., electrical and / or optical) signals and from wired (e.g., electrical and / or optical) signals to the wireless signals 448. Thus, the wireless transmitter 442 may include multiple transmitters that may be discrete components or combined / integrated components, and / or the wireless receiver 444 may include multiple receivers that may be discrete components or combined / integrated components. The wireless transceiver 440 may be configured to operate in accordance with a plurality of radio access technologies (RATs) such as 5G New Radio (NR), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Phone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), Direct connection The wired transceiver 450 may include a wired transmitter 452 and a wired receiver 454 configured for wired communication, for example, a network interface that can be used to communicate with the NG-RAN 135 to transmit communications to, for example, the TRP 300 and / or one or more other network entities and receive communications therefrom. The wired transmitter 452 may include multiple transmitters that may be discrete components or combined / integrated components, and / or the wired receiver 454 may include multiple receivers that may be discrete components or combined / integrated components. The wired transceiver 450 may be configured, for example, for optical communication and / or electrical communication.
[0058] This specification may refer to processor 410 performing a function, but this includes other implementations, such as implementations in which processor 410 executes software (stored in memory 411) and / or firmware. This specification may refer to server 400 performing a function as shorthand for one or more appropriate components of server 400 (e.g., processor 410 and memory 411) performing that function.
[0059] Figure 4The configuration of the server 400 shown is an example and not a limitation of the present disclosure (including the claims), and other configurations may be used. For example, the wireless transceiver 440 may be omitted. Additionally or alternatively, the description herein discusses that the server 400 is configured to perform several functions or that the server performs several functions, but one or more of these functions may be performed by the TRP 300 and / or the UE 200 (i.e., the TRP 300 and / or the UE 200 may be configured to perform one or more of these functions).
[0060] SPS Positioning Technology
[0061] The UE can use a satellite positioning system (SPS) (Global Navigation Satellite System (GNSS)) to use Precise Point Positioning (PPP) or Real-Time Kinematics (RTK) techniques for high accuracy positioning. These techniques use assistance data, such as measurements from ground-based stations. LTE Release 15 allows the data to be encrypted so that only UEs subscribed to the service can read the information. Such assistance data changes over time. Therefore, a UE subscribed to the service may not be able to easily "break the encryption" for other UEs by passing the assistance data to other UEs that have not paid for the subscription, where the assistance data is passed every time the assistance data changes.
[0062] The SPS receiver 217 may be enabled to receive signals associated with one or more SPS / GNSS resources. The received SPS / GNSS signals may be stored in the memory 211 and / or used by the processor 210 to determine the location of the UE 200. The SPS receiver 217 may include a code phase receiver and a carrier phase receiver, which may measure carrier-related information. The carrier typically has a much higher frequency than the pseudo-random noise (PRN) (code phase) sequence conveyed by the carrier, which may facilitate more accurate positioning determination. The term "code phase measurement" refers to a measurement using a coarse acquisition (C / A) code receiver, which uses the information contained in the PRN sequence to calculate the location of the UE 200. The SPS receiver 217 may be included in a mobile device, such as a vehicle, a mobile handset, a laptop, a computer, a tablet, an aircraft or drone, or other SPS-enabled mobile device.
[0063] Also refer to Figure 5, the code phase receiver may align the received PRN code 510 with the stored PRN code 520. To simplify the illustration, the modulation of the carrier signal 540 used to generate the PRN code is not shown. The alignment of the received PRN code 510 with the stored code 520 may reveal the reception time of the received PRN code 510 within the time window 530 to determine the range between the satellite and the UE 200, wherein multiple ranges between the UE 200 and multiple satellites are used to determine the location of the UE 200 (e.g., with an accuracy of 1m to 5m). The phase of the carrier signal 540 conveying the PRN code 510 may be analyzed to determine a finer resolution accuracy of the timing of the satellite signal arriving at the UE 200, and thus determine the distance between the satellite and the UE 200, and thus determine a more accurate location estimate of the UE 200, for example, less than 1m (e.g., decimeters). For example, the phase of the carrier signal 540 conveying the PRN code 510 may be analyzed for the window 530 to more accurately determine the timing of the edge 510 of the received PRN code, in this example, the cycle 550 is identified as the edge of the PRN code transition. The term "carrier phase measurement" refers to a measurement using a carrier phase receiver that uses the carrier signal to calculate a position fix. For example, for GPS, the carrier signal may take the form of a 1575.42 MHz L1 signal, or a 1227.60 MHz L2 signal, or a 1176 MHz L5 signal. Other examples include one or more signals for the Galileo and / or BeiDou systems (e.g., B1I, B1C, B2A, E1, E5A, etc.). A single satellite may transmit signals in different bands (e.g., L1 and L2, and / or L1 and L5).
[0064] Also refer to Figure 6, a carrier signal 600 can be measured and a flight time 610 between a transmitting satellite and a receiving UE can be determined. The flight time 610 can be converted into a distance, and this distance can be used in conjunction with the known position of the satellite along with other distances to other satellites to determine a positioning estimate for the UE. The cycles of the carrier signal 600 are similar, making it difficult to distinguish the cycles. The phase difference 620 between the carrier signal 600 and the local replica signal 630 (a copy of the carrier signal 600) can be measured as a fraction of the cycle. The measured phase difference 620 accounts for a portion of the flight time 610, while the remainder of the flight time 610 is an unknown integer number of complete cycles of the carrier signal 600, referred to as an integer ambiguity. If the integer ambiguity is resolved (and therefore the integer number of complete cycles of the carrier signal 600 in the flight time 610 is determined), the distance between the satellite and the UE can be determined, and the distance can be used to determine a positioning estimate for the UE. Since the GNSS signal is a RHCP signal (right-hand circularly polarized signal), if a circularly polarized receiving antenna is used, the phase difference 620 can be accurately determined, for example, within 1% of the cycle. Linearly polarized antennas (e.g., antennas commonly used in mobile phones) may have lower quality (e.g., worse phase center offset (PCO) and / or worse phase center variation (PCV)) than circularly polarized antennas (e.g., antennas commonly used in automobiles). For example, since mobile phones are more likely to encounter signal blockage than cars, the carrier-to-noise ratio of the measurement signal of a mobile phone is also typically lower compared to that of a car. Lower antenna quality and / or lower received signal quality may make integer ambiguity resolution more difficult, and therefore may make it more difficult to determine a positioning estimate.
[0065] A positioning estimate (e.g., for a UE) may be referred to by other names, such as position estimate, position, fix, position fix, fix, etc. The positioning estimate may be geodetic and include coordinates (e.g., latitude, longitude, and possibly altitude), or may be municipal and include a street address, postal address, or some other textual description of the location. The positioning estimate may be further defined relative to some other known location or in absolute terms (e.g., using latitude, longitude, and possibly altitude). The positioning estimate may include an expected error or uncertainty (e.g., by including an area or volume within which the location is expected to be contained with some specified or default confidence level).
[0066] Integer ambiguity resolution
[0067] Successful integer ambiguity resolution (IAR) may enable RTK to achieve centimeter-level accuracy for positioning estimates for UEs. Any of a variety of techniques may be employed to determine candidate float ambiguity values (i.e., candidate float values for the number of carrier signal cycles between a transmitter and a receiver), also referred to as float ambiguities. The ambiguity float candidates may be used in an ambiguity search to attempt to ultimately determine an integer value for a complete cycle of a carrier signal between a satellite and a UE. For example, a LAMBDA (Least Squares Ambiguity Decorrelation Adjustment) technique may be used as an ambiguity search function. Float values (i.e., values that may be non-integer values) of candidate ambiguities corresponding to a plurality of satellites, along with a covariance matrix of the float values (indicating the uncertainty of each candidate ambiguity and the correlation between the candidate ambiguities), may be used as input to the ambiguity search function. The ambiguity search function may resolve the integer ambiguities to determine an integer number of complete cycles of a carrier signal between a transmitter (e.g., a satellite) and a receiver (e.g., a UE).
[0068] refer to Figure 7 UE 700 may include a processor 710, a transceiver 720, and a memory 730 that are communicatively coupled to each other via a bus 740. UE 700 may include Figure 7 The components shown, and may include one or more other components, such as Figure 2 The UE 200 may be an example of the UE 700, such that the UE 200 may be any of those components shown, such that the UE 200 may be an example of the UE 700. For example, the processor 710 may include one or more of the components of the processor 210. The transceiver 720 may include one or more components of the SPS antenna 262 and the SPS receiver 217, and may include one or more components of the transceiver 215, such as the wireless transmitter 242 and the antenna 246, or the wireless receiver 244 and the antenna 246, or the wireless transmitter 242, the wireless receiver 244 and the antenna 246, or the wired transmitter 252 and / or the wired receiver 254. The memory 730 may be configured similarly to the memory 211, and may include software having processor-readable instructions configured to cause the processor 710 to perform functions.
[0069] The description herein may refer to the processor 710 performing a function, but this may include other specific implementations, such as the processor 710 executing software (stored in the memory 730) and / or firmware. The description herein may refer to the UE 700 performing a function as shorthand for one or more appropriate components of the UE 700 (e.g., the processor 710 and the memory 730) performing that function. The processor 710 (possibly in conjunction with the memory 730 and, where appropriate, the transceiver 720) may include a candidate ambiguity unit 750, an ambiguity search unit 760, a partial ambiguity search unit 770, and a combined frequency search unit 780. The candidate ambiguity unit 750, the ambiguity search unit 760, the partial ambiguity search unit 770, and the combined frequency search unit 780 are discussed further below. The description herein may refer to the processor 710 (in general) or the UE 700 (in general) performing any of the functions of the candidate ambiguity unit 750, the ambiguity search unit 760, the partial ambiguity search unit 770 and / or the combined frequency search unit 780, where the UE 700 is configured to perform the functions in question.
[0070] The candidate ambiguity unit 750 may be configured to perform one or more of various known techniques for determining candidate ambiguity values. For example, the candidate ambiguity unit 750 may receive GNSS signal measurements from the transceiver 720 (e.g., the SPS receiver 217) and may use the GNSS signal measurements to determine floating point candidate ambiguity values. Each of the floating point candidate ambiguity values may include an integer part and a fractional part indicating the number of cycles of the carrier signal between the UE 700 and the corresponding satellite transmitting the corresponding GNSS signal. The set of floating point candidate ambiguity values corresponding to the set of satellites may be referred to as an ambiguity float vector. The candidate ambiguity unit 750 may provide an ambiguity float vector and a corresponding covariance matrix. For example, the candidate ambiguity unit 750 may ignore the integer nature of the carrier signal ambiguity and apply, for example, least squares parameter estimation to generate an ambiguity float vector together with a covariance matrix.
[0071] The ambiguity search unit 760 may be configured to determine a verified or "fixed" set of integer ambiguity values for the travel distance of the corresponding carrier signal between the corresponding satellite and the UE 700. The ambiguity search unit 760 may, for example, implement a LAMBDA search popularized by the University of Delft. The ambiguity search unit 760 may use the ambiguity floating point vector and the corresponding covariance matrix as input, and output a set of optimal integer values for the number of complete cycles of the corresponding GNSS signal between the corresponding satellite and the UE 700, and a set of sub-optimal integer values. The ambiguity search unit 760 may attempt to verify the set of optimal integer values. For example, the ambiguity search unit 760 may perform a ratio test by finding a ratio of a value derived from the best integer value set divided by a value derived from the sub-optimal integer value set. If the resulting ratio is above a ratio threshold, the best integer value set is verified, and the best integer values become verified (or "fixed") integer values (they are integers, not floating point values). As another example, the ambiguity search unit 760 may apply a success rate test alone or in combination with a ratio test to verify the integer values.
[0072] The partial ambiguity search unit 770 may be configured to implement a partial ambiguity search by selecting a subset of candidate floating point ambiguity values of the ambiguity floating point vector for use by the ambiguity search unit 760 to perform an ambiguity search to determine a verified integer value. This may, for example, improve the ability to determine a set of fixed-value integer values to improve the fixed participation rate (i.e., the rate at which the ambiguity search unit 760 is able to determine verified integer values). For example, the partial ambiguity search unit 770 may be configured to select the subset of candidate ambiguity values based on the signal quality of the received GNSS signal corresponding to the candidate ambiguity values. Additionally or alternatively, the partial ambiguity search unit 770 may be configured to select the subset of candidate ambiguity values based on the satellite altitude of the satellite transmitting the received GNSS signal relative to the UE 700. Additionally or alternatively, the partial ambiguity search unit 770 may be configured to select the subset of candidate ambiguity values based on whether the candidate ambiguity, as modified based on a positioning estimate derived from combining GNSS signals of different frequencies from the same satellite, is closer to the integer value than a threshold.
[0073] Also refer to Figure 8, a method 800 for selecting a subset of candidate ambiguity values and determining a positioning estimate in a cascaded manner may include the stages shown. In the method 800, a subset of candidate ambiguity values is selected based on different quality levels of the received GNSS signals corresponding to the candidate ambiguity values. The method 800 uses a cascade method to respond to failed attempts to determine a verified integer value by increasing the minimum quality metric (here CN0) of the GNSS signal corresponding to the floating ambiguity value, which is used to determine a fixed integer value for determining the distance between the satellite and the UE, and thus determine the positioning estimate of the UE. However, the method 800 is an example and not a limitation. The method 800 may be modified, for example, by adding, removing, rearranging, combining, executing concurrently, and / or splitting a single stage into multiple stages. For example, more or less than three stages of increasing quality thresholds may be used to select a subset of candidate ambiguity values. As another example, the values of the quality thresholds discussed with respect to stages 840, 860, and 880 are examples, and other quality thresholds may be used. Other examples are possible.
[0074] At stage 810, the method 800 includes performing a candidate ambiguity search using all floating point candidate ambiguity values of the ambiguity floating point vector. For example, the partial ambiguity search unit 770 may provide the ambiguity floating point vector (and the corresponding covariance matrix) to the ambiguity search unit 760 without applying a CN0 (carrier noise density) mask, i.e., without requiring any minimum CN0 of the GNSS signal corresponding to any of the floating point candidate ambiguity values provided to the ambiguity search unit 760. The ambiguity search unit 760 performs an ambiguity search (e.g., a LAMBDA search) using the provided floating point candidate ambiguity values and the covariance matrix to determine the best integer value set and the second best integer value set.
[0075] At stage 820, method 800 includes determining whether the integer values are verified. For example, ambiguity search unit 760 performs a verification check (e.g., a ratio test) on the best set of integer values and the next best set of integer values to determine whether the best set of integer values is verified. If the integer values are verified, method 800 proceeds to stage 830, where the verified integer values are used, for example, by processor 710 to determine ranges to satellites and determine a position estimate for UE 700 based on these ranges. If the integer values are not verified, method 800 proceeds to stage 840.
[0076] At stage 840, the method 800 comprises performing a candidate ambiguity search using all floating point candidate ambiguity values of the ambiguity float vector whose corresponding GNSS signals are received with at least a first threshold quality metric value. Thus, the ambiguity search is limited to using GNSS signals having a corresponding indication of candidate ambiguity accuracy that is higher than any such indication corresponding to a GNSS signal used in a previous ambiguity search. The indication of candidate ambiguity accuracy is an indication of a GNSS signal metric corresponding to an ability to accurately resolve integer ambiguities. For example, the partial ambiguity search unit 770 may provide to the ambiguity search unit 760 only the floating point candidate ambiguity values of the ambiguity float vector (and the corresponding covariance matrix) which have corresponding GNSS signals received with at least a first threshold CN0 (e.g., 25 dBHz). If no GNSS signal having at least the threshold CN0 value is received, the provided floating point candidate ambiguity values may be an empty set. If at least one but less than all of the candidate ambiguity values of the ambiguity float vector have a corresponding GNSS signal of at least the first threshold CN0, the provided floating point candidate ambiguity values may be a subset of the ambiguity float vector. If all candidate floating point ambiguity values of the ambiguity float vector correspond to GNSS signals having at least the first threshold CN0, the provided floating point candidate ambiguity values may be the entire ambiguity float vector. The ambiguity search unit 760 performs an ambiguity search using the provided floating point candidate ambiguity values and the corresponding covariance matrix to determine an optimal integer value set and a second-best integer value set.
[0077] At stage 850, the method 800 includes determining whether the integer values provided by the partial ambiguity search unit 770 at stage 840 are verified. For example, the ambiguity search unit 760 performs a verification check (e.g., a ratio test) on the best set of integer values and the next best set of integer values determined at stage 840 to determine whether the best set of integer values determined at 840 are verified. If the integer values are verified, the method 800 proceeds to stage 830, where the verified integer values are used, for example, by the processor 710 to determine ranges to satellites and determine a position estimate for the UE 700 based on these ranges. If the integer values are not verified, the method 800 proceeds to stage 860.
[0078] At stage 860, the method 800 includes performing a candidate ambiguity search using all floating point candidate ambiguity values of the ambiguity floating point vector whose corresponding GNSS signals are received with at least the second threshold quality metric value. For example, the partial ambiguity search unit 770 may provide only the floating point candidate ambiguity values of the ambiguity floating point vector (and the corresponding covariance matrix) to the ambiguity search unit 760, which floating point candidate ambiguity values have corresponding GNSS signals received with at least the first threshold CN0 (e.g., 27.5 dBHz). The ambiguity search unit 760 performs an ambiguity search using the provided floating point candidate ambiguity values and the corresponding covariance matrix to determine the best integer value set and the second best integer value set.
[0079] At stage 870, method 800 includes determining whether the integer value provided by partial ambiguity search unit 770 at stage 860 is verified. If the integer value is verified, method 800 proceeds to stage 830, where the verified integer value is used, for example by processor 710, to determine ranges to satellites and determine a position estimate based on these ranges for UE 700. If the integer value is not verified, method 800 proceeds to stage 880.
[0080] At stage 880, the method 800 includes performing a candidate ambiguity search using all floating point candidate ambiguity values of the ambiguity floating point vector whose corresponding GNSS signals are received with at least a third threshold quality metric value. For example, the partial ambiguity search unit 770 may provide only the floating point candidate ambiguity values of the ambiguity floating point vector (and the corresponding covariance matrix) to the ambiguity search unit 760, which floating point candidate ambiguity values have corresponding GNSS signals received with at least a first threshold CN0 (e.g., 30 dBHz). The ambiguity search unit 760 performs an ambiguity search using the provided floating point candidate ambiguity values and the corresponding covariance matrix to determine the best integer value set and the second best integer value set.
[0081] At stage 890, method 800 includes determining whether the integer value provided by partial ambiguity search unit 770 at stage 880 is verified. If the integer value is verified, method 800 proceeds to stage 830, where the verified integer value is used, for example by processor 710, to determine ranges to satellites and determine a position estimate based on these ranges for UE 700. If the integer value is not verified, method 800 proceeds to step 895, where method 800 ends.
[0082] Also refer to Fig. 9, a method 900 for selecting a subset of candidate ambiguity values and determining a positioning estimate in a cascaded manner may include the stages shown. In the method 900, a subset of candidate ambiguity values is selected based on different altitudes of satellites corresponding to the received GNSS signals corresponding to the candidate ambiguity values relative to the UE 700. The method 900 uses a cascade method to respond to failed attempts to determine a verified integer value by increasing the minimum quality metric (here, satellite altitude) of the GNSS signal corresponding to the floating-point ambiguity value, which is used to determine a fixed integer value for determining the distance between the satellite and the UE, and thus determine the positioning estimate of the UE. However, the method 900 is an example and not a limitation. The method 900 may be modified, for example, by adding, removing, rearranging, combining, executing concurrently, and / or splitting a single stage into multiple stages. For example, more or less than three stages with increasing altitude thresholds may be used to select a subset of candidate ambiguity values. As another example, the values of the altitude thresholds discussed with respect to stages 910, 940, 960, and 980 are examples, and other altitude thresholds may be used. Other examples are possible.
[0083] At stage 910, the method 900 includes performing a candidate ambiguity search using all floating point candidate ambiguity values of the ambiguity float vector whose corresponding GNSS signals are received from satellites having at least a first threshold altitude relative to the UE 700 (wherein the altitude is the angle from the UE 700 to the corresponding satellite relative to the horizon). For example, the partial ambiguity search unit 770 may provide to the ambiguity search unit 760 only the floating point candidate ambiguity values of the ambiguity float vector (and the corresponding covariance matrix) which have corresponding GNSS signals received from satellites having at least the first threshold altitude (e.g., 10° (above the horizon)). If no GNSS signals are received from satellites having at least the first threshold altitude, the provided floating point candidate ambiguity values may be an empty set. If at least one but less than all of the candidate ambiguity values of the ambiguity float vector have corresponding GNSS signals received from satellites having at least the first threshold altitude, the provided floating point candidate ambiguity values may be a subset of the ambiguity float vector. If all candidate ambiguity values of the ambiguity float vector correspond to GNSS signals received from satellites having at least a first threshold altitude, the provided float candidate ambiguity value may be the entire ambiguity float vector. The ambiguity search unit 760 performs an ambiguity search (e.g., a LAMBDA search) using the provided float candidate ambiguity values and the corresponding covariance matrix to determine an optimal set of integer values and a second-best set of integer values.
[0084] At stage 920, the method 900 includes determining whether the integer values are verified. For example, the ambiguity search unit 760 performs a verification check (e.g., a ratio test) on the best set of integer values and the second best set of integer values determined at stage 910 to determine whether the best set of integer values is verified. If the integer values are verified, the method 900 proceeds to stage 930, where the verified integer values are used, for example, by the processor 710 to determine ranges to satellites and determine a position estimate for the UE 700 based on these ranges. If the integer values are not verified, the method 900 proceeds to stage 940.
[0085] At stage 940, the method 900 includes performing a candidate ambiguity search using all floating point candidate ambiguity values of the ambiguity float vector whose corresponding GNSS signals are received from satellites having an altitude of at least a second threshold altitude relative to the UE 700. Thus, the ambiguity search is limited to using GNSS signals having corresponding indications of candidate ambiguity accuracy that are higher than any such indications corresponding to GNSS signals used in previous ambiguity searches. For example, the partial ambiguity search unit 770 may provide only the floating point candidate ambiguity values of the ambiguity float vector (and the corresponding covariance matrix) to the ambiguity search unit 760, which have corresponding GNSS signals received from satellites having at least a second threshold altitude (e.g., 15°). The ambiguity search unit 760 performs an ambiguity search using the provided floating point candidate ambiguity values and the corresponding covariance matrix to determine an optimal integer value set and a suboptimal integer value set.
[0086] At stage 950, the method 900 includes determining whether the integer values provided by the partial ambiguity search unit 770 at stage 940 are verified. For example, the ambiguity search unit 760 performs a verification check (e.g., a ratio test) on the best set of integer values and the next best set of integer values determined at stage 940 to determine whether the best set of integer values determined at 940 are verified. If the integer values are verified, the method 900 proceeds to stage 930, where the verified integer values are used, for example, by the processor 710 to determine ranges to satellites and determine a position estimate for the UE 700 based on these ranges. If the integer values are not verified, the method 900 proceeds to stage 960.
[0087] At stage 960, the method 900 includes performing a candidate ambiguity search using all floating point candidate ambiguity values of the ambiguity floating point vector whose corresponding GNSS signals are received from satellites having an altitude of at least a third threshold altitude relative to the UE 700. For example, the partial ambiguity search unit 770 may provide only the floating point candidate ambiguity values of the ambiguity floating point vector (and the corresponding covariance matrix) having corresponding GNSS signals received from satellites having at least a third threshold altitude (e.g., 20°) to the ambiguity search unit 760. The ambiguity search unit 760 performs an ambiguity search using the provided floating point candidate ambiguity values and the corresponding covariance matrix to determine an optimal integer value set and a second-best integer value set.
[0088] At stage 970, the method 900 includes determining whether the integer values provided by the partial ambiguity search unit 770 at stage 960 are verified. For example, the ambiguity search unit 760 performs a verification check (e.g., a ratio test) on the best set of integer values and the next best set of integer values determined at stage 960 to determine whether the best set of integer values determined at 960 are verified. If the integer values are verified, the method 900 proceeds to stage 930, where the verified integer values are used, for example, by the processor 710 to determine ranges to satellites and determine a position estimate for the UE 700 based on these ranges. If the integer values are not verified, the method 900 proceeds to stage 980.
[0089] At stage 980, the method 900 includes performing a candidate ambiguity search using all floating point candidate ambiguity values of the ambiguity floating point vector whose corresponding GNSS signals are received from satellites having an altitude of at least a fourth threshold altitude relative to the UE 700. For example, the partial ambiguity search unit 770 may provide only the floating point candidate ambiguity values of the ambiguity floating point vector (and the corresponding covariance matrix) having corresponding GNSS signals received from satellites having at least a fourth threshold altitude (e.g., 25°) to the ambiguity search unit 760. The ambiguity search unit 760 performs an ambiguity search using the provided floating point candidate ambiguity values and the corresponding covariance matrix to determine an optimal integer value set and a second-best integer value set.
[0090] At stage 990, the method 900 includes determining whether the integer values provided by the partial ambiguity search unit 770 at stage 980 are verified. For example, the ambiguity search unit 760 performs a verification check (e.g., a ratio test) on the best set of integer values and the second best set of integer values determined at stage 980 to determine whether the best set of integer values determined at 980 are verified. If the integer values are verified, the method 900 proceeds to stage 930, where the verified integer values are used, for example, by the processor 710 to determine ranges to satellites and determine a position estimate for the UE 700 based on these ranges. If the integer values are not verified, the method 900 proceeds to step 995, where the method 900 ends.
[0091] Methods 800 and 900 are examples. Numerous variations of method 800 and / or method 900 may be implemented. For example, one or more different thresholds may be used for the CN0 threshold and / or the altitude threshold. As another example, the difference between different consecutive thresholds may be different (e.g., 2.5 dBHz between a first consecutive threshold pair and another difference between a second consecutive threshold pair, e.g., 3.2 dBHz). As another example, stage 810 may have a non-zero CN0 threshold. As another example, stage 910 may not require an altitude threshold. As another example, one or more stages may apply a combination of a threshold (e.g., 25 dBHz) and a 15° altitude to determine which ambiguity value of the floating point candidate ambiguity values of the ambiguity float vector to provide to the ambiguity search unit 760.
[0092] The use of method 800 and / or method 900 (or a combination thereof) can improve positioning accuracy and confidence in positioning accuracy. For example, in response to a failed integer ambiguity resolution confirmation, the accuracy of integer ambiguity resolution can be improved by increasing the likelihood of an accurate integer ambiguity resolution, by increasing the possible signal quality and thus increasing the measurement accuracy, which can improve the accuracy of the positioning estimate for the UE 700 and the confidence in the positioning estimate accuracy.
[0093] refer to Figure 7, the combined frequency search unit 780 may be configured to combine GNSS signals from the same satellite. The combined GNSS signal may have different frequency bands, such as L1 band and L5 band, L1 band and L2 band, BDS (Beidou Navigation Satellite System) B1I band and B2A band, B1I band and B2B band, B1C band and B2A band, B1C band and B2B band, Galileo E1 band and E5A band, or E1 band and E5B band. The signal generated by the combination of two signals (GNSS signals here) of different frequency bands may be referred to as a combined frequency signal or a wide channel signal. The combined frequency signal may have a larger wavelength than the wavelength of a separate uncombined GNSS signal of an uncombined frequency band. For example, while the uncombined signal may have a wavelength of approximately 0.2 m, the L1 / L2 signal (i.e., the combined frequency signal resulting from the combination of the L1 signal and the L2 signal) may have a wavelength of approximately 0.86 m, the L1 / L5 signal may have a wavelength of approximately 0.75 m, the B1I / B2A signal may have a wavelength of approximately 0.78 m, the B1I / B2B signal may have a wavelength of approximately 0.85 m, the B1C / B2A signal may have a wavelength of approximately 0.75 m, the B1C / B2B signal may have a wavelength of approximately 0.81 m, the Galileo E1 / E5A signal may have a wavelength of approximately 0.75 m, and the E1 / E5B signal may have a wavelength of approximately 0.81 m. On a mobile platform (e.g., with a less robust antenna, such as a linearly polarized antenna), there is a higher likelihood that the carrier phase (CP) measurement will have a larger residual error on the uncombined signal measurement than on a more robust receiver. However, the combined frequency signal with a larger wavelength may more easily achieve integer ambiguity resolution than the uncombined signal with a smaller wavelength. The percentage effect of the error (e.g., spatial decorrelation due to the increased baseline length) on the combined frequency signal is less than the percentage effect on the uncombined signal. For example, the ionospheric and tropospheric errors (e.g., about 2 cm) are the same for the uncombined signal and the combined frequency signal, but the relative errors are smaller for the combined frequency signal. The lower percentage effect of the error on the combined frequency signal may facilitate passing the validation check for the floating ambiguity values based on the combined frequency signal, and thus facilitate obtaining "fixed" integer ambiguity values (also called fixed ambiguity values), which are integers derived from the floating ambiguity values. The phase difference measurement of the combined frequency signal (similar to the phase difference 620) may be about 1% of the cycle, resulting in a resolution of about 7 cm to 8 cm. Even though the combined frequency band has a higher noise level than the individual frequency bands, the noise level may be better than using pseudoranges, and a positioning accuracy of about 10 cm may be achieved using the combined frequency analysis.
[0094] Also refer to Fig.10, a method 1000 for selecting a floating ambiguity value for use in an ambiguity search and / or determining a position estimate for a device (e.g., UE 700) using a combined frequency signal may include the stages shown. However, the method 1000 is an example and not limiting. The method 1000 may be modified, for example, by adding, removing, rearranging, combining, performing concurrently, and / or splitting a single stage into multiple stages. The method 1000 may be performed as needed (e.g., in response to a request and / or in response to a failure of a result of an integer ambiguity search based on an uncombined signal to be verified) to, for example, cause a best integer value set and a second-best integer value set to pass a ratio test. For example, the method 1000 may be performed in response to a failure of the method 800 and / or the method 900 to produce a verified integer value. Because the use of the combined frequency signal may produce a floating ambiguity value that is more likely to result in passing a validity test, one or more criteria for passing the validity test may be made more stringent. For example, in the case where combined frequency signals are used to determine floating ambiguity values, the threshold ratio for passing the ratio test may be increased (e.g., doubled) relative to the threshold ratio in the case where uncombined signals are used to determine floating ambiguity values. This may help balance the increased availability of fixed integer values due to the use of combined frequency signals with the reliability of those fixed integer values.
[0095] An extended Kalman filter (EKF) state and corresponding covariance may be provided by an EKF of the UE 700. The EKF is a Kalman filter (KF) having a nonlinear model implemented by the processor 710. The EKF state includes a positioning estimate for the UE 700, a velocity estimate for the UE 700, and a floating point ambiguity value for a plurality of uncombined GNSS signals (e.g., L1 signals and L5 signals) for each of a plurality of satellites. In this example, positioning may be provided in global coordinates, for example, in terms of x-coordinates, y-coordinates, and z-coordinates relative to a Cartesian coordinate system with a reference position as the origin. Also in this example, velocity may be provided in terms of global coordinates, for example, in terms of an x-component of velocity (i.e., velocity in the x direction), a y-component of velocity, and a z-component of velocity. The EKF state and covariance may be outputs of an RTK process and are therefore RTK solutions. In this example, the EKF state and covariance include two floating point ambiguity vectors, each corresponding to a respective band of satellite signals. Example frequency bands may include GPS L1, GPS L2, BDS B1I (Beidou Navigation Satellite System) B1I, BDS B2A, BDS B1C, Galileo E1, Galileo E5A, or Galileo E5B. Each floating point ambiguity vector includes a set of floating point ambiguity values, where each value corresponds to a corresponding satellite (and a corresponding frequency band signal). For example, the L1-amb floating point vector includes a set of floating point ambiguity values for the L1 signal from the corresponding set of satellites. Different ambiguity vectors may have values corresponding to different sets of satellites (e.g., because some satellites may not transmit signals in both frequency bands and / or because some signals are not adequately received by the UE 700 (e.g., due to channel conditions, signal strength, etc.) A simplified example of an L1-ambiguity vector may be (1.04, 1.22, 1.27, 1.18), and an example of an L5-ambiguity vector may be (1.12, 1.25, null, 1.09), where the float ambiguity values correspond to satellites S1, S2, S3, S4. The null value in the third slot of the L5 ambiguity vector indicates that no L5 signal is received from satellite S3, or at least not sufficiently received, so that an ambiguity float value can be determined.
[0096] At stage 1015, the ambiguity float vectors of the EKF state and covariance 1010 may be combined to determine a combined frequency ambiguity float vector. The processor 710 (e.g., the combined frequency search unit 780) may perform a transformation (e.g., apply a transformation matrix) to map the EKF state and covariance 1010 to a transformed EKF state and covariance 1020 based on the correlation between the frequency bands corresponding to the different ambiguity float vectors. The transformed EKF state and covariance 1020 has the same position and velocity estimates as the EKF state and covariance 1010, but has a different covariance than the EKF state and covariance 1010, and has a combined frequency ambiguity, which is a combined ambiguity float vector for the satellite signal frequency bands. The wavelength of the combined frequency band is much larger than the wavelength of any of the individual frequency bands. For example, the wavelength of the L1 band is about 19 cm, and the wavelength of the L5 band is about 24 cm, while the wavelength of the combination of L1 and L5 is about 75 cm. For other frequency band combinations, the other corresponding wavelengths are about 86 cm for the L1 / L2 combination, about 78 cm for the B1I / B2A combination, about 85 cm for the B1I / B2B combination, about 75 cm for the B1C / B12A combination, about 81 cm for the B1C / B2B combination, about 75 cm for the E1 / E5A combination, and about 81 cm for the E1 / E5B combination. On a mobile platform (e.g., with a less robust antenna, such as a linearly polarized antenna), the carrier phase (CP) measurement has a higher probability of having a larger residual error on the uncombined signal measurement than a more robust receiver. The use of combined frequency ambiguities and processing using the combined frequency information may be referred to as wide channel (WL) ambiguities or WL processing (e.g., WL search for integer ambiguity search based on combined frequency information). In the case of larger wavelengths, it is easier to resolve integer ambiguities, e.g., easier to verify by verification checks, and therefore it is easier to determine a "fixed" ambiguity value than in the case of smaller wavelength signals. In addition, the percentage effect of the error is smaller with larger wavelengths (e.g., due to spatial decorrelation with increased baseline length). For example, the ionospheric and tropospheric errors are about 2 cm regardless of whether combined frequency analysis or individual frequency analysis is used, but the relative error of about 2 cm is much lower with a combined frequency wavelength of about 75 cm than with an individual frequency wavelength of about 20 cm. The lower percentage effect of the error on the combined frequency signal can facilitate passing a validation check for integer values based on the combined frequency signal, and thus facilitate obtaining a "fixed" integer value. The phase difference measurement of the combined frequency signal (similar to phase difference 620) can be about 1% of the cycle, resulting in a resolution of about 7 cm to 8 cm. Even though the combined frequency band has a higher noise level than the individual frequency bands, the noise level is better than using pseudoranges, and positioning accuracy of about 10 cm can be achieved using combined frequency analysis.
[0097] At stage 1022, the processor 710 (e.g., the ambiguity search unit 760) may calculate a combined frequency fixed integer vector 1025 from the combined frequency ambiguity float vector and the covariance matrix of the converted EKF state and covariance 1020. The ambiguity search unit 760 may perform a LAMBDA search and, if the resulting integer value is verified, output the combined frequency fixed integer vector 1025. The combined frequency fixed integer vector 1025 includes an integer value of the number of complete wavelengths of the corresponding carrier signal between the corresponding satellite and the UE 700.
[0098] At stage 1030, the processor 710 may determine a location estimate for the UE 700 using the combined frequency fixed integer vector 1025 and the converted EKF states and covariances 1020. The processor 710 may determine a location estimate using the combined frequency fixed integer vector 1025 along with the known positions of the satellites corresponding to the combined frequency fixed integer vector 1025 and the locations and velocities of the converted EKF states and covariances 1020. This location estimate may be referred to as a combined frequency fixed location 1035 and may be more accurate than an ambiguity float solution. This is an intermediate location estimate and due to the uncertainty of the estimate, the combined frequency information has not yet been used to constrain the location estimate determination, etc. (e.g., constrain the EKF), but if the uncertainty of the combined frequency information can be reduced as discussed below with respect to stages 1040, 1045, the combined frequency information may be used to constrain the location estimate (e.g., EKF).
[0099] At stage 1040, the processor 710 may calculate updated EKF states and covariances based on the combined frequency fixed position 1035. The processor 710 may use the combined frequency fixed position 1035 as a pseudo measurement to constrain the position values (x, y, z) of the EKF states and covariances 1010. The processor 710 recalculates the EKF by using the EKF states and covariances 1010 and the combined frequency fixed position 1035 as inputs to determine updated EKF states and covariances. The updated EKF states and covariances are a set of intermediate values that include updated uncombined float ambiguities (i.e., individual frequency float ambiguity vectors for the corresponding frequency bands), position values, velocity values, and covariance matrices. If the combined frequency fixed position 1035 is accurate, many of the float ambiguity values of the updated uncombined float ambiguities should be close to integer values.
[0100] At stage 1045, the processor 710 may determine whether at least a threshold amount of the floating ambiguity values calculated at stage 1040 are within a threshold difference from an integer. For example, the partial ambiguity search unit 770 may determine whether each of the updated uncombined floating ambiguity values is within a threshold fraction of a cycle in an integer number of cycles, for example, within 0.15 of an integer number of cycles. The partial ambiguity search unit 770 may determine whether at least a threshold amount (e.g., a threshold percentage) of the updated uncombined floating ambiguity values are within a threshold fraction of a corresponding integer number of cycles. The processor 710 may determine, for example, whether at least 80% of the floating ambiguity values determined at stage 1040 are within 0.15 of an integer. If less than the threshold amount of floating ambiguity values calculated at stage 1040 are within a threshold difference from an integer, the method 1000 proceeds to stage 1050, where the combined frequency fix position 1035 is rejected as an accurate position estimate and the combined frequency information is rejected. For example, the position fix 1035 and / or the combined frequency fixed integer vector 1025 may not be used to constrain an EKF used to estimate the position of the UE 700, may not be trusted, and / or may not be used for one or more applications that rely on the position estimate of the UE 700. If at least a threshold amount of the floating point ambiguity values calculated at stage 1040 are within a threshold difference from an integer, then the combined frequency fixed position fix is verified to be accurate and the method 1000 proceeds to stage 1055. Screening the floating point ambiguity values for their proximity to the corresponding integers may help improve the accuracy of the resulting EKF state and, therefore, improve the accuracy of the position estimate for the UE 700 and the confidence in the accuracy of the position estimate.
[0101] At stage 1055, where the combined frequency fix position is verified to be accurate (e.g., having at least a threshold accuracy corresponding to stages 1040, 1045), the combined frequency information may be used to constrain determination of a position estimate (e.g., constrain the EKF) using the combined frequency information. After verifying that the combined frequency fix position is accurate, the intermediate values determined at stage 1040 (i.e., updated EKF states and covariances) may be used to update the EKF, e.g., may be used to replace the EKF states and covariances 1010 and thus may be used as a basis for future calculations of the EKF. For efficiency, instead of recalculating the EKF, the intermediate values determined at stage 1040 may be used as EKF output values and thus may be used as a basis for future calculations of the EKF. The combined frequency float ambiguity values determined at stage 1015 may be used in an ambiguity search to fix the combined frequency float ambiguity values to integers. These fixed integer values and EKF output values, or at least EKF output values corresponding to satellites from which signals of multiple frequency bands are received, may be used to generate (using the EKF) combined frequency fixed EKF states and covariances 1060. The position estimate of the combined frequency fixed EKF states and covariances 1060 may be more accurate than the position estimate of the EKF states and covariances 1010. Even though the combined frequency float ambiguity values have been fixed to integers, the uncombined (individual frequency band) float ambiguity values may not be integers. Furthermore, there may be satellites from which only one individual frequency band signal (e.g., either the L1 signal or the L5 signal, but not both) is received. Therefore, stage 1065 may be performed to fix the uncombined float ambiguity values to integer values.
[0102] At stage 1065, an uncombined ambiguity subset search is performed. The processor 710 (e.g., the partial ambiguity search unit 770) may determine uncombined float ambiguity values that are within a threshold of integers (e.g., within 0.15). For a given satellite, there may be uncombined float ambiguity values for signals in different frequency bands or from a single frequency band. The processor 710 (e.g., the ambiguity search unit 760) may perform an ambiguity search (e.g., a LAMBDA search and validation) using the uncombined float ambiguity values that are within the integer threshold as determined at stage 1045. Thus, the ambiguity search is limited to using GNSS signals with corresponding indications of higher integer ambiguity resolution accuracy than such indications corresponding to GNSS signals used in the previous ambiguity search (if any) (here, the updated uncombined float ambiguities are within the threshold of integers). This ambiguity search fixes the uncombined float ambiguity values to integer values. For validation, the processor 710 may determine whether the result of the ambiguity search passes a ratio test. If the result passes the ratio test, the processor 710 may determine whether it passes one or more further validation tests. For example, the processor 710 may determine whether one or more environmental conditions are met (e.g., open sky), whether the passing ratio test is repeatable (e.g., passing one or more additional ratio tests), and / or whether the result is within a threshold of integers. The processor 710 may use these uncombined fixed integer values in the EKF to determine the uncombined ambiguity fixed EKF states and covariances 1070, including a position estimate for the UE 700. In this way, a fine resolution position estimate for the UE 700 may be obtained, where the integer values of the uncombined signal (which has a finer resolution than the combined frequency signal) have a high confidence level.
[0103] refer to Fig.11 , and further reference Figures 1 to 10 , integer ambiguity resolution method 1100 includes the stages shown. However, method 1100 is an example and not a limitation. Method 1100 may be modified, for example, by adding, removing, rearranging, combining, performing one or more stages concurrently, and / or splitting a single stage into multiple stages.
[0104] At stage 1110, method 1100 includes receiving a plurality of satellite positioning system signals at a mobile device. For example, UE 700 may receive SPS signal 260 via transceiver 720 (e.g., antenna 262 and SPS receiver 217). SPS signal 260 may include one or more signals from each of a plurality of satellites, wherein SPS signal 260 is in one or more frequency bands. Antenna 262 and SPS receiver 217 (possibly in combination with processor 710 and memory 730) may include components for receiving a plurality of satellite positioning system signals.
[0105] At stage 1120, the method 1100 includes determining a plurality of candidate float ambiguity values for the plurality of SPS signals, the plurality of candidate float ambiguity values indicating a float number of wavelengths of carrier signals of the plurality of SPS signals between respective satellite sources of the plurality of SPS signals and the mobile device. For example, the candidate ambiguity unit 750 determines a candidate ambiguity float vector having candidate float ambiguity values corresponding to the received plurality of SPS signals. The candidate float ambiguity values indicate a float value of the number of wavelengths of the carrier signal between the respective satellite and the UE 700. The processor 710 (possibly in conjunction with the memory 730) may include means for determining a plurality of candidate float ambiguity values.
[0106] At stage 1130, method 1100 includes, in response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate floating ambiguity values, performing an integer ambiguity search using at least a second subset of the plurality of candidate floating ambiguity values, wherein each candidate floating ambiguity value of the at least second subset of the plurality of candidate floating ambiguity values corresponds to a second indication of candidate floating ambiguity accuracy that is higher than the first indication of candidate floating ambiguity accuracy corresponding to at least the first subset of the plurality of candidate floating ambiguity values, if any. For example, according to method 800, stage 860 (or stage 880) may be performed using a subset of candidate floating ambiguity values corresponding to SPS signals that each have at least a threshold CN0 value that is higher than the CN0 threshold used at stage 840 (or stage 860) to determine candidate floating ambiguity values to be used in the ambiguity search. As another example, according to method 800, stage 840 may be performed using a subset of candidate float ambiguity values corresponding to SPS signals that each have at least a threshold CN0 value, without using the threshold CN0 value to perform stage 810 to determine which candidate float ambiguity values to use to perform the ambiguity search. As another example, according to method 900, stage 940 (or stage 960 or stage 980) may be performed using a subset of candidate float ambiguity values corresponding to SPS signals from satellites that each have at least a threshold altitude value higher than the threshold altitude used at stage 910 (or stage 940 or stage 960, respectively) to determine candidate float ambiguity values to use in the ambiguity search. As another example, a combination of CN0 and satellite altitude thresholds may be used to determine a subset of candidate float ambiguity values to use for the ambiguity search. As another example, according to method 1000, a subset of candidate float ambiguity values may be determined based on which ambiguities in the updated uncombined float ambiguities are within a threshold proximity of the corresponding integer. Processor 710 (possibly in conjunction with memory 730) may include components for performing integer ambiguity searches.
[0107] Implementations of the method 1100 may include one or more of the following features. In an example implementation, the second indication of the accuracy of the candidate float ambiguity comprises an SPS signal carrier-to-noise ratio. For example, according to the method 800, a cascade threshold of CN0 may be used to determine which candidate float ambiguity values to use for the ambiguity search. In another example implementation, the second indication of the accuracy of the candidate float ambiguity comprises an altitude angle of a corresponding one of the satellite sources. For example, according to the method 900, a cascade threshold corresponding to the satellite altitude of the SPS signal may be used to determine which candidate float ambiguity values to use for the ambiguity search. In another example implementation, the second indication of the accuracy of the candidate float ambiguity comprises a combination of the SPS signal carrier-to-noise ratio and an altitude angle of a corresponding one of the satellite sources. For example, a combination of CN0 and satellite altitude may be used to determine which candidate float ambiguity values to use for the ambiguity search, wherein in response to a lack of validation of an ambiguity search result using a previously used CN0 and altitude value, a value of CN0 and / or a value of satellite altitude is increased.
[0108] Additionally or alternatively, a specific implementation of method 1100 may include one or more of the following features. In an example implementation, method 1100 also includes determining a plurality of combined frequency integer values corresponding to a combination of SPS signals in a plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands, wherein: determining at least a second subset of a plurality of candidate float ambiguity values includes determining at least a second subset of a plurality of candidate float ambiguity values based on the plurality of combined frequency integer values; and a second indication of the accuracy of the candidate float ambiguity includes a closeness to a corresponding integer of each value of at least a second subset of the plurality of candidate float ambiguity values. For example, at stage 1015 of method 1000, a combined frequency integer ambiguity value is determined based on the individual frequency band integer ambiguity values. These values may be used at stage 1022 to calculate a combined frequency fixed integer vector 1025, which may be used at stage 1030 to calculate a combined frequency fixed position 1035, which may be used at stage 1040 to calculate an updated uncombined float ambiguity. Which of the updated uncombined float ambiguities is within a threshold of the corresponding integer (e.g., different uncombined float ambiguities may be close to different integers) may be used to determine which candidate uncombined ambiguity to use in the ambiguity search at stage 1065. The processor 710 (possibly in conjunction with the memory 730) may include means for determining a plurality of combined frequency integer values corresponding to a combination of SPS signals in the plurality of SPS signals. In another example implementation, the method 1100 further includes: determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; and determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, the second position estimate for the mobile device, and the previous individual frequency band float ambiguities; wherein determining at least a second subset of the plurality of candidate float ambiguity values includes determining at least a second subset of the plurality of candidate float ambiguity values as updated individual frequency band float ambiguities each within a proximity threshold of the corresponding integer in response to at least a threshold amount of the updated individual frequency band float ambiguities each being within a proximity threshold of the corresponding integer. For example, the combined frequency integer value (of vector 1025) may be used to determine a combined frequency fix position 1035 at stage 1030 and used to calculate updated individual frequency band float ambiguity values at stage 1040. Which of the updated uncombined float ambiguities is within a threshold of the corresponding integer (e.g., different uncombined float ambiguities may be close to different integers) may be used to determine which candidate uncombined ambiguity to use in the ambiguity search at stage 1065. Processor 710 (possibly in conjunction with memory 730) may include means for determining a first position estimate for the mobile device and means for determining updated individual frequency band float ambiguities.
[0109] Additionally or alternatively, a specific implementation of method 1100 may include one or more of the following features. In an example specific implementation, method 1100 also includes: determining a plurality of combined frequency integer values corresponding to a combination of SPS signals in a plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands; determining a first positioning estimate for a mobile device based on the plurality of combined frequency integer values; determining updated individual frequency band float ambiguities based on the first positioning estimate for the mobile device, the second positioning estimate for the mobile device, and previous individual frequency band float ambiguities; and updating the second positioning estimate for the mobile device using a third positioning estimate for the mobile device determined based on the plurality of combined frequency integer values and the second positioning estimate for the mobile device and previous individual frequency band float ambiguities and in response to at least a threshold amount of the updated individual frequency band float ambiguities each being within a proximity threshold of the corresponding integer. For example, at stage 1015 of method 1000, the combined frequency integer ambiguity value is determined based on the individual frequency band integer ambiguity values. These values may be used at stage 1022 to compute a combined frequency fixed integer vector 1025, which may be used at stage 1030 to compute a combined frequency fixed position fix 1035, which may be used at stage 1040 to compute updated uncombined float ambiguities. In response to at least a threshold amount of the updated uncombined float ambiguity values having a threshold proximity to the corresponding integers, the combined frequency ambiguity values may be used in an ambiguity search to fix these values to integer values, i.e., the combined frequency fixed integer values. In addition, the combined frequency fixed integer values and the updated EKF state and covariance (e.g., determined at stage 1040 and including a position estimate and integer ambiguity values) may be used at stage 1055 to determine a combined frequency fixed EKF state and covariance 1065, which includes a combined frequency fixed position estimate, which may replace the position estimate of the EKF state and covariance 1010. Processor 710 (possibly in conjunction with memory 730) may include means for determining a plurality of combined frequency integer ambiguity values, means for determining a first positioning estimate, means for determining updated individual frequency band floating point ambiguities, and means for updating a second positioning estimate for a mobile device using a third positioning estimate for the mobile device.
[0110] Specific implementation examples
[0111] Specific implementation examples are provided in the following numbered clauses.
[0112] Clause 1. A mobile device, comprising:
[0113] a satellite positioning system receiver configured to receive a plurality of satellite positioning system (SPS) signals;
[0114] Memory; and
[0115] a processor communicatively coupled to the satellite positioning system receiver and to the memory, wherein the processor is configured to:
[0116] determining a plurality of candidate floating point ambiguity values for the plurality of SPS signals, the plurality of candidate floating point ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between respective satellite sources of the plurality of SPS signals and the mobile device; and
[0117] In response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate floating point ambiguity values, performing an integer ambiguity search using at least a second subset of the plurality of candidate floating point ambiguity values;
[0118] wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than the first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any.
[0119] Clause 2. The mobile device of clause 1, wherein the second indication of candidate float ambiguity accuracy comprises an SPS signal-to-carrier-to-noise ratio.
[0120] Clause 3. The mobile device of clause 1, wherein the second indication of the accuracy of the candidate float ambiguity comprises an altitude angle of a respective one of the satellite sources.
[0121] Clause 4. The mobile device of clause 1, wherein the second indication of candidate float ambiguity accuracy comprises a combination of an SPS signal-to-carrier-to-noise ratio and an elevation angle of a corresponding one of the satellite sources.
[0122] Clause 5. The mobile device of clause 1, wherein the processor is configured to:
[0123] determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands; and determining the at least a second subset of the plurality of candidate float ambiguity values based on the plurality of combined frequency integer values;
[0124] wherein the second indication of the accuracy of the candidate floating point ambiguity values comprises a closeness to a corresponding integer of each value of the at least a second subset of the plurality of candidate floating point ambiguity values.
[0125] Clause 6. The mobile device of clause 5, wherein the processor is configured to:
[0126] determining a first positioning estimate for the mobile device based on the plurality of combined frequency integer values; and determining updated individual frequency band float ambiguities based on the first positioning estimate for the mobile device, a second positioning estimate for the mobile device, and previous individual frequency band float ambiguities; and in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer, determining the at least a second subset of the plurality of candidate float ambiguity values as the updated individual frequency band float ambiguities each within the proximity threshold of the corresponding integer.
[0127] Clause 7. The mobile device of clause 1, wherein the processor is configured to:
[0128] determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands;
[0129] determining a first position estimate for the mobile device based on the plurality of combined frequency integer values;
[0130] determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; and
[0131] The second positioning estimate for the mobile device is updated using a third positioning estimate for the mobile device determined based on the plurality of combined frequency integer values and the second positioning estimate for the mobile device and the previous individual frequency band float ambiguities and in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer.
[0132] Clause 8. An integer ambiguity resolution method, the integer ambiguity resolution method comprising:
[0133] receiving a plurality of satellite positioning system (SPS) signals at a mobile device;
[0134] determining a plurality of candidate floating point ambiguity values for the plurality of SPS signals, the plurality of candidate floating point ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between respective satellite sources of the plurality of SPS signals and the mobile device; and
[0135] In response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate floating point ambiguity values, performing an integer ambiguity search using at least a second subset of the plurality of candidate floating point ambiguity values;
[0136] wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy, the second indication being higher than the first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any. Clause 9. An integer ambiguity resolution method according to clause 8, wherein the second indication of candidate float ambiguity accuracy comprises an SPS signal-to-carrier-to-noise ratio.
[0137] Clause 10. The integer ambiguity resolution method of clause 8, wherein the second indication of the accuracy of the candidate float ambiguity comprises an altitude angle of a respective one of the satellite sources.
[0138] Clause 11. The integer ambiguity resolution method of clause 8, wherein the second indication of the accuracy of the candidate float ambiguity comprises a combination of an SPS signal carrier-to-noise ratio and an altitude angle of a corresponding one of the satellite sources. Clause 12. The integer ambiguity resolution method of clause 8, the integer ambiguity resolution method further comprising determining a plurality of combined frequency integer values corresponding to a combination of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands, wherein:
[0139] determining the at least a second subset of the plurality of candidate float ambiguity values comprises determining the at least a second subset of the plurality of candidate float ambiguity values based on the plurality of combined frequency integer values; and
[0140] The second indication of the candidate float ambiguity accuracy comprises a closeness to a corresponding integer of each value of the at least a second subset of the plurality of candidate float ambiguity values.
[0141] Clause 13. The integer ambiguity resolution method according to clause 12, further comprising:
[0142] determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; and determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities;
[0143] wherein determining the at least a second subset of the plurality of candidate float ambiguity values comprises, in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer, determining the at least a second subset of the plurality of candidate float ambiguity values as the updated individual frequency band float ambiguities each being within the proximity threshold of the corresponding integer.
[0144] Clause 14. The integer ambiguity resolution method according to clause 8, further comprising:
[0145] determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands;
[0146] determining a first position estimate for the mobile device based on the plurality of combined frequency integer values;
[0147] determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; and
[0148] The second positioning estimate for the mobile device is updated using a third positioning estimate for the mobile device determined based on the plurality of combined frequency integer values and the second positioning estimate for the mobile device and the previous individual frequency band float ambiguities and in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer.
[0149] Clause 15. A mobile device, the mobile device comprising:
[0150] Components for receiving multiple satellite positioning system (SPS) signals;
[0151] means for determining a plurality of candidate floating point ambiguity values for the plurality of SPS signals, the plurality of candidate floating point ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between their respective satellite sources and the mobile device; and
[0152] means for performing an integer ambiguity search using at least a second subset of the plurality of candidate floating point ambiguity values in response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate floating point ambiguity values;
[0153] wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than the first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any.
[0154] Clause 16. The mobile device of Clause 15, wherein the second indication of candidate float ambiguity accuracy comprises an SPS signal-to-carrier-to-noise ratio.
[0155] Clause 17. The mobile device of Clause 15, wherein the second indication of an accuracy of a candidate float ambiguity comprises an altitude angle of a respective one of the satellite sources.
[0156] Clause 18. The mobile device of Clause 15, wherein the second indication of candidate float ambiguity accuracy comprises a combination of an SPS signal-to-carrier-to-noise ratio and an elevation angle of a respective one of the satellite sources.
[0157] Clause 19. The mobile device of clause 15, further comprising means for determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combinations of SPS signals corresponds to a plurality of frequency bands, wherein:
[0158] The means for determining the at least a second subset of the plurality of candidate float ambiguity values comprises means for determining the at least a second subset of the plurality of candidate float ambiguity values based on the plurality of combined frequency integer values; and
[0159] The second indication of the candidate float ambiguity accuracy comprises a closeness to a corresponding integer of each value of the at least a second subset of the plurality of candidate float ambiguity values.
[0160] Clause 20. The mobile device of clause 19, further comprising:
[0161] means for determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; and
[0162] means for determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities;
[0163] wherein the means for determining the at least a second subset of the plurality of candidate float ambiguity values comprises means for determining the at least a second subset of the plurality of candidate float ambiguity values as the updated individual frequency band float ambiguities each being within a proximity threshold of a respective integer in response to at least a threshold amount of the updated individual frequency band float ambiguities each being within a proximity threshold of the respective integer.
[0164] Clause 21. The mobile device of clause 15, further comprising:
[0165] means for determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands;
[0166] means for determining a first position estimate for the mobile device based on the plurality of combined frequency integer values;
[0167] means for determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; and
[0168] and means for updating the second position estimate for the mobile device using a third position estimate for the mobile device determined based on the plurality of combined frequency integer values and the second position estimate for the mobile device and the previous individual frequency band float ambiguities and in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer.
[0169] Clause 22. A non-transitory processor-readable storage medium comprising processor-readable instructions for causing one or more processors of a mobile device to:
[0170] Receive multiple satellite positioning system (SPS) signals;
[0171] determining a plurality of candidate floating point ambiguity values for the plurality of SPS signals, the plurality of candidate floating point ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between respective satellite sources of the plurality of SPS signals and the mobile device; and
[0172] In response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate floating point ambiguity values, performing an integer ambiguity search using at least a second subset of the plurality of candidate floating point ambiguity values;
[0173] wherein each candidate float ambiguity value of the at least a second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than a first indication of candidate float ambiguity accuracy corresponding to the at least a first subset of the plurality of candidate float ambiguity values, if any. Clause 23. A non-transitory processor-readable storage medium according to clause 22, wherein the second indication of candidate float ambiguity accuracy comprises an SPS signal-to-carrier-to-noise ratio.
[0174] Clause 24. The non-transitory processor-readable storage medium of Clause 22, wherein the second indication of an accuracy of a candidate floating point ambiguity comprises an altitude angle of a respective one of the satellite sources.
[0175] Clause 25. The non-transitory processor-readable storage medium of Clause 22, wherein the second indication of candidate float ambiguity accuracy comprises a combination of an SPS signal-to-carrier-to-noise ratio and an elevation angle of a corresponding one of the satellite sources.
[0176] Clause 26. The non-transitory processor-readable storage medium of clause 22, further comprising processor-readable instructions for causing the one or more processors to determine a plurality of combined frequency integer values corresponding to a combination of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands, wherein:
[0177] the processor-readable instructions for causing the one or more processors to determine the at least a second subset of the plurality of candidate floating point ambiguity values include processor-readable instructions for causing the one or more processors to determine the at least a second subset of the plurality of candidate floating point ambiguity values based on the plurality of combined frequency integer values; and
[0178] The second indication of the candidate float ambiguity accuracy comprises a closeness to a corresponding integer of each value of the at least a second subset of the plurality of candidate float ambiguity values.
[0179] Clause 27. The non-transitory processor-readable storage medium of clause 26, further comprising processor-readable instructions for causing the one or more processors to:
[0180] determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; and determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities;
[0181] wherein the processor-readable instructions for causing the one or more processors to determine the at least a second subset of the plurality of candidate float ambiguity values comprise instructions for causing the one or more processors to perform operations such as, in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer, determining the at least a second subset of the plurality of candidate float ambiguity values as the updated individual frequency band float ambiguities each within the proximity threshold of the corresponding integer.
[0182] Clause 28. The non-transitory processor-readable storage medium of clause 22, further comprising processor-readable instructions for causing the one or more processors to:
[0183] determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands;
[0184] determining a first position estimate for the mobile device based on the plurality of combined frequency integer values;
[0185] determining an updated individual frequency band float ambiguity based on the first positioning estimate for the mobile device, a second positioning estimate for the mobile device, and previous individual frequency band float ambiguities; and updating the second positioning estimate for the mobile device using a third positioning estimate for the mobile device determined based on the plurality of combined frequency integer values, the second positioning estimate for the mobile device, and the previous individual frequency band float ambiguities and in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer.
[0186] Other considerations
[0187] Other examples and implementations are within the scope of this disclosure and the appended claims. For example, due to the nature of software and computers, the above functions can be implemented using software executed by a processor, hardware, firmware, hard wiring, or any combination thereof. Features that implement the functions can also be physically located at different locations, including being distributed so that parts of the functions are implemented at different physical locations.
[0188] As used herein, the singular forms "a", "an", and "the" also include the plural forms unless the context clearly indicates otherwise. Therefore, a device referred to in the singular form (e.g., "device", "the / the device"), included in the claims, includes at least one (i.e., one or more) of such devices (e.g., "processor" includes at least one processor (e.g., one processor, two processors, etc.), "the / the processor" includes at least one processor, "memory" includes at least one memory, "the / the memory" includes at least one memory, etc.). The phrases "at least one" and "one or more" are used interchangeably, and so that "at least one" referent and "one or more" referent include specific implementations with one referent and specific implementations with multiple referents. For example, "at least one processor" and "one or more processors" each include specific implementations with one processor and specific implementations with multiple processors.
[0189] Likewise, as used herein, “or” used in a list of items (possibly followed by “at least one of” or “one or more of”) indicates a disjunctive list, so that, for example, a list of “at least one of A, B, or C,” or a list of “one or more of A, B, or C,” or a list of “A or B or C” means A or B or C, or AB (A and B), or AC (A and C), or BC (B and C), or ABC (i.e., A and B and C), or a combination having more than one feature (e.g., AA, AAB, ABBC, etc.). Thus, a statement that an item (e.g., a processor) is configured to perform a function with respect to at least one of A or B, or a statement that an item is configured to perform function A or function B means that the item may be configured to perform a function with respect to A, or may be configured to perform a function with respect to B, or may be configured to perform functions with respect to both A and B. For example, the phrase "a processor configured to measure at least one of A or B" or "a processor configured to measure A or measure B" means that the processor may be configured to measure A (and may or may not be configured to measure B), or may be configured to measure B (and may or may not be configured to measure A), or may be configured to measure A and measure B (and may be configured to select which of A and B to measure or both). Similarly, a statement about a component for measuring at least one of A or B includes: a component for measuring A (which may or may not be able to measure B), or a component for measuring B (and may or may not be configured to measure A), or a component for measuring A and B (which may be able to select which of A and B to measure or both). As another example, a statement that an item (e.g., a processor) is configured to perform at least one of function X or to perform function Y means that the item may be configured to perform function X, or may be configured to perform function Y, or may be configured to perform function X and perform function Y. For example, the phrase "a processor configured to measure at least one of X or Y" means that the processor may be configured to measure X (and may or may not be configured to measure Y), or may be configured to measure Y (and may or may not be configured to measure X), or may be configured to measure X and measure Y (and may be configured to select which one or both of X and Y to measure).
[0190] As used herein, unless otherwise stated, a statement that a function or operation is "based on" an item or condition means that the function or operation is based on the stated item or condition, and may be based on one or more items and / or conditions other than the stated item or condition.
[0191] Substantial changes may be made according to specific requirements. For example, customized hardware may also be used, and / or specific elements may be implemented in hardware, in software (including portable software, such as applets, etc.) executed by a processor, or in both. In addition, connections with other computing devices such as network input / output devices may be employed. Unless otherwise indicated, components (functional or otherwise) shown in the figures and / or discussed herein as being connected or communicating with each other are communicatively coupled. That is, these components may be connected directly or indirectly to enable communication between them.
[0192] The systems and devices discussed above are examples. Various configurations may appropriately omit, replace, or add various procedures or components. For example, features described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of a configuration may be combined in a similar manner. In addition, technology is constantly evolving, and therefore many elements are examples and do not limit the scope of the present disclosure or claims.
[0193] A wireless communication system is a system in which communications are transmitted wirelessly between wireless communication devices, i.e., by propagation of electromagnetic waves and / or sound waves through atmospheric space rather than by wires or other physical connections. A wireless communication system (also referred to as a wireless communication system, a wireless communication network, or a wireless communication network) may not have all communications transmitted wirelessly, but may be configured to have at least some communications transmitted wirelessly. In addition, the term "wireless communication device" or similar terms does not require that the functionality of the device be used exclusively or even primarily for communication, that communications using the wireless communication device be exclusively or even primarily wireless, or that the device be a mobile device, but rather indicates that the device includes wireless communication capabilities (unidirectional or bidirectional), for example, including at least one radio component (each radio component being part of a transmitter, receiver, or transceiver) for wireless communication.
[0194] Specific details are given in the description of this article to provide a thorough understanding of example configurations (including specific implementations). However, configurations can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary details to avoid confusing these configurations. The description of this article provides example configurations without limiting the scope, applicability, or configuration of the claims. On the contrary, the previous description of the configuration provides a description for implementing the described technology. Various changes can be made to the function and arrangement of the elements.
[0195] As used herein, the terms "processor-readable medium," "machine-readable medium," and "computer-readable medium" refer to any medium that participates in providing data that causes a machine to operate in a particular manner. Using a computing platform, various processor-readable media may be involved in providing instructions / codes to a processor for execution, and / or may be used to store and / or carry such instructions / codes (e.g., as signals). In many specific implementations, processor-readable media are physical and / or tangible storage media. Such media may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media include, for example, optical disks and / or magnetic disks. Volatile media include, but are not limited to, dynamic memory.
[0196] After describing several example configurations, various modifications, alternative constructions, and equivalents may be used. For example, the above elements may be components of a larger system, in which other rules may take precedence over the application of the present disclosure or otherwise modify the application of the present disclosure. In addition, several operations may be taken before, during, or after considering the above elements. Accordingly, the above description does not limit the scope of the claims.
[0197] Unless otherwise indicated, "approximately" and / or "about" as used herein in reference to a measurable value (such as an amount, a duration of time, etc.) encompasses variations of ±20% or ±10%, ±5%, or +0.1% from the specified value, as appropriate in the context of the systems, devices, circuits, methods, and other specific implementations described herein. Unless otherwise indicated, "substantially" as used herein in reference to a measurable value (such as an amount, a duration of time, a physical property (such as frequency), etc.) also encompasses variations of ±20% or ±10%, ±5%, or +0.1% from the specified value, as appropriate in the context of the systems, devices, circuits, methods, and other specific implementations described herein.
[0198] A statement that a value exceeds (or is greater than or above) a first threshold is equivalent to a statement that the value meets or exceeds a second threshold that is slightly greater than the first threshold, e.g., the second threshold is one value higher than the first threshold at the resolution of the computing system. A statement that a value is less than (or within or below) a first threshold is equivalent to a statement that the value is less than or equal to a second threshold that is slightly less than the first threshold, e.g., the second threshold is one value lower than the first threshold at the resolution of the computing system.
Claims
1. A mobile device, comprising: a satellite positioning system receiver configured to receive a plurality of satellite positioning system (SPS) signals; Memory; and a processor communicatively coupled to the satellite positioning system receiver and to the memory, wherein the processor is configured to: determining a plurality of candidate floating point ambiguity values for the plurality of SPS signals, the plurality of candidate floating point ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between corresponding satellite sources of the plurality of SPS signals and the mobile device; as well as In response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate floating point ambiguity values, performing an integer ambiguity search using at least a second subset of the plurality of candidate floating point ambiguity values; wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than the first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any.
2. The mobile device of claim 1 , wherein the second indication of candidate float ambiguity accuracy comprises an SPS signal-to-carrier-to-noise ratio.
3. The mobile device of claim 1 , wherein the second indication of an accuracy of a candidate float ambiguity comprises an altitude angle of a corresponding one of the satellite sources.
4. The mobile device of claim 1 , wherein the second indication of candidate float ambiguity accuracy comprises a combination of an SPS signal-to-carrier-to-noise ratio and an elevation angle of a corresponding one of the satellite sources.
5. The mobile device of claim 1 , wherein the processor is configured to: determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands; as well as determining the at least a second subset of the plurality of candidate floating ambiguity values based on the plurality of combined frequency integer values; wherein the second indication of the accuracy of the candidate floating point ambiguity values comprises a closeness to a corresponding integer of each value of the at least a second subset of the plurality of candidate floating point ambiguity values.
6. The mobile device of claim 5, wherein the processor is configured to: determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; and determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; and In response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer, determining the at least a second subset of the plurality of candidate float ambiguity values as the updated individual frequency band float ambiguities each within the proximity threshold of the corresponding integer.
7. The mobile device of claim 1, wherein the processor is configured to: determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands; determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; as well as The second positioning estimate for the mobile device is updated using a third positioning estimate for the mobile device determined based on the plurality of combined frequency integer values and the second positioning estimate for the mobile device and the previous individual frequency band float ambiguities and in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer.
8. An integer ambiguity resolution method, the integer ambiguity resolution method comprising: receiving a plurality of satellite positioning system (SPS) signals at a mobile device; determining a plurality of candidate floating point ambiguity values for the plurality of SPS signals, the plurality of candidate floating point ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between corresponding satellite sources of the plurality of SPS signals and the mobile device; as well as In response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate floating point ambiguity values, performing an integer ambiguity search using at least a second subset of the plurality of candidate floating point ambiguity values; wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than the first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any.
9. The integer ambiguity resolution method of claim 8, wherein the second indication of the accuracy of the candidate float ambiguity comprises an SPS signal-to-carrier-to-noise ratio.
10. The integer ambiguity resolution method of claim 8, wherein the second indication of the accuracy of the candidate float ambiguity comprises an altitude angle of a corresponding one of the satellite sources.
11. The integer ambiguity resolution method of claim 8, wherein the second indication of the accuracy of the candidate float ambiguity comprises a combination of an SPS signal-to-carrier-to-noise ratio and an altitude angle of a corresponding one of the satellite sources.
12. The integer ambiguity resolution method according to claim 8, further comprising: determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands, wherein: determining the at least a second subset of the plurality of candidate float ambiguity values comprises determining the at least a second subset of the plurality of candidate float ambiguity values based on the plurality of combined frequency integer values; and The second indication of the candidate float ambiguity accuracy comprises a closeness to a corresponding integer of each value of the at least a second subset of the plurality of candidate float ambiguity values.
13. The integer ambiguity resolution method according to claim 12, further comprising: determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; as well as determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; wherein determining the at least a second subset of the plurality of candidate float ambiguity values comprises, in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer, determining the at least a second subset of the plurality of candidate float ambiguity values as the updated individual frequency band float ambiguities each being within the proximity threshold of the corresponding integer.
14. The integer ambiguity resolution method according to claim 8, further comprising: determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands; determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; as well as The second positioning estimate for the mobile device is updated using a third positioning estimate for the mobile device determined based on the plurality of combined frequency integer values and the second positioning estimate for the mobile device and the previous individual frequency band float ambiguities and in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer.
15. A mobile device, comprising: Components for receiving multiple satellite positioning system (SPS) signals; means for determining a plurality of candidate floating point ambiguity values for the plurality of SPS signals, the plurality of candidate floating point ambiguity values indicating floating point numbers of carrier signal wavelengths of the plurality of SPS signals between their respective satellite sources and the mobile device; as well as means for performing an integer ambiguity search using at least a second subset of the plurality of candidate floating point ambiguity values in response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate floating point ambiguity values; wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than the first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any.
16. The mobile device of claim 15, wherein the second indication of candidate float ambiguity accuracy comprises an SPS signal-to-carrier-to-noise ratio.
17. The mobile device of claim 15, wherein the second indication of an accuracy of a candidate float ambiguity comprises an altitude angle of a corresponding one of the satellite sources.
18. The mobile device of claim 15, wherein the second indication of candidate float ambiguity accuracy comprises a combination of an SPS signal-to-carrier-to-noise ratio and an elevation angle of a corresponding one of the satellite sources.
19. The mobile device of claim 15, further comprising means for determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combinations of SPS signals corresponds to a plurality of frequency bands, wherein: said means for determining said at least a second subset of said plurality of candidate floating ambiguity values comprises means for determining said at least a second subset of said plurality of candidate floating ambiguity values based on said plurality of combined frequency integer values; and The second indication of the candidate float ambiguity accuracy comprises a closeness to a corresponding integer of each value of the at least a second subset of the plurality of candidate float ambiguity values.
20. The mobile device of claim 19, further comprising: means for determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; and means for determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; wherein the means for determining the at least a second subset of the plurality of candidate float ambiguity values comprises means for determining the at least a second subset of the plurality of candidate float ambiguity values as the updated individual frequency band float ambiguities each being within a proximity threshold of a respective integer in response to at least a threshold amount of the updated individual frequency band float ambiguities each being within a proximity threshold of the respective integer.
21. The mobile device of claim 15, further comprising: means for determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands; means for determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; means for determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; and and means for updating the second position estimate for the mobile device using a third position estimate for the mobile device determined based on the plurality of combined frequency integer values and the second position estimate for the mobile device and the previous individual frequency band float ambiguities and in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer.
22. A non-transitory processor-readable storage medium comprising processor-readable instructions for causing one or more processors of a mobile device to: Receive multiple satellite positioning system (SPS) signals; determining a plurality of candidate floating ambiguity values for the plurality of SPS signals, the plurality of candidate floating ambiguity values indicating floating numbers of carrier signal wavelengths of the plurality of SPS signals between corresponding satellite sources of the plurality of SPS signals and the mobile device; as well as In response to a failure of an integer ambiguity resolution validation check based on at least a first subset of the plurality of candidate floating point ambiguity values, performing an integer ambiguity search using at least a second subset of the plurality of candidate floating point ambiguity values; wherein each candidate float ambiguity value of the at least second subset of the plurality of candidate float ambiguity values corresponds to a second indication of candidate float ambiguity accuracy that is higher than the first indication of candidate float ambiguity accuracy corresponding to the at least first subset of the plurality of candidate float ambiguity values, if any.
23. The non-transitory processor-readable storage medium of claim 22, wherein the second indication of candidate floating point ambiguity accuracy comprises an SPS signal-to-carrier-to-noise ratio.
24. The non-transitory processor-readable storage medium of claim 22, wherein the second indication of an accuracy of a candidate floating point ambiguity comprises an altitude angle of a corresponding one of the satellite sources.
25. The non-transitory processor-readable storage medium of claim 22, wherein the second indication of candidate float ambiguity accuracy comprises a combination of an SPS signal-to-carrier-to-noise ratio and an elevation angle of a corresponding one of the satellite sources.
26. The non-transitory processor-readable storage medium of claim 22, further comprising processor-readable instructions for causing the one or more processors to determine a plurality of combined frequency integer values corresponding to a combination of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands, wherein: the processor-readable instructions for causing the one or more processors to determine the at least a second subset of the plurality of candidate floating point ambiguity values include processor-readable instructions for causing the one or more processors to determine the at least a second subset of the plurality of candidate floating point ambiguity values based on the plurality of combined frequency integer values; and The second indication of the candidate float ambiguity accuracy comprises a closeness to a corresponding integer of each value of the at least a second subset of the plurality of candidate float ambiguity values.
27. The non-transitory processor-readable storage medium of claim 26, further comprising processor-readable instructions for causing the one or more processors to: determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; and determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; wherein the processor-readable instructions for causing the one or more processors to determine the at least a second subset of the plurality of candidate float ambiguity values comprise instructions for causing the one or more processors to perform operations such as, in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer, determining the at least a second subset of the plurality of candidate float ambiguity values as the updated individual frequency band float ambiguities each within the proximity threshold of the corresponding integer.
28. The non-transitory processor-readable storage medium of claim 22, further comprising processor-readable instructions for causing the one or more processors to: determining a plurality of combined frequency integer values corresponding to combinations of SPS signals in the plurality of SPS signals, wherein each SPS signal in the combination of SPS signals corresponds to a plurality of frequency bands; determining a first position estimate for the mobile device based on the plurality of combined frequency integer values; determining updated individual frequency band float ambiguities based on the first position estimate for the mobile device, a second position estimate for the mobile device, and previous individual frequency band float ambiguities; as well as The second positioning estimate for the mobile device is updated using a third positioning estimate for the mobile device determined based on the plurality of combined frequency integer values and the second positioning estimate for the mobile device and the previous individual frequency band float ambiguities and in response to at least a threshold amount of the updated individual frequency band float ambiguities being each within a proximity threshold of a corresponding integer.