Processing GNSS signals and erasing data bits based on Doppler estimation

The control carrier phase is controlled through IMU-assisted Doppler estimation and combined with data bit erasing technology, the problem of reduced positioning accuracy of GNSS receivers when multipath exists, achieving longer coherent integration time and higher signal sensitivity.

CN119846669APending Publication Date: 2025-04-18U-BLOX

Patent Information

Application Number
CN202411444110.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2024-10-16
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

In challenging signal reception conditions, it is difficult for the GNSS receiver to maintain locking of the GNSS signal, especially when multipaths exist, resulting in a decrease in positioning accuracy.

Method used

By controlling the carrier phase of the local carrier signal by utilizing an inertial measurement unit (IMU) assisted Doppler estimation, the carrier phase of the local carrier signal is mitigated to reduce the negative impact of dynamic motion on coherent integrals, and the sensitivity of the receiver is improved through data bit erasing technology.

Benefits of technology

It achieves the extension of coherent integration time under difficult signal reception conditions, improves the tracking capability and positioning accuracy of GNSS signals, and enhances the sensitivity of the receiver.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119846669A_ABST
    Figure CN119846669A_ABST
Patent Text Reader

Abstract

GNSS signals are processed and data bits are erased based on Doppler estimation. Methods and apparatus are provided for processing GNSS signals received at a receiver. The method includes mixing a local carrier signal with a sample of a GNSS signal to generate a carrier-free signal sample. The method further includes correlating the carrier-free signal sample with a local spreading code to generate a complex value correlation result; and erasing at least one of the data bits from the complex-valued correlation result to produce a data-free complex-valued correlation result. A carrier phase of the local carrier signal is controlled based on a Doppler estimate of the GNSS signal, wherein the Doppler estimate is based at least in part on inertial measurements taken at the receiver.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to Global Navigation Satellite Systems (GNSS). In particular, the present invention relates to using Doppler estimation to support bit erasure and / or long coherent integration of GNSS signals. Background Art

[0002] GNSS positioning technology is well known in the art. Existing GNSS include the Global Positioning System (GPS), Galileo, GLONASS and the BeiDou Satellite Navigation System (BDS), also referred to herein as "BeiDou". Each GNSS includes a satellite constellation, also referred to in the art as a "space vehicle" (SV), which orbits the earth. Typically, each SV sends multiple satellite signals. These signals are received by a GNSS receiver, and the position of the GNSS receiver needs to be calculated. The GNSS receiver can use these signals to perform multiple ranging measurements to obtain information about the distance between the receiver and the corresponding satellite. When a sufficient number of measurements can be performed, the position of the receiver can be calculated through multi-point positioning.

[0003] In order to make a GNSS measurement, the relevant GNSS signal must be acquired and tracked. While this may be relatively easy in open air conditions, it can become more challenging in more difficult signal reception conditions. Multipath conditions can present particular difficulties. The accuracy of the position calculation depends on the accuracy of the ranging measurements. However, when significant multipath is present, the GNSS receiver may acquire and track a reflected version of the satellite signal instead of the direct "line of sight" (LoS) signal. The reflected version is likely to have a different path length and therefore produce a different ranging measurement, which can corrupt or reduce the accuracy of the final position fix.

[0004] In challenging signal reception conditions, the received LoS signal may be weak. Therefore, in order to successfully acquire and track the LoS signal, the receiver sensitivity should be as high as possible. Increasing the receiver sensitivity increases the probability of detecting the LoS GNSS signal, which in turn increases the probability of rejecting multipath.

[0005] One way to improve sensitivity is to increase the coherent integration time at the receiver. Summary of the invention

[0006] It is desirable to make the receiver more sensitive to GNSS signals. In particular, it is desirable to increase the maximum coherent integration time that the receiver can use. However, as the coherent integration time increases, the integration becomes more susceptible to changes in the speed or direction of the GNSS receiver. Sudden acceleration may cause the receiver to lose lock on the GNSS signal. Even if the lock is not lost, the impact on the calculation may cause the benefits of increasing the coherent integration period to be lost. For example, in order to support longer coherent integration times, it may be desirable to erase the data bits of the GNSS signal. However, sudden acceleration may cause bit detection failures - especially in challenging reception conditions. This in turn may disrupt the erasure process, resulting in phase errors in the signal samples to be coherently integrated. In a conventional carrier tracking loop, these phase errors caused by erroneous bit detection interfere with accurate tracking. This can lead to undesirable feedback effects - erroneous bit detection can disrupt carrier phase estimation, and erroneous carrier phase estimation can further disrupt the bit detection process - and so on - quickly leading to signal lock loss.

[0007] The inventors have recognized that understanding changes in velocity and orientation can be used to mitigate the negative effects of dynamic motion on coherent integration. This can include mitigating the negative effects of motion on bit detection and erasure. Inertial measurements can be used to compensate for motion when detecting GNSS signals, detecting and erasing bits, and obtaining GNSS measurements.

[0008] A method and apparatus for processing a GNSS signal received at a receiver is provided. The method includes mixing a local carrier signal with samples of the GNSS signal to generate carrier-free signal samples. The method also includes: correlating the carrier-free signal samples with a local spreading code to generate a complex-valued correlation result; and erasing at least one of the data bits from the complex-valued correlation result to produce a data-free complex-valued correlation result. A carrier phase of the local carrier signal is controlled based on a Doppler estimate of the GNSS signal, wherein the Doppler estimate is based at least in part on an inertial measurement made at the receiver.

[0009] According to one aspect, there is provided a method of processing a GNSS signal received at a receiver, the GNSS signal comprising a data message, the data message comprising a plurality of data bits, the method comprising the following steps:

[0010] obtaining a sample of the GNSS signal;

[0011] generating a local carrier signal;

[0012] Generate local spreading codes;

[0013] mixing the local carrier signal with the samples to generate carrier-free signal samples;

[0014] correlating the carrier-free signal samples with the local spreading code to generate a complex-valued correlation result;

[0015] erasing at least one of the data bits from the complex-valued correlation result to produce a data-free complex-valued correlation result; and

[0016] processing the data-free complex-valued correlation result to produce at least one of: an indication of whether the GNSS signal is detected; and a GNSS measurement result for a current epoch,

[0017] wherein a carrier phase of the local carrier signal is controlled based on a Doppler estimate of the GNSS signal, wherein the Doppler estimate is based on inertial measurements made at the receiver.

[0018] In an example, the GNSS signal does not include a pilot signal. The GNSS signal may be, for example, a GPS L1CA signal or a BDSB1I signal.

[0019] The carrier phase of the local carrier signal may be controlled so that it is not directly based on the results of any data bit detection derived from the GNSS signal. Any effect of the data bit detection on the carrier phase may be indirect rather than direct. For example, GNSS measurements for the current epoch (produced by processing data-free complex-valued correlation results) may be combined with GNSS measurements derived from other GNSS signals and information derived from inertial measurements. The combined information may affect the carrier phase of a later epoch.

[0020] Optionally, a carrier tracking loop based on a GNSS signal is not used to control the carrier phase of the local carrier signal.

[0021] The Doppler estimate may be derived based on inertial measurements and a navigation solution previously calculated at the receiver. The receiver may calculate / update a delay estimate and a Doppler estimate for each visible SV based on a line of sight (LoS) vector between the receiver (e.g., the receiver's antenna) and the SV. The navigation solution may include a position, velocity, time (PVT) solution. At least a velocity solution may be calculated at a high rate (e.g., at a rate of at least 50 Hz).

[0022] The carrier phase of the local carrier signal may be controlled by controlling the frequency of the local carrier signal (since the phase may be advanced or retarded by increasing or decreasing the frequency, respectively). The frequency may be updated each time the Doppler estimate is updated (e.g., at a rate of at least 50 Hz). This may help the carrier phase of the local carrier signal to more accurately track the carrier phase of the received GNSS signal.

[0023] Decoupling the carrier phase of the local carrier signal from the (previous) bit detection results and / or any carrier phase estimates based on carrier-free signal samples helps prevent errors in bit detection (or other errors in carrier phase estimates) from interfering with carrier signal tracking. It would be advantageous to interrupt the error propagation between the carrier frequency / phase estimate and the bit detection in the Costas loop. This can achieve more reliable bit detection with a bit error rate close to the additive white Gaussian noise (AWGN) limit, especially at low carrier-to-noise density ratios. This can also facilitate longer coherent integration times. These properties may be particularly advantageous when signal reception conditions are poor (e.g., when the carrier-to-noise density ratio is relatively low). In such conditions, carrier signal tracking based on the tracking loop may become unreliable.

[0024] The local carrier signal may also be referred to as a carrier replica or a replica carrier signal. The local spreading code may also be referred to as a spreading code replica or a replica spreading code.

[0025] During the acquisition or reacquisition phase, it may be useful to indicate whether a GNSS signal is detected. For example, reacquisition may be needed when a car is exiting a tunnel, or in a hot start scenario when the receiver is briefly turned off and restarted but timing is still accurately maintained. In both cases, the lock on the GNSS signal is lost, but the receiver is able to predict the delay and Doppler in the near future fairly accurately.

[0026] Processing the (no data) complex-valued correlation results optionally includes performing a discrete Fourier transform (DFT) thereon. The GNSS measurements may be based on the results of the DFT. For example, the GNSS measurements may include Doppler frequency and code-phase delay, which are derived by finding peaks in one or more DFT results.

[0027] In some cases, the Doppler estimate can be derived from the navigation solution of the previous epoch. The navigation solution can be provided by a positioning engine (PE). The positioning engine can be configured to process the GNSS measurements to generate a navigation solution. The navigation solution can include a state vector. The positioning engine can be configured to estimate the state vector at each epoch. The state vector can include a plurality of state variables, the state variables including one or more Doppler estimates, and optionally one or more of the following items: a position variable, a velocity variable, and a time variable.

[0028] The method may further include detecting a data bit based on the complex-valued correlation result.The data bit may be detected based on a complex phase angle of the complex-valued correlation result.

[0029] The method also includes obtaining data bits detected at a reference receiver. The receiver and the reference receiver may be components in a system configured to perform differential GNSS (DGNSS) positioning. In this case, the receiver may be a "rover" device in a DGNSS system (or may be a part thereof). The reference receiver may be configured to provide measurements and / or corrections to the rover's receiver.

[0030] Typically, the reference receiver is located in the same geographic area as the receiver. For example, the receiver may be located at a distance less than 400 km from the reference receiver, optionally less than 100 km, 50 km or 10 km. The reference receiver may be fixed. Obtaining the data bit may include receiving the data bit directly or indirectly from the reference receiver - for example, via direct or indirect wireless communication. Here, "direct" wireless communication should be understood as wireless communication without an intermediary between two devices - for example, in a peer-to-peer network. "Indirect" wireless communication refers to communication between two devices via one or more intermediary devices. Therefore, when using indirect wireless communication, the data bit can be received wirelessly from the intermediary device, which directly or indirectly (via wired or wireless communication) receives the data bit from the reference receiver. In some examples, wireless communication may include radio frequency (RF) communication.

[0031] The reference receiver may be expected to have good signal reception conditions - e.g. due to its location, lack of movement and surrounding environment. For example, the reference receiver may be located high up with a good view of the sky. Therefore, it may be able to receive GNSS signals more reliably than the (rover) receiver. Therefore, position detection at the reference receiver may be more reliable than at the (rover) receiver.

[0032] The step of erasing at least one of the data bits from the complex-valued correlation result may be based on the detected data bit.

[0033] Data bit erasure can promote higher sensitivity of the receiver, especially in difficult signal reception conditions, for example by promoting longer coherent integration time. It should be understood that the "detected data bits" herein can refer to data bits detected at the receiver based on the complex-valued correlation results, and can also refer to data bits detected at and derived from a reference receiver.

[0034] The method may include the steps of identifying a subframe of the data message associated with the detected data bit; determining that the subframe is not a repeated subframe that has been previously buffered; and in response to the determination, erasing at least one of the data bits from the complex-valued correlation result based on the detected data bit.

[0035] The subframe in question may be (i) a non-repeated subframe; or (ii) a repeated subframe that has not been buffered.

[0036] Data bits may be erased in different ways for different subframes of a data message. This may help expand the range of situations where erasures may be performed and / or help improve the accuracy of erasures.

[0037] Data bit erasure based on detected data bits may facilitate erasure when the subframe is not a repeated, identical instance of a subframe that has been previously buffered (and therefore the data bits cannot be determined based on knowledge of previous portions of the data message).

[0038] The method may include the steps of identifying a subframe of the data message associated with the detected data bit; determining a signal quality metric associated with the detected data bit; and determining that the subframe is not a repeated subframe that has been previously buffered and that the signal quality metric exceeds a signal quality threshold; and in response to the determination, erasing at least one of the data bits from the complex-valued correlation result based on the detected data bit.

[0039] If the signal quality metric does not exceed the signal quality threshold, data bit erasure may include squaring the complex valued correlation result. However, this may involve square losses. When the signal quality metric exceeds the threshold, erasure based on the detected data bits may yield more accurate results.

[0040] The method may further comprise storing the detected data bits in a buffer. The buffer may be a subframe buffer configured to store the detected bits of one or more subframes. Storing the detected data bits in a buffer may enable the receiver to (re)use their knowledge later for data bit erasure.

[0041] The method may include the steps of identifying a subframe of the data message associated with the detected data bit; determining that the subframe is a repeated subframe; and responsive to the determination, storing the detected data bit in the buffer.

[0042] For repeated subframes, storing the detected data bits in a buffer may enable the receiver to (re)use knowledge of these data bits when later decoding (and / or erasing) subsequent (identical) instances of the repeated subframe. The repetition period of the repeated subframe may be shorter than a predetermined threshold period (e.g., one minute).

[0043] The method may include the steps of identifying a subframe of the data message associated with the detected data bit; determining a signal quality metric associated with the detected data bit; determining that the subframe is a repeated subframe and that the signal quality metric exceeds a signal quality threshold; and in response to the determination, storing the detected data bit in the buffer.

[0044] Signal quality metrics may include, for example, carrier signal to noise density ratio. Considering signal quality metrics can help ensure that only correctly detected data bits are used to support subsequent erasures. This can help improve the accuracy of erasures, thereby enhancing the sensitivity of the receiver.

[0045] The method may further include retrieving stored data bits from a buffer, wherein the step of erasing at least one of the data bits from the complex-valued correlation result is based on the retrieved data bits.

[0046] (Re)using previously buffered data bits for erasure may improve the accuracy of the erasure - for example, if signal reception conditions have deteriorated since the data bits were buffered, the buffered data bits may be more accurate than the currently detected data bits.

[0047] In more detail, the method may include: at a first epoch, detecting data bits based on a first complex-valued correlation result and storing the detected data bits in a buffer; at a second, later epoch, retrieving the stored data bits from the buffer and, based on the retrieved data bits, erasing at least one of the data bits from a second complex-valued correlation result.

[0048] The storage in the buffer may be based on any of the conditions already outlined above. In particular, the subframe of the data message associated with the detected data bit may be a repeated subframe (optionally with a repetition period shorter than a predetermined threshold period). The first epoch may be associated with a first instance of the repeated subframe; the second epoch may be associated with a second instance of the repeated subframe.

[0049] The method may include the steps of identifying a subframe of the data message associated with at least one data bit to be erased; determining that the subframe is a repeated subframe that has been previously buffered; and in response to the determination, erasing at least one of the data bits from the complex-valued correlation result based on the retrieved data bit.

[0050] The data bits of a repeated subframe are repeated in multiple iterations of the subframe (during a predetermined validity interval). This makes repeated subframes particularly suitable for the present method.

[0051] The method may include the steps of identifying a subframe of the data message associated with at least one data bit to be erased; determining a signal quality metric; determining that the subframe is a repeated subframe that has been previously buffered and that the signal quality metric does not exceed a signal quality threshold; and in response to the determination, erasing at least one of the data bits from the complex-valued correlation result based on the retrieved data bit.

[0052] Erasure based on retrieved buffered data bits may be particularly advantageous when repeated subframes are encountered and the signal quality is less than or equal to a threshold. Erasure by detecting the current data bits may be sufficient if the signal quality is greater than the threshold. However, erasure by detecting the current data bits may not be reliable when the signal quality is low. By making the use of retrieved data bits dependent on low signal quality, examples of the present method can switch to using buffered data bits in situations that bring the greatest performance advantage.

[0053] In some examples, the method may include: identifying a subframe of a data message associated with at least one data bit to be erased; determining whether the subframe is a repeated subframe that has been previously buffered; in response to determining that the subframe is a repeated subframe that has been previously buffered: retrieving stored data bits from a buffer, and erasing at least one of the data bits from a complex-valued correlation result based on the retrieved data bits; and in response to determining that the subframe is not a repeated subframe that has been previously buffered: detecting data bits based on the complex-valued correlation result (or obtaining data bits detected at a reference receiver); and erasing at least one of the data bits from the complex-valued correlation result based on the detected data bits.

[0054] Optionally, in some examples, the method may include: identifying a subframe of the data message associated with at least one data bit to be erased; determining whether the subframe is a repeated subframe that has been previously buffered; determining a signal quality metric; determining whether the signal quality metric exceeds a signal quality threshold; in response to determining that the subframe is a repeated subframe that has been previously buffered: retrieving stored data bits from a buffer, and erasing at least one of the data bits from a complex-valued correlation result based on the retrieved data bits; and in response to determining that the subframe is not a repeated subframe that has been previously buffered and the signal quality metric exceeds the signal quality threshold: detecting data bits based on the complex-valued correlation result (or obtaining data bits detected at a reference receiver); and erasing at least one of the data bits from the complex-valued correlation result based on the detected data bits.

[0055] (If the subframe is not a repeated subframe that has been previously buffered and the signal quality metric does not exceed the signal quality threshold, erasing at least one of the data bits may include squaring.)

[0056] Optionally, in some examples, the method may include: identifying a subframe of the data message associated with at least one data bit to be erased; determining whether the subframe is a repetitive subframe that has been previously buffered; determining a signal quality metric; determining whether the signal quality metric exceeds a signal quality threshold; in response to determining that the subframe is a repetitive subframe that has been previously buffered and the signal quality metric does not exceed the signal quality threshold: retrieving stored data bits from a buffer, and erasing at least one of the data bits from a complex-valued correlation result based on the retrieved data bits; in response to determining that the subframe is a repetitive subframe that has been previously buffered and the signal quality metric exceeds the signal quality threshold: detecting data bits based on the complex-valued correlation result (or obtaining data bits detected at a reference receiver); erasing at least one of the data bits from the complex-valued correlation result based on the detected data bits; and storing the detected data bits in a buffer, and in response to determining that the subframe is not a repetitive subframe that has been previously buffered and the signal quality metric exceeds the signal quality threshold: detecting data bits based on the complex-valued correlation result (or obtaining data bits detected at a reference receiver); and erasing at least one of the data bits from the complex-valued correlation result based on the detected data bits.

[0057] The step of correlating the carrier-free signal samples with the local spreading code may optionally include: correlating the carrier-free signal samples with an advanced version of the local spreading code to generate an advanced complex-valued correlation result; correlating the carrier-free signal samples with an immediate version of the local spreading code to generate an immediate complex-valued correlation result; and correlating the carrier-free signal samples with a lagged version of the local spreading code to generate a lagged complex-valued correlation result.

[0058] This approach can provide greater robustness to small errors in the code phase of the local spreading code. Coherent integration (especially DFT) can be applied to the results of the delayed correlation, prompt correlation and advanced correlation respectively.

[0059] The method may include determining a first signal quality metric associated with an early complex-valued correlation result; determining a second signal quality metric associated with an immediate complex-valued correlation result; determining a third signal quality metric associated with a late complex-valued correlation result; identifying a highest signal quality metric among the first, second, and third signal quality metrics; and detecting a data bit based on the complex-valued correlation result associated with the highest signal quality metric.

[0060] For example, if the first signal quality metric is the highest signal quality metric, the method may include detecting the data bit based on the leading complex-valued correlation result. If the second signal quality metric is the highest signal quality metric, the method may include detecting the data bit based on the prompt complex-valued correlation result. If the third signal quality metric is the highest signal quality metric, the method may include detecting the data bit based on the lagging complex-valued correlation result.

[0061] Using the relevant "tap" with the highest signal quality metric can improve the accuracy of data bit detection.

[0062] Each signal quality metric may be based on a complex amplitude of an associated complex-valued correlation result. Detecting a data bit may be based on a complex phase angle of the complex-valued correlation result.

[0063] The code phase of the local spreading code may be controlled based on the Doppler estimate. This may enable not only the local carrier signal but also the local spreading code to dynamically track the received GNSS signal based on inertial measurements. The code phase may be updated each time the Doppler estimate is updated (e.g., at a rate of at least 50 Hz).

[0064] The step of processing the data-free complex-valued correlation result optionally comprises coherently integrating the data-free complex-valued correlation result.

[0065] Coherent integration may help improve receiver sensitivity to weak GNSS signals. Coherent integration may include coherent integration over a time interval longer than the duration of a data bit - and optionally, longer than the duration of two, three or more data bits.

[0066] GNSS measurements may be based on the results of coherent integration.

[0067] Coherent integration may include integrating over at least 0.25 seconds, at least 0.5 seconds, at least 1 second, or at least 2 seconds. It may include integrating over less than 10 seconds, less than 5 seconds, or less than 4 seconds. (All combinations of these endpoints are disclosed herein.)

[0068] The GNSS measurement result may include a code phase of the GNSS signal, and the step of processing the no-data complex-valued correlation result optionally includes determining the code phase of the GNSS signal based on the no-data complex-valued correlation result. Erasing data bits using the methods outlined herein may help determine the code phase more accurately.

[0069] The method may further include calculating a navigation solution based on the determined code phase.Erasing data bits using the methods outlined herein may help determine a navigation solution more accurately.

[0070] The Doppler estimate may be one of a sequence of Doppler estimates, wherein the sequence of Doppler estimates is generated at a frequency greater than or equal to the baud rate of the data message. Frequent updating of the Doppler estimate may help more closely track received GNSS signals.

[0071] The method may further include estimating a rate of change of the Doppler estimate; and extrapolating a second Doppler estimate from the Doppler estimate, wherein the second Doppler estimate is extrapolated based on the estimated rate of change, wherein a carrier phase of a local spreading code is controlled based on the second Doppler estimate.

[0072] This helps to compensate for the time delay in the Doppler estimate, thereby improving the accuracy of the Doppler estimate and ultimately improving the tracking of the GNSS signal.

[0073] A computer program is also provided, the computer program comprising computer program code, wherein the computer program code is configured to cause one or more physical computing devices to perform all the steps of the method described above when the computer program is run on the one or more physical computing devices.

[0074] The one or more physical computing devices may include one or more processors of a GNSS receiver.The computer program may be stored on a computer readable medium (optionally non-transitory).

[0075] A global navigation satellite system (hereinafter referred to as GNSS) receiver is also provided, wherein the GNSS receiver is configured to process GNSS signals, the GNSS receiver includes a measurement engine, and the measurement engine is configured to:

[0076] obtaining a sample of the GNSS signal;

[0077] generating a local carrier signal;

[0078] Generate local spreading codes;

[0079] mixing the local carrier signal with the samples to generate carrier-free signal samples;

[0080] correlating the carrier-free signal samples with the local spreading code to generate a complex-valued correlation result;

[0081] erasing at least one of the data bits from the complex-valued correlation result to produce a data-free complex-valued correlation result; and

[0082] processing the data-free complex-valued correlation result to produce at least one of: an indication of whether the GNSS signal is detected; and a GNSS measurement result for a current epoch,

[0083] wherein a carrier phase of the local carrier signal is controlled based on a Doppler estimate of the GNSS signal, wherein the Doppler estimate is based on inertial measurements made at the receiver.

[0084] The GNSS receiver may further include an RF front end for receiving, down-converting and digitizing the GNSS signal, and a mixer for erasing residual carrier from the signal. The GNSS receiver may further include an intermediate frequency (IF) processing unit for processing the signal down-converted from RF to IF by the RF front end. The output of the RF front end may be connected to the input of the intermediate frequency processing unit. The output of the IF processing unit may be connected to the input of the mixer.

[0085] The GNSS receiver may further comprise at least a first correlator coupled to the output of the mixer and configured to erase a spreading code of the GNSS signal.The first correlator may be part of a group of correlators comprising an early, prompt and late correlator.

[0086] One or more outputs of the correlators may be coupled to a bit detector and one or more corresponding multipliers configured to erase bits from the output of the correlators.

[0087] The GNSS receiver may further comprise a buffer for storing detected bits, in particular bits of a repetitive subframe.The GNSS receiver may further comprise a switch configured to selectively couple one or more multipliers to the bit detector or the buffer.

[0088] The GNSS receiver may further include a code generator configured to generate a local spreading code. The code generator may be controlled based at least in part on the Doppler estimate.

[0089] The code generator may include a numerically controlled oscillator (NCO) configured to generate a clock signal for generating the local spreading code.

[0090] The code generator can provide an input to the correlator, enabling it to erase the spreading code of the GNSS signal.

[0091] The GNSS receiver may further include a carrier generator configured to generate a local carrier signal to erase the residual carrier from the GNSS signal. The carrier generator may include an NCO configured to generate the local carrier signal. BRIEF DESCRIPTION OF THE DRAWINGS

[0092] The present invention will now be described by way of example with reference to the accompanying drawings, in which:

[0093] Figure 1 is a block diagram of a GNSS receiver operating in a first operating mode according to an example (not presently separately claimed);

[0094] Figure 2 is a block diagram of a GNSS receiver operating in a second operating mode according to an example;

[0095] Figure 3is a block diagram of a GNSS receiver operating in a third mode of operation according to an example;

[0096] Figure 4 Based on the example Figure 2 A block diagram of a variant of the GNSS receiver shown;

[0097] Figure 5 Based on the example Figure 3 A block diagram of a variant of the GNSS receiver shown;

[0098] Figure 6 is a graph illustrating Doppler frequency extrapolation according to an example; and

[0099] Figure 7 is a block diagram of a DGNSS positioning system according to an example.

[0100] Additional figures are provided in the Appendix, as follows:

[0101] Figure 8 An example of IMU-assisted LoS tracking in a multipath (MP) environment is illustrated, where sub-figure (a) illustrates the rover trajectory and channel conditions (LoS + one MP), and sub-figure (b) illustrates the Doppler dynamics;

[0102] Fig. 9 The effect of frequency error and its rate on 1s coherent integration is illustrated, wherein sub-figure (a) illustrates the spread spectrum code correlation amplitude, and sub-figure (b) illustrates the spectrum amplitude when the window coefficient α=1;

[0103] Fig.10 is a block diagram of LoS detection and estimation using sensor-assisted long coherent integration (SALI) according to an example illustration;

[0104] Fig.11 The delay error plot (LOS at -3dB + one MP, delay ∈ [0, T c ], phase ∈ [0,π], same frequency as LOS, tap spacing = T c / 16), where sub-figure (a) relates to dual-delta DLL, sub-figure (b) relates to lead-lag line crossing, and sub-figure (c) relates to average interpolator error;

[0105] Fig.12 The correlation in the three-path model with different frequency error rates and multipath coherence times is illustrated, where sub-figure (a) involves 20ms coherent integration of long / short multipath coherence times, sub-figure (b) involves 1s coherent integration of long multipath coherence time, and sub-figure (c) involves 1s coherent integration of short multipath coherence time;

[0106] Fig.13Illustrate correlation in a dual-path model including near multipath with short coherence time, where sub-figure (a) relates to 20 ms coherence integration with short multipath coherence time and sub-figure (b) relates to 1 s coherence integration with short multipath coherence time;

[0107] Fig.14 The cumulative distribution functions (CDFs) of Doppler and pseudorange (PR) errors at different speeds and C / N0 in all test drives are illustrated, where sub-figure (a) involves Doppler errors at high / low speeds, sub-figure (b) involves PR errors at high / low speeds, sub-figure (c) involves Doppler errors at high / low C / N0, and sub-figure (d) involves PR errors at high / low C / N0;

[0108] Fig.15 The non-line-of-sight (NLoS) sign and MP indicator performance in all test drives are illustrated, where sub-figure (a) relates to the PR error of the reference receiver, sub-figure (b) relates to the Doppler error of the reference receiver, and sub-figure (c) relates to the PR error of the SALI receiver;

[0109] Fig.16 The measurement and position errors in different environments for all test drives are illustrated, where sub-figure (a) involves the PR error CDF (mountain-shaped graph), sub-figure (b) involves the Doppler error CDF (mountain-shaped graph), and sub-figure (c) involves the horizontal error CDF;

[0110] Fig.17 Road test results are illustrated, where sub-figure (a) relates to the completeness graph of all test drives, sub-figure (b) relates to a road test example in the center of Frankfurt, and sub-figure (c) relates to a road test example: LOS estimation of BeiDou B44 (B1C tracking) in New York, reference vs. SALI;

[0111] Fig.18 illustrates degraded SALI in road tests, where sub-figure (a) relates to non-SF, ≤20ms CI, Hakone, sub-figure (b) relates to non-SF, 100ms CI, Hakone, sub-figure (c) relates to SF, ≤20ms CI, London, and sub-figure (d) relates to SF, 100ms CI, London; and

[0112] Fig.19 A CPU load comparison on an ARM Cortex M3 is illustrated, where sub-graph (a) relates to the total CPU load of a reference SF receiver and sub-graph (b) relates to the total CPU load of a SALI SF receiver.

[0113] It should be noted that these figures are schematic only and are not drawn to scale. DETAILED DESCRIPTION

[0114] Reference will now be made in detail to examples according to the present disclosure, which are illustrated in the accompanying drawings.The described examples should not be construed as being limited to the description given in this section; the examples may have different forms.

[0115] Figure 1 is a block diagram of a GNSS receiver operating in a first operating mode according to an example (not currently claimed). This particular operating mode reflects a conventional signal tracking method. This conventional method may be applicable in good signal reception conditions (e.g., open air conditions with little or no multipath).

[0116] The GNSS receiver is configured to receive satellite signals from GPS satellites. It can be alternatively or additionally configured to receive satellite signals from other constellations (e.g., Galileo and BeiDou). The GNSS receiver includes an antenna 10 for receiving satellite signals. The RF front end 20 connected to the antenna 10 is configured to down-convert and digitize the satellite signals received via the antenna 10. The RF front end essentially conditions the signal for subsequent signal processing. Other typical tasks performed by the front end include filtering, amplification, and automatic gain control. The satellite signals received at the RF front end 20 via the antenna 10 include L1 C / A signals.

[0117] The GNSS receiver further comprises an intermediate frequency (IF) processing unit 30, which is configured to process the satellite signal converted from a radio frequency (RF) to an IF in the RF front end. The output of the IF processing unit 30 is connected to the input of a mixer 40. Another input of the mixer 40 receives a local carrier, hereinafter referred to as a replica carrier signal, which is generated to replicate the carrier frequency and phase of the incoming signal. The replica carrier signal is a digital sinusoidal signal generated by a carrier generator 42. In this way, the mixer 40 is configured to erase (i.e., remove) any residual carrier, such as an offset caused by the Doppler effect, from the incoming signal by mixing the incoming signal with the replica carrier signal (in other words, calculating the product of the incoming signal and the replica carrier signal). In this example, it will be assumed that the intermediate frequency is (approximately) zero. Although the carrier of the satellite signal has been removed before the incoming signal reaches the mixer 40, there will still be a (small) constant residual IF and a varying carrier offset caused by the relative motion between the satellite and the GNSS receiver. The carrier generator 42 comprises a numerically controlled oscillator (NCO) 44 configured to generate the replica carrier signal.

[0118] The output of the mixer 40 is provided as an input to a correlator bank 50 comprising three correlators. Each correlator comprises a multiplier and an integrate-and-dump (I / D) unit ( Figure 1). The output of each multiplier is provided to a corresponding integration-removal (I / D) unit as input. Each multiplier multiplies the input signal with the replica spreading code. Each I / D unit calculates the sum of the resulting product values ​​within an appropriate dwell time. The dwell time defines the length of the coherent integration within the correlator and corresponds to an integer number of iterations (most commonly one iteration) of the spreading code used to modulate the GNSS signal. The correlator group includes an "early" (E) correlator, a "prompt" (P) correlator; and a "late" (L) correlator. As the names suggest, these three correlators use different shifted versions of the replica spreading code. The replica spreading code is a binary pseudo-random noise (PRN) signal generated by a code generator 52, which operates under the control of a code loop controller 62. The code loop controller 62 receives the outputs of the three I / D units. It should be understood that the use of three correlators is merely illustrative. In many examples, there may be more than three correlators. In particular, there may be multiple "early" correlators, each with a different delay (shift) of the replica spreading code. Likewise, there may be multiple "late" correlators, each with a different delay (shift) of the replica spreading code. According to one implementation, in addition to one prompt correlator, there are four "early" correlators and four "late" correlators, i.e., a total of nine correlators.

[0119] Based on which correlator (E, P, L) has the maximum output value for the current dwell time, the controller 62 determines whether to adjust (eg, increment or decrement) the code phase delay control signal it provides to the code generator 52 .

[0120] The code generator 52 is a signal code generator for the associated GNSS signal. It includes an NCO 54 configured to generate a clock signal for generating a replica spreading code for the GNSS signal. The NCO is controlled in part by a code phase delay control signal from a code loop controller 62 and in part based on a frequency estimate generated by the carrier loop controller 64.

[0121] In this way, the correlator group together with the code loop controller 62, the carrier loop controller 64 and the code generator 52 acts as a code phase tracking loop (in other words, a delay locked loop (DLL)) for the GNSS signal. The code phase tracking loop ensures that the code phase of the replica spreading code used by the "P" correlator tracks the actual code phase of the received other L1 signal with as little delay as possible.

[0122] The outputs of the I / D units within the correlator bank 50 consist of complex-valued samples, also referred to as in-phase and quadrature samples (I / Q samples). In particular, the outputs of the I / D units of the prompt (P) correlators represent I / Q samples of the GNSS signal. When implemented in hardware, each correlator (like other hardware blocks) will include separate I and Q branches. That is, there will be a multiplier and I / D unit for the in-phase (I) samples, and another multiplier and I / D unit for the quadrature phase (Q) samples. However, for simplicity, it is more convenient to conceptualize them as a single multiplier and a single I / D unit with a complex output, and this is how it will be described here.

[0123] The I / Q samples from the prompt ("P") correlator output are provided to a carrier loop controller 64. The carrier loop controller 64 estimates the carrier frequency and carrier phase of the GNSS signal. It outputs the estimate as a carrier control signal, which is fed back to control the NCO 44 of the carrier generator 42. In providing this feedback, the carrier loop controller 64 implements a carrier tracking loop for the GNSS signal, ensuring that the frequency (and phase) of the replica carrier signal (generated by the carrier generator 42) tracks the actual frequency (and phase) of the carrier of the received L1 signal as closely as possible. This enables the GNSS receiver to account for Doppler shifts due to relative motion between the receiver and the satellite. By controlling the frequency of the NCO in the carrier generator 42, both the frequency and phase of the replica carrier signal are controlled to match the frequency and phase of the residual carrier. (By increasing the frequency, the phase of the replica carrier signal is advanced; by decreasing the frequency, the phase of the replica carrier signal is delayed.) In effect, this implements a phase-locked loop (PLL) that tracks the residual carrier frequency and phase.

[0124] In the present implementation, the code loop controller 62 and the carrier loop controller 64 generate updates at the same rate (eg, 50 Hz). That is, they both operate with the same control period (20 milliseconds in this example).

[0125] In addition to updating the NCO 54 of the code generator 52 based on the code phase measurement results generated by the code loop controller 62, it is also advantageous to update the chip rate of the NCO 54 (and thus the code phase) based on the output of the carrier loop controller 64. The carrier auxiliary block 70 converts the output of the carrier loop controller 64 (which is actually an estimate of the Doppler frequency) into a chip rate control value for the code NCO 54. The code NCO 54 runs at a specified chip rate within a control period (e.g., 20 milliseconds). Thus, the chip rate affects the evolution of the code phase of the replica spreading code. The chip rate control value is a value reduced from the Doppler estimate, which is based on a constant ratio of the nominal carrier frequency to the nominal chip rate. If the code loop controller 62 detects a change / error in the code phase, it updates the code phase delay control signal accordingly in the next control period. This control of the code phase is added to the cumulative effect of the chip rate control.

[0126] Note that in contrast to the carrier NCO 44, the code NCO 54 has two inputs, one for chip rate control (from the carrier auxiliary block 70, based on the Doppler estimate from the carrier loop controller 64), and the other for code phase control (from the code loop controller 62). They are controlled independently. The chip rate control determines the chip rate. The code phase control determines the initial code phase for the control period. As a result, unlike the carrier phase managed by the previously described PLL (for tracking carrier frequency and phase), the code phase is not necessarily continuous at the boundaries between control periods.

[0127] The above components enable a GNSS receiver to track GNSS signals in terms of frequency and phase of the carrier and code phase.The code tracking loop and the carrier loop form a "measurement engine" comprising blocks 40 to 70.

[0128] In tracking mode, the output of the code loop controller 62 provides real-time code phase measurements. Similarly, the output of the carrier loop controller 64 provides real-time Doppler measurements. The code phase measurements and Doppler measurements are provided to the positioning engine ( Figure 1 The code loop controller 62 can detect whether a GNSS signal has been successfully acquired, or whether the tracking loop is actually tracking noise. This can be done by comparing the correlation results of the lead, lag and instantaneous taps. When a GNSS signal is present, the amplitude of the correlation output of the instantaneous tap is significantly greater than the corresponding amplitudes of the lead and lag taps.

[0129] Figure 1Demodulation / bit detection is not illustrated in the simplified block diagram of . However, it should be understood that this is also typically performed in practice when receiving GNSS signals. When tracking the pilot sequence, bit detection is not required. When tracking the rest of the GNSS signal, bit detection can be performed by examining the phase changes from symbol to symbol on the prompt correlator output.

[0130] According to one aspect of the present disclosure, when the GNSS receiver determines that the signal reception conditions are good (at least for the GNSS signal in question), the GNSS receiver uses Figure 1 For example, a GNSS receiver can determine C / N 0 The residual is greater than 37 dB-Hz, or the carrier phase lock is intact, or the residual is below a predetermined threshold (or a combination of two or more of these criteria can be determined to be met). The residual is the difference between (i) the estimated range from the receiver to the corresponding satellite and (ii) the actual range measurement. When the residual is low, it indicates that the range measurement of the current satellite of interest has good agreement with the range measurements of other satellites.

[0131] Note that the decision about which mode to use can be made independently for each GNSS signal the receiver is tracking. Figure 1 The example shows a tracking method for one GNSS signal, but it should be understood that the receiver will typically track multiple GNSS signals simultaneously to generate a navigation solution.

[0132] Figure 2 is a block diagram of a GNSS receiver operating in a second mode of operation according to an example (not currently claimed). For simplicity, the antenna 10, the RF front end 20 and the IF processing unit 30 are omitted. They are related to Figure 1 The mixer 40, correlator bank 50, carrier generator 42, code generator 52 and carrier auxiliary block 70 operate in the same manner as in the example of FIG. Figure 1 The same as in , so no further description is given.

[0133] Figure 2 The operating modes shown are similar to Figure 1 The operating modes shown differ in the way the carrier and chips of the GNSS signal are tracked. Figure 2 In the illustrated mode of operation, there is no feedback loop within the measurement engine itself. Instead, feedback to control the carrier NCO 44 and code NCO 54 is provided by the positioning engine (PE) 110 which is responsible for calculating the navigation solution.

[0134] for Figure 2In the illustrated mode of operation, the outputs of the lag, lead and lead taps of the correlator bank 50 are provided as inputs to respective bit removal (BR) blocks 82, 84 and 86. When a portion of a GNSS signal containing data (e.g., a navigation message) is received, the bit removal blocks 82, 84, 86 erase the detected data bits by multiplying the complex correlator outputs by 1 or -1, as appropriate. When a portion of a GNSS signal containing a pilot sequence is received, no bit detection is required because the bit sequence of the pilot signal is known in advance.

[0135] The output of each bit removal block 82, 84, 86 is provided as input to a corresponding discrete Fourier transform (DFT) block 83, 85, 87. Each DFT block calculates the Fourier transform of the complex correlator output within a defined coherent integration interval. The output of the DFT blocks 83, 85, 87 is provided as input to a line of sight (LoS) delay and Doppler estimator 90. The estimator 90 uses the information from the Fourier transform to estimate the carrier phase and code phase of the GNSS signal.

[0136] The aggregated outputs of DFT blocks 83, 85, 87 form a two-dimensional matrix that covers a range of frequencies and a range of code-phase delays. In a time-varying channel, each multipath component typically has Doppler and delay values ​​that are different from the LoS value. In this delay-frequency matrix, a correlation triangle appears at a specific Doppler value, with the peak of the triangle representing the delay and Doppler proximity of the multipath component. By inspecting the matrix, several such peaks in the delay-frequency grid can be identified. The peak with the shortest arrival time is detected as the line-of-sight path. Once completed, the taps on both sides of the correlation triangle are interpolated to give an estimate of the delay.

[0137] When the GNSS signal is accurately tracked (and there are no fast dynamics), the LoS component should remain aligned with the "instantaneous" tap, with a Doppler frequency of zero. Any deviation between the code phase of the local spreading code and the code phase of the received GNSS signal will cause the leading or lagging correlator tap to show an output with a larger amplitude than the instantaneous tap. At the same time, any deviation between the carrier frequency of the local carrier signal and the carrier frequency of the received GNSS signal will show up in the Fourier transform as a peak at a non-zero frequency.

[0138] The output of the estimator 90 corresponds to Figure 1 The outputs of the code loop controller 62 and the carrier loop controller 64 in FIG. Figure 2In the illustrated mode of operation, the output of the estimator is not used directly to control the carrier generator 42 or the code generator 52. Instead, the output of the estimator 90 is provided as one of the multiple inputs to the positioning engine 110. The positioning engine 110 also receives input from an inertial measurement unit (IMU) 120. One output of the positioning engine is a navigation solution, including estimates of position, velocity, time (PVT), and other state variables. The navigation solution is generated once per epoch and passed to a Tracking Intelligence Provider (TIP) generator 130. The positioning engine 110 also outputs more frequent estimates of the Doppler frequency based on the inertial measurements received since the most recent navigation solution. These Doppler frequency estimates are also output to the TIP generator. For example, the interval between epochs can be 1 second; therefore, the navigation solution can be output at a frequency of 1 Hz. The interval between Doppler estimates can be 20 milliseconds; therefore, the Doppler estimates can be output at a frequency of 50 Hz.

[0139] The TIP generator 130 converts the output of the positioning engine 110 into a code phase delay control signal for the code generator 52 and a carrier control signal for the carrier generator 42. To do this, the TIP generator 130 compares the current satellite positions with the current PVT solution from the positioning engine 110. From this comparison, the TIP generator predicts the delay and Doppler along the line of sight vector from the receiver to each satellite.

[0140] The code phase delay control signal is updated at a lower rate (e.g., 1 Hz). This is because the code phase estimate is generated once per epoch as part of the navigation solution. The carrier control signal is updated at a higher rate, based on the more frequent Doppler estimate. Note that although the code phase delay control signal is only updated at a lower rate (e.g., 1 Hz), the code phase of the code generator 52 is updated at a higher rate (e.g., 50 Hz). This is because the carrier auxiliary unit 70 continuously updates the code generator 52 at a higher rate in the interval between epochs based on the higher rate Doppler estimate. In this way, the high rate Doppler estimate can help compensate for the acceleration and high-order dynamics of the receiver during the coherent integration of the correlator group and DFT block. Note, however, that the code phase of the code NCO is reinitialized at the beginning of each epoch based only on the code phase delay control signal. In other words, the evolution of the code phase in the previous epoch due to the cumulative impact of the carrier auxiliary block 70 does not affect the setting of the code phase at the beginning of the next epoch.

[0141] Figure 2The measurement engine in includes blocks 40 to 90 (but not including blocks 110, 120, 130). The output of the measurement engine is the output of the estimator 90. The positioning engine 110 receives corresponding inputs from multiple measurement engines - one input for each tracked GNSS signal. Typically, at least four signals from different satellites will be tracked to support the calculation of the navigation solution. The positioning engine 110 combines the information provided by the GNSS measurements from the various measurement engines with the information provided by the inertial measurements from the IMU 120. To this end, the positioning engine 110 uses a Kalman filter or other state estimator. The output of the state estimator includes a position, velocity, and time (PVT) solution. As described above, the TIP generator 130 predicts the Doppler frequency and code phase of each GNSS signal based on the PVT solution and the corresponding satellite LoS vector. Please note that in some embodiments, the functionality of the TIP generator 130 can be incorporated into the positioning engine 110. For example, the positioning engine 110 can output state estimates of the Doppler frequency and code phase of each satellite.

[0142] Figure 2 The illustrated mode of operation may be particularly useful in difficult signal reception conditions. Completing the tracking loop by the positioning engine 110 helps to make the feedback to the code generator 52 and the carrier generator 42 as robust and stable as possible. In the event that the corresponding measurement engine may lose tracking lock on a weak GNSS signal, if it is operating independently, the information provided by the other measurement engine (and IMU 120) may enable continued tracking of the weak GNSS signal.

[0143] At the same time, since the tracking can maintain lock on the GNSS signal even in challenging signal reception conditions (even in fast dynamic situations due to the use of inertial measurements), the coherent integration time of the correlator bank 50 and subsequent DFT blocks 83, 85, 87 can be increased. This in turn increases the sensitivity of the measurement engine, enabling it to acquire and track weaker signals. In one example according to the present disclosure, the coherent integration time of the DFT block is 1 second.

[0144] The sequence of operations performed for each epoch will now be described in more detail. The positioning engine 110 provides code phase and Doppler inputs from the navigation solution, once per epoch. This is used to set NCO 44 and NCO 54. The correlator group 50 begins to generate millisecond samples. The positioning engine 110 provides high-rate Doppler inputs multiple times per epoch (for example, in this example, 50 times per epoch). Each time a new Doppler input is provided, the NCO 44 and NCO 54 are set based on this. (The code NCO 54 is set via the carrier auxiliary unit 70; the carrier NCO is set directly.) The correlator group 50 continues to generate millisecond samples. These are inputs to the DFT blocks 83, 85, 87 to calculate the DFT. After the DFT blocks 83, 85, 87 generate the Fourier transform, they are evaluated by the estimator 90.

[0145] Optionally, once the millisecond samples are available, they can be pre-integrated to begin calculating the DFT in a pipelined manner. Alternatively, the millisecond samples can be stored until enough samples are available for a complete coherent integration period (e.g., 1 second), and then the DFT can be calculated using the complete sample set.

[0146] Figure 3 is a block diagram of a GNSS receiver operating in a third operating mode according to an example. The third operating mode is essentially a hybrid of the first two modes. Figure 3 and Figure 2 It is easiest to understand by comparison. Figure 2 Likewise, for simplicity, the antenna, RF front end and IF processing unit are omitted. Figure 3 The operating mode depends on the Figure 2 All components are the same and operate in the same way. This includes the mixer 40, correlator bank 50, carrier generator 42, code generator 52, carrier assistance block 70, bit removal blocks 82, 84, 86, DFT blocks 83, 85, 87, estimator 90, positioning engine 110, IMU 120 and TIP generator 130. However, Figure 3 The operating mode of relies on two additional components, namely, the frequency control selector 140 and the code phase control selector 150 .

[0147] The frequency control selector 140 receives two inputs. One input is coupled to the output of the LoS delay and Doppler estimator 90. This provides the frequency control selector 140 with a Doppler estimate generated by the measurement engine (i.e., the estimator 90). The second input is coupled to the output of the TIP generator 130. This provides the frequency control selector 140 with a Doppler estimate generated from the output of the positioning engine 110 (based in part on inertial measurements from the IMU 120). For each epoch (i.e., for each coherent integration of the DFT blocks 83, 85, 87), the frequency control selector 140 selects one of the two Doppler estimates to control the carrier generator 42 (and the code generator 52 via the carrier assistance block 70). When the frequency control selector 140 selects the Doppler estimate generated by the estimator 90, the frequency control is switched to the carrier generator 42 in a manner similar to that of the carrier generator 52. Figure 1 When the frequency control selector 140 selects the Doppler estimate generated by the TIP generator 130, the frequency control is implemented in a manner similar to Figure 2 way to achieve it.

[0148] The code phase control selector 150 operates in a similar manner. It receives two inputs. One input is coupled to the output of the LoS delay and Doppler estimator 90. This provides the code phase control selector 150 with the code phase estimate generated by the measurement engine (i.e., the estimator 90). The second input is coupled to the output of the TIP generator 130. This provides the code phase estimate generated from the output of the positioning engine 110 (based in part on inertial measurements from the IMU 120) to the code phase control selector 150. For each epoch (i.e., for each coherent integration of the DFT blocks 83, 85, 87), the code phase control selector 150 selects one of the two code phase estimates to control the code generator 52. When the code phase control selector 150 selects the code phase estimate generated by the estimator 90, the code phase control is performed in a manner similar to Figure 1 When the code phase control selector 150 selects the code phase estimate generated by the TIP generator 130, the code phase control is implemented in a manner similar to Figure 2 way to achieve it.

[0149] Both the estimator 90 and the TIP generator 130 generate code phase estimates at a relatively low rate (e.g., 1 Hz). They both generate Doppler estimates at a relatively high rate (e.g., 50 Hz). The frequency control selector 140 and the code phase control selector 150 can independently select between their inputs. This allows Figure 3 The operating mode of the Figure 2 The operation mode can also be seen as Figure 3 A simplified version of the operating mode.

[0150] There are a number of ways to select which estimates are used to drive NCO 44 and NCO 54. According to the present example, the selection is based on checking for consistency between pairs of estimates.

[0151] The frequency control selector 140 compares the Doppler estimate generated by the estimator 90 with the Doppler estimate generated by the TIP generator 130. If the two estimates agree (i.e., if the absolute difference between them is less than a predetermined threshold), the frequency control selector 140 selects the Doppler estimate generated by the estimator 90 for the current epoch. Otherwise, the frequency control selector 140 selects the Doppler estimate generated by the TIP generator 130.

[0152] The code phase control selector 150 compares the code phase estimate generated by the estimator 90 with the code phase estimate generated by the TIP generator 130. If the two estimates agree (i.e., if the absolute difference between them is less than a predetermined threshold), the code phase control selector 150 selects the code phase estimate generated by the estimator 90 for the current epoch. Otherwise, the code phase control selector 150 selects the code phase estimate generated by the TIP generator 130.

[0153] Without being bound by theory, it is believed that as long as signal reception conditions are good, the Doppler estimate and code phase estimate produced by the measurement engine (i.e., estimator 90) are generally more accurate than those produced by the TIP generator 130. When signal reception conditions are poor, the measurement engine may begin to lose lock on the GNSS signal, and one or both estimates produced by the measurement engine may therefore deviate from the estimates produced by the TIP generator 130. By detecting this, the Doppler estimate and code phase estimate produced by the measurement engine (i.e., estimator 90) may be more accurate than those produced by the TIP generator 130. Figure 3 mode of operation, the system can switch to the more reliable estimate generated by the TIP generator 130.

[0154] Figure 4 The block diagram illustrates Figure 2 Variations of the examples. Figure 2 Examples and Figure 4 The main difference between the examples is the way the bit detection and removal is performed. Figure 4 , the bit removal blocks are explicitly depicted as multipliers 82a, 84a, 86a. Each multiplier receives one of the complex correlator outputs (respectively lag, instant and lead) as input from the correlator bank 50. Each multiplier 82a, 84a, 86a multiplies the corresponding complex correlator output by +1 or -1 according to the data bits that are considered to be modulated on the complex correlator output. The values ​​of these data bits can be determined in one of a variety of ways. When the value of the data bit is not available, the multipliers 82a, 84a, 86a can use sample squaring (as discussed in more detail later below).

[0155] according to Figure 4The GNSS receiver operating in the operation mode of FIG. 1 comprises a bit detector 160 and a buffer 170. A switch 180 is also provided. The switch 180 is configured to selectively couple the output of the bit detector 160 or the output of the buffer 170 to the multipliers 82a, 84a, 86a.

[0156] As shown, the input of the bit detector 160 is connected to the output of the correlator bank 50. The bit detector 160 receives the complex-valued correlator output and finds the average signal-to-noise ratio of each tap (i.e., lag, prompt and lead, respectively). The correlator tap with the highest signal-to-noise ratio is selected for bit detection. The complex IQ samples from this tap are further integrated over the duration of one bit (e.g., 20 milliseconds). Here, it is assumed that bit synchronization has been achieved so that the timing of the bit edge is known.

[0157] The result of the integration is a complex valued result associated with each bit period. The bit detector 160 compares the complex valued integration results of consecutive bit periods to detect bits. Phase shift keying (PSK), particularly binary phase shift keying (BPSK), is commonly used to modulate data messages on GNSS signals. Therefore, in some examples, the bit detector detects the bit value by comparing the complex phase angles of the integration results associated with consecutive bit periods. When the phase shift (phase angle difference) is below a threshold (e.g., 90°), a bit value (e.g., +1) is detected; otherwise, the opposite bit value (e.g., -1) is detected.

[0158] The bits detected by the bit detector 160 may be stored in a buffer 170 for later use. The output of the buffer 170 is coupled to the positioning engine 110. Once enough bits have been detected and stored, the positioning engine 110 may decode the navigation message and solve for ephemeris.

[0159] In some cases, the "newly" detected bits from the bit detector 160 may be passed directly to the bit removal multipliers 82a, 84a, 86a via the switch 180, where they are used to erase bits from the complex-valued correlator outputs. (Note that the correlator outputs may be provided to the multipliers 82a, 84a, 86a with appropriate delays - Figure 4 to compensate for any delays in the bit detector 160 and to properly align the input to the multiplier.)

[0160] In some cases, when the detected bits from the bit detector 160 are initially detected, they are stored in a buffer and later retrieved (by selecting the output of the buffer by switch 80) for use by the multipliers 82a, 84a, 86a for bit erasure.

[0161] Finally, the detected bits (values ​​of +1 and -1) are fed to all multipliers 82a, 84a, 86a to remove bits. If the bits are not detected but retrieved from the buffered subframe, they are also fed to the bit removal block in the form of all multipliers 82a, 84a, 86a.

[0162] The choice of using "recently" detected bits (from bit detector 160) or buffered bits (from buffer 170) for bit erasure can be made in a number of ways. According to the present example, the choice is based partly on signal quality and partly on the subframe number.

[0163] When the carrier-to-noise density ratio (C / N 0 ) is high and bit detection is therefore reliable, switch 180 selects the most recently detected bit from bit detector 160. 0 Compare with a predetermined threshold to determine C / N 0 Whether it is "High".

[0164] When C / N 0 When the bit detection is low (e.g., below a predetermined threshold) and bit detection is therefore less reliable, bit erasure is controlled based on the subframe number. If the current subframe is a repeating subframe (sometimes referred to as a periodic subframe) whose bits have been previously stored in buffer 170, switch 180 selects the output of buffer 170. The previously buffered data bits are retrieved from buffer 170 and used for bit erasure by multipliers 82a, 84a, 86a.

[0165] A repeated subframe is a subframe that is transmitted repeatedly by the satellite within a certain interval. For example, in the case of GPS L1 C / A, subframes 1, 2, and 3 belong to this category. They are transmitted repeatedly with a period of 30 seconds within an interval of about two hours. This interval, where the content of a repeated subframe can be predicted from one or more previous instances of the same subframe, defines a valid interval during which a buffered copy of the repeated subframe is available for bit erasure. Beyond the valid interval (e.g., two hours), any subframe stored in the buffer will be replaced by a newly decoded subframe.

[0166] Note that within a valid interval, all instances of a repeated subframe are not required to be identical. A repetition period may correspond to an integer number of subframe instances that are repeated over and over in the same order for the duration of the valid interval.

[0167] A non-repeating subframe contains a different payload compared to a repeating subframe, which makes it impossible for a GNSS receiver to infer the payload of the current subframe instance based solely on previously buffered instances of that subframe. Each instance of such a subframe has its own unique content.

[0168] Note that the GPS L1 C / A signal is just an example. Repeating subframes also appear in other GNSS signals / constellations.

[0169] In some examples according to the present disclosure, a repeating subframe with a relatively short repetition period may be preferred over a repeating subframe with a relatively longer period. The longer the repetition period, the less frequently a given unique instance of a subframe is repeated. This may reduce the benefit of buffering the subframes because the reuse rate is lower. At the same time, the required memory capacity may increase because the number of unique instances of the subframe required to fully characterize the repetition period increases.

[0170] In some examples, a GNSS receiver may be configured to buffer (and reuse) subframes with a repetition period of less than one minute. This threshold includes, for example, subframes 1, 2, and 3 of the GPS L1 C / A signal. The almanac subframes of the GPS L1 C / A signal repeat with a period of 12 minutes. According to the definition given above, they are still repeating subframes. However, if a one-minute threshold (or any other threshold less than 12 minutes) is applied, the almanac subframes will be excluded from buffering and reuse.

[0171] When C / N 0 When the value is low (e.g., below a predetermined threshold) and the current subframe is a non-repeated subframe (or a repeated subframe that has not yet been buffered), the multipliers 82a, 84a, 86a may square the samples. This may result in a loss of sensitivity, but may be preferable to erasing using unreliable detection bit values.

[0172] By erasing bits in different ways in different situations, this example can help ensure that bit erasure is performed as completely and accurately as possible. This can help prepare the data-free complex-valued correlation results (output by multipliers 82a, 84a, 86a) for long integration, which in turn can help improve the sensitivity of the GNSS receiver. Figure 4 In the example of FIG. 8 , the data-free complex-valued correlation results (output by multipliers 82 a, 84 a, 86 a) are passed directly to LoS ​​delay and Doppler estimator 90, which integrates them and produces at least one GNSS measurement therefrom. (Alternatively, if signal lock has previously been lost, estimator 90 may indicate that a GNSS signal is detected, rather than immediately producing a GNSS measurement for the current epoch.)

[0173] exist Figure 4 In the example of , the measurement results (or signal lock declaration) are passed to the positioning engine 110 as before. Note that Figure 4 DFT blocks 83, 85, 87 are omitted in the example of , but they may be included in other examples (between the multipliers 82a, 84a, 86a and the LoS delay and Doppler estimator 90).

[0174] The bit detector 160 may be configured to perform a cyclic redundancy check (CRC) on the bits it detects, and only store the bits in the buffer 170 if the check succeeds. This can help ensure that only correctly detected bits are stored in the buffer 170.

[0175] Each subframe stored in the buffer 170 has an associated valid period. After the valid period expires, the stored subframe is no longer available for bit erasure. Once the bit detector 160 detects the bits of the recent instance of the subframe (and they have passed the CRC check), the subframe will be available for bit erasure again.

[0176] Figure 5 The block diagram illustrates the Figure 4 Improved bit detection and erasure with Figure 3 The operation is the same as above. Figure 3 is the same as the example above, except that the bit detection and removal are done in Figure 4 This is achieved in the manner described in the example.

[0177] According to various aspects of the present disclosure, the operating modes may be used in various configurations. For example, a GNSS receiver may only use Figure 4 mode of operation, or just use Figure 5 According to some examples, the GNSS receiver may be configured to implement more than one operating mode. For example, the GNSS receiver may be configured to implement Figure 1 The operating mode and Figure 4 Alternatively, the GNSS receiver may be configured to implement Figure 1 The operating mode and Figure 5 modes of operation and choose between them in different situations.

[0178] In some examples, the GNSS receiver can be configured to implement three operating modes and select between them. In one example, if C / N 0 If the signal reception condition is greater than 37 dB-Hz, or the carrier phase is locked well, or the residual is below a predetermined threshold, the signal reception condition can be classified as the quality of the GNSS signal being good. In this case, mode 1 ( Figure 1 If the signal quality is poor (i.e., poor quality), you can select Mode 3 ( Figure 3 Mode 2 can be selected if the signal quality is poor but the receiver is trying to save power (because Mode 2 can be considered a simplified version of Mode 3). Figure 2 ). You can choose Figure 4 Instead of the variant shown in Mode 2 ( Figure 2). You can choose Figure 5 3. It should be understood that the mode selection can be made independently for each GNSS signal that the receiver is tracking. For example, for a given epoch, Mode 1 can be selected for one or more GNSS signals, and Mode 2 (or Mode 3) can be selected for one or more other GNSS signals.

[0179] exist Figure 2 and Figure 3 (as well as Figure 4 and Figure 5 In the operating mode (variant in FIG. 1 ), when the Doppler estimate is obtained from the TIP generator (based on the output of the positioning engine 110), an optional improvement can be applied. Although the TIP generator 130 provides Doppler estimates at a higher rate (e.g., 50 Hz) (which is the same rate as the estimator 90), there is an additional delay in the Doppler estimate produced by the TIP generator 130. One method to help compensate for this is to extrapolate the Doppler frequency expected when the carrier NCO 44 and code NCO 54 are next updated from the most recent estimate of the Doppler frequency.

[0180] According to the present implementation, the Doppler estimate is extrapolated assuming constant acceleration. This assumes a linear relationship between the Doppler frequency and time. The instantaneous acceleration (or rate of change of the Doppler frequency) is estimated by comparing the two most recently available Doppler estimates. The TIP generator 130 then uses the acceleration estimate to extrapolate from the most recent Doppler estimate to predict the Doppler frequency when the NCO 44, NCO 54 is next set. This is done in Figure 6 As an example, the update rate of the NCO is 50 Hz and the delay is assumed to be 40 ms. Figure 6 The plots in represent intervals equal to the coherent integration time of the DFT (1 second in this example).

[0181] The dashed line represents a hypothetical linear function of Doppler frequency with respect to time. In the example shown, the frequency increases with time. This corresponds to the situation where the GNSS receiver accelerates as it approaches the satellite. The Doppler frequency is approximated by a piecewise constant function because the Doppler is estimated and the NCO updates it every 20 milliseconds. Due to the time delay in the system (40 milliseconds, which is equal to two piecewise constant intervals), the Doppler estimate (dotted line) always lags behind the true Doppler frequency (dashed line). As the frequency increases, this means that the Doppler estimate lags behind the true Doppler. This is as shown in the figure. Figure 6Shown - The lower step function (dotted line) represents the Doppler estimate with a 40 millisecond delay. To compensate for this delay, the TIP generator extrapolates upward to account for the (expected) further increase in Doppler frequency during the delay period. The extrapolation assumes that the Doppler frequency will continue to exhibit the same rate of change over time. The extrapolated Doppler estimate is represented by the upper step function (solid black line), which better approximates the true (linearly increasing) Doppler frequency. The triangular function around 0 Hz (shown as a dash-dotted line) is the residual Doppler frequency, which can be seen in the complex correlator output.

[0182] In current implementations of GNSS receivers, blocks 20, 30, 40, 42, 44, 50, 52 and 54 are implemented in dedicated hardware. Blocks 62, 64, 70, 82 to 87, 82a, 84a, 86a, 90, 110, 120, 130, 140, 150, 160 and 180 are currently implemented in software running on a processor of the GNSS receiver. However, they may also be implemented in dedicated hardware. Buffer 170 is implemented in a memory, for example, a random access memory (RAM).

[0183] Figure 7 1 is a block diagram of an exemplary differential GNSS (DGNSS) system according to an example. The DGNSS system includes a rover GNSS receiver 100 and a reference GNSS receiver 1000. The rover GNSS receiver 100 has an antenna 101 for receiving signals from the reference GNSS receiver 1000. The reference GNSS receiver 1000 has an antenna 1010 for transmitting signals to the rover GNSS receiver 100. In general, the rover GNSS receiver 100 may implement the above reference GNSS receiver. Figures 1 to 5 Any or all of the modes described. Those skilled in the art will be familiar with the general principles of DGNSS and therefore need not be described further here.

[0184] Of particular interest is Figure 4 and Figure 5 There are variations of the operating modes shown in that are suitable for use in the context of DGNSS. Figure 4 and Figure 5, the bits are detected by a bit detector 160 included in the (rover) GNSS receiver 100. However, bit detection may also be performed at the reference GNSS receiver 1000, as long as the same satellites are visible and both the reference GNSS receiver 1000 and the rover GNSS receiver 100 receive the same GNSS signals. The reference GNSS receiver 1000 may be able to perform bit detection more reliably for various reasons. For example, it may be static and located in a position with a good view of the sky (e.g., at a high altitude away from obstacles and interference sources). The reference GNSS receiver 1000 may also have a larger and / or more sensitive GNSS antenna (or multiple GNSS antennas) to receive GNSS signals. Therefore, the signal-to-noise ratio observed by the correlator at the reference GNSS receiver 1000 may be higher than the signal-to-noise ratio observed by any correlator in the correlator group 50 of the rover GNSS receiver 100. The bit values ​​detected at the reference GNSS receiver 1000 may be sent to the rover GNSS receiver 100 via antennas 1010 and 101 in real time. They can be used by the rover GNSS receiver 100 to Figure 4 and Figure 5 The bits detected by the bit detector 160 in are used in the same manner - stored in the buffer 170 and retrieved later for bit erasure, or used as "freshly" detected bits and used directly for bit erasure.

[0185] Figure 7 The examples of assuming that there is a direct wireless (e.g., RF) link between the two GNSS receivers (between antennas 1010 and 101). However, this is not necessary and does not limit the scope of the present disclosure. In other examples, the detected bits may be transmitted from the reference GNSS receiver 1000 to the rover GNSS receiver 100 via some other channel. For example, both GNSS receivers may have a data connection with a cellular communication network via which the detected bits may be transmitted.

[0186] It should be understood that the scope of the present disclosure is not limited to the above examples. Based on the above description, many variations will be apparent to those skilled in the art.

[0187] The 20 millisecond dwell time / integration period for the coherent integration described above may be beneficial; however, the method is not limited in this respect. A longer or shorter integration period may be selected. The selection may be based on the signal conditions expected or encountered in use. For example, in a highly dynamic scenario, where the receiver is subject to frequent rapid changes in speed and / or direction, a shorter coherent integration period may be required to better cope with the signal dynamics. Conversely, if the receiver is expected to be static, it may be beneficial to extend the coherent integration period - for example, to integrate over multiple bit periods of the GNSS signal.

[0188] In the examples above, the measurement engine is described as generating GNSS measurements from GNSS signals. This is indeed the typical primary purpose of a measurement engine. However, the measurement engine may also (or alternatively) generate an indication of whether a GNSS signal is detected, i.e., whether a GNSS signal has been acquired before tracking the GNSS signal and / or taking a GNSS measurement. This may be very useful, particularly if a GNSS signal lock is lost during tracking of the GNSS signal.

[0189] Other variations involve the implementation of the blocks. In the examples discussed above, certain components are defined in software or software modules running on a processor of the GNSS receiver. However, in other examples, some or all of these units may be implemented in dedicated fixed-function hardware. Likewise, components defined in hardware according to the above examples may be defined in software in other implementations.

[0190] In the claims, any reference numerals placed in brackets shall not be construed as limiting the claims. The word "comprise" does not exclude the presence of elements or steps other than those listed in the claim. However, when the word "comprise" is used, this also discloses as a special case the possibility that the listed elements or steps are exhaustive - that is, the device or method may consist of only these elements or steps. The word "one" before an element does not exclude the presence of multiple such elements. The embodiment may be implemented by means of hardware comprising several different elements. In a device claim that lists several units, several of these units may be implemented by the same hardware. The fact that certain measures are described in different dependent claims does not in itself indicate that the combination of these measures cannot be fully utilized. In addition, in the appended claims, a list including "at least one of A, B and C" should be interpreted as (A and / or B) and / or C.

[0191] In flowcharts, abstracts, claims, and descriptions related to methods, the order in which the steps are listed is generally not intended to limit the order in which the steps are performed. The steps may be performed in an order different from that shown (unless otherwise specified, or a subsequent step depends on the product of a previous step). However, in some cases, the order in which the steps are described may reflect a preferred order of operation.

[0192] Furthermore, in general, various embodiments may be implemented in hardware or dedicated circuits, software, logic, or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software, which may be executed by a controller, microprocessor, or other computing device, although these are not limiting examples. Although various aspects described herein may be illustrated and described in block diagrams, flow charts, or using other graphical representations, it is fully understood that the blocks, devices, systems, techniques, or methods described herein may be implemented in hardware, software, firmware, dedicated circuits or logic, general hardware or controllers or other computing devices, or combinations thereof, as non-limiting examples.

[0193] The embodiments described herein can be implemented by computer software that can be executed by a data processor (e.g., a processor entity) of the device, or by hardware, or by a combination of software and hardware. In addition, it should be noted in this regard that any block of the logic flow in the figure can represent a program step, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. The software can be stored on physical media such as memory blocks implemented in a memory chip or processor, magnetic media (e.g., hard disk or floppy disk), and optical media (e.g., DVD and data variants thereof, CD).

[0194] The memory may be of any type suitable for the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory, and removable memory. The data processor may be of any type suitable for the local technical environment and may include one or more of a general-purpose computer, a special-purpose computer, a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a gate-level circuit, and a processor based on a multi-core processor architecture, as non-limiting examples.

[0195] The embodiments discussed herein can be implemented in various components, such as integrated circuit modules. The design of integrated circuits is typically a highly automated process. Complex and powerful software tools are available to convert logic-level designs into semiconductor circuit designs that are ready to be etched and formed on semiconductor substrates.

[0196] The appendix below describes more examples.

[0197] appendix

[0198] We propose a novel multipath mitigation scheme based on sensor-assisted long coherent integration (SALI) for sensor-fusion (SF) global navigation satellite system (GNSS) receivers (RX). The upgraded SF RX is applied to terrestrial mobile channels in GNSS downlinks and significantly outperforms conventional SF RX based on ≤20ms coherent integration. The benefits are two-fold: higher line-of-sight measurement accuracy in the presence of multipath and greater immunity to non-line-of-sight measurements. Both benefits are achieved with a significant reduction in overall computational complexity. An embedded implementation of the SALI-based positioning and measurement engine on a single chip with a conventional GNSS accelerator and an ARM Cortex M3 processor is shown to be feasible. In extensive road tests conducted in open air, foliage, suburban, and deep urban environments, we analyze the accuracy, completeness, and availability of pseudorange and Doppler errors as well as positioning performance. In addition, we compare statistics at different carrier-to-noise density ratios (C / N0) and different rover speeds. We demonstrate that the improved measurement quality translates into a significantly enhanced positioning solution in all challenging environments. The SALI-based SF RX can run ~1s of real-time coherent integration, perfectly consistent with 1Hz GNSS-based navigation rates. This in turn allows the use of sensor-based propagation to enhance real-time position output at high rates such as 100Hz. In the absence of sensor-assisted motion compensation, we introduce an alternative solution that runs 100ms coherent integration without explicitly estimating the Doppler rate. The shorter snapshot drives the Kalman filter to exploit the inherent motion dynamics. Even here, road test results are significantly improved in a multipath rich environment with significant frequency dispersion.

[0199] introduce

[0200] Multipath (MP) interference poses a significant challenge to GNSS RX, compromising positioning accuracy and integrity. A significant amount of research work has been devoted to signal processing techniques to mitigate the effects of MP. Traditional non-parametric techniques that exploit time-domain correlations include narrow correlators (Van Dierendonck et al. (1992)), stroboscopic correlators (Garin et al. (1996)), double delta (DD) discriminators (McGraw and Braasch (1999)), etc. These techniques are effective for MPs that exhibit large delay offsets with respect to line of sight (LOS). However, they struggle with near MPs with delay offsets close to the correlator tap spacing. Therefore, they are very effective in the high C / N0 range, where narrow tap spacing can be exploited to fully exploit the capability of large pre-correlation bandwidth without suffering from code jitter. However, MP scenarios often coincide with large drops in C / N0, where time-varying MP and / or interference, in addition to noise, increasingly contribute to code jitter (Betz and Kolodziejski (2009)). This challenges the robustness of the delay locked loop (DLL) and reduces the applicability of high-resolution delay discriminators that rely on narrow tap spacing. In quasi-static RX, DLL performance is fairly predictable, where the DLL can converge to the set point of the discriminator. However, in mobile applications, the low-pass filtering effect of the DLL becomes a critical factor when it interacts with the time-varying MP. For example, narrowband DLLs show a certain degree of immunity to dynamic MPs whose relative frequency with respect to the LOS exceeds the DLL bandwidth. This suggests the potential advantage of directly exploiting channel properties in the frequency domain in addition to the delay domain to suppress MPs before they reach the discriminator or estimator. On the other hand, we also recognize the benefits of the code tracking flexibility provided by wideband DLLs, which helps to quickly re-converge to LOS when transitioning from non-line-of-sight (NLOS) environments. Unfortunately, adaptive DLL bandwidth with variable time constants can produce unpredictable correlations among consecutive measurements. This can lead to underestimated position errors, challenge integrity monitoring methods, and cause problems in safety-critical applications where positioning integrity is essential. These considerations increase the complexity of DLL design. In practice, achieving optimal performance in the presence of MPs requires skillfully balancing multiple design objectives to cope with the trade-offs inherent in real-world scenarios.

[0201] It is well known that sensor fusion (SF) architectures can substantially improve positioning quality, especially in GNSS-denied environments, by incorporating an additional inertial measurement unit (IMU) into the positioning engine (PE) (Schmidt and Phillips (2010); Schmidt and Phillips (2011); Somieski et al. (2010)). After proper sensor calibration, the IMU can enhance velocity estimates and thus improve MP immunity. Moreover, accurate velocity estimates can be mapped to the LOS Doppler in real time, allowing the local oscillator to follow the Doppler dynamics and erase them to a large extent. This in turn improves the tracking performance of conventional frequency-locked loops (FLLs) and phase-locked loops (PLLs) as the dynamics are reduced (Gao and Lachapelle (2008)). On the other hand, repeated sensor calibration to eliminate accumulated sensor errors still relies on GNSS signal measurements. This implies a persistent source of error due to the MP effect.

[0202] With the growing demand for measurement accuracy, completeness, and low power consumption, coupled with the increasing availability of pilot signals in the GNSS signal domain, the long coherent integration (CI) principle has been applied to enhance sensitivity and mitigate MP (Pany et al. (2009); Cheng et al. (2018); Groves et al. (2020); Xie (2023)). When combined with vector tracking in a subset of position parameters, such as in the velocity domain (Cheng (2016)) or the clock offset / drift domain (Cheng (2017)), long CI allows the evaluation of log-likelihood measures in a fine grid with relatively low complexity. In mobile applications, long CI with super-correlation can be used to obtain the best performance. TM The mobile RX of (Faragher et al. (2018)) samples space during long CI, which can be interpreted as beamforming performed by a virtual antenna array. In this regard, beams can be formed towards arbitrary directions. In combination with suitable weighting, this can be used for anti-jamming / spoofing purposes (Faragher et al. (2019)). In this way, the CI gain is reflected in the spatial selectivity, but only in the presence of antenna motion. The main challenge with long CI is the signal frequency variation caused by three main factors: the Doppler effect of satellite motion; local clock instability; and the Doppler effect of RX and / or reflector mobility. While the Doppler dynamics due to satellite motion can be relatively easily predicted and tracked, the other two factors usually need to be estimated. If an IMU is not available, alternative transforms that solve for the frequency rate can be used to estimate the dynamics caused by RX motion. One such method is the fractional Fourier transform, which utilizes a linear frequency modulation basis, as proposed by Luo et al. (2023).

[0203] The innovations and contributions of this paper can be summarized as follows.

[0204] We propose a SALI-based LOS detection / estimation scheme that eliminates the need for a tracking loop and reduces the correlation between consecutive measurements. The main difference to expectation-maximization (EM)-based parameterization techniques (Feder and Weinstein (1988); van Nee (1992); Fleury et al. (1999); Lentmaier et al. (2008)) is the reduction of the EM iteration to only one and only in the LOS parameter subspace. After a single E-step (implemented by SALI using the IMU-assisted LOS estimate as initial value), a fraction of MPs are suppressed by long CIs whose MP signatures clearly do not match the LOS hypothesis, while the remaining MPs remain detectable. In a single subsequent M-step, MPs are detected in addition to LOS when possible to distinguish LOS. Furthermore, we introduce methods to exclude NLOS measurements and indicate the level of MP interference that may affect the measurement results. We analyze the reference time of the input signal for which the SALI-based LOS measurement is applicable, as well as the robustness of the PE / ME closed loop in the presence of measurement and PE feedback errors.

[0205] In the frequency domain, we achieve MP separation and suppression via SALI, especially for time-varying channels with non-negligible Doppler shift. In the delay domain, we apply linear interpolators to the correlator taps, aiming to 1) mitigate the remaining MPs with indistinguishable Doppler to LOS in one step without DLL iterations and 2) improve the accuracy of the coarse temporary delay estimation on a discrete grid. Specifically, we introduce two interpolators that mimic the behavior of the well-known DD-DLL while approaching the set point in one step, exploiting the increased signal-to-noise ratio (SNR) at all correlator taps due to SALI.

[0206] We propose to use Gabor transform with adaptive Gaussian window curvature for long CIs. This approach is complementary to the discrete Fourier transform (DFT) and aims not only to suppress spectral sidelobes but also to enhance robustness to residual Doppler dynamics due to sensor or heading errors.

[0207] Without IMU-assisted motion compensation, we propose to reduce the CI length from 1 second to 100 milliseconds without explicitly estimating the LOS Doppler rate for each measurement epoch. Here, we use a Kalman filter (KF) to exploit the channel dynamics across consecutive snapshots.

[0208] Our study demonstrates the feasibility of SALI as a low-complexity solution running on a single-chip GNSS RX, where the same hardware accelerator serves the conventional SF RX. In this design, both the Measurement Engine (ME) and PE share the computational power of a single ARM Cortex M3 processor efficiently in real time.

[0209] For a fair comparison, the SALI-based SF RX was tested against the same SF architecture with conventional carrier and code tracking loops. In each individual environment, including open sky, foliage, suburban areas, and deep urban areas, we compared the accuracy, completeness, and availability of latency and Doppler error statistics as well as positioning statistics from comprehensive road test campaigns conducted around the world. In addition, we compared and interpreted these statistics at different C / N0s and at different rover speeds.

[0210] The rest of this paper is organized as follows. We first propose a signal model that incorporates LOS geometry and random properties of time-varying MP channels. Next, we introduce SALI and discuss its sensitivity to various MP effects and sensor-assisted errors. Based on the SALI output, we derive LOS detection and estimation algorithms and discuss the measurement reference time, robustness, and MP mitigation capabilities in the presence of various channel characteristics. Then, we introduce three low-complexity delay interpolators and discuss their performance relative to the well-known DD-DLL. To further enhance the robustness in the absence of sensor assistance, we propose to use a shorter CI time in combination with the KF. We present road test results related to measurement errors, positioning accuracy, completeness, and availability. These results are categorized by various environments and their implications are discussed. Finally, we summarize the results and present the advantages and disadvantages of the proposed SALI-based SF RX, as well as prospects for future research.

[0211] Signal Model

[0212] In this article, we use the following mathematical notation. A function of a continuous or discrete variable u is denoted by y(u) or y[u], respectively. Parameters can be added to a function, such as ψ and ρ in y(u; ψ, ρ). The first derivative, absolute value, and complex conjugate of y are y′, |y|, and y*, respectively. Imaginary unit Denoted by j. The Euclidean distance between two functions y(.) and z(.) is expressed as ‖y(.)-z(.)‖. The random variable (RV) without any emphasis represents the unknown true value, represents an estimated value, represents the corresponding estimation error. Since the latter is also an RV, its value can be estimated, and the error estimate is given by express.

[0213] The baseband received signal r(t) is modeled as the superposition of the LOS component (indexed by l=0) and the L MP components (indexed by l=1, 2, ..., L) in (1). The sum is corrupted by the additive white Gaussian noise (AWGN) n(t), whose double-sided noise power spectral density is N 0 / 2.

[0214]

[0215] Here, for path l, the piecewise constant complex amplitude h within code period k during interval t∈[kT,(k+1)T) is l [k] is modeled as an RV that follows certain fading statistics. T represents the spreading code period, e.g., for GPS L1CA, T = 1 ms. The geometry-based carrier phase and propagation delay of path l within code period k are denoted by φ l [k] and τ l [k] represents. Both are RVs and are affected by the RX, satellite motion and ray tracing geometry of the path l. The spreading code waveform (denoted by x(t)) is defined in the interval t∈[0,T) as the result of the convolution of the code chip pulse waveform with the binary spreading code sequence. This means that the code period k=0 starts at t=0. For simplicity, we also assume that the modulated bits or secondary codes are deleted during the entire observation interval t∈[0,KT) (~1s in our study). The blocked path corresponds to |h l [k]|=0. In the presence of Rice fading, h l The amplitude and phase of [k] will change relatively little. This could be a visible LOS path or a specular reflection with a long lifetime. In the case of Rayleigh fading, such as in an NLOS environment, the phase can be assumed to be uniformly distributed in [0,2π) and the fading rate is affected by the path coherence time. Here, h l [k]e jφl[k] The composite carrier phase in may be dominated by geometric or random characteristics. In addition, for terrestrial mobile channels, we can use the instantaneous velocity v 0 [k] is used to approximate the geometric LOS dynamics at t = kT, which is the result of projecting the relative velocity between the RX and the satellite onto the LOS vector. The LOS range in code period k is different from that in k = 0. This results in the following LOS carrier phase, delay and frequency within symbol period k:

[0216] and where λ and c are the wavelength and speed of light, respectively. For MP(l>0), the same mechanism controls φ l [k],τ l [k] and f l[k] evolution. However, without reflector position information, the propagation path geometry is generally unknown and projecting the RX velocity onto the ray-traced path is not feasible. On the other hand, there is no need to do so since the long CI is computed exclusively for the LOS component, as will be explained in detail in the next section.

[0217] Note that in (1), we neglect the effects of local clock instabilities, which can also cause Doppler and delay dynamics in the received signal r(t). The rationale behind this simplification is that our hardware platform can effectively manage thermal coupling and exhibit satisfactory frequency stability over a 1s observation window even in the presence of vibrations. For a dedicated GNSS RX, this assumption is not too much of an oversight, and we can tolerate minimal clock drifts and offsets for each measurement epoch without estimating and removing them individually.

[0218] SALI

[0219] We follow a feed-forward detection and estimation strategy under the maximum likelihood framework. To this end, we model the local replica in (2), focusing on the LOS component with frequency and delay assumptions,f,τ,.

[0220]

[0221] here, and are the phase and delay estimates of the LOS path. They are used to control the carrier and code generator to track the signal in code period k=0,1,...,K-1, respectively. In SF RX, both are derived from the IMU-assisted LOS velocity estimate as follows:

[0222]

[0223] in and represents the initial phase and delay estimates applied to the carrier and code generator at t = 0. In addition, the IMU-aided LOS frequency estimate during t∈[kT,(k+1)T) is given by Given. We ignore the delay of feedback control in this section without affecting the system behavior. The phase and delay differences of all L+1 paths for LOS estimation are defined as and s 0 The correlation function between (t; f, τ) and r(t) is

[0224]

[0225] Here, the variance is KT N 0 / 2 RV represents the integrated AWGN, the Gaussian window W(t)=exp[-πα(t-KT / 2) sampled from t=kT to W[k] 2 ] is applied to the encoded correlated samples. Considering the MP signal model (1) and the LOS hypothesis without any MP (2), we recognize that the correlations in (3) correspond to the evaluation of the partial log-likelihood function. In fact, this represents a single E-step in the spatially alternating generalized EM (SAGE) algorithm, provided that the latter starts the first EM iteration in the LOS parameter subspace (Fleury et al. (1999)), using the sensor-aided estimates as initial values. The sum in (3) includes the autocorrelations of the LOS path, plus all cross-correlations between the LOS hypothesis and the MPs. This ensures maximum CI gain for the LOS path while allowing the MPs to be concentrated in their corresponding frequency bins or to be reduced due to cross-correlations of signatures with significant mismatches compared to the LOS hypothesis. The correlation of the LOS hypothesis with the path l ≥ 0 is in,

[0226]

[0227] The Gaussian windowed DFT effectively computes the Gabor transform of the sample with a fixed window displacement to the center of the observation interval KT. The tuning coefficient α shapes the curvature of the window. In this paper, we assume infinite bandwidth and assume a chip duration T c The ideal autocorrelation function of the spreading code is Λ(τ). For an observation window of ~1 s, we use second-order dynamics to approximate the velocity and distance differences of path l within code period k for the IMU-assisted LOS estimate as follows:

[0228]

[0229] in and are the initial speed and distance difference between path l and the LOS estimate, respectively. The constant rate of change of the speed difference is expressed as Please note that and denotes the estimation errors for the LOS path only when l = 0; for any other path they are simply differences in the cross-correlation. However, for simplicity, in the following discussion we refer to them and differences of the same type collectively as “errors” for all l ≥ 0 paths. By taking into account wavelength and the speed of light, we can convert (5) into the following phase, delay, and frequency errors for path l, respectively,

[0230]

[0231]

[0232]

[0233] in and denote the initial phase error, initial frequency error, and constant frequency error rate of path l, respectively. Note that the basic error signal exhibits linear frequency modulated carrier dynamics.

[0234] Figure 8 A simulation of an artificial scenario of a LOS path plus one MP is shown, both originating from a satellite at a low altitude of ~0°. Here, the rover initially travels eastward in a straight line at 50 km / h for 1 second. Over the next second, it turns 90° southward along a circular path while maintaining a constant linear velocity, achieving an acceleration of 2.2g. The LOS originates from the east, with the MP from azimuth 210° lasting the entire 2 seconds. An assumed constant 3° heading error is observed for the IMU-assisted velocity estimate throughout the 2-second duration. Figure 8 The Doppler values ​​in (b) show that for the LOS signal, the frequency error and its rate remain consistently low, both for linear motion and curvilinear navigation, since the LOS path is closely tracked by the IMU-assisted SF solution. However, for the MP component, the frequency error can already be large during linear motion. Furthermore, the frequency error rate can be high in the case of non-zero rover acceleration.

[0235] When the frequency error is small, it can be ignored by l [k] to analyze the amplitude change and The influence of the correlation in (4) and the correlation of the spreading code P l (τ) from the sinusoidal correlation Q l (f) is separated and close to the correlation peak, R l (f,τ)≈P l (τ)Q l (f), where and

[0236]

[0237] P l (τ) and Q l (f) (Gabor transform of linear frequency modulation signal) can all be expressed in closed form. However, only their global maximum is needed to be analyzed, which is crucial for subsequent path detection and estimation.

[0238] According to (7), given any particular delay assumption τ, when summing over k∈[0,K-1], for non-zero fluctuates along Λ(.). As a result, Compared with the situation of P l The peak value of (τ) becomes flat and shifts. It can be proved that for P l (τ) is deformed into a parabola near the peak value, and the displacement is like Fig. 9 The delay associated with the maximum corresponds to the delay of the signal at t = KT / 2. However, if the remaining frequency error rate is non-zero and unknown, then since we intentionally do not estimate Therefore P l The shift of the (τ) peak is still usually uncertain. This means that delay estimation errors, although small, can be significant, especially in high dynamic situations and even in perfect open sky conditions.

[0239] On the other hand, even if you don’t know The Gabor transform continuously moves the peak of the spectrum of Ql(f) (For small ),like Fig. 9 Here, the frequency error estimate associated with the spectral peak is related to the time at t = KT / 2, and is related to As the frequency error rate increases, the spectrum becomes more dispersed, resulting in a lower global maximum, which may even appear at the same At different frequencies, such as Fig. 9 , as shown in (b). This phenomenon is counterproductive for LOS Doppler estimation. To mitigate its impact, one approach is to choose a larger value of α. This produces a narrower window, which also attenuates more spectral sidelobes compared to a wide window. However, a narrower window reduces the peak SNR and thus reduces detection sensitivity. In practice, this leads to a trade-off determined by the propagation channel characteristics and the sensor-aided error properties.

[0240] Obviously, the Doppler error rate within the integration interval is a key factor affecting the robustness of SALI. In our study, simulations for IMU-assisted frequency tracking showed a maximum error rate of 4 Hz / s when the heading error assumption was relaxed. This justifies the omission of explicit frequency error rate estimation. Considering the MP component, a larger frequency error rate may be quite beneficial for LOS estimation, especially when the initial MP Doppler is barely distinguishable from the LOS Doppler. In this case, an increase in the frequency error rate disperses the MP power, effectively reducing its interference with the LOS correlation.

[0241] LOS detection and estimation based on SALI

[0242] By evaluating R(f,τ), the LOS parameter measurement problem can be formulated as deriving the frequency and delay errors Estimated value of It is related to the initial sensor-assisted estimate Related, among which In the context of SAGE, the procedure here corresponds to a single M-step in the LOS parameter subspace, as explained with respect to the correlations in (3). Since no further EM iterations are planned to peel off paths individually, all detectable paths following the previous E-step must be identified in a single M-step to distinguish LOS. Specifically, we apply a detection threshold η to |R(f,τ)| to detect multiple local maxima associated with individual paths. This is similar to assisted acquisition, with the key difference that multiple paths are detected, not just the strongest one. Among the detected paths, we identify the one with the shortest delay as the LOS. The discrete delay and frequency values ​​associated with the correlation peaks on the hypothetical grid are then interpolated to obtain a more precise estimate. Finally, we end the measurement epoch by reporting the LOS estimate relative to a reference time t = KT / 2. Fig.10 A block diagram showing the implementation of Algorithm 1 using a conventional GNSS accelerator in a single-chip SF RX is shown.

[0243]

[0244]

[0245] robustness

[0246] Overall, SALI operates with little prior knowledge or assumptions about the channel model, such as the number of existing paths. Although the first EM iteration is similar to LOS, the weak dependence on the channel assumption distinguishes SALI from iterative joint parameter estimators such as SAGE and contributes to its robustness over single measurement epochs. However, since we are dealing with a feedback control loop involving ME and PE, robustness over consecutive epochs remains a key issue with respect to the initial conditions of each epoch. In addition to the previous discussion on the frequency error rate, it is also critical to examine the frequency and delay assumption windows. This window must strike a balance: it needs to be large enough to cover the LOS frequency and delay errors associated with the IMU-aided signal tracking over the integration interval, while also being as small as possible to achieve two goals: 1) keep as many MP correlation peaks as possible outside the LOS assumption window to guard against NLOS scenarios, and 2) ensure a high resolution of the assumption grid given limited computational resources. Furthermore, the additional error caused by the feedback control delay must be considered when determining the size of the assumption window, and minimizing the delay is still a best practice. Ignoring impairments caused by residual MP interference, interpolation errors, and unknown frequency error rates, the estimator can provide unbiased estimates of the LOS parameters. The process enhances the initial IMU-aided estimates by leveraging the received signal within a maximum likelihood framework. The design inherently excludes error propagation between the ME and PE.

[0247] If the initial LOS estimate of the PE is biased such that the true LOS parameters lie outside the assumption window, we face a false NLOS situation where all correlation peaks within the window are attributed to the MP. In both false and true NLOS scenarios, in the context of safety-critical applications, our preference is to avoid generating measurements and default to NLOS declarations, waiting for the next measurement epoch. In addition to the inherent ability of SALI to exclude MP correlation peaks outside the narrow assumption window, various approaches can be adopted to enhance NLOS exclusion. One possibility is to set the detection threshold η to the C / N0 level, below which most detected paths are expected to originate from NLOS Rayleigh fading sources according to channel models such as Lehner (2007). Another approach stems from the SNR saturation effect observed in long CIs under Rayleigh fading conditions (Broumandan et al. (2011)). Specifically, the SNR gap between Rician and Rayleigh faded signals increases with increasing CI length and decreasing channel coherence time. Accordingly, we can monitor the SNR growth rate during each SALI epoch to distinguish the realization of Rician (LOS present) and Rayleigh fading NLOS scenarios.

[0248] Another robustness issue is the IMU assistance interruption, which is not only an abnormal state but also expected in practice, for example before sensor calibration is completed. This usually prevents long CIs due to the lack of motion compensation in SALI. As an alternative solution, we propose to reduce the CI length from 1 second to 100 ms without estimating the Doppler rate for each measurement epoch. The spectral dispersion of the LOS component is still acceptable at 2g acceleration. The LOS parameter estimates obtained from the 100ms snapshot drive the KF in each tracking channel. This KF is used to track the intrinsic motion dynamics in combination with the 1Hz navigation rate. It is important to note that, as mentioned before, in the nominal operating mode, the information exchange between the ME and the PE is performed sequentially, making the additional tracking loop in the ME redundant, as the navigation filter can effectively handle the rover dynamic tracking. Although the nominal mode can be configured for 100ms CI (which means a navigation rate of 10Hz), the MP mitigation effect will be greatly reduced due to the tenfold reduction in frequency resolution compared to the 1 second SALI. This also means that for high-rate position output, it is recommended to run sensor propagation between two consecutive nominal SALI-based 1s CI solutions.

[0249] Delay and frequency interpolation

[0250] In practice, the correlation function R(f,τ) is sampled on a discrete grid on f and τ. To achieve the best estimation accuracy, interpolation is required. The frequency interpolation in step 14 of Algorithm 1 is straightforward. For example, quadratic interpolation of frequency bins around the spectrum peak already provides sufficient accuracy.

[0251] To handle MPs that bring indistinguishable Doppler to LOS, we further incorporate MP mitigation measures into the delay interpolator. This is particularly beneficial in scenarios where Doppler shift is minimal, such as static reception conditions, when all paths tend to generate their spreading code correlation function P at the same frequency. l (τ), SALI gradually loses the ability to separate MPs in the frequency domain. Here, we follow the same design principle, i.e., utilizing multiple lead-lag gates with narrow tap spacing. However, we replace the DLL iteration in step 6 of Algorithm 1 with a single interpolator, thereby utilizing a CI gain of 1s compared to 20ms for a conventional DLL. Specifically, we explore three delay interpolators. All interpolators operate with the same prerequisite, i.e., the maximum value A[m] = |R(f,τ[m])| of |R(f,τ)| for a specific f is detected at delay tap m. It is relative to the reference delay configured at tap 0. The relative delay of is mΔ, where Δ represents the tap spacing. In addition, several leading taps A[m-1], A[m-2], ..., A[mM] and lagging taps A[m+1], A[m+2], ..., A[m+M] associated with the same f are also required.

[0252] 1. Double Delta Interpolation (DDI): For a sufficiently large number of taps, the S-curve of the desired discriminator can be sampled in its linear region. We can approximate the S-curve on a continuous delay axis by fitting the S-curve samples S[i] with respect to tap i to the target shape and solving the zero-crossing equation. The solution corresponds to a refined delay estimate. As an example, we choose Δ = T c The well-known S-curve of the DD discriminator of / 8 is sampled at three points i = m and i = m ± 1, with equal spacing of T c / 16, and then fit them to a straight line using least squares fitting.

[0253] 2. Lead-lag line intersection (ELLI): The intersection of the two straight lines defined by the lead taps A[m-1] and A[m-2] and the lag taps A[m+1] and A[m+2] corresponds to the fine delay estimate

[0254]

[0255] It turns out that the numerator in (9) represents the output of the DD discriminator. At its set point, this term approaches zero and the two lines will intersect exactly at tap m, which is halfway between taps m-1 and m+1. A conventional DLL iterates towards this goal. Thus, ELLI mimics the behavior of the DD-DLL in one go. Similar performance can be expected as long as tap m is close to the DD set point.

[0256] 3. Quadratic interpolation (QI): Similar to frequency bin interpolation, quadratic interpolation can be used for A[m-1], A[m] and A[m+1].

[0257] As a benchmark for comparing MP immunity, we consider the delay estimation error of DD-DLLs with comparable tap spacing in a dual-path model, where the LOS is superimposed with a single MP in a stationary scenario. The MP is assumed to be 3 dB weaker than the LOS, and it also generates uniformly distributed random phases ∈ [0,π], and delays ∈ [0,Tc]. Fig.11 (b) shows the delay estimation error produced by ELLI, provided that the deviation of tap 0 is 0.12·Tc. Fig.11 (a) shows the reference error of the DD-DLL. In addition, we can average the errors over all MP delays and phases to obtain the average MP error for each interpolator. Fig.11As can be seen from (c), the average performance of ELLI is close to that of DD-DLL, although it can react sensitively to the antipodal MP phase. On the other hand, the one-shot estimator that exploits these interpolations in the final stage fails to produce consistent estimates under variable initial conditions, compared to the conventional DLL. In particular, the interpolation error persists as the number of observation samples increases, and the remaining error depends on the initial delay estimate that controls the timing of Tap 0, as Fig.11 The Δ periodic pattern of the average delay error is shown in (c). Strictly speaking, the interpolation at the last stage will result in an inconsistent estimator, although the interpolation error is almost negligible. The main advantage of the one-shot interpolator over the DLL is its excellent code tracking flexibility. This is because each tap is treated equally in the maximum likelihood estimation. Unlike the DLL, no specific taps (such as instantaneous taps) are required to maintain the timing of the DLL.

[0258] Despite all the MP mitigation capabilities and NLOS exclusion methods of SALI, there is still a risk of MP interference, especially in NLOS scenarios with low Doppler dispersion. To address this issue, we calculate the MP indicator ξ in each measurement as the Euclidean distance between the expected spreading code correlation function and the actual obtained correlation value, as shown in step 13 of Algorithm 1. This enables PE to correctly assign weights to individual measurements in the navigation filter.

[0259] Multipath Mitigation

[0260] The MP mitigation capability of SALI can be discussed in conjunction with the random characteristics of mobile channels. In particular, coherence time, Doppler, and delay spread play important roles.

[0261] As the LOS path penetrates the medium, it may be attenuated. At the same time, it can be superimposed with the MP from local scatterers. When the delay of the latter is indistinguishable with respect to the LOS wave for a given signal or RX bandwidth, h 0 [k] is the Ricean fading complex amplitude. Here, a high K factor generally corresponds to a dominant LOS component with a long coherence distance. On the MP side, channel models usually presuppose a Rayleigh fading process with a short coherence distance, statistically only a few wavelengths. However, in the real world, it is not uncommon to observe specular reflections with long coherence distances, which appear only as tail probabilities in channel models. For example, consider a scenario where the RX moves in a straight urban canyon with skyscrapers at both ends. The few visible low-altitude satellites are located in front of or behind the RX. They may be affected by specular reflections with relatively long coherence distances. If the LOS is obstructed, we may only observe MP, which may be due to Rayleigh fading due to diffuse reflections or Ricean fading due to specular reflections.

[0262] On the RX side, SALI with a CI length of about 1 s can achieve a frequency resolution of about 1 Hz, which is 50 times narrower than the frequency resolution of a 20 ms CI. Fig.12 In Figure 1, a simulation of a LOS path plus two mirror MPs illustrates this effect. All three paths are close to each other within a frequency range of 10 Hz, and the LOS path is not the strongest path. The frequency error rate of the LOS path and one of the MPs is zero, while the frequency error rate of the other MP is 10 Hz / s. This extends its spectrum Q l (f) and suppresses its peak. As a result, after 1s CI, only two correlation peaks above the detection threshold are visible in the window, although they are only 1.5Hz apart, as shown in Fig.12 (b) of . In addition, the correlation function produced after 1s CI is more likely to contain a single Λ(.) for each individual path frequency. This facilitates the delay discriminator, especially when the RX bandwidth is large enough. Therefore, as a result of the clear separation of the paths in the frequency domain, accurate delay estimation can be expected. In contrast, the 20ms CI can hardly separate them with a frequency resolution of 50Hz. This complicates the delay discriminator and the stronger MP can dominate Fig.12 The delay estimation in (a).

[0263] For a mobile RX, the Doppler shift is inversely proportional to the coherence time, which is proportional to the coherence distance, which is inversely proportional to the rover speed. Fig.12 For the same model as in (b), if we assume diffuse reflection instead of specular reflection, the coherence time of the MP becomes shorter. Assuming a rover speed of 50 km / h and a coherence distance of 2.5λ = 0.5 m for the L1 carrier frequency (ITU-RP.681-8(2015)), we obtain a coherence time of about 36 ms. During a 1 s CI, the RX should experience about 28 uncorrelated Rayleigh fading complex amplitudes h l [k] achieves that the phase is uniformly distributed between 0 and 2π. Since the delay is indistinguishable, the sum in (4) partially cancels out. As a result, Fig.12 As shown in (c), the power of strong MPs is weakened. It is worth noting that this effect does not occur in the 20 ms CI because the integration length is too short to experience uncorrelated MPs.

[0264] Integrating over the lifetime of the MP is particularly beneficial in urban environments where LOS signals are received from one side of the street while continuous MPs (with shorter lifetimes) are received from the other side. This scenario often occurs due to reflections from building facades along the street when vehicles pass by at low lateral speeds. Fig.13As shown by the distortion peak in (a), the small differences in signal power, Doppler, and delay between LOS and MP put pressure on the delay discriminator using 20ms CI and challenge the conventional DLL. In contrast, long CI suppresses the irrelevant MP, making the LOS correlation peak prominent and helping delay estimation, as shown in Fig.13 Another similar scenario involves foliage, where the LOS component attenuates as it penetrates the canopy, but it remains coherent for a relatively long time. Leaves and branches within the foliage scatter the impinging wave, resulting in a large number of MPs with a short lifetime.

[0265] Road testing activities and performance analysis

[0266] Extensive test drives were conducted in Thalwil, Zurich, Munich, Hannover, Frankfurt, New York City (NYC), Detroit, Chicago, and more. The test routes were carefully planned to cover a variety of environments, including open sky, foliage, suburban areas, and deep urban areas. The test vehicles were equipped with GNSS loggers, consumer-grade IMUs, and high-precision GNSS RXs, supplemented by tactical-grade IMUs. During the test drives, radio frequency (RF) signals, consumer-grade sensor data, and vehicle wheel sounds were recorded synchronously. At the same time, high-precision position, velocity, and time data were also recorded. They are used as true data in post-processing to derive all errors of our device under test (DUT). In the lab, the recorded RF signals and sensor data are replayed and fed into the same hardware platform. The only difference is in the firmware: one platform runs a SALI-based SF algorithm with a CI of ~1s, while the other platform (non-SALI reference) follows a conventional SF implementation using a traditional tracking loop based on a ≤20ms CI. The performance analysis was conducted in two stages, 1) measurement error analysis and then 2) position error and integrity analysis. In the first stage, LOS velocity (Doppler) and pseudorange (PR) errors are analyzed relative to the true value, which comes from the real position recorded during the signal recording. The errors are interpreted with respect to different velocity and C / N0 values. In the second stage, we also consider the horizontal position error and the accuracy estimate from the PE to evaluate the integrity and availability relative to the required two-meter position accuracy. All measurement and position errors as well as integrity and availability statistics are analyzed for four predefined environmental categories.

[0267] Measurement errors in road testing

[0268] The Doppler and PR errors of SALI and reference RX at all measurement epochs in all road test scenarios are divided into high rover speed (>1m / s) and low rover speed (<1m / s) categories covering all C / N0 values. Their cumulative distribution functions (CDFs) are shown in Figure 2. Fig.14 In general, Doppler measurements tend to be more accurate at low speeds, such as Fig.14 This is shown in (a) by the sharper CDF associated with SALI and reference RX velocities less than 1 m / s. This can be explained by the lower Doppler shift, which indicates that the LOS Doppler is more consistent, resulting in a more accurate frequency estimate. However, the low velocity reduces the filtering effect of the DLL in the conventional tracking loop on the time-varying MP and reduces the ability of SALI to separate the MP. Therefore, near the LOS Doppler, the uncertainty in the delay increases, resulting in an inaccurate delay estimate, as shown in Figure 2. Fig.14 As revealed by the flatter CDF of the PR error associated with speeds < 1 m / s in (b). In both speed categories, SALI improves Doppler and PR measurements, with the gain being greater at high speeds compared to the conventional tracking loop. This analysis is repeated for high and low CN0 values. Fig.14 (c) and Fig.14 As can be seen in (d), both Doppler and PR estimates are more improved in the C / N0 region at (20,30) dBHz compared to (30,40) dBHz. This can be explained by the more severe MP interference associated with low C / N0, where MP mitigation for SALI is more effective, especially for Doppler estimation.

[0269] At all measurement epochs throughout the test, SALI RX either provides measurements with a binary MP warning flag or suppresses transient measurements due to the NLOS flag being raised. For the indicated NLOS epochs, Fig.15 (a) and Fig.15 (b) presents the CDFs of the PR and Doppler errors associated with the conventional SF RX (reference). The PR error of the reference RX is almost uniformly distributed, while the variance of the Doppler error is large, indicating the reliability of SALI in excluding NLOS. In the remaining epochs, the NLOS flag is still false and the measurement is enhanced by the MP warning flag. The CDFs of the PR error in the SALI receiver with and without the MP warning flag are shown in Figure 2. Fig.15 (c) is shown in Figure 2. The sharp contrast between the two curves shows that the MP warning is effective. In addition, the warning signs based on the MP indicator are not limited to binary values, but can also be real values. This allows soft decisions to be made in PE. All of these features are beneficial to the satellite selection and weighting mechanism in the navigation filter and indirectly improve the positioning performance.

[0270] Position error, completeness and availability statistics in road testing

[0271] The measurement error and horizontal position error are calculated based on the actual situation recorded during the test run. Fig.16As shown in Figure 2, SALI can significantly reduce (sharper CDF) PR, LOS velocity (Doppler), and horizontal errors in all MP environments compared to conventional SF RX. The mountain-shaped plot of the CDF shows that the tail probability and zero mean characteristics of the error distribution are greatly improved, especially for Doppler. This shows that SALI's MP mitigation measures are effective. In addition, based on the absolute value of the horizontal position error ε, its estimated value and accuracy requirement ψ (2 m in our study), a series of safety-critical indicators are defined. The statistics are summarized for all epochs during all test drives, categorized for different environments, and shown in Table 1. Here, P95 and P68 represent the 95% and 68% percentiles of horizontal position error (in meters), respectively. The former satisfies The latter satisfies represents the percentile of horizontal error ≤ 2m. The unavailability and availability probabilities are respectively given by and PA = 1-P U Definition. The probability of Hazardous Misleading Information (HMI) is defined as Its complement 1-HMI represents the operation probability. All statistics in the MP environment are improved by SALI. The most significant gain is seen in the foliage environment as described above, while the position error statistics in the open air condition are slightly reduced due to SALI's sensitivity to higher-order dynamics. The overall operation probability is improved from 85.2% to 94.3%, as shown in Figure 2. Fig.17 As shown in the completeness diagram in (a).

[0272] Table 1: Position error, unavailability and integrity statistics for all trials

[0273]

[0274] exist Fig.17 In (b), we show an example of a road test in the center of Frankfurt, where the operation probability is significantly enhanced by SALI, since ε and In most epochs, it is lower than 2 meters. Here, we further assume that ε≤ψ and The operation epoch is divided into two different modes: one is to meet the The reliable mode (green) is the one that satisfies Misleading mode (yellow).

[0275] exist Fig.17In (c), we show the benefits of SALI from a PE perspective using a drive test example in New York City. Here, after driving out of the urban canyon, the visibility of the constellations, including Beidou B1C and Galileo E1, has not yet fully recovered. There are still tall buildings on one side of the street, while the leaves on the other side cause huge penetration losses (and MP). Therefore, the level of dilution of precision (HDOP) lacks sufficient lateral constraints. In this case, satellites that contribute to the lateral constraints are of high value to the positioning solution. Beidou B44, with an elevation angle of about 45°, can provide such constraints if its LOS measurement is considered trustworthy by the navigation filter. The challenge is that there are obviously (at least) two impacting waves arriving at the antenna with extremely small delay and Doppler differences. Even more challenging is that the observed LOS path is not the strongest path because the penetration loss of the leaves seems to exceed the reflection loss of the buildings. Conventional RX cannot achieve such measurement accuracy, so B44 cannot benefit from it in this area, while SALI can solve the LOS problem from the MP and reduce the PR error from 7.7 meters to 0.8 meters. As a result, B44 is incorporated into the position solution. Even though the SALI RX uses one less PR measurement than the reference RX, it reduces the accumulated sensor error. As a result, the localization (green dot) is closer to the true situation (white square) than the regular SF localization (red triangle).

[0276] Degraded SALI in road testing

[0277] Here, we tested the performance of 100ms CI with 1Hz navigation rate in two cases; 1) SF RX is downgraded to non-SF RX when the IMU fails; 2) SF in the navigation filter is kept unchanged and IMU-assisted motion compensation is not available in ME. In the first case, L1-only RX was tested in Hakone (Japan), a hilly area with dense leafy coverage. The test vehicle recorded the real-time signal in a round-trip manner, starting from the northernmost point on the map, traveling to the southernmost point, and then returning to the northernmost point along the original route. On one side of the road, a continuous concrete and steel wall encloses the road. In general, the vehicle speed is fast and the traffic volume is light. Fig.18 (a) and Fig.18 The top and bottom of (b) plot the horizontal and vertical positions, respectively. The results for the 100ms CI are compared to a reference RX running a conventional tracking loop based on a 20ms CI. Both were tested with 11 identical RXs connected to the same replay box. This setup allows us to demonstrate the consistency of the algorithm. Both horizontal and vertical position accuracy improve significantly with the 100ms CI.

[0278] As a second case, SF RX was tested in London. Here, the SF navigation filter was used to filter the conventional tracking loop ( Fig.18 (c)) or the degraded SALI running 100ms CI ( Fig.18 The results of (d)) are evaluated. No velocity feedback is provided for motion compensation. Both schemes are tested on 6 RXs to show the statistical fluctuations. Of course, most of the MP damage can be absorbed by SF. However, the SF algorithm again benefits from the 100ms CI. The improvement in positioning accuracy is particularly evident in street curves and urban canyon areas, where the appearance of outliers is significantly reduced, such as Fig.18 (c) Center depicts the DUT-4482 detour.

[0279] Computational and memory complexity

[0280] Fig.19 The real-time CPU load measurements of the SALI-based SF RX and the conventional SF RX running on the same hardware platform are shown. The measurement time span is from RX power-up to steady-state tracking mode, during which both RXs track exactly the same number of satellites. In the figure, the red bar specifically represents the real-time CPU load of the ME running on an ARM Cortex M3. The transition from non-SALI mode to SALI mode is triggered by the successful completion of the initial sensor calibration, marking the switch of the tracking mode from ≤20ms CI to ~1s SALI. It is clear that the total computational complexity of the SALI-based PE and ME is greatly reduced. The main reason for the load reduction is that the high-rate carrier / code tracking loop in each tracking channel is no longer used due to the use of IMU-assisted signal tracking technology. The memory usage of SALI is generally higher than that of the conventional tracking loop because the complex samples must be stored until the estimator evaluates them. In general, this scales linearly with the CI length and the number of tracking channels.

[0281] in conclusion

[0282] We derive the SALI and the corresponding LOS estimation scheme from a multipath signal model that incorporates LOS geometry and random channel properties. The proposed scheme simplifies the SAGE algorithm to a single iteration, performed only in the LOS parameter subspace, using the IMU-aided LOS estimate as the initial value. This significantly reduces complexity and enhances robustness. The achieved multipath mitigation comes from two aspects. First, the ~1 s long coherent integration achieved by IMU-aided signal tracking and Gabor transform provides fine spectral resolution, enabling separation and suppression of multipath, exploiting the difference of multipath signatures from the LOS. As a result, multipath interference is either confined to a specific frequency bin or suppressed by integrating beyond its coherence time due to fading or Doppler rate. Second, any multipath interference that falls on a LOS indistinguishable frequency can be mitigated in one step by the proposed delay interpolator. For channels with minimal Doppler shift, the interpolator approaches the performance of a double-delta DLL without introducing correlation with previous measurements. The decorrelation property is particularly beneficial for integrity computations. We demonstrate enhanced measurement quality in all challenging environments in road tests, achieving this with significantly lower total computational complexity compared to conventional sensor fusion RX. The most significant performance improvement is seen in Rician fading with small K factors, driving on a tree-lined street being an example. In addition, the proposed NLOS rejection method and multipath indicator demonstrate high reliability in road tests. The PE / ME closed loop is robust to error propagation under realistic conditions. The backup solution with 100ms coherent integration also demonstrates considerable multipath mitigation capabilities without IMU-assisted motion compensation. SALI is not expected to outperform conventional tracking loops in position accuracy in the following cases: 1) specular reflections from the delay and Doppler to LOS are barely discernible, such as ground reflections, 2) quasi-static reception conditions with minimal Doppler shift, and 3) open sky conditions with no multipath but considerable high-order dynamics. The latter can reveal otherwise neglected errors due to unknown Doppler error rates and delay interpolation.

[0283] Most importantly, we have demonstrated that SALI’s enhanced measurement quality significantly improves position accuracy, integrity, and availability over conventional sensor fusion architectures. This ensures the enhancement of sensor-assisted high-rate positioning solutions, such as 100Hz. We demonstrated the effectiveness and robustness of SALI in a real-time GNSS RX operating under realistic conditions of frequency and delay dispersion. Such conditions are common in systems such as vehicle navigation and wearable device positioning.

[0284] prospect

[0285] In this paper, all results and performance improvements are derived from using only a subset of the L1 constellation. We expect that more significant benefits will be achieved when processing L5 wideband signals with the same basic physics. Multipath separation and suppression in the frequency domain will enhance L5's finer delay estimates due to the tenfold increase in signal bandwidth and the improved time resolution. This means that SALI improves accuracy on top of L5's inherent multipath resistance. As a result, we expect positioning performance to meet requirements more stringent than two-meter accuracy, such as decimeter-level accuracy, even in challenging environments without carrier phase measurements. The small sensor-assisted hypothesis window also suggests inherent advantages in anti-spoofing and anti-jamming applications, similar to those in NLOS rejection.

[0286] References

[0287] Betz, JW and Kolodziejski, KR (2009). Generalized Theory of CodeTracking with an Early-Late Disctiminator Part II: Noncoherent Processing and Numerical Results. IEEE Transactions on Aerospace and Electronic Systems, 45(4):1557-1564.

[0288] Broumandan, A., Nielsen, J. and Lachapelle, G (2011). Coherent IntegrationTime Limits for Mobile GNSS Receivers in Multipath Fading Environments. InsideGNSS Magazine, pp. 62–65. https: / / insidegnss.com / wpcontent / uploads / 2018 / 01 / marapr11-Broumanden.pdf.

[0289] Cheng, Z. (2016). Global Navigation Satellite System (GNSS) Signal Tracking. Patent: US11513235, filed on July 22, 2016.

[0290] Cheng,Z.(2017).Global Navigation Satellite System(GNSS)SignalTracking.Document:US11187810,2017 March 31st.

[0291] Cheng,Z.,Giger,K.and Bryant,RC(2018).Global Navigation Satellite System(GNSS)Multipath Mitigation.

[0292] Faragher, R., Couronneau, N., Powe, M., Esteves, P., Crockett, M., Martin, H., Ziglioli, E., Higgins, C. and Buckle, D. (2018). 31st International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+2018), 357–375th Street, Miami, FL.

[0293] Faragher, R., Powe, M., Esteves, P., Couronneau, N., Crockett, M., Martin, H., Ziglioli, E. and Higgins, C. (2019).Supercorrelation as a Service:S-GNSS Upgradesfor Smart Devices Navigation (ION GNSS+2019), 256–274 Highway, Miami, FL.

[0294] Feder, M. and Weinstein, E. (1988). Parameter Estimation of Superimposed Signals using the EM Algorithm. IEEE Transactions on Acoustics, Speech, and Signal Processing, 36(4): 477–489.

[0295] Fleury, B., Tschudin, M., Heddergott, R., Dahlhaus, D. and Ingeman Pedersen, K. (1999). Channel Parameter Estimation in Mobile Radio Environments using the SAGE Algorithm. IEEE Journal on Selected Areas in Communications, 17(3): 434–450.

[0296] Gao, G and Lachapelle, G. (2008). A Novel Architecture for Ultra-Tight HSGPS-INS integration. Journal of Global Positioning Systems, 7: 46–61.

[0297] Garin, L. J., van Diggelen, F. and Rousseau, J.-M. (1996). Strobe&Edge Correlator Multipath Mitigation for Code. In Proc. of the 9th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 1996), Kansas City, MO, pp. 657–664. https: / / api.semanticscholar.org / CorpusID:59696276.

[0298] Groves, P., Zhong, Q., Faragher, R., and Esteves, P. (2020). Combining Inertially-aided Extended Coherent Integration (Supercorrelation) with 3D-Mapping-Aided GNSS. In Proc. of the 32nd International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+2020), pp. 2327–2346, Virtual conference.

[0299] ITU-R P.681-8 (2015). Propagation data required for the design of Earth-space land mobile telecommunication systems. Standard, International Telecommunication Union (ITU), Geneva, CH.

[0300] Lehner, A. (2007). Multipath Channel Modelling for Satellite Navigation Systems - Mehrwegekanalmodellierung fur Satelliten-navigationssysteme. PhD thesis, University Erlangen and DLR.

[0301] Lentmaier, M., Krach, B., and Robertson, P. (2008). Bayesian Time Delay Estimation of GNSS Signals in Dynamic Multipath Environments. International Journal of Navigation and Observation, 2008.

[0302] Luo, Y., Hsu, L.-T., and El-Sheimy, N. (2023). A Baseband MLE for Snapshot GNSS Receiver Using Super-Long Coherent Correlation in a Fractional Fourier Domain. NAVIGATION: Journal of the Institute of Navigation, 70(3). https: / / navi.ion.org / content / 70 / 3 / navi.588.

[0303] McGraw, G. A., and Braasch, M. S. (1999). GNSS multipath mitigation using gated and high resolution correlator concepts. In Proc. of the 1999 National Technical Meeting of The Institute of Navigation, San Diego, CA, pp. 333–342.

[0304] Pany, T., Riedl, B., and Winkel, J. (2009). Coherent Integration Time: The longer, the better. Inside GNSS Magazine. https: / / insidegnss.com / auto / novdec09-wp.pdf.

[0305] Schmidt, G. T., and Phillips, R. E. (2010). INS / GPS Integration Architectures. https: / / api.semanticscholar.org / CorpusID:18288801 / .

[0306] Schmidt, G. T., and Phillips, R. E. (2011). INS / GPS Integration Architecture Performance Comparisons. https: / / api.semanticscholar.org / CorpusID:18821037 / .

[0307] Somieski, A., Hollenstein, C., Favey, E., and Schmid, C. (2010). Low-Cost Sensor Fusion Dead Reckoning using a Single Frequency GNSS Receiver Combined with Gyroscope and Wheel Tick Measurements. In Proc. of the 23rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2010), pp. 1645–1652, Portland, OR. https: / / api.semanticscholar.org / CorpusID:60539481.

[0308] Van Dierendonck, A. J., Fenton, P., and Ford, T. (1992). Theory and performance of narrow correlator spacing in a gps receiver. NAVIGATION: Journal of the Institute of Navigation, Volume 39, Number 3, 39(3): 265–284.

[0309] van Nee, R. (1992). The Multipath Estimating Delay Lock Loop. In IEEE Second International Symposium on Spread Spectrum Techniques and Applications, pp. 39–42.

[0310] Xie, P. (2023). Multipath Mitigation. Inside GNSS Magazine. https: / / insidegnss.com / multipath-mitigation / .

Claims

1. A method of processing a GNSS signal received at a receiver, the GNSS signal comprising a data message, the data message comprising a plurality of data bits, the method comprising the following steps: obtaining a sample of the GNSS signal; generating a local carrier signal; Generate local spreading codes; mixing the local carrier signal with the samples to generate carrier-free signal samples; correlating the carrier-free signal samples with the local spreading code to generate a complex-valued correlation result; erasing at least one of the data bits from the complex-valued correlation result to produce a data-free complex-valued correlation result; as well as processing the data-free complex-valued correlation result to produce at least one of: an indication of whether the GNSS signal is detected; and the GNSS measurements of the current epoch, wherein a carrier phase of the local carrier signal is controlled based on a Doppler estimate of the GNSS signal, wherein the Doppler estimate is based on inertial measurements made at the receiver. 2 . The method of claim 1 , further comprising detecting a data bit based on the complex-valued correlation result. 3 . The method of claim 1 , further comprising obtaining data bits detected at a reference receiver.

4. The method according to claim 2 or 3, wherein: The step of erasing at least one of the data bits from the complex-valued correlation result is based on the detected data bit.

5. The method according to claim 4, comprising the steps of: identifying a subframe of the data message associated with the detected data bit; determining that the subframe is not a repeated subframe that has been previously buffered; as well as In response to the determining, the at least one of the data bits is erased from the complex-valued correlation result based on the detected data bit.

6. The method according to claim 4, comprising the steps of: identifying a subframe of the data message associated with the detected data bit; determining a signal quality metric associated with the detected data bits; as well as determining that the subframe is not a repeated subframe that has been previously buffered and that the signal quality metric exceeds a signal quality threshold; as well as In response to the determining, the at least one of the data bits is erased from the complex-valued correlation result based on the detected data bit.

7. The method of claim 2 or 3, further comprising storing the detected data bits in a buffer.

8. The method according to claim 7, comprising the steps of: identifying a subframe of the data message associated with the detected data bit; determining that the subframe is a repeated subframe; as well as Responsive to the determination, the detected data bits are stored in the buffer.

9. The method according to claim 7, comprising the steps of: identifying a subframe of the data message associated with the detected data bit; determining a signal quality metric associated with the detected data bits; determining that the subframe is a repeated subframe and the signal quality metric exceeds a signal quality threshold; as well as Responsive to the determination, the detected data bits are stored in the buffer.

10. The method according to any one of claims 1 to 3, further comprising retrieving the stored data bits from a buffer, wherein: The step of erasing at least one of the data bits from the complex-valued correlation result is based on the retrieved data bit.

11. The method according to claim 10, comprising the steps of: identifying a subframe of the data message associated with at least one data bit to be erased; determining that the subframe is a repeated subframe that has been previously buffered; as well as In response to the determining, at least one of the data bits is erased from the complex-valued correlation result based on the retrieved data bit.

12. The method according to claim 10, comprising the steps of: identifying a subframe of the data message associated with at least one data bit to be erased; determining a signal quality metric; determining that the subframe is a repeated subframe that has been previously buffered and that the signal quality metric does not exceed a signal quality threshold; as well as In response to the determining, at least one of the data bits is erased from the complex-valued correlation result based on the retrieved data bit.

13. The method according to any one of claims 1 to 3, wherein: The GNSS measurement result comprises a code phase of the GNSS signal, and wherein the step of processing the no-data complex-valued correlation result comprises determining the code phase of the GNSS signal based on the no-data complex-valued correlation result.

14. A computer program product comprising a computer program, the computer program comprising computer program code, the computer program code being configured to cause one or more physical computing devices to perform all the steps of the method according to any one of claims 1 to 13 when the computer program is run on the one or more physical computing devices.

15. A global navigation satellite system (GNSS) receiver, the GNSS receiver being configured to process GNSS signals, the GNSS receiver comprising a measurement engine, the measurement engine being configured to: obtaining a sample of the GNSS signal; generating a local carrier signal; Generate local spreading codes; mixing the local carrier signal with the samples to generate carrier-free signal samples; correlating the carrier-free signal samples with the local spreading code to generate a complex-valued correlation result; erasing at least one of the data bits from the complex-valued correlation result to produce a data-free complex-valued correlation result; as well as processing the data-free complex-valued correlation result to produce at least one of: an indication of whether the GNSS signal is detected; and the GNSS measurements of the current epoch, wherein a carrier phase of the local carrier signal is controlled based on a Doppler estimate of the GNSS signal, wherein the Doppler estimate is based on inertial measurements made at the receiver.

Citation Information

Patent Citations

  • Global navigation satellite system (GNSS) signal tracking

    US11187810B2

Cited By

  • Processing a GNSS signal based on doppler estimates

    US12631767B2