FFT Acquisition of Periodic, Aperiodic, Puncture, and Overlaid Code Sequences in GPS

This paper presents a study of FFT-implemented circular correlation and its application to fast direct acquisition of GPS codes. This includes the periodic C/A-codes, practically non-periodic P(Y)-codes, never-repeating cryptographic M-code, and puncture acquisition (PA) codes which have been proposed to aid direct M acquisition as well as overlaid codes which are created by surface-reflected GPS signals extended beyond one code chip. FFT operates on blocks of incoming and replica code samples, thus providing simultaneous search over the entire block of code phases. It is straightforward to work with periodic codes for circular correlation. However, it is not obvious for puncture codes and long codes in particular. One major concern is how to ensure that the incoming and replica code samples contained within the working block could be correlated. In addition, it is quite possible that the data bit sign may reverse in the middle of an integration interval. Furthermore, how to efficiently make use of complex FFT when the data length is not a power of two or highly composite is critical for practical implementation. These design and computation issues are properly formulated in this paper and pertinent acquisition schemes are suggested. 137 INTRODUCTION At the heart of a GPS receiver is the correlation performed between a segment of the incoming signal samples and a locally generated code replica. A successful correlation identifies the particular GPS satellite from which the signal originates while rejecting all other codes present at the same time. The correlation integration, acting as a matched filter with a large processing gain, de-spreads the signal and produces an enhanced signal to noise ratio (SNR) at the output for detection, delay and Doppler error discrimination, and navigation message data bit extraction. Reviews of GPS technology and its applications can be found in [Parkinson and Spilker, 1996; Kaplan, 1996]. In most GPS receivers, code correlation is implemented in the form of a digital correlator or a matched filter made up of basic logic circuits such as an XOR (exclusive-or) gate followed by an adder (integrate and dump), where the signal is quantized into one bit or two. Though being simple, the operation of a time-domain hardware correlator cannot run faster than the rate at which the signal samples arrive. Although a block of signal samples is integrated per correlation, only one code phase is tested each time, unless numerous hardware correlators are put in parallel, each assigned to a different code phase. There has been a growing interest in software GPS receivers for flexibility gained from programmability. In most software GPS receiver designs, the code correlation is implemented via Fast Fourier Transform (FFT) [van Nee and Coenen, 1991]. Actually, FFT can be employed not only as a fast means to calculate the correlation function but also as a tool to perform domain conversions from time to frequency and vice versa. Once in the frequency domain, the incoming signal spectrum can be scrutinized for detection and suppression of narrowband interference [Peterson et al., 1996] and for simple translation to the baseband with Doppler removed in the process [Yang, Vasquez, and Chaffee, 1999a]. A selective processing can also be applied to a portion of the signal spectrum of interest, be it the upper sideband, lower sideband or both of the split-spectrum of the proposed GPS modernization signal. This paper presents a study of FFT-implemented circular correlation and its application to fast direct acquisition of GPS codes. This includes the periodic C/A-codes, practically non-periodic P(Y)-codes, never-repeating cryptographic M-code, and puncture acquisition codes which have been proposed to aid direct M acquisition [Barker et al., 2000]] as well as overlaid codes which are created by surface-reflected GPS signals extended beyond one code chip [Yang, Muskat, and Garrison, 2000]. Operating on blocks of incoming and replica code samples, FFT thus provides simultaneous search over the entire block of code phases. It is straightforward to work with periodic codes for circular correlation. However, it is not obvious for puncture and particularly long code sequences. One issue is to ensure that the incoming and replica code samples contained within the working block could be correlated. In addition, it is quite possible that the data bit sign may reverse in the middle of an integration interval. Furthermore, it is critical to implement a complex FFT when the data length is not a power of two or highly composite. To address these computation and design issues, the paper is organized as follows. First, linear and circular correlations are described with emphasis placed on their differences as implemented by FFT. Computational issues such as sampling rate, commensurability ratio, zero padding, and complex FFT are then discussed. The paper next focuses on FFT acquisition of periodic and aperiodic codes with four algorithms outlined. It then analyzes FFT acquisition of puncture and overlaid codes. Finally, concluding remarks are provided with a summary. LINEAR VS CIRCULAR CORRELATION Given two sequences of data points of length N, they will be successively shifted relative to each other to produce the values of their entire cross correlation function. There are two different ways to conduct the shifting, leading to either a linear or circular correlation accordingly. In the linear correlation, the second sequence is shifted with respected to the first and zero-padded or truncated wherever the sequences do not line up. To illustrate, two sequences represented by the rectangles A and B are shown in Figure 1(a). The resulting linear correlation function, being the overlapped area, has a support of length 2N-1. 138 In the circular correlation, however, the second sequence is time-reversed circularly shifted with respect to the first, as shown in Figure 1(b), where two pseudo random number (PRN) sequences are represented by the triangles with the height to indicate the phase. It is important to note that the resulting circular correlation function has a support of length N. FFT operates on a block of samples of length N and implicitly assumes that the signal is of periodicity of N. Because of this, FFT-implemented convolution or correlation is circular in nature. If non-periodic finite signals are of interest, extra care has to be given to the use of FFT for linear convolution or correlation. Otherwise, there will be a time-aliasing due to undersampling of the correlation function [Kunt, 1986]. To perform linear correlation with FFT, both the sequences have to be zeropadded to at least a length of 2N-1. This is consistent with periodic C/A codes when the correlation interval is the code epoch of 1ms. In fact, the correlation between two periodic sequences over one period, even implemented in a linear manner, is circular and it is straightforward to apply FFT. However, there are a number of circumstances where one actually faces the problem of linear correlation and it has to be converted into a circular one in order to benefit from the fast computations offered by FFT. This aspect will be further addressed in the subsequent sections.