(IJCSIS) International Journal of Computer Science and Information Security, Vol. 9, No. 9, September 2011 GPS L2C Signal Acquisition Algorithms for Resource-Limited Applications in Challenging Environments Nesreen I Ziedan Computer and Systems Engineering Department Faculty of Engineering, Zagazig University Zagazig, Egypt ziedan@ieee.org Abstract—Many emerging indoor and wireless applications and CL, that are multiplexed chip-by-chip, i.e. a chip of the require the positioning capabilities of GPS. GPS signals, however, CM code is transmitted followed by a chip of the CL code. suffer from attenuations when they penetrate natural or man- The chipping rate of each code is 511.5 KHz. The CM code made obstacles. Conventional GPS receivers are designed to detect signals when they have a clear view of the sky, but they has a length of 10230 chips; it repeats every 20 ms, and it is fail to detect weak signals. This paper introduces novel algo- modulated by a 50 Hz data message. The data and the CM code rithms to detect the new GPS L2C civilian signal in challenging are synchronized such that each data bit has exactly one code. environments. The signal structure is utilized in the design to The CL code is 75 times longer than the CM code (767,250 achieve high sensitivity with reduced processing and memory chips), and it is data-less. Performance evaluations for the L2C requirements to accommodate the capabilities of resource-limited applications, like wireless devices. signal were presented in [3] [4]. The L2C signal consists of a medium length data-modulated GPS signals suffer from attenuation if their paths are ob- code (CM) and a long length dataless code (CL). The CM code structed by natural or man-made objects- such as trees or is acquired using long coherent and incoherent integrations to buildings. Conventional GPS receivers can detect signals if increase the acquisition sensitivity. The correlation is calculated their carrier to noise ratio, C/N0 , is over 35 dB-Hz, but they in the frequency domain using an FFT-based approach. A bit synchronization method is implemented to avoid acquisition fail to detect weaker signals. Special algorithms are needed degradation due to correlating over the unknown bit bound- to acquire and track weak signals. Many devices that are aries. The carrier parameters are reﬁned using a Viterbi-based prone to receiving weak signals, like cell phones, have limited algorithm. The CL code is acquired by searching only a small resources. So, the processing and memory requirements must number of delays, using a circular correlation based approach. be considered when designing such algorithms. The algorithms’ computational complexities are analyzed. The performances are demonstrated using simulated L2C GPS signals The acquisition goal is to ﬁnd the visible satellites, the with carrier to noise ratio down to 10 dB-Hz, and TCXO clocks. code delay, τ , and the Doppler shift, fd . A search for a satellite is done by locally generating its code and using it Index Terms—GPS, L2C, Acquisition, Weak Signal, Indoor, in a 2-dimensional search on τ and fd . The received signal is Viterbi correlated with different versions of a code-modulated local signal, each version is compensated by one possible τ -fd combination. The codes’ properties cause the correlated signals I. I NTRODUCTION to generate a clear peak only if their codes are the same The Block IIR-M GPS satellite series started the transmis- and their code delays and Doppler shifts are close enough. sion of a new and more robust civil signal on the L2 carrier A positive acquisition is concluded if a correlation exceeds a frequency- the signal is known as L2C. The ﬁrst satellite in the predeﬁned threshold. series was launched in September 2005, and by August 2009, The conventional hardware approach [5] [6] searches for the eighth and ﬁnal IIR-M satellite was launched. The L2C a satellite at each possible code delay and Doppler shift signal [1] [2] has different structure and enhanced properties sequentially. Circular correlation [7] [8] uses Fast Fourier over the GPS L1 C/A signal. The L2C codes and the C/A Transform (FFT) methods. It calculates the correlation at all code have a chipping rate of 1.023 MHz. The C/A signal is the delays at once, for each Doppler shift. Double Block modulated by a 1023-chip code, and a 50 Hz data message. Zero Padding (DBZP) [7] [9] [10] calculates the correlations The code repeats every 1 ms, and each data bit has exactly in the frequency domain, and uses only one version of the 20 codes. While the L2C signal consists of two codes, CM replica code. It requires less processing, but it suffers from 42 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 9, No. 9, September 2011 limitations when working with weak signals. This is because is 20 ms, so the phase difference between the start and the end it does not consider the Doppler effect on the code length. The of one code could be relatively large. Using 20-ms correlated Doppler shift changes the speed of the code, so the code length signals directly will not provide high accuracy estimation for either shrinks or expands based on the Doppler shift’s polarity. the carrier parameters. This problem is handled in this paper This effect can be ignored with small integration lengths, by dividing the code into small length segments, calculating but it will cause acquisition failure with long integration the correlation for each segment separately, and then using lengths. The problem is that correlating a ﬁxed length local the correlated segments to ﬁnd ﬁne estimates for the carrier code with a changing length received code will cause the parameters. delay to continuously change with respect to the local code. The acquisition of the long length CL code is done using As the integration length increases, the signal power will a minimized search approach, MS-CL. It uses the estimates continue to accumulate at different delays. This will prevent of the CM-ABS and FAVA-L2 to acquire the CL code by the correct delay from accumulating enough power to exceed searching only 75 possible delays. A method is introduced the acquisition threshold. This limitation is circumvented in to calculate the coherent integration in smaller steps to avoid a modiﬁed version of DBZP, called MDBZP, which was processing large number of samples at once. introduced in [11]. The MDBZP divides the whole Doppler range into a small number of ranges. The correlations in each II. S IGNAL M ODEL range are calculated using a version of the replica code that The received L2C signal is down converted to an interme- is compensated, in length, by the Doppler shift located in the diate frequency (IF), fIF , and sampled at a rate of fs . The middle of that range. signal model for one satellite is A joint acquisition algorithm of the CM and CL codes was introduced in [12]. An assisted acquisition of the CL code was rL2C (tδ ) = A {d(tδ,τ ) CM0 (tδ,τ ) + C0L (tδ,τ )} presented in [13]. An FFT-based approach was introduced in cos θnδ + θ0 + 2 π (fIF + fd0 ) tδ + π α t2 + n(tδ ), δ (1) [14] to acquire the CM and CL codes. A method called XFAST was introduced in [15] to acquire the long P(Y) code of the where tδ is the sampling time. tδ,τ = (tδ − L1 signal. This method was extended in [16] to acquire the τ ) {1 + (fd0 + α tδ /2)/fL2} is the sampling time taking into long CL code; the extended method was called hyper-codes. account the Doppler effect on the code length. τ is the code For resource-limited devices, the problem with acquiring weak delay. fd0 is the initial Doppler shift. α is the Doppler rate. signals using the CL code is the high processing and memory fL2 is the L2 carrier frequency. A is the signal amplitude, required to correlate and search the 767,250-chip code. which is normalized to drive the noise variance to 1 as in This paper introduces acquisition and ﬁne acquisition al- [5], i.e. A = 4 C/N0 Ts , Ts = 1/fs . d is the navigation gorithms for the new L2C signal to work under weak signal data. θ0 is the initial phase. θnδ is the phase noise at tδ ; it is conditions. The algorithms utilize the L2C signal structure to composed of the total phase and frequency clock disturbances. achieve high sensitivity and reduced processing and memory n is a white Gaussian noise (WGN) with zero mean and requirements. Three algorithms are introduced to work sequen- unit variance. The two codes are modeled such that CM0 is tially to ﬁrst acquire the medium-length CM signal, then reﬁne a chip-by-chip combination of the CM code and zeros, and the estimates of the carrier parameters, and then acquire the C0L is a chip-by-chip combination of zeros and the CL code. long-length CL code. A computational complexity analysis for the algorithms is provided. III. CM ACQUISITION AND B IT S YNCHRONIZATION The acquisition of the CM code is done using a new (CM-ABS) version of the MDBZP designed to ﬁt the CM code structure The CM-ABS calculates the correlation in the frequency and deal with the fact that each CM code is modulated domain. The separation between the code delays is taken as the by one data bit, which has an unknown value. The new sampling time. The number of possible code delays is deﬁned algorithm- called CM Acquisition and Bit Synchronization as Nτ . The algorithm produces Doppler bins with frequency (CM-ABS)- implements a bit synchronization method within separation of fres = 1/TI , where TI is the coherent integration the acquisition to avoid correlating over bit boundaries. The length. The number of Doppler bins, Nfd , depends on the correlations are calculated in the frequency domain, and the Doppler shift range, ±fdcov , where Nfd = 2 fdcov TI . The Doppler effect on the code is considered. Long coherent and values of the Doppler bins, deﬁned as fdv , can be calculated incoherent integrations are used, without requiring assisting as Nfd information from outside sources- like wireless networks. The fdv = v − − 1 fres , v = 1, . . . , Nfd . (2) likely data bit combination is estimated over each coherent 2 integration interval, and used to remove the data signs. The samples in each TI ms, of the received signal and the The ﬁne acquisition algorithm is based on the Viterbi replica code, are divided into Nfd blocks. The size of each Algorithm (VA) [17] [18] [19], which is an optimal dynamic block is Sblock = fs TI /Nfd samples. programing technique. The new algorithm is called Fine Ac- Coherent and incoherent integrations are used. The coherent quisition VA-based for L2, or FAVA-L2. The CM code duration integration length, TI , can be multiple, Nt , of one data bit 43 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 9, No. 9, September 2011 length, Tdms . The incoherent integration accumulates L results of TI -ms coherent integrations to get the total integration, L TI ms. The coherent integration is obtained by ﬁrst gen- erating a TI /Nfd -ms partial coherent integration, and then generating the TI -ms coherent integration. The partial coherent integrations, at the Nτ possible code delays, are generated in Nstep steps. In each step, the partial coherent integrations are generated at a number of adjacent code delays equal to one block size, Sblock . So, Nstep = Nτ /Sblock . The arrangement of the blocks of the replica code and the received signal relative to each other determines which Sblock partial coherent integrations are generated in each step. Each Sblock partial coherent integrations are generated by applying circular corre- lation (FFT/IFFT) between each two corresponding blocks of the replica code and the received signal. Each CM code period has exactly one data bit, which has an unknown value. To avoid correlating over bit boundaries, a bit synchronization method is implemented within the acquisition. The idea of the algorithm is to search for the start of the code in the received signal by ﬁxing the samples of the replica code and moving forward the samples of the received signal, until the start of the received code coincides with the start of the Fig. 1. Illustration of the CM-ABS algorithm. replica code. This is done instead of searching directly for the code delay in the received signal by allowing the correlation to be calculated using samples from two adjacent received the ith range, and Nfdi as the number of Doppler bins in the codes, which could have data bits with different polarities ith range. The indexes of the ﬁrst Doppler bin and the last that will result in correlation loss. The aforementioned idea Doppler bin, respectively, in each range are is implemented by arranging the replica code’s blocks to start i−1 at the beginning of the code and ﬁxing that arrangement at all the Nstep steps, and shifting the received signal’s blocks in λsi = Nfdj + 1, (4) j=1 each step. The received signal’s blocks are arranged such that the ﬁrst block contains the code delays at which the partial i coherent integrations are generated. After each step, the ﬁrst λei = Nfdi . (5) block is discarded, the remaining blocks are shifted forward, j=1 and an additional block is added at the end of the blocks. The following items are repeated L times, once for each Nfd + Nsteps − 1 blocks are needed to ﬁnd the Nτ partial coherent integration: coherent integrations. 1. Nrange versions of the replica code are generated. Each The process of generating Nτ partial coherent integrations version is compensated, in length, by one of the fmidi fre- is repeated L times, once for each TI -ms integrations. In each quencies. The un-compensated length of each version is TI repetition, the last (Nstep − 1) blocks used in the generation ms. The model for each version is of the previous coherent integrations are the same as the fmidi ﬁrst (Nstep − 1) blocks used in the generation of the current CLM0D i (tδ , fmidi ) = CLM0 tδ 1 + . (6) fL2 coherent integrations. This is because the generation of two consecutive coherent integrations, for the same possible delay, Where, CLM0D i is the ith replica code version. CLM0 is should use two consecutive TI -ms lengths of the signal. Since an un-compensated code, which consists of the CM code circular correlation involves calculating FFT for each block multiplexed chip-by-chip with zeros. The samples of each of the received signal, then FFT for each of the (Nstep − 1) version is divided into Nfd blocks, each block has a size overlapping blocks is calculated only once. The algorithm is of Sblock samples. From the blocks of the ith version, only illustrated in Fig. 1. Nfdi blocks are preserved, and the others are discarded. The The algorithm’s implementation details are as follows. The preserved blocks, of the ith version, are those located at offsets received signal in (1) is converted to baseband to produce from λsi to λei . All the preserved blocks are arranged together, where their order is maintained, i.e. blocks coming from the rc (tδ ) = r(tδ ) exp {− j 2 π fIF tδ } . (3) ith replica code are located at offsets from λsi to λei . Each The whole Doppler range is divided into a small number, block is padded with Sblock zeros at its end. The complex Nrange , of ranges. Deﬁne fmidi as the middle frequency of conjugate of the FFT of each block is calculated. Assume 44 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 9, No. 9, September 2011 Fig. 2. Example illustrating the local code’s blocks arrangement. a simple example where Nrange = 2 and Nfd = 4. Fig. 2 shows the blocks arrangement. The 1st and 2nd replica codes’ blocks are deﬁned by (A1, A2, A3, A4) and (B1, B2, B3, B4), respectively. Here, Nfd1 = Nfd2 = 2, and λs1 = 1, λe1 = 2, λs2 = 3, λe2 = 4, so A1, A2, B3, and B4 are preserved, while A3, A4, B1, and B2 are discarded. The preserved blocks are then padded with zeros and the processing proceeds. Fig. 3. Example illustrating the received signal’s blocks arrangement. 2. Processing the received samples depends on whether this is the ﬁrst coherent integration or not. Thus, there are two approaches as follows: integrations for Sblock delays. They are repeated Nstep times 2.a. If this is the ﬁrst coherent integration, a size of to calculate the Nτ partial coherent integrations. The index of (Nfd + Nstep ) Sblock samples of the received signal is divided the ﬁrst used received signal’s block is increased by one in into (Nfd + Nstep ) blocks. Each two adjacent blocks are each step to simulate the shifting process, which is explained combined into one block to produce (Nfd + Nstep − 1) earlier in this section. overlapping blocks, with a size of 2 Sblock . FFT is calculated 3.a. At the mth step, of the Nstep steps, the blocks at indexes r for each block. The last (Nstep − 1) blocks are preserved in a from mr to (mr + Nfd − 1), which are generated in item 2, matrix MF F T temp to be used in the next coherent integration. are multiplied block-wise by the blocks generated in item 1. Returning to our example where Nfd = 4, assume that IFFT is calculated for the multiplication result. This produces Nstep = 3. Fig. 3-a illustrates the blocks arrangement. The Nfd blocks of size 2 Sblock points. received samples are divided into 7 blocks, deﬁned as R1 to 3.b. The ﬁrst Sblock points from each produced block are R7. Each 2 adjacent blocks are combined to form 6 blocks. preserved, while the rest are discarded. The preserved points After FFT is calculated, the 2 blocks marked as (R5, R6) and are arranged to form a matrix of size Nfd xSblock . The ith (R6, R7) are preserved in MF F T temp . row contains the results of the ith block, and the j th column 2.b. If this is not the ﬁrst coherent integration, a size of contains the results at index j from each block. This matrix is (Nfd + 1) Sblock samples of the received signal is divided into appended to a matrix, Mc , at row indexes from 1 to Nfd and at (Nfd + 1) blocks. Each two adjacent blocks are combined column indexes from [(mr − 1) Sblock + 1] to [mr Sblock + 1]. into one block to produce Nfd overlapping blocks. FFT is At the end of the Nstep steps, Mc will have a size of Nfd xNτ . calculated for each block. The blocks preserved in MF F T temp 4. Each cell in the Mc matrix is generated using samples of are added at the start of the Nfd blocks. The last (Nstep − 1) size TI /Nfd ms, where TI = Nt Tdms . Each Nfd /Nt rows are blocks are preserved in MF F T temp , overwriting the previous generated using samples of size equal to one data bit interval, preserved blocks. Returning to our example, Fig. 3-b illustrates Tdms . To remove the effect of the data bit signs, the Mc matrix the blocks arrangement in the second coherent integration. is multiplied by the possible data bit combinations. Since the Only 5 blocks are generated, where the ﬁrst block will be purpose is to have data bits with the same sign over each block R7 from the previous step. Again, each two adjacent coherent integration interval, only half the possible data bit blocks are combined to form 4 blocks. After FFT is calculated, combinations are considered, i.e. 2Nt −1 possible combinations. the 2 blocks preserved from the previous step, (R5, R6) and This will generate 2Nt −1 matrices. Deﬁne these matrices as (R6, R7), are added at the start of the 4 blocks to complete McEi , where E = 1, . . . , 2Nt −1 . the 6 blocks needed in the processing of this step. The 2 5. The TI -ms coherent integrations are found by applying blocks marked as (R9, R10) and (R10, R11) are preserved FFT to each column in the McEi matrices. Each cell (i, j), of in MF F T temp . the results, corresponds to the TI -ms coherent integration at 3. Items 3.a and 3.b are done to generate the partial coherent the ith Doppler shift and the j th code delay. 45 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 9, No. 9, September 2011 6. To allow the signal power to accumulate at the correct IV. F INE ACQUISITION BASED ON T HE VA (FAVA-L2) delay, a compensation is done to account for the difference in The model for the local signal is the Doppler effect on the code length between a middle range ˆ ˆ fd0 + α tδ /2 fmidi and each frequency in that range. Since each row in IQLM0 (tδ ) = CLM0 tδ 1+ McEi corresponds to a possible Doppler shift, it is circularly fL2 shifted by a number of samples, Nsv , which depends on the ˆ ˆ exp j θ0 + 2 π fIF + fd0 tδ + π α t2 ˆ δ , (7) difference between fmidi and the frequency value, fdv , and the coherent integration length TI and its index, l, within the ˆ where fd0 is the estimated initial Doppler shift, α is theˆ total incoherent integration. Where ˆ estimated Doppler rate, and θ0 is the estimated initial phase. |fdv − fmidi | The CM code duration is 20 ms, so the phase difference Nsv = sign(fdv − fmidi )round (l − 1)TI fs . between the start and the end of one code could be relatively fL1 large. Thus, using 20-ms correlated signals in a ﬁne acquisition 7. Only one of the 2Nt −1 matrices is preserved and the algorithm will not provide high accuracy estimation for the others are discarded. The preserved matrix corresponds to the carrier parameters. This problem is overcome by dividing the likely data bit combination, which is estimated by a method code into NcF rag segments, calculating the correlation for each we developed in [11], chapter 3, and is brieﬂy described below. segment separately, and then using the correlated segments to 8. The preserved matrix is added incoherently to the previ- ﬁnd the ﬁne estimates. Considering the Doppler effect, the ous total incoherent integration. estimated code length is deﬁned as Tdm in the mth code After calculating the ﬁnal total incoherent integration, the period. The integration is calculated over several codes, Ndα . cell that contains the maximum power will correspond to the Hence, there will be NcF rag Ndα correlated segments. Each ˆ ˆ estimated code delay, τ , and Doppler shift, fd , given that the correlated segment is expressed as power exceeds the acquisition threshold. After an acquisition Ti is concluded, the carrier parameters are reﬁned using the ﬁne yi = A di R(τei ) sinc fei + αe Ti 2 acquisition algorithm presented in the next section. Ti T2 Estimation of the likely data bit combination: One or exp j θei + 2 π fei + 2 π αe i + ny i , (8) more of the following approaches can be used. 2 6 1. Let IcE and QcE deﬁne the real and imaginary parts of the where Ti is the segment length. nyi is a noise term. R(.) is the lth coherent integration after the multiplication by a possible autocorrelation function. τei is the code delay error. θei and data combination, E. Deﬁne Pl,E as the incoherent integration fei are the phase and Doppler shift errors, respectively, at the after including that coherent integration, Pl,E (τu , fdv ) = start of the ith segment. αe is the Doppler rate error. fei = Pl−1 (τu , fdv ) + IcE (τu , fdv )2 + QcE (τu , fdv )2 l . Each Pl,E fei−1 + αe Ti + Wfd , i . θei = θei−1 + 2 π fei Ti + Wθ, i . Wθ, i is a matrix of size Nτ xNfd . The matrix that contains the cell and Wfd , i are the clock phase and frequency disturbances. that has the maximum power, out of all the matrices, is chosen FAVA-L2 works in three stages to ﬁnd ﬁne estimates for as Pl , and the others are discarded. The problem with applying the phase, Doppler shift and rate. First, a Doppler rate error, this approach directly with weak signals is that the cell that αfe , is estimated under the assumption that θei and fei has the maximum power could be a noise cell. are zeros. Second, both αe and fe0 are estimated, where 2. The likely data combination is estimated separately for αe = αfe − (3/2) (fe0 /Tα ) − Eα . Tα is the total data intervals each cell. The 2Nt −1 matrices are compared cell wise, i.e. cells used to obtain αfe , and Eα is an estimation error. Third, the at the same index in each matrix are compared. The maximum phase error is estimated. This method is similar to a method from each index forms the new integration. At a delay τu and we introduced in [11], chapter 4, for the C/A L1 signal. Doppler fdv the new integration is This section focuses on describing the modiﬁcations and new approaches that are developed for the L2C signal. Pl (τu , fdv ) = αfe is obtained as follows. Deﬁne Nα as the number of max Pl1 (τu , fdv ), Pl2 (τu , fdv ), . . . , Pl2Ntk −1 (τu , fdv ) . possible Doppler rate errors, and αt as a possible error. The segments that belong to the mth code, deﬁned in (8), are There will be no loss due to a wrong combination in the correct counter rotated by each αt , and then added, so cell, but the noise power might increase. NcF rag m 3. The likely data bit combination is estimated once for each Sm,αt = yi code delay. The data combination is the one that generates the i=NcF rag (m−1)+1 maximum power among all the Doppler shifts, in the 2Ntk −1 1 matrices, at each code delay. exp −j π αt Tt2 + Ti2 , (9) i 3 The algorithm can start with the 2nd or the 3rd approach, m−1 i−1 then switch to the 1st one after several integrations. This is where Tti = n=1 Tdn + k=NcF rag (m−1)+1 Tk . The data to increase the sensitivity and reduce the degradation due to a bit values are jointly estimated with αfe . The estimation can wrong data bit combination. be expressed by 46 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 9, No. 9, September 2011 increase by NEα . The estimation is done iteratively, starting Ndα 2 with the whole frequency range and with large frequency αfe = arg min ˆ ¯¯ dm |Sm,αt | − A dm , (10) separation. After each iteration, an estimated ft is obtained ¯ N αt , {dm } dα and used as the middle value of a reduced frequency range. m=1 m=1 ˆ After the last iteration, the estimate of fe0 is concluded, and the ˆ where dm is an estimated value for the mth bit, which is corresponding αft ,Eα is taken as αe . Following that, a similar ˆ ¯ obtained as the sign of the real part of Sm,αt . A is the approach is used to estimate θe0 . Following the CM-ABS and ¯m is a possible data bit value (±1). expected signal level. d FAVA-L2, the CL code is acquired using the MS-CL. The estimation process is based on the VA. Deﬁne, Ndα 2 V. M INIMIZED S EARCH FOR T HE CL C ODE ACQUISITION ΛNdα , αt , p = ˆ ¯ dm |Sm, αt | − A dm, p , (11) (MS-CL) m=1 The CL and CM codes are synchronized such that the start where p deﬁnes a possible data sequence, p = 1, . . . , 2Ndα . of the CL code coincides with the start of the CM code. Since dm, p is the mth data in the pth sequence. Each combination the CL code is 75 times longer than the CM code, and the CM of p and αt deﬁnes a path in a trellis graph. The algorithm code is acquired, then there are only 75 possible code delays operates recursively to ﬁnd the path that generates the mini- to search for the start of the CL code. The local replica is mum ΛNdα , αt , p . Deﬁne Γm, αt , pm as the optimal ΛNdα , αt , p in the mth step, for αt . Since there are Nα of αt , there are Nα of Γm, αt , pm . Since an optimal path consists of optimal ˆ ˆ fd0 + α tδ /2 IQL0L (tδ ) = CL0L tδ 1+ sub-paths, it can be shown that fL2 Γm+1,αt ,pm+1 = Γm,αt ,pm ˆ ˆ exp j θ0 + 2 π fIF + fd0 tδ + π α t2 ˆ δ . (12) ˆ ¯ ˆ ¯ + min (dm+1 |Sm+1,αt | − A)2 , (dm+1 |Sm+1,αt | + A)2 . Long coherent integration can be used, but the error in the After each recursive step, only the Nα paths that correspond to estimated Doppler shift, fe , will put a limit on its length, TI , Γm, αt , pm are retained, while the other paths are discarded. At where TI ≤ 1/fe . The coherent integration is generated in the last step, αt that corresponds to the minimum cumulative steps, with a length of Tn ≤ TI , to avoid processing large path, among the Nα optimal paths, is taken as the estimated number of samples at once. The number of steps needed to αfe . obtain the total coherent integration is Lcoh = ⌈TI /Tn ⌉. The The accuracy of the estimated αfe depends on the separation coherent integration in the last step could be less than Tn . between the αt values. If the range of the possible αfe is In addition, LCL coherent integrations are incoherently added large, then FAVA-L2 is operated iteratively to avoid increasing to obtain a longer incoherent integration. The total number the processing and memory requirements. The ﬁrst iteration of steps to get the total incoherent integration is Ntotal = covers the whole αfe range, and uses large separation between LCL Lcoh . the αt ’s. After each iteration, an estimated αfe is obtained The integrations are calculated for each possible code delay and used as the middle value of a reduced range. In each and placed in two vectors, H and P , which hold, respectively, iteration, Nα possible values are considered, but the separation the total coherent and incoherent integrations. U and V are between the αt ’s is decreased. The process continues until the counters initialized to zero. Tk is the total length of the separation between αt ’s is within the desired resolution. received signal that is used up to the start of the step k, Following the estimation of αfe , fe0 and αe are estimated k = 1, . . . , Ntotal ; Tk is initialized to zero. The MS-CL works using a similar approach. Deﬁne Nf req as the number of as follows: possible frequencies, and ft as a possible frequency value. 1. 75 versions of the CL replica code are used. Each version, The counter rotation of yi is CL0Li , is initialized to start at one of the possible code delays, where i = 1, . . . , 75. NcF rag m 2. The estimates of phase and Doppler shift are propagated ˆ to each Tn ms. Deﬁne the propagated values as θk and fdk . ˆ Sm,ft ,Eα = yi 3. The Tn length, taking into account the Doppler effect, is i=NcF rag (m−1)+1 calculated as Ti Tt2 T2 exp −j2π ft Tti + + αft ,Eα i + i , fL2 2 2 6 Tnk = Tn . (13) ˆ + αTn /1000/2 fL2 + fdk ˆ 3 ft αft ,Eα = αfe − Ndα − Eα . 4. 75 versions of the local signal in (12) are generated, each 2 Tdm m=1 version uses one of the CL0Li code versions. Each one starts Eα models the error in the estimated αfe . It can be set to a few at a time Tk and spans Tnk ms of the CL code. Deﬁne each values, NEα , (e.g. 0,1,-1), and thus the number of paths will version as IQL0Li . 47 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 9, No. 9, September 2011 5. Each IQL0Li is correlated with the received signal, In item 7, if the 1st approach is used to ﬁnd the likely data starting at Tk . Deﬁne each result as Yi . combination, each matrix is added incoherently to the previous 6. Yi is added coherently to the previous total coherent total incoherent integration. The number of computations is integration, H(i) = H(i) + Yi . The counters are updated, CN C = 2Nt −1 Nτ Nfd . (15) U = U + 1, V = V + 1. 7. If the desired coherent integration length is reached, i.e. Only the matrix that corresponds to the likely data combination U = Lcoh , then the contents of H are added to the previous is kept and the other matrices are discarded. Finding the total incoherent accumulation, P (i) = P (i) + ℜ{H(i)}2 + maximum can be done by one of the sorting methods described ℑ{H(i)}2 , where ℜ and ℑ deﬁne the real and imaginary parts, in [20], chapter 2. Thus, the number of comparisons needed respectively. Following that, H and U are set to zero. is 8. If V < Ntotal , Tk+1 is set as Tk + Tnk , and then steps CCM1 = 2Nt −1 Nτ Nfd − 1. (16) (2)–(7) are repeated. If the 2nd approach is used to estimate the likely data combi- 9. If V = Ntotal , the CL code delay is concluded from the nation, the number of comparisons is P (i) that has the maximum power. To reduce processing as the algorithm progresses, the un- CCM2 = 2Nt −1 Nτ Nfd . (17) likely code delays can be eliminated. Those will be the delays In item 8, the real and imaginary parts of each cell are that generate the minimum P (i). The unlikely code delays can squared and added together. This requires be eliminated every Nelim steps, where Nelim is set based on the C/N0 , which can be estimated after the ﬁne acquisition. CIQ = 3 2Nt −1 Nτ Nfd computations. (18) Another method is to eliminate the delays at indexes imin if P (imax )/P (imin ) > pelim . Where, imax is the index of the B. FAVA-L2 delay that generates the maximum power at the current step, The operations include generating correlated signals, and pelim is a predeﬁned ratio. counter rotating the correlated signals by the possible carrier parameters, and choosing the optimal path. The number of VI. C OMPUTATIONAL C OMPLEXITY A NALYSIS computations can be found directly. A. CM-ABS C. MS-CL The following are repeated L times to get the total inco- The operations include generating 75 versions of the CL herent integration. In item 1, FFT is calculated for Nfd local local code, multiplying the samples of the received signal code’s blocks. In item 2.a, FFT is calculated for (Nfd +Nstep − and the local one, adding them together to form the coherent 1) received signal’s blocks, while in item 2.b, FFT is calculated integration, and adding the coherent integration to the total for Nfd received signal’s blocks. In item 3.a, each two corre- incoherent integration. The total number of computations can sponding blocks of the received signal and the local one are be shown to be multiplied, then IFFT is calculated; this is repeated Nstep Nfd times to get the coherent integration at all the code delays. CCL ≈ 75 LCL Lcoh [4 Tn fs + 4] . (19) Each FFT or IFFT operation requires (2 Sblock ) log2 (2 Sblock ) computations. The number of computations to get the ﬁrst VII. S IMULATION AND R ESULTS coherent integration (items 1, 2.a and 3) is The algorithms are demonstrated using simulated GPS L2C signals. The CM code is modulated by ±1 data with 50 Hz CBP1 = [2 Nfd + Nstep − 1 + Nstep Nfd ] rate and 0.5 probability of data transition. fs = 3500 kHz. [2 Sblock log2 (2 Sblock )] + [2 Sblock Nfd Nstep ] . fL2 = 1227.6 MHz. The initial phase is modeled as a uni- formly distributed random variable (UDRV) between (−π, π). For the rest of the coherent integrations (items 1, 2.b and 3), A Doppler shift range between (−5, 5) kHz is assumed. The this number is oscillator phase and frequency noises are modeled with normal CBPl = [2 Nfd + Nstep Nfd ] [2 Sblock log2 (2 Sblock )] random walks; the model is similar to the one in [21], and the variances are derived as in [22]. A temperature compensated + [2 Sblock Nfd Nstep ] . crystal oscillator (TCXO) is simulated. The values of the phase The matrix Mc will have a size of Nfd xNτ . In item 4, and frequency random walk intensities are Sf = 5 · 10−21 s, 2Nt −1 versions of Mc are generated, each one corresponds to and Sg = 5.9 · 10−20 s−1 , respectively. a possible data bit combination. In item 5, FFT is calculated The CM-ABS algorithm is tested using very low C/N0 , for each column of the 2Nt −1 matrices. The number of 10 and 15 dB-Hz, to demonstrate its ability. A coherent computations in items 4 and 5 is integration length of 80 ms is used. For the 15 dB-Hz signal, a total of 30 incoherent accumulations are calculated. Fig. 4 CF F T = 2Nt −1 Nτ Nfd log2 (Nfd ). (14) shows the power versus the code delay. The acquired signal 48 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 9, No. 9, September 2011 6 130 5 120 4 σα Hz/s 110 Σ I2 +Q2 3 100 e 90 2 80 1 70 0 60 10 12 14 16 18 20 22 24 C/N0 dB−Hz 0 0.5 1 1.5 2 Code Delay (chips) x 10 4 Fig. 6. Standard deviation of Doppler rate estimation error vs. C/N0 using the FAVA-L2 algorithm, with TCXO clock. Fig. 4. Power vs. code delay of the acquisition of the CM signal, with C/N0 = 15 dB-Hz, TCXO clock, TI = 80 ms, and 30 incoherent 10 accumulations. 9 8 450 7 6 σf Hz 5 e 4 400 Σ I2 +Q2 3 2 1 350 0 10 12 14 16 18 20 22 24 C/N0 dB−Hz Fig. 7. Standard deviation of Doppler shift estimation error vs. C/N0 using 300 the FAVA-L2 algorithm, with TCXO clock. 0 0.5 1 1.5 2 Code Delay (chips) x 10 4 Fig. 5. Power vs. code delay of the acquisition of the CM signal, with coherent integration of 100 ms is used, with 4 incoherent C/N0 = 10 dB-Hz, TCXO clock, TI = 80 ms, and 145 incoherent accumulations. Fig. 8 shows the power versus the 75 possible accumulations. code delays of the acquisition result. The algorithm correctly estimated the CL code delay at the 31st delay, which generated a power of 52. The maximum noise power was 23. had a power of 135, while the maximum noise power was 100. For the 10 dB-Hz signal, a total of 145 incoherent 50 accumulations are calculated. Fig. 5 shows the power versus 45 the code delay. The acquired signal had a power of 453, while 40 the maximum noise power was 402. 35 The FAVA-L2 algorithm is tested using C/N0 between 10 30 and 24 dB-Hz and TCXO clocks. For this test, the Doppler Power shift and rate errors are modeled as UDRV’s in the ranges of 25 (-50, 50) Hz and (-20, 20) Hz/s, respectively. The algorithm 20 is run for 1000 trials; each trial used 6 seconds of data. The 15 standard deviation (SD) of the estimation error is calculated. 10 Fig. 6 shows the SD of the Doppler rate estimation error versus 5 C/N0 . The SD was about 5.5 Hz/s at 10 dB-Hz, and was about 10 20 30 40 50 60 70 0.5 Hz/s at 24 dB-Hz. Fig. 7 shows the SD of the Doppler shift Code Delays estimation error versus C/N0 . The SD was about 8.5 Hz at Fig. 8. Power vs. the 75 possible code delays of the acquisition of the CL 10 dB-Hz, and was about 2 Hz at 24 dB-Hz. signal, with C/N0 = 15 dB-Hz, TCXO clock, TI = 100 ms, and a total of The MS-CL algorithm is tested using 15 dB-Hz signal. A 4 incoherent accumulations. 49 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 9, No. 9, September 2011 VIII. S UMMARY AND C ONCLUSIONS [5] B. Parkinson and J. Spilker, Global Positioning System: Theory and Applications. AIAA, 1996. Acquisition and ﬁne acquisition algorithms were presented [6] P. Misra and P. Enge, Global Positioning System: Signals, Measurements, in this paper for the new L2C GPS signal. The algorithms and Performance. Ganga-Jumuna Press, December 1 2001. were designed to work with weak signals, without requiring [7] J. B. Y. Tsui, Fundamentals of Global Positioning System Receivers: A Software Approach, Second Edition. Wiley-Interscience, 2004. assisting information from wireless or cellular networks. The [8] D. J. R. V. Nee and A. J. R. M. Coenen, “New Fast GPS Code- paper focused on implementing techniques to increase sensitiv- Acquisition Technique Using FFT,” IEEE Electronics Letters, vol. 27, ity and reduce processing and memory requirements to enable no. 2, January 17, 1991. [9] D. M. Lin and J. B. Y. Tsui, “Comparison of Acquisition Methods for the implementation of the algorithms on devices with limited Software GPS Receiver,” in ION GPS, Salt Lake City, UT, September resources, like wireless devices. 19–22, 2000, pp. 2385–2390. Three algorithms were developed to work sequentially to [10] D. M. Lin, J. B. Y. Tsui, and D. Howell, “Direct P(Y)- Code Acquisition Algorithm for Software GPS Receivers,” in ION GPS, Nashville, TN, acquire the CM and CL codes and to provide ﬁne estimates for September 14–17, 1999. the carrier parameters. The CM-ABS was designed to acquire [11] N. I. Ziedan, GNSS Receivers for Weak Signals. Artech House, the CM code and implemented a bit synchronization method Norwood, MA, July, 2006. [12] C. Yang, “Joint Acquisition of CM and CL Codes for GPS L2 Civil to avoid correlating over bit boundaries. Long coherent and (L2C) Signals,” in ION AM, Cambridge, MA, June 27–29 2005, pp. incoherent integrations were used. The Doppler effect on the 553–562. code length was handled by correctly aligning the coherent [13] G. S. Ayaz, T. Pany, and B. Eissfeller, “Performance of Assisted Acquisition of the L2CL Code in a Multi-Frequency Software Receiver,” integration before adding it to the incoherent accumulation. in ION GNSS, Fort Worth, TX, September 25–28 2007, pp. 1830–1838. The FAVA-L2 was designed to provide ﬁne estimates for the [14] M. L. Psiaki, “FFT-Based Acquisition of GPS L2 Civilian CM and CL phase, Doppler shift and rate. It was based on the optimal Signals,” in ION GNSS 04, Long Beach, CA, September 21–24 2004, pp. 457–473. Viterbi algorithm. The difference between the total phase at [15] C. Yang, J. Vasquez, and J. Chaffee, “Fast Direct P(Y)-Code Acquisition the start and end of the CM code could be relatively large. Using XFAST,” in ION GPS 1999, Nashville, TN, September 14–17 So, the CM code was divided into small segments, and the 1999, pp. 317–324. [16] A. R. A. Moghaddam, R. Watson, G. Lachapelle, and J. Nielsen, “Ex- correlation for each segment was calculated separately. The ploiting the Orthogonality of L2C Code Delays for a Fast Acquisition,” carrier parameters were propagated to each segment’s time and in ION GNSS 06, Fort Worth, TX, September 26–29 2006, pp. 1233– used to counter rotate each segment’s total phase before further 1241. [17] A. J. Viterbi, “Error Bounds for Convolutional Codes and an Asymptoti- processing the segments. The MS-CL was designed to acquire cally Optimum Decoding Algorithm,” IEEE Transactions on Information the CL code by searching only 75 possible delays. It used long Theory, vol. 13, no. 2, pp. 260–269, April 1967. coherent and incoherent integrations. The integrations can be [18] G. D. Forney, “The Viterbi Algorithm,” Proceedings of the IEEE, vol. 61, no. 3, pp. 268–278, March 1973. calculated in smaller steps to avoid exhausting the available [19] R. Riccardo, P. Andreas, and T. Ching-Kae, “Per-survivor processing,” resources. Digital Signal Processing, vol. 3, no. 3, pp. 175–187, July 1993. The computational complexities of the algorithms were [20] T. Cormen, C. Leisersen, R. Rivest, and C. Stein, Introduction to Algorithms, Second Edition. MIT Press, 2001. analyzed. The analysis results can be used to determine the [21] R. G. Brown and P. Y. C. Hwang, Introduction to Random Signals and maximum integration lengths that can be used, and the mini- Applied Kalman Filtering. J Wiley, 1992. mum C/N0 that can be detected based on a device’s available [22] A. J. V. Dierendonck, J. B. McGraw, and R. G. Brown, “Relationship Between Allan Variances and Kalman Filter Parameters,” in 16th PTTI resources. Application and Planning Meeting, NASA Goddard Space Flight Center, The algorithms were tested using C/N0 down to 10 dB- November 27–29, 1984, pp. 273–293. Hz and TCXO clocks. The results indicated the ability of the algorithms to work efﬁciently with such low C/N0 . AUTHOR PROFILE Nesreen I Ziedan received a Ph.D. degree in Electrical and Computer R EFERENCES Engineering from Purdue University, West Lafayette, IN, USA, in 2004. She [1] R. Fontana, W. Cheung, P. Novak, and T. Stansell, “The New L2 Civil also received an M.S. degree in Control and Computer Engineering from Signal,” in ION GPS, Salt Lake City, UT, September 11–14 2001, pp. Mansoura University in 2000, a Diploma in Computer Networks from the 617 –631. Information Technology Institute (ITI), Cairo, in 1998, and a B.S. degree [2] R. Fontana, T. Stansell, and W. Cheung, “The Modernized L2 Civil in Electronics and Communications Engineering from Zagazig University in Signal,” GPS World, 2001, September 2001. 1997. Dr. Ziedan is an Assistant Professor at the Computer and Systems [3] M. Tran and C. Hegarty, “Performance Evaluations of the New GPS Engineering Department, Faculty of Engineering, Zagazig University, Egypt. L5 and L2 Civil (L2C) Signals,” in ION NTM, Anaheim, CA, January Dr. Ziedan has several U.S. Patents in GPS receivers design and processing, 22–24 2003, pp. 521–535. and she is the author of a book entitled “GNSS Receivers for Weak Signals”, [4] M. Tran, “Performance Evaluations of the New GPS L5 and L2 Civil which was published by Artech House, Norwood, MA, USA, in 2006. (L2C) Signals,” ION Journal of Navigation, vol. 51, no. 3, pp. 199–212, 2004. 50 http://sites.google.com/site/ijcsis/ ISSN 1947-5500

DOCUMENT INFO

Shared By:

Categories:

Tags:
Acquisition, Weak Signal, Indoor, Viterbi

Stats:

views: | 231 |

posted: | 10/12/2011 |

language: | English |

pages: | 9 |

OTHER DOCS BY ijcsiseditor

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.