The present invention relates generally to satellite navigation systems, and more particularly to satellite navigation receivers.
Global navigation satellite systems (GNSSs) are widely used to accurately determine position with the aid of navigation receivers. Examples of GNSSs include the Global Positioning System (GPS) [USA] and Global Orbital Navigation System (GLONASS) [Russia]. Other GNSSs, such as Galileo [European], are being planned.
In GPS, a constellation of satellites transmit radio signals at a fixed carrier frequency. The two principal carrier frequencies are 1.57542 GHz (L1 carrier) and 1.22760 GHz (L2 carrier). The L1 carrier is modulated with a coarse acquisition (C/A) pseudorandom (PR) code, which is inversely modulated by binary information symbols. The PR code transmitted from a specific satellite uniquely identifies the specific satellite. Information carried in the radio signal includes the orbit position of the satellite. A single satellite channel refers to a (carrier, PR code) pair. A GPS receiver on Earth receives a satellite channel and decodes the information. From the delay time between the time of transmission of the PR code by the satellite and the time of reception of the PR code by the receiver, the distance between the receiver and the satellite may be calculated if the velocity of the radio signal is known. By calculating the distances between the receiver and several (typically four) satellites whose positions are known, the position of the receiver may be calculated.
The carriers are also modulated by precision encrypted P(Y) codes (herein called P code). The L1 carrier is modulated by the P1 code. The L2 carrier is modulated by the P2 code. The C/A code may be decoded by any user. The P codes, however, are high-security codes, which may be decrypted only by select organizations, such as US defense agencies.
Note that the transmission time of the PR code is referenced to the clock in the satellite, but the reception time of the PR code is referenced to the clock in the receiver. Since the two clocks are not synchronized, the delay time calculated from the simple difference between the reception time and the transmission time yields a pseudo-delay time, and the distance calculated from the pseudo-delay time is referred to as the pseudorange. More precise measurements of the delay time may be calculated from the full-phase difference between the signal transmitted from the satellite and the signal received by the receiver. The full-phase difference may be calculated as the total integer number of complete cycles plus a fractional cycle of the carrier wave transmitted during propagation of the signal from the satellite to the receiver. Measuring the fractional cycle may be performed in a straightforward manner, but tracking the total number of complete cycles is more difficult. Errors resulting from improper tracking of the total number of complete cycles are referred to as integer ambiguities.
In a GPS system, then, the delay time between the transmission time and the reception time of the signal may be characterized by an unambiguous, but relatively low-accuracy delay time derived from the PR code and a relatively accurate, but ambiguous, delay time derived from full-phases of the carrier. Both delay times are measured with signal processing loops. A delay-lock loop (DLL) is used to track delay times derived from PR codes (code delay). A phase-lock loop (PLL) is used to track carrier phase. Multiple signal processing loops of each type may be used to improve accuracy and reliability.
At the receiver, the received (input) signals are first processed by a series of linear operations in an integrated (common) single radiofrequency path. The linear operations include amplification, frequency conversion, and filtration. The processed signals are then sampled by an analog-to-digital converter (ADC). In the ADC, there is non-linear signal conversion to quantized levels. Different embodiments of receivers may use two-level or three-level quantization. Typically, a single ADC is used to sample multiple input channels. Each sample is multiplied by a reference carrier and a reference code, and successive multiplication products are accumulated. The reference carrier and the reference code are generated by the receiver. The reference carrier is typically generated in digital form and corresponds to the carrier of the received channel. The reference code corresponds to the PR code of the received channel. Processing units that perform multiplication and accumulation are referred to as correlators. Herein, the process performed by a correlator is referred to as correlation of two signals (input signal and reference signal).
There are several schemes for processing a channel. For example, a channel may be processed by three correlators, in which the reference carriers (one for each correlator) are coherently generated. The first correlator calculates the in-phase correlation signal I*. This signal may be obtained if the first reference carrier is in-phase with the input signal carrier. The reference code is a copy of the PR code modulating the input signal. When there is a phasing error of the reference carrier φ and a time offset of the reference code ε, then the signal I* may be represented as:I*=μUsR0(ε)cos φ,  (1)                where,        μ is the binary information symbol;        Us is the amplitude of the received signal; and        R0(ε) is the cross-correlation function of the PR code (after passing through a receiver filter) and the reference code (which is a locally generated replica of the PR code for the input signal).The signal I* is used to extract information symbols and normalize the PLL and DLL discriminators.        
The second correlator calculates the quadrature correlation signal Q*. This signal may be obtained if the second reference carrier is shifted by π/2 from the first reference carrier. The reference code is the same as the one used in the first correlator. The signal Q* is then calculated as follows:Q*=μUsR0(ε)sin φ.  (E2)The quadrature signal Q* is used in the PLL discriminator. The signals Q* and I* are also used for estimating the energy potential (see below) of the received channel.
The third correlator calculates the correlation signal dI* used for controlling the DLL. To obtain this signal, the first reference carrier (in phase with the input carrier) is used. The reference code consists of short strobe pulses corresponding to the changes in the sign of the input PR code elements (chips). Note that the sign of a strobe pulse matches the sign of the chip which follows the next strobe pulse.
To make the DLL and PLL of each channel in the receiver lock on to a signal, there are system modules that search for delay and frequency. The delay search system module sets an initial delay of the reference code as close as possible to the input PR code delay. If the setting error of the initial delay does not exceed the limits of the DLL lock-in range, then the DLL settles on the steady balance point. The frequency search system module sets an initial frequency of the reference carrier with an error not exceeding the PLL lock-in range (capture range). When the DLL and PLL are operating in the tracking mode, the corresponding errors may be small, and the following approximations hold:Q*≈NQ;I*≈μUs+NI,  (3)
where NQ and NI are the noise at the outputs of the corresponding correlators.
Tracking systems (DLL and PLL) output PR code delay measurements, carrier phase measurements, and navigational parameters for each channel. For example, each GPS satellite transmits three signals: the C/A (coarse/acquisition) PR code on the L1 carrier, the P1 PR code on the L1 carrier, and the P2 PR code on the L2 carrier. There is a pseudorange and a full-phase measurement associated with each of these signals. Therefore, for each satellite, there is a set of six total measurements for pseudoranges and full phases. Pseudorange and full-phase measurements from different satellites, along with the information being conveyed by the information symbols μ, are processed in a navigation processor to determine the coordinates and speed of the user (herein, user refers to a person holding the receiver or to an object, such as a vehicle, on which the receiver is mounted). Reference time bases are also established by the navigation processor. In addition to pseudoranges and full phases, the receiver measures the energy potential. The energy potential is the ratio C/N0, where C is the signal power of the carrier, and N0 is the single-side spectral density of wideband Gaussian noise (that is, the noise power in a 1-Hz bandwidth). The value C/N0 is measured in Hz. The signal-to-noise ratio (SNR) is measured in dB-Hz:SNR=10 log10[C/N0] dB-Hz.  (E4)
As discussed above, the output correlator signal is modulated with binary information symbols μ(t)=±1. The duration of a symbol is Ts=20Te, where Te is the accumulation time in the correlators. For GPS receivers, Te is the same as the C/A signal period (epoch); therefore, Te=10−3 s. The boundary of each symbol coincides with the boundary of one of the epochs. The signal amplitude (Us), and its corresponding power, is needed to determine C/N0. The value C/N0 could be obtained from (E3) by averaging, if the symbol modulation is first removed. If μ in the receiver were exactly known, then the modulation could be removed by multiplication, using the operations:I=μI*; Q=μQ*.  (E5)
Since, however, the value of μ in the receiver is not a priori known, an estimate {circumflex over (μ)} is used instead of the true μ. There is then a probability of estimate error; that is, the probability that {circumflex over (μ)}≠μ. Instead of (E5), the following operations are then used:I={circumflex over (μ)}I*; Q={circumflex over (μ)}Q*.  (E6)The simplest estimate is {circumflex over (μ)}=sgn I, where sgn I is the sign (−1, +1) of I. This estimate may be used in the acquisition mode even when the boundaries of the binary symbols have not been determined, but PR-code synchronization has been achieved. If the receiver has already defined the boundaries of the binary symbols, however, then a more reliable estimate (with smaller error probability) may be:
                                          μ            ^                    =                      sgn            ⁢                                          ∑                                  i                  =                  1                                20                            ⁢                                                          ⁢                              I                i                *                                                    ,                            (                  E          ⁢                                          ⁢          7                )            in which all the components of I* within the duration of each symbol (that is, 20 ms) are summed.
A key factor which impacts the performance of methods for determining SNR is the digital processing for generating the correlation signals; in particular, at low-level quantization. Two models for representing the orthogonal components I and Q have been developed. The first model [described in A. J. Van Dierendonck and G. McGraw, R. Coker, Determination of C/A Code Self-Interference Using Cross-Correlation Simulations and Receiver Bench Tests, ION GPS 2002, 24-27, September 2002] corresponds to a linear channel in which the expected values of these components are defined only by the signal and their variances are defined only by noise. The second model [described in GLONASS, Design and operation concepts, 3rd edition, ed. By F. Perov and V. Kharistov, Moscow, Radiotechnika, 2005 (in Russian)] describes a “normalized channel” in which the power at the correlator input is considered to be fixed. Since the noise power always exceeds the signal power in the receiver, the noise power may be considered to be fixed. The expected values of the correlation components then depend on the signal-to-noise ratio, and their variances are determined by parameters of a particular processing algorithm.
For both models in the tracking mode, the following typical algorithm is executed over a time interval TM. The expected value (MI) of value I is first calculated. The variance (DI) of value I is then calculated. The energy potential is then calculated as:
                                          C            /                          N              0                                =                                    1                              2                ⁢                                                                  ⁢                                  T                  e                                                      ⁢                                                            (                  MI                  )                                2                            DI                        ⁢                                                  ⁢            Hz                          ,                            (                  E          ⁢                                          ⁢          8                )                            where Te is the accumulation time in the correlator (for the C/A signal in GPS, Te=10−3 s). Then,        
                              S          ⁢                                          ⁢          N          ⁢                                          ⁢          R                =                  10          ⁢                                          ⁢                                    log              10                        [                                          1                                  2                  ⁢                                                                          ⁢                                      T                    e                                                              ⁢                                                                    (                    MI                    )                                    2                                DI                                      ⁢                                                  ]                    ⁢                                          ⁢          dB          ⁢                      -                    ⁢                      Hz            .                                              (                  E          ⁢                                          ⁢          9                )            
Other estimates of C/N0 use both the in-phase correlation signal I and the quadrature correlation signal Q to reduce the impact of tracking errors. The algorithm described above is robust, and may be applied to any receiver. Its computational parameters do not depend on the radiofrequency (RF)-path performance. In particular, they do not depend on the RF-bandwidth BRF and the sampling frequency fs. The algorithm, however, requires reliable estimates of MI and DI over a short time interval TM. Note that, in a real receiver, the energy potential is measured just after the ADC and digital correlator, but not in a linear receiver path. Therefore, the equivalent energy potential (C/N0)e is actually estimated in the digital receiver according to (E8) and (E9). Therefore, instead of (E8) and (E9), the following relationships hold:
                                          (                          C              /                              N                0                                      )                    e                =                              1                          2              ⁢                                                          ⁢                              T                e                                              ⁢                                                    (                                  I                  n                                )                            2                                      D              n                                ⁢                                          ⁢          Hz                                    (                  E          ⁢                                          ⁢          10                )                                                      S            ⁢                                                  ⁢            N            ⁢                                                  ⁢                          R              e                                =                      10            ⁢                                                  ⁢                                                            log                  10                                ⁡                                  (                                      C                    /                                          N                      0                                                        )                                            e                        ⁢                                                  ⁢            dB            ⁢                          -                        ⁢            Hz                          ,                            (                  E          ⁢                                          ⁢          11                )                            where In is the arithmetic mean obtained using the selection of n I-samples (readouts) at the correlator output over time interval TM, and Dn is the variance of the samples. The sample mean is used as an estimate of the true mean. The sample variance is used as an estimate of the true variance. Herein, Dn is referred to as the variance estimate.        
Since the correlators use digital signals, the measured (C/N0)e value will differ from (C/N0) by a proportionality coefficient whose value depends on the quantization conditions for sampling the signals and on other processing parameters. In addition, the values In and Dn calculated from the limited number of samples will differ from the true expected value and variance. Errors in calculating the values of In and Dn may be of significance when fast changes in signal power does not allow a long time interval TM.
The estimate of equivalent energy potential for a satellite channel, along with current coordinate measurements, may be used to solve a variety of practical problems. For example [as discussed in the handbook “Digital radio-receiving systems” Ed. by M. Zhodzishsky, Moscow, “Radio and Svyaz”, 1990 (in Russian)], when estimating PLL and DLL noise errors, the estimate of equivalent energy potential, may be used to take into account losses due to quantization during analog-to-digital conversion. Estimates of equivalent energy potential may also be used to detect loss of synchronization in PLLs and DLLs and to detect loss or corruption of binary information symbols during reception. As another example, in statistical processing of navigation information, the detection and corresponding reduction of the weight of a channel with sufficiently low values of (C/N0)e may substantially improve the accuracy of coordinate measurements in a number of situations.
Measurement of C/N0 is also of interest for applications outside of satellite navigation systems. For example, measurement of C/N0 is used for analyzing radio-wave propagation in the atmosphere. Note that different algorithms define C/N0 in different ways, depending upon operational conditions and receiver channel structures. The accuracy of the estimates of these measurements may also vary depending on the specific application. For example, the measured signal power C may vary not only due to signal attenuation during wave propagation, but also as a result of interference with reflected signals. If the measurement process is used to investigate the conditions of radio-wave propagation, multipath may be treated as an interference that may distort analytical results. If a threshold value of SNR is used as an alarm condition for tracking loss, however, then the measurement process may execute its task by checking the drop in energy potential due to interference/hashing.
What are needed are method and apparatus for determining the SNR of a receiver simultaneously with coordinate measurements. A method which measures the SNR within a short observation time is advantageous.