1. Field of the Invention
The invention relates generally to delay-lock loop (DLL) circuits, and in particular, to the DLL discriminator function in Code Division Multiple Access (CDMA) communications systems receivers.
2. Description of Related Art
Global Positioning Navigation (GPS) is a satellite based navigation system having a space segment of a constellation of about 24 GPS satellites. Each satellite broadcasts ranging signals and navigation data on two frequencies. For non-military Standard Positioning Service (SPS) operation modes, GPS signals are broadcast on a carrier frequency L1. (1575.42 MHz) modulated by navigation data and course/acquisition (C/A) code. Navigation data contains orbit information about the satellite that may be used to compute the satellite's position and velocity by a GPS receiver. GPS is a Code Division Multiple Access (CDMA) system and, therefore, uses C/A codes as pseudorandom number (PRN) codes to identify a particular satellite's signals, even though different satellites share the same L1 frequency band. After obtaining GPS range measurements from at least four satellites, the GPS receiver can solve for four unknowns, including its 3-dimensional position and time.
In a typical GPS receiver, a GPS antenna receives signals from all visible GPS satellites. The signals are filtered, amplified, down-converted, and digitized by the receiver's radio frequency (RF) front end. The RF front end sends its output, i.e., digital intermediate frequency (IF) signals to the receiver's baseband digital signal processing (DSP) unit. The DSP unit processes each individual satellite's signals in different channels. One channel is responsible for acquiring and tracking a satellite, demodulating navigation data, and delivering GPS measurements. All channels send their measurements of all visible satellites to a positioning and navigation unit, which finally computes the user receiver's position and time.
In each receiver channel, tracking loops are used to track received satellite signals. Receiver tracking loops consist of a carrier tracking loop which tracks the received carrier and a code tracking loop which tracks the received C/A code. A code tracking loop may be implemented using a delay lock loop (DLL). Delay-lock loops include a DLL discriminator function to calculate code phase tracking error. However, code phase error results using some well-known DLL discriminator functions, such as early-minus-late (EML) method, are dependent on an estimation of the noise floor, which becomes more critical for the case of tracking weak signals. If the noise floor cannot be accurately estimated, the resulting range measurements will also be inaccurate.
It would be desirable to implement a DLL discriminator that is not dependent on any noise floor estimation.
In view of the above, systems and methods are provided for determining code phase errors using delay lock loop implementing a noise-floor independent discriminator. In a first aspect of the invention, an example method is provided for determining a phase error of a received communication signal. According to the method, an early correlation result between the received communication signal and a first copy of the received communication signal is determined. A prompt correlation result between the received communication signal and a second copy of the received communication signal is determined. The second copy of the received communication signal phase-lags the first copy by a correlator spacing. A late correlation result between the received communication signal and a third copy of the received communication signal is determined. The third copy of the received communication signal phase-lags the second copy by the correlator spacing. A noise-floor independent discriminator generates an auto-correlation function having a peak correlation. The phase error is calculated as a spacing between the prompt correlation and the peak correlation using a function of the prompt, early and late correlations independent of a noise floor estimate.
In another aspect of the invention, a system is provided for code tracking in a CDMA system. The system includes a receiver front-end for receiving a CDMA-based communication system and generating a digital IF signal. A carrier removal function down-converts the digital IF signal to a received C/A code signal having an in-phase signal, I, and a quadrature signal, Q. A code replica generator generates three replicas of the received C/A code signal. The three copies of the received C/A code signal are a early code, a prompt code and a late code. Six code wipeoff correlators determine a correlation between the in-phase signal, I, and each of the early code, the prompt code and the late code, and between the quadrature signal, Q, and each of the early code, the prompt code and the late code. A noise-floor independent delay-lock loop discriminator calculates a prompt correlation result, an early correlation result and a late correlation result using the six correlations calculated by the six code wipeoff correlators. The discriminator generates an auto-correlation function having a peak correlation and calculates a phase error as a spacing between the prompt correlation result and the peak correlation using a function of the prompt, early and late correlations independent of a noise floor estimate.
Various advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.
Other systems, methods and features of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims.
The invention can be better understood with reference to the following figures. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views.
In the following description of preferred embodiments, reference is made to the accompanying drawings that form a part hereof, and which show, by way of illustration, specific embodiments in which the invention may be practiced. Other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
1. Delay-Locked Loop in a GPS Receiver
Each receiver channel 112 includes tracking loops to track received satellite signals. The receiver tracking loops include a carrier tracking loop to track a received carrier and a code tracking loop to track a received C/A code. A code tracking loop is usually implemented using a delay lock loop (DLL). In examples consistent with the present invention, the DLL includes a discriminator that calculates code phase errors independent of the noise floor.
The I and Q signals generated by the carrier removal mixers 206, 208 are then correlated with three copies of the C/A code. The three copies of the C/A code include an early code E, a prompt code P, and a late code L. The first copy, the early code E, is a copy of the C/A code generated by a code generator 212, which uses the code phase offset calculated by the DLL to control the phase of this duplicated C/A code.
The second copy of the C/A code is the prompt code P, which may be generated by delaying the early code E using a 2-bit shift register 214 by the correlator spacing d. In other words, the phase of the early code E is advanced by d chips ahead of the prompt code P. In a standard implementation in a GPS receiver, the correlator spacing d is 0.5 chips. A reduced correlator spacing d, for example 0.1 chips, is often used in order to mitigate multipath and to decrease code phase measurement noise. The prompt code tends to align the received C/A code; however, due to user dynamics, receiver clock instability and noise, there exists a code phase offset, which is also called code tracking error, between the phases of the prompt code P and the received C/A code.
The third copy of the C/A code is the late code L, which is generated by further delaying the prompt code P using 2-bit shift register 214. Typically, the early, prompt and later codes are equally spaced between each other by a correlator spacing d. Thus, the late code L lags the early code E by (2d), which is called early-late correlator spacing.
The three duplicated C/A codes, E, P, and L, are correlated with each of the I and Q baseband signals using six code wipe-off correlators 220a-f to yield three correlation results for each of the I and Q baseband signals. Six correlation results are output from the code wipe-off correlators 220a-f: IE, IP, IL, QE, QP, and QL, as shown in
In the digital correlators 220a-f in
The discriminator 224 uses the filtered correlation results IES, IPS, ILS, QES, QPS, and QLS to calculate the phase difference between the received C/A code and the receiver's duplicated prompt C/A code. The discriminator 224 generates the phase difference, which is a calculated C/A code phase tracking error (or bias). The code phase tracking error may be filtered by a DLL filter 226 to smooth out the code phase tracking error results.
The DLL filter 226 is typically a low-pass filter which is used to reduce noise in the discriminator outputs. It may store the code phase errors as they are generated by the DLL discriminator 224. The DLL filter 226 may compare each new code phase error to the previously generated code phase errors and either eliminate or change any values that are too high or too low. The DLL filter 226 ensures that it does not overactively adjust the output frequency of code CN0216.
The DLL is often implemented as a carrier-aiding style. Since carrier tracking loop can track signals more closely, it can detect user dynamics more precisely than the DLL. Thus, the velocity aiding information, after being properly scaled, from carrier tracking loop can be used to assist the DLL. Adder 228 is the place where the carrier adding information is combined with the filtered code tracking error. Their summation is the input to the code NCO 216. Meanwhile, an intentional code NCO bias may also be added at adder 230, making the output frequency of the code NCO 216 centered at the nominal C/A code rate which is equal to 1023 chips per ms.
Controlled by its input signal, the code NCO 216 accordingly adjusts its output code rate, fco, to synchronize the phase of the duplicated prompt code with that of the received code.
Those of ordinary skill in the art will appreciate that the components shown in
The DLL discriminator 224 in
E=√{square root over (IES2+QES2)} (Equation 1)
P=√{square root over (IPS2+QPS2)} (Equation 2)
L=√{square root over (ILS2+QLS2)} (Equation 3)
To increase the receiver code tracking sensitivity, the DLL discriminator typically performs a non-coherent integration as follows:
Each of the three correlation results, E, P, and L, are a sample of C/A code auto-correlation function (ACF) graph 320 in
The ACF graph 320 in
The calculated code phase offset, δcp, is the input to the DLL filter. The filtered code phase offset, δcps, may be used to generate the code phase and then pseudorange measurements for the corresponding satellite signal. It may also be used by the code NCO 216 to synchronize the prompt code 304 with the received code 300.
The basic operation of typical GPS receivers, tracking loops and DLLs, as illustrated in
The correlation results cannot be exactly zero in real-world operation, even if the received signal does not contain a desired satellite'C/A code, due to received signal noise, receiver thermal noise and other noise related to auto- and cross-correlation interferences. In applying the DLL EML discriminator Equation 7, the noise floor is typically subtracted from correlation results. There are a variety of methods for estimating the noise floor in a GPS receiver that are well known in the art. However, ensuring that noise floor estimating methods operate with sufficient accuracy is difficult, especially for weak signals. Any inaccuracies in estimating the noise floor results in inaccuracies in the calculated code phase error given by Equation 7.
In example implementations of systems and methods consistent with the invention, a discriminator employs a method that is based on the above EML envelope method but does not require any receiver noise floor estimation and results in improved accuracy of the DLL EML discriminator. An improved EML envelope method may be implemented and perform a noise-floor independent method for determining the code phase error, δcp.
The above two equations can be easily derived based on some geometric relationship for an ideal triangle, and they are valid for any value of CP offset δcp. The peak parameter {circumflex over (P)} is substituted by Equation (8) in Equation (9), then Equation (9) becomes
E+L=(1−d)(2P+|E−L|−(E+L)) (10)
Substituting the denominator in Equation (7) by the above equation yields:
Equation (11) determines the CP offset and is noise-floor independent. Receiver channel correlator outputs E, P and L all contain a noise floor. As such, the correlation results may be restated as: E−n, P−n and L−n, where n is an estimated noise floor by the receiver. If these restated correlation outputs are used in Equation (7), then the calculated CP offset becomes:
The above equation shows that the original EML discriminator depends on the noise floor estimate. If the estimation of noise floor n is not accurate, then the calculated CP error will not be accurate, either. If the restated correlation outputs (E−n, P−n and L−n) are used in Equation (11), then the calculated CP error becomes:
The original discriminator Equation (7) and the newly derived discriminator Equation (13) seem to be different only in their denominator, the later actually implements a NFI EML discriminator that is noise floor independent since the noise floor term n is cancelled out in the equation. Therefore, the CP offset δcp may be determined without having to estimate the receiver noise floor. The correlator outputs E, P and L may be used directly in Equation (11) to calculate the CP offset δcp without being subtracted by the noise floor. On the other hands, if the noise floor is estimated inaccurately, Equation 7 will deliver an inaccurate code phase error, while the accuracy of Equation 11 is unaffected.
At step 500, the digital IF signal may be received from a RF receiver front end, such as the RF receiver front end 106 (in
At step 506, the E, P, and L codes are used to generate six correlation results, IE, IP, IL, QE, QP, and QL. The six correlation results are integrated at step 508 for a pre-detection time, t, to generate IES, IPS, ILS, QES, QPS, and QLS. These six signals are coupled to the NFI EMI discriminator 224. The NFI EMI discriminator 224 uses the six signals at step 510 to generate correlation results E, P and L. In one example, the correlation results E, P and L may be calculated using Equations 4, 5 and 6 above. The correlation results E, P and L are used in Equation 11 above to generate the CP offset as shown in step 512.
(In Box 506 in
Because the NFI EML discriminator does not depend on the accuracy of any noise floor estimates, the receiver implementing the NFI EML discriminator may provide more accurate code range measurements. Accordingly, based on these code range measurements, receiver position fixes will be more accurate. In addition, a more accurate CP offset δcp may permit the DLL to adjust the code NCO output frequency more properly, resulting in better code tracking performance and a higher GPS code phase measurement availability and position fix availability. In addition, because the magnitude of the noise floor may be closer to that of correlation results derived from weak signals, the accuracy of noise floor estimation typically becomes more critical. Thus, the receiver performance, in terms of measurement and position fix availability and accuracy, may be improved in weak signal environments by replacing the original EML discriminator with the NFI EML discriminator described with reference to
The NFI EML discriminator assumes a perfect triangle-shaped ACF curve even though limited receiver front end bandwidth may deform an actual ACF curve. For example, the triangle peak becomes flat and the two sides of the triangle are no longer lines. Such a deformed ACF curve renders Equation (11) somewhat inaccurate. The deformity in the ACF curve may be compensated to some extent. For example, the prompt correlator output value P may be artificially inflated by a factor and the value of the factor may be optimized by evaluating the accuracy of the performance improvement of the NFI EML discriminator under different C/N0 environments. As described here, however, the NFI EML discriminator may still provide substantially improved accuracy over the traditional EML discriminator, which also assumed a perfect ACF curve.
The simulation program used in the test results in
In the simulation and bench tests illustrated in
Those of ordinary skill in the art will appreciate that NFI DLL discriminators have been described herein in the context of GPS receivers. However, NFI DLL discriminators may be implemented in any CDMA system, or in any signal processing environment in which DLL discriminators find advantageous use.
One of ordinary skill in the art will appreciate that the methods and systems described herein may be implemented using one or more processors having memory resources available for storing program code and data. One skilled in the art will also appreciate that all or part of systems and methods consistent with the present invention may be stored on or read from other machine-readable media, for example, secondary storage devices such as hard disks, floppy disks, and CD-ROMs; a signal received from a network; or other forms of ROM or RAM either currently known or later developed.
The foregoing description of implementations has been presented for purposes of illustration and description. It is not exhaustive and does not limit the claimed inventions to the precise form disclosed. Modifications and variations are possible in light of the above description or may be acquired from practicing the invention. For example, the described implementation includes software but the invention may be implemented as a combination of hardware and software or in hardware alone. Note also that the implementation may vary between systems. The claims and their equivalents define the scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
5640416 | Chalmers | Jun 1997 | A |
5663734 | Krasner | Sep 1997 | A |
5663735 | Eshenbach | Sep 1997 | A |
5781156 | Krasner | Jul 1998 | A |
5812087 | Krasner | Sep 1998 | A |
5825327 | Krasner | Oct 1998 | A |
5831574 | Krasner | Nov 1998 | A |
5841396 | Krasner | Nov 1998 | A |
5874914 | Krasner | Feb 1999 | A |
5884214 | Krasner | Mar 1999 | A |
5945944 | Krasner | Aug 1999 | A |
5999124 | Sheynblat | Dec 1999 | A |
6002363 | Krasner | Dec 1999 | A |
6016119 | Krasner | Jan 2000 | A |
6052081 | Krasner | Apr 2000 | A |
6061018 | Sheynblat | May 2000 | A |
6064336 | Krasner | May 2000 | A |
6104338 | Krasner | Aug 2000 | A |
6104340 | Krasner | Aug 2000 | A |
6107960 | Krasner | Aug 2000 | A |
6111540 | Krasner | Aug 2000 | A |
6131067 | Girerd | Oct 2000 | A |
6133871 | Krasner | Oct 2000 | A |
6133873 | Krasner | Oct 2000 | A |
6133874 | Krasner | Oct 2000 | A |
6150980 | Krasner | Nov 2000 | A |
6185427 | Krasner | Feb 2001 | B1 |
6201828 | El-Tarhuni et al. | Mar 2001 | B1 |
6208290 | Krasner | Mar 2001 | B1 |
6208291 | Krasner | Mar 2001 | B1 |
6215441 | Moeglein | Apr 2001 | B1 |
6215442 | Sheynblat | Apr 2001 | B1 |
6236354 | Krasner | May 2001 | B1 |
6239742 | Krasner | May 2001 | B1 |
6259399 | Krasner | Jul 2001 | B1 |
6272430 | Krasner | Aug 2001 | B1 |
6289041 | Krasner | Sep 2001 | B1 |
6307504 | Sheynblat | Oct 2001 | B1 |
6313786 | Sheynblat | Nov 2001 | B1 |
6314308 | Sheynblat | Nov 2001 | B1 |
6332008 | Giallorenzi et al. | Dec 2001 | B1 |
6377209 | Krasner | Apr 2002 | B1 |
6408196 | Sheynblat | Jun 2002 | B2 |
6411254 | Moeglein | Jun 2002 | B1 |
6411892 | Van Diggelen | Jun 2002 | B1 |
6417801 | Van Diggelen | Jul 2002 | B1 |
6421002 | Krasner | Jul 2002 | B2 |
6429814 | Van Diggelen et al. | Aug 2002 | B1 |
6433731 | Sheynblat | Aug 2002 | B1 |
6453237 | Fuchs et al. | Sep 2002 | B1 |
6484097 | Fuchs et al. | Nov 2002 | B2 |
6487499 | Fuchs et al. | Nov 2002 | B1 |
6510387 | Fuchs et al. | Jan 2003 | B2 |
6542821 | Krasner | Apr 2003 | B2 |
6583757 | Krasner | Jun 2003 | B2 |
6597311 | Sheynblat | Jul 2003 | B2 |
6614834 | Meng et al. | Sep 2003 | B1 |
6931056 | Goodings | Aug 2005 | B2 |
7190709 | Eckhardt et al. | Mar 2007 | B2 |
20020186794 | Oesch et al. | Dec 2002 | A1 |
20040240530 | Schweikert et al. | Dec 2004 | A1 |
20050265494 | Goodings | Dec 2005 | A1 |
20060215739 | Williamson et al. | Sep 2006 | A1 |
20070201537 | De Wilde et al. | Aug 2007 | A1 |
Number | Date | Country |
---|---|---|
0 552 975 | Jul 1993 | EP |
WO0140821 | Jun 2001 | WO |
WO0189108 | Nov 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20090110134 A1 | Apr 2009 | US |