Notch filter codephase impact mitigation
Patent Information
- Application Number
- TW110143792
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-11-23
- Filing Date
- 2021-11-24
- Publication Date
- 2026-08-11
- Estimated Expiration
- 2041-11-23
AI Technical Summary
GNSS receivers are affected by local interference from other wireless technologies like Wi-Fi and Bluetooth, leading to inaccurate code phase measurements and positioning errors due to notch filtering impacts.
Implementing notch filters with programmable center frequencies and bandwidths to mitigate interference, using lookup tables or interpolation functions to correct code phase errors based on pseudorandom noise codes and Doppler frequencies.
Improves the accuracy of GNSS positioning by correcting code phase measurements, enhancing the precision of distance calculations to satellite vehicles.
Smart Images

Figure TWG2TB001904911_001 
Figure TWG2TB001904911_002 
Figure TWG2TB001904911_003
Abstract
Description
[Technical Field]
[0001] This invention relates to mitigating the influence of notch filter code phase. [Previous Technology]
[0002] Wireless communication systems have evolved through several generations, including first-generation analog wireless telephony (1G), second-generation (2G) digital wireless telephony (including 2.5G and 2.75G networks for the transition), third-generation (3G) high-speed data, wireless services supporting the Internet, fourth-generation (4G) services (such as Long Term Evolution (LTE) or WiMax), and fifth-generation (5G) services. Currently, many different types of wireless communication systems are in use, including cellular and Personal Communication Services (PCS) systems. Known examples of cellular systems include the Cellular Analog Advanced Mobile Telephone System (AMPS), and digital cellular systems based on Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), and GSM variants of TDMA.
[0003] It is generally desirable to know the location of a user equipment (UE) (e.g., a cellular phone). The terms "location" and "position" may be synonymous and used interchangeably herein. A Location Service (LCS) client may want to know the location of the UE and may communicate with a location center to request the UE's location. The location center and the UE may exchange messages appropriately to obtain a location estimate of the UE. The location center may return the location estimate to the LCS client, for example, for one or more applications.
[0004] Obtaining the location of a mobile device accessing a wireless network can be useful for many applications, including, for example, emergency calls, personal navigation, asset tracking, locating friends or family members, etc. Existing location methods include those based on measuring radio signals emitted from various devices, including satellite vehicles and terrestrial wireless power sources such as base stations and access points within the wireless network.
[0005] Many UEs include Global Navigation Satellite System (GNSS) receivers and can determine their location by precisely measuring the arrival times of signal transmission events received from multiple satellites. Satellite vehicles (SVs) in GNSS typically use a spread spectrum coding method to transmit data. For example, the Global Positioning System (GPS) uses Code Division Multiplexing Access (CDMA). Each SV is assigned a coarse capture (CA) code, similar to pseudo-random noise, and each SV has a unique CA code. Each SV encodes data using its own CA code and transmits the encoded data on a carrier frequency. Therefore, multiple SVs may transmit data simultaneously on a shared carrier frequency. Each CA code consists of a sequence of 1023 "chips," with each chip assigned a value of 1 or 0. The CA code is transmitted at a rate of 1.023 MHz, so each chip cycle is approximately 0.977 μs. Each SV continuously transmits a repeating pattern composed of its own CA code. GPS SVs can encode navigation or system data by reversing the transmitted CA code. CA code phase refers to the relationship between the CA code and other CA codes transmitted by a reference clock or other SVs. Although the CA code phase can be synchronized between SVs during transmission, the CA codes may be received at different delays at the GPS receiver due to their different propagation times. Typically, the GPS receiver determines which CA codes it is receiving in order to determine which GPS satellites are within its field of view.
[0006] Receiving signals from GPS satellites presents numerous obstacles. In particular, UEs also configured to utilize other wireless technologies, such as Wi-Fi, Bluetooth, and other cellular-based technologies, may generate spread spectrum signals that interfere with the use of GNSS receivers. For example, harmonics or other artifacts from the UE's internal oscillator can cause localized jamming in one or more areas of the radio spectrum used by the GNSS receiver. Notch filtering within the GNSS receiver can be used to reduce the impact of such interference signals. [Summary of the Invention]
[0007] An example method for determining the distance to a satellite vehicle using a receiver according to the present disclosure includes: receiving a signal from the satellite vehicle; determining one or more notch filter configurations; determining a pseudo-random noise code and a Doppler frequency associated with the signal; determining a code phase correction value based at least on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency; and calculating the distance (range) to the satellite vehicle based at least in part on the signal and the code phase correction value.
[0008] This method may include one or more of the following features: Determining the code phase correction value may include obtaining the code phase correction value from a lookup table based on one or more notch filter configurations, pseudo-random noise codes, and Doppler frequencies. Auxiliary data, including a lookup table, may be received from a network entity. The auxiliary data may be received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages. The auxiliary data may be received via one or more Radio Resource Control (RRC) messages. Determining the code phase correction value may include obtaining the code phase correction value based on an interpolation function. The lookup table may be generated by the receiver based on a modeled autocorrelation function of a complex number of notch filter configurations, and wherein determining the code phase correction value includes obtaining the code phase correction value from the lookup table based on one or more notch filter configurations, pseudo-random noise codes, and Doppler frequencies. The one or more notch filter configurations may include one or more notch frequencies and one or more bandwidths associated with the one or more notch frequencies. Calculating the distance to the satellite may include determining the pseudorange to the satellite based on the signal. The receiver may include one or more notch filters, which are composed of one or more digital filters having programmable center frequencies and bandwidths.
[0009] An example apparatus according to this disclosure includes: a memory; at least one satellite positioning system receiver configured to receive signals from a satellite vehicle; at least one processor communicatively coupled to the memory and the at least one satellite positioning system receiver, and configured to: receive signals from the satellite vehicle, determine one or more notch filter configurations, determine a pseudo-random noise code and a Doppler frequency associated with the signal, determine a code phase correction value based at least on the one or more notch filter configurations, the pseudo-random noise code and the Doppler frequency, and calculate the distance to the satellite vehicle based at least in part on the signal and the code phase correction value.
[0010] Such an implementation may include one or more of the following features. The at least one processor may also be configured to obtain code phase correction values from a lookup table based on one or more notch filter configurations, pseudo-random noise codes, and Doppler frequencies. The device may include at least one transceiver communicatively coupled to at least one processor, such that the at least one processor is also configured to receive auxiliary data from a network entity, wherein the auxiliary data includes a lookup table. The auxiliary data may be received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages. The auxiliary data may be received via one or more Radio Resource Control (RRC) messages. The at least one processor may also be configured to obtain code phase correction values based on an interpolation function. The at least one processor may also be configured to generate a lookup table based on a modeled autocorrelation function of a plurality of notch filter configurations, and obtain code phase correction values from the lookup table based on one or more notch filter configurations, pseudo-random noise codes, and Doppler frequencies. The one or more notch filter configurations may include one or more notch frequencies and one or more bandwidths associated with the one or more notch frequencies. The at least one processor can also be configured to determine the pseudorange to the satellite vehicle based on the signal. One or more notch filter configurations may include one or more digital filters with programmable center frequencies and bandwidths.
[0011] An example apparatus for determining the distance to a satellite vehicle according to the present disclosure includes components for receiving a signal from the satellite vehicle; components for determining one or more notch filter configurations; components for determining a pseudo-random noise code and a Doppler frequency associated with the signal; components for determining a code phase correction value based at least on one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency; and components for calculating the distance to the satellite vehicle based at least in part on the signal and the code phase correction value.
[0012] An example non-transitory processor-readable storage medium according to this disclosure includes processor-readable instructions for enabling one or more processors to determine the distance to a satellite vehicle, including code for receiving signals from a satellite vehicle; code for determining one or more notch filter configurations; code for determining a pseudo-random noise code and a Doppler frequency associated with the signal; code for determining a code phase correction value based at least on one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency; and code for calculating the distance to the satellite vehicle based at least in part on the signal and the code phase correction value.
[0013] The projects and / or techniques described herein may provide one or more of the following capabilities, as well as other capabilities not mentioned. A GNSS receiver may receive signals in the radio spectrum from a satellite vehicle. Reception in one or more frequencies within the spectrum may be attenuated due to local interference. Notch filters may be used to mitigate the effects of interference. The accuracy of code phase measurements may be reduced due to the use of notch filters. The impact on code phase measurements depends on the pseudo-random noise code of the received signal, the Doppler frequency of the satellite vehicle, and the notch configuration. A lookup table may be generated to select code phase correction values based on the pseudo-random noise code of the received signal, the Doppler frequency of the satellite vehicle, and the notch configuration. The lookup table may be generated locally on the GNSS receiver and / or received from the network as supplementary data. The code phase correction values may be used to improve distance calculations. The accuracy of GNSS position estimation may be improved. Other capabilities may also be provided, and not every implementation according to this disclosure is required to provide any, let alone all, of the capabilities discussed.
Implementation Method
[0027] This paper discusses techniques for overcoming narrowband interference using notch filters. A notch filter is defined as any receiver element or process that attenuates or removes a portion of the received signal. For example, a programmable filter can be used to attenuate a portion of the received spectrum around a programmable narrowband interference frequency. Alternatively, a self-adjusting filter that automatically updates its frequency response can be used to attenuate the received spectrum around any dynamically occurring narrowband interference. Alternatively, an interference canceller can be used where the narrowband interference signal is estimated and subtracted from the received signal. Filtering or interference cancellation can be achieved by analog or digital components or any combination thereof. The digital front end (DFE) in a GNSS receiver can utilize notch filters to mitigate the effects of narrowband interference, such as interference caused by primary and / or harmonic signals generated by other oscillators in the mobile device. In operation, notch filters may affect code phase measurements obtained by the GNSS receiver, and therefore may also affect the accuracy of position estimation based on the measurements. Distortion in code phase measurements can be based on several factors, such as the number and bandwidth of notch filters, the pseudo-random noise (PRN) code transmitted for the SV, and the notch frequency relative to the SV Doppler frequency. In this example, the techniques provided herein utilize one or more lookup tables (LUTs) to determine the code phase error value based on the PRN code, notch frequency, notch bandwidth, and SV Doppler frequency. The LUT can be provided to the UE via a communication network (e.g., as distance-aided data) and / or other device-to-device communication links. In another example, the code phase error value can be generated online (i.e., locally at the UE) based on the PRN code, notch frequency, notch bandwidth, and SV Doppler frequency. Online generation of the code phase error can mitigate dynamic notch filtering. These techniques and configurations are examples, and other techniques and configurations can be used.
[0028] Referring to Figure 1, an example of the communication system 100 includes a UE 105, a radio access network (RAN) 135 (here, a fifth-generation (5G) next-generation (NG) RAN (NG-RAN), and a 5G core network (5GC) 140. The UE 105 can be, for example, an IoT device, a location tracking device, a cellular phone, or other device. The 5G network can also be referred to as a new radio (NR) network; the NG-RAN 135 can be referred to as a 5G RAN or an NR RAN; and the 5GC 140 can be referred to as an NG core network (NGC). The 3rd Generation Partnership Project (3GPP) is standardizing NG-RAN and 5GC. Therefore, NG-RAN 135 and 5GC 140 can conform to current or future standards for 5G support from 3GPP. RAN 135 can be another type of RAN, for example, 3G... RAN, 4G Long Term Evolution (LTE) RAN, etc. Communication system 100 can use information from the cluster 185 of satellite vehicles (SVs) 190, 191, 192, 193 for satellite positioning systems (SPS) (e.g., Global Navigation Satellite Systems (GNSS)), such as GPS, 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.
[0029] As shown in Figure 1, NG-RAN 135 includes NR Node B (gNB) 110a, 110b and Next Generation eNode B (ng-eNB) 114, and 5GC 140 includes Access and Mobility Management Function (AMF) 115, Communication Management Function (SMF) 117, Location Management Function (LMF) 120 and Gateway Mobility Location Center (GMLC) 125. gNB 110a, 110b and ng-eNB 114 are communicatively coupled to each other and are each configured to perform bidirectional radio communication with UE 105, and are each communicatively coupled to AMF 115 and configured to perform bidirectional communication with AMF 115. AMF 115, SMF 117, LMF 120 and GMLC 125 are communicatively coupled to each other, and GMLC is communicatively coupled to external client 130. SMF 117 can act as the initial contact point for Service Control Functions (SCF) (not shown) to establish, control, and delete media communication periods.
[0030] Figure 1 provides a general overview of the various components, any or all of which may be appropriately utilized, and each of which may be copied or omitted as needed. Specifically, although only one UE 105 is shown, many UEs (e.g., hundreds, thousands, millions, etc.) may be utilized in the communication system 100. Similarly, the communication system 100 may include a larger (or smaller) number of SVs (i.e., more or fewer than the four SVs 190-193 shown), gNBs 110a and 110b, ng-eNB 114, AMF 115, external client 130, and / or other components. The connections of the various components in the connected communication system 100 shown include data and signal transmission connections, which may include additional (intermediate) components, direct or indirect physical and / or wireless connections and / or additional networks. Furthermore, depending on the desired functionality, components may be rearranged, combined, separated, replaced, and / or omitted.
[0031] Although Figure 1 illustrates a 5G-based network, similar network implementations and configurations can be used for other communication technologies, such as 3G, Long Term Evolution (LTE), etc. The implementations described herein (whether for 5G technology and / or for one or more other communication technologies and / or protocols) can be used to transmit (or broadcast) directional synchronization signals, receive and measure directional signals at the UE (e.g., UE 105), and / or provide location assistance to the UE 105 (via GMLC 125 or other location servers), and / or calculate the location of the UE 105 at a positioning-capable device such as the UE 105, gNB 110a, 110b, or LMF 120 based on the measurement of such directional transmission signals received at the UE 105. The Gateway Movement Location Center (GMLC) 125, Location Management Function (LMF) 120, Access and Mobility Management Function (AMF) 115, SMF 117, ng-eNB (e-node B) 114, and gNB (g-node B) 110a, 110b are examples, and in various embodiments, various other location server functions and / or base station functions may be replaced by or included by various other location server functions and / or base station functions.
[0032] UE 105 may include and / or may be referred to as a device, mobile device, wireless device, mobile terminal, terminal, mobile station (MS), secure user plane positioning (SUPL) enabled terminal (SET), or some other name. In addition, UE 105 may correspond to a mobile phone, smartphone, laptop, tablet computer, PDA, tracking device, navigation device, Internet of Things (IoT) device, asset tracker, health monitor, security system, smart city sensor, smart meter, wearable tracker, or some other portable or mobile device. Typically, though not required, UE 105 can support wireless communications using one or more Radio Access Technologies (RATs), such as Global System for Mobile Communications (GSM), Code Division Multiplexing Access (CDMA), Wideband CDMA (WCDMA), LTE, High-Speed Packet Data (HRPD), IEEE 802.11 WiFi (also known as Wi-Fi), Bluetooth® (BT), WiMAX, and 5G New Radio (NR) (e.g., using NG-RAN 135 and 5GC 140). UE 105 can also support wireless communications using a Wireless Local Area Network (WLAN) that can be connected to other networks (e.g., the Internet) via, for example, Digital Subscriber Line (DSL) or packet cable connections. The use of one or more of these RATs may allow UE 105 to communicate with external client 130 (e.g., via an element of 5GC 140 not shown in FIG. 1, or possibly via GMLC 125), and / or allow external client 130 to receive location information about UE 105 (e.g., via GMLC 125).
[0033] UE 105 may include a single entity or may include multiple entities, such as in a personal area network, where the 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 estimation of the location of UE 105 may be referred to as location, location estimation, location determination, determination, location determination, location estimation, or location determination, and may be geographic, thereby providing the location coordinates of UE 105 (e.g., latitude and longitude), which may or may not include an elevation component (e.g., height above sea level, height above ground level, or depth below ground level, floor level, or basement level). Optionally, the location of UE 105 may be represented as a city location (e.g., as a postal address or a marker of a point or small area within a building, such as a specific room or floor). The location of UE 105 may be represented as the area or volume (defined in geographic or urban form) in which UE 105 is expected to be located with a certain probability or confidence level (e.g., 67%, 95%, etc.). The location of UE 105 can be represented as a relative location, including, for example, distance and direction from a known location. A relative location can be represented as relative coordinates (e.g., X, Y (and Z) coordinates) defined relative to an origin at a known location, which can be defined, for example, geographically, in municipal terms, or by reference to a point, area, or volume indicated on, for example, a map, floor plan, or building plan. In the description contained herein, unless otherwise indicated, the use of the term "location" can include any of these variations. When calculating the location of the UE, typically local x, y, and possibly z coordinates are solved, and then, if necessary, the local coordinates are converted to absolute coordinates (e.g., latitude, longitude, and altitude above or below mean sea level).
[0034] UE 105 can be configured to communicate with other entities using one or more of a variety of technologies. UE 105 can be configured to be indirectly connected to one or more communication networks via one or more device-to-device (D2D) peer-to-peer (P2P) links. The D2D P2P links can be supported by any suitable D2D radio access technology (RAT), such as LTE Direct (LTE-D), WiFi Direct (WiFi-D), Bluetooth®, etc. One or more of a group of UEs utilizing D2D communication can be within the geographic coverage area of a Transmit / Receive Point (TRP), such as one or more gNBs 110a, 110b, and / or ng-eNBs 114. Other UEs in the group may be outside such geographic coverage areas or may not be able to receive transmissions from base stations in other ways. A group of UEs communicating via D2D communication can utilize a one-to-many (1:M) system, where each UE can transmit to other UEs in the group. The TRP may help schedule resources for D2D communication. In other cases, D2D communication can be performed between UEs without involving TRP.
[0035] The base stations (BS) in the NG-RAN 135 shown in Figure 1 include NR nodes B, referred to as gNBs 110a and 110b. The paired gNBs 110a and 110b in the NG-RAN 135 can be interconnected via one or more other gNBs. Access to the 5G network is provided to the UE 105 via radio communication between the UE 105 and one or more gNBs 110a and 110b, where gNBs 110a and 110b can use 5G to provide radio communication access to the 5GC 140 on behalf of the UE 105. In Figure 1, it is assumed that the serving gNB for the UE 105 is gNB 110a, although if the UE 105 moves to another location, another gNB (e.g., gNB 110b) can act as the serving gNB, or can act as an auxiliary gNB to provide additional throughput and bandwidth to the UE 105.
[0036] The base station (BS) in the NG-RAN 135 shown in Figure 1 may include ng-eNB 114, also known as Next Generation Evolution Node B. ng-eNB 114 may connect to one or more gNBs 110a, 110b in the 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 gNBs 110a, 110b and / or ng-eNB 114 may be configured as location-only beacons, which may transmit signals to assist in determining the location of UE 105, but may not receive signals from UE 105 or other UEs.
[0037] Base stations, such as gNB 110a, gNB 110b, and ng-eNB 114, may each include one or more TRPs. For example, each sector within a BS cell may include a TRP, but multiple TRPs may share one or more components (e.g., sharing a processor but having separate antennas). System 100 may include macro TRPs, or system 100 may have different types of TRPs, such as macro, pico, and / or femto TRPs. Macro TRPs may cover a relatively large geographic area (e.g., a radius of several kilometers) and may allow unrestricted access to terminals with service subscriptions. Pico TRPs may cover a relatively small geographic area (e.g., a pico cell) and may allow unrestricted access to terminals with service subscriptions. Femto or home TRPs may cover a relatively small geographic area (e.g., a femto cell) and may allow restricted access to terminals associated with a femto cell (e.g., terminals of home users).
[0038] As described, although Figure 1 depicts a node configured to communicate according to a 5G communication protocol, nodes configured to communicate according to other communication protocols, such as, for example, the LTE protocol or the IEEE 802.11x protocol, can be used. For example, in an Evolved Packet System (EPS) providing LTE radio access to UE 105, the RAN may include an Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN), which may include base stations including Evolved Node Bs (eNBs). The core network of the EPS may include an Evolved Packet Core (EPC). The EPS may include E-UTRAN plus EPC, where E-UTRAN corresponds to NG-RAN 135 and EPC corresponds to 5GC 140 in Figure 1.
[0039] gNB 110a, 110b and ng-eNB 114 can communicate with AMF 115, which in turn communicates with LMF 120 for positioning functions. AMF 115 can support the mobility of UE 105, including cell alteration and handover, and can participate in supporting signal transmission connections to UE 105, and may support data and voice bearers of UE 105. LMF 120 can communicate directly with UE 105, for example, via radio communication. LMF 120 can support the positioning of UE 105 when UE 105 accesses NG-RAN 135, and can support positioning procedures / methods such as Assisted GNSS (A-GNSS), Observed Time Difference of Arrival (OTDOA), Real-Time Kinematics (RTK), Precise Point Positioning (PPP), Differential GNSS (DGNSS), Enhanced Cellular ID (E-CID), Angle of Arrival (AOA), Angle of Departure (AOD) and / or other positioning methods. LMF 120 can process location service requests for UE 105, for example, received from AMF 115 or GMLC 125. LMF 120 can connect to AMF 115 and / or GMLC 125. LMF 120 may be referred to by other names, such as Location Manager (LM), Location Function (LF), Commercial LMF (CLMF), or Value-Added LMF (VLMF). Nodes / systems implementing LMF 120 may additionally or alternatively implement other types of location support modules, such as Enhanced Services Mobile Location Center (E-SMLC) or Secure User Plane Positioning (SUPL) Positioning Platform (SLP). At least a portion of the location functionality (including deriving the location of UE 105) can be performed at UE 105 (e.g., using signal measurements obtained by UE 105 against signals transmitted by radio nodes such as gNB 110a, 110b, and ng-eNB 114, and / or auxiliary data provided to UE 105, for example, by LMF 120).
[0040] GMLC 125 can support location requests for UE 105 received from external client 130, and can forward such location requests to AMF 115, so that AMF 115 can forward them to LMF 120, or the location request can be forwarded directly to LMF 120. Location responses from LMF 120 (e.g., containing location estimates for UE 105) can be returned to GMLC 125 directly or via AMF 115, and GMLC 125 can then return the location response (e.g., containing location estimates) to external client 130. GMLC 125 is shown connected to both AMF 115 and LMF 120, but in some implementations, 5GC 140 may only support one of these connections.
[0041] As further shown in Figure 1, the LMF 120 can communicate with gNB 110a, 110b and / or ng-eNB 114 using the New Radio Location Protocol A (which may be referred to as NPPa or NRPPa), as defined in 3GPP Technical Specification (TS) 38.455. NRPPa can be the same as, similar to or an extension of the LTE Location Protocol A (LPPa) defined in 3GPP TS 36.455. NRPPa messages are transmitted between gNB 110a (or gNB 110b) and LMF 120 and / or between ng-eNB 114 and LMF 120 via AMF 115. As further shown in Figure 1, the LMF 120 and UE 105 can communicate using the LTE Location Protocol (LPP) defined in 3GPP TS 36.355. LMF 120 and UE 105 can also 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 LPP. Here, LPP and / or NPP messages can be transmitted between UE 105 and LMF 120 via AMF 115 and the serving gNB 110a, 110b, or serving ng-eNB 114 for UE 105. For example, LPP and / or NPP messages can be transmitted between LMF 120 and AMF 115 using the 5G Location Service Application Protocol (LCS AP), and can be transmitted between AMF 115 and UE 105 using the 5G Non-Access Layer (NAS) protocol. LPP and / or NPP protocols can be used to support UE 105 positioning using UE-assisted and / or UE-based positioning methods such as A-GNSS, RTK, OTDOA, and / or E-CID. The NRPPa protocol can be used to support the location of UE 105 using network-based location methods, such as E-CID (e.g., when used with measurements obtained from gNB 110a, 110b or ng-eNB 114), and / or can be used by LMF 120 to obtain location-related information from gNB 110a, 110b and / or ng-eNB 114, such as defining parameters for directional SS transmissions from gNB 110a, 110b and / or ng-eNB 114.
[0042] Using the UE-assisted positioning method, UE 105 can obtain location measurements and send the measurements to a network entity, such as a base station or location server (e.g., LMF 120), for calculating the location estimate of UE 105. For example, location measurements may include one or more of the following for gNB 110a, 110b, ng-eNB 114 and / or WLAN AP: Received Signal Strength Indication (RSSI), Round-Trip Time (RTT), Reference Signal Time Difference (RSTD), Reference Signal Received Power (RSRP), and / or Reference Signal Received Quality (RSRQ). Location measurements may also or alternatively include measurements of GNSS pseudorange, code phase of SV 190-193, and / or carrier phase.
[0043] Using a UE-based positioning method, UE 105 can obtain location measurements (e.g., which may be the same as or similar to the location measurements of a UE-assisted positioning method) and can calculate the location of UE 105 (e.g., by means of auxiliary data received from a network entity such as a location server (such as LMF 120) or broadcast by gNB 110a, 110b, ng-eNB 114 or other base stations or APs).
[0044] Using a network-based positioning method, one or more base stations (e.g., gNB 110a, 110b and / or ng-eNB 114) or APs can obtain location measurements (e.g., measurements of RSSI, RTT, RSRP, RSRQ or Time of Arrival (TOA) of signals transmitted by UE 105) and / or can receive measurements obtained by UE 105. One or more base stations or APs can send the measurements to a network entity such as a location server (e.g., LMF 120) for calculating the location estimate of UE 105.
[0045] The information provided to the LMF 120 by the gNB 110a, 110b and / or ng-eNB 114 using NRPPa may include timing and configuration information for directed SS transmissions and location coordinates. The LMF 120 may provide some or all of this information to the UE 105 as supplementary data in LPP and / or NPP messages via NG-RAN 135 and 5GC 140.
[0046] Depending on the desired functionality, an LPP or NPP message sent from a network entity such as LMF 120 to UE 105 may instruct UE 105 to perform any of a variety of actions. For example, an LPP or NPP message may contain instructions to enable UE 105 to acquire measurements of GNSS (or A-GNSS), WLAN, E-CID, and / or OTDOA (or some other positioning method). In the case of E-CID, an LPP or NPP message may instruct UE 105 to acquire one or more measurements of directional signals transmitted within a specific cell supported by one or more gNBs 110a, 110b, and / or ng-eNB 114 (or by some other type of base station such as eNB or WiFi AP) (e.g., beam ID, beamwidth, average angle, RSRP, RSRQ measurements). UE 105 can send measurements back to LMF 120 via serving gNB 110a (or serving ng-eNB 114) and AMF 115 in an LPP or NPP message (e.g., within a 5G NAS message).
[0047] As described, although the communication system 100 is described in relation to 5G technology, the communication system 100 can 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., implementing voice, data, location, and other functions). In some such embodiments, 5GC 140 can be configured to control different air interfaces. For example, 5GC 140 can connect to a WLAN using a non-3GPP interoperability function (N3IWF, not shown in FIG. 1) in 5GC 150. For example, the WLAN can support IEEE 802.11 WiFi access for UE 105 and can include one or more WiFi APs. Here, N3IWF can connect to the WLAN and other components in 5GC 140, such as AMF 115. In some embodiments, both NG-RAN 135 and 5GC 140 can be replaced by one or more other RANs and one or more other core networks. For example, in EPS, NG-RAN 135 can be replaced by E-UTRAN containing eNBs, and 5GC 140 can be replaced by EPC, which contains a Mobility Management Entity (MME) instead of AMF 115, an E-SMLC instead of LMF 120, and a GMLC similar to GMLC 125. In this type of EPS, E-SMLC can use LPPa instead of NRPPa to send location information to and receive location information from eNBs in E-UTRAN, and LPP can be used to support UE 105 positioning. In other embodiments, UE 105 positioning using directional PRS can be supported in a manner similar to that described herein for 5G networks, except that the functions and procedures described herein for gNBs 110a, 110b, ng-eNB 114, AMF 115, and LMF 120 can be applied alternatively to other network elements, such as eNBs, WiFi APs, MMEs, and E-SMLCs, in some cases.
[0048] As described, in some embodiments, the positioning function may be implemented at least in part using directional SS beams transmitted by base stations (such as gNB 110a, 110b and / or ng-eNB 114) within range of the UE (e.g., UE 105 in Figure 1) whose location is to be determined. In some cases, the UE may use directional SS beams from multiple base stations (such as gNB 110a, 110b, ng-eNB 114, etc.) to calculate the UE's location.
[0049] Referring also to Figure 2, UE 200 is an example of UE 105 and includes a computing platform comprising a processor 210, memory 211 including software (SW) 212, one or more sensors 213, a transceiver interface 214 for transceivers 215 (including wireless transceivers 240 and / or wired transceivers 250), a user interface 216, a satellite positioning system (SPS) receiver 217, a camera 218, and a location (motion) device 219. The processor 210, memory 211, sensors (multiple) 213, transceiver interface 214, user interface 216, SPS receiver 217, camera 218, and location (motion) device 219 can be communicatively coupled to each other via a bus 220 (which can be configured for, for example, optical and / or electrical communications). One or more of the processor-readable instruction devices shown (e.g., camera 218, position (motion) device 219, and / or one or more sensors 213, etc.) may be omitted from UE 200. Processor 210 may include one or more smart hardware devices, such as a central processing unit (CPU), microcontroller, application-specific integrated circuit (ASIC), etc. Processor 210 may include multiple processors, including a general-purpose / 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-234 may include multiple devices (e.g., multiple processors). Modem processor 232 may support dual SIM / dual connectivity (or even more SIMs). For example, a SIM (Subscriber Identity Module or User Identifier Module) may be used by an original equipment manufacturer (OEM), while another SIM may be used by the end user of UE 200 for connectivity. Memory 211 is a non-transitory storage medium, which may include random access memory (RAM), flash memory, optical disk memory, and / or read-only memory (ROM), etc. Memory 211 stores software 212, which may be processor-readable and processor-executable software code containing instructions configured to cause processor 210 to perform the various functions described herein when executed. Optionally, software 212 may not be directly executed by processor 210, but may be configured to cause processor 210 to perform such functions, for example, when compiled and executed. This description may refer to processor 210 performing the functions, but this includes other implementations, such as processor 210 executing software and / or firmware. This description may use "processor 210 performing the functions" as an abbreviation for one or more processors 230-234 performing the functions. This description may use "UE 200 performing the functions" as an abbreviation for one or more appropriate components of UE 200 performing the functions. In addition to and / or replacing memory 211, processor 210 may include memory with stored instructions. The functionality of processor 210 will be discussed in more detail below.
[0050] The configuration of UE 200 shown in Figure 2 is an example of this disclosure, including the requested items, and is not a limitation, and other configurations may be used. For example, an example configuration of the UE includes one or more processors 230-234 of processor 210, memory 211, and wireless transceiver 240. Other example configurations include one or more processors 230-234 of processor 210, memory 211, wireless transceiver 240, and one or more of the following: sensors 213, user interface 216, SPS receiver 217, camera 218, PMD 219, and / or wired transceiver 250.
[0051] UE 200 may include a modem processor 232, which is capable of performing baseband processing on signals received and down-converted by transceiver 215 and / or SPS receiver 217. The modem processor 232 can perform baseband processing on signals to be up-converted for transmission by transceiver 215. Alternatively or additionally, baseband processing may be performed by a general-purpose processor 230 and / or DSP 231. However, other configurations may be used to perform baseband processing.
[0052] UE 200 may include multiple sensors 213, which may include, for example, an inertial measurement unit (IMU) 270, one or more magnetometers 271, and / or one or more environmental sensors 272. IMU 270 may include one or more inertial sensors, such as one or more accelerometers 273 (e.g., collectively responding to three-dimensional acceleration of UE 200) and / or one or more gyroscopes 274. The magnetometers may provide measurements to determine orientation (e.g., relative to magnetic north and / or true north), which may be used for any of a variety of purposes, such as supporting one or more compass applications. The environmental sensors 272 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, etc. Multiple sensors 213 can generate analog and / or digital signals, the indications of which can be stored in memory 211 and processed by DSP 231 and / or general-purpose processor 230 to support one or more applications, such as applications for positioning and / or navigation operations.
[0053] The (multiple) sensors 213 can be used for relative position measurement, relative position determination, motion determination, etc. The information detected by the sensors 213 can be used for motion detection, relative displacement, dead reckoning, sensor-based position determination, and / or sensor-assisted position determination. The (multiple) sensors 213 can be used to determine whether the UE 200 is fixed (stationary) or moving, and / or whether to report certain useful information about the mobility of the UE 200 to the LMF 120. For example, based on the information obtained / measured by the (multiple) sensors 213, the UE 200 can notify / report to the LMF 120 that the UE 200 has detected movement or that the UE 200 has moved, and report the relative displacement / distance (e.g., via dead reckoning, or sensor-based position determination, or sensor-assisted position determination enabled by the (multiple) sensors 213). In another instance, for relative positioning information, the sensor / IMU can be used to determine the angle and / or orientation of another device relative to the UE 200.
[0054] The IMU 270 can be configured to provide measurements of the direction and / or velocity of motion of the UE 200, which can be used for relative position determination. For example, one or more accelerometers 273 and / or one or more gyroscopes 274 of the IMU 270 can detect the linear acceleration and rotational velocity of the UE 200, respectively. The linear acceleration and rotational velocity measurements of the UE 200 can be integrated over time to determine the transient direction and displacement of the UE 200. The transient direction and displacement can be integrated to track the position of the UE 200. For example, a reference position of the UE 200 can be determined, such as at a certain moment using the SPS receiver 217 (and / or by some other component), and the measurements obtained from the accelerometer(s) 273 and gyroscope(s) 274 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.
[0055] Multiple magnetometers 271 can determine the magnetic field strength 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. Multiple magnetometers 271 may include a two-dimensional magnetometer configured to detect and provide magnetic field strength indications in two orthogonal dimensions. Additionally or optionally, magnetometers 271 may include a three-dimensional magnetometer configured to detect and provide magnetic field strength indications in three orthogonal dimensions. Multiple magnetometers 271 may provide components for sensing magnetic fields and providing magnetic field indications to, for example, a processor 210.
[0056] 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, wireless transceiver 240 may include a transmitter 242 and a receiver 244 coupled to one or more antennas 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 into wired (e.g., electrical and / or optical) signals, and from wired (e.g., electrical and / or optical) signals into wireless signals 248. Thus, transmitter 242 may include multiple transmitters, which may be individual components or combined / integrated components, and / or receiver 244 may include multiple receivers, which may be individual components or combined / integrated components. Wireless transceiver 240 can be configured to transmit signals according to various Radio Access Technologies (RATs) (e.g., using TRPs and / or one or more other devices), such as 5G New Radio (NR), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Telephone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE Vehicle to Everything (V2X) (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth®, Zigbee, etc. New Radio may use millimeter wave frequencies and / or frequencies below 6 GHz. Wired transceiver 250 may include transmitter 252 and receiver 254, configured for wired communication, such as wired communication with network 135, to send and receive communications to gNB 110a, for example. Transmitter 252 may include multiple transmitters, which may be individual components or combined / integrated components, and / or receiver 254 may include multiple receivers, which may be individual components or combined / integrated components. Wired transceiver 250 may be configured for, for example, optical communication and / or electrical communication. Transceiver 215 may be communicatively coupled to transceiver interface 214, for example, via optical and / or electrical connections. Transceiver interface 214 may be at least partially integrated with transceiver 215.
[0057] User interface 216 may include one or more of a plurality of devices, such as, for example, a speaker, a microphone, a display device, a vibration device, a keyboard, a touch screen, etc. User interface 216 may include more than one 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 for processing by DSP 231 and / or general-purpose processor 230 in response to user actions. Similarly, applications hosted on UE 200 may store indications of analog and / or digital signals in memory 211 to present output signals to the user. User interface 216 may include audio input / output (I / O) devices, including, for example, speakers, microphones, digital-analog circuitry, analog-digital circuitry, amplifiers and / or gain control circuitry (including more than one of these devices). Other configurations of the audio I / O device can be used. Additionally or optionally, the user interface 216 may include one or more touch sensors to respond to touch and / or pressure on, for example, the keyboard and / or touchscreen of the user interface 216.
[0058] SPS receiver 217 (e.g., a Global Positioning System (GPS) receiver) is capable of receiving and acquiring SPS signal 260 via SPS antenna 262. Antenna 262 is configured to convert the wireless SPS signal 260 into a wired signal, such as an electrical or optical signal, and may be integrated with antenna 246. SPS receiver 217 may be configured to process all or part of the acquired SPS signal 260 for estimating the location of UE 200. For example, SPS receiver 217 may be configured to determine the location of UE 200 by using trilateration of SPS signal 260. General-purpose processor 230, memory 211, DSP 231, and / or one or more dedicated processors (not shown) may be used to process all or part of the acquired SPS signal and / or combine with SPS receiver 217 to calculate the estimated location of UE 200. Memory 211 may store indications (e.g., measurements) of SPS signal 260 and / or other signals (e.g., signals acquired from wireless transceiver 240) for performing positioning operations. General-purpose processor 230, DSP 231 and / or one or more dedicated processors and / or memory 211 may provide or support a positioning engine for processing measurements to estimate the position of UE 200.
[0059] 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 imager), a lens, analog-to-digital circuitry, a frame buffer, etc. Additional processing, conditioning, encoding, and / or compression of the signal representing the captured image may be performed by a general-purpose processor 230 and / or a DSP 231. Additionally or optionally, a video processor 233 may perform conditioning, encoding, compression, and / or manipulation of the signal representing the captured image. The video processor 233 may decode / decompress stored image data for presentation on a display device (not shown), such as user interface 216.
[0060] The Position (Motion) Device (PMD) 219 can be configured to determine the position and possible motion of the UE 200. For example, the PMD 219 can communicate with, and / or include some or all of, the SPS receiver 217. The PMD 219 can also or alternatively be configured to use ground-based signals (e.g., at least some signals 248) for trilateration to determine the position of the UE 200, to assist in obtaining and using the SPS signal 260, or both. The PMD 219 can be configured to use one or more other technologies (e.g., UE-reported position (e.g., part of a UE location beacon)) to determine the position of the UE 200, and can use a combination of technologies (e.g., SPS and ground positioning signals) to determine the position of the UE 200. PMD 219 may include one or more sensors 213 (e.g., multiple gyroscopes, multiple accelerometers, multiple magnetometers, etc.) that can sense the orientation and / or motion of UE 200 and provide indications that processor 210 (e.g., general-purpose processor 230 and / or DSP 231) can be configured to determine the motion (e.g., velocity vector and / or acceleration vector) of UE 200. PMD 219 may be configured to provide indications of indeterminacy and / or error in the determined position and / or motion. In an example, PMD 219 may be referred to as a positioning engine (PE) and may be executed by general-purpose processor 230. For example, PMD 219 may be a logical entity and may be integrated with general-purpose processor 230 and memory 211.
[0061] Referring also to FIG3, examples of the TRP 300 for gNB 110a, gNB 110b, and ng-eNB 114 include a computing platform comprising a processor 310, memory 311 including software (SW) 312, a transceiver 315, and (optionally) an SPS receiver 317. The processor 310, memory 311, transceiver 315, and SPS receiver 317 may be communicatively coupled to each other via a bus 320 (which may be configured for, for example, optical and / or electrical communications). One or more of the devices shown (e.g., a wireless interface and / or SPS receiver 317) may be omitted from the TRP 300. The SPS receiver 317 may be configured similarly to SPS receiver 217 to receive and acquire SPS signal 360 via SPS antenna 362. The processor 310 may include one or more smart hardware devices, such as a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), etc. Processor 310 may include multiple processors (e.g., general-purpose / application processors, DSPs, modem processors, video processors, and / or sensor processors, as shown in FIG2). Memory 311 is a non-transitory storage medium, which may include random access memory (RAM), flash memory, optical disk memory, and / or read-only memory (ROM), etc. Memory 311 stores software 312, which may be processor-readable and processor-executable software code containing instructions configured to cause processor 310 to perform the various functions described herein when executed. Optionally, software 312 may not be directly executed by processor 310, but may be configured to cause processor 310 to perform such functions, for example, when compiled and executed. This description may refer to processor 310 that performs the functions, but this includes other implementations, such as processor 310 executing software and / or firmware. This description may use "processor 310 that performs the functions" as an abbreviation for one or more processors included in processor 310 that performs the functions. This description may use "TRP 300" as a shorthand for one or more suitable components that perform the function (and therefore one of gNB 110a, gNB 110b, ng-eNB 114). In addition to and / or instead of memory 311, processor 310 may include memory with stored instructions. The functionality of processor 310 will be discussed more fully below.
[0062] Transceiver 315 may include a wireless transceiver 340 and a wired transceiver 350, configured to communicate with other devices via wireless and wired connections, respectively. For example, wireless transceiver 340 may include a transmitter 342 and a receiver 344 coupled to one or more antennas 346 for transmitting (e.g., on one or more uplink channels, downlink channels, and / or sidelink channels) and / or receiving (e.g., on one or more downlink channels, uplink channels, and / or sidelink channels) wireless signals 348, and converting signals from wireless signals 348 into wired (e.g., electrical and / or optical) signals, and from wired (e.g., electrical and / or optical) signals into wireless signals 348. Therefore, transmitter 342 may include multiple transmitters, which may be individual components or combined / integrated components, and / or receiver 344 may include multiple receivers, which may be individual components or combined / integrated components. Wireless transceiver 340 can be configured to transmit signals according to various Radio Access Technologies (RATs) (e.g., with UE 200, one or more other UEs, and / or one or more other devices), such as 5G New Radio (NR), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Telephone 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), Bluetooth®, Zigbee, etc. Wired transceiver 350 may include transmitter 352 and receiver 354, configured for wired communication, such as wired communication with network 140, to send and receive communications to LMF 120, for example. Transmitter 352 may include multiple transmitters, which may be individual components or combined / integrated components, and / or receiver 354 may include multiple receivers, which may be individual components or combined / integrated components. Wired transceiver 350 may be configured for, for example, optical communication and / or electrical communication.
[0063] The configuration of TRP 300 shown in Figure 3 is an example of this disclosure, including the request items, and is not a limitation, and other configurations may be used. For example, the description herein discusses that TRP 300 is configured to perform certain functions, but one or more of these functions may be performed by LMF 120 and / or UE 200 (i.e., LMF 120 and / or UE 200 may be configured to perform one or more of these functions).
[0064] Referring also to FIG. 4, the server 400, taking LMF 120 as an example, includes a computing platform including a processor 410, a memory 411 including software (SW) 412, and a transceiver 415. The processor 410, memory 411, and transceiver 415 can be communicatively coupled to each other via a bus 420 (which can be configured for, for example, optical and / or electrical communications). One or more of the devices shown (e.g., wireless interfaces) may be omitted from the server 400. The processor 410 may include one or more smart hardware devices, such as a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), etc. The processor 410 may include multiple processors (e.g., including general-purpose / application processors, DSPs, modem processors, video processors, and / or sensor processors, as shown in FIG. 2). The memory 411 is a non-transitory storage medium, which may include random access memory (RAM), flash memory, optical disk memory, and / or read-only memory (ROM), etc. Memory 411 stores software 412, which may be processor-readable and processor-executable software code containing instructions configured to cause processor 410 to perform the various functions described herein when executed. Optionally, software 412 may not be directly executed by processor 410, but may be configured to cause processor 410 to perform such functions, for example, when compiled and executed. This description may refer to processor 410 performing the functions, but this includes other implementations, such as processor 410 performing software and / or firmware. This description may use "processor 410 performing the functions" as an abbreviation for one or more processors included in processor 410 performing the functions. This description may use "server 400 (or LMF 120) performing the functions" as an abbreviation for one or more suitable components of server 400 (e.g., LMF 120) performing the functions. In addition to and / or instead of memory 411, processor 410 may include memory with stored instructions. The functionality of processor 410 will be discussed more fully below.
[0065] Transceiver 415 may include a wireless transceiver 440 and a wired transceiver 450, configured to communicate with other devices via wireless and wired connections, respectively. For example, wireless transceiver 440 may include a transmitter 442 and a receiver 444 coupled to one or more antennas 446 for transmitting (e.g., on one or more downlink channels) and / or receiving (e.g., on one or more uplink channels) wireless signals 448, and converting signals from wireless signals 448 into wired (e.g., electrical and / or optical) signals, and from wired (e.g., electrical and / or optical) signals into wireless signals 448. Thus, transmitter 442 may include multiple transmitters, which may be individual components or combined / integrated components, and / or receiver 444 may include multiple receivers, which may be individual components or combined / integrated components. Wireless transceiver 440 can be configured to transmit signals according to various Radio Access Technologies (RATs) (e.g., with UE 200, one or more other UEs, and / or one or more other devices), such as 5G New Radio (NR), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Telephone 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), Bluetooth®, Zigbee, etc. Wired transceiver 450 may include transmitter 452 and receiver 454, configured for wired communication, such as wired communication with network 135, to send and receive communications to TRP 300, for example. Transmitter 452 may include multiple transmitters, which may be individual components or combined / integrated components, and / or receiver 454 may include multiple receivers, which may be individual components or combined / integrated components. Wired transceiver 450 may be configured for, for example, optical communication and / or electrical communication.
[0066] The configuration of server 400 shown in Figure 4 is an example of this disclosure, including the requested items, and is not a limitation, and other configurations may be used. For example, wireless transceiver 440 may be omitted. Similarly or alternatively, the description herein discusses that server 400 is configured to perform 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).
[0067] Referring to FIG5, a schematic diagram of an example GNSS receiver 500 is illustrated. SPS receivers 217 and 317 in UE 200 and TRP 300 may include one or more components of the GNSS receiver 500, and therefore may be instances of the GNSS receiver 500. In this instance, the GNSS receiver 500 includes, but is not limited to, an antenna 501, an analog section 502, a digital section 503, and a processor 504. Antennas 262 and 362 on UE 200 and TRP 300 are instances of antenna 501. GNSS satellite signals are received by antenna 501 and coupled to the input of analog section 502. Analog section 502 is configured to process GNSS satellite signals and generate a digital intermediate frequency (IF) signal by sampling the GNSS satellite signals using an analog-to-digital converter (ADC). 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 503. Digital section 503 is configured to acquire and track satellites within a GNSS satellite constellation using digital IF signals by generating acquisition and tracking data coupled to processor 504. Digital section 503 may be configured to implement one or more notch filters based on the presence of narrowband interference signals in the GNSS spectrum. In an example, digital section 503 may configure one or more notch filters as one or more digital filters with programmable center frequencies and bandwidths. Processor 504 may be a central processing unit (CPU), microprocessor, digital signal processor, or any other such device capable of reading and executing programming instructions. Processor 504 is configured to analyze the acquisition and tracking data to determine navigation information, such as position and velocity. SV may transmit signals on multiple frequencies, and processor 504 may be configured to determine pseudorange and carrier phase measurements based on GNSS models known in the art. For example, typically, the pseudorange measurement to a satellite at frequency f1 can be modeled as: (1) where is the true distance between the satellite and the user's position. is the common deviation in the user equipment. is the satellite clock offset of satellite-, including any satellite cluster delay at frequency f1. c is the speed of light. B1 is the additional bias common to user equipment when measuring at frequency f1. is the ionospheric delay, affecting the signal from satellite- at frequency f1. is the tropospheric delay introduced from satellite-, independent of frequency. is considering noise and any unmodeled effects.
[0068] Other GNSS models and variables can also be used to determine the distance to the SV.
[0069] Referring to Figure 6A, Figure 600 illustrates an example GNSS spectrum 602. In operation, radio carriers can be modulated in various ways. For example, a GPS system can utilize three different frequency bands (e.g., L1, L2, and L5) and use phase modulation to deliver codes from the SV to the receiver. GPS signals can utilize spread spectrum, making the total bandwidth of the GPS signal much wider than the bandwidth of the information it carries. Specifically, L1 is centered at 1575.42 MHz, L2 at 1227.60 MHz, and L5 at 1176.45 MHz, and the bandwidth of the GPS signal at these frequencies is larger than expected. For example, on L1, the CA code signal is spread over a width of approximately 2.046 MHz, and the P(Y) code signal is spread over a width of approximately 20.46 MHz. Spectrum 602 depicts approximately 2 MHz (i.e., + / - 1 MHz) near the Doppler frequency of the SV. The digital front-end (DFE) of a GNSS receiver (e.g., digital section 503) is configured to perform an autocorrelation process on the signal received in spectrum 602 to obtain code phase measurements. Local interference caused by other transmitters or oscillators (e.g., harmonic signals) can significantly affect or weaken the autocorrelation process. The GNSS receiver can be configured to implement one or more notch filters to reduce the effects of interference. For example, a notch filter at +0.5 MHz in spectrum 602 will reduce the received power in spectrum 602, as depicted by signal drop 604. The notch filter and the corresponding signal drop 604 can affect the received autocorrelation function and the corresponding code phase measurements. For example, referring to Figure 6B, Figure 610 illustrates a comparison of example autocorrelation functions (ACFs) with and without notch filters. A typical ACF 612 provides a relatively higher amplitude peak compared to a notch-filtered ACF 614. The distortion of the overall ACF shape due to one or more notch filters, and in some cases the loss of amplitude in the ACF, can reduce the accuracy of GNSS position calculations. In other words, distortion of the ACF shape can lead to the detection of peaks in incorrect code phase, which can result in measurement bias. Therefore, since the accuracy of GNSS position estimation is partly based on the accuracy of its measured code phase, the use of a notch filter also affects position accuracy. The extent of the positioning error (i.e., the code phase effect) depends on the PRN code, SV Doppler, notch frequency, and notch bandwidth. For example, referring to Figure 6C, a graph 620 illustrates code phase error values 622 based on an example notch filter frequency. Graph 620 depicts the code phase error (in centimeters) of SV (i.e., SV ID 5) as the notch filter frequency varies from -1 MHz to +1 MHz near the SV Doppler frequency (i.e., zero in Figure 6C). Each error value 622 is based on a 100 kHz step from -1 MHz to +1 MHz. The example error value 622 varies from approximately -50 cm to +25 cm.Other SVs (e.g., PRN codes), SV Doppler values, and notch bandwidths (which may include multiple notch filters) can have different error distance values and different error value distributions.
[0070] Referring to Figure 7, and further to Figures 5 and 6A to 6C, a block diagram of an example process 700 for offline phase compensation based on a notch filter configuration is illustrated. Process 700 utilizes one or more offline lookup tables (LUTs) 702 to apply code phase correction at stage 710 based on the notch filter configuration 704 and SV PRN and Doppler frequency information 706. Typically, the code phase correction value in the LUT 702 depends on three parameters: SVID (e.g., SV PRN), SV Doppler frequency, and notch configuration information (i.e., the number of notches, the frequency of each notch, and the bandwidth of each notch). In this example, a two-dimensional array LUT can be computed and stored for each notch configuration. Different LUTs can also be used for different notch combinations, and each LUT can be a two-dimensional array such that the {i,j}th element will be the code phase correction value corresponding to the i-th SVID and the j-th SV Doppler (where the SVID is a finite number). Different notch filter configurations can be selected based on operational requirements to determine the SV Doppler resolution in the 704 and LUT grids. For example, in a 2 MHz bandwidth, the SV Doppler can be varied in 1 kHz steps to provide 2001 grid points, or in 100 kHz steps to provide 21 grid points. The corresponding LUT size can be increased accordingly.
[0071] In an embodiment, processor 504 may be configured to access one or more local memory modules comprising one or more LUTs 702, which store code phase error values based on PRN code, notch frequency, notch bandwidth, and SV Doppler information. For example, notch filter configuration 704 may indicate the notch frequency (e.g., from SV Doppler value + / - 1 MHz) and notch bandwidth (e.g., 1, 2, 5, 10 kHz, etc.). SV PRN and Doppler frequency information 706 are associated with the SV of the signal being received by the transmitting GNSS receiver 500. LUT 702 contains error measurement data points as depicted in FIG6C. Code phase correction determination at stage 708 may be based on selection, classification, and / or matching functions or algorithms or other stored procedures executed on processor 504 to select code phase error values from LUT 702 based on notch filter configuration 704 and SV PRN and Doppler frequency information 706. The code phase correction value can be a distance (e.g., 1 cm, 5 cm, 10 cm, 100 cm, etc.), and the processor 504 is configured to apply the correction to the distance measurement (e.g., pseudorange, carrier phase measurement) based on the SV signal in stage 710. The offline LUT 702 offers the advantage of a relatively fast code phase error solution at the cost of memory usage, as different variations in notch filter configuration and SV information must be stored. Some memory efficiency can be achieved by increasing the quantization of the LUT 702 values and using interpolation constants to estimate the code phase error.
[0072] Referring to Figure 8, an example process 800 for calculating code phase correction values is illustrated. Based on the notch filter configuration 704 and the SV PRN and Doppler frequency information 706 (i.e., SVID 706a and SV Doppler 706b) being received by the GNSS receiver 500, code phase correction can be calculated by smooth interpolation between values in LUT 702. Typically, the code phase values in LUT 702 are known at finite and discrete points in a two-dimensional space, and the interpolation function can be used to calculate values at any other arbitrary points in that space. For example, in stage 802, processor 504 can be configured to receive input from the digital portion 503 associated with the received SV signal. The input may include SVID 706a, SV Doppler 706b, and notch configuration 704. Processor 504 is configured to obtain the nearest "k" neighbors of the input values in LUT 702, and then calculate a weighted average "y" of the code phase error for each neighbor in stage 804. In stage 806, the weighted average "y" can be used as the code phase correction value. Process 800 is an example, not a limitation, because other multivariate interpolation techniques can also be used to determine the final code phase correction value.
[0073] Referring to FIG9, an example process 900 for online phase calculation based on notch filter configuration is illustrated. In contrast to the offline process 700 in FIG7, which depends on LUT 702, the online process 900 calculates the LUT value locally when the configuration of the GNSS receiver 500 changes (e.g., when a new interference signal is detected). For example, as previously mentioned, processor 504 can receive notch filter configuration information 902 and SV PRN and Doppler frequency information 904 from digital portion 503. In stage 906, processor 504 can calculate the LUT table value of SV via a simulation with discrete points as described in FIGS. 6A to 6C. In stage 908, processor 504 can obtain a code phase correction value based on the locally generated LUT using the notch filter configuration information 902 and SV PRN and Doppler frequency information 904, as well as interpolation techniques such as those described in FIG8. In stage 910, processor 504 can apply code phase correction to distance measurements (e.g., pseudorange, carrier phase measurements) calculated for the received SV signal.
[0074] Referring to Figures 10A to 10D, example graphs illustrating code phase errors for multiple satellite carriers and notch filter configurations are shown. These graphs are examples and are provided to illustrate that different SV PRNs may have different notch frequency error distributions. The error values depicted represent discrete values in the LUT, which can be generated offline (as in process 700) or online (as in process 900). The plotted error values represent notch frequencies in steps of 100 kHz between -1 MHz and +1 MHz relative to the SV Doppler frequency (e.g., zero Doppler in the graph). By way of example and not limitation, typical code phase correction values for GPS L1 CA signals are between +1 m and -1 m. Other signal types may have different ranges of correction values. Figure 10A depicts a first example SV (SV: 14) with a first error distribution between -60 cm and +30 cm. Figure 10B depicts a second example SV (SV: 25) with a second error distribution between -90 cm and +10 cm. Figure 10C depicts a third example SV (SV: 17) with a third error distribution between -60 cm and +30 cm. Figure 10D depicts a fourth example SV (SV: 08) with a fourth error distribution between -70 cm and +20 cm. SVs, graphs, and sampling sizes (e.g., notch filter step sizes) are examples and not limitations. Other simulations can be run with other SVs and larger or smaller notch filter step sizes.
[0075] Referring to FIG11, and further referring to FIG1 to FIG10D, the method 1100 for calculating the distance to a satellite vehicle includes the stages shown. However, method 1100 is an example and not a limitation. Method 1100 can be modified, for example by adding, removing, rearranging, combining, performing some stages concurrently, and / or dividing a single stage into multiple stages.
[0076] In stage 1102, the method includes receiving signals from a satellite vehicle. The analog portion 502 of the GNSS receiver 500 is a component for receiving signals from the SV. Generally, the GNSS SV transmits navigation signals on two or more frequencies in the L band. These signals contain ranging codes and navigation data to allow the GNSS receiver 500 to calculate the time of travel from the satellite to the receiver and the satellite coordinates at any epoch. The signals may include a carrier wave, ranging codes (e.g., SVID, PRN sequence, or PRN code), and other navigation data (e.g., information about the SV ephemeris, clock offset parameters, almanac information, SV information, and other associated navigation information).
[0077] In stage 1104, the method includes determining one or more notch filter configurations. Digital portion 503 and processor 504 are components for determining the one or more notch filter configurations. The notch filter may be based on the presence of narrowband interference signals generated by a local or external RF source. In an example, one or more interference signals may be known based on the state of the UE (i.e., when a Wi-Fi or Bluetooth transmitter is activated). In an embodiment, processor 504 may be configured to perform spectrum analysis to find the interference signals. The notch filter configuration may include frequency components and bandwidth components to mitigate interference from one or more interference signals. In an embodiment, the notch filter configuration may include a plurality of frequencies, each notch filter having the same or different bandwidths.
[0078] In stage 1106, the method includes determining a pseudo-random noise code and a Doppler frequency associated with the signal. Processor 504 is the component for determining the PRN code and the Doppler frequency. The PRN code is included in the signal received in stage 1102. The Doppler frequency corresponds to the Doppler offset of the received signal, primarily based on the relative velocity between the antenna and the GNSS receiver on the SV. Other clock frequency error offsets may also be included in the Doppler frequency. Typically, the Doppler offset of the signal is the time derivative of the carrier phase.
[0079] In stage 1108, the method includes determining a code phase correction value based at least on one or more notch filter configurations, pseudo-random noise codes, and Doppler frequencies. Processor 504 is a component for determining the code phase correction value. In operation, processor 504 may utilize one or more LUTs including notch filter configuration information, SV PRN, and Doppler frequency information, and the associated code phase correction value. For example, query tools such as classification, selection, and matching may be used to determine the code phase correction value based on the notch filter and SV configuration information. The LUT may be provided to the UE via auxiliary data (i.e., offline solution), and / or one or more LUTs may be generated locally on the UE (i.e., online solution). In the offline solution, communication network 100 may provide auxiliary data to the UE via a radio transceiver 240 with a LUT. The auxiliary data may be transmitted via network protocols such as LPP and Radio Resource Control (RRC) messaging. Other messaging techniques, such as sidelink technology, may also be used to propagate the LUT to other UEs in the network. One or more LUT tables include code phase correction values for various combinations of PRN codes (e.g., SV IDs), Doppler frequencies, and notch filter configurations. The code phase correction values can be distances from values such as those in Figures 6C and 10A through 10D. Interpolation techniques such as those described in Figure 8 can also be used to obtain code phase correction values from the LUT.
[0080] In stage 1110, the method includes calculating the distance to the satellite vehicle based at least in part on the signal and code phase correction values. Processor 504 is a component for calculating the distance to the SV. In an example, processor 504 may determine the pseudorange to the SV based on the signal and apply appropriate biases and corrections known in the art and described in Equation 1. The code phase value determined in stage 1108 may be applied to the pseudorange to produce the distance value.
[0081] Other examples and implementations are within the scope of this disclosure and the appended claims. For example, due to the nature of software and computers, the above-described functions can be implemented using software, hardware, firmware, hardwired, or any combination thereof executed by a processor. Features implementing the functions can also be physically located in different locations, including being distributed such that some functions are implemented in different physical locations.
[0082] Unless otherwise stated, the functional or other components shown in the drawings and / or discussed herein that are interconnected or communicating with each other are communicatively coupled. That is, they can be directly or indirectly connected to achieve communication therebetween.
[0083] As used herein, the singular forms “a”, “an”, and “the” also include the plural forms, unless the context clearly indicates otherwise. For example, “a processor” can include one or more processors. The terms “comprises”, “comprising”, “includes”, and / or “including”, when used herein, specify the presence of the stated features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof.
[0084] As used herein, unless otherwise stated, a statement that a function or operation is "based on" a certain item or condition means that the function or operation is based on said item or condition and may be based on one or more items and / or conditions other than said item or condition.
[0085] Furthermore, as used herein, when "or" is used in a list of items (possibly beginning with "at least one" or "one or more"), it indicates a list of disjunctive statements 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 a function A or a function B, means that the item can be configured to perform a function with respect to A, or can be configured to perform a function with respect to B, or can be configured to perform a function with respect to both A and B. For example, the phrase "a processor configured to measure at least one of A or B" or "a processor configured to measure A or measure B" means that the processor can be configured to measure A (and may or may not be configured to measure B), or can be configured to measure B (and may or may not be configured to measure A), or can be configured to measure both A and B (and may be configured to select one or both of A and B). Similarly, a statement about a component for measuring at least one of A or B includes a component for measuring A (which may or may not measure B), or a component for measuring B (which may or may not be configured to measure A), or a component for measuring A and B (which may select one or both of A and B). As another example, an item (e.g., a processor) being configured to perform at least one of function X or function Y means that the item can be configured to perform function X, or can be configured to perform function Y, or can be configured to perform both functions X and Y. For example, the phrase "a processor configured as at least one of measurement X or measurement Y" means that the processor can be configured as measurement X (and can be configured as measurement Y or not), or can be configured as measurement Y (and can be configured as measurement X or not), or can be configured as both measurement X and measurement Y (and can be configured to select one or both of measurement X and Y).
[0086] Substantial changes may be made according to specific requirements. For example, custom hardware may be used, and / or specific components may be implemented in hardware, processor-executed software (including portable software, such as applets), or both. In addition, connections to other computing devices, such as network input / output devices, may be employed.
[0087] The systems and devices discussed above are examples. Various configurations may be appropriately omitted, substituted, or have various programs or components added. For example, features described with respect to certain configurations may be combined in various other configurations. Different configuration styles and elements may be combined in a similar manner. Furthermore, technology is evolving, and therefore many elements are examples, and do not limit the scope of this disclosure or claim.
[0088] A wireless communication system is a system in which communications are delivered wirelessly, that is, by means of electromagnetic waves and / or sound waves that propagate through the atmosphere, rather than by wires or other physical connections. A wireless communication network may not have all communications that are wirelessly transmitted, but is configured to have at least some communications that are wirelessly transmitted. Furthermore, the term "wireless communication device" or similar terms do not require that the device is specifically or primarily used for communication, or that the device is a mobile device, but rather indicate that the device includes wireless communication capabilities (one-way or two-way), for example, including at least one radio device (each radio device being part of a transmitter, receiver, or transceiver) for wireless communication.
[0089] Specific details are provided in the description to provide a thorough understanding of the example configuration (including its implementation). However, the configuration can be practiced without such specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been illustrated without unnecessary details to avoid confusing the configuration. This description provides only example configurations and does not limit the scope, applicability, or configuration of the requested items. Rather, the foregoing description of the configuration provides a description of the techniques described in the implementation. Various changes can be made to the function and arrangement of the components without departing from the scope of this disclosure.
[0090] As used herein, the terms "processor-readable media," "machine-readable media," and "computer-readable media" refer to any media that participates in providing data that enables a machine to operate in a particular manner. Using a computing platform, various processor-readable media can participate in providing instructions / code to a processor for execution and / or can be used to store and / or carry such instructions / code (e.g., as signals). In many implementations, processor-readable media are physical and / or tangible storage media. Such media can take many forms, including but not limited to non-volatile and volatile media. Non-volatile media include, for example, optical discs and / or magnetic disks. Volatile media include, but are not limited to, dynamic memory.
[0091] A statement that a value exceeds (or is greater than or higher than) a first threshold is equivalent to a statement that a value meets or exceeds a second threshold slightly greater than the first threshold, for example, in the resolution of a computing system, the second threshold is one value higher than the first threshold. A statement that a value is less than (or within its range or lower than) the first threshold is equivalent to a statement that a value is less than or equal to a second threshold slightly lower than the first threshold, for example, in the resolution of a computing system, the second threshold is one value lower than the first threshold.
[0092] The following numbered clauses describe examples of implementation methods:
[0093] 1. A method for determining the distance to a satellite vehicle using a receiver, comprising:
[0094] Receive signals from the satellite carrier;
[0095] Determine the configuration of one or more notch filters;
[0096] Determine the pseudo-random noise code and the Doppler frequency associated with the signal;
[0097] The code phase correction value is determined based at least on the configuration of the one or more notch filters, the pseudo-random noise code, and the Doppler frequency; and
[0098] The distance to the satellite vehicle is calculated based at least in part on the signal and the code phase correction value.
[0099] 2. The method as described in Clause 1, wherein determining the code phase correction value includes obtaining the code phase correction value from a reference table based on the configuration of the one or more notch filters, the pseudo-random noise code, and the Doppler frequency.
[0100] 3. The method of Clause 2 further includes receiving auxiliary information from a network entity, wherein the auxiliary information includes the access information form.
[0101] 4. The method as described in Clause 3, wherein the auxiliary data is received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages.
[0102] 5. The method as described in Clause 3, wherein the auxiliary data is received via one or more Radio Resource Control (RRC) messages.
[0103] 6. The method as described in Clause 2, wherein determining the code phase correction value includes obtaining the code phase correction value based on an interpolation function.
[0104] 7. The method of claim 1, further comprising generating a lookup table using the receiver based on a modeled autocorrelation function of a plurality of notch filter configurations, and wherein determining the code phase correction value comprises obtaining the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency.
[0105] 8. The method as described in Clause 1, wherein the one or more notch filter configuration includes one or more notch frequencies and one or more bandwidths associated with the one or more notch frequencies.
[0106] 9. The method as described in Clause 1, wherein calculating the distance to the satellite vehicle includes determining the pseudorange to the satellite vehicle based on the signal.
[0107] 10. The method of claim 1, wherein the receiver includes one or more notch filters, the one or more notch filters being composed of one or more digital filters having programmable center frequencies and bandwidths.
[0108] 11. An apparatus comprising:
[0109] Memory;
[0110] At least one satellite positioning system receiver configured to receive signals from a satellite vehicle;
[0111] At least one processor is communication-coupled to the memory and the at least one satellite positioning system receiver and configured to perform the following operations:
[0112] Receive the signal from the satellite carrier;
[0113] Determine the configuration of one or more notch filters;
[0114] Determine the pseudo-random noise code and the Doppler frequency associated with the signal;
[0115] Based at least on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency determination code phase correction value; and
[0116] The distance to the satellite vehicle is calculated at least in part based on the signal and the code phase correction value.
[0117] 12. The apparatus as described in Clause 11, wherein the at least one processor is further configured to obtain the code phase correction value from a lookup table based on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency.
[0118] 13. The apparatus as described in Clause 12 further includes at least one transceiver communicatively coupled to the at least one processor, such that the at least one processor is further configured to receive auxiliary information from a network entity, and wherein the auxiliary information includes the lookup table.
[0119] 14. The apparatus as described in Clause 13, wherein the auxiliary data is received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages.
[0120] 15. The apparatus as described in Clause 13, wherein the auxiliary data is received via one or more Radio Resource Control (RRC) messages.
[0121] 16. The apparatus as described in Clause 12, wherein the at least one processor is further configured to obtain the code phase correction value based on an interpolation function.
[0122] 17. The apparatus of claim 11, wherein the at least one processor is further configured to generate a lookup table based on a modeled autocorrelation function of a plurality of notch filter configurations, and to obtain the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency.
[0123] 18. The apparatus of claim 11, wherein the one or more notch filters are configured to include one or more notch frequencies and one or more bandwidths associated with the one or more notch frequencies.
[0124] 19. The apparatus as described in Clause 11, wherein the at least one processor is further configured to determine the pseudorange to the satellite vehicle based on the signal.
[0125] 20. The apparatus as described in Clause 11, wherein the one or more notch filters are configured to include one or more digital filters having programmable center frequencies and bandwidths.
[0126] 21. An apparatus for determining the distance to a satellite carrier, comprising:
[0127] A component for receiving signals from the satellite carrier;
[0128] A component for determining the configuration of one or more notch filters;
[0129] A component for determining the pseudo-random noise code and the Doppler frequency associated with the signal;
[0130] A component for use at least based on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency determination code phase correction value; and
[0131] A component for calculating the distance to the satellite vehicle based at least in part on the signal and the code phase correction value.
[0132] 22. The apparatus as described in Clause 21, wherein the component for determining the code phase correction value includes: a component for obtaining the code phase correction value from a reference table based on the configuration of the one or more notch filters, the pseudo-random noise code, and the Doppler frequency.
[0133] 23. The apparatus as described in Clause 22 further includes a component for receiving auxiliary information from a network entity, wherein the auxiliary information includes the lookup table.
[0134] 24. The apparatus as described in Clause 23, wherein the auxiliary data is received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages.
[0135] 25. The apparatus as described in Clause 23, wherein the auxiliary data is received via one or more Radio Resource Control (RRC) messages.
[0136] 26. The apparatus as described in Clause 22, wherein the component for determining the code phase correction value includes a component for obtaining the code phase correction value based on an interpolation function.
[0137] 27. The apparatus of claim 21 further includes a component for generating a lookup table based on a modeled autocorrelation function of a plurality of notch filter configurations, wherein the component for determining the code phase correction value includes: a component for obtaining the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency.
[0138] 28. The apparatus of claim 21, wherein the one or more notch filters are configured to include one or more notch frequencies and one or more bandwidths associated with the one or more notch frequencies.
[0139] 29. The apparatus as described in Clause 21, wherein the component for calculating the distance to the satellite vehicle includes a component for determining the pseudorange to the satellite vehicle based on the signal.
[0140] 30. The apparatus as described in Clause 21 further includes one or more notch filters, which are composed of one or more digital filters having programmable center frequencies and bandwidths.
[0141] 31. A non-transitory processor-readable storage medium, comprising processor-readable instructions for enabling one or more processors to determine the distance to a satellite vehicle, including:
[0142] Code used to receive signals from the satellite carrier;
[0143] Code used to determine the configuration of one or more notch filters;
[0144] Code used to determine the pseudo-random noise code and the Doppler frequency associated with the signal;
[0145] Code for use based at least on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency determination code phase correction value; and
[0146] A code used to calculate the distance to the satellite vehicle based at least in part on the signal and the code phase correction value.
[0147] 32. The non-transitory processor-readable storage medium as described in Clause 31, wherein the code for determining the code phase correction value includes code for obtaining the code phase correction value from a lookup table based on the configuration of the one or more notch filters, the pseudo-random noise code, and the Doppler frequency.
[0148] 33. The non-transitory processor-readable storage medium as described in Clause 32 further includes code for receiving auxiliary information from a network entity, wherein the auxiliary information includes the lookup table.
[0149] 34. The non-transitory processor can read the storage medium as described in Clause 33, wherein the auxiliary data is received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages.
[0150] 35. A non-transitory processor as described in Clause 33 can read storage media, wherein the auxiliary data is received via one or more Radio Resource Control (RRC) messages.
[0151] 36. The non-transitory processor-readable storage medium as described in Clause 32, wherein the code for determining the code phase correction value includes code for obtaining the code phase correction value based on an interpolation function.
[0152] 37. The non-transitory processor-readable storage medium as described in Clause 31 further includes code for generating a lookup table based on a modeled autocorrelation function of a plurality of notch filter configurations, and wherein the code for determining the code phase correction value includes code for obtaining the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency.
[0153] 38. The non-transitory processor-readable storage medium as described in Clause 31, wherein the one or more notch filter configurations include one or more notch frequencies and one or more bandwidths associated with the one or more notch frequencies.
[0154] 39. The non-transitory processor-readable storage medium as described in Clause 31, wherein the code for calculating the distance to the satellite vehicle includes code for determining the pseudorange to the satellite vehicle based on the signal.
[0155] 40. The non-transitory processor-readable storage medium as described in Clause 31 further includes one or more notch filters, which are composed of one or more digital filters having programmable center frequencies and bandwidths. [Simplified Explanation of the Diagram]
[0014] Figure 1 is a simplified diagram of an example wireless communication system.
[0015] Figure 2 is a block diagram of the components of the example user device shown in Figure 1.
[0016] Figure 3 is a block diagram of the components of an example sending / receiving point.
[0017] Figure 4 is a block diagram of the components of an example server, various embodiments of which are illustrated in Figure 1.
[0018] Figure 5 is a diagram of an example GNSS receiver in a user equipment.
[0019] Figure 6A is a diagram of an example GNSS spectrum with a notch filter applied.
[0020] Figure 6B is a comparison of example autocorrelation functions with and without notch filters.
[0021] Figure 6C is a graph of code phase error values based on the example notch filter frequency.
[0022] Figure 7 is a block diagram of an example process for offline phase compensation based on a notch filter configuration.
[0023] Figure 8 is a block diagram of an example process for calculating the code phase correction value.
[0024] Figure 9 is a block diagram of an example process for online phase calculation based on a notch filter configuration.
[0025] Figures 10A to 10D are example graphs of code phase error for multiple satellite carriers and notch filter configurations.
[0026] Figure 11 is a flowchart of an example method for calculating the distance to a satellite vehicle. [Biomaterial Storage]
[0157] Domestic storage information (please note in order of storage institution, date, and number): None. International storage information (please note in order of storage country, institution, date, and number): None.
Claims
1. A method for determining a distance to a satellite vehicle using a receiver, comprising the steps of: receiving a signal from the satellite vehicle; determining one or more notch filter configurations; determining a pseudo-random noise code and a Doppler frequency associated with the signal; determining a code phase correction value based at least on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency; and calculating the distance to the satellite vehicle based at least in part on the signal and the code phase correction value.
2. The method of claim 1, wherein determining the code phase correction value comprises the following steps: obtaining the code phase correction value from a lookup table based on the configuration of one or more notch filters, the pseudo-random noise code, and the Doppler frequency.
3. The method of claim 2 further includes receiving auxiliary information from a network entity, wherein the auxiliary information includes the lookup table.
4. The method as described in claim 3, wherein the auxiliary data is received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages.
5. The method as described in claim 3, wherein the auxiliary data is received via one or more Radio Resource Control (RRC) messages.
6. The method as described in claim 2, wherein determining the code phase correction value includes the following steps: obtaining the code phase correction value based on an interpolation function.
7. The method of claim 1, further comprising generating a lookup table using the receiver based on a modeled autocorrelation function of a plurality of notch filter configurations, and wherein determining the code phase correction value comprises the steps of: obtaining the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency.
8. The method as described in claim 1, wherein the one or more notch filters are configured to include: One or more notch frequencies, and one or more bandwidths associated with the one or more notch frequencies.
9. The method of claim 1, wherein calculating the distance to the satellite vehicle includes the step of: determining a pseudorange to the satellite vehicle based on the signal.
10. The method of claim 1, wherein the receiver includes one or more notch filters, the one or more notch filters being composed of one or more digital filters having programmable center frequencies and bandwidths.
11. An apparatus for determining a distance to a satellite vehicle, comprising: One memory; At least one satellite positioning system receiver is configured to receive a signal from the satellite carrier; The system includes at least one processor communicatively coupled to the memory and the at least one satellite positioning system receiver, and is configured to: receive the signal from the satellite vehicle; determine one or more notch filter configurations; determine a pseudo-random noise code and a Doppler frequency associated with the signal; determine a code phase correction value based at least on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency; and calculate the distance to the satellite vehicle based at least in part on the signal and the code phase correction value.
12. The apparatus of claim 11, wherein the at least one processor is further configured to obtain the code phase correction value from a lookup table based on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency.
13. The apparatus of claim 12, further comprising at least one transceiver communicatively coupled to the at least one processor, wherein the at least one processor is further configured to receive auxiliary data from a network entity, and wherein the auxiliary data includes the lookup table.
14. The apparatus of claim 13, wherein the auxiliary data is received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages.
15. The apparatus of claim 13, wherein the auxiliary data is received via one or more Radio Resource Control (RRC) messages.
16. The apparatus of claim 12, wherein the at least one processor is further configured to obtain the code phase correction value based on an interpolation function.
17. The apparatus of claim 11, wherein the at least one processor is further configured to generate a lookup table based on a modeled autocorrelation function of a plurality of notch filter configurations, and to obtain the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudo-random noise code, and the Doppler frequency.
18. The apparatus of claim 11, wherein the one or more notch filters are configured to include: One or more notch frequencies, and one or more bandwidths associated with the one or more notch frequencies.
19. The apparatus of claim 11, wherein the at least one processor is further configured to determine a pseudorange to the satellite vehicle based on the signal.
20. The apparatus of claim 11, wherein the one or more notch filters are configured to include one or more digital filters having programmable center frequencies and bandwidths.
21. An apparatus for determining a distance to a satellite vehicle, comprising: A component for receiving a signal from the satellite; a component for determining the configuration of one or more notch filters; The means for determining a pseudo-random noise code and a Doppler frequency associated with the signal; the means for determining a code phase correction value based at least on the configuration of one or more notch filters, the pseudo-random noise code and the Doppler frequency; and the means for calculating the distance to the satellite vehicle based at least in part on the signal and the code phase correction value.
22. The apparatus of claim 21, wherein the component for determining the code phase correction value comprises: A component for obtaining the code phase correction value from a lookup table based on the configuration of one or more notch filters, the pseudo-random noise code, and the Doppler frequency.
23. The apparatus of claim 22 further includes components for receiving auxiliary information from a network entity, wherein the auxiliary information includes the lookup table.
24. The apparatus of claim 23, wherein the auxiliary data is received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages.
25. The apparatus of claim 23, wherein the auxiliary data is received via one or more Radio Resource Control (RRC) messages.
26. The apparatus of claim 22, wherein the component for determining the code phase correction value comprises: A component used to obtain the code phase correction value based on an interpolation function.
27. The apparatus of claim 21, further comprising means for generating a lookup table based on a modeled autocorrelation function of a complex number of notch filter configurations, wherein the means for determining the code phase correction value includes: A component for obtaining the code phase correction value from the reference table based on the configuration of one or more notch filters, the pseudo-random noise code, and the Doppler frequency.
28. The apparatus of claim 21, wherein the one or more notch filters are configured to include: One or more notch frequencies, and one or more bandwidths associated with the one or more notch frequencies.
29. The apparatus of claim 21, wherein the component for calculating the distance to the satellite carrier comprises: A component used to determine a pseudorange to the satellite vehicle based on the signal.
30. The apparatus of claim 21 further includes one or more notch filters, which are composed of one or more digital filters having programmable center frequencies and bandwidths.
31. A non-transitory processor-readable storage medium, comprising processor-readable instructions for causing one or more processors to determine a distance to a satellite vehicle, including: Code used to receive a signal from the satellite; Code used to determine the configuration of one or more notch filters; Code for determining a pseudo-random noise code and a Doppler frequency associated with the signal; code for determining a code phase correction value based at least on the configuration of one or more notch filters, the pseudo-random noise code, and the Doppler frequency; and code for calculating the distance to the satellite vehicle based at least in part on the signal and the code phase correction value.
32. The non-transitory processor-readable storage medium as described in claim 31, wherein the code for determining the code phase correction value includes: Code used to obtain the code phase correction value from a lookup table based on the configuration of one or more notch filters, the pseudo-random noise code, and the Doppler frequency.
33. The non-transitory processor-readable storage medium as described in claim 32, further comprising code for receiving auxiliary information from a network entity, wherein the auxiliary information includes the lookup table.
34. The non-transitory processor-readable storage medium as described in claim 33, wherein the auxiliary data is received via one or more Long Term Evolutionary Positioning Protocol (LPP) messages.
35. The non-transitory processor that can read storage media as described in claim 33, wherein the auxiliary data is received via one or more Radio Resource Control (RRC) messages.
36. The non-transitory processor-readable storage medium as described in claim 32, wherein the code for determining the code phase correction value includes: Code used to obtain the phase correction value of the code based on an interpolation function.
37. The non-transitory processor-readable storage medium as claimed in claim 31, further comprising code for generating a lookup table based on a modeled autocorrelation function of a complex number of notch filter configurations, wherein the code for determining the code phase correction value includes: The code is used to obtain the code phase correction value from the reference table based on the configuration of one or more notch filters, the pseudo-random noise code, and the Doppler frequency.
38. The non-transitory processor-readable storage medium as described in claim 31, wherein the one or more notch filters are configured to include: One or more notch frequencies, and one or more bandwidths associated with the one or more notch frequencies.
39. The non-transitory processor-readable storage medium as described in claim 31, wherein the code for calculating the distance to the satellite vehicle includes: The code used to determine a pseudorange to the satellite vehicle based on this signal.
40. The non-transitory processor-readable storage medium as described in claim 31, further comprising one or more notch filters, the notch filters being composed of one or more digital filters having programmable center frequencies and bandwidths.
Citation Information
Patent Citations
Carrier phase processing in discontinuous satellite positioning system tracking
TW201135266A
Delay-free poly-phase quantizer and quantization method for PWM mismatch shaping
TW201832473A
Integer ambiguity-fixed precise point positioning method and system
US20160077213A1
Positioning device and positioning method
US20190033465A1
Power amplifier apparatus supporting reverse intermodulation product cancellation
US20200067468A1