Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

TSINGHUA SCIENCE AND TECHNOLOGY ISSN 1007-0214 02/19 pp9-16 Volume 13, Number 1, February 2008

Direct GPS P-Code Acquisition Method Based on FFT


LI Hong ( ), LU Mingquan (), FENG Zhenming ()**
Department of Electronic Engineering, Tsinghua University, Beijing 100084, China Abstract: Recently, direct acquisition of GPS P-code has received considerable attention to enhance the anti-jamming and anti-spoofing capabilities of GPS receivers. This paper describes a P-code acquisition method that uses block searches with large-scale FFT to search code phases and carrier frequency offsets in parallel. To limit memory use, especially when implemented in hardware, only the largest correlation result with its position information was preserved after searching a block of resolution cells in both the time and frequency domains. A second search was used to solve the code phase slip problem induced by the code frequency offset. Simulation results demonstrate that the probability of detection is above 0.99 for carrier-tonoise density ratios in excess of 40 dB Hz when the predetection integration time is 0.8 ms and 6 noncoherent integrations are used in the analysis. Key words: GPS P-code; code frequency offset; maximum correlation result; direct acquisition; fast Fourier transform (FFT)

Introduction
In global positioning systems (GPS), the conventional acquisition of the precision code (P-code) relies on the hand-over from the corresponding coarse acquisition code (C/A code). Because the C/A code period is short (1 ms) and its chip rate is low (1.023 Mchip/s), even in the worst case the search amount is finite. Therefore, the C/A code acquisition is easy and fast. Since the Pcode is synchronized with the corresponding C/A code, the P-code can be easily acquired with the aid of the C/A code. However, if the initial time uncertainty is not reduced through other methods, for instance with the aid of the C/A code, a direct search of the P-code chip-by-chip is very difficult due to its long period (1 week) and high chip rate (10.23 Mchip/s). Nevertheless, direct P-code acquisition does offer significant advantages. The P-code offers higher tolerance to
Received: 2006-06-06; revised: 2006-08-28

To whom correspondence should be addressed.


E-mail: fzm@sdp.ee.tsinghua.edu.cn; Tel: 86-10-62784074

jamming and spoofing than the C/A code. If the C/A code is disabled or unavailable, direct P-code acquisition will be the only choice. The higher chip rates present more opportunities to completely resolve distinct propagation paths in indoor/obstructed environments[1]. Diversity gains can be improved with multiple cell detection approaches. Designers have developed several methods to directly acquire P-codes[1-12]. The STS Y-EXPRESS[3] employs a number of physical correlators and is capable of searching 511 resolution cells in parallel. Fast Fourier transform (FFT) methods are then used to correlate the results[4]. The extended replica folding acquisition search technique (XFAST) is one of the most effective methods[5,6]. The search can be accelerated by adding several blocks of local code replica together, but this adds extra noise to the correlation results and the acquisition performance deteriorates for weak signals. Directly averaging the incoming signal and the local code replica separately has the same advantages and disadvantages as XFAST and can be implemented using 1024-point FFT and inverse FFT (IFFT)[7]. An

10

Tsinghua Science and Technology, February 2008, 13(1): 9-16

electro-optic correlator can be used to perform largescale correlations at extremely high rates, but the signal processing loss is much greater than with digital signal processing[8]. The method presented here does not use folding or averaging so as to acquire a very long P-code with a low carrier-to-noise density ratio ( C/N 0 ). The method uses the block processing technique to search code phases and frequency offsets in parallel. Large-scale FFT is used for the block processing. Only the maximum correlation result is saved after searching a block of code phases and carrier frequencies, which reduces the random-access memory (RAM) use. If the incoming signal matches the local code replica, the P-code phase of the incoming signal is declared. However, even with a very fast process, the receiver cannot acquire a real-time code phase due to the P-N code slipping induced by code frequency offset. A second search was developed to solve this problem.

1
1.1

Method
Acquisition method

Since the signal propagation time from a GPS satellite to a receiver is unknown, the exact code phase of the P-code cannot be identified. Since the carrier frequency offset reduces the correlation between the incoming signal and the local code replica, the total uncertainty region to be searched is two dimensional, in

the time and frequency domains. The time-frequency uncertainty region can be discretized into a finite number of resolution cells. Typically, the time space is 1/2 of the P-code and the frequency space is proportional to the reciprocal of the predetection integration time (PIT). Due to the long period and high chip rate of the Pcode, the search region is often very large; therefore, conventional search algorithms which test one resolution cell at a time are too slow to search the P-code. Block searches which simultaneously search many resolution cells in time and frequency domains are, therefore, used. When the block search window aligns with the incoming signal and the input carrier-to-noise density ratio is high, the signal is immediately acquired. When the uncertainty region is large, not all the resolution cells can be covered at once and multiple blocks are used. For weak signals, the PIT cannot be extended indefinitely due to Doppler frequency effects and GPS data limitations. Therefore, non-coherent integration is often employed. Figure 1 shows the direct P-code acquisition procedure in the baseband[1,4,9]. The signal received by the antenna is filtered, amplified, and down-converted to an intermediate frequency (IF). The A/D convertor digitizes the incoming signal and provides the samples for the baseband processing. The samples of incoming signal are saved for quasi real-time processing. Frequency domain processing techniques offer various advantages in GPS signal processing.

Fig. 1

Direct P-code acquisition block diagram

1.2

Correlation and FFT

Y (k ), R(k ), and L(k ) are the FFT results for r (n), l (n), and y (n). The symbol represents circular convolution. The correlation can be computed simultaneously by the FFT[4]. y ( n) = r ( n ) l ( n) Y ( k ) = R ( k ) L ( k ) (2) The N incoming samples are expanded to 2N points with zeros[1,9]. The data and the local code replica of length 2N are then separately transformed using the

For the FFT, denote r (n), l (n), and y (m) as the incoming signal, the local code replica, and the correlation result, respectively.
y (m) = l (m + n)r (n)
n =1 N

(1)

where N is the correlation length.

LI Hong ( ) et alDirect GPS P-Code Acquisition Method Based on FFT

11

FFT. Complex conjugation is performed on the FFT results of the incoming signal. The results are then multiplied and the transform is inverted to give a 2N point output. The first N points represent the correlation results of the incoming signal with the local code replica for N different code phases. Therefore, N code phases are searched in parallel.
1.3 Circular rotation

maximum result is then selected to start the tracking procedure. Therefore, the algorithm seeks to verify only one resolution cell and uses very little memory for the correlation results. In the search process, the correlation result position information is also preserved for convenient mapping of the largest correlation result to its corresponding code phase and carrier frequency offset, which greatly reduces the RAM.
1.5 Code frequency offset

To mitigate the effect of the carrier Doppler, circular rotation is used[12]. Denote L(k ) as the FFT results of l (i) . L((k + d ))2N l (i ) e
2 j id 2N

In Fig. 2, tR is the receiver estimate time and tS is the true time of the incoming signal. The analysis assumes that the time uncertainty is t and tS falls into the time uncertainty interval from tR t to
tR + t . To find where tS lies in the time uncertainty

(3)

Equation (3) implies that l (i) multiplied by the local oscillator is equal to L(k ) s circular rotation. Therefore, to some extent, circular rotation can compensate for the carrier Doppler effect with the frequency compensation resolution determined by 1 f = (4) 2 NTS where TS is the sampling period. The loss Ldop due to the uncompensated carrier Doppler, f dop , is determined by[3]

interval, the incoming signal is correlated with the local code replica. If the local code replica matches the incoming signal, the correlation result will be maximized and the starting time of the local code replica will be treated as the estimate of tS . A simple search plan correlates the incoming signal with the local code replica from tR t to tR + t .

Ldop = sinc 2 (f dopTCI ) predetection integration time.


1.4 Maximum correlation

(5)
Fig. 2 Direct P-code acquisition search model

where sinc(x) represents sin(x)/x and TCI is the If the receiver finds an estimate of tS , denoted as
te , the receiver sends the estimated code phase of the

When the acquisition method is implemented in hardware, the device RAM is often limited which constrains the realization. One method to solve this problem is to set a threshold to compare with the correlation results. If one result is beyond the threshold, a tentative detection is declared and the tracking procedure begins to verify the detection. However, if there are several correlation results exceeding the threshold, there will be several resolution cells to be verified, which consumes both time and resources. In addition, the threshold selection process is not easy. The current acquisition algorithm uses another method. After searching a block of resolution cells in parallel, only the largest correlation result is preserved. Therefore, after searching the entire uncertainty region, only several largest correlation results are kept. The

incoming signal according to te to the subsequent tracking procedure. Due to the time elapsed ( tel ) during the search procedure, te is now out of date, but the sum of te and tel , tsum , is now the correct estimate of tS . However, because of the code frequency offset, the code phase corresponding to tsum is not the current phase of the incoming signal. Assuming a carrier frequency offset of 2 kHz at the L1 frequency, the code frequency offset is 13 Hz, which means there are up to 13 chip offsets per second. If the time consumed by the search is 10 s, up to 130 chip offsets may have occurred. Therefore, the code frequency offset causes the output code phase of the incoming signal to be out of date even though the

12

Tsinghua Science and Technology, February 2008, 13(1): 9-16

elapsed time is taken into account. A second search is then needed to compensate for the offset. Denote the search from tR t to tR + t as the first search. If there was no code frequency offset, the code phase corresponding to tsum would be the right estimate of the current incoming signal. When the carrier frequency offset is 2 kHz, the maximum code frequency offset is 13 Hz. Suppose that the elapsed time for the first search is 30 s, the maximum chip offset would then be 390 chips. Therefore, after the first search, if a second search from tsum t to tsum + t is carried out and its elapsed time is less than 76 ms, the output code phase of the second search will be the right estimate of the current incoming signal, where t is equal to the time span of 390 chips and 76 ms is the period of the maximum code frequency offset of 13 Hz. The overall algorithm is as follows. Step 1 The incoming intermediate frequency signal is sampled at an appropriate rate, followed by the extraction at two samples on each chip. Then the samples of the incoming signal are stored in Storage (1). Step 2 Choose N samples of the incoming signal from Storage (1) and extend them to 2N with zeros[1,9]. Then do a 2N point FFT on the samples, followed by the complex conjugation. Step 3 The local P-code generator generates a Pcode replica and sends it to Storage (2). Step 4 Choose 2N samples from Storage (2) and do a 2N point FFT on them. The circular rotation is executed over the entire frequency uncertainty region[12]. Step 5 Multiply the two FFT results above and invert the result. Step 6 After the power detection of Step 5, save the first N points of the output. Step 7 Determine whether to perform a noncoherent integration depending on the carrier-to-noise density ratio. If non-coherent integration is needed, the largest correlation result with its position information is saved after the non-coherent integration. Otherwise, save the largest correlation result with its position information after Step 6. Get the next N samples of the incoming signal from Storage (1). Shift 2N samples of the local code replica and get another 2N samples from Storage (2). Repeat these steps to search the entire uncertainty region. Step 8 Select the maximum correlation result from Step 7, and conduct a second search based on its

position information and the elapsed time in the first search. Step 9 If the output of Step 8 is above a predetermined threshold, start the tracking procedure to verify the result. Otherwise, choose another local code replica and repeat all the steps.

Performance Factors

Common performance factors are Pd , the probability of detection, Pm , the probability of missing, and Pf , the probability of false alarm. Other performance factors can also be defined to evaluate the performance of the direct P-code acquisition.
2.1 Definition of f m

After searching a block of resolution cells in the time and frequency domain, only the largest correlation result is preserved. Consequently, when the local code replica aligns with the incoming signal but the correlation result is not the largest one, the signal will be missed. Therefore, a factor f m is defined as the ratio of the largest correlation result divided by the second largest one[7].
fm =

Largest correlation result . Second largest correlation result

2.2

Definition of fa

When searching the resolution cells in the time domain at a specific frequency, if the signal-to-noise ratio is high enough, the P-code properties are such that the second largest correlation result is equal to half of the largest one. For instance, if there is no noise in the incoming signal, f m is equal to 2. If the carrier frequency offset is in the middle of two resolution cells in the frequency domain, even though the local code replica aligns with the incoming signal, the difference between the largest correlation result and the second largest is very small and f m is about 1. Therefore,
f m cannot accurately express the acquisition accuracy.

Therefore, another factor f a is defined as the ratio of the largest correlation result divided by the average of the correlation results.

LI Hong ( ) et alDirect GPS P-Code Acquisition Method Based on FFT

13

fa =
2.3

Largest correlation result . Average of the correlation results

Definition of Pb

Circular rotation is used to reduce the effect of the carrier Doppler frequency. The carrier Doppler frequency is determined by the position of the largest correlation result, i.e., the amount of circular rotation. Denote the branch without circular rotation as the first branch with each branch number equal to the amount of circular rotation plus one. The carrier Doppler frequency is then in the branch with the largest correlation result. So Pb is then defined as the probability of the branch having the largest correlation result which indicates the ability to identify the carrier Doppler frequency.

either unknown or uncontrollable. The simulation sampling frequency was 20.46 MHz and N equal to 16 384, which means the predetection integration time is 0.8 ms. The folding number of the local code replica is 4 for XFAST. Every 6 samples are averaged into one point for the direct average method. All the methods employ 32 768-point FFT. Each search used 6 non-coherent integrations with 1000 simulations for Pd and 100 simulations for the other criteria. All the data in the following figures are the average values.
3.1

f m results

Figures 3a, 3b, and 3c show that f m decreases with increasing carrier Doppler frequency. The current method has better performance than XFAST and the direct average method. The performance of XFAST and the direct average method improves as the carrierto-noise ratio increases. The loss due to the carrier Doppler frequency can be estimated using Eq. (5).

Results and Discussions

Computer simulations were used to evaluate the method so that the carrier-to-noise density ratio could be controlled unlike in real data where the ratio is

Fig. 3

f m for various carrier Doppler frequency and C/N 0 ratios

14

Tsinghua Science and Technology, February 2008, 13(1): 9-16

Figure 3d shows that when C / N 0 is low, f m is improved through circular rotation to compensate for the carrier Doppler frequency. However, when C / N 0 is high, f m with carrier Doppler compensation is lower than that without compensation. Because when C / N 0 is high even without carrier Doppler compensation, the correlation result is obvious, as shown in Fig. 4a, where f m is equal to 1.57. With carrier Doppler compensation, f m is equal to the ratio of 9.5 10
4 4

to evaluate detection performance.


3.2

f a results

Figures 5a, 5b, and 5c demonstrate that large carrier Doppler effects reduce f a . The current method has the best performance of the three methods with the gain in f a varying as a function of C / N 0 . Through the carrier Doppler compensation by circular rotation, f a is improved as shown in Fig. 5d.

(Fig. 4b) divided by 8.3 10 (Fig. 4a), i.e., 1.14, which is less than 1.57. Therefore, f a is necessary

Fig. 4

Correlation results with and without carrier Doppler compensation

Fig. 5

f a for various carrier Doppler frequency and C/N 0 ratios

LI Hong ( ) et alDirect GPS P-Code Acquisition Method Based on FFT

15

3.3

Pd , Pm , and Pf results

As illustrated in Figs. 6a, 6b, and 6c, larger carrier Doppler frequencies result in smaller detection probabilities Pd . The current method gives at least 5 dB improvement in C / N 0 over XFAST and more than

10 dB improvement over the direct average method. After carrier Doppler compensation using circular rotation, Pd is improved greatly as shown in Fig. 6d. Figures 6a and 6d show that if C / N 0 is higher than 40 dB Hz, Pd is larger than 0.99.

Fig. 6

Pd for various carrier Doppler frequency and C/N 0 ratios

After searching the whole uncertainty region and completing a second search, the largest correlation result is directly sent to the tracking procedure to be verified. The probability of false alarm, Pf , is equivalent to 1 Pd . If a threshold is set to compare with the largest correlation result, the probability of false alarm, Pf , would be further reduced. The probability of missed detection is equal to 1 Pd .

Pd is larger than 0.9 (Fig. 6d), and the probability of the


largest correlation result lying in the second branch is larger than 0.9 (Fig. 7); if C / N 0 is higher than 40 dB Hz,

3.4

Pb results

Figure 7 shows the variation of Pb for a carrier Doppler frequency of 500 Hz, which indicates the probabilities of the largest correlation result lying in the first, the second, or the third branches. If C / N 0 is higher than 39 dB Hz after Doppler compensation,

Fig. 7 Pb for various carrier Doppler frequency and C/N 0 ratios

16

Tsinghua Science and Technology, February 2008, 13(1): 9-16

Pd is nearly equal to 1 (Fig. 6d), and the probability of


the largest correlation result lying in the second branch is also nearly equal to 1 (Fig. 7), which means the correct branch can be determined from the position of the largest correlation result. Therefore, the carrier Doppler frequency can be accurately calculated as a carrier Doppler frequency of 624 Hz according to Eq. (4).

References
[1] Jovancevic A, Ganguly S, Zigic S. Direct P(Y)/M-code acquisition. In: ION GNSS 17th International Technical Meeting of the Satellite Division. Long Beach, USA, 2004: 561-572. [2] [3] Lozow J B. Analysis of direct P(Y)-code acquisition. Journal of Institute of Navigation, 1997, 44(1): 89-97. Wolfert R, Chen SKohli S, Leimer D, Lascody J. Direct P(Y)-code acquisition under a jamming environment. In: Position Location and Navigation Symposium. Palm Springs, USA, 1998: 228-235. [4] Nee D J R V, Coenen A J R M. New fast GPS code acquisition technique using FFT. Electronics Letters, 1991, 27(2): 158-160. [5] Yang C, Vasquez M J, Chaffee J. Fast direct P(Y)-code acquisition using XFAST. In: Proceedings of ION GPS. Nashville, USA, 1999: 317-324. [6] Yang C, Chaffee J, Abel J, Vasquez M J. Extended replica folding for direct acquisition of GPS P-code and its performance analysis. In: Proceedings of ION GPS. Salt Lake City, USA, 2000: 2070-2078. [7] Jing P. Direct global positioning system P-code acquisition field programmable gate array prototyping [Dissertation]. Ohio University, Columbus, USA, 2003. [8] Brown A, Gerein N. Direct P(Y) code acquisition using an electro-optic correlator. In: Proceedings of ION National Technical Meeting. Long Beach, USA, 2001: 386-393. [9] Lin D M, Tsui J B Y. Comparison of acquisition methods for software GPS receiver. In: Proceedings of ION GPS. Salt Lake City, USA, 2000: 2385-2390. [10] Ganguly S. Real-time dual frequency software receiver. In: Position Location and Navigation Symposium. Monterey, USA, 2004: 366-374. [11] Heckroth K, Scherrer K, Nielson J. Fast direct-Y GPS acquisitions with inaccurate time. In: ION GNSS 17th International Technical Meeting of the Satellite Division. Long Beach, USA, 2004: 573-578. [12] Yang C, Vasquez M J, Chaffee J. Frequency-domain Doppler search and jamming suppression for fast direct P(Y)code acquisition. In: Proceedings of ION GPS. Nashville, USA, 1999: 1157-1167.

Conclusions

A large-scale FFT was used to do a block search of both the code phases and the frequency offsets in parallel, which reduces the requirement of the carrier-tonoise density ratio and speeds up the search procedure. By only preserving the largest correlation result after searching a block of resolution cells in both the time and frequency domains, the required RAM is greatly decreased especially when implemented in hardware. A second search solves the code phase slipping problem induced by the code frequency offset. Other advanced search techniques such as circular rotation are also employed. Simulation results demonstrate that the detection probability is above 0.99 for carrier-to-noise densities in excess of 40 dB Hz when the PIT is 0.8 ms with six non-coherent integrations. The current method more effectively acquires weak signals than XFAST and the direct average method. The method is efficient and easily implemented in both hardware and software. If the search procedure is started from the estimated time tR alternatively to both the right and the left of

tR , as shown in Fig. 2, and a threshold is used to


evaluate the correlation results, the acquisition time can be reduced. However, the implementation is more complex, especially when implemented in hardware.

Acknowledgements
The authors thank Dr. Cui Xiaowei for his support and valuable advice. They also thank Mr. Qian Yi for his help in the analysis of the implementation. Finally, they thank Dr. Zheng Youquan and Mr. Ji Yatu for their help.

You might also like