GNSS signal lock detection

By tracking and combining the spectrum of multiple satellite signals from a GNSS receiver, the signal locking condition is detected, which solves the problem of inaccurate calculation caused by signal locking loss and improves the positioning accuracy and stability of the GNSS receiver.

CN116466375BActive Publication Date: 2026-03-13U-BLOX
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-18
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing GNSS receivers cannot accurately detect signal loss, leading to inaccurate position, velocity, and time calculations. Furthermore, overly conservative detection may incorrectly discard valid calculations.

Method used

By tracking the individual spectra of multiple satellite signals and combining the spectral values ​​to detect the signal locking condition, the combined values ​​are used to determine whether the signal has been successfully tracked. This is combined with a navigation filter for tracking feedback control, thereby improving the reliability of signal locking.

Benefits of technology

Under low carrier-to-noise ratio conditions, signal locking can be detected more reliably, reducing the risk of inaccurate calculations, improving the positioning accuracy and stability of GNSS receivers, and reducing power consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116466375B_ABST
    Figure CN116466375B_ABST
Patent Text Reader

Abstract

This disclosure relates to detecting GNSS signal lock-in. A method and apparatus for detecting GNSS signal lock-in are provided. The method includes: tracking (210) multiple signals received from corresponding multiple satellites in GNSS, and calculating (240) an individual spectrum of each of the tracked multiple signals to generate multiple individual spectra. The method further includes: combining (242) one or more values ​​from the individual spectra to generate one or more combined values; and detecting (260) a set signal lock-in condition based at least in part on the one or more combined values.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to Global Navigation Satellite Systems (GNSS). Specifically, this invention relates to a method and apparatus for detecting signal locking of signals received from a GNSS. Background Technology

[0002] The technologies used for GNSS positioning are well known in the art. Existing GNSS systems include the Global Positioning System (GPS), Galileo, GLONASS, and the BeiDou Navigation Satellite System (BDS) (also referred to as "BeiDou" in this document). Each GNSS system comprises a satellite constellation (also referred to in the art as a "spacecraft" (SV) that orbits the Earth). Typically, each SV transmits multiple satellite signals. These satellite signals are received by a GNSS receiver whose position needs to be calculated. The GNSS receiver can use the signals to perform multiple ranging measurements to derive information about the distance between the receiver and the corresponding satellite. When a sufficient number of measurements can be taken, the receiver's position can then be calculated using multipoint positioning.

[0003] Once a GNSS receiver has acquired satellite signals, it typically tracks those signals via one or more tracking loops to continuously perform ranging measurements over consecutive epochs. Tracking parameters can include the code phase, carrier phase, frequency, and rate of change of each acquired satellite signal as observed by the GNSS receiver. Code phase and carrier phase measurements are used for multipoint positioning calculations. Frequency measurements are used to calculate the GNSS receiver's velocity, and the various rates of change of frequency are used to calculate the receiver's acceleration.

[0004] Accurate position, velocity, and time (PVT) calculations depend on the accurate tracking of satellite signal parameters. However, signal lock can be lost, meaning the tracking loop will stop accurately tracking the satellite signal. Even when the tracking loop has lost lock to the satellite signal, it will still output tracking parameters. Essentially, the tracking loop is tracking noise, or at least producing inaccurate tracking parameters because they are corrupted by noise. Obviously, this can potentially ruin the PVT calculation. Therefore, it is desirable to detect signal lock conditions (and conversely, detect the loss of signal lock) to determine whether the PVT calculation is reliable. Summary of the Invention

[0005] The aim is to provide an accurate method for detecting signal lock conditions. On one hand, it is important to avoid outputting corrupted PVT solutions caused by lost signal lock. On the other hand, if the detection of signal lock conditions is too conservative, the system may incorrectly discard valid PVT solutions.

[0006] A method and apparatus for detecting GNSS signal locking are provided. The method includes: tracking multiple signals received from corresponding multiple satellites in the GNSS; and calculating the individual spectrum of each of the tracked signals to generate multiple individual spectra. The method further includes: combining one or more values ​​from the individual spectra to generate one or more combined values; and detecting ensemble signal locking conditions based at least in part on one or more combined values.

[0007] In one aspect (not according to the presently claimed invention), a method is provided for detecting a set of signal locking conditions of a set of signals, the method comprising:

[0008] Track multiple received signals;

[0009] Calculate the individual spectrum of each of the multiple signals being tracked to generate multiple individual spectra, each of which includes multiple values;

[0010] Combining one or more values ​​from several individual spectra in the individual spectra to produce one or more combined values; and

[0011] The signal locking condition is detected at least in part based on one or more of the combined values.

[0012] A collection of signals that can be received simultaneously. Specifically, they can be received from a Global Navigation Satellite System (hereinafter referred to as GNSS). Multiple signals can be received from multiple transmitters and / or antennas. The transmitter can be an SV in GNSS.

[0013] Therefore, according to one aspect of the present invention, a method is provided for detecting a set of signal locking conditions of signals received from a Global Navigation Satellite System (hereinafter referred to as GNSS), the method comprising:

[0014] Track multiple signals received from corresponding multiple satellites in the GNSS;

[0015] Calculate the individual spectrum of each of the multiple signals being tracked to generate multiple individual spectra, each of which includes multiple values;

[0016] Combining one or more values ​​from several individual spectra in the individual spectra to produce one or more combined values; and

[0017] The set of signal locking conditions are detected at least in part based on one or more of the combined values.

[0018] This provides a “set locking” detection method that can determine whether a GNSS receiver has signal lock on a set of visible satellite signals from one or more GNSS constellations. Signal “lock” refers to successful signal tracking. Tracking of each signal can include one or more of the following: for example, tracking the carrier frequency of the signal using a frequency-locked loop (FLL); for example, tracking the code phase of the spreading code of the signal using a delay-locked loop (DLL); and for example, tracking the carrier phase of the signal using a phase-locked loop (PLL). Under poor reception conditions, tracking (any or all of these types) may fail for one or more signals. This can lead to inaccurate position, velocity, and time (PVT) calculations. It is desirable to know when tracking fails so that the user or application can be alerted to the failure and / or remedial actions can be taken.

[0019] Because ensemble lock detection integrates information from several spectra, one or more combined values ​​can provide a more reliable indication of whether a satellite signal is being successfully tracked. In at least some cases, this can provide better performance than systems that evaluate signal lock individually for each signal (e.g., based on each individual spectrum). For example, ensemble lock can be detected under difficult reception conditions with low carrier-to-noise ratios, even if it is not possible to reliably detect individual signal locks for each visible satellite. Essentially, the consistency between (correctly) tracked signals is used as a confidence metric in tracking.

[0020] In some examples, each individual spectrum can be an amplitude or amplitude spectrum. That is, the values ​​in each spectrum can be amplitude or amplitude spectra. In some examples, each individual spectrum can be a power spectrum. That is, the values ​​in each spectrum can be power values. Each spectrum can be generated using frequency transforms such as Discrete Fourier Transform (DFT) or Fast Fourier Transform (FFT).

[0021] Combining one or more values ​​from a plurality of individual spectra may include summing the one or more values. In some examples, the one or more values ​​may include the entirety of each individual spectrum. That is, the one or more values ​​may include each value from each of the “plural” individual spectra (for each corresponding frequency band) or be composed of each value from each of the “plural” individual spectra. Therefore, combination may include summing individual spectra, i.e., summing corresponding values ​​across different spectra. (Here, “corresponding” value means a value associated with the same frequency.) Alternatively or additionally, in some examples, one or more values ​​may include the maximum value in each individual spectrum (denoted as “maximum individual value”). Therefore, combination may include summing the maximum individual value.

[0022] The “several” individual spectra considered in the combination may be a subset or the entirety of the individual spectra.

[0023] Tracking multiple signals can include tracking the code phase delay of each signal as well as the carrier frequency and phase.

[0024] One or more combined values ​​may include multiple combined values ​​associated with a corresponding frequency, wherein detecting the set signal lock condition includes: identifying the maximum value among the multiple combined values, and detecting the set signal lock condition at least in part based on the maximum value.

[0025] Combining these values ​​can include summing corresponding values ​​across an individual spectrum. In some examples, combining the values ​​can include summing all corresponding values ​​(from corresponding frequency ranges) across an individual spectrum to produce a combined spectrum. The maximum value among multiple combined values ​​can be referred to as the "maximum combined value". For example, the combined value can be an amplitude value or a power value.

[0026] Detecting a set signal lock condition may include comparing the maximum combination value with a first threshold. Detecting a set signal lock condition may also include detecting a set signal lock condition if the maximum combination value exceeds the first threshold.

[0027] Combining one or more values ​​may include: identifying the maximum value among each of several individual spectra; and summing the identified maximum values ​​to calculate the combined maximum value.

[0028] Detecting a set signal lock condition may include comparing the combined maximum value with a second threshold. If the combined maximum value exceeds the second threshold, a set signal lock condition can be detected. The second threshold may be higher than a first threshold.

[0029] Specifically, a set signal locking condition can be detected if (i) the maximum combined value exceeds a first threshold and (ii) the maximum combined value exceeds a second threshold. If either condition (i) or condition (ii) is not met, a missing (or lost) set signal lock can be detected.

[0030] The values ​​in each individual spectrum can be associated with a corresponding frequency, and the method may further include: for each individual spectrum, identifying the maximum value in the individual spectrum; and detecting individual signal locking conditions based on the identified maximum value.

[0031] For example, the maximum value of each individual's spectrum can be compared to a third threshold. If the maximum value of an individual's spectrum is greater than the third threshold, an individual signal lock-in condition can be detected. The third threshold can be higher than the first threshold and / or lower than the second threshold.

[0032] When no individual signal lock condition is detected for a given signal, the method may include one or both of the following: (a) excluding the signal when detecting a set signal lock condition; and (b) excluding the signal when calculating positionfix.

[0033] When no individual signal lock condition is detected for a given signal, the method may include controlling the GNSS receiver to reacquire the signal.

[0034] Optionally, the third threshold can be selected based on an estimate of the noise power, such as an estimated carrier-to-noise ratio (C / N0). In this way, the threshold can be adapted to signal conditions. In particular, the third threshold can be selected in direct relation to the noise power, such that a higher estimate of the noise power leads to the selection of a higher threshold.

[0035] The method may further include: calculating a fixed position based on the plurality of signals, wherein if a locking condition of the set of signals is detected, the method includes outputting the fixed position.

[0036] Alternatively (or additionally), if no set signal locking condition is detected, the method includes suppressing the position-fixed output.

[0037] In some examples, if no set signal locking condition is detected, the method can include suppressing the computation at the fixed position (instead of computing it and only suppressing its output). This can help reduce computational workload and thus power consumption.

[0038] Alternatively, in some examples, if no set signal locking condition is detected, the method may include outputting a position fixation along with a warning flag. The warning flag can alert the software application or user that the position fixation may be unreliable.

[0039] This method may include calculating a position, velocity, and time (PVT) solution based on multiple signals. Position fixation may be part of the PVT solution.

[0040] The method may also include: if no signal locking condition is detected, controlling the GNSS receiver to reacquire satellite signals.

[0041] Reacquisition may include searching for satellite signals over one or both of the following: the code phase of the spreading code for each satellite signal; and the carrier frequency for each satellite signal. The carrier frequency search may include a search for the Doppler frequencies relative to the nominal carrier frequency of the satellite signal.

[0042] The method may further include: calculating a PVT solution based on multiple signals; and predicting tracking parameters for each of the multiple signals based on the calculated PVT solution.

[0043] The PVT solution can be computed using a navigation filter (e.g., a Kalman filter). The tracking parameters for each signal can include any combination of one or more of the following: carrier phase, carrier frequency, carrier frequency change rate, and code phase. Predicting the tracking parameters can include converting the PVT solution into tracking parameters. In this way, the navigation filter is included in one or more tracking loops for each signal. That is, tracking feedback control is provided via the navigation filter. This provides improved tracking compared to solutions that perform tracking individually for each signal. The navigation filter is able to integrate information from all channels and therefore can produce more accurate (and / or less noisy) predictions of the tracking parameters. The tracking loop can include one or more of the following: delay-locked loop (DLL), phase-locked loop (PLL), and frequency-locked loop (FLL).

[0044] The method may further include: demodulating at least one of a plurality of signals to detect data bits; and wiping off the detected data bits from at least one signal, wherein an individual spectrum of at least one signal is calculated after wiping off the detected data bits.

[0045] This method of demodulating and removing detected data bits can be applied to each of multiple signals. Removing detected data bits from a signal can include multiplying the I / Q samples derived from the signal by the detected data bits.

[0046] An individual spectrum of the at least one signal can be calculated based on a sample set of the at least one signal, wherein the sample set spans multiple detected data bits.

[0047] Specifically, the coherent integration period used to calculate the individual spectrum can span multiple data bits. The coherent integration period can be an integer multiple of the bit duration. This integer multiple can be at least 2, at least 5, at least 10, or at least 15 times the bit duration. This integer multiple can be less than 50 times the bit duration, optionally less than 40 times the bit duration, optionally less than 30 times the bit duration, or optionally less than 25 times the bit duration. For example, for a GPS L1 C / A signal, the data bits can have a bit duration of 20 ms, and the coherent integration period can be 400 ms, i.e., 20 times the bit duration.

[0048] Calculating an individual spectrum may include: calculating a set of spectra, each spectrum in the set being calculated within a corresponding coherent integration time period; and summing the spectra in the set to produce an individual spectrum. This effectively averages the spectrum by (incoherently) summing the results from multiple coherent integration time periods. According to one example, good results are achieved by summing over 7 coherent integration time periods. This can also be viewed as low-pass filtering the calculated spectrum to reduce noise. The number of spectra in the set can be at least 2 or at least 4. This number can be less than or equal to 15, optionally less than or equal to 10.

[0049] The sample can be a complex sample, which includes in-phase (I) components and orthogonal (Q) components.

[0050] Alternatively, or in addition to summing / averaging / low-pass filtering the coherent integration periods when calculating individual spectra, the method may include summing / averaging / low-pass filtering when combining individual spectra. For example, the step of combining one or more values ​​from a plurality of individual spectra may include: (incoherently) summing one or more values ​​over a plurality of coherent integration periods, and / or summing one or more combined values ​​from a plurality of coherent integration periods.

[0051] In some examples, the method may include: demodulating at least one of a plurality of signals to detect data bits; and removing the detected data bits from at least one signal, the method further comprising: estimating the code phase of at least one signal after removing the detected data bits.

[0052] The estimated code phase and the calculated spectrum can be fed as input to a navigation filter that is configured to compute the PVT solution (e.g., as already summarized above).

[0053] A computer program including computer program code is also provided, the computer program code being configured to, when the computer program is run on one or more physical computing devices, cause the one or more physical computing devices to perform all the steps of the method as described in any of the preceding claims. The one or more physical computing devices may include one or more processors of a GNSS receiver or be composed of the one or more processors. The computer program may be stored on a computer-readable storage medium (optionally, a non-transitory computer-readable storage medium).

[0054] In one aspect (not according to the present claim), a wireless receiver is provided, the wireless receiver being configured to receive a plurality of signals, the wireless receiver comprising:

[0055] One or more tracking loops, wherein the one or more tracking loops are configured to track the plurality of signals;

[0056] A frequency estimator configured to calculate the individual spectrum of each of the plurality of signals to generate a plurality of individual spectra; and

[0057] A set-lock detector, the set-lock detector being configured to:

[0058] Combining one or more values ​​from the spectra of several individuals to produce one or more combined values; and

[0059] The set signal locking condition is detected at least in part based on one or more of the combined values.

[0060] The wireless receiver can be configured to receive radio signals. In particular, the wireless receiver can be a GNSS receiver.

[0061] Therefore, according to one aspect of the invention, a measurement engine for a Global Navigation Satellite System (hereinafter referred to as GNSS) receiver is provided, the GNSS receiver being configured to receive signals from GNSS, wherein the measurement engine is configured to track multiple signals received from corresponding multiple satellites in the GNSS, the measurement engine comprising:

[0062] One or more frequency estimators, configured to calculate the individual spectrum of each of the plurality of signals to generate a plurality of individual spectra; and

[0063] A set-lock detector, the set-lock detector being configured to:

[0064] Combining one or more values ​​from several individual spectra in the individual spectra to produce one or more combined values; and

[0065] The set signal locking condition is detected at least in part based on one or more of the combined values.

[0066] The set lock detector can employ any of the methods outlined above for detecting set signal lock conditions.

[0067] The measurement engine may further include: a bit detection unit configured to demodulate at least one of a plurality of signals to detect data bits; and a multiplier configured to remove the detected data bits from at least one signal, wherein a frequency estimator is configured to calculate an individual spectrum of at least one signal after removing the detected data bits. For this purpose, the output of the multiplier can be coupled to the input of the frequency estimator.

[0068] The measurement engine may also include a code phase estimator configured to estimate the code phase of at least one of a plurality of signals.

[0069] The code phase estimator can be configured to estimate the code phase after removing the detected data bits. For this purpose, the output of the multiplier described above can be fed into the input of the code phase estimator.

[0070] The measurement engine may also include a channel-locking detector for each of the multiple signals, the channel-locking detector being configured to detect individual signal locking conditions based on the corresponding individual spectrum of the signal, wherein the measurement engine is configured to exclude the corresponding signal from the detection of the set of signal locking conditions if no individual signal locking condition is detected.

[0071] Each channel-locked detector can be configured to identify the maximum value in the corresponding individual spectrum and detect individual signal locking conditions based on the identified maximum value.

[0072] One or more combined values ​​may include multiple combined values, optionally forming a combined spectrum. A set-lock detector can be configured to identify the largest combined value among the multiple combined values ​​(e.g., the maximum value in the combined spectrum) and detect a set-lock condition at least in part based on the largest combined value. Specifically, the set-lock detector can be configured to: compare the largest combined value with a first threshold; and detect a set-lock condition if the largest combined value exceeds the first threshold.

[0073] Alternatively or additionally, the set-lock detector can be configured to: identify the maximum value in each of a plurality of individual spectra; and sum the identified maximum values ​​to calculate a combined maximum value. The set-lock detector can be configured to: detect set signal locking conditions by comparing the combined maximum value with a second threshold.

[0074] Each channel-locked detector can be configured to: compare the maximum value in the corresponding individual spectrum with a third threshold; and detect an individual signal locking condition if the maximum value exceeds the third threshold.

[0075] A GNSS receiver including the measurement engine described above is also provided.

[0076] The GNSS receiver may further include: an RF front-end for receiving signals; and an intermediate frequency (IF) processing unit for converting the signals from RF to IF. The GNSS receiver may also include: a mixer for down-converting the signals for each signal. The output of the RF front-end may be connected to the input of the IF processing unit. The output of the first IF processing unit may be connected to the input of each mixer.

[0077] The GNSS receiver may further include, for each signal, at least a first correlator coupled to the output of a corresponding mixer, said first correlator being configured to remove the spreading code of the signal. The first correlator may be part of a group of correlators, including a leading correlator, an instantaneous correlator, and a hysteresis correlator.

[0078] The output of the first correlator can be connected to the input of the corresponding multiplier and the corresponding bit detection unit (both of which can be summarized as above).

[0079] The GNSS receiver may further include: a navigation filter configured to calculate a PVT solution based on the plurality of signals; and a parameter conversion unit configured to predict tracking parameters for each of the plurality of signals based on the calculated PVT solution. Attached Figure Description

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

[0081] Figure 1 This is a schematic block diagram based on an example GNSS receiver;

[0082] Figure 2 Examples are provided based on the example. Figure 1 A flowchart of the method performed by the GNSS receiver;

[0083] Figure 3 An example is illustrated by a method performed by a channel-locked detector according to the example;

[0084] Figure 4 The method executed by the set-lock detector according to the example is illustrated; and

[0085] Figure 5 The results are shown for different methods of locking conditions using detection signals.

[0086] It should be noted that these figures are schematic rather than drawn to scale. Detailed Implementation

[0087] Reference will now be made in detail to embodiments of the invention, examples of which are illustrated in the accompanying drawings. The described embodiments should not be construed as limited to those given in this section; embodiments may take different forms.

[0088] Figure 1This is a schematic block diagram of an example GNSS receiver 100. The GNSS receiver is configured to receive satellite signals from GPS satellites. However, it should be emphasized that this is only a non-limiting example, and the GNSS receiver may alternatively or additionally be configured to receive satellite signals from one or more other constellations (e.g., GLONASS, Galileo, and BeiDou). The GNSS receiver includes an antenna 10 for receiving satellite signals. An RF front-end 20 coupled to the antenna 10 is configured to down-convert and digitize the satellite signals received via the antenna 10. The RF front-end is essentially a regulator of 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 at least one ranging signal (such as an L1 C / A signal) for each of a plurality of satellites (SVs).

[0089] The GNSS receiver also includes an intermediate frequency (IF) processing unit 30, which is configured to process satellite signals converted from radio frequency (RF) to IF in the RF front end. The output of the IF processing unit 30 is coupled to the inputs of a plurality of tracking channels 32-1, 32-2, ..., 32-k. Each of these k tracking channels is responsible for processing a specific satellite signal, namely, tracking, demodulating, and analyzing ranging signals acquired from a different satellite. The first tracking channel 32-1 will be described below. However, it should be understood that all tracking channels are substantially the same, and each tracking channel includes the same components performing the same functions. The only difference between them is that they process different satellite signals and therefore can operate using different information or data.

[0090] In each tracking channel 32-1, 32-2, ..., 32-k, the output of the IF processing unit 30 is coupled to the input of the mixer 40. Another input of the mixer 40 receives a local carrier (hereinafter referred to as the replica carrier signal), which is generated to replicate the instantaneous carrier frequency and carrier phase of the incoming satellite signal to be processed by this tracking channel. The locally generated replica carrier signal is a digital sine wave generated by the carrier generator 42. In this way, the mixer 40 is configured to remove (i.e., remove) any residual carrier (e.g., offset caused by the Doppler effect) from the incoming signal by mixing the incoming signal with the locally generated replica carrier signal (in other words, calculating the product of the incoming signal and the local replica carrier signal). Although the carrier of the satellite signal has been removed before the incoming signal reaches the mixer 40, there will be carrier offset or residual carrier caused by the relative motion between the satellite and the GNSS receiver. The carrier generator 42 includes a numerically controlled oscillator (NCO) configured to generate the local replica carrier signal.

[0091] The output of mixer 40 is provided as input to a correlator group, which in this example comprises three correlators 50a to 50c. Each correlator includes a multiplier and an integration and dump (I / D) unit (not explicitly shown in the figure). The multiplier multiplies the input signal with a locally generated copy of the satellite signal's spreading code. The I / D unit integrates and sums the resulting products over a suitable dwell time. The dwell time defines the length of the coherent integration. The correlator group includes an "early" (E) correlator 50a, a "prompt" (P) correlator 50b, and a "late" (L) correlator 50c. As their names suggest, these three correlators use different shifted versions of the copy spreading code. The locally generated copy spreading code is a binary pseudo-random noise (PRN) code signal and is generated by a code generator 52, which operates under the control of a time control signal.

[0092] Code generator 52 is a PRN code generator for a selected PRN code corresponding to a specific satellite signal. It includes an NCO configured to generate a clock signal for generating a local copy of the spreading code for the tracked satellite signal (e.g., an L1 C / A signal). The NCO is controlled by a timing control signal.

[0093] The outputs of correlators 50a to 50c include complex-valued samples (also referred to as in-phase and quadrature-phase samples (I / Q samples)). Specifically, the output of the instantaneous (P) correlator 50b represents the I / Q samples derived from the satellite signal. It should be understood that although the individual correlators 50a to 50c in the correlator group are illustrated as single units, when implemented in hardware, the correlators (like other hardware blocks) will include separate I and Q branches, each comprising a separate correlator. That is, there will be multipliers and I / D units for in-phase (I) samples, and additional multipliers and I / D units for quadrature-phase (Q) samples. However, for simplicity, it is more convenient to illustrate these as single correlators with complex outputs, and this is how they will be described here.

[0094] I / Q samples from the “P” correlator 50b are provided as input to the bit detection unit 61, which is configured to demodulate the satellite signal. That is, the bit detection unit 61 performs bit detection on the I / Q samples to obtain the data bits of the navigation message that have been modulated onto the signal by the satellite before transmission. For example, the data bits could be the data bits of an L1C / A navigation message.

[0095] The goal is to demodulate the data bits of the navigation message in order to decode it. However, according to this example, the detected bits are also used for another purpose. They will be used to remove data bits from the I / Q samples derived from the satellite signal prior to code phase estimation and frequency estimation. This can help improve the accuracy of both processes.

[0096] like Figure 1 As shown, the bits detected by the bit detection unit 61 are output to the bit database 70. The bit database 70 also receives input from the pilot bit database 71. The pilot bit database 71 stores the known pilot bit sequence of the satellite signal. Because these are known pilot bits, it is not necessary to rely on bit detection to determine these bits. In fact, bit detection relying on these pilot bits may be inaccurate because bit detection may fail. In this way, the bit removal results can be improved by using the pilot bits from the pilot bit database 71. In the bit database 70, the known pilot bits from the pilot bit database 71 are combined with the (previously unknown) detected bits provided by the bit detection unit 61. The bit detection database 70 outputs the relevant data bits (pilot bits or detected bits (depending on the signal, e.g., depending on which part of which subframe is being processed) for each bit period. When the signal-carrier-to-noise ratio (C / N0) is high, the bit detection unit 61 detects bits and populates the bit database 70. The subframe structure of GNSS navigation messages is typically cyclic. This is because the navigation message contains ephemeris data that is typically valid for 2 hours. The same ephemeris data is repeated within the 2-hour period (e.g., with a period of 30 seconds). Therefore, once the bit database has been filled with the detected bits, the data bits for subsequent subframes can be accurately predicted within the valid ephemeris period. Bit detection is not required when the signal-carrier-to-noise ratio is low. The bit database 70 outputs the appropriate bits, i.e., either pilot bits or previously detected data bits.

[0097] The data bits output from bit database 70 provide a first input to each multiplier 63a to 63c in the multiplier group. Each bit is represented as +1 or -1. Each multiplier 63a to 63c also receives a second input comprising a set of I / Q samples. The I / Q samples are provided by the outputs of the corresponding correlators 50a to 50c. That is, the first multiplier 63a receives I / Q samples from the leading correlator 50a; the second multiplier 63b receives I / Q samples from the immediate correlator 50b; and the third multiplier 63c receives I / Q samples from the lagging correlator 50c.

[0098] Each multiplier 63a to 63c multiplies its two inputs to remove bits from the I / Q samples. After bit removal, the I / Q samples are provided to the code phase estimator 81. The code phase estimator 81 is configured to estimate the code phase of the spreading code of the satellite signal. Depending on which of the three correlators (E, P, L) and the corresponding multipliers 63a to 63c has produced the currently resident maximum (maximum amplitude) output value, the code phase estimator 81 determines whether to adjust (e.g., increment or decrement) the estimated code phase. The code phase estimation results for each tracking channel (i.e., each code phase tracking loop) are provided to the navigation filter 92.

[0099] The output of the second multiplier 63b, corresponding to the instantaneous correlator 50b, is also provided as input to the frequency estimator 82. The frequency estimator calculates the individual spectrum of the satellite signal processed by the tracking channel. According to this example, the frequency estimator implements a Discrete Fourier Transform (DFT) to calculate the individual spectrum. The individual spectrum includes multiple values ​​corresponding to multiple frequencies. Because bits are removed before calculating the spectrum, the DFT can operate with a longer coherent integration period than usual. In this example, the DFT is integrated over a coherent integration period of 400 milliseconds (ms). This corresponds to 20 bit periods of the L1 C / A navigation message. This longer coherent integration period helps improve the accuracy of the frequency estimation.

[0100] To further enhance the accuracy of frequency estimation, the results from multiple coherent integration periods are summed. In this example, the frequency estimator 82 calculates the sum of seven consecutively computed spectra (i.e., seven separate spectra) calculated within seven corresponding coherent integration periods. Optionally, the sum of the spectra can be divided by the number of spectra to produce a mean spectrum. Incoherent summing (i.e., integration) of the spectra from consecutive coherent integration periods has the effect of averaging or low-pass filtering the frequency estimate for a specific tracking channel. This can help remove noise, thereby improving the accuracy of the frequency estimation.

[0101] The individual spectra generated and output by the frequency estimator 82 are provided as input to the channel-locked detector 83 and the set-locked detector 90. The frequency estimator 82 also provides a second output, which includes an indication of the frequency at which the individual spectra have their maximum amplitude. This is provided as an additional input to the navigation filter 92.

[0102] Channel locking detector 83 is configured to analyze the individual spectrum to detect whether the corresponding channel, including channel locking detector 83, has locked onto the satellite signal it is attempting to track. This is referred to hereinafter as the individual signal locking condition. Specifically, in this example, channel locking detector 83 is configured to identify the maximum amplitude in the individual spectrum. If the maximum amplitude is above a threshold, channel locking detector 83 declares that the individual signal locking condition is met. If the maximum amplitude value is below the threshold, channel locking detector 83 declares that the individual signal locking condition is not met. Channel locking detector 83 outputs an indication of the individual signal locking state. For consistency with the appended claims, the threshold used to detect the individual signal locking state will be referred to as the "third threshold".

[0103] If no individual signal lock condition is detected (i.e., if signal lock has been lost), the measurement results obtained from the corresponding tracking channel will be excluded from any further processing. Specifically, the frequency estimator 82 will not provide individual spectra to the aggregate lock detector 90, nor will it provide frequencies to the navigation filter 92. Similarly, the code phase estimation results generated by the code phase estimator 81 will not be provided to the navigation filter 22.

[0104] In practice, in this embodiment, when the channel lock detector 83 detects a loss of signal lock, the entire tracking channel involved is switched to idle mode. In idle mode, the tracking channel function is not performed. Therefore, no frame in the tracking channel generates output. This helps reduce power consumption on the GNSS receiver.

[0105] It should be noted that individual tracking channels 32-1, 32-2, ..., 32-k do not contain their own tracking loops for the residual carrier frequency and carrier phase or code phase. According to this example, the tracking loop is alternatively completed via navigation filter 92.

[0106] Navigation filter 92 performs the typical function of a navigation filter in a GNSS receiver. It receives code phase estimates (generated by code phase estimator 81) and frequencies (generated by frequency estimator 82) from each tracking channel 32-1, 32-2, ..., 32-k as input. The frequency and code phase estimates together comprise a set of GNSS measurement results. The navigation filter acquires these GNSS measurement results and uses them to calculate the position, velocity, and time (PVT) solution for each epoch. Epochs are separated by update intervals determined by the update rate of the navigation filter.

[0107] In this example, navigation filter 92 includes a Kalman filter (KF). However, in another example, navigation filter 92 may include a least-squares filter. In either case, navigation filter 92 is a recursive state estimator. At each of multiple epochs, the Kalman filter estimates the current values ​​of the state vectors of the state variables and their associated uncertainties. The estimation of the current state vector is based on the estimated states from previous epochs and the current GNSS measurements. The state variables estimated by the Kalman filter include PVT solutions and optional other variables. The use of Kalman filtering (also known as linear quadratic estimation) in GNSS positioning is well known in the art and will not be described in further detail here.

[0108] The PVT solution generated by the Kalman filter for each epoch is output to parameter conversion unit 94. This converts the PVT solution into tracking parameters for each individual signal being tracked. The tracking parameters are then fed back to the individual tracking channel of the corresponding satellite signal. More specifically, parameter conversion unit 94 uses the PVT solution to predict the tracking parameters for each of a plurality of signals. The tracking parameters include: a time control signal for controlling code generator 52; and a frequency control signal for controlling carrier generator 42.

[0109] The frequency control signal ensures that the frequency (and phase) of the local replica carrier signal (generated by carrier generator 42) tracks the actual frequency (and phase) of the residual carrier of the received satellite signal (e.g., L1 signal) as closely as possible. This allows the GNSS receiver to account for Doppler shift due to the relative motion between the receiver and the satellite. By controlling the frequency of the NCO in 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. (The phase of the replica carrier signal is advanced by increasing the frequency; the phase can be delayed by decreasing the frequency). Effectively, this implements a phase-locked loop (PLL) to track the frequency and phase of the residual carrier. However, unlike a conventional PLL in a GNSS receiver, the carrier tracking loop is performed via navigation filter 92. Therefore, the frequency control signal for each channel is calculated taking into account all the information provided by all channels. This can help ensure more accurate and / or robust carrier tracking.

[0110] The timing control signal ensures that the code phase of the copy spreading code used by the "P" correlator tracks the actual code phase of the received satellite signal with as little delay as possible. In this way, correlator groups 50a to 50c and code generator 52 act as part of a code phase tracking loop (in other words, a delay-locked loop (DLL)) for the satellite signal. However, unlike a conventional DLL in a GNSS receiver, the tracking loop is performed via navigation filter 92. Therefore, the timing control signal for each channel is calculated taking into account all the information provided by all channels. This helps ensure more accurate and / or robust code phase tracking.

[0111] The code phase tracking loop and the carrier tracking loop can be viewed as multiple individual tracking loops completed via navigation filter 92. Alternatively, they can be considered as a single global tracking loop that tracks the tracking parameter vectors for all channels together.

[0112] The ensemble locking detector 90 receives individual spectra of the corresponding satellite signals output from tracking channels 32-1, 32-2, ..., 32-k as input. The purpose of the ensemble locking detector is to comprehensively observe whether signal lock is correctly maintained on the ensemble of satellite signals. To this end, it combines information from the individual spectra and analyzes this information to detect signal lock conditions. The following will refer to... Figures 3 to 4 Describe the process in more detail.

[0113] Figure 2 This is an example based on the example. Figure 1 The flowchart of method 200 performed by GNSS receiver 100.

[0114] In step 210, one or more tracking loops of the GNSS receiver track multiple satellite signals in the manner described above. The one or more tracking loops include, for each channel, a carrier generator 42, a mixer 40, correlators 50a to 50c, a code generator 52, multipliers 63a to 63c, a code phase estimator 81, and a frequency estimator 82, as well as a navigation filter 92 and a parameter conversion unit 94.

[0115] In step 220, the bit detection unit 61 of each channel demodulates the data bits of the navigation message encoded into the corresponding satellite signal.

[0116] In step 230, multiplier 63b multiplies the I / Q sample derived from the satellite signal with the detected data bits in order to remove the detected data bits from the satellite signal.

[0117] In step 240, the frequency estimator 82 calculates the individual spectrum based on the bit-removed I / Q samples.

[0118] In step 250, the channel locking detector 83 detects individual signal locking conditions based on the individual spectrum calculated in step 240.

[0119] In step 242, the ensemble lock detector 90 combines the individual spectra from each channel by summing the amplitude values ​​of all the different spectra at each corresponding frequency. This generates a combined spectrum. In other words, by summing the corresponding amplitude values ​​across different channels, the ensemble lock detector 90 calculates a single combined spectrum with the same number of amplitude values ​​as the individual spectra. This can be viewed as an averaging operation across different channels. Optionally, the combined spectrum can be normalized by dividing by the number of individual spectra. In this case, each value in the combined spectrum (at the corresponding frequency or frequency range) is the mean of the corresponding values ​​in the individual spectra (at the same corresponding frequency, i.e., the same frequency range).

[0120] In step 260, the set lock detector 90 detects the set signal lock condition. This is based partly on the maximum amplitude value of each of the individual spectra and partly on the combined spectrum generated in step 242.

[0121] In step 270, navigation filter 92 calculates the PVT solution. In step 272, the GNSS receiver determines whether a set signal locking condition was detected in step 260. If a set signal locking condition is detected, the method proceeds to step 274, where the PVT solution is output by navigation filter 92. If no set signal locking condition is detected, the method proceeds to step 276, where the PVT solution is suppressed (i.e., the PVT solution is not output by navigation filter 92). In this case, the method then proceeds to step 278, where the GNSS receiver changes from tracking operation mode to signal acquisition operation mode. In signal acquisition mode, the GNSS receiver searches for satellite signals to reacquire them. The search includes searching across residual carrier (Doppler) frequencies and across code phases. Once the signal is reacquired, the GNSS receiver returns to tracking mode. In this embodiment, signal acquisition is separated from tracking channels 32-1, 32-2, ..., 32-k and... Figure 1 Other hardware components not listed herein will be executed.

[0122] If the PVT solution is output in step 274, the parameter conversion unit 94 converts the PVT solution into tracking parameters, thereby predicting the tracking parameters that the carrier generator 42 and code generator 52 will use in the tracking cycle of the next epoch.

[0123] Figure 3The flowchart illustrates step 250 in more detail. To detect an individual signal lock condition, the channel lock detector 83 first identifies (in step 252) the maximum amplitude value in the individual spectrum calculated in step 240. Next, in step 254, the channel lock detector 83 compares this maximum amplitude value with a threshold (“third” threshold). If the maximum amplitude value of the individual spectrum is greater than this threshold, the channel lock detector 83 declares that an individual signal lock condition has been detected (step 256). On the other hand, if the maximum amplitude of the individual spectrum is not greater than the threshold, the channel lock detector 83 declares that an individual signal lock condition has not been detected. As described above, when no individual signal lock condition is detected, the corresponding tracking channel is switched to idle mode.

[0124] Figure 4 The flowchart illustrates step 260 in more detail. To detect the set signal locking condition, the set locking detector 90 identifies (in step 262) the maximum amplitude value in the combined spectrum calculated in step 242. Next, in step 264, the set locking detector 90 compares the maximum amplitude value of the combined spectrum with a threshold (referred to as the "first" threshold, in accordance with the appended claims).

[0125] exist Figure 4 In the second branch of the flowchart, the ensemble lock detector 90 analyzes other frequency information. In step 263, the ensemble lock detector identifies the maximum amplitude in the individual spectra received from the corresponding frequency estimators 82 of various tracking channels. In step 265, the ensemble lock detector 90 sums these individual maximum values ​​together (i.e., sums them). In step 267, the ensemble lock detector 90 compares the resulting sum with a second threshold.

[0126] The ensemble lock detector 90 tests two conditions to determine whether ensemble lock has been detected. If the maximum combined amplitude value (from step 262) is greater than a first threshold, and the sum of the individual maximum amplitude values ​​(from step 265) is greater than a second threshold, then ensemble lock is declared to have been detected. Otherwise, if neither of these conditions is met, then ensemble lock is declared not to have been detected. The combination of the two conditions in… Figure 4 The value is indicated by the logical AND operator 268.

[0127] The first, second, and third thresholds can be selected at appropriate levels based on the characteristics of the GNSS receiver and the available signal environment.

[0128] The first threshold relates to the maximum amplitude in the combined amplitude spectrum. In this embodiment, the combined amplitude spectrum is an average (specifically, mean) spectrum. Good results are achieved by setting the first threshold to the lowest of the three thresholds. In other embodiments, if the combined amplitude spectrum is generated by summing individual spectra without dividing by the number of signals, it may be necessary to scale the first threshold according to the number of signals (because tracking channels 32-1, 32-2, ..., 32-k can track different numbers of signals at different times).

[0129] The second threshold involves the sum of the maximum values ​​from the individual spectra. This sum of maximum values ​​is typically larger than the maximum amplitude in the combined amplitude spectrum; therefore, the second threshold is usually set higher than the first threshold. Again, the inventors have found that this produces good results.

[0130] The third threshold relates to the maximum amplitude of the spectrum for each individual signal. Good results are obtained by setting the third threshold to a level between the first and second thresholds. In particular, it has been found beneficial to bias the third threshold, resulting in very few false alarms, even at the cost of generating a large number of false alarms. That is, the third threshold is biased so that it rarely eliminates valid signal locks. The third threshold can be chosen such that it correctly detects the loss of signal lock (i.e., tracking noise) in approximately half of all cases, even if this means that it incorrectly classifies noise as valid signal lock in the other half (noise) cases. The reason for biasing the third threshold in this way is that it only needs to provide weak initial filtering, i.e., only the extremely “worst” individual signals are ignored by the individual channel lock detector 83, in order to avoid passing information to the noise-based ensemble lock detector 90. The individual spectra of the remaining signals can be analyzed by the ensemble lock detector 90, which is better suited for a comprehensive observation of whether the tracking channel has correctly locked onto the set of valid satellite signals.

[0131] In some examples, the threshold can be a fixed threshold. However, in others, one or more thresholds can be selected dynamically. For example, one or more thresholds can be selected based on an estimate of the current carrier-to-noise ratio (C / N0). The higher the noise power, the higher the appropriate threshold may be. A suitable set of thresholds for different noise power levels can be stored in a lookup table on the GNSS receiver.

[0132] Figure 5 The results obtained using different methods of locking conditions with detection signals are illustrated. Figure 5The various plots illustrate the conditional probability density functions (PDFs) corresponding to (i) the noise hypothesis (the black curves on the left in each plot) and (ii) the effective signal lock hypothesis (the gray curves on the right in each plot). The x-axis represents the amplitude values ​​in the spectrum. The y-axis represents the probability. Thus, these plots illustrate how the amplitude values ​​are distributed in the case of effective signal lock and in the case of noise (no signal lock). In one example according to this disclosure, the vertical black line on each plot indicates the decision threshold selected in each case.

[0133] exist Figure 5 In (a), the amplitude values ​​are the maximum amplitude values ​​from individual channels. In other words, each PDF is a histogram of the maximum amplitude values ​​across many individual spectra. Individual spectra are calculated over a coherent integration period of 400 ms, but there is no incoherent integration (summation). It can be seen that the PDF of noise largely overlaps with the PDF of the effective signal lock hypothesis. Therefore, it is difficult to distinguish between the noise hypothesis and the effective signal lock hypothesis. Decisions based on applying a threshold to the “raw” frequency amplitude values ​​will produce many errors; that is, a large proportion of noisy cases will be misclassified as having effective signal lock, and a large proportion of effective signal lock cases will be misclassified as noise.

[0134] exist Figure 5 In (b), before identifying the maximum amplitude, individual spectra are formed by incoherently integrating (i.e., summing) the seven consecutive spectra to perform low-pass filtering on the spectra (step 252). The values ​​for which the distributions are plotted are still based on isolated individual spectra and summed only on the spectra of the same channel. It can be seen that the spacing between PDFs is improved due to low-pass filtering. However, PDFs still overlap to some extent. Therefore, regardless of where the threshold is set, there will still be a non-negligible number of misclassifications. Figure 5 (b) illustrates the test performed in step 250 of the exemplary method described above. The threshold indicated by the vertical black line in this graph is the third threshold discussed above.

[0135] exist Figure 5 In (c), before identifying the maximum value in the combined spectrum, the amplitude value is obtained by averaging (meaning) the values ​​at corresponding frequencies of the individual spectra across different channels to generate the combined spectrum. Low-pass filtering is not applied. That is, the individual spectra are directly derived from the DFT during the 400ms coherent integration period. Figure 5 (a) and Figure 5 (b) Compared to the two, the separation of PDF is further improved.

[0136] exist Figure 5In (d), when generating the combined spectrum, both cross-channel averaging and low-pass filtering within each channel are applied before identifying the maximum value in the combined spectrum. In other words, the individual spectra are based on the sum of seven DFTs over seven consecutive 400ms coherent integration periods, and the individual spectra are combined by summing them across channels. The values ​​for which the distribution is plotted are the maximum values ​​of the resulting combined spectrum. As seen in the graph, with Figure 5 Compared to Figure 5(c), this leads to increased accuracy (reduced misclassification). Figure 5 (d) corresponds to the tests performed in steps 262 and 264. The black vertical line in the graph is the first threshold discussed above.

[0137] exist Figure 5 In (e), the amplitude values ​​are based on finding the maximum amplitude in each individual spectrum, summing the found maximum amplitudes, and dividing by the number of individual spectra. This generates a combined maximum, which is the average (mean) of the maximum amplitude values ​​in the individual spectra. No low-pass filtering is applied, i.e., there is no incoherent summation during the coherent DFT integration period. It can be seen that the overlap between distributions is minimized.

[0138] Finally, Figure 5 In (f), the amplitude value is still based on the combined (mean) maximum value derived from the maximum values ​​in the individual spectra (as in...). Figure 5 (e)); however, before finding the individual maximum, a low-pass filter (incoherent integration / summation) is used to generate the individual spectrum. Here, it can be seen that the peaks in the distribution are widely separated. This means that not only can a low error rate be expected, but the effective signal locking and noise classification are also less sensitive to the choice of the threshold used to distinguish between the two classes. Figure 5 (f) corresponds to the tests performed in steps 263, 265, and 267, although the number of individual spectra divided by (normalized) is not explicitly shown in the graph. The black vertical line in the graph is the second threshold discussed above.

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

[0140] For example, it should be understood that transformations other than the DFT can be used to generate individual spectra.

[0141] Pilot bit database 71 is not required. In some examples, bit database 70 may consist only of the bits detected by bit detection unit 61. In this case, bit detection unit 61 will be responsible for detecting all data bits of the navigation message (including any pilot bits). This can help simplify the design of the GNSS receiver. However, if the bit detection unit incurs bit detection errors when demodulating pilot bits, these errors may degrade bit removal to some extent.

[0142] Figure 1 The example uses a vector tracking loop, i.e., all tracking loops are arranged via navigation filter 92. While considered advantageous, this is not necessary. For example, as is customary, the GNSS receiver could instead implement separate PLLs and DLLs for each channel individually.

[0143] exist Figure 2 In one example, the PVT solution is calculated regardless of whether an ensemble signal lock condition is detected. If no ensemble signal lock condition is detected, the output of the PVT solution is suppressed. However, in other examples, the calculation of the PVT solution can be suppressed if no ensemble signal lock condition is detected. For example, the GNSS receiver can be configured such that all tracking channels enter idle mode if no ensemble signal lock condition is detected. This prevents the navigation filter from calculating the PVT solution for the current epoch. After the GNSS receiver has reacquired satellite signals (i.e., once the signal lock condition is detected again), the frequency and code phase estimates can be provided to the navigation filter again.

[0144] In the example discussed above, all individual spectra that detected individual signal locking conditions were used to detect ensemble signal locking. This is generally desirable because it allows for the maximization of the use of available information. However, this is not necessary. For example, the ensemble locking detector can select a subset of the available individual spectra to evaluate the ensemble signal locking conditions. Several individual spectra can be selected based on criteria such as the carrier-to-noise ratio (C / N0), where signals with a higher ratio are preferred. Alternatively, they can be randomly selected, for example, to implement the Random Sample Consensus (RANSAC) method.

[0145] In the example above, based on two criteria (corresponding to...) Figure 4 The two branches of the flowchart in the diagram are used to detect the set signal locking condition. In other examples, only one of these criteria may be used. Furthermore, it will be apparent to those skilled in the art that other methods can be used to design other criteria to select and combine values ​​from individual spectra to produce one or more combined values. For example, instead of deriving the mean of the maximum amplitude from each individual spectrum as described above, the median of the maximum amplitude can be used to derive the average.

[0146] Similarly, ensemble signal lock conditions or individual signal lock conditions do not necessarily have to be based on one or more maximum values ​​in the corresponding spectrum. Other descriptive statistics can be used (as alternatives to or supplementary to the maximum values). In some cases, these can be based on a single value from the spectrum. For example, ordinal statistics, such as the second, third, or fourth largest value (etc.), or values ​​defining a certain percentile, such as the 75th, 80th, 85th, 90th, or 95th percentile. In other cases, they can be based on a combination of multiple values ​​from the spectrum. For example, descriptive statistics can be constructed by summing or averaging N maximum values, or by summing or averaging all values ​​above a specific percentile.

[0147] In some cases, using values ​​other than the maximum value can improve the robustness of the method because it reduces the sensitivity of signal lock detection to outlier noise.

[0148] Another useful statistic is the range from the maximum to the minimum value in any given spectrum. This can capture the amount by which the maximum value exceeds the noise lower bound. Similarly, the maximum (and minimum) values ​​here can be replaced with other statistics. For example, the range between the 5th and 95th percentiles can be examined instead of the range from the minimum to the maximum. Likewise, this approach may be more robust to outliers by avoiding direct use of extreme values ​​(maximum and minimum).

[0149] In some cases, such as if the channel is dispersed, signal energy may be distributed across more than one spectral peak. One way to take this into account in signal locking detection is to explicitly consider multiple peaks in the spectrum. For example, for a spectrum (which may be an individual spectrum or a combination of spectra), the method may include identifying two or more local maxima in the spectrum and summing the values ​​of the identified local maxima. Detecting an associated (individual or combination of) signal locking condition may include comparing the sum of the local maxima with a predetermined threshold; and if the sum exceeds the predetermined threshold, signal locking is detected. In this way, the signal locking condition may be based on a combination of values ​​at significant frequencies spaced apart in the spectrum (in this example, the sum).

[0150] Generally, it is beneficial that each signal lock condition characterizes the energy concentration in the frequency domain (for individual or combined spectra). When effective signal lock is achieved, the energy in the spectrum will typically be concentrated around the signal. However, when there is no effective signal lock and only noise is received, the (noise) energy will typically be distributed across the entire spectrum. Therefore, in the case of noise, the statistics characterizing the energy concentration will yield lower values.

[0151] Antenna 10 and RF front-end 20 will always be implemented in hardware. It should be understood that... Figure 1 Other components shown can be implemented in hardware, software, or a combination of both. Furthermore, some components can be combined together or implemented separately in a given implementation. In this implementation, blocks 20, 30, 40, 42, 50a to 50c, and 52 are implemented in hardware, and the remaining components (downstream in the signal processing chain) are implemented in software. Blocks 61, 63a to 63c, 70, 71, 81, 82, and 83 for each channel, along with the set lock detector 90, are implemented together in software as a measurement engine running on a single processor. The navigation filter 92 and the parameter conversion unit 94 are implemented in a separate software module from the measurement engine. This separate software module can run on the same processor as the measurement engine or on a separate processor. Furthermore, it should be noted that the foregoing is merely an exemplary implementation. Other implementations are possible, which may involve different division and distribution of various functions between hardware and software or between different hardware components, software modules, and / or processors running the software.

[0152] In the claims, any reference numerals placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps other than those listed in the claims. However, in the use of the word "comprising," it also discloses, as a special case, the possibility that the listed elements or steps are exhaustive, i.e., the apparatus or method may consist only of those elements or steps. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. Embodiments can be implemented by hardware comprising several different elements. In apparatus claims enumerating several means, several of these means may be implemented by one and the same item of hardware. The mere fact that certain measures are stated in mutually different dependent claims does not indicate that a combination of these measures cannot be used advantageously. Furthermore, 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.

[0153] In flowcharts, summaries, claims, and specifications related to methods, the order in which steps are listed is not generally intended to limit the order in which they are performed. These steps may be performed in a different order than indicated (unless specifically stated otherwise, or where subsequent steps depend on the product of previous steps). However, in some cases, the order in which steps are described may reflect a preferred order of operations.

[0154] Furthermore, in general, various implementations can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. For example, some aspects may be implemented in hardware, while others may be implemented in firmware or software, which may be executed by a controller, microprocessor, or other computing device, but these are not limiting examples. Although the various aspects described herein may be illustrated and described as block diagrams, flowcharts, or other graphical representations, it is well understood that these blocks, apparatuses, systems, techniques, or methods described herein may be implemented as non-limiting examples in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.

[0155] The embodiments described herein can be implemented by computer software executable by a device's data processor, such as in a processor entity, or by hardware, or by a combination of software and hardware. Furthermore, it should be noted in this regard that any block in the logical flow of the figures may represent a program step, or interconnected logical circuitry, blocks and functions, or a combination of program steps and logical circuitry, blocks and functions. The software may be stored on physical media such as memory chips or memory blocks implemented within a processor, magnetic media such as hard disks or floppy disks, and optical media such as DVDs and their data variants, CDs.

[0156] The memory can be of any type suitable for the local technological environment and can 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 can be of any type suitable for the local technological environment and, by way of non-limiting example, can 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.

[0157] The implementations discussed herein can be practiced in a variety of components, such as integrated circuit modules. The design of integrated circuits is typically a highly automated process. Sophisticated and powerful software tools can be used to transform logic-level designs into semiconductor circuit designs ready to be etched and formed on a semiconductor substrate.

Claims

1. A method for detecting a set of signal locking conditions of signals received from a Global Navigation Satellite System (GNSS), the method comprising the following steps: Track (210) multiple signals received from corresponding multiple satellites in the GNSS; Calculate (240) the individual spectrum of each of the multiple signals being tracked to generate multiple individual spectra, each of which includes multiple values; Combining (242) one or more values ​​from several individual spectra in the individual spectra to produce one or more combined values; and The set signal locking condition is detected (260) at least in part based on one or more of the combined values.

2. The method according to claim 1, wherein, The one or more combined values ​​include a plurality of combined values ​​associated with a corresponding frequency, wherein the step of detecting the set signal locking condition includes: identifying (262) the maximum value among the plurality of combined values, and detecting (268) the set signal locking condition based at least in part on the maximum value.

3. The method according to claim 1 or 2, wherein, The steps of combining one or more values ​​include: Identify (263) the maximum value of each of the individual spectra; and The identified maximum values ​​in each of the individual spectra are summed (265) to calculate the combined maximum value.

4. The method according to claim 1 or 2, wherein, The value in each individual spectrum is associated with a corresponding frequency, and the method further includes the following steps: for each individual spectrum, Identify (252) the maximum value in the spectrum of each individual; and Individual signal locking conditions (256) are detected based on the maximum value identified in the spectrum of each individual.

5. The method according to claim 1 or 2, further comprising calculating (270) a fixed position based on the plurality of signals, wherein, If the set signal locking condition is detected, the method includes outputting (274) the position fixed.

6. The method according to claim 5, wherein, If the set signal locking condition is not detected, the method includes suppressing (276) the position-fixed output.

7. The method according to claim 1 or 2, further comprising the following step: If the set signal locking condition is not detected, the GNSS receiver is controlled to reacquire (278) satellite signals.

8. The method according to claim 1 or 2, further comprising the step of: The (270) PVT solution is calculated based on the aforementioned multiple signals; as well as The tracking parameters of each of the plurality of signals are predicted (280) based on the calculated PVT solution.

9. The method according to claim 1 or 2, further comprising the step of: Demodulate (220) at least one of the plurality of signals to detect data bits; as well as Remove (230) the detected data bits from the at least one signal; Wherein, after removing the detected data bits (230), the individual spectrum of the at least one signal is calculated (240).

10. The method according to claim 9, wherein, (240) The individual spectrum of the at least one signal is calculated based on a sample set of the at least one signal, wherein the sample set spans multiple detected data bits.

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

12. A measurement engine for a GNSS receiver of a Global Navigation Satellite System, the GNSS receiver being configured to receive signals from GNSS, wherein, The measurement engine is configured to track multiple signals received from corresponding multiple satellites in the GNSS, and the measurement engine includes: One or more frequency estimators (82), said one or more frequency estimators being configured to calculate (240) the individual spectrum of each of the plurality of signals to generate a plurality of individual spectra; and Set-lock detector (90), the set-lock detector being configured to: Combining (242) one or more values ​​from several individual spectra in the individual spectra to produce one or more combined values; and The (260) set signal locking condition is detected at least in part based on one or more of the combined values.

13. The measurement engine of claim 12, further comprising: Bit detection unit (61), the bit detection unit is configured to demodulate (220) at least one of the plurality of signals to detect data bits; as well as A multiplier (63b) configured to remove detected data bits from the at least one signal. The frequency estimator (82) is configured to calculate (240) the individual spectrum of the at least one signal after removing the detected data bits.

14. The measurement engine according to claim 12 or 13, further comprising: Code phase estimator (81), the code phase estimator being configured to estimate the code phase of at least one of the plurality of signals.

15. The measurement engine according to claim 12 or 13, further comprising: A channel-locking detector (83) is used for each of the plurality of signals, the channel-locking detector being configured to detect (250) individual signal locking conditions based on the respective individual spectrum of the signals. The measurement engine is configured to exclude the use of the corresponding signal in the detection of the set signal locking condition if the individual signal locking condition is not detected.

Citation Information

Patent Citations

  • Method and apparatus for detecting lock status of a GPS signal

    EP2007020A2

  • Method and apparatus for in-line detection of satellite signal lock

    US6029044A