Multipath mitigation for GNSS BOC signals

By correlating the GNSS receiver's antenna output with a modified chip, the method addresses the issue of multipath interference, improving the accuracy of signal timing and position estimation in GNSS systems.

WO2025014483A1PCT designated stage expired Publication Date: 2025-01-16GREATER SHINE LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/US2023/027511
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-12
Publication Date
2025-01-16

AI Technical Summary

Technical Problem

GNSS receivers face challenges in accurately determining position due to multipath interference, where GNSS signals follow multiple paths to the receiver, causing time delays and distortions that affect the detection of signal features and pseudorange calculations.

Method used

The method involves correlating the antenna output with a modified version of the GNSS signal's identifying features, known as the modified chip, which is designed to be more resilient to distortions from multipath interference, allowing for improved accuracy in timing the receipt of GNSS signals and reducing errors in pseudorange measurements.

Benefits of technology

This approach enhances the GNSS receiver's ability to accurately detect and time signal features, leading to more precise position estimation and reduced errors in pseudorange calculations, even under conditions of significant multipath interference.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2023027511_16012025_PF_FP_ABST
    Figure US2023027511_16012025_PF_FP_ABST
Patent Text Reader

Abstract

Systems and methods are provided herein for improving the resilience of a GNSS receiver while under multipath interference. The GNSS receiver's resilience to multipath signals may be improved by correlating the antenna output with a modified chip local copy, wherein the modified chip local copy deviates from a matched chip local copy. These deviations may result in a correlation output shape exhibiting reduced distortion to correlation output peaks caused by multipath signal chips being repeated within a chip length of the direct signal chip. The reduced distortions to correlation output peaks may allow the GNSS receiver to more accurately detect and time appearance of the chip within the direct path signal. More accurate timing for chip appearances may allow the GNSS receiver to more accurately estimate receipt time for the associated GNSS signal, calculate the pseudorange and determine the position of the GNSS receiver.
Need to check novelty before this filing date? Find Prior Art

Description

MULTIPATH MITIGATION FOR GNSS BOC SIGNALSBackground

[0001] Global Navigation Satellite Systems (GNSS) have become a vital part of modern technology and daily life, providing precise position, navigation, and timing information. GNSS is a generic term that encompasses various GNSS transmitter satellite constellations, such as the United States' Global Positioning System (GPS), the Russian Federation's GLONASS, the European Union's Galileo, and China's BeiDou. These systems consist of a network of satellites orbiting the Earth and transmitting GNSS signals to GNSS receivers on the ground. GNSS receivers, in turn, calculate time and location information based on the received GNSS signals. GNSS systems may also include ground based transmitters.

[0002] In order to determine their 3-d spatial position, GNSS receivers rely on the measurement of “pseudoranges,” which estimate the distances between the GNSS receiver and a set of GNSS transmitters. Assuming a GNSS signal followed a direct straight line path from transmitter to receiver, the signal’s travel time may be multiplied by the speed of light to calculate the signal’s pseudorange. The receiver must receive GNSS signals from multiple GNSS transmitters and measure travel time for each GNSS signal to calculate the associated pseudoranges. These pseudoranges are then related to the positions of the GNSS transmitters at transmission to triangulate a position estimate for the GNSS receiver at receipt.

[0003] In other words, accurate determination of the GNSS receiver’s position depends on the GNSS receiver’s accuracy in calculating a GNSS signal’s travel time. A GNSS receiver measures a GNSS signal’s travel time by calculating the delay in time between transmission of the GNSS signal and receipt of the GNSS signal at the receiver. GNSS receivers may derive transmission timing for a GNSS signal from data encoded in the signal itself, or from other synchronized data sources (e.g. GNSSalmanac or ephemeris data). GNSS receivers estimate receipt timing by determining when (according to a synchronized clock local to the GNSS receiver) specific features within the GNSS signal were detected at the GNSS receiver. As such, a GNSS receiver’s ability to accurately determine its position depends on the GNSS receiver’s ability to accurately detect and time identifying features within a received GNSS signal.Brief Description of the Drawings

[0004] The present disclosure, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The figures are provided for purposes of illustration only and merely depict typical or example embodiments.

[0005] FIG 1 illustrates an example GNSS signal transmission-and-receipt scenario in which the disclosed systems and methods may be implemented, in accordance with examples disclosed herein.

[0006] FIGS. 2A-B illustrate an example direct signal waveform and an example multipath signal, aligned for comparison of the two waveforms, in accordance with examples disclosed herein.

[0007] FIGS. 3A-C illustrate a matched chip local copy, a matched chip correlation output, and a matched chip correlation energy output, in accordance with examples disclosed herein.

[0008] FIGS. 4A-C illustrate a modified chip local copy, a modified chip correlation output, and a modified chip correlation energy output, in accordance with examples disclosed herein.

[0009] FIG. 5 illustrates a comparison of the matched chip correlator energy output with the modified chip correlator energy output, assuming the direct path signal is a single chip and is received at the GNSS receiver with no multipath interference, in accordance with examples disclosed herein.

[0010] FIG. 6 illustrates a comparison of the matched chip correlator energy output with the modified chip correlator energy output, assuming the direct path signalis a single chip and is received at the GNSS receiver under multipath interference, in accordance with examples disclosed herein.

[0011] FIG. 7 illustrates the performance of the disclosed systems and methods under a simulation encompassing varied multipath interference scenarios, in accordance with examples disclosed herein.

[0012] FIG. 8 illustrates an example computing component which may execute a GNSS signal receipt timing process, in accordance with examples disclosed herein.

[0013] FIG. 9 illustrates an example GNSS signal receipt timing estimation flow chart, in accordance with examples disclosed herein.

[0014] FIG. 10 depicts a block diagram of an example computer system in which various of the embodiments described herein may be implemented.

[0015] The figures are not exhaustive and do not limit the present disclosure to the precise form disclosed.Detailed Description

[0016] The disclosed systems and methods may improve the GNSS receiver’s ability to accurately detect and time identifying features within a received GNSS signal under multipath interference. Multipath interference occurs as a consequence of GNSS signals propagating radially in multiple directions away from the GNSS transmitter. One front of a GNSS signal propagating along the direct path to the GNSS receiver (the “direct signal”) may reach the GNSS receiver at a first time while a second front of the same GNSS signal may propagate along a non-direct path. When this second front is redirected and received at the GNSS receiver at a later time the second front of the GNSS signal may be referred to herein as a “multipath signal”. Redirection of the multipath signal may occur via reflection and / or refraction off of objects in the environment (e.g. an office building’s reflective surfaces). “Multipath interference” as used herein refers to situations where a direct signal and a multipath signal for the same GNSS signal are received at a GNSS receiver.

[0017] Where a multipath signal and a direct signal are both fronts of the same GNSS signal, the multipath signal appears to the GNSS receiver as an image of thedirect signal. The multipath signal may be altered due to the redirection of the multipath signal, however the multipath signal may nevertheless share identifying features with the direct signal. Multipath signals may be altered from direct signals in a number of ways, including differing in signal amplitude, frequency, phase, or polarity. Because the shortest path between two points is a straight line, and because multipath signals by definition do not follow a straight line from transmitter to receiver, multipath signals follow a longer path to get to the GNSS receiver. This is a reason why multipath signals may present an issue for GNSS receivers attempting to calculate accurate pseudoranges (the straight-line distance between transmitter and receiver): the multipath signal may appear with similar identifying features as the direct path, but at some time delay.

[0018] GNSS receivers may detect and time receipt of a received GNSS signal by correlating the output of the GNSS receiver’s antenna with a local copy of the GNSS signal’s identifying features (the “matched chip”). Correlation may increase with similarity between the output of the antenna and the matched chip. GNSS receivers may consider peaks in the correlator output to coincide in time with an appearance of the chip within the received signal. The appearance of the chip may then be related to the receipt time of the GNSS signal itself based on known placement of the identifying features (which the chip may have been derived from) within the GNSS signal. However, because multipath signals may also contain these identifying features, multipath interference may result in antenna outputs containing time delayed repetitions of the identifying features. These time delayed repeats may distort the shape of the correlator output, such that the GNSS receiver’s ability to accurately identify the timing of correlator peaks is degraded.

[0019] The disclosed systems and methods relate to correlating the antenna output with a modified version of the GNSS signal’s identifying features (the “modified chip”). Correlator outputs based on the modified chip may still increase with appearances of the GNSS signal’s identifying features within the antenna output, however the shape of the correlator output may be more resilient to distortions from time delayed repetitions of the identifying features. As a result, degradation of theGNSS receiver’s ability to accurately identify the modified chip appearances under multipath interference may be mitigated.

[0020] In some examples, the antenna output may be correlated with a matched chip and separately with a modified chip to yield two separate correlation outputs and two separate chip appearance timings. The GNSS receiver may estimate the receipt time of GNSS signals based on a modified chip appearance timing or on a matched chip appearance timing, or both. This method of changing the basis for GNSS signal receipt time estimation may result in improved accuracy where the appropriate chip appearance timing for the circumstances is relied on. For instance, where the modified chip appearance timing differs from the matched chip appearance timing by more than a determined threshold, the GNSS receiver may estimate the GNSS signal receipt time based on the modified chip appearance timing. Where the modified and matched chip appearance timings difference is less than or equal to the determined threshold, the GNSS receiver may estimate the receipt time based on the matched chip appearance timing. The determined threshold in this example is meant to correspond with high multipath interference. If the modified and matched chip appearance timings differ by more than the determined threshold, multipath interference may be high, and the modified chip based correlator output may be more appropriate due to it being derived from a more multipath resilient correlator output.

[0021] As described above, the disclosed systems and methods improve, at least, a GNSS receiver’s accuracy in determining its position. The disclosed systems and methods may achieve this by correlating the output of the GNSS receiver’s antenna with a modified chip. Correlation based on the modified chip may result in a correlator output more resilient to distortions from multipath interference. This increased resilience to multipath interference may allow the GNSS receiver to more accurately detect and time the appearance of GNSS signal identifying features within signals detected at the antenna’s output. More accurate timing of the identifying features within the detected signals may translate to a more accurate receipt timing of the GNSS signal, a more accurate measurement of the associated pseudorange, and consequently a more accurate estimation of the GNSS receiver’s position.

[0022] FIG 1 illustrates an example GNSS signal transmission-and-receipt scenario 100 in which the disclosed systems and methods may be implemented, in accordance with examples disclosed herein. GNSS transmitter satellite 101 emits a GNSS signal, which propagates in multiple directions. Direct signal 102 propagates along one path approximating a straight line between the GNSS transmitter satellite 101 and an antenna 105 of a GNSS receiver 1 10. Multipath signal 103 propagates in one direction until it is redirected (e.g. via reflection, via refraction) by signal redirecting obstacle 104. Multipath signal 103 then propagates in a second direction until it is received at antenna 105. Due to the longer overall path of multipath signal 103 as compared to direct signal 102, multipath signal 103 may be detected at antenna 105 later in time than direct signal 102. Further, multipath signal 103 may be altered by the longer path traveled and / or redirection. However, because direct signal 102 and multipath signal 103 originate from the same GNSS transmission, the multipath signal 103 shares identifying features with the direct signal 102. These shared identifying features may present issues for GNSS receiver 1 10, as they may distort when the GNSS receiver 1 10 perceives the identifying features in antenna 105’s output.

[0023] GNSS receiver 1 10 may comprise a processor 120 and a computer readable media 130. Computer readable media 130 may comprise executable instructions and data stores. Executable instructions are depicted as rectangles while data stores are depicted as cylinders, however this convention should not be treated as limiting; In some examples, a disclosed executable instruction may instead be conceptualized as a data store, and vice versa. Processor 120 may read executable instructions from computer readable media 130 in order to carry out disclosed processes and methods. Processor 120 may utilize data stores comprising computer readable media 130 as inputs or to store output data when executing the executable instructions.

[0024] Processor 120 may refer to one or more general purpose processors (e.g. microprocessors) and / or one or more special purpose processors (e.g., graphics processing units (“GPUs”), network processors, or application-specific integrated circuits (“ASICs”)). In examples where multiple processors are represented byprocessor 120, said processors may be operated in parallel so that multiple instruction sets may be simultaneously executed by processor 120. Further, In examples where multiple processors comprise processor 120, one or more processors comprising processor 120 may be housed on remote devices, communicating with locally housed components of GNSS receiver via 1 10 via a wired or wireless interface.

[0025] Computer readable media 130 may comprise any form of information storage including, but not limited to, static or dynamic, volatile or non-volatile, as well as long or short term storage. Computer readable media 130 may comprise a combination of different storage media with physical and / or logical separation. In addition, data and / or instructions stored on computer readable media 130 may be stored partially across a plurality of storage media. For instance, while carrying out operations under an executable instruction set, processor 120 may write some amount of data from ROM to RAM, such that processor 120 will be able to more quickly access that data while executing remaining operations within the executable instruction set. This writing of data from ROM to RAM does not remove the data from computer readable media 130, because computer readable media 130 may refer collectively to any and all forms of machine or computer readable media accessible by the processor (e.g., RAM, ROM, flash drives, processor caches). Further, in some examples, one or more portions of computer readable media 130 may be located on remote devices, with the portions located on remote devices receiving / transmitting the contained data and or instructions via a wired or wireless interface.

[0026] When processors execute the disclosed instructions, such processors carry out operations. For the sake of brevity, such operations may be described herein as being carried out by the associated set of instructions, by a specific processor(s), or without reference to any specific actor. Such operations are still to be understood as being carried out by an associated processor. In addition, despite being disclosed as a single component on a computing device, a processor may comprise any number of processors acting in series or in parallel, with any of these processors housed on a remote device communicatively coupled to the disclosed device. As such, where an operation is disclosed, unless indicated otherwise, such an operation should beunderstood as being potentially, in other examples, carried out by any combination of remotely or locally housed processors acting in parallel or in series.

[0027] In the disclosed example, methods and processes are disclosed as executable instructions which are grouped and conceptualized as specific executable instruction sets. This grouping and conceptualization should not be interpreted as limiting on the disclosed systems and methods. In other examples, the disclosed methods and processes may be grouped and / or conceptualized as different executable instruction sets.

[0028] When direct signal 102 and / or multipath signal 103 meet with antenna 105, antenna 105 may generate an analog output. This analog output may then be sampled by antenna output analog-to-digital (A-D) converter 131 to yield a timestamped digitized representation of the signals received at antenna 105 (e.g. a composition of at least direct signal 102, multipath signal 103, and any environmental noise). A-D converter may operate by any method of analog-to-digital conversion (e.g., flash, ramp-compare, Wilkinson). A duration of this digitized antenna output stream may be stored in antenna output buffer 132 to be analyzed by other components of GNSS receiver 1 10. Though GNSS receiver 1 10 is disclosed herein as operating on a digital representation of the antenna output, in other examples GNSS receiver 1 10 may instead utilize analog versions of the disclosed components to operate on the analog antenna 105 output.

[0029] Matched chip correlator 133 may correlate the digitized signal data in antenna output buffer 132 with matched chip local copy 134 to generate matched chip correlation output 135. GNSS signals may be modulated such that they comprise a pseudo-random (PRN) code at known timings within the GNSS signal overall. Because this PRN code may be broken up into discrete repeated (and sometimes inverted) waveforms called “chips.” In the disclosed example, the identifying features discussed above are taken to be one of these chips. As such the “matched chip” local copy may be understood to be a local representation of the identifying features expected within a GNSS signal. In other examples, the “matched chip” local copy may be matched with other identifying features known to be present in a GNSS signal. Asdescribed herein, the matched chip local copy 134 may be digitized into a series of values matching one of these chips. In other examples, the matched chip local copy 134 may match more than one of these chips. In any case, matched chip local copy 134 is stored locally on the computer readable medium — matched chip local copy 134 is not a transitory propagating signal. Further details on matched chip local copy 134 are discussed in relation to FIG. 3.

[0030] Matched chip correlator 133 may correlate two digitized signals by taking the product of the two signal values for each point in time within a determined range before and after a given point in time, and then summing these products to yield the correlation value at the given point in time. This process may be repeated to build out correlation values for multiple points in time, which may be stored as matched chip correlation output 135. In other embodiments, the matched chip correlator 133 may apply any operation which measures similarity between two signals, digital or analog, over time. Matched chip correlation output 135 may rise as a section of the digitized signal data in antenna output buffer 132 shares similar values with those in the matched chip correlator. As such, peaks in a matched chip correlation output 135 may indicate timings where the matched chip local copy 134 appears within the digitized signal data in antenna output buffer 132. These timings for the matched chip local copy 134’s appearance may then be related to the receipt timing for the GNSS signal by reference to the known timing of the matched chip local copy 134 within the GNSS signal. In some examples, this relation is based on a specific pattern of chips representing the GNSS signals unique PRN code.

[0031] Modified chip correlator 136 may conduct the same operation as disclosed regarding matched chip correlator 133, except that modified chip correlator 136 correlates the antenna output buffer 132 with modified chip local copy 137 to generate modified chip correlation output 138. In some examples, modified chip correlator 136 may comprise the same instructions as matched chip correlator 133, but with different input data sources. In some examples, matched chip correlator 133 and modified chip correlator 136 may comprise different correlation operations.

[0032] The modified chip local copy 137 as disclosed herein may be an altered version of the PRN code’s chip waveform. The modified chip local copy 137 is altered such that when it is correlated with digitized signal data containing the unaltered chips, correlation value are produced that rises as the unaltered chips appear in the digitized signal data. However, the alterations in the modified chip local copy 137 cause the shape of the resulting correlation output to be less affected by multipath interference. As described herein, the modified chip local copy 137 may be digitized into a series of values based on one unaltered chip. In other examples, the modified chip local copy 137 may be based on more than one of unaltered chip. In any case, modified chip local copy 137 is stored locally on the computer readable medium — modified chip local copy 137 is not a transitory propagating signal. Further details on modified chip local copy 137 are discussed in relation to FIG. 4.

[0033] The utilization of modified chip local copy 137 does not indicate or suggest that the received GNSS signals comprise, or are expected to comprise, this modified chip local copy 137. In the disclosed example, the associated GNSS signals are assumed to comprise the unaltered chip waveform, approximating the matched chip local copy 134.

[0034] Chip appearance timer 139 may detect and time appearances of a reference chip (e.g., matched chip local copy 134, modified chip local copy 137) within the antenna output based on a correlation output (e.g. matched chip correlation output 135, modified chip correlation output 138). For example, chip appearance timer 139 may detect and time appearances of the matched chip local copy 134 within the antenna output buffer 132 based on the matched chip correlation output 135, with the result stored as matched chip appearance timing 140. Further, chip appearance timer 139 may detect and time appearances of the modified chip local copy 137 within the antenna output buffer 132 based on the modified chip correlation output 138, with the result stored as modified chip appearance timing 141. These “appearances” may be timed based on raised values within the associated correlation output, and as such should not be interpreted to represent an exact appearance of the reference chip (modified or matched) in the antenna output. Because of the alterations of the matchedchip local copy 134 that define the modified chip local copy 137, and because the GNSS signal is assumed to be transmitted with unaltered chips, exact appearances of the modified chip local copy 137 may never appear in the antenna output. However, the modified chip correlation output 138 may still rise when portions of the antenna output buffer 132 share similarities with the modified chip correlation output 138.

[0035] One distinction between the matched chip correlation output 135 and modified chip correlation output 138, is that the modified chip correlation output 138 may be less distorted by chips received via the multipath signal 103. Because the modified chip correlation output 138 may be less distorted by multipath interference, the modified chip appearance timing 141 may be a better estimate for the receipt of chips via the direct signal 102 when the GNSS receiver 1 10 is experiencing multipath interference. On the other hand, because the matched chip local copy more closely matches the chips in the GNSS signal, the matched chip correlation output may have improved receipt timing characteristics (e.g. sharpness of correlation peaks) when the GNSS receiver 1 10 is not experiencing multipath interference. As a result, matched chip appearance timing 140 may be a better estimate for the receipt of chips via the direct signal 102 when the GNSS receiver 1 10 is not experiencing multipath interference. How modified chip correlation output 138 may be less distorted by multipath interference is illustrated further below with reference to FIGS 5-6.

[0036] GNSS signal receipt timer 142 may generate an estimated GNSS signal receipt timing 143 based on the matched chip appearance timing 140 and the modified chip appearance timing. For instance, where the matched chip appearance timing 140 and the modified chip appearance timing 141 differ from each other by more than a determined threshold, the GNSS signal receipt timer 142 may set the estimated GNSS signal receipt timing 143 based on the modified chip appearance timing 141. In this example, the determined threshold may be calibrated to be a heuristic for multipath interference significant enough to justify relying on the modified chip appearance timing 141. Where the chip appearance timings 140 and 141 differ from each other by less than or equal to the determined threshold, the GNSS signal receipt timer 142 may set the estimated GNSS signal receipt timing 143 based on the matched chipappearance timing 140. The difference not exceeding the determined threshold indicates a lack of significant multipath interference, and so the matched chip appearance timing 140 may be a more appropriate basis for estimating the GNSS signal receipt timing 143. In some examples, the estimated GNSS signal receipt timing may be based on a derived chip appearance timing, wherein the derived chip appearance timing is an average of the matched and modified chip appearance timings 140 and 141. In some examples, the derived chip appearance timing may be weighted based on the difference between the matched and modified chip appearance timings 140 and 141 .

[0037] Once a basis chip appearance timing is determined, GNSS signal receipt timer 142 may set the estimated GNSS signal receipt timing 143 based on the basis chip appearance timing by referring to the known timing of the chip relative to the associated GNSS signal. For instance, where the chip is at least part a unique PRN code used to modulate the GNSS signal, the basis chip appearance timing may be related to the timing of the PRN code itself, which relates to the GNSS signal modulated by the PRN code.

[0038] By repeating the same processes and methods disclosed above for a plurality of received GNSS signals, estimated GNSS signal receipt timing 143 may comprise GNSS signal receipt timing estimates for GNSS signals originating from a plurality of GNSS transmitters. As described above, these GNSS signal receipt timing estimates may be used to calculate pseudoranges approximating the distance to each of the associated GNSS transmitters. These pseudoranges, along with the positions of the GNSS transmitters at transmission, may be used by GNSS receiver positioning logic 144 to estimate a position of the GNSS receiver 1 10. This estimated position may be stored in GNSS position determination 145.

[0039] The disclosed GNSS receiver 1 10 may include undisclosed components inherent in GNSS receivers (e.g., local oscillators, down-converters, signal amplifiers). These components have been omitted to focus on aspects of the disclosed systems and methods. Such omissions do not imply irrelevance or incompatibility of the omitted components with the disclosed systems and methods.

[0040] FIGS. 2A-B illustrate an example direct signal waveform and an example multipath signal, aligned for comparison of the two waveforms, in accordance with examples disclosed herein. FIG. 2A illustrates an example direct signal waveform (e.g. what an antenna output signal may look like over time in response to a direct signal intersecting the antenna). The direct signal disclosed herein has been simplified down to only a single chip. GNSS signals transmitted in practice may comprise multiple chips, some inverted and some not, such that a unique PRN code sequence is formed. The chip shape disclosed comprises a first portion 201 (-0.5 to 0 chip delay) at a -1 signal level, and a second portion 202 (0 to 0.5 chip delay) at a +1 signal level. This chip shape is consistent with a binary offset carrier digital modulation scheme. In other examples, the GNSS signal may comprise chips in shapes consistent with other modulation schemes (e.g., binary phase shift keyed (BPSK), composite binary offset carrier (CBOC), quadrature amplitude modulation (QAM)).

[0041] FIG. 2B illustrates an example multipath signal waveform (e.g. what an antenna output signal may look like over time in response to a multipath signal intersecting the antenna). The chip delay axes of FIGS. 2A-B are aligned such that the delay of 0.5 chips between the direct signal and multipath signal is apparent to a viewer. This chip delay may correspond with the longer path traveled by the multipath signal. For instance, in a GNSS signal comprising chips transmitted at a rate of 1 ,023MHz, a chip may correspond with a distance of approximately 300 meters. This means, in some examples, the disclosed delay of 0.5 chips between the direct signal and multipath signal may be the result of the multipath traveling a path roughly 150 meters longer than the path traveled by the direct path.

[0042] The amplitude of the multipath signal may be observed to have been increased in accordance with a gain of 3dB. While in other multipath interference scenarios, the multipath signal may be decreased in amplitude due to losses from the longer travel path and / or redirection of the multipath signal, gains to the multipath signal are also possible. For instance, where the direct path passes through media that attenuate the direct path signal, and the multipath avoids these media, a perceived relative gain on the multipath is possible. In addition, directional dependencies in theGNSS receiver’s antenna may result in the GNSS receiver being more sensitive to signals coming from the multipath signal’s direction rather than signals coming from the direct signal’s direction.

[0043] The illustrated delay and gain difference between the direct and multipath signals is only one potential multipath interference scenario, chosen to illustrate the disclosed systems and methods. The disclosed systems and methods may be effective at improving the GNSS receiver’s ability to accurately determine receipt time of a GNSS signal in other multipath interference scenarios (e.g., a multipath signal with 0.2 chip delay with -1 dB gain, a multipath signal with 0.7 chip delay with OdB gain, a multipath signal with 1.1 chip delay with -4 dB gain).

[0044] Aside from the delay and gain differences between the direct and multipath signal, the direct and multipath signals are substantially the same shape and share identifying features. As such, the repetition of identifying features caused by the receipt of both a direct signal and multipath signal may cause a GNSS receiver to have difficulty detecting and timing the appearance of identifying features. The appearance of the identifying features is used to calculate a pseudorange to the GNSS transmitter responsible for the GNSS signal, therefore the pseudorange may be more accurate where the detected and timed identifying features were caused by the direct path signal.

[0045] FIGS. 3A-C illustrate a matched chip local copy, a matched chip correlation output, and a matched chip correlation energy output, in accordance with examples disclosed herein. FIG. 3A illustrates a matched chip local copy. In the disclosed example, matched chip local copy is identical to a chip expected to be present in received GNSS signals. Because the direct signal is disclosed here in as a simplified single chip (see FIG. 2A), the matched chip local copy is identical with the direct signal. In practice, the GNSS signal may comprise multiple chips, but the matched chip local copy may remain identical to one of the multiple chips. The direct signal has been simplified to one chip to emphasize how the correlation function will vary with time as the chip waveform appears in an antenna output.

[0046] FIG. 3B illustrates a matched chip correlation output generated wherein the direct signal is a single chip, as disclosed in FIG. 2A, and the matched chip local copy matches this chip, as disclosed in FIG. 3A. As shown in FIG. 3B, the low point 301 in the correlation output corresponds to a delay of -0.5 chips. This can be visualized by shifting the center 302 of the matched chip local copy waveform such that center 302 overlaid with the -0.5 chips timing on the direct signal waveform from FIG. 2A. The product of the shifted matched chip local copy and the direct signal for each point in time within the shifted matched chip local copy (from -1 .0 chip delay to 0 chip delay) is calculated and then summed to determine the value of the correlation output at -0.5. The shifted matched chip local copy or the direct signal have values of zero everywhere else in this range besides from -0.5 to 0 chip delay, therefore the value of the matched chip correlation output at -0.5 chips approximates -1 (the value of the direct signal from -0.5 to 0 chip delay) multiplied by 1 (the value of the shifted matched chip local copy from -0.5 to 0 chip delay) multiplied by the length of this range (0.5 chips), resulting in a correlation output of -0.5. Repeating this operation after shifting the matched chip local copy across a duration of the antenna signal output may result in a matched chip correlation output with the same duration.

[0047] As the matched chip local copy is shifted from -2 to +2 chip delay throughout the single chip direct signal, the correlation output decreases to low point 301 as the first portion 201 of the direct signal negatively correlates with the second portion 303 of the matched chip local copy. The correlation output then increases to a peak 304 at 0 chip delay, as the matched chip local copy exactly matches the single chip direct signal at a 0 chip delay. The correlation output then decreases to low point 305 as the as the second portion 202 of the direct signal negatively correlates with the first portion 306 of the matched chip local copy. Finally, the correlation output returns to zero as the matched chip local copy is shifted to portions of the direct signal having a value of 0.

[0048] FIG 3C illustrates a matched chip correlation energy output. In some examples, the GNSS receiver may detect and time chip appearances in the correlation output based on peaks in the associated correlation energy output. The correlationenergy output may be the result of squaring each value of the correlation output. Basing the detection and timing of chip appearances on the correlation energy output has the benefit of creating sharper peaks (e.g. correlator energy output peak 308). The correlator energy output also accounts for imaginary signal components that may have been introduced by carrier phase ambiguity. Carrier phase ambiguity is where the GNSS receiver is unable to reliably determine which point in the modulating carrier signal the received signal intersected the antenna. A carrier signal may be a sinusoidal wave at a higher frequency than the chipping rate of the PRN code. Though not depicted herein, a carrier wave may be for example a sinusoid signal at roughly 1 GHz frequency. Where a signal is received at the GNSS receiver at a carrier phase other than 0, the antenna may output a complex signal, comprising imaginary components. The squaring operation implicit in examining correlation energy output may account for these imaginary components because imaginary components become real components when squared. On the other hand, negative correlation outputs become positive when squared, and thus the negative correlation output peaks may present false positive peaks (e.g. correlator energy output side lobe peaks 307) in the correlation energy output. As illustrated further below in relation to FIGS. 5 and 6, these side lobe peaks 307 may be a source of distortion during multipath interference.

[0049] FIGS. 4A-C illustrate a modified chip local copy, a modified chip correlation output, and a modified chip correlation energy output, in accordance with examples disclosed herein. FIG. 4A illustrates a modified chip local copy. In the disclosed example, modified chip local copy is similar to the matched chip local copy, and consequently to a chip expected to be present in received GNSS signals. However, modified chip local copy comprises leading portion 401 at half the signal level of the matched chip local copy’s first portion 306 and over the duration of -1 to - 0.5 chip delay. In addition, modified chip local copy comprises trailing portion 402 at half the signal level of the matched chip local copy’s second portion 303 and over the duration of 0.5 to 1 chip delay. In some examples, the modified chip local copy may be built by inserting alteration points at timings between points in a copy of the matched chip local copy, such that these alteration points have values between thevalues of the matched chip local copy at timings on either side of the alteration point. In some examples, alteration points may displace a matched chip local copy point leftward or rightward, or overwrite a matched chip local copy point.

[0050] FIG. 4B illustrates a modified chip correlation output generated wherein the direct signal is a single chip, as disclosed in FIG. 2A, and the modified chip local copy is as disclosed in FIG. 4A. The modified chip correlation output may be visualized via similar shifting operations disclosed regarding the matched chip correlation output discussed in relation to FIG. 3B. Repeating this operation after shifting the modified chip local copy across a duration of the antenna signal output may result in a modified chip correlation output with the same duration. As the modified chip local copy is shifted from -2 to +2 chip delay throughout the single chip direct signal, the correlation output decreases to low point 403 as the first portion 201 of the direct signal negatively correlates with the trailing portion 402 of the modified chip local copy. Note that the decrease to low point 403 begins earlier (-1 .5 chip delay) as compared to the beginning of the decrease to low point 301 of the matched chip correlation output. This is because the width of the modified chip local copy disclosed herein spans -1 chip delay to 1 chip delay, thus the modified chip local copy begins overlapping the direct signal at earlier chip delay shifts. A similar interaction between the second portion 202 of the direct signal and the leading portion 401 results in the delayed return to zero of the modified correlation output at 1 .5 chip delay after low point 404. Further, the minimum value of low points 403 and 404 are not as far negative when compared to low points 301 and 305. This is due to the leading portion 401 and trailing portion 402 offsetting some of the negative correlation by overlapping and positively correlating with the first portion 201 and second portion 202, respectively, over these flattened correlation output periods from -1 to -0.5 and 0.5 to 1 chip delay.

[0051] FIG 4C illustrates a modified chip correlation energy output. In some examples, the GNSS receiver may detect and time chip appearances in the correlation output based on peaks in the associated correlation energy output. The modified chip correlation energy output may be built via similar squaring operations disclosed to build the matched chip correlation energy output discussed in relation to FIG. 3C.Modified chip correlation energy output comprises side lobes 405, although they are substantially wider and flattened when compared with side lobes 307 of the matched chip correlation energy output discussed in relation to FIG. 3C. The widening of the side lobes 405 may be attributed to the longer overall duration of the modified chip local copy as compared to the matched chip local copy. The flattening of the sidelobes may be attributed to the less extreme low points 403 and 404 of the modified chip correlation output when compared to the low points 301 and 305 of the matched chip correlation output. As discussed further below in relation to FIGS. 5 and 6, the flattened aspects of side lobes 405 may result in the modified chip correlation output being more resilient to multipath interference when compared to the matched chip correlation output.

[0052] Modified chip local copy is disclosed herein with the leading and trailing portions 401 and 402. In some examples, modified chip local copy may include further leading and trailing portions before or after leading and trailing portions 401 and 402, with the multiple leading and trailing portions shaped as evenly spaced intermediate “steps” back toward zero. In some examples, these steps may be as short in duration as the associated computing components can sample the antenna output. In some examples, these steps may return to zero in a discrete fashion approximating a mathematical relationship (e.g., linearly, non-linearly, exponentially, sinusoidally). In some examples, these steps may take on amplitudes and durations without any clear mathematical relationship, but instead shaped after a trial and error process to yield a desired correlation output shape when correlated with an identifying feature expected to appear in a received GNSS signal.

[0053] FIG. 5 illustrates a comparison of the matched chip correlator energy output with the modified chip correlator energy output, assuming the direct path signal is a single chip and is received at the GNSS receiver with no multipath interference, in accordance with examples disclosed herein. The peaks of both correlation energy outputs can be seen to coincide at chip delay 0. As can be seen by looking along the 0.7 output level line where it intersects chip delay 0 (marked as 501 ), the matched correlation energy output peak may be narrower than the modified correlation energyoutput peak. This narrowness may be attributed to the wider modified chip local copy when compared to the matched chip local copy, and / or to the deviations of the modified chip local copy from the chips present in the GNSS signal. Narrow peaks may allow for more precise detection and timing of chip appearances due to the narrower window which they may exceed a peak detection triggering threshold (e.g. 0.7 output level line). This may result in a preference for chip appearances detected and timed based on a matched correlation output, if the GNSS receiver is not under multipath interference.

[0054] The matched chip correlation energy output side lobes 502 are also significantly higher amplitude when compared to the flattened modified chip correlation energy output side lobes 503. In addition, the matched chip side lobes 502 are asymmetric around a central point at -0.5 and 0.5 chips, while the modified chip side lobes are relatively more symmetric around a central point at -0.75 and 0.75 chips. As discussed further in relation to FIG. 6 below, these different shape patterns may result in less distortions to the correlation energy output when the direct signal is under multipath interference.

[0055] FIG. 6 illustrates a comparison of the matched chip correlator energy output with the modified chip correlator energy output, assuming the direct path signal is a single chip and is received at the GNSS receiver under multipath interference. The chart disclosed herein was generated based on a multipath signal at 0.5 chip delay and 3dB gain, relative to the direct signal. When correlation energy output is charted based on a direct signal under multipath interference, the correlation energy output may comprise the correlation energy output for the direct signal under no multipath interference, added to a delayed image of the correlation energy output for the direct signal under no multipath interference. Direct path signal peak can be seen at 601 , wherein its amplitude has been increased beyond the 1.0 peak of the direct path correlation energy output chart under no multipath interference. This increase may be caused by addition with the leading side lobe of the delayed image of the direct signal at 0.5 chips (i.e. the interfering multipath signal). The multipath signal peak can beseen at 602, wherein it’s amplitude exceeds that of the direct path signal peak at 601 . This is due to the relative 3dB gain perceived in the multipath signal.

[0056] Separation between the dashed line representing the matched chip correlation energy output and the solid line representing the modified chip correlation energy output is illustrated here to demonstrate improved resilience of the modified chip correlation energy output under multipath interference. In the separation region 603, the flattened side lobe of the modified chip correlation energy output (e.g. side lobe 405) resulting from the multipath signal has distorted the peak of the correlation energy output resulting from the direct signal. However, this distortion is of a lesser magnitude and a different shape when compared with the distortion to the matched chip correlation energy output direct signal peak. The sharp asymmetric peak of the matched chip correlation energy output side lobe (e.g. side lobe 307) has raised and distorted the peak of the direct path peak. The flattened peak of the modified chip correlation energy output side lobe has had similar but less extreme effect on the direct path peak.

[0057] Distortion of the direct path peak in the matched chip correlation energy output may degrade the GNSS receivers ability to accurately detect and time chip appearances. For some detection triggering thresholds (e.g. correlator energy output of 0.9), the direct path peak of the matched chip correlation energy output may be “detected” in a broader and left-skewed range of chip delay timings (e.g. roughly -0.1 to 0.06 chip delay for the matched chip correlation energy, compared with roughly - 0.06 to 0.05 chip delay for the modified chip correlation energy). Broadened and left / right-skewed detection ranges may degrade the ability of the GNSS receiver 1 10 to accurately detect and time chip appearances within the antenna output, as the GNSS receiver must employ some logic to pick a timing within the range. Skewed ranges may be particularly troublesome, as the center of the range is offset from the actual timing of any associated peak.

[0058] FIG. 7 illustrates the performance of the disclosed systems and methods under a simulation encompassing varied multipath interference scenarios. The disclosed error envelope chart compares the performance of the matched andmodified chip appearance timings over a broad range of multipath interference scenarios. The error of a detected chip appearance timing from the true chip appearance timing is charted over a direct path-multipath signal delay ranging from 0 to 1 chips (i.e. the “Early-Late path spacing” axis). In addition, a range of carrier phase ambiguities from 0 to 180 degrees are illustrated by, for instance, referring to the 0 carrier phase ambiguity line of the matched chip appearance timing 702 and the 180 degree carrier phase ambiguity line of the matched chip appearance timing 704. Similar lines drawn for carrier phase ambiguity scenarios between 0 and 180 degrees may fall somewhere between these two lines. As illustrated, in an environment with a direct path-multipath signal delay of roughly 0.43 to 0.69 chips, the error of the matched chip appearance timing was as much as 150 meters or as little as 0 meters, depending to some extent on the carrier phase ambiguity.

[0059] The error of chip appearance timing is disclosed in units of meters because chips may be related to physical lengths based on the speed of light and chipping rate of the GNSS signal. In the simulation utilized to generate FIG. 7, chips had a width of roughly 300 meters, meaning a 150 meter error in chip appearance timing may translate to a half chip error in the chip appearance timing and a roughly 150 meter error in a calculated pseudorange.

[0060] The improved resilience of the modified chip correlation output under multipath interference is illustrated by reference to the 0 carrier phase ambiguity line of the modified chip appearance timing 706 and the 180 degree carrier phase ambiguity line of the modified chip appearance timing 708. As seen in FIG. 7, the modified chip errors (i.e. lines 706 and 708) are smaller than the matched chip appearance timing errors (i.e. lines 702 and 704) over some portions of the direct pathmultipath signal delays and carrier phase ambiguities. This is particularly accentuated over roughly the 0.18 to 0.25 and 0.43 to 0.69 path-multipath signal chip delay ranges.

[0061] FIG. 8 illustrates an example computing component 810 which may execute a GNSS signal receipt timing process 800, in accordance with examples disclosed herein. Computing component 810 may be, for example, implemented within any device utilizing a GNSS system to determine position, navigation, and / or timingdata (e.g. GNSS receiver 1 10 described in FIG. 1 ). Computing component 810 may include a hardware processor(s) 812, and machine-readable storage medium 814.

[0062] Hardware processor(s) 812 may be one or more central processing units (CPUs), semiconductor-based microprocessors, and / or other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 814. Hardware processor 812 may fetch, decode, and execute instructions, such as instructions defining operations 820-830, to estimate a GNSS signal receipt timing (process 800). As an alternative or in addition to retrieving and executing instructions, hardware processor(s) 812 may include one or more electronic circuits that include electronic components for performing the functionality of one or more instructions, such as a field programmable gate array (FPGA), application specific integrated circuit (ASIC), or other electronic circuits.

[0063] A machine-readable storage medium, such as machine-readable storage medium 814, may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Thus, machine- readable storage medium 814 may be, for example, Random Access Memory (RAM), non-volatile RAM (NVRAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and the like. In some examples, machine-readable storage medium 814 may be a non-transitory storage medium, where the term "non-transitory" does not encompass transitory propagating signals. As described in detail below, machine-readable storage medium 814 may be encoded with executable instructions, for example, instructions defining operations 820-830.

[0064] For the sake of brevity, operations 820-830 may be described herein as being carried out by computing component 810, by processor(s) 812, or without reference to any specific actor. Such operations are still to be understood as being carried out by an processor(s) 812. Despite being disclosed in this example as a single component on a computing device, in other examples processor(s) 812 may comprise any number of processors acting in series or in parallel, with any of these processors housed on a remote device communicatively coupled to the disclosed device. As such, where an operation is disclosed, unless indicated otherwise, such an operation shouldbe understood as being potentially carried out by any combination of remotely or locally housed processors acting in parallel or in series.

[0065] Operations 820-830 outline GNSS signal receipt timing process 800. Operations 820-830 are disclosed in one order herein, but this order should not be understood to be limiting. GNSS signal receipt timing process 800 may achieve the disclosed improvements to GNSS signal receipt detection and timing accuracy despite operations 820-830 being executed in a different order, and / or with some of operations 820-830 omitted, and / or with undisclosed operations added in, and / or with the underlying executable instructions grouped or conceptualized as different operations.

[0066] At operation 820, an antenna’s analog output may be digitally sampled. This digital sampling may result in a digital representation of the electromagnetic environment of the antenna, including a composition of all signals meeting with the antenna. The digital representation may be stored locally as the sampled antenna output. The digital sampling may be achieved by any means of A-D conversion (e.g., flash, ramp-compare, Wilkinson).

[0067] At operation 822, a matched chip local copy is correlated with the sampled antenna output to yield a matched chip correlation output. The matched chip local copy may comprise a digital representation of an identifiable feature within an expected GNSS signal. The matched chip local copy may be stored locally and is not a transitory propagating signal. Matched chip local copies are described in further detail above relating to FIG. 3A. The matched chip correlation output may be a series of timestamped values indicating a how similar the matched chip local copy and the sampled antenna output were at specific points in time. The matched chip correlation output and its calculation are described in more detail above in relation to FIG. 3B.

[0068] At operation 824, a modified chip local copy is correlated with the sampled antenna output to yield a modified chip correlation output. The modified chip local copy may comprise an altered version of the matched chip local copy, wherein the alterations result in correlation outputs generated under multipath interference that are less distorted than the matched chip correlation output. The modified chip local copy may be stored locally and is not a transitory propagating signal. Modified chiplocal copies are described in further detail above relating to FIG. 4A. The modified correlation output may be a series of timestamped values indicating a how similar the modified chip local copy and the sampled antenna output are at specific points in time. The modified chip correlation output and its calculation are described in more detail above in relation to FIG. 4B. The modified chip correlation output is compared and contrasted with the matched chip correlation output above in relation to FIGS. 5-6.

[0069] At operation 826, a matched chip appearance timing is determined based on the matched chip correlation output. The matched chip appearance timing may be determined by detecting peaks values within the matched chip correlation energy output and setting the matched chip appearance timing to the earliest detected peak. In some examples, a value within the matched chip correlation energy output may need to exceed a determined threshold value before it is considered a peak for chip appearance timing purposes. In some embodiments, the peak may be assumed to be in the middle of a range of correlation outputs exceeding a determined threshold value. In some examples, the matched chip correlation output, rather than the matched chip correlation energy output, may be directly utilized to detect and time the matched chip appearance timing. An example matched chip correlation output and matched chip correlation energy output are illustrated and described above in relation to FIGS. 3B-C.

[0070] At operation 828, a modified chip appearance timing is determined based on the modified chip correlation output. The modified chip appearance timing may be determined by detecting peaks values within the modified chip correlation energy output and setting the modified chip appearance timing to the earliest detected peak. In some examples, a value within the modified chip correlation energy output may need to exceed a determined threshold value before it is considered a peak for appearance timing purposes. In some embodiments, the peak may be assumed to be in the middle of a range of correlation outputs exceeding a determined threshold value. In some examples, the modified chip correlation output, rather than the modified chip correlation energy output, may be directly utilized to detect and time the modified chip appearance timing. An example modified chip correlation output and modified chipcorrelation energy output are illustrated and described above in relation to FIGS. 4B- C.

[0071] At operation 830, a GNSS signal receipt timing is estimated based on the matched chip appearance timing and modified chip appearance timing. The matched chip appearance timing and modified chip appearance timing may be compared in order to identify when the antenna environment comprises significant multipath interference. These situations may be identified, for instance, by comparing the difference between the appearance timings with a determined threshold which relates to multipath interference. The GNSS signal receipt timing estimate may then be calculated differently depending on whether there is multipath interference. For instance, where the matched chip appearance timing and the modified chip appearance timing differ from each other by more than the determined threshold, the estimated GNSS signal receipt timing may be set to the modified chip appearance timing. Where the chip appearance timings differ from each other by less than or equal to the determined threshold, the estimated GNSS signal receipt timing may be set to the matched chip appearance timing. Errors in matched and modified appearance timings over a range of multipath interference scenarios is described and illustrated in relation to FIG. 7. In some examples, the estimation of the GNSS signal receipt timing may be varied based on other metrics indicating characteristics of the antenna environment. In some examples, the GNSS signal receipt timing estimation may be based on a derived chip appearance timing, wherein the derived chip appearance timing is an average of the matched and modified chip appearance timings. In some examples, the derived chip appearance timing may be weighted based on the difference between the matched and modified chip appearance timings.

[0072] Once the GNSS signal receipt timing has been estimated, a pseudorange relating to the distance between the GNSS transmitter and the antenna may be calculated. By repeating the GNSS signal receipt timing process 800 above for a plurality of received GNSS signals, a plurality of GNSS signal receipt timing estimates may be used to calculate a plurality of pseudoranges approximating distances to each of the associated GNSS transmitters. These pseudoranges, alongwith the positions of the GNSS transmitters at transmission, may be used to estimate a position of the computing device 810’s antenna.

[0073] FIG. 9 illustrates an example GNSS signal receipt timing estimation flow chart 900, in accordance with examples disclosed herein. Where flow lines are shown branching into two different paths, the paths may be understood to be executable in parallel or in series. Where multiple flow lines join to one node, results from both paths may be understood to be inputs to the node.

[0074] The GNSS signal receipt timing estimation flow chart 900 begins at operation 902, wherein an antenna output is sampled. Operation 902 may be understood to be analogous to operation 820 described in relation to FIG. 8, and may be completed by any similar data sampling means. The logical flow next splits into operations 904 and 906 which may be completed in parallel or in series.

[0075] At operation 904, a matched chip local copy is correlated with the sampled antenna output to determine a matched chip appearance timing. The correlation of the matched chip local copy with the sampled antenna output and the determination of the matched chip appearance timing may be understood to be analogous to operations 822 and 826, respectively, as described in relation to FIG. 8.

[0076] At operation 906, a modified chip local copy is correlated with the sampled antenna output to determine a modified chip appearance timing. The correlation of the modified chip local copy with the sampled antenna output and the determination of the modified chip appearance timing may be understood to be analogous to operations 824 and 828, respectively, as described in relation to FIG. 8.

[0077] After matched and modified chip appearance timings have been determined, they are compared at operation 908. Where the matched and modified chip appearance timing differ by more than a determined threshold, the GNSS signal receipt timing estimation flow chart 900 continues (and finishes) at operation 910. Where the matched and modified chip appearance timing do not differ by more than the determined threshold, the GNSS signal receipt timing estimation flow chart 900 continues (and finishes) at operation 912. The determined threshold may be relatedto differences between matched and modified chip appearance timings that indicate the presence of significant multipath interference at the antenna.

[0078] At operation 910, the GNSS signal receipt timing estimation is set to the modified chip appearance timing. Because operation 910 may be executed when differences in the matched and modified chip appearance timings suggest significant multipath interference, the modified chip appearance timing is relied on as the basis for the GNSS signal receipt timing estimation. In other embodiments, the GNSS signal receipt timing estimation may be set to a timing between the matched and modified chip appearance timing, weighted toward the modified chip appearance timing by some factor scaling with the difference between the matched and modified chip appearance timings. The modified chip appearance timing may be preferable as a basis for estimating the GNSS signal receipt timing during multipath interference because the modified chip appearance timing may be determined based off of the modified chip correlation output. As described and illustrated further above with relation to FIGS. 5-7, the modified chip correlation output may be more resilient to distortions from multipath signals when compared with the matched chip correlation output.

[0079] At operation 912, the GNSS signal receipt timing estimation is set to the matched chip appearance timing. Because operation 912 may be executed when differences in the matched and modified chip appearance timings suggest nonsignificant multipath interference, the matched chip appearance timing is relied on as the basis for the GNSS signal receipt timing estimation. In other embodiments, the GNSS signal receipt timing estimation may be set to a timing between the matched and modified chip appearance timing, weighted toward the matched chip appearance timing by some factor scaling with the difference between the matched and modified chip appearance timings. The matched chip appearance timing may be preferable as a basis for estimating the GNSS signal receipt timing when not under multipath interference because the matched chip appearance timing may be determined based off of the matched chip correlation output. As described and illustrated further abovewith relation to FIGS. 5-7, the matched chip correlation output may provide sharper peaks outside of multipath interference, leading to less uncertainty in peak timings.

[0080] After execution of the GNSS signal receipt timing estimation flow chart 900, the GNSS signal receipt timing estimate may be set according to the more appropriate basis appearance timing, given characteristics of the associated antenna’s environment. Estimating the GNSS signal receipt timing based on a more appropriate basis appearance timing may result in a more accurate pseudorange calculation, at least when the associated antenna is under multipath interference. More accurate pseudorange calculations consequently may lead to more accurate GNSS positioning determinations.

[0081] FIG. 10 depicts a block diagram of an example computer system 1000 in which various of the embodiments described herein may be implemented. The computer system 1000 includes a bus 1002 or other communication mechanism for communicating information, one or more hardware processors 1004 coupled with bus 1002 for processing information. Hardware processor(s) 1004 may be, for example, one or more general purpose microprocessors.

[0082] The computer system 1000 also includes a main memory 1006, such as a random access memory (RAM), cache and / or other dynamic storage devices, coupled to bus 1002 for storing information and instructions to be executed by processor 1004. Main memory 1006 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 1004. Such instructions, when stored in storage media accessible to processor 1004, render computer system 1000 into a special-purpose machine that is customized to perform the operations specified in the instructions.

[0083] The computer system 1000 further includes a read only memory (ROM) 1008 or other static storage device coupled to bus 1002 for storing static information and instructions for processor 1004. A storage device 1010, such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus 1002 for storing information and instructions.

[0084] The computer system 1000 may be coupled via bus 1002 to a display 1012, such as a liquid crystal display (LCD) (or touch screen), for displaying information to a computer user. An input device 1014, including alphanumeric and other keys, is coupled to bus 1002 for communicating information and command selections to processor 1004. Another type of user input device is cursor control 1016, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 1004 and for controlling cursor movement on display 1012. In some examples, the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.

[0085] The computing system 1000 may include a user interface module to implement a GUI that may be stored in a mass storage device as executable software codes that are executed by the computing device(s). This and other modules may include, by way of example, components, such as software components, object- oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.

[0086] In general, the word “component,” “engine,” “system,” “database,” data store,” and the like, as used herein, can refer to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, C or C++. A software component may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated that software components may be callable from other components or from themselves, and / or may be invoked in response to detected events or interrupts. Software components configured for execution on computing devices may be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originallystored in a compressed or installable format that requires installation, decompression or decryption prior to execution). Such software code may be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware components may be comprised of connected logic units, such as gates and flip-flops, and / or may be comprised of programmable units, such as programmable gate arrays or processors.

[0087] The computer system 1000 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and / or program logic which in combination with the computer system causes or programs computer system 1000 to be a special-purpose machine. According to one example, the techniques herein are performed by computer system 1000 in response to processor(s) 1004 executing one or more sequences of one or more instructions contained in main memory 1006. Such instructions may be read into main memory 1006 from another storage medium, such as storage device 1010. Execution of the sequences of instructions contained in main memory 1006 causes processor(s) 1004 to perform the process steps described herein. In alternative examples, hard-wired circuitry may be used in place of or in combination with software instructions.

[0088] The term “non-transitory media,” and similar terms, as used herein refers to any media that store data and / or instructions that cause a machine to operate in a specific fashion. Such non-transitory media may comprise non-volatile media and / or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 1010. Volatile media includes dynamic memory, such as main memory 1006. Common forms of non-transitory media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH- EPROM, NVRAM, any other memory chip or cartridge, and networked versions of the same.

[0089] Non-transitory media is distinct from but may be used in conjunction with transmission media. Transmission media participates in transferring information between non-transitory media. For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 1002. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.

[0090] The computer system 1000 also includes a communication interface 1018 coupled to bus 1002. Network interface 1018 provides a two-way data communication coupling to one or more network links that are connected to one or more local networks. For example, communication interface 1018 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, network interface 1018 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicated with a WAN). Wireless links may also be implemented. In any such implementation, network interface 1018 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

[0091] A network link typically provides data communication through one or more networks to other data devices. For example, a network link may provide a connection through local network to a host computer or to data equipment operated by an Internet Service Provider (ISP). The ISP in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet.” Local network and Internet both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link and through communication interface 1018, which carry the digital data to and from computer system 1000, are example forms of transmission media.

[0092] The computer system 1000 can send messages and receive data, including program code, through the network(s), network link and communicationinterface 1018. In the Internet example, a server might transmit a requested code for an application program through the Internet, the ISP, the local network and the communication interface 1018.

[0093] The received code may be executed by processor 1004 as it is received, and / or stored in storage device 1010, or other non-volatile storage for later execution.

[0094] Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code components executed by one or more computer systems or computer processors comprising computer hardware. The one or more computer systems or computer processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). The processes and algorithms may be implemented partially or wholly in application-specific circuitry. The various features and processes described above may be used independently of one another, or may be combined in various ways. Different combinations and subcombinations are intended to fall within the scope of this disclosure, and certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate, or may be performed in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed example embodiments. The performance of certain of the operations or processes may be distributed among computer systems or computers processors, not only residing within a single machine, but deployed across a number of machines.

[0095] As used herein, a circuit might be implemented utilizing any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logical components, software routines or other mechanisms might be implemented to make up a circuit. In implementation, the various circuits described herein might be implemented as discrete circuits or the functions and features described can be shared in part or intotal among one or more circuits. Even though various features or elements of functionality may be individually described or claimed as separate circuits, these features and functionality can be shared among one or more common circuits, and such description shall not require or imply that separate circuits are required to implement such features or functionality. Where a circuit is implemented in whole or in part using software, such software can be implemented to operate with a computing or processing system capable of carrying out the functionality described with respect thereto, such as computer system 1000.

[0096] As used herein, the term “or” may be construed in either an inclusive or exclusive sense. Moreover, the description of resources, operations, or structures in the singular shall not be read to exclude the plural. Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain examples include, while other examples do not include, certain features, elements and / or steps.

[0097] Terms and phrases used in this document, and variations thereof, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. Adjectives such as “conventional,” “traditional,” “normal,” “standard,” “known,” and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies that may be available or known now or at any time in the future. The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent.

Claims

ClaimsWhat is claimed is:1 . A method comprising: sampling an antenna output into a digitized antenna output stream; generating a matched chip correlation output by correlating the digitized antenna output stream with a matched chip local copy, the matched chip local copy comprising an identifying feature repeated within a Global Navigation Satellite Systems (GNSS) signal; generating a modified chip correlation output by correlating the digitized antenna output stream with a modified chip local copy, the modified chip local copy comprising an altered version of the matched chip local copy; determining a matched chip appearance timing based on the matched chip correlation output; determining a modified chip appearance timing based on the modified chip correlation output; and estimating a GNSS signal receipt timing based on the matched chip appearance timing and the modified chip appearance timing.

2. The method of claim 1 , wherein: the altered version of the matched chip local copy comprises a first alteration point inserted between a first and second time in the matched chip local copy, the first alteration point having a value between the value of the matched chip local copy at the first time and the value of the matched chip local copy at the second time; the first alteration point is inserted before a leading time, the leading time being when the matched chip local copy first has a value less than 10% of the matched chip local copy’s minimum value or greater than 10% of the matched chip local copy’s maximum value; and the altered version of the matched chip local copy a second alteration point, the second alteration point inserted after a trailing time, the trailing time being thefinal time the matched chip local copy has a value greater than 10% of the matched chip local copy’s maximum value or less than 10% of the matched chip local copy’s minimum value.

3. The method of claim 2, wherein: the first alteration point is duplicated at multiple times over a leading duration of time preceding the leading time, the leading duration of time being equal to the duration of time that the matched chip local copy has a value less than 10% of the matched chip local copy’s minimum value after the leading time; and the second alteration point is duplicated at multiple times over a trailing duration of time following the trailing time, the trailing duration of time being equal to the duration of time that the matched chip local copy has a value greater than 10% of the matched chip local copy’s maximum value before the trailing time.

4. The method of claim 3, wherein the leading duration of time is equal to half of the duration of the matched chip local copy and the trailing duration of time is equal to half of the duration of the matched chip local copy.

5. The method of claim 4, wherein the first alteration point has a value half of the matched chip local copy’s minimum value and the second alteration point has a value half of the matched chip local copy’s maximum value.

6. The method of claim 1 , wherein: determining the matched chip appearance timing comprises detecting a matched peak time within the matched chip correlation output, the matched peak time being when the value of the matched chip correlation output exceeds a matched peak determination threshold value; and determining the modified chip appearance timing comprises detecting a modified peak time within the modified chip correlation output, the modified peak time being when the value of the modified chip correlation output exceeds a modified peak determination threshold value.

7. The method of claim 1 , wherein: determining the matched chip appearance timing comprises detecting a matched peak time within a matched chip correlation energy output, the matched chip correlation energy output comprising the square of each value of the matched chip correlation output, the matched peak time being when the value of the matched chip correlation energy output exceeds a matched peak determination threshold value; and determining the modified chip appearance timing comprises detecting a modified peak time within a modified chip correlation energy output, the modified chip correlation energy output comprising the square of each value of the modified chip correlation output, the modified peak time being when the value of the modified chip correlation output exceeds a modified peak determination threshold value.

8. The method of claim 1 , wherein estimating the GNSS signal receipt timing comprises: when the matched chip appearance timing and modified chip appearance timing differ from each other by more than a multipath interference indication threshold, estimating the GNSS signal receipt timing to be the modified chip appearance timing, and when the matched chip appearance timing and modified chip appearance timing do not differ from each other by more than a multipath interference indication threshold, estimating the GNSS signal receipt timing to be the matched chip appearance timing.

9. The method of claim 1 , wherein estimating the GNSS signal receipt timing comprises estimating the GNSS signal receipt timing to be a derived timing between the modified chip appearance timing and the modified chip appearance timing, the derived timing approaching the modified chip appearance timing as the difference between the modified chip appearance timing and the modified chip appearance timing increases.

10. A receiver comprising: a processor; and a machine readable medium operatively connected to the processor, wherein the machine readable medium contains executable instructions which, when executed, cause the processor to: sample an antenna output into a digitized antenna output stream; and generate a modified chip correlation output by correlating the digitized antenna output stream with a modified chip local copy, wherein the modified chip local copy comprises an altered version of an identifying feature repeated within a Global Navigation Satellite Systems (GNSS) signal.11 . The receiver of claim 10, wherein: the altered version of the identifying feature comprises an alteration point; the alteration point is inserted between a first and second time in the identifying feature; and the alteration point has a value between the value of the identifying feature at the first time and the value of the identifying feature at the second time.

12. The receiver of claim 11 , wherein: the altered version of the identifying feature comprises a plurality of further alteration points, the plurality of further alteration points having values between the value of the alteration point and zero; and the maximum value of the identifying feature, the alteration point, and the further alteration points have values which are evenly distributed over the range of values held by the maximum value of the identifying feature, the alteration point, and the further alteration points.

13. The receiver of claim 11 , wherein: the altered version of the identifying feature comprises a plurality of further alteration points, the plurality of further alteration points having values between the value of the alteration point and zero; andthe minimum value of the identifying feature, the alteration point, and the further alteration points have values which are evenly distributed over the range of values held by the minimum value of the identifying feature, the alteration point, and the further alteration points.

14. The receiver of claim 11 , wherein: the altered version of the identifying feature comprises a plurality of further alteration points, the plurality of further alteration points having values between the value of the alteration point and zero; and the alteration point and the further alteration points are duplicated at multiple times, such that their values are held for durations of time at least as long as the duration of a sample of the digitized antenna output stream.

15. The receiver of claim 11 , wherein: the altered version of the identifying feature comprises a plurality of further alteration points, the plurality of further alteration points having values between the value of the alteration point and zero; and the alteration point and the further alteration points are duplicated at multiple times, such that their values are held for durations of time at least as long as 5% of the duration of the identifying feature.

16. A non-transitory computer-readable storage medium including instructions that, when executed by a processor, cause the processor to generate a modified chip correlation output by correlating a sequence of timestamped values with a modified chip local copy, wherein: the modified chip local copy comprises an altered version of an identifying feature repeated within a Global Navigation Satellite Systems (GNSS) signal; the altered version of the identifying feature comprises an alteration point; the alteration point is inserted between a first and second time in the identifying feature; andthe alteration point has a value between the value of the identifying feature at the first time and the value of the identifying feature at the second time.

17. The non-transitory computer-readable storage medium of claim 16, wherein the altered version of the identifying feature comprises a plurality of further alteration points, the plurality of further alteration points having values between the value of the alteration point and zero.

18. The non-transitory computer-readable storage medium of claim 17, wherein the maximum value of the identifying feature, the alteration point, and the further alteration points have values which are evenly distributed over the range of values held by the maximum value of the identifying feature, the alteration point, and the further alteration points.

19. The non-transitory computer-readable storage medium of claim 17, wherein the minimum value of the identifying feature, the alteration point, and the further alteration points have values which are evenly distributed over the range of values held by the minimum value of the identifying feature, the alteration point, and the further alteration points.

20. The non-transitory computer-readable storage medium of claim 17, wherein the alteration point and the further alteration points are duplicated at multiple times, such that the altered version of the identifying feature comprises a step-like shape wherein at least six different values held for at least 15% of the duration of the altered version of the identifying feature.

Citation Information

Patent Citations

  • Position and Velocity Uncertainty Metrics in GNSS Receivers

    US20110156954A1

  • System and method for combining signals for improved performance in challenging environment

    US20190196023A1

  • Method of processing positioning signals, in particular for indoor applications

    US8059700B2