FFT Sign Search with Secondary Code Constraints for GNSS Signal ...

Copyright © [2008] IEEE. Reprinted from Proceeding of IEEE VTC'08 Fall. This material is posted here with permission of the IEEE. Internal or personal use of this material is permitted. However, permission to reprint/ republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to [email protected]. By choosing to view this document, you agree to all provisions of the copyright laws protecting it.

FFT Sign Search with Secondary Code Constraints for GNSS Signal Acquisition Daniele Borio, Department of Geomatics Engineering, University of Calgary. Alberta, Canada. Abstract— New GNSS signals are usually characterized by the presence of secondary codes and high data rates that can make the sign of the transmitted signal change each primary code period. Therefore, in order to extend the coherent integration time, relative signs between subsequent portions of the incoming signal have to be estimated and used to remove the effect of sign transitions. In this paper the problem of testing all the possible sign combinations is addressed and efficient FFT-based algorithms, suitable for different situations, are proposed. The algorithms proposed take advantage of the structure imposed by secondary codes and the case of composite GNSS signals, made up of data and pilot channels, is considered. Preliminary results based on live E5a GIOVE-A data are also shown. Index Terms—Acquisition, Data channel, Galileo, Global Navigation Satellite System, GNSS, Coherent combining, Open Service, OS, Pilot channel, sign estimation.

I. I NTRODUCTION New Global Navigation Satellite System (GNSS) signals are usually made up of two components, namely the data and pilot channels. The first one is intended to carry the navigation message whereas the second is dataless, allowing long coherent integrations and accurate ranging information. A second innovation brought by new GNSS signals is the presence of secondary codes that break the periodicity of the transmitted sequence, providing increased correlation properties and speeding up the bit synchronization process. The presence of two distinct channels has stimulated the development of combining strategies able to effectively integrate these two components and accounting for the effect of secondary codes. Non-coherent [1], [2], semi-coherent [3] and coherent [4], [5] channel integrations are just a few examples of the strategies developed for the joint acquisition of data and pilot channels. Coherent integration is the optimal combining strategy [4], that provides the best performance in terms of acquisition sensitivity. In [4] the optimal detector and two near-optimal algorithms respectively for high and low C/N0 conditions, have been derived. These detectors require the estimation of the relative signs between data and pilot channels and among subsequent periods of the incoming signals. This estimation is obtained by testing all the possible sign combinations that can occur between the two channels and for different code periods. Secondary codes impose additional constraints that effectively reduce the number of possible sign combinations. In this respect the traditional acquisition process [6], [7] is no longer limited to the search for the code delay and Doppler frequency but also sign combinations have to be

978-1-4244-1722-3/08/$25.00 ©2008 IEEE.

considered. In software receivers a solution for speeding up the acquisition process consists of using FFT-based algorithms [8], [9] that allow the parallel evaluation of all code delays and/or Doppler frequencies. In the context of new GNSS signals, FFT-based algorithms have been used for extending the coherent integration time to a secondary code period and cascaded FFT methodologies employed for recovering the GPS L5 Neuman-Hofman (NH) code [5]. However, to the best of the author’s knowledge, FFT-based algorithms have never been designed for testing the sign combinations that can occur when considering several primary code periods and the coherent combination of data and pilot channels. Therefore the design of FFT-based sign search algorithms, accounting for the constraints imposed by secondary codes is the main focus of this paper. More specifically this paper deals with efficient FFT-based algorithms that are able to test all the sign combinations at once, extending the coherent integration time up to several primary code periods. Extended sequences are designed to test all the sign combinations at once and four cases, namely the exhaustive sign search, the data secondary code partial correlation, the pilot secondary code partial correlation and the dual channel acquisition are considered. This work is organized as follows: at first the signal model and the acquisition process are briefly described in Section II. The exhaustive sign search is introduced in Section III and the correlation with secondary code constraints is analyzed in Section IV. Different FFT-based algorithms are thus discussed. The joint search for code delay and sign combinations is considered in Section V and some preliminary results based on the acquisition of GIOVE-A E5a signals are provided in Section VI. Finally Section VII concludes the paper. II. S IGNAL AND S YSTEM M ODEL The downcoverted and digitalized signal at the input of an acquisition block is given by rIF (nTs ) =

L−1 

Ci yi (nTs ) + ηIF (nTs )

(1)

i=0

that is the sum of L useful signals broadcast by different satellites and a noise term ηIF (nTs ). Ts = f1s is the sampling interval, n is the time index and Ci is the power of the i-th useful signal. Composite GNSS signals with data and pilot components transmitted with a 90◦ phase difference can be modeled as

Proceeding of IEEE VTC'08 Fall, Calgary, Alberta, Canada, Sep. 21-24, 2008

[10], [11]: yi (nTs ) = eD,i (nTs − τ0,i ) cos (2π (fIF + f0,i ) nTs + φ0,i ) + eP,i (nTs − τ0,i ) sin (2π (fIF + f0,i ) nTs + φ0,i ) (2) where • eD,i [n] and eP,i [t] are the data and pilot components; • τ0,i , f0,i and φ0,i are the delay, Doppler frequency and phase introduced by the transmission channel on the ith signal, respectively; • fIF is the intermediate frequency at which the GNSS signal is downconverted by the receiver. The quasi-orthogonality of the primary codes allows one to analyze separately the different GNSS signals and thus the case of L = 1 is considered hereinafter. The quantity F0 = (fIF + f0 ) Ts is also introduced for ease of notation. A. Correlator outputs The input signal (1) is correlated with a delayed and modulated local code replica and a complex random variable RX (FD , τ ) is produced. The index X can be either X = D or X = P and it is used to indicate quantities depending on the correlations with data and pilot local codes respectively. τ and FD = (fIF + fd )Ts are the delay and frequency tested by the receiver. FD accounts for both intermediate and Doppler frequencies. When the signal is present, FD ≈ F0 and τ ≈ τ0 , the hypothesis of correct signal alignment is verified and [2], [5]: √ C sin (πN ΔF ) RX (FD , τ ) = dX R(Δτ ) exp(jΔφX ) + ηX 2 πN ΔF (3) where: • R(·) is the cross-correlation between the local code and the filtered incoming code; • ΔF = F0 − FD is the difference between the frequency of the local carrier and of the incoming signal; τ −τ • Δτ = 0T is the difference between the local code delay s and the delay of the incoming code, normalized by the sampling interval; • ΔφX is the difference between the phases of received and local carriers; • dX is a value in the set {−1, 1} that represents the effect of the navigation message and of the secondary code; • N is the number of samples used for the evaluation of the correlations between the incoming and the local signals. Tc = N Ts is the coherent integration time; • ηX is a complex Gaussian random variable obtained by processing the noise term in (1). The real and imaginary part of ηX are independent and with equal variance σn2 . The variance σn2 depends on the power spectral density of the input noise, on the type of filtering and on the sampling and decimation strategy adopted by the receiver front-end. A technique that can be used to practically estimate the variance σn2 is to correlate the input signal with a local code that is not broadcast by any satellite.

The complex correlation RX (FD , τ ) is the basic element for the acquisition algorithms that will be considered in the next sections. More specifically K realizations of RX (FD , τ ) are obtained from subsequent portions of the incoming signal and from the two channels, and stored in the vector R (FD , τ ) = [RX,1 (FD , τ ) , RX,2 (FD , τ ) , · · · , RX,K (FD , τ )]T . (4)

In (4) the index X is not specified and the complex correlations in R (FD , τ ) can be evaluated from the data and the pilot channel or from both. An index has been also added to distinguish the different realizations of RX (FD , τ ). The complex correlations RX,i (FD , τ ) are evaluated over a single primary code period and the correlation sign, dX , can be different for each RX,i (FD , τ ). Therefore, in order to extend the coherent integration time it is necessary to test all the sign combinations and new random variables are generated: ⎤

⎡ S (F , τ ) 1 D ⎢ S2 (FD , τ ) S (FD , τ ) = ⎢ .. ⎣ . SNc (FD , τ )

⎡ R X,1 (FD , τ ) ⎥ ⎢ RX,2 (FD , τ ) ⎥ = M ·⎢ .. ⎦

⎣ . Nc ×K RX,K (FD , τ )



where

M1 ⎢ M2 ⎢ M=⎢ . ⎣ .. MNc

⎤ ⎥ ⎥ ⎦ (5)

⎤ ⎥ ⎥ ⎥ ⎦

is a combining matrix and Nc is the number of sign combinations considered. Each row of M defines a sign combination. When all the sign combinations are evaluated the decision variable S (FD , τ ) can be determined as [4]:   2 (6) S (FD , τ ) = max |Si (FD , τ )| i

III. E XHAUSTIVE S IGN S EARCH In this section a method for evaluating all the possible sign combinations by means of the FFT algorithm is detailed. In this case the constraints imposed by secondary codes are ignored. In order to better illustrate the principle an example, for K = 4, is first presented. When K = 4, Nc = 8 sign combinations are possible. These sign combinations have to be chosen from the two sets in Table I. It is noted that sign TABLE I S ETS OF POSSIBLE SIGN COMBINATIONS . T HE TWO SETS DIFFER FOR THE SIGN OF THEIR COMPONENTS . + 1 1 1 1 1 1 1 1

1 1 1 -1 1 -1 -1 -1

− 1 1 -1 -1 -1 1 1 -1

1 -1 -1 1 1 -1 1 -1

-1 -1 -1 -1 -1 -1 -1 -1

-1 -1 -1 1 -1 1 1 1

-1 -1 1 1 1 -1 -1 1

-1 1 1 -1 -1 1 -1 1

combinations on the same row of Table I are equivalent since they differ only in the sign of their components and the final

TABLE II C OMBINING SEQUENCES FOR DIFFERENT VALUE OF K.

decision variable in (6) does not depend on this sign. By opportunely choosing the combining vectors Mi from Table I it is possible to construct the string cb = [1, 1, 1, 1, −1, −1, 1, −1]. It is noted that each subsequence of cb of length 4 corresponds to a different sign combination in Table I. Let   ˜ (FD , τ ) = RT (FD , τ ) , 0, ..., 0 T R



2K−1 ×1

be a zero-padded version of the input signal vector, then the scalar product between R (FD , τ ) and the sign combination Mi is given by   ˜ (FD , τ ) , i Mi · R (FD , τ ) = cb · cshift R (7) where the operator cshift(·, i) circularly shifts the vector ˜ (FD , τ ) by i positions. Eq. (7) states that the components of R the vector S (FD , τ ) are the samples of the circular correlation ˜ (FD , τ ). This between cb and the zero-padded input vector R circular correlation can, in turn, be efficiently implemented by using FFT/IFFT algorithms. This methodology can be used for each value of K by employing the appropriate sign combination string. In order to determine the string cb for a generic value of K it is noted that, given a sign combination string cb then c˜b = cshift (cb , i) is also a valid sign combination string for any integer i. This observation suggests a relationship between the set generated by circularly shifting a sign combination string, cb , and cyclic codes. More specifically it  is possible to map the sequence cb K−1 to the polynomial cl (x) = i=0 cb [i]+1 xi where cb [i] is the 2 ith element of cb . Thus, by considering the polynomial ring F2 [x]/(xm − 1) where F2 represents the Galois field with elements {0, 1}, all polynomials xi cl (x) correspond to a valid sign combination string. Moreover cl (x) can be interpreted as a generator of a cyclic code. m is the number of elements in the string cb minus one, thus m = Nc − 1 = 2K−1 − 1. For these reasons cl (x) has to be a factor K−1 −1 − 1. The degree of cl (x) can be determined by of x2 noticing that the string cb has to contain K consecutive “1”s corresponding to the combination of complex correlations all with the same sign. This subsequence of “1”s imposes that the degree of cl (x) is equal to 2K−1 − 1 − K. In this way cl (x) can be easily determined by choosing a factor of xm − 1 of degree 2K−1 − 1 − K. cb can be then evaluated from cl (x). In Table II the sign combination strings, cb , are reported for K = 2, 3, ..., 6. It is noted that for K = 2 there is no sign combination string of length 2 that allows all the sign combinations to be tested. In this case the sequence [1, 1, −1] can be used.

2 3 4

N. of combinations 2 4 8

5

16

1, 1, 1, 1, 1, −1, −1, −1, 1, −1, −1, 1, 1, −1, 1, −1

6

32

1, 1, 1, 1, 1, 1, −1, −1, 1, 1, −1, 1, −1, −1, 1, −1, −1, −1, −1, 1, −1, 1, −1, 1, 1, 1, −1, 1, 1, −1, −1, −1

K

Combining sequence 1, 1, −1 1, 1, 1, −1 1, 1, 1, 1, −1, 1, −1, −1

IV. S ECONDARY C ODE PARTIAL C ORRELATION In new GNSS signals, the presence of secondary codes limits the number of possible sign combinations: in this section different cases are considered and appropriate FFTbased algorithms are proposed in order to efficiently test the sign combinations allowed by secondary codes. A. Single Channel Acquisition When considering the acquisition on a single channel, two cases are possible: •



acquisition on the data channel: in this case data transitions can occur and the detection algorithm has to take into account the additional combinations allowed by the sign change at the boundary of the secondary code; acquisition on the pilot channel: data transitions do not occur and no additional sign combinations have to be accounted for.

When the data channel is considered, the number of combinations is bounded by   Nc ≤ min 2K−1 , Nd + K − 1

(8)

where Nc is the number of sign combinations and Nd is the length of the data secondary code. When K is low with respect to Nd , the secondary code allows all the possible sign combinations and thus Nc is equal to 2K−1 . When K increases, not all the sign combinations are allowed and Nc tends to be equal to Nd + K − 1. In the absence of bit transitions, at maximum Nd combinations would be allowed; K − 1 additional combinations are due to the bit transition. It has to be noted that Nd + K − 1 is only an upper bound for the number of sign combinations, which does not account for possible repetition of the same subsequence in the secondary code. When the pilot channel is considered, the number of combinations is bounded by   Nc ≤ min 2K−1 , Np where Np is the length of secondary code.

(9)

Nd

Nd

Nd

Np

Extended secondary code

S (FD ,τ )

FFT

K -1

Nd

K -1

IFFT K -1

R (FD ,τ )

(⋅)*

|⋅|2

FFT

max(⋅)

Nd

K -1 K -1

Nd

Single channel correlation

Front end

Doppler frequency Code delay

Zero padding

S (FD ,τ )

Reversed sign

Extended local code:

Decision variable

+

+

-

K -1

Nd

K -1

Last K – 1 elements of the secondary code

secondary code

K blocks

Fig. 2. Pilot and data coherent combining: the extended data and pilot secondary code correlations are evaluated separately and the two relative sign combinations are tested for all possible data/pilot alignments.

First K – 1 elements of the secondary code

Zero-padded data:

K -1

Extended tiered code Input data (K ms)

0

Input samples

Extended (Circular) Correlation Reshaping

Fig. 1. FFT-based algorithm for sign combination search: all sign combinations are tested at once; only the first Nd + K − 1 elements of the circular correlation are of interest and correspond to the Nd + K − 1 possible sign combinations imposed by the data secondary code.

Delay dimension



Column wise

B. Data secondary code partial correlation When only a single channel is acquired it is possible to jointly test all the possible sign combinations by correlating an opportunely extended secondary code with a zero-padded version of the input data block R (FD , τ ). This technique corresponds to the evaluation of partial correlations with different portions of the secondary code. The principle of this algorithm is illustrated in Fig. 1 for the data channel: the extended secondary code is formed by concatenating three opportunely modulated portions of the data secondary code. Only the first Nd + K − 1 elements of the circular correlation are of interest and correspond to the Nd + K − 1 possible sign combinations allowed by the data secondary code and bit transitions. C. Pilot secondary code partial correlation The search for sign combinations for the pilot channel is simplified by the absence of bit transitions. In this case a circular convolution of the pilot secondary code with a zeropadded version of R (FD , τ ) allows one to test all possible sign combinations. D. Data/Pilot joint Acquisition When both data and pilot channels are employed, the number of possible sign combinations is bounded by   (10) Nc ≤ min 22K−1 , 2H(Nd + K − 1) N

where H = Npd . In [4] the case of GPS L5 signal was considered, and it was proven that, when considering both channels and Nd = 10, Np = 20 and K = 10, then the optimal detector has to test Nc = 76 sign combinations. Eq. (10) can be considered an extension of this result since Nc = 2H(Nd +K −1) = 2 20 10 (10+10−1) = 4·19 = 76. The

Sign combination dimension

max(| . |2) …

Decision variable as a function of τ

Fig. 3. Principles of the joint delay and sign combination search algorithm. K ms of the input signal are correlated with the extended tiered code and the decision variable S (FD , τ, ) is evaluated for all delays τ at once.

combined data and pilot acquisition can be performed by evaluating the extended data and pilot secondary code correlations separately and testing the relative sign combinations for all possible data/pilot alignments. The principle of the algorithm is illustrated in Fig. 2 V. J OINT DELAY AND SIGN SEARCH The joint search for code delay and sign combinations can be performed by generating an extended local tiered code given by the composition of the extended secondary code and primary code. The joint search for code delay and sign combination is obtained by directly correlating K ms of the input signal with the extended tiered code. In this way all the possible code delays and sign combinations are tested at once. By reshaping the extended circular correlation, the code delay and the sign combination dimensions can be better separated. The decision variable as a function of the delay τ is then obtained by taking the maximum of the square modulus of the extended correlation along the sign combination dimension. The principle of this algorithm is depicted in Fig. 3. VI. R EAL DATA P RELIMINARY RESULTS In this section some preliminary results on the feasibility of the proposed FFT-based algorithms are shown. In particular real data from the first Galileo In-Orbit Validation Element, GIOVE-A has been collected and used for the analysis.

Normalized Correlation

Normalized Correlation

K=2

Fig. 4. Acquisition of the E5a GIOVE-A signal: comparison between coherent integration with sign search and non-coherent combining, data channel only.

GIOVE-A is currently transmitting signals modulated according to [12], slightly differing from the final structure that will be adopted by the Galileo system [11]. The characteristics of the E5a GIOVE-A signal are reported in Table III. The GNSS signal has been collected by a NI PXI-5661 signal analyzer [13] using I/Q sampling with sampling frequency fs = 25 MHz. The algorithms described in previous sections TABLE III M ODULATION PARAMETERS OF THE E5 A GIOVE-A SIGNAL . Parameter Center frequency Chip Rate Primary code length Data secondary code duration Pilot secondary code duration

Value 1176.45 MHz 10.23 Mcps 10230 chips 20 ms 100 ms

have been implemented in MATLAB and used to acquire the E5a GIOVE-A signal. Some preliminary results are reported in Fig.s 4 and 5. More specifically, coherent integration with sign search and non-coherent channel integration [2] are compared in Fig. 4, which shows the search spaces obtained by using the two techniques. In this case the data channel has been used and the exhaustive search implemented. As expected coherent integration clearly outperforms non-coherent combining. Similar results are reported in Fig. 5, which shows normalized correlations along the code delay dimension. VII. C ONCLUSIONS In this paper efficient FFT-based algorithms for extending the coherent integration time have been developed. The algorithms proposed are able to deal with the structure of new GNSS signals that are characterized by two channels, namely the data and the pilot components, and the presence of secondary codes. These algorithms are able to efficiently search for all possible sign combinations, exploiting the constraints imposed by secondary codes. Different cases have been

1

Non−coherent Coherent

0.8 0.6 0.4 0.2 0 0

0.2

0.4

ms K=4

0.6

1

0.8

1

Non−coherent Coherent

0.8 0.6 0.4 0.2 0 0

0.2

0.4

ms

0.6

0.8

1

Fig. 5. Comparison between coherent and non-coherent combining, single channel acquisition. Normalized correlation along the code delay.

considered and, for each case, the number of sign combinations evaluated. The statistical characterization of the proposed methods and a more thorough analysis of the considered algorithms will be studied in future work. R EFERENCES [1] A. J. V. Dierendonck and J. J. Spilker Jr., “Proposed civil GPS signal at 1176.45 MHz: In-phase/quadrature codes at 10.23 MHz chip rate,” in Proc. of ION Annual Meeting (AM), Cambridge, MA, June 1999, pp. 761 – 770. [2] F. Bastide, O. Julien, C. Macabiau, and B. Roturier, “Analysis of L5/E5 acquisition, tracking and data demodulation thresholds,” in Proc. of ION GPS/GNSS, Portland, OR, Sept. 2002, pp. 2196 – 2207. [3] C. Yang, C. Hegarty, and M. Tran, “Acquisition of the GPS L5 signal using coherent combining of I5 and Q5,” in Proc. of ION GNSS, 17th International Technical Meeting, Long Beach, CA, Sept. 2004, pp. 2184 – 2195. [4] C. J. Hegarty, “Optimal and near-optimal detector for acquisition of the GPS L5 signal,” in Proc. of ION NTM, National Technical Meeting, Monterey, CA, Jan. 2006, pp. 717 – 725. [5] C. Hegarty, M. Tran, and A. J. Van Dierendonck, “Acquisition algorithms for the GPS L5 signal,” in Proc. of ION/GNSS, Portland, OR, Sept. 2003, pp. 165 – 177. [6] E. D. Kaplan and C. J. Hegarty, Eds., Understanding GPS: Principles and Applications, 2nd ed. Norwood, MA, USA: Artech House Publishers, 2005. [7] P. Misra and P. Enge, Global Positioning System: Signals, Measurements and Performance. Ganga-Jamuna Pr, Dec. 2001. [8] D. J. R. V. Nee and A. J. R. M. Coenen, “New fast GPS code-acquisition technique using FFT,” Electronics Letters, vol. 27, no. 2, pp. 158 – 160, Jan. 1991. [9] D. Akopian, “Fast FFT based GPS satellite acquisition methods,” IEE Proc. Radar Sonar Navig., vol. 152, no. 4, pp. 277 – 286, Aug. 2005. [10] “Interface specification NAVSTAR GPS space segment / navigation L5 user interfaces,” ARINC Incorporated, Tech. Rep. IS-GPS-705 (2005), Sept. 2005. [11] “Galileo open service signal in space interface control document,” European Space Agency / Galileo Joint Undertaking, Draft GAL OS SIS ICD/D.0, May 2006. [12] Galileo Project Office, “GIOVE-A navigation signal in space interface control document,” European Space Agency, First issue ESA-DEUI-NGICD/02703, Mar. 2007. [13] 2.7 GHz RF Vector Signal Analyzer with Digital Downconversion, National Instruments, http://www.ni.com/pdf/products/us/cat vectorsignalanalyzer.pdf, 2006.