A DEVICE AND METHOD FOR DETERMINING AN EPOCH USING A DE- SPREAD SPREAD-SPECTRUM SIGNAL
FIELD OF THE INVBBITIOH
The present indention relates generally to spread-spectrum tracking and navigation, and in particular a device and method for determining an epoch which can be used to determine the location of an object.
BACKGROUND OF THE INVENTION
Direct-sequence spread-spectrum tracking/navigation systems use a specific point (or epoch) in a pseudo-random code to determine the propagation time of the signal from the transmitter to the receiver. In a hyperbolic tracking/navigation system the location of the epoch is unimportant, but the point must be related to the correlation function (or correlogram) generated by the correlator in the receiver. Commonly spread-spectrum tracking/navigating systems determine an epoch using the peak in amplitude of a de-spread spread-spectrum signal. This epoch is used in conjunction with a number of techniques, such as Time-of-Arrival (ToA) and Time- Difference-of-Arrival (TDoA) , to determine a location of an object. It is important that the peak be accurately determined so that errors in the calculated location can be avoided.
If the spread-spectrum signal is transmitted over a channel having a significantly higher bandwidth than a chip rate of a respective pseudo-random code (as is the case for the GPS signal) , the peak can be accurately determined because a minor deviation from a maximum correlation between the code and the spread-spectrum signal will result in a measurable change in the amplitude of the de-spread signal.
For spectral efficiency it is highly desirable that the bandwidth of the signal is about equal to the chip rate. In this scenario, the minor deviation from the maximum correlation will not result in a measurable change in the amplitude of the de-spread signal. Consequently, the peak extends over a relatively wide period of correlation time, which results in a large peak tracking error. Having a large tracking error is undesirable because the calculated location is likely to be erroneous. Therefore, it would be advantageous if the epoch could be determined without using the peak of the de-spread spread-spectrum signal.
Because the signal is bandlimited to about the chip rate, the signal can be digitally sampled at about two samples per chip without loss of information (Shannon sampling theorem) . As the correlogram has a width of ±1 chip, the digitally sampled version has at most four samples. However, as the trailing edge can be affected by multipath signals, only the two samples on the leading edge provide for accurate epoch determination in a digital system. While more samples can be taken, there is no extra information, as the bandlimited analog correlogram can be completely reconstructed using the digitally sampled data at two samples per chip, and in particular the two samples on the leading edge. Thus the epoch determination algorithm for a system with the bandwidth about equal to the chip rate should only use two samples on the leading edge of the correlogram.
SUMMARY OF THE INVENTION
According to a first aspect of the present invention, there is provided a device for determining an epoch using a de-spread spread-spectrum signal, the signal having a magnitude m that is a function of a correlation
time c between a pseudo-random code and the signal, the magnitude m having a minimum value mmia and a maximum value xttmεum the device comprising. a sampler for obtaining (xai ? Ci) and ( ∑U C2) , where m,χ is >= mmin and < aιmajr, and m2 is >= mm±n and < mi and a processor for processing {ml £, Ci) and {m∑e cz) to obtain a correlation time z which can be used as the epoch.
Thus, the present invention has the advantage of avoiding the large tracking errors associated with techniques based on tracking the peak in the amplitude of the de-spread spread spectrum signal. The present invention has the potential to avoid the large tracking errors because the correlation time is obtained from points (aii, Ci) and (m2, c2) on the edge of the correlogram instead of the peak.
Preferably, the processor is arranged to use (ml f c2) and (m2, c2) determine a function p (ml r cl f m2f c2) , the function p being used by the processor to determine the correlation time z.
Preferably the processor is arranged to use the function p to determine an x-intercept thereof, the x- intercept being used as the correlation time z.
Preferably, the function p is linear.
Preferably, the processor is arranged to obtain the magnitudes jχiχ and m2 such that a difference between corresponding correlation times c± and c2 is within a range of 0.25 to 0.5 of a chip of the pseudo-random code.
Alternatively, the processor is arranged to determine a ratio m2 ÷ mi, the ratio being used as the correlation time z by solving an equation r(ml r c±, m2, c2) .
Preferably, the ratio m2 ÷ m2 is about 0.4, m2 and m2 being such that a difference between corresponding correlation times Cx and a is about 0.5 of a chip of the pseudo-random code.
Preferably, (ml ff Ci) and (m2e c2) correspond to points on a leading edge of a correlogram.
Thus, having (ml ff Ci) and {m2, c2) on the leading edge of the correlogram is advantageous because it mitigates the effects of multipath interface.
According to a second aspect of the present invention, there is provided a method for determining an epoch using a de-spread spread-spectrum signal, the signal having a magnitude m that is a function of a correlation time c between a pseudo-random code and the signal, the magnitude m having a minimum value mm±n and a maximum value πijjax, the method comprising the steps of: obtaining (mi, Ci) , where mi is >= mm±n and < mmax; obtaining (m2r c2) , where m2 is >= mmιn and < m2; and processing ( i, Ci) and (m2, c2) to obtain a correlation time z which can be used as the epoch.
Preferably, the processing step comprises using, (mi, Ci) and (m2, c2) to determine a function p(mι ci, m2, c2) , and using the function p to determine the correlation time z.
Preferably, the step of using the function p comprises using the function p to determine an sε-intercept, the -intercept being used as the correlation time z .
Preferably, the function p is linear.
Preferably, the obtaining steps are such that the magnitudes m2 and m2 have a difference between corresponding correlation times e2 and c that is within a range of 0.25 to 0.5 of a chip of the pseudo random code.
alternatively, the processing step comprises determining a ratio m2 ÷ mi, and using the ratio as the correlation time z by solving an equation x(m,ιP cl ff m2ff c2) .
Preferably, the ratio m2 ÷ m.ι is about 0.4, and m2 being such that a difference between corresponding correlation times e2 and c2 is about 0.5 of a chip of the pseudo-random code.
Preferably, (ml r c2) and (m2, c2) corresponds to points on a leading edge of a correlogram.
According to a third aspect of the present invention, there is provided a navigation and/or tracking device comprising the device according to the first aspect of the present invention.
According to a fourth aspect of the present invention, there is provided a navigation and/or tracking device arranged to carry out the method according to the second aspect of the present invention.
According to a fifth aspect of the present invention, there is provided software that, when executed by a computing device, enables the computing device to perform the method according to the second aspect of the present invention.
According to a sixth aspect of the present invention, there is provided a computer readable medium comprising the software according to the fifth aspect of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Notwithstanding any other embodiments that may fall within the scope of the present invention, an embodiment of the present invention will now be described, by way of example only, with reference to the accompanying figures, in which.
figure 1 illustrates a rudimentary block diagram of a spread-spectrum tracking/navigating receiver; and
figure 2 is a graph showing the magnitude of a de-spread spread-spectrum signal as a function of correlation time between a pseudo-random code and the spread-spectrum signal; and
figure 3 provides a flow diagram of the various steps preformed by the receiver shown in figure 1.
AN EMBODIMENT OF THE INVENTION
The spread-spectrum tracking/navigating receiver 1 illustrated in figure 1 comprises a pseudo-random code synchronization and tracking block 3, a de-spreading block 5, and a pseudo-random code generating generator 7.
The code synchronization and tracking block 3 essentially determines an epoch, which is used in calculating the location of the receiver 1, and ensures that the epoch is tracked and that a pseudo-random code used to de-spread a received spread-spectrum signal remains synchronised. The code synchronisation and tracking block 3 comprises a device and method embodying the present invention.
The de-spreading block 5 is provided with the
pseudo-random code from generator 7 and the received spread-spectrum signal. Generally speaking, the de- spreading block 5 processes the pseudo-random code and the spread- pectrum signal in order to recover a signal (information) from the spread-spectrum signal. The spread- spectrum signal is provided to the de-spreading block 5 via a RF (radio frequency) front end (not shown in the figures) . The magnitude m of the signal is a function £ of a correlation ø between the pseudo-random code and the received spread-spectrum signal.
The blocks 3, 5 and 7 (the first of which embodies the present invention) are implemented in a chipset such as those manufactured by SiRF Technology, Evermore and Trimbal.
It will be appreciated that whilst some embodiments of the present invention the device and method are implemented in a single chipset, it is possible to implement the device and method of the present invention in a discrete electronic component (such as an integrated circuit) which can be used with other suitable components.
Upon receiving the spread-spectrum signal, the receiver 1 ^slides' the pseudo-random code in time relative to the received spread-spectrum signal. Sliding the pseudorandom code effectively varies the correlation c between the pseudo-random code and the spread-spectrum signal. While sliding the pseudo-random code, the receiver 1 collects data, using a sampler, which reflects the functional relationship between the magnitude m and the correlation c, the latter of which extends between substantially uncorrelated and substantially correlated. Figure 2 illustrates an example of the magnitude m as a function of the correlation time c.
In a digital implementation, the correlation
process can be performed using a digital accumulator/multiplier in the time domain, which would typically be implemented using a Field Programmable Gate Array (FPGA) . Alternatively, efficient computation in the time domain can use fast Hadamard transform techniques, or Fast Fourier transform (FFT) techniques in the frequency domain. Typically, the FFT approach would be performed using software running on a Digital Signal Processor (DSP) .
The data about the magnitude at is used to determine a minimum magnitude mM±n and a maximum magnitude fl x of the signal. Once the minimum and maximum magnitudes have been determined, the receiver 1 uses the collected data to obtain a magnitude aι of the signal. The magnitude aι2 is greater than or equal to the minimum magnitude mmin and less than the maximum magnitude mmax (that is, aι2 >= mm±α and < aijπax) . The receiver 1 uses the collected data to determine the correlation time c2 that corresponds to magnitude aι2; that is, (m, c2) .
The receiver 1 also uses the collected data to obtain a magnitude m2 of the signal. The magnitude m2 being such that it is greater than or equal to the minimum magnitude mmin and less than aι2; that is, m2 >= mm±a and < aι2. The receiver 1 also obtains a correlation time c that corresponds to magnitude m2 (that is, (B22, C2) ) .
The magnitudes aι2 and ai2 effectively correspond to points on the leading edge of the correlogram shown in figure 2. Having the points on the leading edge has the potential to mitigate multipath interference.
Once obtained, the receiver 1 processes (aι^ c2) and (m2e c2) to obtain a correlation time z that can be used (by the appropriate sections of the receiver 1) as the epoch. The receiver 1 is capable of processing (aι2, c2) and (aι2, c2) using two different techniques. In a first
technique, the receiver 1 uses the correlator output data (ml t C ) and (m2, c2) , and a function p(aι2, c2, m2, c2) to determine the correlation time z . The function p is linear, and the correlation time s corresponds to an x- intercept of the function p. Graphically, the first technique involves drawing a straight line through the points (rn.it, Ci) and (m2„ c2) to determine an x-intercept of the straight line. The x-intercept is used as the correlation time ∑, as can be seen in figure 2. In a second technique the receiver 1 calculates a ratio p = m2 ÷ aι2, which is then used by the receiver 1 to determine the correlation time z when a function r(aι2, c2, m2, c2) = p0, a particular set point for the tracking function.
In the first technique, the receiver 1 selects the magnitudes aι and m2 with the difference between c and c2 within the range 0.25 to 0.5 of a chip of the pseudorandom code. In the second technique, the receiver 1 selects magnitudes aι2 and m2 such that the ratio m∑ ÷ aι2 is about 0.4, and the difference between c2 and c2 is about 0.5 of a chip of the pseudo-random code.
It will be appreciated that the receiver 1 is capable of processing a number of channels (that is, processing a number of unique spread-spectrum signals) , and thus is capable of determining a number of epochs. For example, if the receiver 1 was used in a satellite based navigation system, the number of unique spread-spectrum signals would correspond to the number of signals received from the satellites in the navigation system, each epoch corresponding to a particular satellite.
The receiver 1 uses the epoch (s) in conjunction with one of a number of known techniques for determining a location of the receiver 1. These common techniques include, for example, trilateration (also referred to as triangulation) . Generally, trilateration requires the
receiver 1 to know the pseudo-range between itself and the object that transmitted the spread-spectrum signal (e.g., a satellite) . The receiver 1 can determine the pseudo-range by using the correlation time z, which in turn is used to determine the time it took for the spread-spectrum signal to reach the receiver 1. The pseudo-range can be simply determined because both the velocity and time it took for the spread-spectrum signal to reach the receiver 1 are known. Once the pseudo-ranges have been determined the receiver 1 can compute a hyperboloids intersection to determine the location of the receiver 1. The determination of the location of the receiver is performed by a microprocessor running suitable software.
It will be appreciated by those in the art that the embodiment of the present invention is relevant to a tracking/navigation system where the bandwidth is similar to the chip rate. Thus, it is of particular relevance to the next generation of GPS (where the chip rate will be increased to 10 Mchips per second from the current 1 Mchips per second) , and the European Galileo system. Other systems which could use the epoch tracking technique include the CSIRO developed Precision Location System and the Australian developed tracking system QUIKTRAK.
A reference herein to a prior art document is not an admission that the document forms part of the common general knowledge in the art.
For the purposes of this specification it is to be clearly understood that the word "comprising" means "including but not limited to", and that the word
"comprises" has a corresponding meaning.