006 IEEE Coferece o Systems, Ma, ad Cyberetics October -, 006, Taipei, Taiwa Acquisitio of GPS Software Receiver Usig Split-Radix FFT W. H. Li, W. L. Mao, H. W. Tsao, F. R. Chag, ad W. H. Huag Abstract Acquisitio is the first step i the sigal processig sectio of a Global Positio System (GPS) receiver. It detects the presece of a GPS sigal received by atea ad provides estimates of code phase ad Doppler frequecy to the trackig loops. Three acquisitio methods i frequecy-domai processig are compared, i.e., amely radix- FFT, split-radix-/4 FFT ad. The expectacy of the split-radix algorithm is icreasig the acquisitio efficiecy. It is show that the split-radix-/ FFT ca save 5% of data loads ad stores compared with split-radix-/4 FFT. I order to simulate the overall system i a efficiet way, the acquisitio fuctios are developed i software architecture ruig o PC. G I. ITRODUCTIO lobal positioig system (GPS) receivers must detect the presece of GPS sigal to track ad decode the iformatio which eables positio computatio. Trackig of the sigal is possible oly after they have bee acquired, so acquisitio is the first step i GPS sigal processig scheme. The acquisitio must esure that the sigal is acquired at the correct code phase ad carrier frequecy. Software receivers provide flexibility, recofigurability ad high fidelity amog may other advatages. There has bee a variety of software based receiver architectures for GPS ad other avigatioal system The fast algorithm for computig Discrete Fourier Trasform (DFT) has bee studied for may years. The split-radix FFT approach is proposed by Duhaamel ad Hollma i [6] differs from that of Cooley-Tukey i decompositio process. For example, i the Cooley-Tukey radix- FFT, a radix- idex map is used to factor both the eve ad odd idex term. The split-radix fast Fourier trasform FFT algorithm [6] is kow as the FFT algorithm that uses the lowest total umber of operatio. The split-radix idea ca be exteded to other radix pairs. Whe we wat to ehace the speed of GPS software receiver, we use the algorithm of FFT that is radix-, split-radix-/4, ad split-radix-/. We will compare their stores, loads, additios, ad multiplicatios. The rest of paper is orgaized as follows. Sectio II W. H. Li, H. W. Tsao, ad F. R. Chag are with the Graduate Istitute of Commuicatio Egieerig ad Departmet of Electrical Egieerig, atioal Taiwa Uiversity, Taipei, Taiwa. (e-mail: roger09@gmail.com, frchag@cc.ee.tu.edu.tw, tsaohw@cc.ee.tu.edu.tw) M. L. Mao is with the Graduate Istitute of Electrical Egieerig ad Departmet of Electrical Egieerig, Migchi Uiversity of Techology, Taipei couty, Taiwa (e-mail: wlmao@ccsu.mit.edu.tw ) W. H. Huag is with Evermore Ic, Hsichu City, Taiwa (e-mail: maped@emt.com.tw ). presets the architecture of GPS System. I Sectio III, we will itroduce Split-radix / fast Fourier trasform ad other algorithms about FFT. I the sectio IV, we will show the simulatio results ad some table that compare each algorithms of FFT. Fial is our coclusios about the GPS software receiver usig FFT algorithm. II. THE ARCHITECTURE OF GPS SYSTEM The basic GPS receiver discussed i this paper is show i Figure. The sigals trasmitted from the atea. Through the radio frequecy (RF) chai the iput sigal is amplified to proper amplitude ad the frequecy is coverted to desired output frequecy. A aalog-to-digital coverter (ADC) is utilized to digitize the output sigal. The atea, RF chai ad ADC are the hardware used i receiver After the sigal is digitized, software is used to process it, ad that is why this paper has take a software approach. Acquisitio meas to fid the sigal of a certai satellite. The trackig program is used to fid the phase trasitio of the avigatio data. I covetioal receiver, the acquisitio ad trackig are performed by hardware. From the avigatio data phase trasitio the subframes ad avigatio data ca be obtaied. Ephemeris data ad pseudorage ca be obtaied from the avigatio data. The ephemeris data are used to obtai the satellite positios. Fially, the user positio ca be calculated for the satellite positios ad the pseudorages. Both the hardware used to collect digitized data ad software used to fid the user positio. There are basically two types of sigals: the coarse/ acquisitio (C/A) ad precisio (P) codes. The actual P code is ot directly trasmitted by the satellite, but it is modified by a Y code, which is ofte referred to as the P(Y) code. The P(Y) code is ot available to civilia user ad primarily used by the military. I geeral, i order to acquire the P(Y) code, the C/A code is usually acquired first. The GPS sigal cotais two frequecy compoets: lik (L) ad lik (L). The ceter frequecy of L is at 575.4 MHz ad L is at 7.6 MHz. These frequecies are coheret with a 0.3 MHz clock. These two frequecies ca be related to the clock frequecy as L575.4 MHz54 0.3MHz L7.6 MHz0 0.3MHz The sigal structure of the satellite may be modified i the future. However, at the preset time, the Lfrequecy cotais the C/A ad P(Y) sigals, while the L frequecy cotais oly the P(Y) sigal. The C/A ad P(Y) sigals i the L frequecy are quadrat phase of each other ad they ca be -444-000-3/06/$0.00 006 IEEE 460
writte as: S LA p P t D t cos ft AcC t D t si ft 3 where S L is the sigal at L frequecy, A c is the amplitude of the P code, P(t) = ± represets the phase of the P code, D(t) = ± represets the data code, f is the L frequecy,is the iitial phase, A c is the amplitude of the C/A code, C(t) = ± represets the phase of the C/A code. I this equatio the P code is used istead of the P(Y) code. The P(Y), C/A, ad the carrier frequecies are all phase locked together. The role of acquisitio is to provide a coarse estimate of the code phase ad the Doppler to the trackig loops. Acquisitio performs the task of detectig a GPS sigal from the sigals received by the atea by exploitig the autocorrelatio ad cross correlatio properties of GPS coarse/acquisitio (C/A) codes. a wide badwidth filter will provide relatively poor sesitivity. I order to track ad decode the iformatio i GPS sigal, a acquisitio method must be used to detect the presece of the sigal. Oce the sigal is detected, the ecessary parameters must be obtaied ad passed to trackig program. From trackig program iformatio such as the avigatio data ca be obtaied. There are three acquisitio methods. First, serial search acquisitio, parallel frequecy space search acquisitio, ad parallel code phase search acquisitio. Compariso with three methods, we will use the third method. It is to provide a better estimate of frequecy to the carrier loop, ad the parallel code phase search algorithm has better executio time ad parameter estimatio. B. Parallel Code Phase Search Acquisitio I the same way as with the order acquisitio methods, the implemetatio of this oe is very straight-forward, as it ca be implemeted directly based o the block diagram i Fig.. I chael Hardware IF Sigal FFT IFFT I Q Output RF chai ADC Q chael Complex Cojugate User positio Satellite positio Ephemeris& pseudorage Subframe Idetify Trackig Acquisitio FFT Software Fig : The architecture of GPS system Local Oscillator PR Code A. Acquisitio The purpose of acquisitio is to determie visible satellite ad coarse values of carrier frequecy ad code phase of the satellite sigal. The satellites are differetiated by 3 differet PR sequeces. The secod parameter, code phase, is the time aligmet of PR code i curret block data. The code phase is ecessary to be able to geerate a local PR code that is perfectly aliged with icomig data. Oly whe this is the case, the icomig code ca be removed from the sigal. The third parameter is the carrier frequecy, which i case of dow coversio correspods to the IF. The IF should be kow from the L carrier frequecy of 575.4MHz ad from the expected value. The lie of sight velocity of the satellite causes a Doppler effect resultig i a higher or lower frequecy. I the worst case, the frequecy ca deviate up to ± 5kHz. It is importat to kow the frequecy of the sigal to be able to geerate a local carrier sigal carrier sigal. The sigal is used to remove the icomig carrier from the sigal.i most case it is sufficiet to search the frequecy i steps of 50Hz. I order to accomplish the search i a short time, the badwidth of the searchig meas takig may steps to cover Fig : Parallel Code Phase Search Acquisitio Oe differece i this method is that oly oe PR code should be geerated for each acquisitio. That is, it is ot ecessary to take the 03 differet code phase ito accout. The first step of the method is multiply the icomig sigal with locally geerated cosie ad sie carrier wave respectively, givig a I ad a Q sigal compoet. These two are combied as a complex iput to the Fourier trasform. The result of the Fourier trasform is multiplied with the result of lower brach of the block diagram i Figure..This sigal is created as follow. The PR geerator geerates a code with o code phase. As i the implemetatio of the other acquisitio algorithm, the code geeratio is performs a Fourier trasform of the PR code, ad the result is complex cojugated. The results of the before metioed multiplicatio are give as iput to a iverse Fourier trasform. The fuctio has properties similar to FFT fuctio regardig executio time. As metioed i implemetatio of parallel frequecy space search acquisitio method above, the output from a FFT is complex.this is also the case for the IFFT, so the output eeds the same processig as i that case. The absolute value is 4609
calculated for all compoets. The goal of acquisitio is to perform a correlatio with the icomig sigal ad a PR code. It is more coveiet to make a circular correlatio betwee the iput ad the PR code without shifted code phase. The cross-correlatio betwee two fiite legth sequeces x() ad y() both with legth is calculated as: 4 z x y m m0 The covolutio betwee the two fiite legth sequece x() ad y() is calculated as: 5 z x y x y m m0 Equatio (4) ad (5) show oly differece betwee cross-correlatio ad covolutio betwee fiite legth sequeces is the sig y(+m). The covolutio ca be trasferred to frequecy domai through Fourier trasform. Z K x m y m e 0 m0 j k m0 0 j k j k m x m e y m e X k Y k 6 The combiatio of equatio (5) ad (6) give the DFT of cross-correlatio betwee x ad y: Z K x m y m e 0 m0 k j m0 0 j k j k m x m e y m e * X k Y k 7 Therefore, the (6) ad (7) are almost similar to each other. The oly differece is that the Fourier trasform of oe of the two iput sequeces should be complex cojugated before multiplicatio. Fig. is a block diagram of the parallel code phase search algorithm. The icomig sigal is multiplied by locally geerated carrier sigal. Multiplicatio with the carrier sigal geerates the I-arm sigal, ad multiplicatio with a 90 phase shifted versio of the carrier sigal geerates the Q-arm sigal. The two I ad Q sigals ad combied to form a complex iput sigal x()=i()+jq() to DFT fuctio. The geerated PR code is trasformed ito the frequecy domai ad result is complex cojugated. The Fourier trasform of the iput is multiplied with the Fourier trasform of RP code. The result of multiplicatio is trasform ito the time domai by a iverse trasform. The absolute value of the output of the iverse Fourier trasform represets the correlatio betwee the iput ad the PR code. If a peak is preset i the correlatio, the idex of this peak marks the PR code phase of the icomig sigal. C. Trackig Oe might thik that basic method of trackig a sigal is to build a arrow-bad filter aroud a iput sigal ad follow it. I other word, while the frequecy of the iput sigal varies over time, the ceter frequecy of the filter must follow the sigal. I the actual trackig process, the ceter frequecy of the arrow-bad filter is fixed, but a locally geerated sigal follows the frequecy of the iput sigal. The phase of the iput ad locally geerated sigal follows the frequecy of iput sigal. The phase of the iput ad locally geerated sigals are compared through a arrow-bad filter. Sice the trackig circuit has a very arrow badwidth, the sesitivity is relatively high i compariso with the acquisitio method. The acquisitio loop gives a coarse estimate of carrier Doppler ad PR code offset of icomig sigal. Cotrol is the haded over the variatio i the carrier Doppler ad code offset due to lie of lie of sight dyamics betwee the satellite ad the receiver. The ukow parameters of iterest i icomig GPS sigal are the carrier Doppler ad carrier phase ad the RP code Doppler ad code phase. These parameters are fuctio of time because of time the relative motio betwee the satellite ad user receiver. Hece it is importat to track these parameters ad get a very good estimate of the same. Aother importat fuctio of the trackig loops is demodulated the avigatio data form the icomig GPD sigal. The PR code phase ca be used to determie the pseudorage whereas the carrier phase is used to accurately determie the small chages i pseudorage. III. SPLIT-RADIX / FAST FOURIER TRASFORM Discrete Fourier trasform DFT) is a importat tool i digital sigal processig. May fast algorithms have bee proposed to compute the discrete Fourier trasform of sigals. The split-radix-/4 fast Fourier trasform algorithm ad the split radix-/ fast Fourier trasform are kow as the FFT algorithms that use the lowest total umber of operatios. But the split-radix-/ FFT saves 5% of data loads ad stores compared with the split-radix -/4 fast Fourier trasform algorithm. A. Fast Fourier Trasform The radix- fast Fourier trasform algorithm decomposes the -poit FFT ito two (/)-poit FFT. The decimatio-i-frequecy versio is show as follows: k kx x / W 0 k k x x / W W 0 X X 9 where k0,, The butterfly of radix- FFT algorithm is show i Fig.3 460
x x Fig.3 The butterfly of radix- FFT W B. Split-radix-/4 Fast Fourier Trasform / poits DFT / poits DFT The split-radix-/4 fast Fourier trasform algorithm developed by Duhamel ad Hollma uses radix- decompositio for eve part ad radix-4 for odd part. This method decomposes the -poit FFT ito oe (/)-poit FFT ad two (/4) poit FFT. Usig the split-radix -/4 FFT method, the formula for the eve part of FFT is as Eve Part: k 0 X ( k ) ( x ( ) x ( )) W 0 Odd Part: 4 3 X (4k) [( x( ) x ( )) j ( x( ) x ( WW 0 4 4 4 3 3 X (4k3) [( x( ) x ( )) j ( x( ) x ( W W 0 4 4 k / 4 k / 4 Fig.4 shows the structure of split-radix-/4 FFT algorithm. The total umbers of operatio for this algorithm is lower the radix- FFT algorithm. -poit DFT x() x(+/4) x(+/) x(+3/4) - - L Shape butterfly - W 3 W / poit DFT /4 poit DFT /4 poit DFT Fig.4 The structure of the split-radix-/4 FFT algorithm C. Split-Radix-/ Fast Fourier Trasform Takahashi has developed the split-radix-/ fast Fourier trasform algorithm. This algorithm is a extesio of split-radix-/4 FFT algorithm. The split-radix-/ FFT algorithm decomposes the eve part usig radix- method while usig radix- for the odd part. Thus, he formula for eve part is still the same: Eve Part: k 0 X ( k ) ( x ( ) x ( ) ) W, k0,,,...,( / ) Odd part: 3 X( k ) {[( x( ) x ( )) j ( x( ) x ( 0 4 4 5 3 7 k [( j)( x( ) x( )) ( j)( x( ) x( } WW 3 3 X(k 3) {[( x( ) x ( )) j ( x( ) x ( 0 4 4 5 3 7 3 k [( j)( x( ) x( )) ( j)( x( ) x( } W W 4 3 X(k 5) {[( x( ) x ( )) j ( x( ) x ( 0 4 4 5 3 7 5 k [( j)( x( ) x( )) ( j)( x( ) x( } W W 5 3 X(k 7) {[( x( ) x ( )) j ( x( ) x ( 0 4 4 5 3 7 7 k [( j)( x( ) x( )) ( j)( x( ) x( } W W 6 The structure of the split-radix-/ FFT algorithm is show i Fig.5. x 0 x x x 3 x 4 x 5 x 6 x 7 W 5 W 3 W 7 W x0x 4 xx 5 xx 6 x3x 7 {[( x0x 4) j ( x x 6)] [( j)( x x5 ) ( j )( x3 x7 )]} W {[( x0x 4) j ( x x 6)] [( j)( x x5 ) ( j)( x3 x 7 )]} W {[( x0x 4) j ( x x 6)] [( j)( x x5 ) ( j )( x3 x7 )]} W {[( x0x 4) j ( x x 6)] [( j)( x x5 ) ( j)( x3 x 7 )]} W Fig.5 The structure of the split-radix-/ FFT algorithm IV. SIMULATIO RESULTS ow, a importat problem is discussed before acquisitio process: samplig rate problem. A importat factor i selectig the samplig frequecy is related to the C/A code chip rate. The C/A code chip is.03mhz, ad the samplig would be a multiple umber of the chip rate. For our example, a samplig frequecy of 6.34 MHz is used. ow, see our data specificatio. The chip rate is of.03mhz, so 6 chip rate is equal to 6.34MHz. But the samplig rate = 6.34 MHz, it meas that i oe millisecod, 634 poits will be chose. But 6 chip rate = 6.36MHz meas oe millisecod, the picked up sample is 636. Thus, zero must be iserted. Isertig zero is oly sure process, because i trackig mode, sychroized circuit such as Costas PLL will be used. If sigal stregth is more tha threshold, we will declare the sigal is foud. Ad we will sed some iformatio to trackig mode. Whe the autocorrelatio fuctio is calculated, how the program detects where is the peak value? Especially whe the sigal power has a Doppler frequecy 5 3 7 46
shift, the problem is hard to get a optimal solutio. at -0 dbm. I Fig. 6, the autocorrelatio fuctios are coducted usig the split-radix-, split-radix-/4, ad split-radix-/ methods to demostrate the acquisitio process. The split-radix / scheme ca have the better computatioally efficiecy ad preserve the iformatio of code offset effectively. Table I: umber of otrival real multiplicatio ad two real additios per complex multiplicatio for complex umber Radix- Split-radix /4 Split-radix / Mults Adds Mults Adds Mults Adds 56 36 530 656 500 660 540 5 5644 9 39 30 393 676 (a) 04 04 334 3073 765 6444 9336 396 54 56436 94 09 60 57996 4096 69644 357 44 379 4644 700 9 55660 9496 074 694 03900 769 634 344076 6390 36664 5544 4 599076 Table II: umber of Loads, Stores Multiplicatios, ad Additios for GEERAL BUTTERLIES Used i FFT Algorithm. The umber of Loads icludes loadig all of the costats. Algorithm Loads Stores Mults Adds Radix- 6 4 4 6 Split-radix-/4 6 Split-radix-/ 4 6 0 44 (b) Table III: umber of Loads, Stores, Multiplicatios, ad Additios. Use the log FFT algorithm to compute a poit DFT. Lower order terms have bee omitted. Algorithm Loads Stores Mults Adds Radix- 3 3 Split-radix-/4 4/3 4/3 /3 Split-radix-/ 3/ 5/4 /4 From Table I II, ad III the Split-radix-/4 FFT ad the Split-radix / FFT are compared. Obviously, the covetioal split-radix -/ saves 5% of data loads ad stores compared with the split-radix-/4 FFT algorithm. (c) Fig. Autocorrelatio fuctio with 6K FFT usig (a) split-radix-, () split-radix-/4, ad (3) split-radix-/ methods Simulatio results show the chip delay ad Doppler frequecy for differet GPS satellites. The iput SRs are set V. COCLUSIOS I this paper, three very useful algorithms have bee preseted i software GPS receiver desig. The software modules, takig such IF samples as its iput, perform the basebad sigal processig ad avigatio solutio computatio. The proposed schemes for acquisitio i frequecy domai are the Fast Fourier Trasform: radix-, 46
split-radix-/4 ad split-radix-/. It is more efficiet ad speedy to use the split-radix-/ algorithm tha the split-radix-/4 algorithm because of the less computatio burdes ad memory requiremets. The acquisitio of software receiver, ruig o a stadard PC, is developed ad evaluated i civil applicatios. ACKOWLEDGMET This research was supported by the Evermore IC., Hsichu City, Taiwa, R. O. C. REFERECES [] J. B. Y. Tsui, Fudametals ofglobal Positioig System Receivers, A software Approach, WileyIter-Sciece, 005. [] E. D. Kapla, Uderstadig GPS: Priciplesad Applicatios Artech House, 996.. [3] P. Rider, ad. Bertelse, Desig of a sigle Frequecy GPS software receiver AAU 004 [4] C. Ma,G. Lachapelle, ad M. E. Cao, Implemet of a software GPS Reveiver, IO GSS 7 th Iteratioal Techical Meetig of Satellite Divisio, -4 Sept.004 Log Beach, CA [5] M. Djebbouri ad D. Djebbouri, Fast GPS Satelite Sigal Acquisitio, Electroics Letters.com, o./0/003. [6] M. S. Braasch ad A.J. Va Dieredock, GPS Receiver Architectures ad Measuremets, Proceedig of the IEEE, vol. 7, o., pp.4-64, Ja 999. [7] A. J. Va Dieredock, P. Feto, ad T. Ford, Theory ad performace of arow corelator spacig i a GPS receiver, avigatio: J. Ist. avigatio, vol. 39, o. 3, pp. 65 3, Fall 99. [] P. Ward, Satelite sigal acquisitio ad trackig, i Uderstadig GPS: Priciples ad Applicatios, E. Kapla, Ed. Bosto: Artech House, ch. 5, pp. 9 0, 996. [9] B. W. Parkiso, ad Jr. J. J. Spilker: Global positioig system: theory ad applicatios (AAAI, USA, 996.) [0] S. M. Kay, Fudametals of statistical sigal procesig: estimatio theory, PTR Pretice Hal, ew Jersey, 993. [] A. Sadat, W. B. Mikhael, Fast Fourier Trasform for High Speed OFDM Wireles Multimedia System, Circuits ad Systems, 00. MWSCAS 00. Proceedigs of the 44th IEEE 00 Midwest Symposium, vol, pp. 93 94, Aug. 00. [] Takahashi, D.; A exteded split-radix FFT algorithm, Sigal Processig Letters, Vol, Issue 5, pp. 45~ 47, May 00. [3] S. Bouguezel, M. O. Ahmad,, M.M.S. Swamy, Arithmetic complexity of the split-radix FFT algorithms, Acoustics, Speech, ad Sigal Processig, 005. Proceedigs. (ICASSP '05). IEEE Iteratioal Coferece, Vol 5, pp. 37-40, March 005. [4] G. Bi; Y. Q. Che, Fast DFT algorithms for legth =q* m, IEEE Trasactios o Circuits ad Systems II: Aalog ad Digital Sigal Processig, Vol 45, Issue 6, pp. 65-690, Jue 99. [5] H. V. Sorese, M. T. Heidema, ad C. S. Burus, O computig the split-radix FFT, IEEE Tras. Acoust., Speech, Sigal Procesig, vol. ASSP-34, pp. 5 56, Feb. 96. [6] P. Duhamel ad H. Holma, Split-radix FFT algorithm, Electro. Lett., vol. 0, pp. 4 6, Ja. 94. [7] A. V. Oppeheim ad R. W. Schafer, Discrete-Time Sigal Processig, Eglewood Cliffs, J: Pretice-Hall, 99. 463