Cooperative positioning with multiple global navigation satellite system receivers
By integrating measurement data between GNSS receivers and utilizing antenna baseline vectors and carrier phase values, the positioning error problem of GNSS receivers in weak signal conditions is resolved, achieving faster positioning accuracy convergence and improved robustness.
Patent Information
- Application Number
- CN202480011159.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-02-13
- Filing Date
- 2024-01-05
- Publication Date
- 2025-09-05
AI Technical Summary
Under weak signal conditions, the positioning accuracy of Global Navigation Satellite System (GNSS) receivers is significantly reduced, with cycle slip errors and integer ambiguity resolution errors occurring, resulting in positioning errors reaching tens to several meters, and difficult to recover quickly under limited availability.
By determining the antenna baseline vector between two GNSS receivers, integrating the measurement data, and using fixed integer ambiguity states and carrier phase values, the cycle slip error is corrected and the positioning accuracy convergence speed is improved.
It reduces the fixed error of the whole cycle ambiguity error, improves the carrier phase cycle slip detection and repair, shortens the positioning accuracy convergence time, and improves the robustness and positioning accuracy of the GNSS receiver.
Smart Images

Figure CN120604145A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. patent application Ser. No. 18 / 168,102, filed on February 13, 2023, entitled “COOPERATIVE POSITIONING WITH MULTIPLE GLOBAL NAVIGATION SATELLITE SYSTEM RECEIVERS,” which is assigned to the assignee of the present application and is incorporated herein by reference in its entirety for all purposes. Technical Field
[0003] The subject matter disclosed herein relates generally to satellite-based positioning systems, and in particular to systems and methods for integrating Global Navigation Satellite System (GNSS) receiver measurements between two or more GNSS receivers. Background Art
[0004] The Global Positioning System (GPS) is an example of a GNSS navigation system, in which a receiver determines its position by precisely measuring the arrival times of signaling events received from multiple satellites. Each satellite transmits a navigation message containing the precise time of transmission and ephemeris information. GNSS accuracy can degrade significantly under weak signal conditions, such as when the line of sight (LOS) of a satellite vehicle is blocked by natural or man-made objects. In some cases, weak signals can cause cycle slips and impair integer ambiguity resolution (IAR) in GNSS receivers. Such errors can induce absolute positioning errors on the order of tens of meters (e.g., up to 50 meters) and relative positioning errors on the order of several meters. Furthermore, the limited availability of good GNSS measurements can further degrade accuracy. For example, for GNSS measurements that use carrier phase for higher accuracy, positioning accuracy depends on maintaining a constant lock. Techniques for rapidly resolving IAR and repairing cycle slip failures can improve the accuracy and robustness of GNSS receivers. Summary of the Invention
[0005] An example method for generating a false fix indication based on measurements from multiple global navigation satellite system (GNSS) receivers according to the present disclosure includes: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver at a first time; determining a second position estimate and a second IAR state using the second GNSS receiver at approximately the first time; calculating a horizontal offset value based on the antenna baseline vector and based on a difference between the first position estimate and the second position estimate; and generating the false fix indication in response to the first IAR state being fixed, the second IAR state being fixed, and the horizontal offset value being greater than a threshold.
[0006] An example method for fixing a cycle slip error in a global navigation satellite system (GNSS) receiver according to the present disclosure includes: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining a first position estimate and a first integer ambiguity resolution (IAR) state with the first GNSS receiver at a first time; determining a second position estimate and a second IAR state with the second GNSS receiver at approximately the first time; determining a carrier phase value in the first GNSS receiver in response to the first IAR state being fixed and the second IAR state being floating; and fixing the cycle slip error in the second GNSS receiver based at least in part on the carrier phase value and the antenna baseline vector.
[0007] An example method for improving positioning accuracy convergence in two global navigation satellite system (GNSS) receivers according to the present disclosure includes: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining a first position estimate and a first integer ambiguity resolution (IAR) state with the first GNSS receiver; and providing the first position estimate and the antenna baseline vector to the second GNSS receiver in response to the first IAR state being fixed.
[0008] The items and / or techniques described herein may provide one or more of the following capabilities, as well as other capabilities not mentioned. Two or more GNSS receivers may receive satellite signals and generate a positioning estimate. An antenna baseline vector may be determined based on the relative geometry of the GNSS receiver antennas. GNSS measurement data obtained by the respective GNSS receivers may be integrated based at least in part on the antenna baseline vector. The resulting positioning performance may be enhanced such that the occurrence of IAR false fix errors may be reduced, and carrier phase cycle slip detection and repair may be improved. In some implementations, the time required for the positioning accuracy of the GNSS measurements in the respective GNSS receivers may be reduced, and the time required to determine the vehicle heading to perform an alignment process with an inertial measurement unit (IMU) may be reduced. Other capabilities may be provided, and not every implementation according to the present disclosure necessarily provides any, let alone all, of the capabilities discussed. 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 the components of the server.
[0013] Figure 5 is a block diagram of an example on-board unit.
[0014] Figure 6 is a block diagram of an example Global Navigation Satellite System (GNSS) receiver.
[0015] 7A is a block diagram of multiple GNSS receivers configured for individual positioning.
[0016] Figure 7B is a block diagram of multiple GNSS receivers for co-positioning.
[0017] Figure 8 is an illustration of the relative geometry between two example GNSS receiver antennas in a vehicle.
[0018] Figure 9 is an example diagram of detecting false fixes based on measurements from multiple GNSS receivers.
[0019] Figure 10 is a process flow message of an example method for determining antenna baseline vectors for two GNSS receivers.
[0020] Figure 11 are process flow messages for an example method for generating a false fix indication based on measurements from multiple GNSS receivers.
[0021] Figure 12 is a process flow message of an example method for fixing cycle slip errors in a GNSS receiver.
[0022] Figure 13 is a process flow message of an example method for improving positioning accuracy convergence in two GNSS receivers. DETAILED DESCRIPTION
[0023] This article discusses techniques for integrating GNSS measurements between two or more GNSS receivers and their corresponding antenna modules. Precise positioning technologies such as Precise Point Positioning (PPP) and Real-Time Kinematic (RTK) positioning are increasingly being implemented in commercial use cases such as smartphones and cars. These technologies are capable of achieving decimeter- or centimeter-level positioning, but positioning accuracy can be significantly degraded in challenging environments. For example, integer ambiguity resolution (IAR) can result in erroneous integer fixes, cycle slip repair failures can lead to loss of fixed ambiguity information, and IAR fix convergence or reconvergence can be degraded due to a lack of valid GNSS measurements.
[0024] In a vehicle-based use case, users can access GNSS information for vehicle navigation. Users can choose to utilize a smartphone with a GNSS receiver and a navigation app (e.g., Google Maps, Waze, etc.), or a vehicle-based navigation system. In one example, the output of the smartphone's navigation system can be displayed on a screen within the vehicle, allowing the vehicle operator to view the navigation solution generated by the smartphone (e.g., Apple CarPlay, Android Auto, etc.). However, this functionality does not integrate the satellite signals measured or the positioning results generated by both the smartphone's GNSS system and the vehicle's GNSS system.
[0025] The co-location technology described herein can leverage the capabilities of multiple GNSS receivers to improve receiver robustness and positioning accuracy. In an example, the first GNSS receiver can be a vehicle-based GNSS system including a fixed external antenna, and the second GNSS receiver can be a user equipment (UE) (e.g., a smartphone) with an integrated antenna module. An antenna baseline vector can be determined based on the geometry between the antenna modules of the respective GNSS receivers. GNSS measurement data obtained by the respective vehicle and UE GNSS systems can be integrated based, at least in part, on the antenna baseline vector. The resulting positioning performance can be enhanced, such as reducing the occurrence of IAR false fix errors, improving carrier phase cycle slip detection and repair, reducing the time required for convergence of positioning accuracy of GNSS measurements in challenging environments, and reducing the time required to determine vehicle heading and perform alignment procedures with an inertial measurement unit (IMU). The vehicle-based GNSS receiver and the UE can be configured to exchange data via various signaling technologies, such as existing automated software interfaces (e.g., Apple CarPlay, Android Auto, Honda HandFree, etc.). Other signaling technologies, such as binary and ASCII-based protocols, can also be used.
[0026] The description may recite a sequence of actions to be performed, for example, by elements of a computing device. The various actions described herein can be performed by dedicated circuitry (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 stored thereon a corresponding set of computer instructions that, when executed, cause an associated processor to perform the functionality described herein. Thus, the various aspects described herein may be implemented in a number of different forms, all of which fall within the scope of the present disclosure, including the claimed subject matter.
[0027] As used herein, the terms "user equipment" (UE) and "base station" are not specific to or otherwise limited to any particular radio access technology (RAT), unless otherwise specified. Generally speaking, such a UE can be any wireless communication device (e.g., a mobile phone, router, tablet, laptop, consumer asset tracking device, Internet of Things (IoT) device, on-board unit (OBU)), etc.) used by a user to communicate on a wireless communication network. A UE can be mobile or 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," "wireless node," "subscriber device," "subscriber terminal," "subscriber station," "user terminal" or UT, "mobile terminal," "mobile station," "mobile device," or variations thereof. A UE located in a vehicle may be referred to as an on-board unit (OBU). Generally speaking, 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 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 WiFi network (eg, based on IEEE (Institute of Electrical and Electronics Engineers) 802.11, etc.), and the like.
[0028] Depending on the network in which a base station is deployed, it 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 generalized NodeBs (gNodeBs, gNBs). Furthermore, 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.
[0029] A UE can be implemented using 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 smartphone, a tablet, a consumer asset tracking device, an asset tag, and the like. 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)" can refer to either an uplink / reverse traffic channel or a downlink / forward traffic channel.
[0030] As used herein, the term "cell" or "sector" may correspond to one of a plurality of cells of a base station or to the base station itself, depending on the context. 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 between adjacent cells operating via the same or different carriers (e.g., a physical cell identifier (PCID), a virtual cell identifier (VCID)). In some examples, a carrier may support multiple cells, and different cells may be configured according to different protocol types (e.g., machine type communication (MTC), narrowband Internet of Things (NB-IoT), enhanced mobile broadband (eMBB), or other protocol types) that can provide access to different types of devices. In some examples, the term "cell" may refer to a portion of the geographic coverage area (e.g., a sector) over which the logical entity operates.
[0031] refer to Figure 1 An example of a communication system 100 includes UEs 105 and 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. UEs 105 and / or 106 may be, for example, IoT devices, location tracker devices, cellular phones, vehicles (e.g., cars, trucks, buses, boats, etc.), or other devices. 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 NR RAN; and 5GC 140 may be referred to as an NG core network (NGC). Standardization of the NG-RAN and 5GC is ongoing within the Third Generation Partnership Project (3GPP). Accordingly, NG-RAN 135 and 5GC 140 may conform to current or future standards from 3GPP for 5G support. NG-RAN 135 may be another type of RAN, such as a 3G RAN, a 4G Long Term Evolution (LTE) RAN, or the like. 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 shown in FIG. Figure 1Such signaling is not indicated in FIG. Similarly, for simplicity, the discussion focuses on UE 105. 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 the Global Positioning System (GPS), the 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 the Wide Area Augmentation System (WAAS). Additional components of communication system 100 are described below. Communication system 100 may include additional or alternative components.
[0032] like Figure 1 As shown, NG-RAN 135 includes NR nodeBs (gNBs) 110a and 110b and a next-generation eNodeB (ng-eNB) 114, and 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. gNBs 110a, 110b, and ng-eNB 114 are communicatively coupled to one another and are each configured for bidirectional wireless communication with a UE 105. They are also communicatively coupled to and configured for bidirectional communication with the AMF 115. gNBs 110a, 110b, and ng-eNB 114 may be referred to as base stations (BSs). AMF 115, SMF 117, LMF 120, and GMLC 125 are communicatively coupled to one another, and the GMLC is communicatively coupled to an external client 130. The SMF 117 may serve as the initial contact point for a service control function (SCF) (not shown) to create, control, and delete media sessions. A base station (such as gNBs 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 communicate with a short-range technology (e.g., WiFi, WiFi Direct (WiFi-D), Bluetooth ® ,Bluetooth ® 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 based on the base station antennas.
[0033] Figure 1 A generalized illustration of various components is provided, any or all of which may be utilized as appropriate, and individual components may be repeated or omitted as needed. Specifically, although a single UE 105 is illustrated, many UEs (e.g., hundreds, thousands, millions, etc.) may be utilized in communication system 100. Similarly, communication system 100 may include a greater (or smaller) number of SVs (i.e., more or less than the four SVs 190-193 shown), gNB 110a, gNB 110b, ng-eNB 114, AMF 115, external clients 130, and / or other components. The illustrated connections connecting various components in 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. Furthermore, various components may be rearranged, combined, separated, replaced, and / or omitted depending on the desired functionality.
[0034] Although Figure 1 A 5G-based network is illustrated, but similar network implementations and configurations may be used for other communication technologies, such as 3G, Long Term Evolution (LTE), etc. Implementations described herein (which may be used for 5G technologies and / or for one or more other communication technologies and / or protocols) may be used to transmit (or broadcast) directional synchronization signals, receive and measure the directional signals at a UE (e.g., UE 105), and / or provide location assistance to the UE 105 (via the GMLC 125 or other location server), and / or calculate the position of the UE 105 at a device with positioning capabilities (such as the UE 105, gNB 110a, gNB 110b, or LMF 120) based on measurements of such directionally transmitted signals received at the UE 105. The gateway mobile location center (GMLC) 125, location management function (LMF) 120, access and mobility management function (AMF) 115, SMF 117, ng-eNB (eNodeB) 114 and gNB (gNodeB) 110a, 110b are examples and may be replaced by or include various other location server functionality and / or base station functionality, respectively, in various embodiments.
[0035] System 100 is capable of wireless communication because the various components of system 100 can communicate with each other directly or indirectly (at least sometimes using wireless connections), for example, via gNBs 110a, 110b, ng-eNBs 114, and / or 5GCs 140 (and / or one or more other devices (not shown), such as one or more other base transceiver stations). For indirect communication, the communication may be modified during transmission from one entity to another, for example, to change header information, alter the format of a data packet, etc. UE 105 may include multiple UEs and may be a mobile wireless communication device, but may communicate both wirelessly and via wired connections. UE 105 may be any of a variety of devices, such as a smartphone, tablet, or vehicle-based device, but these are merely examples, as UE 105 need not be in any of these configurations, and other UE configurations may be used. Other UEs may include wearable devices (e.g., smart watches, smart jewelry, smart glasses, or head-mounted devices). Other UEs, whether currently existing or developed in the future, may also be used. In addition, other wireless devices (whether mobile or not) may be implemented within the system 100 and may communicate with each other and / or with the UE 105, gNBs 110a, 110b, ng-eNB 114, 5GC 140, and / or external clients 130. For example, such other devices may include Internet of Things (IoT) devices, medical devices, home entertainment and / or automation devices, etc. The 5GC 140 may communicate with the external client 130 (e.g., a computer system), for example, to allow the external client 130 (e.g., via the GMLC 125) to request and / or receive location information about the UE 105.
[0036] The UE 105 or other device may be configured to communicate in various networks and / or for various purposes and / or using various technologies (e.g., 5G, Wi-Fi communication, multi-frequency Wi-Fi communication, satellite positioning, one or more types of communication (e.g., GSM (Global System for Mobile), CDMA (Code Division Multiple Access), LTE (Long Term Evolution), V2X (Vehicle to Vehicle, e.g., V2P (vehicle to pedestrian), V2I (vehicle to infrastructure), V2V (vehicle to vehicle), etc.), IEEE 802.11p, etc.). V2X communication can be cellular (Cellular-V2X (C-V2X)) and / or WiFi (e.g., DSRC (Dedicated Short Range Connectivity)). System 100 can support operation on multiple carriers (waveform signals of different frequencies). A multi-carrier transmitter can simultaneously transmit modulated signals on multiple carriers. Each modulated signal can be a code division multiple access (CDMA) signal, a time division multiple access (TDMA) signal, an orthogonal frequency division multiple access (OFDMA) signal, a single-carrier frequency division multiple access (SC-FDMA) signal, or the like. Each modulated signal can be transmitted on a different carrier and can carry pilots, overhead information, data, etc. UEs 105 and 106 can communicate with each other via UE-to-UE sidelink (SL) communication by transmitting on one or more sidelink (SL) channels, such as a physical sidelink synchronization channel (PSSCH), a physical sidelink broadcast channel (PSBCH), or a physical sidelink control channel (PSCCH).
[0037] 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. Typically, although not required, UE 105 may utilize one or more radio access technologies (RATs) to support wireless communications, such as Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), LTE, High Rate Packet Data (HRPD), IEEE 802.11 WiFi (also known as Wi-Fi), Bluetooth ®(BT), Worldwide Interoperability for Microwave Access (WiMAX), 5G New Radio (NR) (e.g., using NG-RAN 135 and 5GC 140), etc. UE 105 may use a wireless local area network (WLAN) to support wireless communications, which may be connected to other networks (e.g., the Internet) using, for example, a digital subscriber line (DSL) or packet cable. Using one or more of these RATs may allow UE 105 (e.g., via elements of 5GC 140 ( Figure 1 125), or possibly via the GMLC 125) to communicate with the external client 130 and / or allow the external client 130 to receive location information about the UE 105 (eg, via the GMLC 125).
[0038] The UE 105 may comprise a single entity or may comprise multiple entities, such as in a personal area network where a user may employ audio, video, and / or data I / O (input / output) devices, and / or body sensors, as well as separate wired or wireless modems. The estimate of the location of the UE 105 may be referred to as location, location estimate, location fix, fix, position, position estimate, or position fix, and may be geographic, providing location coordinates (e.g., latitude and longitude) of the 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 the UE 105 may be expressed as a civic 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 the UE 105 may be expressed as an area or volume (geographically or civically defined) within which the 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 can be expressed as a relative location, which includes, for example, a distance and a direction relative to a known location. The relative location can be expressed as relative coordinates (e.g., X, Y (and Z) coordinates) defined relative to some origin at a known location, which can be defined, for example, geographically, municipally, 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 variations unless otherwise indicated. When calculating the location of the UE, local x, y, and (possibly) z coordinates are typically solved for, and then (if necessary) the local coordinates are converted to absolute coordinates (e.g., in terms of latitude, longitude, and altitude above or below mean sea level).
[0039] The UE 105 may be configured to communicate with other entities using one or more of a variety of technologies. The UE 105 may be configured to connect indirectly to one or more communication networks via one or more device-to-device (D2D) peer-to-peer (P2P) links. The D2D P2P links may be supported using any suitable D2D radio access technology (RAT), such as LTE Direct (LTE-D), WiFi Direct (WiFi-D), Bluetooth ® Etc. One or more UEs in a group of UEs utilizing D2D communication 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. Other UEs in the group may be outside of such geographic coverage area or otherwise unable to receive transmissions from the base station. A group of UEs communicating via D2D communication may utilize a one-to-many (1:M) system, in which each UE may transmit to other UEs in the group. The TRP may facilitate the scheduling of resources for D2D communication. In other cases, D2D communication may be performed between UEs without involving a TRP. One or more UEs in a group of UEs utilizing D2D communication may be located within the geographic coverage area of a TRP. Other UEs in the group may be outside of such geographic coverage area or otherwise unable to receive transmissions from the base station. A group of UEs communicating via D2D communication may utilize a one-to-many (1:M) system, in which each UE may transmit to other UEs in the group. The TRP may facilitate the scheduling of resources for D2D communication. In other cases, D2D communication may be performed between UEs without involving a TRP.
[0040] Figure 1 The base stations (BSs) in the NG-RAN 135 shown include NR Node Bs (referred to as gNBs 110a and 110b). Each pair of gNBs 110a and 110b in the NG-RAN 135 may be connected to each other via one or more other gNBs. Access to the 5G network is provided to the UE 105 via wireless communications between the UE 105 and one or more of the gNBs 110a and 110b. These gNBs may provide wireless communications access to the 5GC 140 on behalf of the UE 105 using 5G. Figure 1 , it is assumed that the serving gNB for UE 105 is gNB 110a, but another gNB (e.g., gNB 110b) can serve as the serving gNB if UE 105 moves to another location, or can serve as a secondary gNB to provide additional throughput and bandwidth to UE 105.
[0041] Figure 1The illustrated base station (BS) in NG-RAN 135 may include ng-eNB 114, also known as a next-generation evolved Node B. ng-eNB 114 may be connected to one or more of gNBs 110a, 110b in NG-RAN 135, possibly via one or more other gNBs and / or one or more other ng-eNBs. ng-eNB 114 may provide LTE radio access and / or evolved LTE (eLTE) radio access to UE 105. One or more of gNB 110a, gNB 110b, and / or ng-eNB 114 may be configured to function as a positioning-only beacon, which may transmit signals to assist in determining the location of UE 105 but may not receive signals from UE 105 or other UEs.
[0042] Each of gNBs 110a, 110b, and / or ng-eNB 114 may include one or more TRPs. For example, each sector within a cell of a BS may include a TRP, but multiple TRPs may share one or more components (e.g., a shared processor but separate antennas). System 100 may include only macro TRPs, or system 100 may have different types of TRPs, such as macro TRPs, pico TRPs, and / or femto TRPs. A macro TRP may cover a relatively large geographic area (e.g., a radius of several kilometers) and may allow unrestricted access by terminals with service subscriptions. A pico TRP may cover a relatively small geographic area (e.g., a pico cell) and may allow unrestricted access by terminals with service subscriptions. A femto or home TRP may cover a relatively small geographic area (e.g., a femto cell) and may allow restricted access by terminals associated with the femto cell (e.g., terminals of users in a home).
[0043] Each of 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, gNB 110b includes RU 111, DU 112, and CU 113. RU 111, DU 112, and CU 113 divide the functionality of gNB 110b. Although gNB 110b is shown with a single RU, a single DU, and a single CU, a gNB may include one or more RUs, one or more DUs, and / or one or more CUs. The interface between CU 113 and DU 112 is referred to as the F1 interface. RU 111 is configured to perform digital front-end (DFE) functions (e.g., analog-to-digital conversion, filtering, power amplification, transmit / receive) and digital beamforming) and includes a portion of the physical (PHY) layer. RU 111 may implement DFE using massive multiple-input / multiple-output (MIMO) and may be integrated with one or more antennas of gNB 110b. DU 112 hosts the radio link control (RLC), medium access control (MAC), and physical layers of gNB 110b. A DU can support one or more cells, with each cell 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, and more, although some functions are assigned only 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 the RRC, SDAP, and PDCP layers, with DU 112 via the RLC, MAC, and PHY layers, and with RU 111 via the PHY layer.
[0044] As pointed out, 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 radio access to a 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.
[0045] gNBs 110a, 110b, and ng-eNB 114 may communicate with AMF 115; for positioning functionality, the AMF communicates with LMF 120. AMF 115 may support mobility of UE 105, including cell change and handover, and may participate in supporting signaling connections with UE 105 and, possibly, data and voice bearers for UE 105. LMF 120 may communicate directly with UE 105, or directly with gNBs 110a, 110b, and / or ng-eNB 114, for example, via wireless communications. The LMF 120 may support positioning of the UE 105 when the UE 105 accesses the NG-RAN 135 and may support various positioning procedures / methods, such as Assisted GNSS (A-GNSS), Observed Time Difference of Arrival (OTDOA) (e.g., downlink (DL) OTDOA or uplink (UL) OTDOA), Round Trip Time (RTT), multi-cell RTT, Real-Time Kinematics (RTK), Precise Point Positioning (PPP), Differential GNSS (DGNSS), Enhanced Cell ID (E-CID), Angle of Arrival (AoA), Angle of Departure (AoD), and / or other positioning methods. The LMF 120 may process location service requests for the UE 105, for example, received from the AMF 115 or the GMLC 125. The LMF 120 may be connected to the AMF 115 and / or the GMLC 125. The LMF 120 may also be referred to by other names, such as Location Manager (LM), Location Function (LF), Commercial LMF (CLMF), or Value-Added LMF (VLMF). A node / system implementing LMF 120 may additionally or alternatively implement other types of location support modules, such as an enhanced serving mobile location center (E-SMLC) or a secure user plane location (SUPL) location platform (SLP). At least a portion of positioning functionality (including derivation of the location of UE 105) may be performed at UE 105 (e.g., using signal measurements obtained by UE 105 of signals transmitted by wireless nodes (such as gNB 110a, gNB 110b, and / or ng-eNB 114) and / or assistance data provided to UE 105 by LMF 120, for example). AMF 115 may serve as a control node for handling signaling between UE 105 and 5GC 140 and may provide QoS (Quality of Service) flow and session management. AMF 115 may support mobility of UE 105 (including cell changes and handovers) and may participate in supporting signaling connections with UE 105.
[0046] A 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 the 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 for the UE 105 to the server 150.
[0047] The GMLC 125 may support location requests for the UE 105 received from the external client 130 via the server 150 and may forward the location requests to the AMF 115 for forwarding by the AMF 115 to the LMF 120, or may forward the location requests directly to the LMF 120. A location response (e.g., containing a location estimate for the UE 105) from the LMF 120 may be returned to the GMLC 125 directly or via the AMF 115, and the GMLC 125 may then return the location response (e.g., containing the location estimate) to the external client 130 via the server 150. The GMLC 125 is shown as connected to both the AMF 115 and the LMF 120, but may not be connected to either the AMF 115 or the LMF 120 in some implementations.
[0048] like Figure 1 For further example, LMF 120 may communicate with gNB 110a, gNB 110b, and / or ng-eNB 114 using a new radio positioning protocol A (which may be referred to as NPPa or NRPPa), which may be defined in 3GPP Technical Specification (TS) 38.455. NRPPa may be the same as, similar to, or an extension of LTE Positioning Protocol A (LPPa) defined in 3GPP TS 36.455, wherein NRPPa messages are communicated between gNB 110a (or gNB 110b) and LMF 120, and / or between ng-eNB 114 and LMF 120 via AMF 115. Figure 1For further example, the LMF 120 and the UE 105 may communicate using the LTE Positioning Protocol (LPP), which may be defined in 3GPP TS 36.355. Additionally or alternatively, the LMF 120 and the UE 105 may communicate using a new radio positioning protocol (which may be referred to as NPP or NRPP), which may be the same as, similar to, or an extension of the LPP. Here, LPP and / or NPP messages may be communicated between the UE 105 and the LMF 120 via the AMF 115 and the UE 105's serving gNB 110a, gNB 110b, or serving ng-eNB 114. For example, the LPP and / or NPP messages may be communicated between the LMF 120 and the AMF 115 using the 5G Location Services Application Protocol (LCS AP), and between the AMF 115 and the UE 105 using the 5G Non-Access Stratum (NAS) protocol. The LPP and / or NPP protocols may be used to support positioning of the UE 105 using UE-assisted and / or UE-based positioning methods, such as A-GNSS, RTK, OTDOA, and / or E-CID. The NRPPa protocol may be used to support positioning of the UE 105 using network-based positioning methods, such as E-CID (e.g., when used with measurements obtained by the gNB 110a, 110b, or ng-eNB 114) and / or may be used by the LMF 120 to obtain location-related information from the gNB 110a, 110b, and / or ng-eNB 114, such as parameters defining directional SS or PRS transmissions from the gNB 110a, 110b, and / or ng-eNB 114. The LMF 120 may be co-located or integrated with the gNB or TRP, or may be located remotely from the gNB and / or TRP and configured to communicate directly or indirectly with the gNB and / or TRP.
[0049] Using UE-assisted positioning methods, UE 105 may obtain location measurements and transmit these measurements to a location server (e.g., LMF 120) for use in calculating a location estimate for UE 105. For example, the location measurements may include one or more of received signal strength indication (RSSI), round-trip signal propagation time (RTT), reference signal time difference (RSTD), reference signal received power (RSRP), and / or reference signal received quality (RSRQ) of gNB 110a, gNB 110b, ng-eNB 114, and / or WLAN APs. The location measurements may additionally or alternatively include measurements of GNSS pseudoranges, code phases, and / or carrier phases of SVs 190-193.
[0050] Using the UE-based positioning method, UE 105 can obtain position measurements (e.g., which can be the same as or similar to the position measurements of the UE-assisted positioning method) and can calculate the position of UE 105 (e.g., with the help of assistance data received from a location server (such as LMF120) or broadcast by gNB 110a, gNB 110b, ng-eNB 114 or other base stations or APs).
[0051] With network-based positioning methods, one or more base stations (e.g., gNBs 110a, 110b and / or ng-eNB 114) or APs may obtain location measurements (e.g., measurements of RSSI, RTT, RSRP, RSRQ, or time of arrival (ToA) of signals transmitted by UE 105) and / or may receive measurements obtained by UE 105. The one or more base stations or APs may transmit the measurements to a location server (e.g., LMF 120) for use in computing a position estimate for UE 105.
[0052] The information provided by gNB 110a, 110b and / or ng-eNB 114 to LMF 120 using NRPPa may include timing and configuration information for directional SS or PRS transmission, as well as location coordinates. LMF 120 may provide some or all of this information to UE 105 as assistance data in LPP and / or NPP messages via NG-RAN 135 and 5GC 140.
[0053] The LPP or NPP message transmitted from LMF 120 to UE 105 may instruct UE 105 to perform any of a variety of tasks, 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 (or some other positioning method). In the case of E-CID, the LPP or NPP message may instruct UE 105 to obtain one or more measurement parameters (e.g., beam ID, beam width, average angle, RSRP, RSRQ measurements) of directional signals transmitted within a particular cell supported by one or more of gNB 110a, gNB 110b, and / or ng-eNB 114 (or supported by some other type of base station, such as an eNB or WiFi AP). The UE 105 may transmit these measurement parameters back to the LMF 120 in an LPP or NPP message (e.g., within a 5G NAS message) via the serving gNB 110a (or serving ng-eNB 114) and the AMF 115.
[0054] As noted, while the communication system 100 is described with respect to 5G technology, the communication system 100 may be implemented to support other communication technologies (such as GSM, WCDMA, LTE, etc.) for supporting and interacting with mobile devices (such as UE 105) (e.g., to implement voice, data, positioning, and other functionality). In some such embodiments, the 5GC 140 may be configured to control different air interfaces. For example, the 5GC 140 may use the Non-3GPP Interworking Function (N3IWF) in the 5GC 140 to control the 5G network. Figure 1 115). The 5GC 140 may be connected to the WLAN (not shown). For example, the WLAN may support IEEE 802.11 WiFi access for the UE 105 and may include one or more WiFi APs. Here, the N3IWF may connect to the WLAN as well as other elements in the 5GC 140, such as the AMF 115. In some embodiments, both the NG-RAN 135 and the 5GC 140 may be replaced by one or more other RANs and one or more other core networks. For example, in the EPS, the NG-RAN 135 may be replaced by the E-UTRAN, which includes eNBs, and the 5GC 140 may be replaced by the EPC, which includes a Mobility Management Entity (MME) that replaces the AMF 115, an E-SMLC that replaces the LMF 120, and a GMLC that may be similar to the GMLC 125. In such an EPS, the E-SMLC may use LPPa instead of NRPP to transmit and receive location information to and from eNBs in the E-UTRAN, and may use LPP to support positioning of the UE 105. In these other embodiments, positioning of UE 105 using directional PRS may be supported in a manner similar to that described herein for 5G networks, with the difference that the functions and processes described herein for gNB 110a, gNB 110b, ng-eNB 114, AMF 115, and LMF 120 may in some cases be applied alternatively to other network elements, such as eNBs, WiFi APs, MMEs, and E-SMLCs.
[0055] As noted, in some embodiments, positioning functionality may be implemented, at least in part, using directional SS or PRS beams transmitted by base stations (such as gNBs 110a, 110b and / or ng-eNB 114) that are located at the UE (e.g., Figure 1 In some instances, a UE may use directional SS beams or directional PRS beams from multiple base stations (such as gNBs 110a, 110b, ng-eNB 114, etc.) to calculate the UE's positioning.
[0056] Also refer to Figure 2UE 200 is an example of one of UEs 105 and 106 and includes 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 (the transceiver including 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. Processor 210, memory 211, sensor 213, transceiver interface 214, user interface 216, SPS receiver 217, camera 218, and positioning device 219 may be communicatively coupled to one another via a bus 220 (which may be configured, for example, for optical and / or electrical communication). One or more of the illustrated devices (e.g., camera 218, positioning device 219, and / or one or more of sensors 213) may be omitted from UE 200. Processor 210 may include one or more intelligent hardware devices, such as a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), and the like. 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 processors 230 through 234 may include multiple devices (e.g., multiple processors). For example, sensor processor 234 may include processors for RF (radio frequency) sensing (where one or more transmitted (cellular) wireless signals and reflections are used to identify, map, and / or track objects) and / or ultrasound. Modem processor 232 may support dual SIM cards / dual connectivity (or even more SIM cards). For example, one SIM card (Subscriber Identity Module or Subscriber Identity Module) may be used by an original equipment manufacturer (OEM), while another SIM card may be used by the end user of UE 200 for connectivity. Memory 211 is a non-transitory storage medium that may include random access memory (RAM), flash memory, optical disk memory, and / or read-only memory (ROM). Memory 211 stores software 212, which may be processor-readable, processor-executable software code containing instructions that, when executed, are configured to cause processor 210 to perform the various functions described herein. Alternatively, software 212 may not be directly executable by processor 210, but may be configured to cause processor 210 to perform the functions, for example, when compiled and executed. A description may refer to processor 210 performing a function, but this includes other implementations, such as implementations in which processor 210 executes software and / or firmware. A description may refer to processor 210 performing a function as shorthand for one or more of processors 230 to 234 performing the function. A description may refer to UE 200 performing a function as shorthand for one or more appropriate components of UE 200 performing the 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.
[0057] Figure 2 The configuration of UE 200 shown is an example and does not limit the present disclosure (including the claims), and other configurations may be used. For example, an example configuration of the UE includes one or more of the processors 230 to 234 of the processor 210, the memory 211, and the wireless transceiver 240. Other example configurations include one or more of the processors 230 to 234 of the processor 210, the memory 211, the wireless transceiver, and one or more of the following: a sensor 213, a user interface 216, an SPS receiver 217, a camera 218, a PD 219, and / or a wired transceiver.
[0058] The UE 200 may include a modem processor 232 that may be capable of performing baseband processing of signals received and downconverted by the transceiver 215 and / or the SPS receiver 217. The modem processor 232 may perform baseband processing of signals to be upconverted for transmission by the transceiver 215. Additionally or alternatively, the baseband processing may be performed by the general / application processor 230 and / or the DSP 231. However, other configurations may be used to perform the baseband processing.
[0059] UE 200 may include sensors 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. 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., a three-dimensional gyroscope). Sensors 213 may include one or more magnetometers (e.g., a three-dimensional magnetometer) 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 barometric pressure sensors, one or more ambient light sensors, one or more camera imagers, and / or one or more microphones. Sensors 213 may generate analog and / or digital signals, indications of which may be stored in memory 211 and processed by DSP 231 and / or general / application processor 230 to support one or more applications (e.g., applications involving positioning and / or navigation operations).
[0060] Sensors 213 can be used for relative position measurement, relative position determination, motion determination, and the like. Information detected by sensors 213 can be used for motion detection, relative displacement, dead reckoning, sensor-based position determination, and / or sensor-assisted position determination. Sensors 213 can be used to determine whether UE 200 is stationary (stationary) or mobile and / or whether to report certain useful information related to the mobility of UE 200 to LMF 120. For example, based on information obtained / measured by sensors 213, UE 200 can notify / report to LMF 120 that UE 200 has detected movement or has moved, and report the relative displacement / distance (e.g., via dead reckoning, sensor-based position determination, or sensor-assisted position determination implemented by sensors 213). In another example, for relative positioning information, sensors / IMUs can be used to determine the angle and / or orientation of another device relative to UE 200.
[0061] The IMU can be configured to provide measurements of the direction and / or velocity of motion of the UE 200, which can be used to determine relative position. For example, one or more accelerometers and / or one or more gyroscopes of the IMU can detect the linear acceleration and rotational velocity of the UE 200, respectively. The linear acceleration measurements and rotational velocity measurements of the UE 200 can be integrated over time to determine the instantaneous direction and displacement of the UE 200. The instantaneous direction and displacement can be integrated to track the position of the UE 200. For example, a reference position of the UE 200 at a certain moment can be determined, for example, using the SPS receiver 217 (and / or by some other means), and measurements obtained from the accelerometers and gyroscopes after that moment can 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.
[0062] The magnetometer can determine the strength of the magnetic field in different directions, which can be used to determine the orientation of the UE 200. For example, the orientation can 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 the strength of the magnetic field in two orthogonal dimensions. The magnetometer may include a three-dimensional magnetometer configured to detect and provide an indication of the strength of the magnetic field 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.
[0063] The transceiver 215 may include a wireless transceiver 240 and a wired transceiver 250 configured to communicate with other devices via wireless 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 wireless signals 248 to wired (e.g., electrical and / or optical) signals and vice versa. The wireless transmitter 242 may include appropriate components (e.g., a power amplifier and a digital-to-analog converter). The wireless receiver 244 may include 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, which may be discrete components or combined / integrated components, and / or the wireless receiver 244 may include multiple receivers, which may be discrete components or combined / integrated components. The wireless transceiver 240 may be configured to operate in accordance with various radio access technologies (RATs) such as 5G New Radio (NR), GSM (Global System for Mobile), 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), WiFi, WiFi Direct (WiFi-D), Ultra Wideband (UWB), Bluetooth ® , Zigbee, etc.) to communicate signals (e.g., with a TRP and / or one or more other devices). The new radio may utilize 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, and may, for example, be utilized as a network interface for communicating with the NG-RAN 135 to transmit communications to and receive communications from the NG-RAN. The wired transmitter 252 may include multiple transmitters, which may be discrete components or combined / integrated components, and / or the wired receiver 254 may include multiple receivers, which may be discrete components or combined / integrated components. The wired transceiver 250 may be configured, for example, for optical and / or electrical communication. The transceiver 215 may be communicatively coupled to the transceiver interface 214, for example, via an optical and / or 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.
[0064] User interface 216 may include one or more of several devices, such as, for example, a speaker, microphone, display device, vibration device, keyboard, touch screen, etc. User interface 216 may include more than one of any of these devices. User interface 216 may be configured to enable a user to interact with one or more applications hosted by UE 200. For example, user interface 216 may store indications of analog and / or digital signals in memory 211 in response to user actions for processing by DSP 231 and / or general / application processor 230. Similarly, applications hosted on UE 200 may store indications of analog and / or digital signals in memory 211 for presentation of output signals to the user. User interface 216 may include audio input / output (I / O) devices, including, for example, a speaker, microphone, digital-to-analog circuitry, analog-to-digital circuitry, amplifiers, and / or gain control circuitry (including more than one of any of these devices). Other configurations of audio I / O devices may also 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 .
[0065] The SPS receiver 217 (e.g., a global positioning system (GPS) receiver) may be capable of receiving and acquiring SPS signals 260 via an SPS antenna 262. The SPS antenna 262 is configured to convert the SPS signals 260 from wireless signals to wired signals (e.g., electrical or optical signals) and may be integrated with the antenna 246. The SPS receiver 217 may be configured to process the acquired SPS signals 260 in whole or in part to estimate the location of the UE 200. For example, the SPS receiver 217 may be configured to determine the location of the UE 200 by performing trilateration using the SPS signals 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 signals in whole or in part and / or calculate the estimated location of the UE 200. The memory 211 may store indications (e.g., measurements) of the SPS signals 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 processing the measurements to estimate the location of the UE 200.
[0066] 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 circuitry, 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, a 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).
[0067] Positioning device (PD) 219 may be configured to determine the location of UE 200, the motion 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 a portion or all of an SPS receiver. PD 219 may work in conjunction with processor 210 and memory 211, as appropriate, to perform at least a portion of one or more positioning methods, although the description herein may refer to PD 219 being configured to perform or performing in accordance with a positioning method. PD 219 may additionally or alternatively be configured to determine the location of UE 200 using trilateration using terrestrial signals (e.g., at least some wireless signals 248), assisted acquisition, and SPS signals 260, or both. PD 219 may be configured to determine the location of UE 200 based on the cell of a serving base station (e.g., cell center) and / or another technique, 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 the 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, such as relying on the UE's self-reported location (e.g., as part of a UE's location beacon), and may use a combination of techniques (e.g., SPS and terrestrial 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.) that can sense the orientation and / or motion of the UE 200 and provide an indication of the orientation and / or motion, which the processor 210 (e.g., general / application processor 230 and / or DSP 231) may be configured to use to determine the motion of the UE 200 (e.g., velocity vector and / or acceleration vector). The PD 219 may be configured to provide an indication of uncertainty and / or error in the determined position and / or motion. The functionality of the PD 219 may be provided in various ways and / or configurations, such as by the general / application processor 230, the transceiver 215, the SPS receiver 217, and / or another component of the UE 200, and may be provided by hardware, software, firmware, or various combinations thereof.
[0068] 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 each other 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 intelligent hardware devices, such as a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), etc. The processor 310 may include multiple processors (e.g., including a general / application processor, a DSP, a modem processor, a video processor, and / or a sensor processor, such as a processor). Figure 2 ). Memory 311 is a non-transitory storage medium that may include random access memory (RAM), flash memory, optical disk storage, and / or read-only memory (ROM). Memory 311 stores software 312, which may be processor-readable, processor-executable software code containing instructions that, when executed, are configured to cause processor 310 to perform the various functions described herein. Alternatively, software 312 may not be directly executable by processor 310, but may be configured to cause processor 310 to perform these functions, for example, when compiled and executed.
[0069] The description may refer to processor 310 performing a function, but this includes other implementations, such as implementations in which processor 310 executes software and / or firmware. A description may refer to processor 310 performing a function as shorthand for one or more processors included in processor 310 performing that function. A description 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 thus one of gNBs 110a, 110b, and / or ng-eNB 114) performing that function. Processor 310 may include memory with stored instructions in addition to and / or in lieu of memory 311. The functionality of processor 310 is discussed more fully below.
[0070] The transceiver 315 may include a wireless transceiver 340 and / or a wired transceiver 350 configured to communicate with other devices via wireless and wired connections, respectively. For example, the wireless transceiver 340 may include a wireless transmitter 342 coupled to one or more antennas 346 and a wireless receiver 344 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 wireless signals 348 to wired (e.g., electrical and / or optical) signals and vice versa. Thus, the wireless transmitter 342 may include multiple transmitters, which may be discrete components or combined / integrated components, and / or the wireless receiver 344 may include multiple receivers, which may be discrete components or combined / integrated components. The wireless transceiver 340 may be configured to operate in accordance with 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), WiFi, WiFi Direct (WiFi-D), UWB, Bluetooth ® , Zigbee, etc.) to communicate signals (e.g., with UE 200, one or more other UEs, and / or one or more other devices). 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 and receive communications to, for example, the LMF 120 and / or one or more other network entities. The wired transmitter 352 may include multiple transmitters, which may be discrete components or combined / integrated components, and / or the wired receiver 354 may include multiple receivers, which may be discrete components or combined / integrated components. The wired transceiver 350 may be configured, for example, for optical and / or electrical communication.
[0071] Figure 3The 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 the TRP 300 being configured to perform several functions or the TRP performing 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). In an example, an RSU may include some or all of the components of the TRP 300. The TRP 300 may be an example of a wireless node in a communication network.
[0072] Also refer to Figure 4 , the server 400 (LMF 120 is an example of such a server) includes 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 intelligent 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 ). Memory 411 is a non-transitory storage medium that may include random access memory (RAM), flash memory, optical disk storage, and / or read-only memory (ROM). Memory 411 stores software 412, which may be processor-readable, processor-executable software code containing instructions that, when executed, are configured to cause processor 410 to perform the various functions described herein. Alternatively, software 412 may not be directly executable by processor 410, but may be configured to cause processor 410 to perform these functions, for example, when compiled and executed. Descriptions may refer to processor 410 performing a function, but this encompasses other implementations, such as implementations in which processor 410 executes software and / or firmware. Descriptions may refer to processor 410 performing a function as shorthand for one or more processors included in processor 410 performing that function. Descriptions may refer to server 400 performing a function as shorthand for one or more appropriate components of server 400 performing that function. Processor 410 may include memory with stored instructions in addition to and / or in lieu of memory 411. The functionality of processor 410 is discussed more fully below.
[0073] The transceiver 415 may include a wireless transceiver 440 and / or a wired transceiver 450 configured to communicate with other devices via wireless and wired connections, respectively. For example, the wireless transceiver 440 may include a wireless transmitter 442 coupled to one or more antennas 446 and a wireless receiver 444 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 wireless signals 448 to wired (e.g., electrical and / or optical) signals and vice versa. Thus, the wireless transmitter 442 may include multiple transmitters, which may be discrete components or combined / integrated components, and / or the wireless receiver 444 may include multiple receivers, which may be discrete components or combined / integrated components. The wireless transceiver 440 may be configured to operate in accordance with 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), WiFi, WiFi Direct (WiFi-D), UWB, Bluetooth ® , Zigbee, etc.) to communicate signals (e.g., with UE 200, one or more other UEs, and / or one or more other devices). 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 may be used to communicate with the NG-RAN 135 to transmit and receive communications to, for example, the TRP 300 and / or one or more other network entities. The wired transmitter 452 may include multiple transmitters, which may be discrete components or combined / integrated components, and / or the wired receiver 454 may include multiple receivers, which may be discrete components or combined / integrated components. The wired transceiver 450 may be configured, for example, for optical and / or electrical communication.
[0074] The description herein 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. The description herein 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.
[0075] Figure 4The configuration of server 400 shown is an example and does not limit the present disclosure (including the claims), and other configurations may be used. For example, wireless transceiver 440 may be omitted. Additionally or alternatively, the description herein discusses server 400 being configured to perform several functions or that the server performs several functions, but one or more of these functions may be performed by TRP 300 and / or UE 200 (i.e., TRP 300 and / or UE 200 may be configured to perform one or more of these functions).
[0076] For terrestrial positioning of UEs in cellular networks, techniques such as Advanced Forward Link Trilateration (AFLT) and Observed Time Difference of Arrival (OTDOA) typically operate in a "UE-assisted" mode, where measurements of reference signals (e.g., PRS, CRS, etc.) transmitted by base stations are acquired by the UE and then provided to a location server. The location server then calculates the UE's position based on these measurements and the known positions of the base stations. Because these techniques use a location server (rather than the UE itself) to calculate the UE's position, they are not frequently used in applications such as automotive or cell phone navigation, which typically rely on satellite-based positioning instead.
[0077] UEs can use a satellite positioning system (SPS) (Global Navigation Satellite System (GNSS)) to achieve high-accuracy positioning using Precise Point Positioning (PPP) or Real-Time Kinematics (RTK) techniques. These techniques use assistance data, such as measurements from ground-based stations. LTE Release 15 allows data to be encrypted so that only UEs subscribed to the service can read the information. This assistance data changes over time. Consequently, a UE subscribed to the service may not be able to easily "break the encryption" for other UEs that have not paid for the subscription by transferring the data. This transfer needs to be repeated each time the assistance data changes.
[0078] In UE-assisted positioning, the UE transmits measurements (e.g., TDOA, Angle of Arrival (AoA), etc.) to a positioning server (e.g., LMF / eSMLC). The positioning server maintains a base station almanac (BSA) containing multiple "entries" or "records," one per cell, where each record contains the geographic cell location but may also include other data. An identifier for a record within the BSA can be referenced. The BSA and measurements from the UE are used to calculate the UE's position.
[0079] In conventional UE-based positioning, the UE calculates its own position, avoiding the need to transmit measurements to the network (e.g., a location server), which in turn improves latency and scalability. The UE uses the associated BSA to record information from the network (e.g., the location of the gNB (and more broadly, base stations)). BSA information can be encrypted. However, because BSA information changes much less frequently than, for example, the PPP or RTK assistance data described above, it can be easier to make BSA information available to UEs that do not subscribe and pay for decryption keys (compared to PPP or RTK information). The gNB's transmission of reference signals makes BSA information potentially accessible to crowdsourcing or driving attacks, essentially enabling BSA information to be generated based on in-the-field and / or overhead observations.
[0080] refer to Figure 5 , further reference Figures 1 to 4 , OBU 500 (on-board unit) includes a processor 510, an interface 520, and a memory 530, which are communicatively coupled to each other via a bus 540. OBU 500 may include Figure 5 Some or all of the components shown in , and may include one or more other components (such as Figure 2 ) and / or may communicate with one or more other devices (via interface 520) via one or more features of UE 200 (e.g., an IMU, camera, sensors, etc.). OBU 500 is an example of a wireless node. Processor 510 may include one or more components of processor 210. Interface 520 is configured to transmit and receive V2X signals, such as C-V2X signals (i.e., signals in a C-V2X format for communication, for example). Interface 520 may include one or more components of transceiver 215, such as wireless transmitter 242 and antenna 246, or wireless receiver 244 and antenna 246, or wireless transmitter 242, wireless receiver 244, and antenna 246. Additionally or alternatively, interface 520 may include wired transmitter 252 and / or wired receiver 254. Interface 520 may include SPS receiver 217 and SPS antenna 262. Memory 530 may be configured similarly to memory 211, for example, including software 532 having processor-readable instructions configured to cause processor 510 to perform functions. OBU 500 may be a UE (such as UE 200) that is also configured to communicate using C-V2X technology.
[0081] The description herein may refer to the processor 510 performing a function, but this includes other implementations, such as one in which the processor 510 executes software (stored in the memory 530) and / or firmware. The description herein may refer to the OBU 500 performing a function as shorthand for one or more appropriate components of the OBU 500 (e.g., the processor 510 and the memory 530) performing that function. The processor 510 (possibly in combination with the memory 530 and, where appropriate, the transceiver 520) includes a positioning engine 550. The positioning engine 550 may include processing capabilities and instructions to perform satellite and terrestrial calculations for the techniques described herein.
[0082] refer to Figure 6 , shows a diagram of an example GNSS receiver 600. The SPS receiver 217 in the UE 200 and the interface 520 in the OBU 500 may include one or more components of the GNSS receiver 600 and, therefore, may be examples of the GNSS receiver 600. In this example, the Global Positioning System (GPS) is an example of a GNSS navigation system, in which a receiver determines its position by precisely measuring the arrival times of signaling events received from multiple satellites. Each satellite transmits a navigation message containing the precise time of transmission and ephemeris information. Each subframe of a navigation message begins with a telemetry word (TLM) and the subframe number. The start of a subframe can be detected by a preamble sequence in the TLM. Each subframe also includes a handover word (HOW), which specifies the exact time of week (TOW) at which the satellite will transmit the next subframe based on a local version of GPS time maintained by its clock. Ephemeris information includes details about the satellite's orbit and corrections to the satellite's own clock compared to GPS time. Ephemeris and clock correction parameters may be collectively referred to as ephemeris information.
[0083] GPS signals are created by binary phase shift keying (BPSK) of the navigation message onto a direct sequence spread spectrum signal. The spread spectrum signal includes a unique pseudo-noise (PN) code that identifies the satellite. For civilian GPS signals transmitted using the L1 frequency, this code is called the C / A code. The C / A code has a sequence length of 1023 chips and is spread at a 1.023 MHz chip rate. Therefore, the code sequence repeats once every millisecond. The code sequence has an identified starting moment when both code generators in the satellite have just transitioned to the all-ones state. This moment is called a code epoch. After various transmission delays in the satellite, the code epoch is broadcast with the timing and sequence of specific code states assigned to the satellite. In a suitably adapted receiver, this signaling event can be identified by aligning the replicated code with the code received from each satellite.
[0084] Navigation messages have a data rate of 50 bits per second, lower than the code rate, and their data bit or symbol transitions are synchronized with the start of the C / A code sequence. Each bit of the navigation message lasts 20 milliseconds and therefore contains 20 repetitions of the C / A code. Navigation messages consist of a 1500-bit frame, which is composed of five 300-bit subframes. Each subframe lasts 6 seconds. Satellites transmit navigation messages and C / A codes using carrier frequencies that are integer multiples of 10.23 MHz (for the L1 carrier, this multiple is 154).
[0085] In addition to time and ephemeris information, data messages contain the satellite constellation almanac, parameters representing ionospheric and tropospheric delays, health parameters, and other information used by some receivers. Twenty-five distinct data frames are broadcast from each satellite. Each frame contains the same information (except time) in subframes 1 through 3, but cycles through a pre-assigned data sequence in subframes 4 and 5, which contain the almanac and other information. Ephemeris information, including satellite clock biases, is periodically updated by the GPS control segment, typically every two hours, so that navigation data messages represent the orbit and status of each satellite. Indicators in the navigation messages inform the user when ephemeris and clock data have changed. Details of these changes are described in the GPS interface standard IS GPS 200.
[0086] GNSS receiver 600 may be a GPS receiver and may be configured to determine the time of arrival of a signaling event by aligning a replicated code with the code received from each satellite. The receiver may also use the time-of-arrival information contained in navigation messages to determine the time when the signaling event was transmitted. This allows the receiver to determine the transition time of the signaling event (based on which it can determine its distance from the satellite) and the satellite's position at the time the signaling event was transmitted (using ephemeris information). The receiver can then calculate its own position. In theory, a GPS receiver's position can be determined using signals from three satellites, provided the receiver has precise knowledge of time or a portion of the position information (such as altitude). However, in practice, GPS receivers use signals from four or more satellites to determine an accurate three-dimensional position solution because the offset between the receiver clock and GPS time introduces additional unknowns into the calculation.
[0087] If satellite signal reception is poor (often referred to as a weak signal condition), or if the receiver receives only short bursts of the signal, the receiver may not be able to decode the TOW information. Without this information, the GPS receiver may not be able to determine its distance to the satellite with sufficient accuracy because the receiver will not know when the signaling event was sent. In weak signal conditions or brief glimpses of the signal, the receiver may also not be able to identify the start of a subframe because the receiver may not be able to decode the TLM.
[0088] However, even in weak signal conditions or from brief glimpses of the signal, a receiver unable to decode the TLM and TOW information in the navigation message may be able to derive some timing information. For example, a receiver may be able to determine the time offset between the satellite signal's spread spectrum (PN) code and its locally generated version, for example by correlating the received signal with a locally generated replica of the PN code or using equivalent signal processing techniques. This time offset represents at least a portion of the satellite signal's transit time. However, because both the PN code and the locally generated replica code in the signal have a finite length in space (known as the code wavelength), the correlation operation can only identify a portion of the total time offset. This portion of the total time offset represents a fraction of the signal transit time between the satellite and the receiver, measured in code repetition intervals. The integer number of code repetition intervals it takes for the signal to travel between the satellite and the receiver cannot be measured by the receiver (e.g., as an integer ambiguity value).
[0089] GNSS accuracy can be significantly degraded in weak signal conditions, such as when the line of sight (LOS) of a satellite vehicle is blocked by natural or man-made objects. In some cases, weak signals can cause cycle slips and impair integer ambiguity resolution (IAR) in the GNSS receiver. Such errors can induce absolute positioning errors on the order of tens of meters (e.g., up to 50 meters) and relative positioning errors on the order of several meters. Furthermore, the limited availability of good GNSS measurements can further degrade accuracy. For example, for GNSS measurements that use carrier phase to achieve higher accuracy, positioning accuracy depends on maintaining a constant lock.
[0090] In the example, GNSS receiver 600 includes, but is not limited to, an antenna 601, an analog section 602, a digital section 603, and a processor 604. Antenna 262 on UE 200 is an example of antenna 601. GNSS satellite signals are received by antenna 601 and coupled to the input of analog section 602. Analog section 602 is configured to process the GNSS satellite signals by sampling them with an analog-to-digital converter (ADC) and generating a digital intermediate frequency (IF) signal. In one embodiment, the sampling rate may be approximately 83 megasamples per second (MS / s). The digital IF signal is coupled to the input of digital section 603. Digital section 603 is configured to utilize the digital IF signal to acquire and track satellites from within the GNSS satellite constellation by generating acquisition and tracking data that is coupled to processor 604. Processor 604 may be a central processing unit (CPU), a microprocessor, a digital signal processor, or any other such device capable of reading and executing programmed instructions. Processor 604 is configured to analyze the acquisition and tracking data to determine navigation information, such as position and velocity. Satellites may transmit signals on multiple frequencies, and processor 604 may be configured to determine pseudorange and carrier phase measurements based on GNSS models as known in the art. In frequency Pseudorange measurement on Can be modeled as:
[0091]
[0092] in:
[0093] It's a satellite- The actual distance to the user's location.
[0094] is the common deviation in user equipment.
[0095] It's a satellite The satellite clock bias, which includes the frequency delay of any satellite constellation on the
[0096] It's the speed of light.
[0097] It is the frequency Additional bias common to all measurements made on the
[0098] is at frequency The impact comes from satellite- The ionospheric delay of the signal.
[0099] is generated by the troposphere in the presence of satellite- The delay introduced into the signal is independent of frequency.
[0100] is used to represent noise and any unmodeled effects.
[0101] Other GNSS models and variables may also be used to determine the distance to the satellite.Carrier phase measurements may be based on the distance between the satellite and the receiver (eg, receiver antenna), expressed in units of cycles of the carrier frequency.
[0102] Referring to FIG7A , a block diagram 700 of multiple GNSS receivers configured for independent positioning is shown. Block diagram 700 includes a first GNSS receiver and a second GNSS receiver. The first GNSS receiver can be a vehicle-mounted system, and the second GNSS receiver can be a mobile device, such as a smartphone. The vehicle GNSS receiver includes a first GNSS antenna 702 and a first GNSS receiver 706 configured to output a first positioning solution 710. The mobile GNSS receiver includes a second GNSS antenna 704 and a second GNSS receiver 708 configured to output a second positioning solution 712. Block diagram 700 depicts an example prior art use case in which a user carries a mobile device (e.g., a smartphone) in a vehicle equipped with a GNSS receiver. The GNSS receivers in the mobile device and the vehicle independently receive satellite signals via respective GNSS antennas 702 and 704, and each of the respective GNSS receivers 706 and 708 is configured to generate a respective positioning solution 710 and 712. The techniques provided herein utilize the first and second GNSS receivers (and their respective antennas) to generate an integrated positioning solution.
[0103] refer to Figure 7B, a block diagram 750 of multiple GNSS receivers for collaborative positioning is shown. Block diagram 750 also includes an example first GNSS receiver and an example second GNSS receiver. As described in FIG. 7A , the first GNSS receiver can be a vehicle-mounted system, and the second GNSS receiver can be a mobile device, such as a smartphone. The vehicle GNSS receiver includes a first GNSS antenna 752 and a first GNSS receiver 756, and the mobile GNSS receiver includes a second GNSS antenna 754 and a second GNSS receiver 758. The GNSS receivers in the mobile device and the vehicle independently receive satellite signals via their respective GNSS antennas 752 and 754, and the respective GNSS receivers 756 and 758 are configured to share measurements and / or positioning results at stage 760. For example, the second GNSS receiver 758 can be configured to provide measurement data and / or positioning results to the first GNSS receiver 756, or the first GNSS receiver 756 can be configured to provide measurement data and / or positioning results to the second GNSS receiver 758. In an example, GNSS receivers 756 and 758 can be configured to provide measurement data and / or positioning results to other systems. The data streams from the respective GNSS receivers 756 and 758 may include one or more of a position estimate (e.g., latitude / longitude / altitude), carrier phase information, pseudoranges, Doppler measurements, carrier-to-noise ratio (C / NO) measurements, signal-to-noise ratio (SNR) measurements, satellite and time information. Other receiver data may also be provided or exchanged. In an example, the Receiver Independent Exchange format (RINEX) may be used to provide measurement data and / or positioning results. Other data exchange formats may be used, such as the RTCM (Radio Technical Commission for Maritime Services) protocol and other ASCII and binary formats. Other proprietary data exchanges (e.g., Apple CarPlay, Android Auto, etc.) may also be used to share measurements and / or positioning results at stage 760. By integrating GNSS measurement data between the autonomous GNSS receiver and the mobile GNSS receiver at stage 760 and calculating the antenna baseline vector (i.e., based on the known geometry between antennas 752, 754), the positioning performance of the cooperating GNSS receivers can be enhanced as described herein. For example, fixed errors associated with IAR can be reduced; carrier phase cycle slips in one GNSS receiver can be detected and corrected based on measurements from another GNSS receiver; the accuracy convergence of the position estimate of the first GNSS receiver can be improved by using the positioning measurements obtained by the second GNSS receiver; and IMU calibration can be achieved based on the antenna baseline vector and the corresponding position estimate. Other advantages can also be achieved.
[0104] refer to Figure 8, a diagram 800 illustrating the relative geometry between two example GNSS receiver antennas in a vehicle is shown. Vehicle 802 may include a GNSS receiver system, such as included in an onboard unit (OBU) 804 having a roof-mounted antenna 804a. A user may bring a mobile device 806 (e.g., a smartphone, a portable navigation system, etc.) into vehicle 802 and utilize both the OBU and the mobile device 806 for collaborative navigation. In an example, the mobile device 806 may be communicatively coupled to the OBU 804 via a wired connection or a wireless connection. For example, a wireless protocol such as Bluetooth or WiFi may be used to enable the devices to communicate with each other. A wired connection may also be used. The OBU 804 and / or the mobile device 806 may be configured to determine a baseline geometry (e.g., positions x1 and x2) between their respective GNSS antenna systems and calculate an antenna baseline vector 812 (e.g., vector b in diagram 800). 12 ). In an example, the antenna baseline vector 812 can be based on obtaining PPP / RTK with a reference GNSS station 808. For example, the reference GNSS station 808 can provide correction information 814 to each of the GNSS receivers. The GNSS receivers in the OBU 804 and the mobile device 806 can obtain an IAR fixed state solution, and the antenna baseline vector 812 can be based on the corresponding positioning estimate. In an example, ranging messages such as WiFi and UWB can be used to determine the antenna baseline vector 812. Other technologies (such as cameras in the vehicle 804 and the mobile device 806) can be used to determine the relative positions of the GNSS antennas. In an example, the vehicle 802 can include a designated area for the mobile device 806, and a physical pre-survey (e.g., mechanical measurement) can be used to determine the antenna baseline vector 812 based on the designated area.
[0105] In an example, co-location between the mobile device 806 and the OBU 804 can enable estimation of a vehicle heading 810 without movement of the vehicle 802. The heading estimate can be independent of correction data (e.g., moving an RTK base between respective GNSS receivers). The vehicle heading 810 can be used to initialize and / or calibrate inertial sensors, such as an IMU in the mobile device 806, the OBU 804, or other sensors in the vehicle 802.
[0106] Although Figure 8An automotive use case is depicted, but the present disclosure is not limited thereto. Other devices with GNSS receivers can be configured to cooperate as described herein. For example, virtual reality (VR) or augmented reality (AR) devices (e.g., glasses, headsets, etc.) can be configured to cooperate with vehicle-based GNSS systems and other mobile devices (e.g., smartphones). Other wearable devices such as smartwatches and personal navigation systems can be configured to cooperate with other mobile devices. In an example, a device or other platform with multiple GNSS antennas can be configured to implement coordinated processing of signals received by different antennas, as described herein.
[0107] refer to Figure 9 , further reference Figure 7B and Figure 8 , shows an example graph 900 for detecting false fixes based on measurements from multiple GNSS receivers. Graph 900 includes a time-of-week (TOW) axis 906 and a plurality of data points associated with positioning solutions obtained by a first GNSS receiver and a second GNSS receiver. For example, a plurality of horizontal offset data points 902 represent the distance between a first GNSS antenna (e.g., roof-mounted antenna 804a) and a second GNSS antenna (e.g., mobile device 806) compared to a previously determined antenna baseline vector 812. A horizontal offset value of zero indicates that GNSS positioning measurements obtained by OBU 804 and mobile device 806 at approximately the same time are equal to the distance of antenna baseline vector 812. Horizontal offset values less than or greater than zero may indicate that the positioning measurements determined by OBU 804 and / or mobile device 806 may contain errors. Horizontal offset data points 902 indicate the absolute value of the difference between antenna baseline vector 812 and the distance between the corresponding GNSS positioning estimate. Graph 900 also includes a plurality of Kalman filter (KF) IAR state data points 904, which indicate whether the positioning solutions generated by the corresponding GNSS receivers are based on the IAR float state or the IAR fixed state. A KF state data point 904 on the "1" line indicates whether one or both of the positioning solutions generated by the corresponding GNSS receivers in the OBU 804 and the mobile device 806 are based on the IAR float state. A KF state data point 904 on the "2" line indicates whether both of the positioning solutions generated by the corresponding GNSS receivers in the OBU 804 and the mobile device 806 are based on the IAR fixed state.
[0108] When the IAR state is fixed on both the OBU 804 and the mobile device 806, a positioning solution error based on an IAR false fix scenario can be detected based on the known antenna baseline vector 812. For example, when the KF state of both position estimates is IAR fixed, the graph region 908 includes two horizontal offset values greater than 3 meters. A threshold value based on the horizontal offset (e.g., 0.2m, 0.5m, 1m, 2m, 5m, etc.) can be established and used as a trigger condition for detecting an IAR false fix condition. In an example, upon detecting an IAR false fix condition, the corresponding GNSS receivers in the OBU 804 and the mobile device 806 can convert the RTK / PPP positioning solution to an IAR floating ambiguity mode and calculate a new horizontal offset. In an example, the IAR false fix trigger condition can cause one or both of the GNSS receivers in the OBU 804 and / or the mobile device 806, respectively, to initialize a second RTK Kalman filter engine to attempt a new IAR fix and calculate a new horizontal offset to validate the resulting position estimate. When both position estimates in two GNSS receivers are based on an IAR fixed state, other processes within the respective GNSS receivers may be generated based on the determination of the excess horizontal offset, such as providing a user alert or other non-fixed state indicator.
[0109] refer to Figure 10 , further reference Figures 1 to 9 Method 1000 for determining an antenna baseline vector includes the stages shown. However, method 1000 is an example and not a limitation. Method 1000 may be modified, for example, by adding, removing, rearranging, combining, performing concurrently, and / or splitting a single stage into multiple stages.
[0110] At stage 1002, the method includes detecting a first Global Navigation Satellite System (GNSS) receiver. An OBU 500 including a processor 510 and an interface 520, or a UE 200 including a processor 210 and a transceiver 215, are example components for detecting the first GNSS receiver. In an example, two or more devices (such as smartphones, in-vehicle navigation systems, and other devices configured to acquire GNSS satellite signals and generate a position estimate) may be located within proximity (e.g., 1m, 2m, 5m, 10m, etc.) of each other and may be configured to perform co-location techniques as described herein. In automotive and marine use cases, a vehicle or boat (or aircraft) may have an installed GNSS system with a fixed external antenna (e.g., OBU 804 and roof-mounted antenna 804a). A user may bring a mobile device, such as UE 200, into or load it onto a vehicle. In an example, radio frequency technologies, such as Bluetooth pairing, WiFi sensing, UWB ranging, and other such technologies, may be used by one or both devices to detect each other. In an example, a cable connection (eg, USB) between the vehicle-mounted GNSS receiver and the mobile device may be used to detect the presence of the first GNSS receiver. Other sensors in the vehicle may be used to detect the presence of the mobile device.
[0111] At stage 1004, the method includes determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first GNSS receiver and a second antenna communicatively coupled to a second GNSS receiver. The OBU 500 or the UE 200 is an example component for determining the antenna baseline vector. In the example, reference Figure 8 , the first GNSS receiver can be included in the mobile device 806, and the second GNSS receiver can be included in the OBU 804. Other device and vehicle configurations can also be used. The OBU 804 and / or the mobile device 806 can be configured to determine the baseline geometry between their respective GNSS antenna systems (e.g., positions x1 and x2), and calculate the antenna baseline vector 812 (e.g., vector b in diagram 800). 12In an example, antenna baseline vector 812 may be based on obtaining PPP / RTK with reference GNSS station 808. GNSS receivers in OBU 804 and mobile device 806 may obtain IAR fixed-state solutions, and antenna baseline vector 812 may be based on the corresponding position estimates. In an example, ranging messages such as WiFi, Bluetooth, and UWB may be exchanged between devices associated with GNSS receivers (e.g., mobile device 806 and OBU 804 using roof-mounted antenna 804a), and corresponding measurement results (e.g., RTT distance, AoA, AoD, etc.) may be used to determine antenna baseline vector 812. Other technologies (such as cameras in vehicle 804 and mobile device 806) may be used to determine the relative positions of GNSS antennas. In an example, vehicle 802 may include a designated area for mobile device 806, and a pre-survey may be used to determine antenna baseline vector 812 based on the designated area. Antenna baseline vector values may be stored in local memory in OBU 804 and / or mobile device 806 and / or another networked device and may be used in the positioning process as described herein.
[0112] refer to Figure 11 , further reference Figures 1 to 9 , a method 1100 for generating a false fix indication based on measurements from multiple GNSS receivers includes the stages shown. However, the method 1100 is an example and not limiting. The method 1100 may be modified, for example, by adding, removing, rearranging, combining, performing concurrently, and / or splitting a single stage into multiple stages.
[0113] At stage 1102, the method includes determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver. The OBU 500 including the processor 510 and the interface 520 or the UE 200 including the processor 210 and the transceiver 215 are example components for determining the antenna baseline vector. In an example, the first GNSS receiver and the second GNSS receiver may include a processor configured to perform the following steps: Figure 10 The first GNSS receiver and the second GNSS receiver may be included in other devices such as the OBU 500 and the UE 200. Other techniques may be used to determine the relative positioning of the first antenna and the second antenna and calculate the antenna baseline vector 812.
[0114] At stage 1104, the method includes determining a first position estimate and a first integer ambiguity resolution (IAR) state using a first GNSS receiver at a first time. The OBU 500 and the UE 200 are example components for determining the first position estimate and the first IAR state. In the example, reference is made to Figure 9 , a first GNSS receiver, such as a mobile device, may be configured to utilize pseudorange calculations to determine the number of entire cycles on a path between a satellite and the receiver and determine integer ambiguities. In a first step of determining a positioning estimate, the GNSS receiver may be configured to estimate the integer ambiguities based on a statistical method, such as least squares (LS). The IAR state in such a solution is a float state. In an additional step, the integer ambiguity solution is used to correct the float solution. The resulting positioning estimate is more accurate than the float solution and is referred to as a fixed baseline solution (i.e., the IAR state is fixed). As indicated on graph 900, the positioning estimate may be based on either the IAR float state or the IAR fixed state. Continue Figure 8 In the example, a GNSS receiver in the mobile device 806 can be configured to determine a first position estimate and a corresponding IAR state (eg, floating or fixed).
[0115] At stage 1106, the method includes determining a second position estimate and a second integer ambiguity resolution (IAR) state using a second GNSS receiver at approximately the first time. The OBU 500 and the UE 200 are example components for determining the second position estimate and the second IAR state. Figure 8 In the example of FIG. 1 , the GNSS receiver in the OBU 804 can be configured to determine a second position estimate and a corresponding second IAR state (e.g., floating or fixed) at approximately the same time as the mobile device 806 determines the first position estimate at stage 1104. The approximately same time can be within 10 milliseconds, 100 milliseconds, 1 second, 10 seconds, or other values to reduce the effects of motion on both GNSS receivers (i.e., if the vehicle 802 is in motion).
[0116] At stage 1108, the method includes calculating a horizontal offset value based on the antenna baseline vector and based on the difference between the first position estimate and the second position estimate. The OBU 500 and the UE 200 are example components for calculating the horizontal offset value. The first GNSS receiver and the second GNSS receiver may be communicatively coupled to each other via a wired connection or a wireless connection and may be configured to provide their respective position estimates and IAR state information to each other. Either GNSS receiver may be configured to determine the horizontal offset value using the antenna baseline vector determined at stage 1102 and the respective first position estimate and second position estimate. In the example, reference Figure 9,When both GNSS receivers obtain accurate position estimates, the position difference should be approximately equal to the antenna baseline vector, and the horizontal offset value should be close to zero. Errors in the position estimate may cause the horizontal offset value to be greater than zero.
[0117] At stage 1110, the method includes generating an error fixed indication in response to the first IAR state being fixed, the second IAR state being fixed, and the horizontal offset value being greater than a threshold. The OBU 500 and the UE 200 are example components for generating an error fixed indication. In the example, reference Figure 9 When an IAR state is fixed on both a first GNSS receiver and a second GNSS receiver, a positioning solution error based on an IAR false fix scenario can be detected based on a horizontal offset value. A threshold based on the horizontal offset (e.g., 0.2m, 0.5m, 1m, 2m, 5m, etc.) can be established and used as a trigger condition for detecting an IAR false fix condition. Upon detecting a false fix condition, the first GNSS receiver or the second GNSS receiver (or its associated system) can be configured to generate a false fix indication. In an example, in response to generating or receiving the false fix indication, the respective GNSS receiver can be configured to convert the RTK / PPP positioning solution to an IAR float ambiguity mode and calculate a new horizontal offset. In an example, in response to generating or receiving the false fix indication, the GNSS receiver can be configured to initialize the second RTK Kalman filter engine to attempt a new IAR fix and calculate a new horizontal offset to validate the resulting positioning estimate. When both positioning estimates from the two GNSS receivers are based on an IAR fix state, other false fix indications, such as user alerts or other non-fixed status indicators, can be generated based on determining excessive horizontal offsets.
[0118] refer to Figure 12 , further reference Figures 1 to 9 , a method 1200 for correcting cycle slip errors in a GNSS receiver includes the stages shown. However, the method 1200 is an example and not a limitation. The method 1200 may be modified, for example, by adding, removing, rearranging, combining, performing concurrently, and / or splitting a single stage into multiple stages.
[0119] At stage 1202, the method includes determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver. The OBU 500 including the processor 510 and the interface 520 or the UE 200 including the processor 210 and the transceiver 215 are example components for determining the antenna baseline vector. In an example, the first GNSS receiver and the second GNSS receiver may include a processor configured to perform the following steps: Figure 10The first GNSS receiver and the second GNSS receiver may be included in other devices such as the OBU 500 and the UE 200. Other techniques may be used to determine the relative positioning of the first antenna and the second antenna and calculate the antenna baseline vector 812.
[0120] At stage 1204, the method includes determining a first position estimate and a first integer ambiguity resolution (IAR) state using a first GNSS receiver at a first time. The OBU 500 and the UE 200 are example components for determining the first position estimate and the first IAR state. In the example, reference is made to Figure 9 , a first GNSS receiver, such as a mobile device, may be configured to utilize pseudorange calculations to determine the number of entire cycles on a path between a satellite and the receiver and determine integer ambiguities. In a first step of determining a positioning estimate, the GNSS receiver may be configured to estimate the integer ambiguities based on a statistical method, such as least squares (LS). The IAR state in such a solution is a float state. In an additional step, the integer ambiguity solution is used to correct the float solution. The resulting positioning estimate is more accurate than the float solution and is referred to as a fixed baseline solution (i.e., the IAR state is fixed). As indicated on graph 900, the positioning estimate may be based on either the IAR float state or the IAR fixed state. Continue Figure 8 In the example, a GNSS receiver in the mobile device 806 can be configured to determine a first position estimate and a corresponding IAR state (eg, floating or fixed).
[0121] At stage 1206, the method includes determining a second position estimate and a second integer ambiguity resolution (IAR) state using a second GNSS receiver at approximately the first time. The OBU 500 and the UE 200 are example components for determining the second position estimate and the second IAR state. Figure 8 In the example of FIG. 1 , the GNSS receiver in the OBU 804 can be configured to determine a second position estimate and a corresponding second IAR state (e.g., floating or fixed) at approximately the same time as the mobile device 806 determines the first position estimate at stage 1104. The approximately same time can be within 10 milliseconds, 100 milliseconds, 1 second, 10 seconds, or other values to reduce the effects of motion on both GNSS receivers (i.e., if the vehicle 802 is in motion).
[0122] At stage 1208, the method includes determining a carrier phase value in the first GNSS receiver in response to the first IAR state being fixed and the second IAR state being floating. The OBU 500 and the UE 200 are example components for determining the carrier phase value. The carrier phase value may be based on pseudorange measurements obtained by the first GNSS receiver with a fixed IAR, such as described in equation (1). The carrier phase may be expressed in terms of unit cycles in the carrier frequency. Based on cycle slip detection within the second GNSS receiver, the second GNSS receiver may be in an IAR floating state. For example, the second GNSS receiver may lose lock on the GNSS signal, which may cause discontinuities in the phase measurement (i.e., cycle slips). These discontinuities may manifest as changes in the wavelength λ by an integer number (i.e., the integer ambiguity N changes by an arbitrary integer value). Different techniques (such as operating on undifferentiated, single-differenced, or double-differenced measurements between a satellite and receiver pair) may be used for cycle slip detection. When a cycle slip is detected in the second GNSS receiver, the IAR state becomes floating.
[0123] At stage 1210, the method includes correcting a cycle slip error in the second GNSS receiver based at least in part on a carrier phase value and an antenna baseline vector. The OBU 500 and the UE 200 are example components for correcting a cycle slip error. In an example, the first GNSS receiver may be configured to provide a carrier phase value to the second GNSS receiver via a wired or wireless connection (e.g., communication between the mobile device 806 and the OBU 804). The carrier phase value obtained from the first GNSS receiver is based on an IAR having a fixed state and may be used to correct the cycle slip error. In an example, the antenna baseline vector (i.e., the difference in the positions of the respective antennas of the first and second GNSS receivers) may be used to compensate for the carrier phase value.
[0124] refer to Figure 13 , further reference Figures 1 to 9 Method 1300 for improving positioning accuracy convergence between two GNSS receivers includes the stages shown. However, method 1300 is an example and not limiting. Method 1300 may be modified, for example, by adding, removing, rearranging, combining, performing concurrently, and / or splitting a single stage into multiple stages. For example, when determining an antenna baseline vector, providing the antenna baseline vector at stage 1306 may occur at stage 1302.
[0125] At stage 1302, the method includes determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver. The OBU 500 including the processor 510 and the interface 520 or the UE 200 including the processor 210 and the transceiver 215 are example components for determining the antenna baseline vector. In an example, the first GNSS receiver and the second GNSS receiver may include a processor configured to perform the following steps: Figure 10 The first GNSS receiver and the second GNSS receiver may be included in other devices such as the OBU 500 and the UE 200. Other techniques may be used to determine the relative positioning of the first antenna and the second antenna and calculate the antenna baseline vector 812.
[0126] At stage 1304, the method includes determining a first position estimate and a first integer ambiguity resolution (IAR) state using a first GNSS receiver. The OBU 500 and the UE 200 are example components for determining the first position estimate and the first IAR state. In the example, reference is made to Figure 9 , a first GNSS receiver, such as a mobile device, may be configured to utilize pseudorange calculations to determine the number of whole cycles on a path between a satellite and the receiver and determine integer ambiguities. In a first step of determining a positioning estimate, the GNSS receiver may be configured to estimate the integer ambiguities based on a statistical method such as least squares (LS). The IAR state in such a solution is a float state. In an additional step, the float solution is corrected using the integer ambiguity solution. The resulting positioning estimate is more accurate than the float solution and is referred to as a fixed baseline solution (i.e., the IAR state is fixed). Continued Figure 8 In the example of FIG. 8 , the GNSS receiver in the mobile device 806 can be configured to determine that the first estimate is more accurate than the floating solution and is referred to as a fixed baseline solution (i.e., the IAR state is fixed). The estimate and the corresponding IAR state (e.g., floating or fixed) are used.
[0127] At stage 1306, the method includes providing a first position estimate and antenna baseline vector to a second GNSS receiver in response to the first IAR state being fixed. The OBU 500 and the UE 200 are example components for providing the first position estimate and antenna baseline vector. In an example, the mobile device 806 (e.g., the first GNSS receiver) can be configured to communicate with the OBU 804 (e.g., the second GNSS receiver) via a wired or wireless protocol. In operation, when one of the GNSS receivers obtains an IAR fixed solution, the other GNSS receiver can quickly obtain an IAR fixed solution by using the IAR fixed solution from the first GNSS receiver in combination with the antenna baseline vector. In an automotive use case, when a user with a mobile device approaches a vehicle, the mobile device can generate a position estimate based on the IAR fixed solution (e.g., short-baseline RTK). As the user approaches, the mobile device and the vehicle can perform a ranging exchange (e.g., WiFi, Bluetooth, UWB) to determine the antenna baseline vector. The vehicle-based GNSS receiver may utilize the IAR fix solution obtained by the mobile device (eg, received from the mobile device via a sidelink transmission) in combination with the baseline vector to obtain the IAR fix solution.
[0128] 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 functions described above can be implemented using software executed by a processor, hardware, firmware, hardwiring, or any combination thereof. Features that implement the functions can also be physically located at different locations, including being distributed so that various parts of the functions are implemented at different physical locations.
[0129] As used herein, the singular forms "a," "an," and "the" include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the term "comprising" specifies the presence of recited features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0130] Furthermore, as used herein, the use of "or" in a list of items (possibly followed by "at least one of" or "one or more of") indicates a disjunctive list, such 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 the function with respect to A, or may be configured to perform the function with respect to B, or may be configured to perform the 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 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 B (and may be configured to select which one or both of A and B to measure). Similarly, a recitation of 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 one or both of A and B to measure). As another example, a recitation of an item (e.g., a processor) being configured to perform at least one of function X or 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 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 or both of X and Y to measure).
[0131] 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.
[0132] Substantial variations can be made depending on specific requirements. For example, customized hardware can also be used, and / or specific elements can be implemented in hardware, in software executed by a processor (including portable software, such as applets, etc.), or in both. In addition, connections to other computing devices such as network input / output devices can 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 can be connected directly or indirectly to enable communication therebetween.
[0133] The systems and devices discussed above are examples. Various configurations may omit, substitute, or add various processes or components as appropriate. For example, features described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of the configurations may be combined in similar ways. Furthermore, technology is constantly evolving, and therefore many of the elements are examples and do not limit the scope of this disclosure or the claims.
[0134] A wireless communication system is a system in which communications are transmitted wirelessly, i.e., via electromagnetic and / or acoustic waves propagating through airspace rather than through wires or other physical connections. A wireless communication network may not cause all communications to be transmitted wirelessly, but rather may be configured to cause at least some communications to be transmitted wirelessly. Furthermore, 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, nor does it require that communications using the wireless communication device be exclusively or even primarily wireless, nor does it require that the device be a mobile device. Instead, it indicates that the device includes wireless communication capabilities (unidirectional or bidirectional), for example, including at least one radio component (each of which is part of a transmitter, receiver, or transceiver) for wireless communication.
[0135] Specific details are provided in the description to provide a thorough understanding of example configurations (including specific implementations). However, the configurations can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail to avoid obscuring the configurations. The description provides example configurations and does not limit the scope, applicability, or configurations of the claims. Rather, the preceding description of the configurations provides a description for implementing the described techniques. Various changes may be made to the function and arrangement of elements.
[0136] 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 specific manner. Using a computing platform, various processor-readable media may be involved in providing instructions / code to a processor for execution, and / or may be used to store and / or carry such instructions / code (e.g., as signals). In many implementations, processor-readable media is a physical and / or tangible storage medium. Such media may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical and / or magnetic disks. Volatile media includes, but is not limited to, dynamic memory.
[0137] After describing several example configurations, various modifications, alternative configurations, and equivalents can be used. For example, the above elements can be components of a larger system, wherein other rules can take precedence over the application of the present disclosure or otherwise modify the application of the present disclosure. In addition, several operations can be taken before, during, or after considering the above elements. Accordingly, the above description does not limit the scope of the claims.
[0138] Unless otherwise indicated, “about” and / or “approximately” as used herein when referring 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 implementations described herein. Unless otherwise indicated, “substantially” as used herein when referring 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 implementations described herein.
[0139] A statement that a value exceeds (or is greater than or higher than) 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.
[0140] Specific implementation examples are described in the following numbered clauses:
[0141] Clause 1. A method for generating a false fix indication based on measurements from multiple global navigation satellite system (GNSS) receivers, the method comprising: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver at a first time; determining a second position estimate and a second IAR state using the second GNSS receiver at approximately the first time; calculating a horizontal offset value based on the antenna baseline vector and based on a difference between the first position estimate and the second position estimate; and generating the false fix indication in response to the first IAR state being fixed, the second IAR state being fixed, and the horizontal offset value being greater than a threshold.
[0142] Clause 2. The method of Clause 1, wherein at least one of the first GNSS receiver and the second GNSS receiver is a smartphone.
[0143] Clause 3. The method of clause 1, wherein at least one of the first GNSS receiver and the second GNSS receiver is a vehicle-mounted system, wherein the second antenna is in a fixed antenna position.
[0144] Clause 4. The method of Clause 1, wherein determining the antenna baseline vector comprises performing a radio frequency ranging exchange between a first device associated with the first GNSS receiver and a second device associated with the second GNSS receiver.
[0145] Clause 5. The method of clause 4, wherein the radio frequency ranging exchange comprises one or more ultra-wideband (UWB) ranging messages.
[0146] Clause 6. The method of clause 1, wherein determining the antenna baseline vector comprises obtaining respective position estimates for the first GNSS receiver and the second GNSS receiver based on precise point positioning (PPP) or real-time kinematics (RTK) and correction signals received from a reference GNSS station.
[0147] Clause 7. The method of Clause 1, wherein determining the antenna baseline vector comprises performing a physical pre-survey of the relative positions of the first antenna and the second antenna.
[0148] Clause 8. The method of Clause 1, further comprising converting the first IAR state or the second IAR state to a floating point value in response to generating the error fixed indication.
[0149] Clause 9. The method of clause 1, further comprising: initializing a second real-time kinematic (RTK) Kalman filter engine in the first GNSS receiver or the second GNSS receiver; and determining one or more corresponding positioning estimates for the first GNSS receiver or the second GNSS receiver in response to generating the false fix indication.
[0150] Clause 10. A method for fixing a cycle slip error in a global navigation satellite system (GNSS) receiver, the method comprising: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver at a first time; determining a second position estimate and a second IAR state using the second GNSS receiver at approximately the first time; determining a carrier phase value in the first GNSS receiver in response to the first IAR state being fixed and the second IAR state being floating; and fixing the cycle slip error in the second GNSS receiver based at least in part on the carrier phase value and the antenna baseline vector.
[0151] Clause 11. The method of Clause 10, wherein at least one of the first GNSS receiver and the second GNSS receiver is a smartphone.
[0152] Clause 12. The method of clause 10, wherein at least one of the first GNSS receiver and the second GNSS receiver is a vehicle-mounted system, wherein the second antenna is in a fixed antenna position.
[0153] Clause 13. The method of Clause 10, wherein determining the antenna baseline vector comprises performing a radio frequency ranging exchange between a first device associated with the first GNSS receiver and a second device associated with the second GNSS receiver.
[0154] Clause 14. The method of clause 10, wherein determining the antenna baseline vector comprises obtaining respective position estimates for the first GNSS receiver and the second GNSS receiver based on precise point positioning (PPP) or real-time kinematics (RTK) and correction signals received from a reference GNSS station.
[0155] Clause 15. The method of clause 10, wherein determining the antenna baseline vector comprises performing a physical pre-survey of the relative positions of the first antenna and the second antenna.
[0156] Clause 16. A method for improving positioning accuracy convergence in two global navigation satellite system (GNSS) receivers, the method comprising: determining an antenna baseline vector based on a relative position of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver; and providing the first position estimate and the antenna baseline vector to the second GNSS receiver in response to the first IAR state being fixed.
[0157] Clause 17. The method of Clause 16, wherein the first GNSS receiver is a smartphone and the second GNSS receiver is disposed in a vehicle, wherein the second antenna is located at a fixed position on the vehicle.
[0158] Clause 18. The method of clause 17, wherein the smartphone is located outside and adjacent to the vehicle, and determining the antenna baseline vector comprises performing a radio frequency ranging exchange between the smartphone and an onboard unit located in the vehicle.
[0159] Clause 19. The method of clause 18, wherein the radio frequency ranging exchange comprises one or more ultra-wideband (UWB) ranging messages.
[0160] Clause 20. The method of clause 18, wherein providing the first position estimate and the antenna baseline vector comprises providing one or more sidelink messages including the first position estimate and the antenna baseline vector to the onboard unit.
[0161] Clause 21. The method of clause 17, wherein the smartphone is located within the vehicle, and determining the antenna baseline vector comprises performing a radio frequency ranging exchange between the smartphone and an onboard unit located within the vehicle.
[0162] Clause 22. The method of clause 16, wherein determining the antenna baseline vector comprises obtaining respective position estimates for the first GNSS receiver and the second GNSS receiver based on precise point positioning (PPP) or real-time kinematics (RTK) and correction signals received from a reference GNSS station.
[0163] Clause 23. An apparatus comprising: a memory; at least one transceiver; at least one processor, the at least one processor being communicatively coupled to the memory and the at least one transceiver, and the at least one processor being configured to: determine an antenna baseline vector based on a relative position of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determine a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver at a first time; determine a second position estimate and a second IAR state using the second GNSS receiver at approximately the first time; calculate a horizontal offset value based on the antenna baseline vector and based on a difference between the first position estimate and the second position estimate; and generate a false fix indication in response to the first IAR state being fixed, the second IAR state being fixed, and the horizontal offset value being greater than a threshold.
[0164] Clause 24. The device of Clause 23, wherein at least one of the first GNSS receiver and the second GNSS receiver is a smartphone.
[0165] Clause 25. The apparatus of clause 23, wherein at least one of the first GNSS receiver and the second GNSS receiver is a vehicle-mounted system, wherein the second antenna is in a fixed antenna position.
[0166] Clause 26. The apparatus of clause 23, wherein the at least one processor is further configured to perform a radio frequency ranging exchange between a first device associated with the first GNSS receiver and a second device associated with the second GNSS receiver to determine the antenna baseline vector.
[0167] Clause 27. The apparatus of clause 26, wherein the radio frequency ranging exchange comprises one or more ultra-wideband (UWB) ranging messages.
[0168] Clause 28. The apparatus of clause 23, wherein the at least one processor is further configured to: obtain respective position estimates of the first GNSS receiver and the second GNSS receiver based on precise point positioning (PPP) or real-time kinematics (RTK) and correction signals received from a reference GNSS station to determine the antenna baseline vector.
[0169] Clause 29. The apparatus of clause 23, wherein the at least one processor is further configured to receive the relative position of the first antenna and the second antenna based on a physical pre-survey.
[0170] Clause 30. The apparatus of clause 23, wherein the at least one processor is further configured to convert the first IAR state or the second IAR state to a floating point value.
[0171] Clause 31. The method of clause 23, wherein the at least one processor is further configured to: initialize a second real-time kinematic (RTK) Kalman filter engine in the first GNSS receiver or the second GNSS receiver; and determine one or more corresponding positioning estimates for the first GNSS receiver or the second GNSS receiver.
[0172] Item 32. A device comprising: a memory; at least one transceiver; at least one processor, the at least one processor being communicatively coupled to the memory and the at least one transceiver, and the at least one processor being configured to: determine an antenna baseline vector based on a relative position of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determine a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver at a first time; determine a second position estimate and a second IAR state using the second GNSS receiver at approximately the first time; determine a carrier phase value in the first GNSS receiver in response to the first IAR state being fixed and the second IAR state being floating; and repair a cycle slip error in the second GNSS receiver based at least in part on the carrier phase value and the antenna baseline vector.
[0173] Clause 33. The device of clause 32, wherein at least one of the first GNSS receiver and the second GNSS receiver is a smartphone.
[0174] Clause 34. The apparatus of clause 32, wherein at least one of the first GNSS receiver and the second GNSS receiver is a vehicle-mounted system, wherein the second antenna is in a fixed antenna position.
[0175] Clause 35. The apparatus of clause 32, wherein the at least one processor is further configured to perform a radio frequency ranging exchange between a first device associated with the first GNSS receiver and a second device associated with the second GNSS receiver to determine the antenna baseline vector.
[0176] Clause 36. The apparatus of clause 32, wherein the at least one processor is further configured to: obtain respective positioning estimates of the first GNSS receiver and the second GNSS receiver based on precise point positioning (PPP) or real-time kinematics (RTK) and correction signals received from a reference GNSS station to determine the antenna baseline vector.
[0177] Clause 37. The apparatus of clause 32, wherein the at least one processor is further configured to receive the relative position of the first antenna and the second antenna based on a physical pre-survey.
[0178] Clause 38. An apparatus comprising: a memory; at least one transceiver; at least one processor, the at least one processor being communicatively coupled to the memory and the at least one transceiver, and the at least one processor being configured to: determine an antenna baseline vector based on a relative position of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determine a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver; and provide the first position estimate and the antenna baseline vector to the second GNSS receiver in response to the first IAR state being fixed.
[0179] Clause 39. The apparatus of Clause 28, wherein the first GNSS receiver is a smartphone and the second GNSS receiver is disposed in a vehicle, wherein the second antenna is located at a fixed position on the vehicle.
[0180] Clause 40. The apparatus of clause 39, wherein the smartphone is disposed outside of and proximate to the vehicle, and the at least one processor is further configured to perform a radio frequency ranging exchange with the smartphone.
[0181] Clause 41. The apparatus of clause 40, wherein the radio frequency ranging exchange comprises one or more ultra-wideband (UWB) ranging messages.
[0182] Clause 42. The apparatus of clause 40, wherein the at least one processor is further configured to provide one or more sidelink messages comprising the first positioning estimate and the antenna baseline vector.
[0183] Clause 43. The apparatus of Clause 39, wherein the smartphone is disposed within the vehicle, and the at least one processor is further configured to perform a radio frequency ranging exchange with the smartphone.
[0184] Clause 44. The apparatus of clause 38, wherein the at least one processor is further configured to obtain respective position estimates for the first GNSS receiver and the second GNSS receiver based on precise point positioning (PPP) or real-time kinematics (RTK) and correction signals received from a reference GNSS station.
[0185] Item 45. An apparatus for generating a false fix indication based on measurements from multiple global navigation satellite system (GNSS) receivers, the apparatus comprising: means for determining an antenna baseline vector based on the relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; means for determining a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver at a first time; means for determining a second position estimate and a second IAR state using the second GNSS receiver at approximately the first time; means for calculating a horizontal offset value based on the antenna baseline vector and based on a difference between the first position estimate and the second position estimate; and means for generating the false fix indication in response to the first IAR state being fixed, the second IAR state being fixed, and the horizontal offset value being greater than a threshold.
[0186] Item 46. An apparatus for fixing a cycle slip error in a global navigation satellite system (GNSS) receiver, the apparatus comprising: means for determining an antenna baseline vector based on a relative position of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; means for determining a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver at a first time; means for determining a second position estimate and a second IAR state using the second GNSS receiver at approximately the first time; means for determining a carrier phase value in the first GNSS receiver in response to the first IAR state being fixed and the second IAR state being floating; and means for fixing the cycle slip error in the second GNSS receiver based at least in part on the carrier phase value and the antenna baseline vector.
[0187] Clause 47. An apparatus for improving positioning accuracy convergence in two global navigation satellite system (GNSS) receivers, the apparatus comprising: means for determining an antenna baseline vector based on a relative position of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; means for determining a first positioning estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver; and means for providing the first positioning estimate and the antenna baseline vector to the second GNSS receiver in response to the first IAR state being fixed.
[0188] Item 48. A non-transitory processor-readable storage medium comprising processor-readable instructions, the processor-readable instructions configured to cause one or more processors to generate a false fix indication based on measurements from multiple global navigation satellite system (GNSS) receivers, the non-transitory processor-readable storage medium comprising code for: determining an antenna baseline vector based on the relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver at a first time; determining a second position estimate and a second IAR state using the second GNSS receiver at approximately the first time; calculating a horizontal offset value based on the antenna baseline vector and based on a difference between the first position estimate and the second position estimate; and generating the false fix indication in response to the first IAR state being fixed, the second IAR state being fixed, and the horizontal offset value being greater than a threshold.
[0189] Item 49. A non-transitory processor-readable storage medium comprising processor-readable instructions, the processor-readable instructions being configured to cause one or more processors to repair a cycle slip error in a global navigation satellite system (GNSS) receiver, the non-transitory processor-readable storage medium comprising code for: determining an antenna baseline vector based on a relative position of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver at a first time; determining a second position estimate and a second IAR state using the second GNSS receiver at approximately the first time; determining a carrier phase value in the first GNSS receiver in response to the first IAR state being fixed and the second IAR state being floating; and repairing the cycle slip error in the second GNSS receiver based at least in part on the carrier phase value and the antenna baseline vector.
[0190] Item 50. A non-transitory processor-readable storage medium comprising processor-readable instructions configured to cause one or more processors to improve positioning accuracy convergence in two global navigation satellite system (GNSS) receivers, the non-transitory processor-readable storage medium comprising code for: determining an antenna baseline vector based on a relative position of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining a first position estimate and a first integer ambiguity resolution (IAR) state using the first GNSS receiver; and providing the first position estimate and the antenna baseline vector to the second GNSS receiver in response to the first IAR state being fixed.
Claims
1. A method for generating a false fix indication based on measurements from a plurality of Global Navigation Satellite System (GNSS) receivers, the method comprising: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining, at a first time, using the first GNSS receiver, a first position estimate and a first integer ambiguity resolution (IAR) state; determining, using the second GNSS receiver, a second position estimate and a second IAR state at approximately the first time; calculating a horizontal offset value based on the antenna baseline vector and based on a difference between the first location estimate and the second location estimate; as well as The false stuck indication is generated in response to the first IAR state being stuck, the second IAR state being stuck, and the horizontal offset value being greater than a threshold. 2 . The method of claim 1 , wherein at least one of the first GNSS receiver and the second GNSS receiver is a smartphone. 3 . The method of claim 1 , wherein at least one of the first GNSS receiver and the second GNSS receiver is a vehicle-mounted system, wherein the second antenna is in a fixed antenna position.
4. The method of claim 1 , wherein determining the antenna baseline vector comprises: A radio frequency ranging exchange is performed between a first device associated with the first GNSS receiver and a second device associated with the second GNSS receiver. 5 . The method of claim 4 , wherein the radio frequency ranging exchange comprises one or more ultra-wideband (UWB) ranging messages.
6. The method of claim 1 , wherein determining the antenna baseline vector comprises: Respective position estimates for the first and second GNSS receivers are obtained based on Precise Point Positioning (PPP) or Real-Time Kinematics (RTK) and correction signals received from a reference GNSS station.
7. The method of claim 1 , wherein determining the antenna baseline vector comprises: A physical pre-survey of the relative positions of the first antenna and the second antenna is performed.
8. The method according to claim 1, further comprising: The first IAR state or the second IAR state is converted to a floating point value in response to generating the error stuck indication.
9. The method according to claim 1, further comprising: Initializing a second real-time kinematic (RTK) Kalman filter engine in the first GNSS receiver or the second GNSS receiver; and determining one or more respective position estimates for the first GNSS receiver or the second GNSS receiver in response to generating the false fix indication.
10. A method for correcting cycle slip errors in a Global Navigation Satellite System (GNSS) receiver, the method comprising: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining, at a first time, using the first GNSS receiver, a first position estimate and a first integer ambiguity resolution (IAR) state; determining, using the second GNSS receiver, a second position estimate and a second IAR state at approximately the first time; determining a carrier phase value in the first GNSS receiver in response to the first IAR state being fixed and the second IAR state being floating; as well as The cycle slip error in the second GNSS receiver is fixed based at least in part on the carrier phase value and the antenna baseline vector. The method of claim 10 , wherein at least one of the first GNSS receiver and the second GNSS receiver is a smartphone. 12 . The method of claim 10 , wherein at least one of the first GNSS receiver and the second GNSS receiver is a vehicle-mounted system, wherein the second antenna is in a fixed antenna position.
13. The method of claim 10, wherein determining the antenna baseline vector comprises: A radio frequency ranging exchange is performed between a first device associated with the first GNSS receiver and a second device associated with the second GNSS receiver.
14. The method of claim 10, wherein determining the antenna baseline vector comprises: Respective position estimates for the first and second GNSS receivers are obtained based on Precise Point Positioning (PPP) or Real-Time Kinematics (RTK) and correction signals received from a reference GNSS station.
15. The method of claim 10, wherein determining the antenna baseline vector comprises: A physical pre-survey of the relative positions of the first antenna and the second antenna is performed.
16. A method for improving positioning accuracy convergence in two Global Navigation Satellite System (GNSS) receivers, the method comprising: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining, using the first GNSS receiver, a first position estimate and a first integer ambiguity resolution (IAR) state; as well as The first position estimate and the antenna baseline vector are provided to the second GNSS receiver in response to the first IAR state being stationary. 17 . The method of claim 16 , wherein the first GNSS receiver is a smartphone and the second GNSS receiver is disposed in a vehicle, wherein the second antenna is located at a fixed position on the vehicle.
18. The method of claim 17, wherein the smartphone is located outside and adjacent to the vehicle, and determining the antenna baseline vector comprises: A radio frequency ranging exchange is performed between the smartphone and an on-board unit provided in the vehicle.
19. The method of claim 18, wherein the radio frequency ranging exchange comprises one or more ultra-wideband (UWB) ranging messages.
20. The method of claim 18, wherein providing the first location estimate and the antenna baseline vector comprises: One or more sidelink messages including the first position estimate and the antenna baseline vector are provided to the onboard unit.
21. The method of claim 17, wherein the smartphone is located within the vehicle, and determining the antenna baseline vector comprises: A radio frequency ranging exchange is performed between the smartphone and an on-board unit provided in the vehicle.
22. The method of claim 16, wherein determining the antenna baseline vector comprises: Respective position estimates for the first and second GNSS receivers are obtained based on Precise Point Positioning (PPP) or Real-Time Kinematics (RTK) and correction signals received from a reference GNSS station.
23. A device comprising: Memory; at least one transceiver; at least one processor communicatively coupled to the memory and the at least one transceiver, and configured to: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining, at a first time, using the first GNSS receiver, a first position estimate and a first integer ambiguity resolution (IAR) state; determining, using the second GNSS receiver, a second position estimate and a second IAR state at approximately the first time; calculating a horizontal offset value based on the antenna baseline vector and based on a difference between the first location estimate and the second location estimate; as well as A false stuck indication is generated in response to the first IAR state being stuck, the second IAR state being stuck, and the horizontal offset value being greater than a threshold.
24. The device of claim 23, wherein at least one of the first GNSS receiver and the second GNSS receiver is a smartphone.
25. The apparatus of claim 23, wherein at least one of the first GNSS receiver and the second GNSS receiver is a vehicle-mounted system, wherein the second antenna is in a fixed antenna position.
26. The apparatus of claim 23, wherein the at least one processor is further configured to perform a radio frequency ranging exchange between a first device associated with the first GNSS receiver and a second device associated with the second GNSS receiver to determine the antenna baseline vector.
27. The apparatus of claim 26, wherein the radio frequency ranging exchange comprises one or more ultra-wideband (UWB) ranging messages.
28. The apparatus of claim 23, wherein the at least one processor is further configured to obtain respective position estimates for the first and second GNSS receivers based on Precise Point Positioning (PPP) or Real-Time Kinematics (RTK) and correction signals received from a reference GNSS station to determine the antenna baseline vector.
29. The apparatus of claim 23, wherein the at least one processor is further configured to receive the relative positions of the first and second antennas based on a physical pre-survey.
30. The apparatus of claim 23, wherein the at least one processor is further configured to convert the first IAR state or the second IAR state to a floating point value.
31. The apparatus of claim 23, wherein the at least one processor is further configured to: initialize a second real-time kinematic (RTK) Kalman filter engine in the first GNSS receiver or the second GNSS receiver; and determine one or more respective position estimates for the first GNSS receiver or the second GNSS receiver.
32. A device comprising: Memory; at least one transceiver; at least one processor communicatively coupled to the memory and the at least one transceiver, and configured to: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining, at a first time, using the first GNSS receiver, a first position estimate and a first integer ambiguity resolution (IAR) state; determining, using the second GNSS receiver, a second position estimate and a second IAR state at approximately the first time; determining a carrier phase value in the first GNSS receiver in response to the first IAR state being fixed and the second IAR state being floating; as well as A cycle slip error in the second GNSS receiver is repaired based at least in part on the carrier phase value and the antenna baseline vector.
33. The device of claim 32, wherein at least one of the first GNSS receiver and the second GNSS receiver is a smartphone.
34. The device of claim 32, wherein at least one of the first GNSS receiver and the second GNSS receiver is a vehicle-mounted system, wherein the second antenna is in a fixed antenna position.
35. The apparatus of claim 32, wherein the at least one processor is further configured to perform a radio frequency ranging exchange between a first device associated with the first GNSS receiver and a second device associated with the second GNSS receiver to determine the antenna baseline vector.
36. The apparatus of claim 32, wherein the at least one processor is further configured to obtain respective position estimates for the first and second GNSS receivers based on Precise Point Positioning (PPP) or Real-Time Kinematics (RTK) and correction signals received from a reference GNSS station to determine the antenna baseline vector.
37. The apparatus of claim 32, wherein the at least one processor is further configured to receive the relative positions of the first and second antennas based on a physical pre-survey.
38. An apparatus comprising: Memory; at least one transceiver; at least one processor communicatively coupled to the memory and the at least one transceiver, and configured to: determining an antenna baseline vector based on relative positions of a first antenna communicatively coupled to a first global navigation satellite system (GNSS) receiver and a second antenna communicatively coupled to a second GNSS receiver; determining, using the first GNSS receiver, a first position estimate and a first integer ambiguity resolution (IAR) state; as well as The first position estimate and the antenna baseline vector are provided to the second GNSS receiver in response to the first IAR state being stationary.
39. The apparatus of claim 28, wherein the first GNSS receiver is a smartphone and the second GNSS receiver is disposed in a vehicle, wherein the second antenna is located at a fixed position on the vehicle.
40. The apparatus of claim 39, wherein the smartphone is disposed outside of and adjacent to the vehicle, and the at least one processor is further configured to perform a radio frequency ranging exchange with the smartphone.