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