利用低成本的GPS接收器簡化軟件GPS系統(tǒng)的設計
軟件接收器技術經(jīng)常被用在軍用戰(zhàn)術無線設備中,但這種技術對L1波段民用全球定位系統(tǒng)(GPS)接收機也很有用。當然,低成本射頻(RF)接收機電路也還是需要的,美信集成產(chǎn)品公司的MAX2741芯片就適合用作這種接收機內(nèi)便宜而又緊湊的RF前端。
用于軟件GPS技術逐漸被用在各種通信和導航系統(tǒng)中,提供定位功能。由于超大規(guī)模集成(VLSI)技術的發(fā)展,采用強大的CPU和DSP的GPS接收機可以在軟件的幫助下實時接收和解碼GPS信號。這些基于軟件GPS接收機具有相當大的靈活性,它不需要重新設計硬件,只要修改設置參數(shù)就能適應新的要求,這樣相同的電路板設計可以滿足不同頻率規(guī)劃要求,非常方便日后的升級。作為示例,本文將重點討論在碼分復用(CDMA)通信系統(tǒng)中集成GPS功能所面臨的挑戰(zhàn)。
一個完整的GPS系統(tǒng)包括衛(wèi)星群、地面控制站和用戶設備(接收機)。在衛(wèi)星群中有24顆衛(wèi)星,每顆衛(wèi)星都有唯一的偽隨機噪聲(PRN)碼。對民用GPS系統(tǒng)來說,這些衛(wèi)星通過頻率為1.57542GHz的L1波段進行通信。
GPS接收機必須捕獲到至少4顆衛(wèi)星的信號才能進行可靠定位。信號的捕獲和跟蹤非常復雜,因為每顆衛(wèi)星和接收機的位置時刻都在變化。軟件GPS接收機(圖1a)的射頻前端首先用低噪聲放大器(LNA)放大微弱的輸入信號,然后經(jīng)過下變頻轉(zhuǎn)換成較低頻率(約4MHz)的中頻(IF)信號。下變頻通過超外差技術實現(xiàn),即將輸入的射頻信號與本振(LO)信號進行混頻,并采用一級或兩級混頻電路進行轉(zhuǎn)換。生成的模擬中頻信號再通過模數(shù)轉(zhuǎn)換器(ADC)轉(zhuǎn)換成數(shù)字中頻信號。
圖1:(a) 簡化的軟件GPS接收機框圖;(b) 民用GPS系統(tǒng)的信號發(fā)生模塊圖。
開發(fā)時間
為顯著縮短GPS系統(tǒng)的開發(fā)時間,可以采用在單片內(nèi)集成LNA、混頻器和ADC的MAX2741芯片。這款具有兩級混頻電路的接收器芯片能支持-185dBW的接收靈敏度,可成功實現(xiàn)GPS室內(nèi)接收和定位。該IC具有80dB的級聯(lián)增益和4.7dB的級聯(lián)噪聲系數(shù)。它的中頻自動增益控制(AGC)范圍為50dB,接收端可以容忍的CDMA帶外干擾高達+13dB,帶內(nèi)干擾達-90dBm。MAX2741采用28引腳的QFN薄型封裝,工作電壓為2.7V到3.0V,具有SPI控制接口。
L1波段GPS接收器MAX2741可以放大超過其靈敏度的1575.42MHz輸入GPS信號,然后將此信號下變頻為37.38MHz的第一級中頻信號,接著再放大,然后下變頻為3.78MHz的第二級中頻信號。內(nèi)部的2或3位ADC(可選擇1位符號位,1或2位輸入幅值)對第二級中頻信號進行采樣,并將數(shù)字化信號輸出給基帶處理器。集成的頻率合成器能執(zhí)行靈活的頻率規(guī)劃,從而允許在同一個GPS電路板上通過改變設置參數(shù)提供2~26MHz范圍內(nèi)的任何固定參考頻率。集成的參考頻率振蕩器可以基于晶振或溫補晶振(TCXO)。
傳統(tǒng)的GPS接收機采用ASIC實現(xiàn)信號捕獲、跟蹤和位同步操作,但軟件GPS接收機利用軟件代替硬件來實現(xiàn)這些功能,因此具有更好的靈活性。通過簡化硬件架構(gòu),軟件可以使接收機更小、更便宜、具有更高功效。軟件可以用C/C++、MATLAB和其它語言來編寫,并且可以移植到各種操作系統(tǒng)(嵌入式操作系統(tǒng)、PC、Linux和DSP平臺)上。這樣,軟件GPS接收機可以為移動手機、便攜式數(shù)字助理(PDA)和類似設備提供最大的靈活性。
對民用L1波段應用來說,GPS系統(tǒng)實際上是一個簡單的擴頻通信系統(tǒng)。圖1b是民用GPS系統(tǒng)的信號發(fā)生模塊圖。首先,50bps的導航消息被重復20次,形成1,000bps的比特流,然后這個重復信號被長度為1023碼片(偽隨機噪聲碼的碼速)的唯一粗捕獲碼(C/A碼)進行擴頻,形成每秒1.023兆碼片的基帶信號。采用這種擴頻方法后,GPS系統(tǒng)的總處理增益(PG)可以很好地恢復比熱噪聲電平低得多的信號。
每顆衛(wèi)星都有唯一的C/A碼或Gold碼。由于具有很好的自相關和互相關性,Gold碼被廣泛用于各種CDMA通信系統(tǒng),如WCDMA、CDMA2000和其它變種系統(tǒng)?;鶐盘柦?jīng)過二元相移鍵控(BPSK)調(diào)制后上變頻到L1波段進行傳輸。
因為GPS是一種CDMA通信系統(tǒng),所以作為解調(diào)數(shù)據(jù)的先決條件,接收機必須與偽隨機噪聲(PRN)碼同步。實現(xiàn)代碼同步通常需要兩個步驟:用來實現(xiàn)粗對準的代碼捕獲和用來實現(xiàn)精細對準的代碼相位跟蹤。
更明確的講,GPS接收機必須首先確定它對某顆衛(wèi)星是否具有視距上的可視性。每顆衛(wèi)星由唯一的C/A碼(Gold碼)來區(qū)分。當衛(wèi)星可視時,由捕獲過程判斷信號的頻率和代碼相位,然后確定相應的解調(diào)參數(shù)。由于存在多普勒效應,根據(jù)衛(wèi)星相對于接收器的速度,接收信號的頻率一般會偏移標稱值5到10kHz。
信號捕獲
信號捕獲的目的是粗略地確定指示C/A碼在數(shù)據(jù)塊中起始位置的載波頻率和C/A代碼相位。常用的捕獲方法包括串行搜索法和頻域并行代碼相位捕獲法,前者的邏輯架構(gòu)簡單,適合用硬件實現(xiàn),后者的運算復雜度低,適合用軟件實現(xiàn)。
串行搜索模式框圖(圖2a)顯示,接收到的信號首先被下變頻為同相和正交(I/Q)分量信號,再由一對I/Q相關器將I/Q基帶信號與本地偽隨機序列進行相關運算。經(jīng)過一個比特周期的積分后,I/Q相關器的輸出被累加起來以提供輸出判定變量。
圖2:(a) 在串行搜索模式中,接收到的信號被下變頻為I/Q分量信號;(b) GPS接收機的代碼跟蹤用延時鎖相環(huán)來實現(xiàn)。
只要判定變量超過某一閾值,系統(tǒng)就認為成功地實現(xiàn)了捕獲,繼而進入跟蹤模式,否則就通過調(diào)節(jié)本地偽隨機序列的相對相位和振蕩器頻率,來更新判定變量,并重復上述過程。串行搜索方法的簡單邏輯結(jié)構(gòu)使它非常適合用ASIC實現(xiàn),而用軟件實現(xiàn)就不切實際了,因為搜索空間非常大。
另外一種捕獲方法是頻域并行代碼相位捕獲法,這是一種復雜度較低的軟件實現(xiàn)方法(圖3)。它的基本原理是將多普勒頻率和代碼相位搜索方法結(jié)合起來,在經(jīng)過偽隨機噪聲碼的FFT變換后,將所有代碼相位信息轉(zhuǎn)換到頻域內(nèi),這樣只需搜索多普勒頻移上的空間即可,因此這是一種快速而高效的軟件搜索方法。
圖3:頻域中并行搜索捕獲方法的處理過程
首先,將輸入信號與本地正弦和余弦載波(分別為同相(I)和正交(Q)信號分量)相乘,然后將I和Q分量合成一個復合信號送給快速傅里葉變換(FFT)模塊,F(xiàn)FT變換后的結(jié)果再與偽隨機噪聲碼的FFT變換結(jié)果相乘(偽隨機噪聲碼發(fā)生器產(chǎn)生代碼相位為零的代碼)。在實際使用中,F(xiàn)FT運算和偽隨機噪聲碼的產(chǎn)生可以采用列表的方法,以降低運算的復雜性。
最后,輸入信號與本地代碼的乘積(該乘積代表了輸入信號和載頻之間相關性)被送到反向傅里葉變換模塊,該模塊的自乘結(jié)果再被反饋到判定邏輯?;贔FT的頻域計算被證實具有較小的運算量。圖4給出了衛(wèi)星可見和衛(wèi)星不可見情況下的FFT并行代碼捕獲過程。
圖4:衛(wèi)星可見(a)和衛(wèi)星不可見(b)情況下的FFT并行代碼相關輸出
串行搜索方法具有簡單的邏輯和控制架構(gòu),非常適合ASIC實現(xiàn)。然而,巨大的搜索空間使得軟件算法非常復雜。因此對軟件GPS接收機來說,串行搜索方法并不是一個很好的選擇。相反,并行代碼捕獲方法的低復雜性使它很適合用軟件實現(xiàn),但它的邏輯架構(gòu)比串行搜索方法要復雜得多,因此很難用ASIC實現(xiàn)。
捕獲過程完成了GPS信號頻率和代碼相位參數(shù)的粗略校準,因此跟蹤的目的是進行細調(diào),以便系統(tǒng)能用實際的代碼相位和頻率信息解調(diào)出數(shù)據(jù)。跟蹤包括代碼相位跟蹤和載波頻率跟蹤。代碼跟蹤用延時鎖相環(huán)(DLL)實現(xiàn),如圖2b所示。
DLL電路將輸入信號乘以偽隨機噪聲碼的三個復制碼(間隔±0.5碼片),這三個復制碼分別代表信號提前、準時和落后達到。經(jīng)過綜合后,這些信號分別代表輸入信號和一個本地復制碼之間的相關性。具有最高相關值的信號被選中并保留下來(圖5)。載頻跟蹤由鎖相環(huán)(PLL)或Costas環(huán)路完成,載波跟蹤的目的是將本地頻率調(diào)節(jié)為輸入信號的實際頻率。
圖5:對延時鎖相環(huán)產(chǎn)生的信號進行比較和選擇,保留具有最高相關值的信號。
當捕獲和跟蹤過程建立好初始同步后,就可以解碼導航比特。將每表1.023兆碼片的輸入信號解擴為1,000bps的比特流后就開始解調(diào)數(shù)據(jù),然后利用比特同步從1,000bps數(shù)據(jù)流中恢復出50bps的信息。
比特同步要求及時識別出比特流的起始位置,這可以通過尋找代表比特起始位置的零交叉沿(0v點)來實現(xiàn)。如果這個交叉是已知的,則可以用20ms的間隔分割1,000bps輸入流,因為導航數(shù)據(jù)信息(50b)的持續(xù)時間是20ms(圖6)。最后,以20ms間隔排列的比特樣本被累加起來并求平均值,從而解碼出導航數(shù)據(jù)。
圖6:比特同步要求及時識別出比特流的起始位置
當然,軟件GPS和硬件GPS方案各有優(yōu)缺點。盡管軟件GPS具有很大的靈活性,但它需要高性能的處理器,對存儲器容量也有一定要求。