Notch filter code phase effect mitigation

Notch filters and code phase corrections enhance GNSS accuracy by addressing narrowband jamming, ensuring precise satellite vehicle range determination.

JP7783283B2Active Publication Date: 2025-12-09QUALCOMM INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023542545
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-09-13
Filing Date
2021-11-23
Publication Date
2025-12-09
Estimated Expiration
2041-11-23

AI Technical Summary

Technical Problem

Narrowband jamming caused by oscillator harmonics and other signals in wireless devices interferes with Global Navigation Satellite System (GNSS) receivers, affecting the accuracy of code phase measurements and position estimates.

Method used

Utilizing notch filters to attenuate or remove narrowband jamming signals, combined with lookup tables or online calculations to determine code phase corrections based on pseudorandom noise codes, Doppler frequencies, and notch filter configurations.

Benefits of technology

Improves the accuracy of GNSS position estimates by mitigating the effects of narrowband jamming, enabling precise range calculations to satellite vehicles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007783283000006
    Figure 0007783283000006
  • Figure 0007783283000007
    Figure 0007783283000007
  • Figure 0007783283000008
    Figure 0007783283000008
Patent Text Reader

Abstract

Techniques are provided for utilizing notch filters to overcome narrowband jamming.An exemplary method for determining range to a satellite vehicle using a receiver includes receiving a signal from the satellite vehicle, determining one or more notch filter configurations, determining a pseudorandom noise code and a Doppler frequency associated with the signal, determining a code phase correction based at least on the one or more notch filter configurations, the pseudorandom noise code and the Doppler frequency, and calculating a range to the satellite vehicle based at least in part on the signal and the code phase correction.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to techniques for utilizing notch filters to overcome narrowband jamming. [Background technology]

[0002] Wireless communication systems have evolved through various generations, including first-generation analog wireless telephone service (1G), second-generation (2G) digital wireless telephone service (including intermediate 2.5G and 2.75G networks), third-generation (3G) high-speed data, Internet-enabled wireless service, fourth-generation (4G) service (e.g., Long Term Evolution (LTE) or WiMax), and fifth-generation (5G) service. Currently, there are many different types of wireless communication systems in use, including cellular and personal communications services (PCS) systems. Examples of known cellular systems include the Cellular Analog Advanced Mobile Phone System (AMPS), and digital cellular systems based on code division multiple access (CDMA), frequency division multiple access (FDMA), time division multiple access (TDMA), Global System for Mobile Access (GSM) variants of TDMA, and the like.

[0003] It is often desirable to know the location of a user equipment (UE), e.g., a cellular phone, and the terms "location" and "position" are synonymous and are used interchangeably herein. A location services (LCS) client may desire to know the location of the UE and may communicate with a location center to request the location of the UE. The location center and the UE may exchange messages accordingly to obtain a location estimate for the UE. The location center may, for example, return the location estimate to the LCS client for use in 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, etc. Existing positioning methods include methods based on measuring radio signals transmitted from various devices, including satellite vehicles, and terrestrial radio sources in the wireless network, such as base stations and access points.

[0005]

[0004] Many UEs include a global navigation satellite system (GNSS) receiver and can determine their position by precisely measuring the time of arrival of signaling events received from multiple satellites. Satellite vehicles (SVs) in GNSS systems typically transmit data using a form of spread spectrum coding. For example, the Global Positioning System (GPS) utilizes Code Division Multiple Access (COMA). Each SV is assigned a coarse acquisition (CA) code that resembles pseudorandom noise and is unique to that SV. Each SV encodes data using its own CA code and transmits the encoded data on a carrier frequency. Thus, SVs may simultaneously transmit data on a shared carrier frequency. Each CA code consists of a sequence of 1023 "chips," where each chip is assigned a value of 1 or 0. The CA code is transmitted at a rate of 1.023 MHz; therefore, each chip period is approximately 0.977 μs. Each SV continuously transmits a repeating pattern consisting of its own CA code. GPS SVs may encode navigation or system data by inverting the transmitted CA code. CA code phase is the relationship of the CA code to a reference clock or to other CA codes transmitted by other SVs. While CA code phase may be synchronized between SVs when transmitted, CA codes may be received with different delays at the GPS receiver due to different propagation times. Generally, a GPS receiver determines which CA codes are being received to determine which GPS satellites are in view.

[0006]

[0005] There are many obstacles to receiving signals from GPS satellites. In particular, UEs that are also configured to utilize other wireless technologies, such as Wi-Fi, BLUETOOTH, and other cellular-based technologies, may generate signals that interfere with the spread spectrum used by the GNSS receiver. For example, oscillator harmonics or other artifacts within the UE may cause localized jamming of one or more regions within the radio frequency spectrum utilized by the GNSS receiver. To reduce the effects of such jamming signals, notch filtering within the GNSS receiver may be used. Summary of the Invention

[0007]

[0006] An exemplary method according to the present disclosure for determining a range to a satellite vehicle using a receiver includes receiving a signal from the satellite vehicle, determining one or more notch filter configurations, determining a pseudorandom noise code and a Doppler frequency associated with the signal, determining a code phase correction based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency, and calculating a range to the satellite vehicle based at least in part on the signal and the code phase correction.

[0008] Implementations of such a 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, a pseudorandom noise code, and a Doppler frequency. Assistance data may be received from a network entity, where the assistance data includes the lookup table. The assistance data may be received via one or more Long Term Evolution Positioning Protocol (LPP) messages. The assistance 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. A lookup table may be generated by the receiver based on modeled autocorrelation functions for the multiple notch filter configurations, where determining the code phase correction value includes obtaining the code phase correction value from the lookup table based on the one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency. 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 range to the satellite vehicle may include determining a pseudorange to the satellite vehicle based on the signal. The receiver may include one or more notch filters comprised of one or more digital filters with programmable center frequencies and bandwidths.

[0009]

[0008] An exemplary apparatus according to the present disclosure includes a memory, at least one satellite positioning system receiver configured to receive signals from a satellite vehicle, and at least one processor communicatively coupled to the memory and the at least one satellite positioning system receiver, wherein the at least one processor is configured to receive signals from the satellite vehicle, determine one or more notch filter configurations, determine a pseudorandom noise code and a Doppler frequency associated with the signals, determine a code phase correction value based at least on the one or more notch filter configurations, the pseudorandom noise code and the Doppler frequency, and calculate a range to the satellite vehicle based at least in part on the signals and the code phase correction value.

[0010] Implementations of such an apparatus may include one or more of the following features. The at least one processor may be further configured to obtain code phase correction values ​​from a lookup table based on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency. The apparatus may include at least one transceiver communicatively coupled to the at least one processor, such that the at least one processor is further configured to receive assistance data from a network entity, wherein the assistance data includes the lookup table. The assistance data may be received via one or more Long Term Evolution Positioning Protocol (LPP) messages. The assistance data may be received via one or more Radio Resource Control (RRC) messages. The at least one processor may be further configured to obtain code phase correction values ​​based on an interpolation function. The at least one processor may be further configured to generate the lookup table based on a modeled autocorrelation function for the multiple notch filter configurations and obtain the code phase correction values ​​from the lookup table based on the one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency. 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 may be further configured to determine a pseudorange to the satellite vehicle based on the signal. The one or more notch filter configurations may comprise one or more digital filters with programmable center frequencies and bandwidths.

[0011]

[0010] An exemplary apparatus for determining a range to a satellite vehicle according to the present disclosure includes means for receiving a signal from the satellite vehicle, means for determining one or more notch filter configurations, means for determining a pseudorandom noise code and a Doppler frequency associated with the signal, means for determining a code phase correction value based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency, and means for calculating the range to the satellite vehicle based at least in part on the signal and the code phase correction value.

[0012]

[0011] An exemplary non-transitory processor-readable storage medium according to the present disclosure having processor-readable instructions for causing one or more processors to determine a range to a satellite vehicle includes code for receiving a signal from the satellite vehicle, code for determining one or more notch filter configurations, code for determining a pseudorandom noise code and a Doppler frequency associated with the signal, code for determining a code phase correction value based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency, and code for calculating a range to the satellite vehicle based at least in part on the signal and the code phase correction value.

[0013]

[0012] The items 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 from a satellite vehicle in a radio frequency spectrum. Reception within one or more frequencies in the spectrum may be degraded by a local jammer. A notch filter may be used to mitigate the effects of jamming. The accuracy of code phase measurements may be reduced by the use of a notch filter. The effect on the code phase measurements depends on the pseudorandom noise code of the received signal, the satellite vehicle Doppler frequency, and the notch configuration. A lookup table may be generated to select code phase corrections based on the pseudorandom noise code of the received signal, the satellite vehicle Doppler frequency, and the notch configuration. The lookup table may be generated locally on the GNSS receiver and / or received as assistance data from the network. The code phase corrections may be used to improve range calculations. The accuracy of GNSS position estimates may be improved. Other capabilities may be provided, and every implementation according to the present disclosure need not provide any, much less all, of the described capabilities. [Brief explanation of the drawings]

[0014] [Figure 1] 1 is a simplified diagram of an exemplary wireless communication system. [Figure 2] FIG. 2 is a block diagram of components of the exemplary user equipment shown in FIG. [Figure 3]

[0015] 1 is a block diagram of components of an exemplary transmit / receive point. [Figure 4]

[0016] FIG. 1 is a block diagram of components of an exemplary server, various embodiments of which are illustrated in FIG. [Figure 5]

[0017] 1 is a diagram of an exemplary GNSS receiver in a user equipment. [Figure 6A]

[0018] Graph of an exemplary GNSS spectrum with a notch filter applied. [Figure 6B]

[0019] 10 is a graph comparing an exemplary autocorrelation function with and without a notch filter. [Figure 6C]

[0020] 10 is a plot of code phase error values ​​based on exemplary notch filter frequencies. [Figure 7]

[0021] FIG. 10 is a block diagram of an exemplary process for offline phase compensation based on a notch filter configuration. [Figure 8]

[0022] FIG. 4 is a block diagram of an exemplary process for calculating code phase corrections. [Figure 9]

[0023] FIG. 10 is a block diagram of an exemplary process for online phase calculation based on a notch filter configuration. [Figure 10A]

[0024] 10A and 10B include exemplary plots of code phase error for satellite vehicle and notch filter configurations. [Figure 10B] 10A and 10B include exemplary plots of code phase error for satellite vehicle and notch filter configurations. [Figure 10C] 10A and 10B include exemplary plots of code phase error for satellite vehicle and notch filter configurations. [Figure 10D] 10A and 10B include exemplary plots of code phase error for satellite vehicle and notch filter configurations. [Figure 11]

[0025] 1 is a process flow diagram of an exemplary method for calculating range to a satellite vehicle. DETAILED DESCRIPTION OF THE INVENTION

[0015]

[0026] Techniques for utilizing notch filters to overcome narrowband jamming are described herein. A notch filter is defined as any receiver element or process that attenuates or removes a portion of a received signal. For example, a programmable filter may be utilized to attenuate a portion of the received spectrum centered around a programmed narrowband jammer frequency. Alternatively, an adaptive filter that automatically updates its frequency response may be utilized to attenuate the received spectrum centered around a dynamically appearing narrowband jammer. Alternatively, an interference canceller may be utilized, in which the narrowband jammer signal is estimated and subtracted from the received signal. The filtering or interference cancellation may be implemented by analog or digital means, or any combination thereof. A digital front end (DFE) in a GNSS receiver may utilize notch filters to mitigate the effects of narrowband jamming, such as those caused by primary and / or harmonic signals generated by other oscillators in a mobile device. During operation, notch filters may affect code phase measurements obtained by the GNSS receiver and, therefore, the accuracy of position estimates based on those measurements. The distortion in the code phase measurement may be based on several factors, such as the number and bandwidth of notch filters, the pseudorandom noise (PRN) code of the transmitted SV, and the notch frequency relative to the SV Doppler frequency. In one example, the techniques provided herein utilize one or more look-up tables (LUTs) to determine a code phase error value based on the PRN code, notch frequency, notch bandwidth, and SV Doppler frequency. The LUTs may be provided to the UE (e.g., as range assistance data) via a communications network and / or other device-to-device communications link. In another example, the code phase error value may be generated online (i.e., locally on the UE) based on the PRN code, notch frequency, notch bandwidth, and SV Doppler frequency. Online generation of the code phase error may enable mitigation against dynamic notch filtering. These techniques and configurations are examples, and other techniques and configurations may be used.

[0016]

[0027] Referring to FIG. 1 , an example of a 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 may be, for example, an IoT device, a location tracker device, a cellular phone, or other device. The 5G network may also be referred to as a new radio (NR) network, the NG-RAN 135 may also be referred to as a 5G RAN or an NR RAN, and the 5GC 140 may also be referred to as an NG core network (NGC). Standardization of the NG-RAN and 5GC is underway in the 3rd Generation Partnership Project (3GPP®). Thus, the NG-RAN 135 and 5GC 140 may conform to current or future standards for 5G support from 3GPP. The RAN 135 may be another type of RAN, for example, a 3G RAN, a 4G Long Term Evolution (LTE) RAN, etc. The communications system 100 may utilize information from a constellation 185 of satellite vehicles (SVs) 190, 191, 192, 193 for a satellite positioning system (SPS) (e.g., a Global Navigation Satellite System (GNSS)), such as a Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), Galileo, or Beidou, or some other local or regional SPS, such as the Indian Regional Navigation Satellite System (IRNSS), the European Geostationary Navigation Overlay Service (EGNOS), or the Wide Area Augmentation System (WAAS). Additional components of the communications system 100 are described below. The communications system 100 may include additional or alternative components.

[0017]

[0028] 1, the NG-RAN 135 includes NR NodeBs (gNBs) 110a, 110b and an evolved eNodeB (ng-eNB) 114, and the 5GC 140 includes an Access and Mobility Management Function (AMF) 115, a Session Management Function (SMF) 117, a Location Management Function (LMF) 120, and a Gateway Mobile Location Center (GMLC) 125. The gNBs 110a, 110b, and the ng-eNB 114 are communicatively coupled to each other and each configured to wirelessly communicate bidirectionally with the UE 105, and each communicatively coupled to and configured to communicate bidirectionally with the AMF 115. The AMF 115, the SMF 117, the LMF 120, and the GMLC 125 are communicatively coupled to each other, and the GMLC is communicatively coupled to an external client 130. The SMF 117 may act as the first point of contact for a Service Control Function (SCF) (not shown) to create, control, and delete media sessions.

[0018]

[0029] FIG. 1 provides a generalized illustration of various components, any or all of which may be utilized as appropriate, and each of which may be duplicated or omitted as needed. In particular, while one UE 105 is shown, many UEs (e.g., hundreds, thousands, millions, etc.) may be utilized in communications system 100. Similarly, communications system 100 may include a greater number (or fewer) of SVs (i.e., more or fewer than the four SVs 190-193 shown), gNBs 110a, 110b, ng-eNB 114, AMF 115, external client 130, and / or other components. The illustrated connections connecting the various components in communications system 100 include data and signaling connections, which may include additional (intermediate) components, direct or indirect physical and / or wireless connections, and / or additional networks. Furthermore, components may be rearranged, combined, separated, substituted, and / or omitted depending on the desired functionality.

[0019]

[0030] 1 shows a 5G-based network, similar network implementations and configurations may 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) may be used to transmit (or broadcast) directional synchronization signals, receive and measure the directional signals at a UE (e.g., the UE 105), and / or provide location assistance to the UE 105 (via the GMLC 125 or other location server), and / or calculate a location for the UE 105 at a location-enabled device, such as the UE 105, gNBs 110a, 110b, or LMF 120, based on measurements received at the UE 105 for such directionally transmitted signals. The Gateway Mobile Location Center (GMLC) 125, Location Management Function (LMF) 120, Access and Mobility Management Function (AMF) 115, SMF 117, ng-eNB (eNodeB) 114, and gNB (gNodeB) 110a, 110b are examples and may each be replaced by or include various other location server functions and / or base station functions in various embodiments.

[0020]

[0031] The UE 105 may comprise and / or be referred to as a device, a mobile device, a wireless device, a mobile terminal, a terminal, a mobile station (MS), a Secure User Plane Location (SUPL)-enabled terminal (SET), or by some other name. Additionally, the UE 105 may correspond to a cell phone, a smartphone, a laptop, a tablet, a PDA, a tracking device, a navigation device, an Internet of Things (IoT) device, an asset tracker, a health monitor, a security system, a smart city sensor, a smart meter, a wearable tracker, or some other portable or movable device. Typically, although not necessarily, the UE 105 may support wireless communications using one or more radio access technologies (RATs), such as Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), LTE, High Rate Packet Data (HRPD), IEEE 802.11 WiFi (also referred to as Wi-Fi), Bluetooth (BT), Worldwide Interoperability for Microwave Access (WiMAX), 5G New Radio (NR) (e.g., using NG-RAN 135 and 5GC 140), etc. The UE 105 may support wireless communications using a wireless local area network (WLAN), which may connect to other networks (e.g., the Internet) using, for example, a digital subscriber line (DSL) or packet cable. Use of one or more of these RATs may enable UE 105 to communicate with external client 130 (e.g., via elements of 5GC 140 not shown in FIG. 1 or possibly via GMLC 125) and / or enable external client 130 to receive location information regarding UE 105 (e.g., via GMLC 125).

[0021]

[0032] The UE 105 may comprise a single entity, or may comprise multiple entities, such as in a personal area network where a user may employ audio, video, and / or data I / O (input / output) devices and / or body sensors and a separate wireline or wireless modem. An estimate of the location of the UE 105 may be referred to as a location, location estimate, location fix, fix, position, position estimate, or position fix, and may be geographic and thus provide location coordinates (e.g., latitude and longitude) of the UE 105 that may or may not include an altitude component (e.g., height above sea level, height or depth above ground, floor level, or basement level). Alternatively, the location of the UE 105 may be expressed as a civic location (e.g., as a postal address or as a designation of some point or small area in a building, such as a particular room or floor). The location of the UE 105 may be expressed as an area or volume (defined either geographically or in urban terms) within which the UE 105 is expected to be located with a certain probability or confidence level (e.g., 67%, 95%, etc.). The location of the UE 105 may be expressed as a relative location, for example, comprising a distance and a direction from a known location. The relative location may be expressed as relative coordinates (e.g., X, Y (and Z) coordinates) defined relative to some origin in the known location, which may be defined, for example, geographically, with respect to a city, or by reference to a point, area, or volume shown on a map, floor plan, or building plan. In the description contained herein, use of the term location may comprise any of these variations unless otherwise indicated. When calculating the location of a UE, it is common to determine the values ​​of the local x, y, and possibly z coordinates and then, if desired, convert the local coordinates to absolute coordinates (e.g., for latitude, longitude, and altitude above or below mean sea level).

[0022]

[0033] The UE 105 may be configured to communicate with other entities using one or more of a variety of technologies. The UE 105 may be configured to indirectly connect to one or more communication networks via one or more device-to-device (D2D) peer-to-peer (P2P) links. The D2D P2P links may be supported using any suitable D2D radio access technology (RAT), such as LTE Direct (LTE-D), WiFi Direct (WiFi-D), Bluetooth, etc. One or more of a group of UEs utilizing D2D communication may be within the geographic coverage area of ​​a transmit / receive point (TRP), such as one or more of the gNBs 110a, 110b, and / or ng-eNB 114. Other UEs in such a group may be outside such geographic coverage area or may otherwise be unable to receive transmissions from the base station. A group of UEs communicating via D2D communication may utilize a one-to-many (1:M) system in which each UE may transmit to other UEs in the group. The TRP may facilitate scheduling of resources for D2D communication. In other cases, D2D communication may take place between UEs without the involvement of a TRP.

[0023]

[0034] The base stations (BSs) in the NG-RAN 135 shown in FIG. 1 include NR Node Bs referred to as gNBs 110a and 110b. The pair of gNBs 110a, 110b in the NG-RAN 135 may be connected to each other via one or more other gNBs. Access to the 5G network is provided to the UE 105 via wireless communication between the UE 105 and one or more of the gNBs 110a, 110b, and the gNBs 110a, 110b may provide wireless communication access to the 5G Grid Control 140 for the UE 105 using 5G. In FIG. 1, the serving gNB for the UE 105 is assumed to be gNB 110a, although another gNB (e.g., gNB 110b) may act as the serving gNB if the UE 105 moves to another location or as a secondary gNB to provide additional throughput and bandwidth to the UE 105.

[0024]

[0035] 1 may include the ng-eNB 114, also referred to as a next-generation evolved Node B. The ng-eNB 114 may be connected to one or more of the gNBs 110a, 110b in the NG-RAN 135, possibly via one or more other gNBs and / or one or more other ng-eNBs. The ng-eNB 114 may provide LTE wireless access and / or evolved LTE (eLTE) wireless access to the UE 105. One or more of the gNBs 110a, 110b and / or ng-eNB 114 may be configured to function as positioning-only beacons that may transmit signals to assist in determining the location of the UE 105 but may not receive signals from the UE 105 or other UEs.

[0025]

[0036] Base stations, such as gNB 110a, gNB 110b, and ng-eNB 114, may each comprise one or more TRPs. For example, each sector in a BS's cell may comprise a TRP, but the TRPs may share one or more components (e.g., share a processor but have separate antennas). System 100 may include a macro TRP, or system 100 may have different types of TRPs, such as macro TRPs, pico TRPs, and / or femto TRPs. A macro TRP may cover a relatively large geographic area (e.g., a radius of several kilometers) and allow unrestricted access by terminals with service subscriptions. A pico TRP may cover a relatively small geographic area (e.g., a pico cell) and allow unrestricted access by terminals with service subscriptions. A femto TRP or home TRP may cover a relatively small geographic area (e.g., a femto cell) and allow restricted access by terminals with an association with the femto cell (e.g., terminals for home users).

[0026]

[0037] As mentioned, although Figure 1 illustrates nodes configured to communicate according to a 5G communication protocol, nodes configured to communicate according to other communication protocols, such as, for example, an LTE protocol or an IEEE 802.11x protocol, may be used. For example, in an Evolved Packet System (EPS) providing LTE wireless access to the UE 105, the RAN may comprise an Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN), which may comprise base stations with evolved Node Bs (eNBs). The core network for the EPS may comprise an Evolved Packet Core (EPC). The EPS may comprise an E-UTRAN+EPC, where E-UTRAN corresponds to the NG-RAN 135 in Figure 1 and the EPC corresponds to the 5G Node B 140.

[0027]

[0038] The gNBs 110a, 110b and ng-eNB 114 may communicate with the AMF 115, which communicates with the LMF 120, for positioning functions. The AMF 115 may support the mobility of the UE 105, including cell changes and handovers, and may participate in supporting signaling connections to the UE 105 and, in some cases, data and voice bearers for the UE 105. The LMF 120 may communicate directly with the UE 105, for example, through wireless communications. The LMF 120 may support positioning of the UE 105 when the UE 105 accesses the NG-RAN 135 and may support position procedures / methods such as Aided GNSS (A-GNSS), Observed Time Difference of Arrival (OTDOA), Real Time Kinematics (RTK), Precise Point Positioning (PPP), Differential GNSS (DGNSS), Enhanced Cell ID (E-CID), Angle of Arrival (AOA), Angle of Departure (AOD), and / or other position methods. The LMF 120 may process location service requests for the UE 105 received, for example, from the AMF 115 or from the GMLC 125. The LMF 120 may be connected to the AMF 115 and / or the GMLC 125. The LMF 120 may be referred to by other names, such as a location manager (LM), location function (LF), commercial LMF (CLMF), or value-added LMF (VLMF). A node / system implementing the LMF 120 may additionally or alternatively implement other types of location support modules, such as an enhanced serving mobile location center (E-SMLC) or a secure user plane location (SUPL) location platform (SLP). At least a portion of the positioning function (including deriving the location of the UE 105) may be performed in the UE 105 (e.g., using signals transmitted by wireless nodes such as the gNBs 110a, 110b and / or the ng-eNB 114 and / or signal measurements obtained by the UE 105 for assistance data provided to the UE 105 by the LMF 120, for example).

[0028]

[0039] The GMLC 125 may support location requests for the UE 105 received from the external client 130 and may forward such location requests to the AMF 115 for forwarding by the AMF 115 to the LMF 120 or may forward the location requests directly to the LMF 120. A location response from the LMF 120 (e.g., containing a location estimate for the UE 105) may be returned to the GMLC 125 either directly or via the AMF 115, which may then return a location response (e.g., containing the location estimate) to the external client 130. While the GMLC 125 is shown connected to both the AMF 115 and the LMF 120, in some implementations, one of these connections may be supported by the 5GC 140.

[0029]

[0040] 1, the LMF 120 may communicate with the gNBs 110a, 110b and / or the ng-eNB 114 using the New Radio Location Protocol A (sometimes referred to as NPPa or NRPPa), which may be defined in 3GPP Technical Specification (TS) 38.455. NRPPa may be the same as, similar to, or an extension of the LTE Positioning Protocol A (LPPa) defined in 3GPP TS 36.455, and NRPPa messages are transferred between the gNB 110a (or gNB 110b) and the LMF 120 and / or between the ng-eNB 114 and the LMF 120 via the AMF 115. As further shown in FIG. 1, the LMF 120 and the UE 105 may communicate using the LTE Positioning Protocol (LPP), which may be defined in 3GPP TS 36.355. The LMF 120 and the UE 105 may also or instead communicate using a New Radio Positioning Protocol (sometimes 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 may be transferred between the UE 105 and the LMF 120 via the AMF 115 and the serving gNB 110a, 110b, or serving ng-eNB 114 for the UE 105. For example, LPP and / or NPP messages may be transferred between the LMF 120 and the AMF 115 using a 5G Location Services Application Protocol (LCS AP) and between the AMF 115 and the UE 105 using a 5G Non-Access Stratum (NAS) protocol. The LPP and / or NPP protocols may be used to support positioning of the UE 105 using UE-assisted and / or UE-based location methods, such as A-GNSS, RTK, OTDOA, and / or E-CID.The NRPPa protocol may be used to support positioning of the UE 105 using network-based location methods such as E-CID (e.g., when used in conjunction with measurements obtained by the gNB 110a, 110b or ng-eNB 114) and / or may be used by the LMF 120 to obtain location-related information from the gNB 110a, 110b and / or ng-eNB 114, such as parameters defining directional SS transmissions from the gNB 110a, 110b and / or ng-eNB 114.

[0030]

[0041] In a UE-assisted location method, the UE 105 may obtain location measurements and send the measurements to a network entity, such as a base station or a location server (e.g., the LMF 120), for calculation of a location estimate for the UE 105. For example, the location measurements may include one or more of a received signal strength indication (RSSI), a round-trip signal propagation time (RTT), a reference signal time difference (RSTD), a reference signal received power (RSRP), and / or a reference signal received quality (RSRQ) for the gNB 110a, 110b, the ng-eNB 114, and / or a WLAN AP. The location measurements may also or instead include measurements of GNSS pseudorange, code phase, and / or carrier phase for the SV 190-193.

[0031]

[0042] In a UE-based location method, the UE 105 may obtain location measurements (which may, for example, be the same as or similar to location measurements for a UE-assisted location method) and may calculate the location of the UE 105 (e.g., with the aid of assistance data received from a network entity such as a location server such as the LMF 120, or broadcast by the gNB 110a, 110b, ng-eNB 114, or other base station or AP).

[0032]

[0043] In a network-based location method, one or more base stations (e.g., gNBs 110a, 110b, and / or ng-eNB 114) or APs may obtain location measurements (e.g., RSSI, RTT, RSRP, RSRQ, or time of arrival (TOA) measurements for signals transmitted by the UE 105) and / or receive measurements obtained by the UE 105. The one or more base stations or APs may send the measurements to a network entity, such as a location server (e.g., LMF 120), for calculation of a location estimate for the UE 105.

[0033]

[0044] The information provided by the gNBs 110a, 110b, and / or the ng-eNB 114 to the LMF 120 using the NRPPa may include timing and configuration information for directional SS transmissions and location coordinates. The LMF 120 may provide some or all of this information to the UE 105 as assistance data in LPP and / or NPP messages via the NG-RAN 135 and the 5GC 140.

[0034]

[0045] An LPP or NPP message sent to the UE 105 from a network entity such as the LMF 120 may instruct the UE 105 to do any of a variety of things depending on the desired functionality. For example, the LPP or NPP message may include instructions for the UE 105 to obtain measurements for GNSS (or A-GNSS), WLAN, E-CID, and / or OTDOA (or some other location method). In the case of E-CID, the LPP or NPP message may instruct the UE 105 to obtain one or more measurements (e.g., beam ID, beam width, average angle, RSRP, RSRQ measurements) of directional signals transmitted within a particular cell supported by one or more of the gNBs 110a, 110b, and / or ng-eNB 114 (or supported by some other type of base station such as an eNB or WiFi AP). The UE 105 may send the measurement quantities back to the LMF 120 in an LPP or NPP message (e.g., within a 5G NAS message) via the serving gNB 110a (or serving ng-eNB 114) and the AMF 115.

[0035]

[0046] As mentioned, although communication system 100 is described with respect to 5G technology, communication system 100 may be implemented to support other communication technologies, such as GSM, WCDMA, LTE, etc., used to support and interact with mobile devices such as UE 105 (e.g., to implement voice, data, positioning, and other functions). In some such embodiments, 5GC 140 may be configured to control different air interfaces. For example, 5GC 140 may connect to a WLAN using a non-3GPP interworking function (N3IWF, not shown in FIG. 1 ) in 5GC 150. For example, the WLAN may support IEEE 802.11 WiFi access for UE 105 and may comprise one or more WiFi APs. Here, the N3IWF may connect to the WLAN and to other elements in 5GC 140, such as AMF 115. In some embodiments, both NG-RAN 135 and 5GC 140 may be replaced by one or more other RANs and one or more other core networks. For example, in an EPS, the NG-RAN 135 may be replaced by an E-UTRAN including eNBs, and the 5GC 140 may be replaced by an EPC including a mobility management entity (MME) in place of the AMF 115, an E-SMLC in place of the LMF 120, and a GMLC that may be similar to the GMLC 125. In such an EPS, the E-SMLC may use an LPPa instead of an NRPPa to send location information to and receive location information from eNBs in the E-UTRAN, and may use an LPP to support positioning of the UE 105. In these other embodiments, positioning of the UE 105 using a directional PRS may be supported in a manner similar to that described herein for a 5G network, except that the functions and procedures described herein for the gNBs 110a, 110b, ng-eNB 114, AMF 115, and LMF 120 may, in some cases, instead apply to other network elements, such as eNBs, WiFi APs, MMEs, and E-SMLCs.

[0036]

[0047] As mentioned, in some embodiments, the positioning functionality may be implemented at least in part using directional SS beams sent by base stations (such as gNBs 110a, 110b, and / or ng-eNB 114) that are within range of the UE whose position is to be determined (e.g., UE 105 of FIG. 1). The UE may, in some cases, use directional SS beams from multiple base stations (such as gNBs 110a, 110b, ng-eNB 114) to calculate the UE's position.

[0037]

[0048] 2, UE 200 is an example of UE 105 and comprises a computing platform including a processor 210, memory 211 including software (SW) 212, one or more sensors 213, a transceiver interface 214 for transceiver 215 (including wireless transceiver 240 and / or wired transceiver 250), a user interface 216, a satellite positioning system (SPS) receiver 217, a camera 218, and a position (motion) device 219. Processor 210, memory 211, sensor(s) 213, transceiver interface 214, user interface 216, SPS receiver 217, camera 218, and position (motion) device 219 may be communicatively coupled to each other by bus 220 (which may be configured for optical and / or electrical communication, for example). One or more of the illustrated processor-readable instruction devices (e.g., one or more of the camera 218, the position (motion) device 219, and / or the sensor(s) 213) may be omitted from the UE 200. The processor 210 may include one or more intelligent hardware devices, e.g., a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), etc. The processor 210 may comprise 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 the processors 230-234 may comprise multiple devices (e.g., multiple processors). The modem processor 232 may support dual SIM / dual connectivity (or even more SIMs). For example, one SIM (subscriber identity module or subscriber identity module) may be used by an original equipment manufacturer (OEM) and another SIM may be used by an end user of the UE 200 for connectivity. The memory 211 is a non-transitory storage medium that may include random access memory (RAM), flash memory, disk memory, and / or read-only memory (ROM), etc.The memory 211 stores software 212, which may be processor-readable, processor-executable software code including instructions configured, when executed, to cause the processor 210 to perform various functions described herein. Alternatively, the software 212 may not be directly executable by the processor 210, but may be configured, for example, when compiled and executed, to cause the processor 210 to perform functions. The description may refer to the processor 210 performing functions, but this includes other implementations, such as when the processor 210 executes software and / or firmware. The description may refer to the processor 210 performing functions as shorthand for one or more of the processors 230-234 that perform the functions. The description may refer to the UE 200 performing functions as shorthand for one or more appropriate components of the UE 200 that perform the functions. The processor 210 may include a memory with stored instructions in addition to and / or instead of the memory 211. The functionality of the processor 210 is described more fully below.

[0038]

[0049] 2 is an example of the present disclosure, including the claims, and is not intended to limit the present disclosure; other configurations may be used. For example, an exemplary configuration of a UE includes one or more of processors 230-234 of processor 210, memory 211, and wireless transceiver 240. Other exemplary configurations include one or more of processors 230-234 of processor 210, memory 211, wireless transceiver 240, and one or more of sensor(s) 213, user interface 216, SPS receiver 217, camera 218, PMD 219, and / or wired transceiver 250.

[0039]

[0050] The UE 200 may include a modem processor 232 that may be capable of performing baseband processing of signals received and downconverted by the transceiver 215 and / or the SPS receiver 217. The modem processor 232 may perform baseband processing of signals to be upconverted for transmission by the transceiver 215. Also or alternatively, the baseband processing may be performed by the general-purpose processor 230 and / or the DSP 231. However, other configurations may be used to perform the baseband processing.

[0040]

[0051] The UE 200 may include sensor(s) 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. The IMU 270 may comprise one or more inertial sensors, for example, one or more accelerometers 273 and / or one or more gyroscopes 274 (e.g., collectively responsive to acceleration of the UE 200 in three dimensions). The magnetometer(s) may provide measurements for determining orientation (e.g., relative to magnetic north and / or true north), which may be used for any of a variety of purposes, for example, to support one or more compass applications. The environmental sensor(s) 272 may comprise, 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. The sensor(s) 213 may generate analog and / or digital signals whose indications may 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 directed to positioning and / or navigation operations, for example.

[0041]

[0052] The sensor(s) 213 may be used in relative location measurement, relative location determination, motion determination, etc. Information detected by the sensor(s) 213 may be used for motion detection, relative displacement, dead reckoning, sensor-based location determination, and / or sensor-assisted location determination. The sensor(s) 213 may be useful for determining whether the UE 200 is fixed (stationary) or mobile and / or whether any useful information regarding the mobility of the UE 200 should be reported to the LMF 120. For example, based on information acquired / measured by the sensor(s) 213, the UE 200 may notify / report to the LMF 120 that the UE 200 has detected movement or that the UE 200 has moved, and may report a relative displacement / distance (e.g., via dead reckoning, or sensor-based location determination, or sensor-assisted location determination enabled by the sensor(s) 213). In another example, the sensor / IMU may be used to determine the angle and / or orientation of other devices relative to the UE 200 for relative positioning information.

[0042]

[0053] The IMU 270 may be configured to provide measurements of the direction and / or rate of movement of the UE 200, which may be used in relative location determination. For example, the one or more accelerometers 273 and / or one or more gyroscopes 274 of the IMU 270 may detect the linear acceleration and rotational rate of the UE 200, respectively. The measurements of the linear acceleration and rotational rate of the UE 200 may be integrated over time to determine the instantaneous direction and displacement of the UE 200's movement. The instantaneous direction and displacement of the movement may be integrated to track the UE 200's location. For example, a reference location of the UE 200 may be determined, for example, using the SPS receiver 217 (and / or by some other means) for a certain moment in time, and measurements from the accelerometer(s) 273 and the gyroscope(s) 274 obtained after this moment in time may be used in dead reckoning to determine the UE 200's current location based on the UE 200's movement (direction and distance) relative to the reference location.

[0043]

[0054] The magnetometer(s) 271 may determine magnetic field strength in different directions, which may be used to determine an orientation of the UE 200. For example, the orientation may be used to provide a digital compass for the UE 200. The magnetometer(s) 271 may include a two-dimensional magnetometer configured to detect and provide an indication of magnetic field strength in two orthogonal dimensions. Also or alternatively, the magnetometer(s) 271 may include a three-dimensional magnetometer configured to detect and provide an indication of magnetic field strength in three orthogonal dimensions. The magnetometer(s) 271 may provide a means for sensing the magnetic field and providing an indication of the magnetic field to, for example, the processor 210.

[0044]

[0055] The transceiver 215 may include a wireless transceiver 240 and a wired transceiver 250 configured to communicate with other devices over wireless and wired connections, respectively. For example, the 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 the wireless signals 248 to wired (e.g., electrical and / or optical) signals and vice versa. Thus, the transmitter 242 may include multiple transmitters, which may be separate components or combined / integrated components, and / or the receiver 244 may include multiple receivers, which may be separate components or combined / integrated components. The wireless transceiver 240 may be configured to communicate signals (e.g., with the TRP and / or one or more other devices) in accordance with various radio access technologies (RATs), such as 5G New Radio (NR), GSM (Global System for Mobile), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Phone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE Vehicle-to-Everything (V2X) (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth, Zigbee®, etc. New Radio may use mm-wave and / or sub-6 GHz frequencies. The wired transceiver 250 may include a transmitter 252 and a receiver 254 configured for wired communication with the network 135, for example, to send communications to the gNB 110a and receive communications from the gNB 110a.The transmitter 252 may include multiple transmitters, which may be separate components or combined / integrated components, and / or the receiver 254 may include multiple receivers, which may be separate components or combined / integrated components. The wired transceiver 250 may be configured for optical and / or electrical communication, for example. The transceiver 215 may be communicatively coupled to the transceiver interface 214, for example, by an optical and / or electrical connection. The transceiver interface 214 may be at least partially integrated with the transceiver 215.

[0045]

[0056] The user interface 216 may comprise one or more of several devices, such as, for example, a speaker, a microphone, a display device, a vibrating device, a keyboard, a touchscreen, etc. The user interface 216 may include two or more of any of these devices. The user interface 216 may be configured to allow a user to interact with one or more applications hosted by the UE 200. For example, the user interface 216 may store instructions of analog and / or digital signals in the memory 211 for processing by the DSP 231 and / or the general-purpose processor 230 in response to actions from the user. Similarly, applications hosted on the UE 200 may store instructions of analog and / or digital signals in the memory 211 for presenting output signals to the user. The user interface 216 may include audio input / output (I / O) devices, including, for example, a speaker, a microphone, digital-to-analog circuitry, analog-to-digital circuitry, amplifiers, and / or gain control circuits (including two or more of any of these devices). Other configurations of audio I / O devices may be used. Also or alternatively, the user interface 216 may include one or more touch sensors that respond to touch and / or pressure, for example, on a keyboard and / or touchscreen of the user interface 216 .

[0046]

[0057] The SPS receiver 217 (e.g., a global positioning system (GPS) receiver) may be capable of receiving and acquiring the SPS signals 260 via an SPS antenna 262. The antenna 262 is configured to convert the wireless SPS signals 260 into wired signals, e.g., electrical or optical signals, and may be integrated with the antenna 246. The SPS receiver 217 may be configured to process, in whole or in part, the acquired SPS signals 260 to estimate the location of the UE 200. For example, the SPS receiver 217 may be configured to determine the location of the UE 200 by trilateration using the SPS signals 260. A general-purpose processor 230, memory 211, a DSP 231, and / or one or more special-purpose processors (not shown) may be utilized in conjunction with the SPS receiver 217 to process, in whole or in part, the acquired SPS signals and / or to calculate the estimated location of the UE 200. The memory 211 may store indications (e.g., measurements) of the SPS signals 260 and / or other signals (e.g., signals captured from the wireless transceiver 240) for use in performing positioning operations. The general-purpose processor 230, the DSP 231, and / or one or more special-purpose processors and / or the memory 211 may provide or support a location engine for use in processing the measurements to estimate the location of the UE 200.

[0047]

[0058] The UE 200 may include a camera 218 for capturing still or video images. The camera 218 may comprise, for example, an imaging sensor (e.g., a charge-coupled device or CMOS imager), a lens, analog-to-digital circuitry, a frame buffer, etc. Additional processing, conditioning, encoding, and / or compression of signals representing the captured images may be performed by the general-purpose processor 230 and / or the DSP 231. Also or alternatively, a video processor 233 may perform conditioning, encoding, compression, and / or manipulation of signals representing the captured images. The video processor 233 may decode / decompress stored image data, for example, for presentation on a display device (not shown) of the user interface 216.

[0048]

[0059] Position (motion) device (PMD) 219 may be configured to determine the position, and possibly the movement, of UE 200. For example, PMD 219 may be in communication with and / or include some or all of SPS receiver 217. Also or alternatively, PMD 219 may be configured to determine the position of UE 200 using terrestrial-based signals (e.g., at least some of signals 248) for trilateration, to assist in the acquisition and use of SPS signals 260, or both. PMD 219 may be configured to use one or more other techniques to determine the location of UE 200 (e.g., relying on the UE's self-reported location (e.g., part of the UE's location beacon)), and may use a combination of techniques (e.g., SPS and terrestrial positioning signals) to determine the location of UE 200. The PMD 219 may include one or more of the sensors 213 (e.g., gyroscope(s), accelerometer(s), magnetometer(s), etc.) that may sense and provide an indication of the orientation and / or movement of the UE 200, which the processor 210 (e.g., the general-purpose processor 230 and / or the DSP 231) may be configured to use to determine the movement (e.g., velocity vector and / or acceleration vector) of the UE 200. The PMD 219 may be configured to provide an indication of the uncertainty and / or error in the determined position and / or movement. In one example, the PMD 219 may be referred to as a positioning engine (PE) and may be implemented by the general-purpose processor 230. For example, the PMD 219 may be a logical entity and may be integrated with the general-purpose processor 230 and the memory 211.

[0049]

[0060] 3, an example TRP 300 of the gNB 110a, gNB 110b, and ng-eNB 114 comprises a computing platform including a processor 310, a 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 by a bus 320 (e.g., which may be configured for optical and / or electrical communications). One or more of the illustrated devices (e.g., the wireless interface and / or the SPS receiver 317) may be omitted from the TRP 300. The SPS receiver 317 may be configured similarly to the SPS receiver 217 to be capable of receiving and capturing SPS signals 360 via an SPS antenna 362. The processor 310 may include one or more intelligent hardware devices, e.g., a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), etc. The processor 310 may comprise multiple processors (e.g., including a general-purpose / application processor, a DSP, a modem processor, a video processor, and / or a sensor processor as shown in FIG. 2). The memory 311 is a non-transitory storage medium that may include random access memory (RAM), flash memory, disk memory, and / or read-only memory (ROM), etc. The memory 311 stores software 312, which may be processor-readable, processor-executable software code that includes instructions that, when executed, cause the processor 310 to perform various functions described herein. Alternatively, the software 312 may not be directly executable by the processor 310, but may be configured, for example, when compiled and executed, to cause the processor 310 to perform functions. While the description may refer to the processor 310 performing functions, this includes other implementations, such as when the processor 310 executes software and / or firmware.The description may refer to the processor 310 performing a function as shorthand for one or more of the processors included in the processor 310 performing the function. The description may refer to the TRP 300 performing a function as shorthand for one or more appropriate components of the TRP 300 (and thus one of the gNB 110a, gNB 110b, ng-eNB 114) performing the function. The processor 310 may include memory with stored instructions in addition to and / or instead of the memory 311. The functionality of the processor 310 is described more fully below.

[0050]

[0061] The transceiver 315 may include a wireless transceiver 340 and a wired transceiver 350 configured to communicate with other devices over wireless and wired connections, respectively. For example, the 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, downlink, and / or sidelink channels) and / or receiving (e.g., on one or more downlink, uplink, and / or sidelink channels) wireless signals 348 and converting the wireless signals 348 to wired (e.g., electrical and / or optical) signals and vice versa. Thus, the transmitter 342 may include multiple transmitters, which may be separate components or combined / integrated components, and / or the receiver 344 may include multiple receivers, which may be separate components or combined / integrated components. The wireless transceiver 340 may be configured to communicate signals (e.g., with the UE 200, one or more other UEs, and / or one or more other devices) according to various radio access technologies (RATs), such as 5G New Radio (NR), GSM (Global System for Mobile), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Phone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth, Zigbee, etc. The wired transceiver 350 may include a transmitter 352 and a receiver 354 configured for wired communication with, e.g., the network 140, e.g., to send communications to and receive communications from the LMF 120.The transmitter 352 may include multiple transmitters, which may be separate components or combined / integrated components, and / or the receiver 354 may include multiple receivers, which may be separate components or combined / integrated components. The wired transceiver 350 may be configured for optical and / or electrical communications, for example.

[0051]

[0062] 3 is an example of the present disclosure, including the claims, and is not intended to limit the present disclosure, and other configurations may be used. For example, the description herein describes the TRP 300 as being configured to perform or performing certain functions, but one or more of these functions may be performed by the LMF 120 and / or the UE 200 (i.e., the LMF 120 and / or the UE 200 may be configured to perform one or more of these functions).

[0052]

[0063] 4, server 400, of which LMF 120 is an example, comprises a computing platform including processor 410, memory 411 including software (SW) 412, and transceiver 415. Processor 410, memory 411, and transceiver 415 may be communicatively coupled to each other by bus 420 (which may be configured for optical and / or electrical communication, for example). One or more of the illustrated devices (e.g., wireless interface) may be omitted from server 400. Processor 410 may include one or more intelligent hardware devices, such as a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), etc. Processor 410 may comprise multiple processors (e.g., including the general-purpose / application processor, DSP, modem processor, video processor, and / or sensor processor shown in FIG. 2). Memory 411 is a non-transitory storage medium that may include random access memory (RAM), flash memory, disk memory, read-only memory (ROM), etc. The memory 411 stores software 412, which may be processor-readable, processor-executable software code including instructions configured, when executed, to cause the processor 410 to perform various functions described herein. Alternatively, the software 412 may not be directly executable by the processor 410, but may be configured, for example, when compiled and executed, to cause the processor 410 to perform a function. The description may refer to the processor 410 performing a function, but this includes other implementations, such as when the processor 410 executes software and / or firmware. The description may refer to the processor 410 performing a function as shorthand for one or more of the processors included in the processor 410 that perform the function. The description may refer to the server 400 (or the LMF 120) performing a function as shorthand for one or more appropriate components of the server 400 (e.g., the LMF 120) that perform the function.The processor 410 may include memory with stored instructions in addition to and / or in place of the memory 411. The functionality of the processor 410 is described more fully below.

[0053]

[0064] The transceiver 415 may include a wireless transceiver 440 and a wired transceiver 450 configured to communicate with other devices over wireless and wired connections, respectively. For example, the 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 the wireless signals 448 to wired (e.g., electrical and / or optical) signals and vice versa. Thus, the transmitter 442 may include multiple transmitters, which may be separate components or combined / integrated components, and / or the receiver 444 may include multiple receivers, which may be separate components or combined / integrated components. The wireless transceiver 440 may be configured to communicate signals (e.g., with the UE 200, one or more other UEs, and / or one or more other devices) according to various radio access technologies (RATs), such as 5G New Radio (NR), GSM (Global System for Mobile), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Phone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth, Zigbee, etc. The wired transceiver 450 may include a transmitter 452 and a receiver 454 configured for wired communication with, e.g., the network 135, e.g., to transmit communications to and receive communications from the TRP 300.The transmitter 452 may include multiple transmitters, which may be separate components or combined / integrated components, and / or the receiver 454 may include multiple receivers, which may be separate components or combined / integrated components. The wired transceiver 450 may be configured for optical and / or electrical communications, for example.

[0054]

[0065] 4 is an example of the present disclosure, including the claims, and is not intended to limit the present disclosure; other configurations may be used. For example, wireless transceiver 440 may be omitted. Also or alternatively, the description herein describes server 400 as being configured to perform or performing certain 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).

[0055]

[0066] Referring to FIG. 5, a diagram of an exemplary GNSS receiver 500 is shown. The SPS receivers 217, 317 in the UE 200 and the TRP 300 may include one or more components of the GNSS receiver 500 and thus may be examples of the GNSS receiver 500. In one example, 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. The antennas 262, 362 on the UE 200 and the TRP 300 are examples of the antenna 501. GNSS satellite signals are received by the antenna 501 and coupled to an input of the analog section 502. The analog section 502 is configured to process the GNSS satellite signals by sampling them with an analog-to-digital converter (ADC) to produce a digital intermediate frequency (IF) signal. In one embodiment, the sample rate may be approximately 83 megasamples per second (Ms / s). The digital IF signal is coupled to an input of the digital section 503. The digital section 503 is configured to utilize the digital IF signal to acquire and track satellites from within the GNSS satellite constellation by producing acquisition and tracking data that is coupled to the processor 504. The digital section 503 may be configured to implement one or more notch filters based on the presence of narrowband jamming signals in the GNSS spectrum. In one example, the digital section 503 may configure the one or more notch filters as one or more digital filters with programmable center frequencies and bandwidths. The processor 504 may be a central processing unit (CPU), a microprocessor, a digital signal processor, or any other such device capable of reading and executing programming instructions. The processor 504 is configured to analyze the acquisition and tracking data to determine navigation information such as location and velocity. The SV may transmit signals on multiple frequencies, and the processor 504 may be configured to determine pseudorange and carrier phase measurements based on GNSS models known in the art. For example, generally, a pseudorange measurement to satellite[i] on frequency f1 may be

[0056]

number

[0057] can be modeled as:

[0058]

number

[0059] where: r [i] is the true range between satellite[i] and the user position.

[0060] δt u is the common bias in the user equipment.

[0061]

number

[0062] is the satellite clock bias for satellite[i] including any satellite group-delay on frequency f1.

[0063] c is the speed of light.

[0064] B1 is an additional bias in the user equipment that is common to measurements made on frequency f1.

[0065]

number

[0066] is the ionospheric delay affecting the signal from satellite[i] on frequency f1.

[0067] T [i] is the delay introduced by the troposphere to the signal from satellite [i] and is frequency independent.

[0068]

number

[0069] is to account for noise and any unmodeled effects.

[0070]

[0067] Other GNSS models and variables may also be used to determine the range to the SV.

[0071]

[0068] Referring to Figure 6A, a graph 600 of an exemplary GNSS spectrum 602 is shown. During operation, radio carriers may be modulated in various ways. GPS systems, for example, utilize three different bands (e.g., L1, L2, and L5) and may utilize phase modulation to communicate codes from the SV to the receiver. GPS signals may utilize spread spectrum; therefore, the overall bandwidth of the GPS signal is much wider than the bandwidth of the information it is carrying. Specifically, L1 is centered at 1575.42 MHz, L2 is centered at 1227.60 MHz, and L5 is centered at 1176.45 MHz; the width of the GPS signal on these frequencies is larger than expected. For example, the CA code signal is spread over a width of as much as 2.046 MHz, and the P(Y) code signal is spread over a width of approximately 20.46 MHz on L1. Spectrum 602 shows approximately 2 MHz (i.e., + / - 1 MHz) centered on the Doppler frequency of the SV. The digital front end (DFE) (e.g., digital section 503) of the GNSS receiver is configured to perform an autocorrelation process on the received signal in spectrum 602 to obtain code phase measurements. Local jamming (e.g., harmonic signals) caused by other transmitters or oscillators can significantly affect or impair the autocorrelation process. The GNSS receiver may be configured to implement one or more notch filters to reduce the effects of jammers. For example, a notch filter at +0.5 MHz on spectrum 602 will reduce the received power in spectrum 602, as shown by signal dip 604. The notch filter and corresponding signal dip 604 may affect the received autocorrelation function and the corresponding code phase measurements. For example, referring to FIG. 6B, a graph 610 comparing exemplary autocorrelation functions (ACFs) with and without a notch filter is shown. A typical ACF 612 provides a relatively high magnitude peak compared to a notch-filtered ACF 614.Distortion of the overall ACF shape, and in some cases loss of magnitude in the ACF, due to one or more notch filters can reduce the accuracy of GNSS position determination. That is, distortion of the ACF shape can cause peaks to be detected at the wrong code phase, which can result in bias in the measurements. Therefore, because the accuracy of a GNSS position estimate is based in part on how accurately it can measure the code phase, the use of notch filters also affects position accuracy. The degree of positioning error (i.e., code phase impact) depends on the PRN code, SV Doppler, notch frequency, and notch bandwidth. For example, referring to FIG. 6C , a plot 620 of code phase error values ​​622 based on an exemplary notch filter frequency is shown. Plot 620 shows the code phase error (in centimeters) for an SV (i.e., SV ID5) as the notch filter frequency varies from −1 MHz to +1 MHz around the SV Doppler frequency (i.e., 0 in FIG. 6C ). Each of the error values ​​622 is based on 100 kHz steps from -1 MHz to +1 MHz. Exemplary error values ​​622 range from approximately -50 cm to +25 cm. Other SVs (e.g., PRN codes), SV Doppler values, and notch bandwidths (which may include multi-notch filters) may have different error distance values ​​and different distributions of error values.

[0072]

[0069] Referring to Figure 7, and with further reference to Figures 5 and 6A-6C, a block diagram of an exemplary process 700 for offline phase compensation based on notch filter configuration is shown. The process 700 utilizes one or more offline lookup tables (LUTs) 702 to apply code phase corrections in stage 710 based on notch filter configuration 704 and SV PRN and Doppler frequency information 706. Generally, the code phase correction values ​​in the LUTs 702 depend on three parameters: the SVID (e.g., SV PRN), the SV Doppler frequency, and notch configuration information (i.e., the number of notches, each notch frequency, and each notch bandwidth). In one example, one two-dimensional array LUT may be calculated and stored for each notch configuration. Different LUTs for different combinations of notches may also be utilized, and each LUT may be a two-dimensional array, such that the {i,j}th element is the phase correction value corresponding to the ith SVID and the jth SV Doppler (where SVID is a finite number). Different notch filter configurations 704 and SV Doppler resolution in the LUT grid may be selected based on operational requirements. For example, in a 2 MHz bandwidth, the SV Doppler may be varied in 1 kHz steps to give 2001 grid points, or in 100 kHz steps to give 21 grid points. The size of the corresponding LUT may be multiplied accordingly.

[0073] In one embodiment, the processor 504 may be configured to access one or more local memory modules containing one or more LUTs 702 that store code phase error values ​​based on the PRN code, notch frequency, notch bandwidth, and SV Doppler information. For example, the notch filter configuration 704 may indicate a notch frequency (e.g., + / - 1 MHz from the SV Doppler value) and a notch bandwidth (e.g., 1, 2, 5, 10 kHz, etc.). The SV PRN and Doppler frequency information 706 is associated with the SV transmitting the signal being received by the GNSS receiver 500. The LUT 702 includes error measurement data points such as those shown in FIG. 6C. The code phase correction determination in step 708 may be based on a selection, sorting, and / or matching function or algorithm, or other stored procedure, that executes on the processor 504 to select a code phase error value from the LUT 702 based on the notch filter configuration 704 and the SV PRN and Doppler frequency information 706. The code phase correction value may 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 distance measurements (e.g., pseudorange, carrier phase measurements) based on the SV signal in stage 710. The offline LUT 702 offers the advantage of obtaining a relatively fast code phase error solution, at the expense of memory usage, since different variations of notch filter configurations and SV information must be stored. Some memory efficiencies can be gained by increased quantization of the values ​​in the LUT 702 and the use of interpolation routines to estimate the code phase error.

[0074] 8, an exemplary process 800 for calculating code phase correction values ​​is shown. Based on the notch filter configuration 704 and the SV PRN and Doppler frequency information 706 (i.e., SVID 706a and SV Doppler 706b) received by the GNSS receiver 500, the code phase correction can be calculated by smooth interpolation between values ​​in the LUT 702. Generally, the code phase values ​​in the LUT 702 are known at finite and discrete points in two-dimensional space, and an interpolation function can be used to calculate values ​​at other arbitrary points in that space. For example, in stage 802, the processor 504 can be configured to receive input from the digital section 503 related to the received SV signal. The input can include the SVID 706a, SV Doppler 706b, and the notch configuration 704. The processor 504 is configured to obtain the 'k' closest neighbors of the input value in the LUT 702 and then calculate a weighted average 'y' of the code phase errors for each of the neighbors in step 804. The weighted average 'y' may be applied as a code phase correction value in step 806. Process 800 is by way of example and not limitation, as other multivariate interpolation techniques may also be used to determine the final code phase correction value.

[0075] 9, an exemplary process 900 for online phase calculation based on a notch filter configuration is shown. In contrast to the offline process 700 in FIG. 7, which relies on the LUT 702, the online process 900 locally calculates LUT values ​​when the configuration of the GNSS receiver 500 changes (e.g., when a new jamming signal is detected). For example, the processor 504 may receive notch filter configuration information 902 and SV PRN and Doppler frequency information 904 from the digital section 503, as previously described. In step 906, the processor 504 may calculate LUT table values ​​for the SV via simulation using discrete points, as described in FIGS. 6A-6C. In step 908, the processor 504 may utilize the notch filter configuration information 902, the SV PRN and Doppler frequency information 904, and an interpolation technique, such as that described in FIG. 8, to obtain code phase correction values ​​based on the locally generated LUT. At stage 910, the processor 504 may apply code phase corrections to distance measurements (eg, pseudoranges, carrier phase measurements) calculated for the received SV signals.

[0076] 10A-10D, exemplary plots of code phase error for multiple satellite vehicles and notch filter configurations are shown. The plots are examples and are provided to illustrate that different SV PRNs may have different notch frequency error distributions. The error values ​​shown represent individual values ​​in a LUT, which may be generated offline (as in process 700) or online (as in process 900). The plotted error values ​​represent notch frequencies in 100 kHz steps between -1 MHz and +1 MHz relative to the SV Doppler frequency (e.g., 0 Doppler in the plots). By way of example and not limitation, typical code phase correction values ​​for GPS L1 CA signals are between +1 meter and -1 meter. Other signal types may have correction values ​​in different ranges. FIG. 10A shows a first exemplary SV (SV:14) with a first error distribution between -60 cm and +30 cm. Figure 10B shows a second exemplary SV (SV:25) with a second error distribution between -90 cm and +10 cm. Figure 10C shows a third exemplary SV (SV:17) with a third error distribution between -60 cm and +30 cm. Figure 10D shows a fourth exemplary SV (SV:08) with a fourth error distribution between -70 cm and +20 cm. The SVs, plots, and sample sizes (e.g., notch filter step values) are examples and not limitations. Other simulations can be run using other SVs and increased or decreased notch filter steps.

[0077] 11, and with further reference to FIGS. 1-10D, a method 1100 for calculating range to a satellite vehicle includes the steps shown. However, method 1100 is by way of example and not limitation. Method 1100 may be varied, for example, by having steps added, removed, reordered, combined, performed simultaneously, and / or by dividing a single step into multiple steps.

[0078]

[0075] In step 1102, the method includes receiving signals from a satellite vehicle. The analog section 502 of the GNSS receiver 500 is a means for receiving signals from the SV. Generally, a GNSS SV transmits navigation signals in two or more frequencies in the L-band. These signals include ranging codes and navigation data that enable the GNSS receiver 500 to calculate the satellite coordinates and travel time from the satellite to the receiver at any epoch. The signals may include a carrier, ranging codes (e.g., SVID, PRN sequence or PRN code), and other navigation data (e.g., information about the SV ephemeris, clock bias parameters, almanac information, SV information, and other related navigation information).

[0079] At stage 1104, the method includes determining one or more notch filter configurations. The digital section 503 and the processor 504 are means for determining the one or more notch filter configurations. The notch filters may be based on the presence of narrowband jamming signals generated by local or external RF sources. In one example, the one or more jamming signals may be known based on the state of the UE (i.e., when the Wi-Fi or BLUETOOTH transmitter is active). In one embodiment, the processor 504 may be configured to perform spectrum analysis to discover the jamming signals. The notch filter configurations may include frequency and bandwidth components for mitigating interference from one or more jamming signals. In one embodiment, the notch filter configurations may include multiple frequencies, each having the same or different bandwidths.

[0080] In step 1106, the method includes determining a pseudorandom noise code and a Doppler frequency associated with the signal. The processor 504 is a means for determining the PRN code and the Doppler frequency. The PRN code is included in the signal received in step 1102. The Doppler frequency corresponds to a Doppler shift of the received signal, which is primarily based on the relative velocity between the antenna on the SV and the GNSS receiver. Other clock frequency error offsets may also be included in the Doppler frequency. Generally, the Doppler shift of a signal is the time derivative of the carrier phase.

[0081] At stage 1108, the method includes determining a code phase correction value based at least on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency. The processor 504 is a means for determining the code phase correction value. During operation, the processor 504 may utilize one or more LUTs including notch filter configuration information, SV PRN and Doppler frequency information, and associated code phase correction values. For example, query tools such as sort, select, and match may be used to determine the code phase correction value based on the notch filter and SV configuration information. The LUTs may be provided to the UE via assistance data (i.e., an offline solution) and / or one or more LUTs may be generated locally on the UE (i.e., an online solution). In an offline solution, the communication network 100 may provide assistance data along with the LUTs to the UE via the wireless transceiver 240. The assistance data may be sent via a network protocol such as LPP and radio resource control (RRC) messaging. Other messaging, such as sidelink techniques, may also be used to propagate the LUT to other UEs in the network. One or more LUT tables contain 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 ​​may be distances, such as the values ​​in Figures 6C and 10A-10D. Interpolation techniques, such as those described in Figure 8, may also be used to obtain the code phase correction values ​​from the LUT.

[0082] In step 1110, the method includes calculating a range to the satellite vehicle based at least in part on the signal and the code phase correction value. Processor 504 is a means for calculating a range to the SV. In one example, processor 504 may determine a 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 step 1108 may be applied to the pseudorange to produce a range value.

[0083]

[0080] Other examples and implementations are within the scope of this disclosure and the appended claims. For example, due to the nature of software and computers, the functions described above may be implemented using software executed by a processor, hardware, firmware, hardwiring, or any combination thereof. The features that implement the functions may also be physically located in various locations, including being distributed so that portions of the functions are implemented in different physical locations.

[0084] Unless otherwise stated, functional or other components shown in the figures and / or described herein as being connected or in communication with each other are communicatively coupled, i.e., they may be directly or indirectly connected so as to enable communication therebetween.

[0085] As used herein, the singular forms "a," "an," and "the" include the plural forms unless the context clearly dictates otherwise. For example, a "processor" may include one processor or multiple processors. As used herein, the terms "comprises," "comprising," "includes," and / or "including" specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0086]

[0083] Unless otherwise specified, as used in this specification, a statement that a function or operation is "based on" an item or condition means that the function or operation is based on the stated item or condition and may be based on one or more items and / or conditions in addition to the stated item or condition.

[0087] Also, as used herein, "or" in a list of items (sometimes ending with "at least one of" or "one or more of") indicates a disjunctive list, such that 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, 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, B, and C), or a combination of two or more features (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 that an item is configured to perform function A or function B, means that the item can be configured to perform the function with respect to A, or the function with respect to B, or the function with respect to A and B. For example, the phrases "a processor configured to measure at least one of A or B" or "a processor configured to measure A or measure B" mean that the processor may be configured to measure A (and may or may not be configured to measure B), or may be configured to measure B (and may or may not be configured to measure A), or may be configured to measure A and measure B (and may be configured to select whether A and B, or both, to measure). Similarly, a reference to a means for measuring at least one of A or B includes a means for measuring A (which may or may not be capable of measuring B), or a means for measuring B (and which may or may not be configured to measure A), or a means for measuring A and B (which may be capable of selecting whether A and B, or both, to measure).As another example, a statement that an item, e.g., a processor, is configured to at least one of perform function X or perform function Y means that the item may be configured to perform function X, or may be configured to perform function Y, or may be configured to perform function X and function Y. For example, the phrase "a processor configured to perform at least one of measuring X or measuring Y" means that the processor may be configured to measure X (and may or may not be configured to measure Y), or may be configured to measure Y (and may or may not be configured to measure X), or may be configured to measure X and measure Y (and may be configured to select whether X or Y, or both, to measure).

[0088]

[0085] Substantial modifications may be made according to particular requirements. For example, customized hardware may also be used, and / or particular elements may be implemented in hardware, software (including portable software, such as applets) executed by a processor, or both. Furthermore, connection to other computing devices, such as network input / output devices, may be employed.

[0089]

[0086] The systems and devices described above are examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For example, features described with respect to some configurations may be combined in various other configurations. Different aspects and elements of the configurations may be combined in a similar manner. Also, technology evolves, and thus many of the elements are examples and do not limit the scope of the disclosure or claims.

[0090] A wireless communication system is a communication system in which communications are carried wirelessly, i.e., by electromagnetic and / or acoustic waves propagating through atmospheric space rather than through wires or other physical connections. A wireless communication network may not all communications be transmitted wirelessly, but is configured such that at least some communications are transmitted wirelessly. Furthermore, the term "wireless communication device" or similar terms does not require that the function of the device be exclusively, or even primarily, for communication, or that the device be a mobile device, but indicates that the device includes wireless communication capabilities (one-way or two-way), e.g., at least one radio for wireless communication (each radio being part of a transmitter, receiver, or transceiver).

[0091] In the description, specific details are given to provide a thorough understanding of example configurations (including implementation forms). However, the configurations may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques are shown without unnecessary detail to avoid obscuring the configurations. This description provides example configurations and does not limit the scope, applicability, or configurations of the claims. Rather, the above description of the configurations provides a description for implementing the described techniques. Various changes may be made in the function and arrangement of elements without departing from the scope of the present disclosure.

[0092] As used herein, the terms “processor-readable medium,” “machine-readable medium,” and “computer-readable medium” refer to any medium that participates in providing data that causes a machine to operate in a specific manner. Using a computing platform, various processor-readable media may participate in providing instructions / code to processor(s) for execution and / or may be used to store and / or carry such instructions / code (e.g., as a signal). In many implementations, processor-readable media are physical and / or tangible storage media. Such media may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media include, for example, optical and / or magnetic disks. Volatile media include, but are not limited to, dynamic memory.

[0093]

[0090] A statement that a value exceeds (or is greater than, or exceeds) a first threshold is equivalent to a statement that the value meets or exceeds a second threshold that is slightly greater than the first threshold, e.g., the second threshold is a value that is higher than the first threshold at the resolution of the computing system. A statement that a value is less than (or is within, or is below) a first threshold is equivalent to a statement that the value is less than or equal to a second threshold that is slightly lower than the first threshold, e.g., the second threshold is a value that is lower than the first threshold at the resolution of the computing system.

[0094]

[0091] Example implementations are described in the following numbered clauses.

[0095] 1. A method for determining range to a satellite vehicle using a receiver, comprising:

[0093] Receiving a signal from a satellite vehicle; determining one or more notch filter configurations; determining a pseudorandom noise code and a Doppler frequency associated with the signal;

[0096] determining a code phase correction based at least on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency;

[0097] calculating a range to the satellite vehicle based at least in part on the signal and the code phase correction; A method comprising:

[0096]

[0098] 2. The method of clause 1, wherein determining the code phase correction value includes obtaining the code phase correction value from a lookup table based on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency.

[0097]

[0099] 3. The method of clause 2, further comprising receiving assistance data from a network entity, wherein the assistance data comprises a look-up table.

[0098]

[0100] 4. The method of clause 3, wherein the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages.

[0099]

[0101] 5. The method of clause 3, wherein the assistance data is received via one or more Radio Resource Control (RRC) messages.

[0100]

[0102] 6. The method of clause 2, wherein determining the code phase correction value includes obtaining the code phase correction value based on an interpolation function.

[0101]

[0103] 7. The method of clause 1, further comprising generating, using the receiver, a lookup table based on modeled autocorrelation functions for a plurality of notch filter configurations, 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, a pseudorandom noise code, and a Doppler frequency.

[0102]

[0104] 8. The method of clause 1, 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.

[0103]

[0105] 9. The method of clause 1, wherein calculating the range to the satellite vehicle includes determining a pseudorange to the satellite vehicle based on the signal.

[0104]

[0106] 10. The method of clause 1, wherein the receiver includes one or more notch filters constructed from one or more digital filters with programmable center frequencies and bandwidths.

[0105]

[0107] 11. An apparatus comprising:

[0108] Memory and

[0109] at least one satellite positioning system receiver configured to receive signals from a satellite vehicle;

[0110] and at least one processor communicatively coupled to the memory and the at least one satellite positioning system receiver, the at least one processor comprising:

[0111] receiving a signal from a satellite vehicle;

[0112] determining one or more notch filter configurations;

[0113] determining a pseudorandom noise code and a Doppler frequency associated with the signal;

[0114] determining a code phase correction based at least on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency;

[0115] calculating a range to the satellite vehicle based at least in part on the signal and the code phase correction; An apparatus configured to:

[0106]

[0116] 12. The apparatus of clause 11, wherein the at least one processor is further configured to obtain a code phase correction value from a lookup table based on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency.

[0107]

[0117] 13. The apparatus of clause 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 assistance data from a network entity, wherein the assistance data includes a lookup table.

[0108]

[0118] 14. The apparatus of clause 13, wherein the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages.

[0109]

[0119] 15. The apparatus of clause 13, wherein the assistance data is received via one or more radio resource control (RRC) messages.

[0110]

[0120] 16. The apparatus of clause 12, wherein the at least one processor is further configured to obtain code phase correction values ​​based on an interpolation function.

[0111]

[0121] 17. The apparatus of clause 11, wherein the at least one processor is further configured to: generate a lookup table based on modeled autocorrelation functions for multiple notch filter configurations; and obtain a code phase correction value from the lookup table based on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency.

[0112]

[0122] 18. The apparatus of clause 11, 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.

[0113]

[0123] 19. The apparatus of clause 11, wherein the at least one processor is further configured to determine a pseudorange to the satellite vehicle based on the signal.

[0114]

[0124] 20. The apparatus of clause 11, wherein the one or more notch filter configurations comprise one or more digital filters with programmable center frequencies and bandwidths.

[0115]

[0125] 21. An apparatus for determining range to a satellite vehicle, comprising:

[0126] means for receiving a signal from a satellite vehicle;

[0127] means for determining one or more notch filter configurations;

[0128] means for determining a pseudorandom noise code and a Doppler frequency associated with the signal;

[0129] means for determining a code phase correction based at least on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency;

[0130] means for calculating a range to the satellite vehicle based at least in part on the signal and the code phase correction; An apparatus comprising:

[0116]

[0131] 22. The apparatus of clause 21, wherein the means for determining a code phase correction value includes means for obtaining a code phase correction value from a lookup table based on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency.

[0117]

[0132] 23. The apparatus of clause 22, further comprising means for receiving assistance data from a network entity, wherein the assistance data comprises a look-up table.

[0118]

[0133] 24. The apparatus of clause 23, wherein the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages.

[0119]

[0134] 25. The apparatus of clause 23, wherein the assistance data is received via one or more radio resource control (RRC) messages.

[0120]

[0135] 26. The apparatus of clause 22, wherein the means for determining a code phase correction value includes means for obtaining a code phase correction value based on an interpolation function.

[0121]

[0136] 27. The apparatus of clause 21, further comprising means for generating a lookup table based on modeled autocorrelation functions for a plurality of notch filter configurations, wherein the means for determining a code phase correction value includes means for obtaining a code phase correction value from the lookup table based on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency.

[0122]

[0137] 28. The apparatus of clause 21, 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.

[0123]

[0138] 29. The apparatus of clause 21, wherein the means for calculating the range to the satellite vehicle includes means for determining a pseudorange to the satellite vehicle based on the signal.

[0124]

[0139] 30. The apparatus of clause 21, further comprising one or more notch filters comprising one or more digital filters with programmable center frequencies and bandwidths.

[0125]

[0140] 31. A non-transitory processor-readable storage medium comprising processor-readable instructions for causing one or more processors to determine range to a satellite vehicle, the non-transitory processor-readable storage medium comprising:

[0141] code for receiving a signal from a satellite vehicle;

[0142] code for determining one or more notch filter configurations;

[0143] a pseudorandom noise code associated with the signal and a code for determining the Doppler frequency;

[0144] code for determining a code phase correction based at least on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency;

[0145] code for calculating a range to the satellite vehicle based at least in part on the signal and the code phase correction; 1. A non-transitory processor-readable storage medium comprising:

[0126]

[0146] 32. The non-transitory processor-readable storage medium of clause 31, wherein the code for determining the code phase correction value includes code for retrieving the code phase correction value from a lookup table based on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency.

[0127]

[0147] 33. The non-transitory processor-readable storage medium of clause 32, further comprising code for receiving assistance data from a network entity, wherein the assistance data comprises a look-up table.

[0128]

[0148] 34. The non-transitory processor-readable storage medium of clause 33, wherein the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages.

[0129]

[0149] 35. The non-transitory processor-readable storage medium of clause 33, wherein the assistance data is received via one or more radio resource control (RRC) messages.

[0130]

[0150] 36. The non-transitory processor-readable storage medium of clause 32, wherein the code for determining a code phase correction value includes code for obtaining the code phase correction value based on an interpolation function.

[0131]

[0151] 37. The non-transitory processor-readable storage medium of clause 31, further comprising code for generating a lookup table based on modeled autocorrelation functions for a plurality of notch filter configurations, wherein the code for determining a code phase correction value includes code for obtaining a code phase correction value from the lookup table based on one or more notch filter configurations, a pseudorandom noise code, and a Doppler frequency.

[0132]

[0152] 38. The non-transitory processor-readable storage medium of 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.

[0133]

[0153] 39. The non-transitory processor-readable storage medium of clause 31, wherein the code for calculating a range to the satellite vehicle includes code for determining a pseudorange to the satellite vehicle based on the signal.

[0134]

[0154] 40. The non-transitory processor-readable storage medium of clause 31, further comprising one or more notch filters comprising one or more digital filters with programmable center frequencies and bandwidths. The inventions described in the claims of the present application as originally filed are set forth below. [C1] 1. A method for determining range to a satellite vehicle using a receiver, comprising: receiving a signal from said satellite vehicle; determining one or more notch filter configurations; determining a pseudorandom noise code and a Doppler frequency associated with the signal; and determining a code phase correction based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency. calculating the range to the satellite vehicle based at least in part on the signal and the code phase correction; A method comprising: [C2] The method of claim 1, wherein determining the code phase correction value includes obtaining the code phase correction value from a lookup table based on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency. [C3] The method of C2, further comprising receiving assistance data from a network entity, said assistance data including said look-up table. [C4] The method of C3, wherein the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages. [C5] The method of C3, wherein the assistance data is received via one or more radio resource control (RRC) messages. [C6] The method of C2, wherein determining the code phase correction value includes obtaining the code phase correction value based on an interpolation function. [C7] generating, with the receiver, a look-up table based on modeled autocorrelation functions for a plurality of notch filter configurations; The method of claim 1, wherein determining the code phase correction value includes obtaining the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency. [C8] The method of C1, 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. [C9] The method of C1, wherein calculating the range to the satellite vehicle includes determining a pseudorange to the satellite vehicle based on the signal. [C10] The method of C1, wherein the receiver includes one or more notch filters constructed from one or more digital filters with programmable center frequencies and bandwidths. [C11] 1. An apparatus comprising: Memory and at least one satellite positioning system receiver configured to receive signals from a satellite vehicle; and at least one processor communicatively coupled to the memory and the at least one satellite positioning system receiver, the at least one processor comprising: receiving the signal from the satellite vehicle; determining one or more notch filter configurations; determining a pseudorandom noise code and a Doppler frequency associated with said signal; determining a code phase correction based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency; calculating a range to the satellite vehicle based at least in part on the signal and the code phase correction; An apparatus configured to: [C12] The apparatus of C11, 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 pseudorandom noise code, and the Doppler frequency. [C13] further comprising at least one transceiver communicatively coupled to the at least one processor; The apparatus of C12, wherein the at least one processor is further configured to receive assistance data from a network entity, the assistance data including the lookup table. [C14] The apparatus of C13, wherein the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages. [C15] The apparatus of C13, wherein the assistance data is received via one or more radio resource control (RRC) messages. [C16] The apparatus of C12, wherein the at least one processor is further configured to obtain the code phase correction value based on an interpolation function. [C17] 12. The apparatus of claim 11, wherein the at least one processor is further configured to: generate a lookup table based on modeled autocorrelation functions for a plurality of notch filter configurations; and obtain the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency. [C18] The apparatus of C11, 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. [C19] The apparatus of C11, wherein the at least one processor is further configured to determine a pseudorange to the satellite vehicle based on the signal. [C20] The apparatus of C11, wherein the one or more notch filter configurations comprise one or more digital filters having programmable center frequencies and bandwidths. [C21] 1. An apparatus for determining range to a satellite vehicle, comprising: means for receiving signals from said satellite vehicle; means for determining one or more notch filter configurations; means for determining a pseudorandom noise code and a Doppler frequency associated with said signal; means for determining a code phase correction based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency; means for calculating the range to the satellite vehicle based at least in part on the signal and the code phase correction; An apparatus comprising: [C22] The apparatus of C21, wherein the means for determining the code phase correction value includes means for obtaining the code phase correction value from a lookup table based on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency. [C23] The apparatus of C22, further comprising means for receiving assistance data from a network entity, the assistance data including the look-up table. [C24] The apparatus of C23, wherein the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages. [C25] The apparatus of C23, wherein the assistance data is received via one or more radio resource control (RRC) messages. [C26] The apparatus of C22, wherein the means for determining the code phase correction value includes means for obtaining the code phase correction value based on an interpolation function. [C27] means for generating a lookup table based on the modeled autocorrelation functions for the plurality of notch filter configurations; The apparatus of C21, wherein the means for determining the code phase correction value includes means for obtaining the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency. [C28] The apparatus of C21, 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. [C29] The apparatus of C21, wherein the means for calculating the range to the satellite vehicle includes means for determining a pseudorange to the satellite vehicle based on the signal. [C30] The apparatus of C21, further comprising one or more notch filters comprising one or more digital filters having programmable center frequencies and bandwidths. [C31] 1. A non-transitory processor-readable storage medium comprising processor-readable instructions for causing one or more processors to determine a range to a satellite vehicle, the non-transitory processor-readable storage medium comprising: code for receiving signals from said satellite vehicle; code for determining one or more notch filter configurations; a pseudorandom noise code associated with said signal and a code for determining a Doppler frequency; code for determining a code phase correction based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency; code for calculating the range to the satellite vehicle based at least in part on the signal and the code phase correction; 1. A non-transitory processor-readable storage medium comprising: [C32] 3. The non-transitory processor-readable storage medium of claim 2, 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 one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency. [C33] The non-transitory processor-readable storage medium of C32, further comprising code for receiving assistance data from a network entity, the assistance data including the lookup table. [C34] The non-transitory processor-readable storage medium of C33, wherein the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages. [C35] 34. The non-transitory processor-readable storage medium of claim 33, wherein the assistance data is received via one or more radio resource control (RRC) messages. [C36] The non-transitory processor-readable storage medium of C32, wherein the code for determining the code phase correction value includes code for obtaining the code phase correction value based on an interpolation function. [C37] further comprising code for generating a lookup table based on the modeled autocorrelation functions for the plurality of notch filter configurations; The non-transitory processor-readable storage medium of C31, 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 pseudorandom noise code, and the Doppler frequency. [C38] The non-transitory processor-readable storage medium of C31, 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. [C39] The non-transitory processor-readable storage medium of C31, wherein the code for calculating the range to the satellite vehicle includes code for determining a pseudorange to the satellite vehicle based on the signal. [C40] The non-transitory processor-readable storage medium of C31, further comprising one or more notch filters comprising one or more digital filters with programmable center frequencies and bandwidths.

Claims

1. 1. A method for determining range to a satellite vehicle using a receiver, comprising: receiving a signal from said satellite vehicle; determining one or more notch filter configurations; determining a pseudorandom noise code and a Doppler frequency associated with said signal; determining a code phase correction based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency; calculating the range to the satellite vehicle based at least in part on the signal and the code phase correction; A method comprising:

2. 2. The method of claim 1, wherein determining the code phase correction value comprises obtaining the code phase correction value from a lookup table based on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency.

3. receiving assistance data from a network entity, the assistance data including the look-up table; the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages; or The method of claim 2 , wherein the assistance data is received via one or more Radio Resource Control (RRC) messages.

4. The method of claim 2 , wherein determining the code phase correction value comprises obtaining the code phase correction value based on an interpolation function.

5. generating, with the receiver, a look-up table based on modeled autocorrelation functions for a plurality of notch filter configurations; 2. The method of claim 1, 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 pseudorandom noise code, and the Doppler frequency.

6. The method of claim 1 , 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.

7. The method of claim 1 , wherein calculating the range to the satellite vehicle includes determining a pseudorange to the satellite vehicle based on the signal.

8. 10. The method of claim 1, wherein the receiver includes one or more notch filters constructed from one or more digital filters with programmable center frequencies and bandwidths.

9. 1. An apparatus for determining range to a satellite vehicle, comprising: means for receiving signals from said satellite vehicle; means for determining one or more notch filter configurations; means for determining a pseudorandom noise code and a Doppler frequency associated with said signal; means for determining a code phase correction based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency; means for calculating the range to the satellite vehicle based at least in part on the signal and the code phase correction; An apparatus comprising:

10. 10. The apparatus of claim 9, wherein the means for determining the code phase correction value comprises means for obtaining the code phase correction value from a lookup table based on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency.

11. means for receiving assistance data from a network entity, said assistance data including said look-up table; the assistance data is received via one or more Long Term Evolution Positioning Protocol (LPP) messages; or The apparatus of claim 10 , wherein the assistance data is received via one or more radio resource control (RRC) messages.

12. 11. The apparatus of claim 10, wherein the means for determining the code phase correction value comprises means for obtaining the code phase correction value based on an interpolation function.

13. means for generating a lookup table based on the modeled autocorrelation functions for the plurality of notch filter configurations; 10. The apparatus of claim 9, wherein the means for determining the code phase correction value comprises means for obtaining the code phase correction value from the lookup table based on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency.

14. 10. The apparatus of claim 9, 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.

15. 1. A non-transitory processor-readable storage medium comprising processor-readable instructions for causing one or more processors to determine a range to a satellite vehicle, the non-transitory processor-readable storage medium comprising: code for receiving signals from said satellite vehicle; code for determining one or more notch filter configurations; a pseudorandom noise code associated with said signal and a code for determining a Doppler frequency; code for determining a code phase correction based at least on the one or more notch filter configurations, the pseudorandom noise code, and the Doppler frequency; code for calculating the range to the satellite vehicle based at least in part on the signal and the code phase correction; 1. A non-transitory processor-readable storage medium comprising:

Citation Information

Patent Citations

  • Receiver device

    JP2014120861A

  • Detection and filtering of unwanted narrowband signal contributions in wireless signal receivers

    JP2015513819A

  • Method of processing a digital signal derived from an analog input signal of a GNSS receiver, a GNSS receiver base band circuit for carrying out the method and a GNSS receiver

    US20080240315A1

  • GPS antenna diversity and noise mitigation

    US20120105284A1

  • GNSS receiver dynamic spur mitigation techniques

    US20150035701A1