CN116466375A - Detecting GNSS signal lock - Google Patents

Detecting GNSS signal lock Download PDF

Info

Publication number
CN116466375A
CN116466375A CN202310101337.0A CN202310101337A CN116466375A CN 116466375 A CN116466375 A CN 116466375A CN 202310101337 A CN202310101337 A CN 202310101337A CN 116466375 A CN116466375 A CN 116466375A
Authority
CN
China
Prior art keywords
signal
individual
signals
spectrum
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310101337.0A
Other languages
Chinese (zh)
Inventor
程振澜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
U Blox AG
Original Assignee
U Blox AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by U Blox AG filed Critical U Blox AG
Publication of CN116466375A publication Critical patent/CN116466375A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/29Acquisition or tracking or demodulation of signals transmitted by the system carrier including Doppler, related
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/03Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
    • G01S19/07Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing data for correcting measured positioning data, e.g. DGPS [differential GPS] or ionosphere corrections
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
    • G01S19/256Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS relating to timing, e.g. time of week, code phase, timing offset

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

The present disclosure relates to detecting GNSS signal lock. A method and apparatus for detecting GNSS signal lock is provided. The method comprises the following steps: tracking (210) a plurality of signals received from a respective plurality of satellites in the GNSS, and calculating (240) an individual spectrum for each of the plurality of signals being tracked to produce a plurality of individual spectra. The method further comprises the steps of: combining (242) one or more values from several of the individual spectra to produce one or more combined values; and detecting (260) a set signal lock condition based at least in part on the one or more combined values.

Description

Detecting GNSS signal lock
Technical Field
The present invention relates to Global Navigation Satellite Systems (GNSS). In particular, the present invention relates to a method and apparatus for detecting signal lock of a signal received from a GNSS.
Background
Techniques for GNSS positioning are well known in the art. Existing GNSS include Global Positioning Systems (GPS), galileo (Galileo), GLONASS (GLONASS), and beidou navigation satellite systems (BDS) (also referred to herein simply as "beidou"). Each GNSS includes a constellation of satellites (also known in the art as a "spacecraft" (SV) that orbit the earth. Typically, each SV transmits a plurality of satellite signals. These satellite signals are received by a GNSS receiver whose position needs to be calculated. The GNSS receiver may make a plurality of ranging measurements using the signals to derive information about the distance between the receiver and the corresponding satellite. When a sufficient number of measurements can be made, the position of the receiver can then be calculated by multi-point positioning.
Once the GNSS receiver has acquired satellite signals, it typically tracks those signals via one or more tracking loops in order to continuously make ranging measurements over successive epochs (epochs). The tracking parameters may include code phase, carrier phase, frequency, and rate of change of frequency of each acquired satellite signal observed by the GNSS receiver. The code phase and carrier phase measurements are used for multi-point location resolution. The frequency measurements are used to calculate the velocity of the GNSS receiver and the respective frequency rates of change are used to calculate the acceleration of the receiver.
Accurate position, velocity and time (PVT) solutions depend on accurate tracking of satellite signal parameters. However, signal lock may be lost, meaning that the tracking loop may stop accurately tracking the satellite signal. Even when the tracking loop has lost lock on the satellite signal, it will output tracking parameters. Essentially, the tracking loops are tracking noise, or at least produce inaccurate tracking parameters, because they are corrupted by noise. Obviously, this may corrupt the PVT solution. It is therefore desirable to detect signal lock conditions (and conversely, to detect loss of signal lock) in order to determine whether PVT solutions are reliable.
Disclosure of Invention
It is desirable to provide an accurate method of detecting signal lock-in conditions. On the one hand, it is important not to output corrupted PVT solutions caused by signal lock loss. On the other hand, if the detection of signal lock conditions is too conservative, the system may erroneously discard valid PVT solutions.
A method and apparatus for detecting GNSS signal lock is provided. The method comprises the following steps: tracking a plurality of signals received from a respective plurality of satellites in the GNSS; and calculating an individual (differential) spectrum for each of the tracked plurality of signals to produce a plurality of individual spectra. The method further comprises the steps of: combining one or more values from the several individual spectra to produce one or more combined values; and detecting a set (ensable) signal lock condition based at least in part on the one or more combined values.
In one aspect (not in accordance with the presently claimed invention) there is provided a method of detecting a set signal lock condition of a set of signals, the method comprising:
tracking the received plurality of signals;
calculating an individual spectrum for each of the plurality of signals being tracked to produce a plurality of individual spectra, each individual spectrum comprising a plurality of values;
Combining one or more values from several of the individual spectra to produce one or more combined values; and
the signal lock condition is detected based at least in part on the one or more combined values.
A set of signals may be received simultaneously. In particular, they may be received from a global navigation satellite system (hereinafter GNSS). A plurality of signals may be received from a corresponding plurality of transmitters and/or antennas. The transmitter may be an SV in a GNSS.
Thus, according to one aspect of the present invention, there is provided a method of detecting a collective signal lock condition of signals received from a global navigation satellite system (hereinafter referred to as GNSS), the method comprising:
tracking a plurality of signals received from a respective plurality of satellites in the GNSS;
calculating an individual spectrum for each of the plurality of signals being tracked to produce a plurality of individual spectra, each individual spectrum comprising a plurality of values;
combining one or more values from several of the individual spectra to produce one or more combined values; and
the aggregate signal lock condition is detected based at least in part on the one or more combined values.
This may provide a "set lock" detection method that is capable of determining whether a GNSS receiver has signal lock on a set of visible satellite signals in one or more GNSS constellations. Signal "lock" refers to successful tracking of a signal. The tracking of each signal may include one or more of the following: for example, using a Frequency Locked Loop (FLL) to track the carrier frequency of the signal; tracking the code phase of the spreading code of the signal, for example using a Delay Locked Loop (DLL); and tracking the carrier phase of the signal, for example using a Phase Locked Loop (PLL). Under poor reception conditions, tracking (of any or all of these types) may fail for one or more signals. This may lead to inaccurate position, velocity and time (PVT) solutions. It is desirable to know when tracking has failed so that the user can be alerted or applied to the failure and/or remedial action taken.
Because the set lock detection integrates information from several spectra, one or more combined values may provide a more reliable indication of whether the satellite signal is being successfully tracked. In at least some cases, this may provide better performance than systems that evaluate signal lock only for each signal individually (e.g., based on each individual spectrum). For example, under difficult reception conditions with low carrier to noise ratios, even if it is not possible to reliably detect individual signal lock for each visible satellite, aggregate lock may be detected. Essentially, the consistency between the (correctly) tracked signals is used as a confidence indicator in the tracking.
In some examples, each individual spectrum may be an amplitude or an amplitude spectrum. That is, the values in each spectrum may be amplitudes or amplitude spectra. In some examples, each individual spectrum may be a power spectrum. That is, the value in each spectrum may be a power value. Each spectrum may be generated using a frequency transform such as a Discrete Fourier Transform (DFT) or a Fast Fourier Transform (FFT).
Combining one or more values from several individual spectra may include summing the one or more values. In some examples, the one or more values may include all of each individual spectrum. That is, the one or more values may include or consist of each value from each of the "number" of individual spectrums (for each respective frequency bin). Thus, combining may comprise summing the individual spectra, i.e. summing the corresponding values across the different spectra. Alternatively or additionally, in some examples, one or more values may include a maximum value (denoted as "maximum individual value") in each individual spectrum.
The "several" individual spectra considered in the combination may be a subset or all of the individual spectra.
Tracking the plurality of signals may include tracking a code phase delay of each signal and a carrier frequency and phase.
The one or more combined values may include a plurality of combined values associated with respective frequencies, wherein detecting the aggregate signal lock condition includes: a maximum value of the plurality of combined values is identified, and a set signal lock condition is detected based at least in part on the maximum value.
Combining these values may include: corresponding values across the individual spectra are summed. In some examples, combining the values may include: all corresponding values (from corresponding frequency bins) across the individual spectrum are summed to produce a combined spectrum. The maximum value of the plurality of combined values may be expressed as a "maximum combined value". For example, the combined value may be an amplitude value or a power value.
Detecting the aggregate signal lock condition may include: the maximum combined value is compared to a first threshold. Detecting the aggregate signal lock condition may include: if the maximum combined value exceeds a first threshold, a collective signal lock condition is detected.
Combining the one or more values may include: identifying a maximum in each of a number of individual spectra; and summing the identified maxima to calculate a combined maximum.
Detecting the aggregate signal lock condition may include: the combined maximum is compared to a second threshold. If the combined maximum exceeds a second threshold, an aggregate signal lock condition may be detected. The second threshold may be higher than the first threshold.
In particular, if (i) the maximum combined value exceeds a first threshold and (ii) the combined maximum value exceeds a second threshold, then a collective signal lock condition may be detected. If condition (i) or condition (ii) is not met, a lack (or loss) of aggregate signal lock may be detected.
The values in each individual spectrum may be associated with a respective frequency, and the method may further comprise: for each individual spectrum, identifying a maximum in the individual spectrum; and detecting an individual signal lock condition based on the identified maximum value.
For example, the maximum value of each individual spectrum may be compared to a third threshold. If the maximum value of the individual spectrum is greater than the third threshold, an individual signal lock condition may be detected. The third threshold may be higher than the first threshold and/or lower than the second threshold.
When an individual signal lock condition is not detected for a given signal, the method may include one or both of: (a) Excluding the aggregate signal when detecting the signal lock condition; and (b) excluding the signal when calculating the position fix (position fix).
When an individual signal lock condition is not detected for a given signal, the method may include: the GNSS receiver is controlled to reacquire the signal.
Alternatively, the third threshold may be selected based on an estimate of the noise power, e.g., based on an estimated carrier-to-noise ratio (C/N) 0 ). In this way, the threshold may be adapted to the signal conditions. In particular, the third threshold may be selected in direct relation to the noise power, such that a higher estimate of the noise power results in a higher threshold being selected.
The method may further comprise: calculating a position fix based on the plurality of signals, wherein if the aggregate signal lock condition is detected, the method includes outputting the position fix.
Alternatively (or additionally), if a collective signal lock condition is not detected, the method includes suppressing the fixed-position output.
In some examples, if a aggregate signal lock condition is not detected, the method may include suppressing the fixed-position calculation (rather than calculating it and suppressing only its output). This may help to reduce computational effort and thus power consumption.
Alternatively, in some examples, if the aggregate signal lock condition is not detected, the method may include outputting the position fix with a warning flag. The warning flag may alert the software application or user that the position fix may be unreliable.
The method may include: position, velocity and time (PVT) solutions are calculated based on the plurality of signals. The position fix may be part of the PVT solution.
The method may further comprise: if the aggregate signal lock condition is not detected, the GNSS receiver is controlled to reacquire satellite signals.
Reacquiring may include searching for satellite signals over a range of one or both of: code phase of spreading code of each satellite signal; and the carrier frequency of each satellite signal. The carrier frequency search may include: search for doppler frequency with respect to the nominal carrier frequency of the satellite signal.
The method may further comprise: calculating a PVT solution based on the plurality of signals; and predicting a tracking parameter for each of the plurality of signals based on the calculated PVT solution.
The PVT solution may be calculated using a navigation filter (e.g., a kalman filter). The tracking parameters for each signal may include any one or any combination of two or more of the following: carrier phase, carrier frequency rate of change, and code phase. The predictive tracking parameters may include: the PVT solution is converted 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 a navigation filter. This may provide improved tracking compared to solutions where tracking is performed for each signal separately. The navigation filter can integrate the information from all channels and thus can produce a more accurate (and/or less noisy) prediction of the tracking parameters. The tracking loop may include one or more of the following: delay Locked Loops (DLLs), phase Locked Loops (PLLs), and Frequency Locked Loops (FLLs).
The method may further comprise: demodulating at least one of the plurality of signals to detect a data bit; and removing (switching off) the detected data bits from the at least one signal, wherein an individual spectrum of the at least one signal is calculated after removing the detected data bits.
This method of demodulating and removing the detected data bits may be applied to each of the plurality of signals. Removing the detected data bits from the signal may include: the I/Q samples derived from the signal are multiplied by the detected data bits.
An individual spectrum of the at least one signal may be calculated from a set of samples of the at least one signal, wherein the set of samples spans a plurality of detected data bits.
In particular, the coherence integration period used to calculate the individual spectrum may span multiple data bits. The coherence integration period may be an integer multiple of the bit duration. The integer multiple may be at least 2 times, at least 5 times, at least 10 times, or at least 15 times the bit duration. The integer multiple may be less than 50 times the bit duration, alternatively less than 40 times the bit duration, alternatively less than 30 times the bit duration, or alternatively less than 25 times the bit duration. For example, for a GPS L1C/A signal, the data bits may have a bit duration of 20 (milliseconds) ms, and the coherence integration period may be 400ms, i.e., 20 times the bit duration.
Calculating the individual spectrum may include: calculating a set of spectra, each spectrum in the set being calculated over a respective coherent integration period; and summing the spectra in the set to produce an individual spectrum. This effectively averages the spectrum by (non-coherently) summing the results from multiple coherent integration periods. According to one example, good results are achieved by summing over 7 coherent integration periods. This can also be seen as low pass filtering the calculated spectrum to reduce noise. The number of frequency spectrums in the set may be at least 2 or at least 4. The number may be less than or equal to 15, alternatively less than or equal to 10.
The samples may be complex samples that include an in-phase (I) component and a quadrature (Q) component.
Alternatively or in addition to summing/averaging/low pass filtering the coherence integration period when calculating the individual spectrum, the method may comprise: the sum/average/low pass filtering is performed when combining the individual spectra. For example, the step of combining one or more values from a number of individual spectra may comprise: one or more values are summed (non-coherently) over a plurality of coherent integration periods and/or one or more combined values from the plurality of coherent integration periods are summed.
In some examples, the method may include: demodulating at least one of the plurality of signals to detect a data bit; and removing the detected data bits from the at least one signal, the method further comprising: the code phase of at least one signal is estimated after the detected data bits are removed.
The estimated code phase and the calculated spectrum may be provided as inputs to a navigation filter configured to calculate PVT solutions (e.g., as already outlined above).
There is also provided a computer program comprising computer program code configured to cause one or more physical computing devices to perform all the steps of the method as claimed in any one of the preceding claims when the computer program is run on the one or more physical computing devices. The one or more physical computing devices may include or consist of one or more processors of a GNSS receiver. The computer program may be stored on a computer readable storage medium (optionally, a non-transitory computer readable storage medium).
In one aspect (not in accordance with the presently claimed invention), there is provided a wireless receiver configured to receive a plurality of signals, the wireless receiver comprising:
One or more tracking loops configured to track the plurality of signals;
a frequency estimator configured to calculate an individual spectrum for each of the plurality of signals to produce a plurality of individual spectra; and
a set lock detector configured to:
combining one or more values from the several individual spectra to produce one or more combined values; and
an aggregate signal lock condition is detected based at least in part on the one or more combined values.
The wireless receiver may be configured to receive a radio signal. In particular, the wireless receiver may be a GNSS receiver.
Thus, according to one aspect of the present invention, there is provided a survey engine for a global navigation satellite system (hereinafter GNSS) receiver configured to receive signals from a GNSS, wherein the survey engine is configured to track a plurality of signals received from a respective plurality of satellites in the GNSS, the survey engine comprising:
one or more frequency estimators configured to calculate an individual spectrum for each of the plurality of signals to generate a plurality of individual spectra; and
A set lock detector configured to:
combining one or more values from several of the individual spectra to produce one or more combined values; and
an aggregate signal lock condition is detected based at least in part on the one or more combined values.
The set lock detector may employ any of the methods outlined above for detecting a set signal lock condition.
The measurement engine may further include: a bit detection unit configured to demodulate at least one signal of the plurality of signals to detect a data bit; and a multiplier configured to remove the detected data bits from the at least one signal, wherein the frequency estimator is configured to calculate an individual spectrum of the at least one signal after removing the detected data bits. To this end, the output of the multiplier may be coupled to the input of the frequency estimator.
The measurement engine may further include a code phase estimator configured to estimate a code phase of at least one of the plurality of signals.
The code phase estimator may be configured to estimate the code phase after removing the detected data bits. To this end, the output of the multiplier outlined above may be coupled to the input of a code phase estimator.
The measurement engine may further include a channel lock detector for each of the plurality of signals, the channel lock detector configured to: detecting an individual signal lock condition based on a respective individual spectrum of the signal, wherein the measurement engine is configured to: if an individual signal lock condition is not detected, the use of a corresponding signal in the detection of the aggregate signal lock condition is precluded.
Each channel lock detector may be configured to identify a maximum in a respective individual spectrum and detect an individual signal lock condition based on the identified maximum.
The one or more combined values may comprise a plurality of combined values, optionally forming a combined spectrum. The set lock detector may be configured to identify a maximum combined value (e.g., a maximum value in a combined spectrum) of the plurality of combined values and detect a set signal lock condition based at least in part on the maximum combined value. In particular, the set lock detector may be configured to: comparing the maximum combined value with a first threshold value; and if the maximum combined value exceeds a first threshold, detecting a collective signal lock condition.
Alternatively or additionally, the set lock detector may be configured to: identifying a maximum in each of a number of individual spectra; and summing the identified maxima to calculate a combined maximum. The set lock detector may be configured to: the aggregate signal lock condition is detected by comparing the combined maximum value to a second threshold value.
Each channel lock detector may be configured to: comparing the maximum value in the spectrum of the corresponding individual with a third threshold value; and if the maximum exceeds a third threshold, detecting an individual signal lock condition.
A GNSS receiver comprising a measurement engine as described above is also provided.
The GNSS receiver may further include: an RF front end for receiving signals; and an Intermediate Frequency (IF) processing unit for converting the signal from RF to IF. The GNSS receiver may further include: for each signal, a mixer for down-converting the signal. The output of the RF front-end may be coupled to an input of the intermediate frequency processing unit. The output of the first IF processing unit may be coupled to an input of each mixer.
The GNSS receiver may further include: for each signal, at least a first correlator coupled to an output of a respective mixer, the at least first correlator configured to remove a spreading code of the signal. The first correlator may be part of a bank of correlators including a lead correlator, an instantaneous correlator, and a lag correlator.
The output of the first correlator may be coupled to the input of a respective multiplier and to a respective bit detection unit (both of which may be as outlined above).
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 a tracking parameter of each of the plurality of signals based on the calculated PVT solution.
Drawings
The invention will now be described, by way of example, with reference to the accompanying drawings, in which:
FIG. 1 is a schematic block diagram of a GNSS receiver according to an example;
FIG. 2 illustrates a flow chart of a method performed by the GNSS receiver of FIG. 1, according to an example;
FIG. 3 illustrates a method performed by a channel lock detector according to an example;
FIG. 4 illustrates a method performed by a set lock detector according to an example; and
fig. 5 shows the results achieved using different methods of detecting signal lock-in conditions.
It should be noted that the figures are diagrammatic and not drawn to scale.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings. The described embodiments should not be construed as being limited to the description given in this section; embodiments may take different forms.
FIG. 1 is a schematic block diagram of a GNSS receiver 100 according to an example. The GNSS receiver is configured to receive satellite signals from GPS satellites. However, it should be emphasized that this is merely one 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 comprises an antenna 10 for receiving satellite signals. The RF front end 20 coupled to the antenna 10 is configured to down-convert and digitize satellite signals received via the antenna 10. The RF front-end is essentially the signal that is conditioned 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 L1C/a signal) for each of a plurality of Satellites (SVs).
The GNSS receiver further comprises an Intermediate Frequency (IF) processing unit 30 configured to process satellite signals converted from Radio Frequency (RF) in the RF front-end to IF. The output of the IF processing unit 30 is coupled to the inputs of a plurality of tracking channels 32-1, 32-2. Each of these k tracking channels is responsible for processing a particular satellite signal, i.e., tracking, demodulating, and analyzing ranging signals acquired from a respective different satellite. Hereinafter, the first tracking channel 32-1 will be described. However, it should be understood that all of the tracking channels are substantially identical, and each tracking channel includes the same components that perform the same functions. The only difference between them is that they handle different satellite signals and can therefore operate with different information or data.
In each of the tracking channels 32-1, 32-2, 32-k, the output of IF processing unit 30 is coupled to the input of mixer 40. The other input of the mixer 40 receives a local carrier (hereinafter referred to as a replica carrier signal) which is generated to replicate the instantaneous carrier frequency and carrier phase of the incoming satellite signal to be processed by the tracking channel thereby. The locally generated replica carrier signal is a digital sinusoidal signal generated by carrier generator 42. In this way, mixer 40 is configured to remove (i.e., remove) any residual carrier (e.g., offset caused by 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 a carrier offset or residual carrier caused by the relative motion between the satellite and the GNSS receiver. Carrier generator 42 includes a Numerically Controlled Oscillator (NCO) configured to generate a local replica carrier signal.
The output of the mixer 40 is provided as an input to a correlator bank, which in this example comprises three correlators 50a to 50c. Each correlator comprises a multiplier and an integrate and dump (I/D) unit (not explicitly shown in the figure). The multiplier multiplies the input signal with a locally generated replica spreading code of the satellite signal. The I/D cell integrates and calculates the sum of the resulting product values over a suitable dwell (dwell) period. The dwell defines the length of the coherent integration. The correlator bank includes an "early" (E) correlator 50a, an "immediate" (P) correlator 50b, and a "late" (L) correlator 50c. As its name suggests, these three correlators use different shifted versions of the replica spreading code. The local replica spreading code is a binary pseudo-random noise (PRN) code signal and is generated by a code generator 52, which code generator 52 operates under control of a time control signal.
The code generator 52 is a PRN code generator for a selected PRN code, which corresponds to a particular satellite signal. It includes an NCO configured to generate a clock signal for generating a local replica spreading code for the satellite signal being tracked (e.g., an L1C/a signal). The NCO is controlled by a time control signal.
The outputs of the correlators 50a to 50c comprise complex-valued samples, also referred to as in-phase and quadrature-phase samples (I/Q samples). In particular, the output of the instantaneous (P) correlator 50b represents I/Q samples derived from the satellite signal. It should be appreciated that although the individual correlators 50a to 50c in the correlator bank are illustrated as a single unit, when implemented in hardware, the correlators (as with other hardware blocks) will include separate I and Q branches, each of which includes a separate correlator. That is, there will be multipliers and I/D units for in-phase (I) samples, as well as other multipliers and I/D units for quadrature-phase (Q) samples. However, for simplicity, it is more convenient to exemplify these in the form of a single correlator with complex outputs, and this is the manner to be described herein.
The I/Q samples from the "P" correlator 50b are provided as input to a bit detection unit 61, which bit detection unit 61 is configured to demodulate the satellite signal. That is, the bit detection unit 61 performs bit detection on the I/Q samples to obtain data bits of the navigation message that have been modulated onto the signal by the satellite before transmission. For example, the data bits may be data bits of an L1C/A navigation message.
It is desirable to demodulate the data bits of the navigation message in order to decode the navigation message. However, according to the present example, the detected bits are also used for another purpose. They will be used to remove data bits from I/Q samples derived from the satellite signal prior to code phase estimation and frequency estimation. This may help to improve the accuracy of both processes.
As shown in fig. 1, the bits detected by the bit detection unit 61 are output to the bit database 70. Bit database 70 also receives input from pilot bit database 71. The pilot bit database 71 stores known pilot bit sequences of satellite signals. Because they are known pilot bits, there is no need to rely on bit detection to determine these bits. In practice, bit detection that relies on these pilot bits may be less accurate because bit detection may fail. To be used forIn this way, by using pilot bits from the pilot bit database 71, the result of bit removal can be improved. In the bit database 70, known pilot bits from the pilot bit database 71 are combined with (previously unknown) detected bits provided by the bit detection unit 61. The bit detection database 70 outputs for each bit period the relevant data bits (pilot bits or detected bits, as the case may be) depending on the signal, e.g. depending on which part of which subframe is currently being processed. When the signal-to-carrier-to-noise ratio (C/N 0 ) When 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 which is typically valid for 2 hours. The same ephemeris data is repeated over a period of 2 hours (e.g., with a period of 30 seconds). Thus, once the bit database has been populated with detected bits, the data bits of the subsequent sub-frames can be accurately predicted within the validity period of the ephemeris. Bit detection is not required when the signal-to-carrier noise ratio is low. The bit database 70 outputs the appropriate bits, i.e., either pilot bits or previously detected data bits.
The data bits output by the bit database 70 provide a first input to each multiplier 63a to 63c in the set of multipliers. Each bit is denoted 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 respective correlators 50a to 50 c. That is, the first multiplier 63a receives the I/Q samples from the early correlator 50 a; the second multiplier 63b receives the I/Q samples from the instantaneous correlator 50 b; and a third multiplier 63c receives the I/Q samples from the lag correlator 50 c.
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 a 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 respective multipliers 63 a-63 c has produced the largest (largest magnitude) output value currently residing, 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 a navigation filter 92.
The output of the second multiplier 63b corresponding to the instantaneous correlator 50b is also provided as an input to the frequency estimator 82. The frequency estimator calculates an individual spectrum of the satellite signal processed by the tracking channel. According to the present example, the frequency estimator implements a Discrete Fourier Transform (DFT) to calculate the individual spectrum. The individual spectrum includes a plurality of values corresponding to a respective plurality of frequencies. Because the bits have been removed before the spectrum is calculated, the DFT can operate with a longer period of coherent integration than is usual. In this example, the DFT integrates over a 400 millisecond (ms) coherent integration period. This corresponds to 20 bit periods of the L1C/A navigation message. Such a longer coherence integration period helps to improve the accuracy of the frequency estimation.
To further enhance the accuracy of the frequency estimation, the results from the multiple coherent integration periods are summed. In this example, the frequency estimator 82 calculates the sum of 7 successively calculated spectrums (i.e., 7 separate spectrums) calculated over 7 respective coherent integration periods. Alternatively, the sum of the spectra may be divided by the number of spectra to produce a mean spectrum. Non-coherently summing (i.e., integrating) the spectrum from consecutive coherent integration periods has the effect of averaging or low pass filtering the frequency estimates of the particular tracking channel. This may help remove noise, thereby improving the accuracy of the frequency estimation.
The individual spectrum generated and output by the frequency estimator 82 is provided as input to the channel lock detector 83 and the aggregate lock detector 90. The frequency estimator 82 also provides a second output comprising an indication of the frequency at which the individual spectrum has its maximum amplitude. This is provided as an additional input to the navigation filter 92.
The channel lock detector 83 is configured to analyze the individual spectrum to detect whether the corresponding channel comprising the channel lock detector 83 locks onto the satellite signal it is attempting to track. Hereinafter, this is referred to as an individual signal lock condition. In particular, in this example, the channel lock detector 83 is configured to identify the maximum amplitude in the individual spectrum. If the maximum amplitude is above the threshold, the channel lock detector 83 declares that the individual signal lock condition is met. If the maximum amplitude value is below the threshold, the channel lock detector 83 declares that the individual signal lock state is not satisfied. The channel lock detector 83 outputs an indication of the individual signal lock status. For the sake of consistency with the appended claims, the threshold value for detecting the individual signal lock state will be referred to as "third threshold value".
If an individual signal lock condition is not detected (i.e. if signal lock has been lost), the use of the measurement results obtained by the respective tracking channel in any further processing will be excluded. In particular, the frequency estimator 82 does not provide the individual spectrum to the set lock detector 90, nor does the frequency estimator 82 provide the frequency to the navigation filter 92. Similarly, the code phase estimation result generated by the code phase estimator 81 will not be provided to the navigation filter 22.
In fact, in the present embodiment, when the channel lock detector 83 detects that the signal lock is lost, the entire tracking channel concerned is switched to the idle mode. In idle mode, the function of tracking channels is not performed. Thus, none of the blocks in the trace channel produces an output. This helps to reduce power consumption on the GNSS receiver.
It should be noted that individual tracking channels 32-1, 32-2, &..once again, 32-k do not contain their own tracking loops for the residual carrier frequency and carrier phase or code phase. According to the present example, the tracking loop is alternatively completed via a navigation filter 92.
The navigation filter 92 implements typical functions of a navigation filter in a GNSS receiver. It receives as inputs the code phase estimates (generated by the code phase estimator 81) and the frequency (generated by the frequency estimator 82) from the respective tracking channels 32-1, 32-2, and. The frequency and code phase estimates together comprise a set of GNSS measurements. The navigation filter takes these GNSS measurements and uses them to calculate a position, velocity and time (PVT) solution for each epoch. The epochs are separated by an update interval determined by the update rate of the navigation filter.
In this example, the navigation filter 92 includes a Kalman Filter (KF). However, in another example, the navigation filter 92 may include a least squares filter. In either case, the navigation filter 92 is a recursive state estimator. At each of a plurality of 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 state from the previous epoch and the current GNSS measurements. The state variables estimated by the kalman filter include PVT solutions and optionally 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 herein.
The PVT solution generated by the kalman filter for each epoch is output to the parameter conversion unit 94. This converts the PVT solution into tracking parameters for each individual signal being tracked. The tracking parameters are fed back to the individual tracking channels of the respective satellite signals. More specifically, the parameter conversion unit 94 predicts the tracking parameter of each of the plurality of signals using PVT calculation. The tracking parameters include: a time control signal for controlling the code generator 52; and a frequency control signal for controlling the carrier generator 42.
The frequency control signal ensures that the frequency (and phase) of the local replica carrier signal (generated by carrier generator 42) tracks as closely as possible the actual frequency (and phase) of the residual carrier of the received satellite signal (e.g., the L1 signal). This enables the GNSS receiver to take into account doppler shift due to the relative motion between the receiver and the satellites. By controlling the frequency of the NCO in the carrier generator 42, both the frequency and phase of the duplicate 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 conventional PLLs in GNSS receivers, the carrier tracking loop is accomplished via a navigation filter 92. Therefore, the frequency control signal of each channel is calculated in consideration of all information provided by all channels. This may help to ensure that carrier tracking is more accurate and/or robust.
The time control signal ensures that the code phase of the replica 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, the correlator sets 50 a-50 c and the 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 conventional DLLs in GNSS receivers, the tracking loop is accomplished via a navigation filter 92. Therefore, the time control signal of each channel is calculated in consideration of all information provided by all channels. This may help ensure that the code phase tracking is more accurate and/or robust.
The code phase tracking loop and carrier tracking loop may be considered as a plurality of individual tracking loops completed via the navigation filter 92. Alternatively, they may be considered as a single global tracking loop that tracks the tracking parameter vectors for all channels together.
The set lock detector 90 receives as input the individual spectrum for the respective satellite signal output by the tracking channels 32-1, 32-2, and/or 32-k. The purpose of the set lock detector is to fully observe whether signal lock is properly maintained on the set of satellite signals. To this end, it combines information from individual spectra and analyzes this information in order to detect signal lock conditions. This process will be described in more detail below with reference to fig. 3 to 4.
FIG. 2 is a flow chart illustrating a method 200 performed by the GNSS receiver 100 of FIG. 1 according to an example.
In step 210, one or more tracking loops of the GNSS receiver track a plurality of satellite signals in the manner described above. The one or more tracking loops include 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, and a navigation filter 92 and a parameter conversion unit 94 for each channel.
In step 220, the bit detection unit 61 of each channel demodulates the data bits of the navigation message encoded onto the corresponding satellite signal.
In step 230, multiplier 63b multiplies the detected data bits by I/Q samples derived from the satellite signals to remove the detected data bits from the satellite signals.
In step 240, the frequency estimator 82 calculates an individual spectrum based on the I/Q samples after bit removal.
In step 250, the channel lock detector 83 detects an individual signal lock condition based on the individual spectrum calculated in step 240.
In step 242, the set lock detector 90 combines the individual spectra from the various channels by summing the amplitude values of all the different spectra at each respective frequency. This generates a combined spectrum. In other words, the set lock detector 90 computes a single combined spectrum having the same number of amplitude values as the individual spectra by summing the corresponding amplitude values across the different channels. This can be seen as an average operation over different channels. Alternatively, the combined spectrum may be normalized by dividing by the number of individual spectra. In this case, each value in the combined spectrum (at a respective frequency or frequency interval) is the mean of the corresponding values in the individual spectrum (at the same respective frequency, i.e. the same frequency interval).
In step 260, the set lock detector 90 detects a set signal lock condition. This is based in part on the maximum magnitude values in each of the individual spectra and in part on the combined spectra generated in step 242.
In step 270, the navigation filter 92 calculates a PVT solution. In step 272, the GNSS receiver determines whether a collective signal lock condition is detected in step 260. If a aggregate signal lock condition is detected, the method proceeds to step 274, where PVT solution is output by the navigation filter 92. If a aggregate signal lock condition is not detected, the method proceeds to step 276, where PVT solution is suppressed (i.e., 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 the tracking mode of operation to the signal acquisition mode of operation. In the signal acquisition mode, the GNSS receiver searches for satellite signals in order to reacquire them. The searching 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 performed by other hardware components separate from the tracking channels 32-1, 32-2, and 32-k and not illustrated in fig. 1.
If the PVT solution is output in step 274, the parameter conversion unit 94 converts the PVT solution into tracking parameters, thereby predicting 280 the tracking parameters that will be used by the carrier generator 42 and code generator 52 in the tracking loop of the next epoch.
Fig. 3 is a flow chart illustrating 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 the maximum amplitude value with a threshold value ("third" threshold value). 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 the individual signal lock condition has not been detected. As described above, when the individual signal lock condition is not detected, the corresponding tracking channel is switched to the idle mode.
Fig. 4 is a flow chart illustrating step 260 in more detail. To detect the aggregate signal lock condition, the aggregate lock detector 90 identifies (in step 262) the maximum amplitude value in the combined spectrum calculated in step 242. Next, in step 264, the set lock detector 90 compares the maximum magnitude value of the combined spectrum to a threshold (referred to as a "first" threshold, to be consistent with the appended claims).
In the second branch of the flow chart of fig. 4, the set lock detector 90 analyzes other frequency information. In step 263, the set lock detector identifies the maximum amplitude in each individual spectrum received from the corresponding frequency estimator 82 of each tracking channel. In step 265, the set lock detector 90 adds together (i.e., sums) the individual maxima. In step 267, the set lock detector 90 compares the resulting summed value to a second threshold value.
The set lock detector 90 tests two conditions to determine if a set signal lock is detected. If the maximum combined amplitude value (from step 262) is greater than the first threshold and the sum of the individual maximum amplitude values (from step 265) is greater than the second threshold, then it is declared that aggregate signal lock has been detected. Otherwise, if either of these conditions is not met, it is declared that an aggregate signal lock has not been detected. The combination of the two conditions is indicated in fig. 4 by logical AND operator 268.
The first, second and third thresholds may be selected at appropriate levels depending on the characteristics of the GNSS receiver and the optional signal environment.
The first threshold relates to the maximum amplitude in the combined amplitude spectrum. In this embodiment, the combined magnitude spectrum is an average (particularly mean) spectrum. Good results are achieved by setting the first threshold to the lowest of the three thresholds. In other embodiments, if the combined magnitude spectrum is generated by summing individual spectra without dividing by the number of signals, it may be desirable to scale the first threshold according to the number of signals (because tracking channels 32-1, 32-2.+ -., 32-k may track different numbers of signals at different times).
The second threshold relates to the sum of maxima from the individual spectra. The sum of the maxima is typically a value that is greater than the maximum amplitude in the combined amplitude spectrum; thus, the second threshold is typically set higher than the first threshold. Again, the inventors have found that this yields good results.
The third threshold relates to the maximum amplitude of each individual spectrum. Good results are obtained by setting the third threshold to a level between the first and second threshold. In particular, it has been found to be beneficial to bias the third threshold such that it produces very few false positives, even at the cost of generating a large number of false positives. That is, the third threshold is biased such that it rarely cancels the valid signal lock. The third threshold may be chosen such that it correctly detects the loss of signal lock (i.e. tracking noise) in about half of all cases, even though this means that it incorrectly classifies noise as a valid signal lock in the other half (noise) case. 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 signal is not emphasized by the individual channel lock detector 83 in order to avoid passing information to the noise-only set lock detector 90. The individual spectra of the remaining signals may be analyzed by a set lock detector 90 that is better suited for a comprehensive observation of whether the tracking channel is properly locking to a valid set of satellite signals.
In some examples, the threshold may be a fixed threshold. However, in some examples, one or more thresholds may be dynamically selected. For example, the noise ratio (C/N) may be based on the current carrier to noise ratio (C/N 0 ) One or more thresholds are selected. The higher the noise power, the higher the threshold that may be appropriate. Suitable sets of thresholds for different noise power levels may be stored in a look-up table of the GNSS receiver.
Fig. 5 illustrates results obtained using different methods of detecting signal lock-in conditions. Each plot in fig. 5 illustrates a conditional Probability Density Function (PDF) corresponding to (i) a noise hypothesis (black curve to the left in each plot) and (ii) an effective signal lock hypothesis (gray curve to the right in each plot). The x-axis represents amplitude values in the frequency spectrum. The y-axis represents probability. Thus, these plots illustrate how amplitude values are distributed in the case of active signal lock and in the case of noise (no signal lock). In one example according to the present disclosure, the vertical black line on each graph indicates the decision threshold selected in each case.
In fig. 5 (a), the amplitude value is the maximum amplitude value from the individual channel. In other words, each PDF is a histogram of the maximum magnitude values across many individual spectra. The individual spectra are calculated over a coherent integration period of 400ms, but there is no incoherent integration (summation). It can be seen that the PDF of the noise largely overlaps the PDF of the effective signal lock hypothesis. Therefore, it is difficult to distinguish noise hypotheses from valid signal lock hypotheses. Decisions made based on applying a threshold to the "raw" frequency magnitude values will produce many errors, i.e., a significant proportion of noise conditions will be misclassified as having a valid signal lock; and a significant proportion of the active signal lock cases will be misclassified as noise.
In fig. 5 (b), individual spectra are formed by non-coherently integrating (i.e., summing) 7 consecutive spectra to low pass filter the spectra before identifying the maximum amplitude (step 252). Those values whose distribution is plotted are still based on isolated individual spectra and are summed only over the spectrum of the same channel. It can be seen that the spacing between PDFs improves due to the low pass filtering. However, PDFs still overlap to some extent. Thus, there will be a non-negligible number of misclassifications, regardless of where the threshold is set. Fig. 5 (b) illustrates the test performed in step 250 of the exemplary method described above. The threshold indicated by the vertical black line in the graph is the third threshold discussed above.
In fig. 5 (c), before identifying the maximum value in the combined spectrum, amplitude values are obtained by averaging (averaging) the values at the corresponding frequencies of the different individual spectra across the different channels to produce the combined spectrum. No low pass filtering is applied. That is, in a coherent integration period of 400ms, the individual spectrum is directly derived from the DFT. The separation of PDF is further improved compared to both fig. 5 (a) and fig. 5 (b).
In fig. 5 (d), when generating the combined spectrum, both averaging across channels and low pass filtering within each channel are applied before identifying the maximum in the combined spectrum. In other words, the individual spectrum is based on the sum of 7 DFTs over 7 consecutive 400ms coherent integration periods, and the individual spectrum is combined by summing them across the channel. Those values for which the distribution is plotted are the maximum values of the resulting combined spectrum. As seen in the graph, this results in an increase in accuracy (reduced misclassification) compared to fig. 5 (b) and 5 (c) of the graph. Fig. 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.
In fig. 5 (e), the amplitude value is 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 that is the average (mean) of the maximum amplitude values in the individual spectra. No low pass filtering is applied, i.e. no non-coherent summation over the coherent DFT integration period. It can be seen that the overlap between the distributions is minimal.
Finally, in fig. 5 (f), the amplitude value is also based on a combined (mean) maximum value derived from the maxima in the individual spectra (as in fig. 5 (e); however, low pass filtering (non-coherent integration/summation) is used to generate the individual spectrum before the individual maxima are found. Here, it can be seen that the peaks in the distribution are widely separated. This means that not only can low error rates be expected, but the classification of effective signal lock and noise is less sensitive to the choice of threshold for distinguishing between these two classes. Fig. 5 (f) corresponds to the tests performed in step 263, step 265 and step 267, although the division by the number of (normalized) individual spectra is not explicitly shown in the figure. The black vertical line in the graph is the second threshold discussed above.
It should be understood that the scope of the present disclosure is not limited to the examples described above. Many variations will be apparent to those skilled in the art in light of the foregoing description.
For example, it should be appreciated that transforms other than DFT may be used to generate the individual spectra.
The pilot bit database 71 is not necessary. In some examples, the bit database 70 may be composed of only bits detected by the bit detection unit 61. In this case, the bit detection unit 61 will be responsible for detecting all data bits (including any pilot bits) of the navigation message. This may help to simplify the design of the GNSS receiver. However, if the bit detection unit generates bit detection errors when demodulating pilot bits, these bit detection errors may degrade bit removal to some extent.
The example of fig. 1 uses vector tracking loops, i.e. all tracking loops are arrangements completed via navigation filters 92. Although considered advantageous, this is not required. For example, as is conventional, the GNSS receiver may instead implement separate PLLs and DLLs for each channel separately.
In the example of fig. 2, PVT solutions are calculated regardless of whether a set signal lock condition is detected. If the aggregate signal lock condition is not detected, the output of the PVT solution is suppressed. However, in other examples, if the aggregate signal lock condition is not detected, the calculation of the PVT solution may be suppressed. For example, the GNSS receiver may be configured such that if a collective signal lock condition is not detected, all tracking channels enter an idle mode. This then prevents the navigation filter from calculating the PVT solution for the current epoch. After the GNSS receiver has re-acquired the satellite signals (i.e., once the signal lock condition is again detected), the frequency and code phase estimates may again be provided to the navigation filter.
In the example discussed above, all individual spectra that detected an individual signal lock condition are used to detect aggregate signal lock. This is generally desirable because it enables maximum use of the available information. However, this is not necessary. For example, the set-lock detector may select a subset of the available individual spectrum to evaluate the set signal lock condition. May be based on, for example, carrier to noise ratio (C/N 0 ) And the like, to select individual spectra, wherein signals at higher rates are preferred. Alternatively, they may be randomly selected, for example, to implement a random sample consensus (RANSAC) method.
In the above example, the aggregate signal lock condition is detected based on two criteria (corresponding to the two branches of the flowchart in fig. 4). In other examples, only one of these criteria may be used. Furthermore, it will be apparent to those skilled in the art that other criteria may be designed in other ways 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 magnitudes from each individual spectrum as described above, the mean may be derived using the median of the maximum magnitudes.
Likewise, the aggregate signal lock condition or the individual signal lock condition need not be based on one or more maxima in the respective spectrum. Other descriptive statistics (either as alternatives to the maximum or in addition) may be used. In some cases, these may be based on a single value from the spectrum. For example, a sequence statistic such as a second maximum, a third maximum, or a fourth maximum (etc.), or a value defining some percentile such as 75 th, 80 th, 85 th, 90 th, or 95 th percentile. In other cases, they may be based on a combination of multiple values from the spectrum. For example, descriptive statistics may be constructed by summing or averaging N maxima, or by summing or averaging all values above a particular percentile.
In some cases, using a value other than the maximum value may increase the robustness of the method, as it reduces the sensitivity of signal lock detection to outlier noise.
Another useful statistic is the range from maximum to minimum in any given spectrum. This may capture the amount by which the maximum exceeds the noise floor. Likewise, the maxima (and minima) herein can be replaced with other statistical data. For example, the range between the 5 th percentile and the 95 th percentile may be examined instead of the range from the minimum value to the maximum value. Also, by avoiding the direct use of extrema (maxima and minima), this approach may be more robust to outliers.
In some cases, for example, if the channel is dispersive, the signal energy may be distributed in more than one spectral peak. One way to take this into account in signal lock detection is to explicitly consider multiple peaks in the spectrum. For example, for a spectrum (which is an individual spectrum or a combined spectrum), 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 collection) signal lock condition may include: comparing the sum of the local maxima with a predetermined threshold; and if the sum exceeds a predetermined threshold, signal lock is detected. In this way, the signal lock condition may be based on a combination of values (sum in this example) of significant frequencies spaced apart in the spectrum.
In general, it is beneficial that each signal locking condition characterizes the energy concentration in the frequency domain (for individual spectra or combined spectra). When an efficient signal locking is achieved, the energy in the spectrum will typically be concentrated around the signal. However, when there is no active signal lock and only noise is received, the (noise) energy will typically be distributed over the whole spectrum. Thus, in the case of noise, statistics characterizing the energy concentration will yield lower values.
The antenna 10 and the RF front-end 20 will always be implemented in hardware. It should be understood that other components shown in fig. 1 may be implemented in hardware or software or a mixture of both. Furthermore, some components may be combined together or may be implemented separately in a given implementation. In the present embodiment, the 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. The blocks 61, 63a to 63c, 70, 71, 81, 82 and 83 and the set lock detector 90 for each channel are implemented together in software as a measurement engine running on one processor. The navigation filter 92 and the parameter conversion unit 94 are implemented in software modules separate from the measurement engine. The separate software module may run on the same processor as the measurement engine or on a separate processor. Further, it should be noted that the foregoing is merely exemplary of the embodiments. Other implementations are possible that partition and distribute the various functions differently between hardware and software or between different hardware components, software modules, and/or processors running the software.
In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps other than those listed in a claim. However, where the word "comprising" is used, this also discloses the possibility that the listed elements or steps are exhaustive, i.e. the apparatus or method may consist of only those elements or steps. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. Embodiments may be implemented by means of hardware comprising several distinct elements. In the device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Furthermore, in the appended claims, a list comprising "at least one of A, B and C" should be interpreted as (a and/or B) and/or C.
In the flow diagrams, summary, claims and description related to the method, the order in which the steps are listed is not generally intended to limit the order in which they are performed. The steps may be performed in a different order than indicated (unless otherwise indicated, or in the case where 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.
Further, in general, the various embodiments may be implemented in hardware or special purpose 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. While various aspects described herein may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
The embodiments described herein may be implemented by computer software executable by a data processor of an apparatus, such as in a processor entity, or by hardware, or by a combination of software and hardware. Further in this regard, it should be noted that any blocks of the logic flows in the figures may represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, 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 or floppy disks, and optical media such as, for example, DVDs and their data variants CDs.
The memory may be of any type suitable to 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 to the local technical environment and may include one or more of general purpose computers, special purpose computers, microprocessors, digital Signal Processors (DSPs), application Specific Integrated Circuits (ASICs), gate level circuits, and processors based on a multi-core processor architecture, as non-limiting examples.
Embodiments as discussed herein may be practiced 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 for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate.

Claims (15)

1. A method of detecting a collective signal lock condition of signals received from a global navigation satellite system, GNSS, the method comprising the steps of:
tracking (210) a plurality of signals received from a respective plurality of satellites in the GNSS;
calculating (240) an individual spectrum for each of the plurality of signals being tracked to produce a plurality of individual spectra, each individual spectrum comprising a plurality of values;
combining (242) one or more values from several of the individual spectra to produce one or more combined values; and
the aggregate signal lock condition is detected (260) based at least in part on the one or more combined values.
2. The method of claim 1, wherein the one or more combined values comprise a plurality of combined values associated with respective frequencies, wherein detecting the aggregate signal lock condition comprises: -identifying (262) a maximum value of the plurality of combined values, and-detecting (268) the aggregate signal lock condition based at least in part on the maximum value.
3. The method of claim 1 or 2, wherein combining the one or more values comprises:
identifying (263) the maxima in each of the number of individual spectra; and
the identified maxima are summed 265 to calculate a combined maximum.
4. The method according to claim 1 or 2, wherein the values in each individual spectrum are associated with a respective frequency, and wherein the method further comprises the steps of: for each individual spectrum of frequencies,
-identifying (252) the maxima in the each individual spectrum; and
an individual signal lock condition is detected (256) based on the identified maximum value.
5. The method of claim 1 or 2, further comprising calculating (270) a position fix based on the plurality of signals, wherein if the aggregate signal lock condition is detected, the method comprises outputting (274) the position fix.
6. The method of claim 5, wherein if the aggregate signal lock condition is not detected, the method includes suppressing (276) the fixed-position output.
7. The method according to claim 1 or 2, further comprising the step of: if the aggregate signal lock 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:
calculating (270) a PVT solution based on the plurality of signals; and
tracking parameters for each of the plurality of signals are predicted (280) based on the calculated PVT solutions.
9. The method according to claim 1 or 2, further comprising the step of:
demodulating (220) at least one of the plurality of signals to detect a data bit; and
-removing (230) the detected data bits from the at least one signal;
wherein the individual spectrum of the at least one signal is calculated (240) after removing (230) the detected data bits.
10. The method of claim 9, wherein the individual spectrum of the at least one signal is calculated (240) from a set of samples of the at least one signal, wherein the set of samples spans a plurality of detected data bits.
11. A computer program comprising computer program code configured to cause one or more physical computing devices to perform all the steps of the method according to any one of the preceding claims when the computer program is run on the one or more physical computing devices.
12. A survey engine for a global navigation satellite system, GNSS, receiver configured to receive signals from a GNSS, wherein the survey engine is configured to track a plurality of signals received from a respective plurality of satellites in the GNSS, the survey engine comprising:
one or more frequency estimators (82) configured to calculate (240) an individual spectrum for each of the plurality of signals to generate a plurality of individual spectra; and
-a set lock detector (90) configured to:
combining (242) one or more values from several of the individual spectra to produce one or more combined values; and
a collective signal lock condition is detected (260) based at least in part on the one or more combined values.
13. The measurement engine of claim 12, the measurement engine further comprising:
a bit detection unit (61) configured to demodulate (220) at least one of the plurality of signals to detect a data bit; and
a multiplier (63 b) configured to remove the detected data bits from the at least one signal,
Wherein 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 of claim 12 or 13, the measurement engine further comprising: a code phase estimator (81) configured to estimate a code phase of at least one of the plurality of signals.
15. The measurement engine of claim 12 or 13, the measurement engine further comprising: a channel lock detector (83) for each of the plurality of signals, the channel lock detector being configured to detect (250) an individual signal lock condition based on a respective individual spectrum of the signals,
wherein the measurement engine is configured to: if the individual signal lock condition is not detected, the use of a corresponding signal in the detection of the aggregate signal lock condition is precluded.
CN202310101337.0A 2022-01-19 2023-01-18 Detecting GNSS signal lock Pending CN116466375A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP22152278 2022-01-19
EP22152278.2 2022-01-19

Publications (1)

Publication Number Publication Date
CN116466375A true CN116466375A (en) 2023-07-21

Family

ID=79730082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310101337.0A Pending CN116466375A (en) 2022-01-19 2023-01-18 Detecting GNSS signal lock

Country Status (3)

Country Link
US (1) US20230266477A1 (en)
EP (1) EP4215947A1 (en)
CN (1) CN116466375A (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029044A (en) 1997-02-03 2000-02-22 Hughes Electronics Corporation Method and apparatus for in-line detection of satellite signal lock
US8466836B2 (en) 2005-08-31 2013-06-18 CSR Technology Holdings Inc. Fast fourier transform with down sampling based navigational satellite signal tracking
US7869485B2 (en) 2007-06-21 2011-01-11 O2Micro International Ltd. Method and apparatus for detecting lock status of a GPS signal

Also Published As

Publication number Publication date
US20230266477A1 (en) 2023-08-24
EP4215947A1 (en) 2023-07-26

Similar Documents

Publication Publication Date Title
US10281584B2 (en) Receiver and method for direct sequence spread spectrum signals
US7778311B2 (en) Bit synchronization for weak navigational satellite signals
US7924220B1 (en) Method and apparatus for weak data frame sync in a positioning system
US7479924B2 (en) False reacquisition mitigation in high sensitivity navigational satellite signal receivers
US20050099334A1 (en) Cross-correlation mitigation method and apparatus for use in a global positioning system receiver
US6959057B1 (en) Method of enhancing signal tracking in global positioning system receivers
US20040196183A1 (en) Cross-correlation mitigation method and apparatus for use in a global positioning system receiver
US8184676B2 (en) Method and apparatus for mitigating the effects of CW interference via post correlation processing in a GPS receiver
US20120293369A1 (en) System, method and computer program for navigation data bit synchronization for a gnss receiver
US10802156B2 (en) Device module for the detection of temperature compensated crystal oscillator originated micro-jumps in a global navigation satellite system and related detection method
CN102426368B (en) Losing lock detection method based on extended Kalman filter tracking loop in GPS receiver
US20030152134A1 (en) Navigation data prediction for GPS and glonass weak signal tracking
KR20170000806A (en) Device for tracking a satellite radionavigation signal in a multipath environment
US11686854B2 (en) System and method for improved GNSS sensitivity via combining acquisition and track correlation hypotheses
US7660373B2 (en) Data demodulation from weak navigational satellite signals
CN114609652A (en) Multi-frequency open-loop receiver tracking method and system under extreme ionosphere anomaly
US8031816B2 (en) Method and apparatus for determining boundaries of information elements
EP4160272A1 (en) A method for detecting spoofing in a gnss (global navigation satellite system) receiver, corresponding receiver apparatus method and computer program product
JP5519223B2 (en) Satellite signal receiver
US20230266477A1 (en) Detecting gnss signal lock
US11579309B2 (en) Global Navigation Satellite System (GNSS) multipath mitigation
CN108226967B (en) GNSS signal tracking method and device
EP4119988A1 (en) Gnss positioning with fixing of carrier range ambiguities
US8395544B2 (en) Method and system for inter-delay product test for signal degradation detection in a GNSS receiver
US20230176227A1 (en) Demodulating qzss signals

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication