近來,通信和導(dǎo)航工程師越來越傾向在全球定位系統(tǒng)(GPS)中采用軟件技術(shù)。1,2 由于超大規(guī)模集成電路的發(fā)展,性能強大的CPU和DSP能夠通過軟件對GPS信號進行實時檢測和解碼。這些基于軟件的GPS接收機具有相當強的靈活性:只需修改設(shè)置參數(shù)即可適應(yīng)新的應(yīng)用,無需重新設(shè)計硬件,選擇一個IF,就可完成進一步的系統(tǒng)升級。
利用MAX2769 GPS接收機RF前端芯片,簡單的USB DONGLE或PCI Express?(PCIe?)迷你卡就可以為膝上型 PC增加低成本的GPS 功能。MAX2769將接收到的原 始數(shù)據(jù)傳輸?shù)絇C主機,PC主機利用軟件實現(xiàn)基帶解 碼,從而省去了單機GPS系統(tǒng)所需要的基帶ASIC的成 本。簡單的說,MAX2769使設(shè)計人員可以利用單芯 片實現(xiàn)GPS和Galileo系統(tǒng)信號處理的適配器。 本文給出了GPS系統(tǒng)的工作狀態(tài)概述,并詳細描述了 Maxim的基于軟件的GPS接收機方案。
GPS信號發(fā)生器
GPS系統(tǒng)包含24顆空間衛(wèi)星或空間運載器(每個都用 唯一的偽隨機噪聲編碼識別)、地面控制站以及用戶 設(shè)備(接收機)。對于民用GPS和Galileo系統(tǒng),這些衛(wèi) 星通過頻率為1.57542GHz的L1波段進行通信。3 GPS 接收機必須捕獲到至少四顆衛(wèi)星的信號才能進行可靠 定位,信號捕獲和跟蹤非常復(fù)雜,因為每顆衛(wèi)星和接 收機的位置時刻都在變化。
GPS系統(tǒng)實際上是一個簡單的擴頻通信系統(tǒng)。4 圖1提 供了一個民用GPS系統(tǒng)的信號發(fā)生電路。首先,50bps 的導(dǎo)航信息重復(fù)20次,形成1000bps的比特流。然后 這個重復(fù)信號被長度為1023碼片(偽隨機噪聲(PRN)碼的碼速) 的唯一粗/ 捕獲碼( C / A ) 進行擴頻, 形成 1.023Mcps的基帶信號。此用這種擴頻方法后,43dB 大小的GPS系統(tǒng)的總處理增益(G)可以很好地恢復(fù)比 熱噪聲電平低得多的信號。
每顆衛(wèi)星都有唯一的C/A碼或者說Gold碼。5 由于具有 很好的自相關(guān)和互相關(guān)性,Gold碼被廣泛用于各種 CDMA通信系統(tǒng),如WCDMA和cdma2000?;鶐 號經(jīng)過二元相移鍵控(BPSK)調(diào)制后被上變頻到L1波 段進行傳輸。
圖1. 民用GPS信號發(fā)生器采用擴頻技術(shù)發(fā)送信號。
信號取樣方法分析
因為GPS是一種CDMA通信系統(tǒng),所以作為解調(diào)數(shù)據(jù) 的先決條件,接收機必須與PRN碼進行同步。實現(xiàn)代 碼同步通常需要兩個步驟:用來實現(xiàn)粗對準的代碼捕 獲和用來實現(xiàn)精細對準的代碼相位跟蹤。6 更明確地 講,GPS接收機必須首先確定它對某顆衛(wèi)星是否具有 視距上的可視性。我們知道,每顆衛(wèi)星都由唯一的 C/A碼來區(qū)分。當衛(wèi)星可視時,由捕獲過程判斷信號 的頻率和代碼相位,然后確定相應(yīng)的解調(diào)參數(shù)。由于 存在多普勒效應(yīng),根據(jù)衛(wèi)星相對于接收機的速度,接 收信號的頻率一般會偏移標稱值5kHz到10kHz。
在接受器端,GPS信號首先被下變頻到同向和正交 (I和Q)分量信號。再由一對I-Q相關(guān)器將I/Q基帶信號 與本地PRN序列進行相關(guān)運算。經(jīng)過一個比特周期的 積分后,I-Q相關(guān)器的輸出被累加起來以提供輸出判定變量。
只要判定變量超過一定的門限,系統(tǒng)就認為成功地實 現(xiàn)了捕獲,繼而進入跟蹤模式。否則,就通過調(diào)節(jié)本 地PRN序列的相對相位和振蕩器頻率,來更新判定變 量,并重復(fù)上述過程。
串行搜索方法的簡單邏輯結(jié)構(gòu)使它非常適合用ASIC 實現(xiàn),而用軟件實現(xiàn)就不切實際了,因為搜索空間非 常大。假設(shè)系統(tǒng)允許500Hz的載波頻率偏移,多普勒 頻率是10kHz,軟件實現(xiàn)需要的搜索空間大概為 2 x (10,000/500) x 1023 = 40,920。很明顯,用軟件實現(xiàn)串行搜索捕獲比較困難。
另外一種更簡單的軟件捕獲方法叫做頻域并行代碼相位捕獲。這種方法將多普勒頻率和代碼相位搜索合并起來,在經(jīng)過PRN碼的快速傅立葉變換(FFT)后,將所有代碼相位信息轉(zhuǎn)換到頻域內(nèi)。這樣我們只需要搜索多普勒頻移上的空間即可,因此這是一種快速高效的軟件搜索方法。
首先,將輸入信號與本地正弦和余弦載波(同向I和正交Q信號分量)分別相乘。然后把I和Q分量合并成一個復(fù)合信號輸入到FFT模塊。傅立葉變換的結(jié)果再和PRN碼的FFT變換結(jié)果相乘(PRN生成器產(chǎn)生代碼相位為零的代碼)。實際上,F(xiàn)FT運算和PRN碼的產(chǎn)生可以采用列表的方法,以降低運算的復(fù)雜性。
最后,輸入信號與本地代碼的乘積(該乘積代表了輸入信號和載波頻率的相關(guān)性)被送到傅立葉逆變換模塊,該模塊的自乘輸出結(jié)果再被反饋到判定邏輯;贔FT的頻域計算被證實具有較小的運算量。例如之前提到的那個例子, 捕獲運算的復(fù)雜性大概為20,000/500 = 40個FFT運算操作。
串行搜索方法具有簡單的邏輯和控制架構(gòu),非常適合ASIC實現(xiàn)。然而,巨大的搜索空間增加了軟件算法的復(fù)雜性。所以對于軟件GPS接收機來說,串行搜索方法并不是一個好的選擇。相反,并行代碼捕獲方法的低復(fù)雜性使它很適合用軟件實現(xiàn)。然而,它的邏輯架構(gòu)遠比串行搜索方法復(fù)雜,因此很難用ASIC實現(xiàn)。
跟蹤細調(diào)
捕獲過程建立了對GPS信號的頻率和代碼相位參數(shù)的粗校準。因此,跟蹤的目的是進行細調(diào),以便系統(tǒng)能用精確的代碼相位和頻率信息解調(diào)出數(shù)據(jù)。跟蹤包括代碼相位跟蹤和載波頻率跟蹤。
代碼跟蹤用延時鎖相環(huán)(DLL)實現(xiàn),如圖2所示。DLL電路把輸入信號乘以PRN碼的三個復(fù)制碼(間隔±0.5碼片),這三個復(fù)制碼分別代表和輸入信號相比提前、準時和落后到達。經(jīng)過綜合后,這些信號分別代表輸入信號和本地復(fù)制碼之間的相關(guān)性。具有最高相關(guān)值的信號被選中保留下來(圖3)。
載波頻率跟蹤由鎖相環(huán)(PLL)或者Costas環(huán)路完成。8載波跟蹤的目的是把本地頻率調(diào)節(jié)為輸入信號的實際頻率。
當捕獲和跟蹤過程建立起初始同步后,系統(tǒng)能夠解碼出導(dǎo)航比特。將1.023Mcps的輸入信號解擴為1000bps的比特流后就開始解調(diào)數(shù)據(jù)。然后利用比特同步從1000bps的數(shù)據(jù)流中恢復(fù)出50bps的信息。比特同步需要通過尋找零交叉沿(0V)來識別比特流的起始位置。