The main purpose of this method is to eliminate the frequency information in the input signal. Without the frequency information one need only use the C/A code to find the initial point of the C/A code. Once the C/A is found, the frequency can be found from either FFT or DFT. This method is very interesting from a theoretical point of view; however, the actual application for processing the GPS signal still needs further study. This method is discussed as follows. First let us assume that the input signal s(t) is complex, thus s(t) = Cs(t)ej 2nft
where Cs (t) represents the C/A code of satellite s. The delayed version of this signal can be written as s(t — t) = Cs(t — T)ej2nf(t—T) (7.14)
where t is the delay time. The product of s(t) and the complex conjugate of the delayed version s(t — t) is s(t)s(t — t)) = Cs(t)Cs(t — T)*ej 2nfte—j 2nf(t—t) = Cn(t)ej 2f T (7.15) where
can be considered as a "new code," which is the product of a Gold code and its delayed version. This new "new code" belongs to the same family as the Gold code.(5) Simulated results show that its autocorrelation and the cross correlation can be used to find its beginning point of the "new code." The beginning point of the "new code" is the same as the beginning point of the C/A code. The interesting thing about Equation (7.15) is that it is frequency independent. The term ej2f T is a constant, because f and t are both constant. The amplitude of ej2nfT is unity. Thus, one only needs to search for the initial point of the "new code." Although this approach looks very attractive, the input signal must be complex. Since the input data collected are real, they must be converted to complex. This operation can be achieved through the Hilbert transform discussed in Section 6.13 or down converted into a complex signal; however, additional calculations are required.
A slight modification of the above method can be used for a real signal.(4) The approach is as follows. The input signal is s(t) = Cs(t) sin(2ft) (7.17)
where Cs(t) represents the C/A code of satellite s. The delayed version of the signal can be written as s(t — t) = Cs(t — t) sin[2f (t — t)] (7.18)
The product of s(t) and the delayed signal s(t — t) is s(t)s(t — t) = Cs(t)Cs(t — t) sin(2ft) sin[2f (t — t)] Cn(t)
where Cn(t) is defined in Equation (7.16). In the above equation there are two terms: a dc term and a high-frequency term. Usually the high frequency can be filtered out. In order to make this equation usable, the | cos(2f t)\ must be close to unity. Theoretically, this is difficult to achieve, because the frequency f is unknown. However, since the frequency is within 1250 ± 10 kHz, it is possible to select a delay time to fulfill the requirement. For example, one can chose 2 x n x 1,250 x 103t = n, thus, t = 0.4 x 10-6 j = 400 ns. Since the input data are digitized at 5 MHz, the sampling time is 200 ns (1/5 MHz). If the input signal is delayed by two samples, the delay time t = 400 ns. Under this condition | cos(2nf t)| = | cos(n)| = 1. If the frequency is off by 10 kHz, the corresponding value of | cos(2nf t)| = | cos(2n x 1,260 x 103 x 0.4 x 10-6)| = 0.9997, which is close to unity. Therefore, this approach can be applied to real data. The only restriction is that the delay time cannot be arbitrarily chosen as in Equation (7.15). Other delay times can also be used. For example, delay times of a multiple of 0.4 us can be used, if the delay line is not too long. For example, if t = 1.6 us, when the frequency is off by ±10 kHz, the | cos(2nf t)| = 0.995. One can see that | cos(2nf t)| decreases faster if a long delay time is used for a frequency off the center value of 1,250 kHz. If the delay time is too long the | cos(2nf t)| may no longer be close to unity.
The problem with this approach is that when two signals with noise are multiplied together the noise floor increases. Because of this problem one cannot search for 1 ms of data to acquire a satellite. Longer data are needed for acquiring a certain satellite.
One interesting point is that a navigation data change does not have a significant effect on the correlation result. Figure 7.6 shows this result. In Figure 7.6a there is no phase shift due to navigation data. The "new code" created by the multiplication of the C/A code and its delayed version will be repetitive every
millisecond as the original C/A code. If there are two phase shifts by the navigation data, the only regions where the original C/A code and the delayed C/A code have a different code are shown in Figure 7.6b. The rest of the regions generate the same "new code." If there are 5,000 data points per C/A code, delaying two data points only degrades the performance by 2/5,000, caused by a navigation transition. Therefore, using this acquisition method one does not need to check for two consecutive data sets to guarantee that there is no phase shift by the navigation data in one of the sets. One can choose a longer data record and the result will improve the correlation output.
Experimental results indicate that 1 ms of data are not enough to find any satellite. The minimum data length appears to be 5 ms. Sometimes, one single delay time of 400 ns is not enough to find a desired signal. It may take several delay times, such as 0.4, 0.8, and 1.2 us, together to find the signals. A few weak signals that can be found by the circular correlation method cannot be found by this delay and multiplication method. With limited results, it appears that this method is not suitable to find weak signals.
Was this article helpful?