摘 要:簡要說明了GPS系統(tǒng)的基本原理,分析了GPS信號發(fā)生器及其信號捕獲、跟蹤的方法,以及軟件GPS技術的優(yōu)勢和應用,詳細介紹了利用MAX2769等GPS接收機射頻(RF)前端芯片及簡單的USB dongle或PCI Express迷你卡實現(xiàn)軟件基帶處理" title="基帶處理">基帶處理,從而在筆記本電腦中以低成本實現(xiàn)靈活的GPS功能的方法。
關鍵詞:GPS接收機RF前端;軟件基帶處理;MAX2769芯片
?
??? 近來,應用在全球定位系統(tǒng)(GPS)[1][2]中的軟件技術已經(jīng)引起了通信和導航應用工程師的濃厚興趣。由于超大規(guī)模集成電路(VLSI)的發(fā)展,性能強大的CPU和DSP能夠通過軟件對GPS信號進行實時檢測和解碼。這些基于軟件的GPS接收機具有相當強的靈活性:只需修改設置參數(shù)即可適應新的應用,無需重新設計硬件,選擇一個中頻(IF),就可完成進一步的系統(tǒng)升級。
??? 目前,筆記本電腦的CPU足以支持實時解碼的要求,利用MAX2769等GPS接收機射頻(RF)前端芯片,簡單的USB dongle或PCI Express迷你卡就可以為筆記本電腦增加低成本的GPS功能。接收到的原始數(shù)據(jù)傳輸?shù)诫娔X主機,電腦主機利用軟件實現(xiàn)基帶解碼,從而省去了單機GPS系統(tǒng)所需要的基帶ASIC的成本。利用類似于MAX2769的接收機,設計人員可以利用單芯片實現(xiàn)GPS和Galileo系統(tǒng)信號處理的適配器。
電路原理
??? 基于軟件的GPS接收機射頻前端首先使用低噪聲放大器(LNA)放大微弱的輸入信號" title="輸入信號">輸入信號,然后經(jīng)過下變頻將信號轉換到較低頻率(4MHz左右)的IF(圖1)。下變頻器采用一路或兩路混頻器對輸入射頻信號和本機振蕩器信號進行混頻,通過模/數(shù)轉換器(ADC)把生成的模擬中頻信號轉換成數(shù)字中頻信號。
?
?

??? 所有功能電路(LNA、混頻器和ADC)都集成到了MAX2769中,可大大縮短產(chǎn)品的開發(fā)時間。該芯片提供了兩個低噪放選擇,第一個低噪放具有低至0.9dB的噪聲系數(shù)、19dB的增益、-1dBm的IP3,配合無源天線使用;第二個低噪放具有1.5dB的噪聲系數(shù)、較低增益/功耗和較高的IP3,配合有源天線使用。2.8V供電時,電流消耗僅為13mA~18mA,具體取決于電路配置。
??? RF端,在放大器之后通常使用外部RF濾波器,然后使用集成的20位Σ-ΔN分頻合成器和15位整數(shù)分頻器將信號直接下變頻到0~12MHz所要求的中頻頻率。中頻濾波器的選擇范圍較廣,可以適應不同的架構,例如Galileo。
??? 從射頻輸入到中頻輸出的總增益能夠在60dB~115dB范圍內調節(jié)或進行自動增益控制。輸出可以選擇為模擬、CMOS或有限差分。內部ADC具有可設置的1~3位輸出。集成參考時鐘振蕩器可以使用晶體或溫補晶振(TCXO),也可以使用8MHz~44MHz頻率范圍的輸入?yún)⒖紩r鐘。
??? 利用MAX2769和工作在24MHz參考時鐘的Cypress USB控制器構建了一個簡單的USB dongle參考設計(如圖2所示)。該設計利用一路低壓差線性穩(wěn)壓器(LDO)MAX8510供電,通過3線(SPI)數(shù)字總線對MAX2769的寄存器進行編程。系統(tǒng)也可以在沒有SPI控制的情況下工作在8種硬件模式的任意一種。
?

??? 實際接收機中,低噪聲放大器對射頻信號進行放大,MAX2769對放大后的信號進行變頻和數(shù)字化處理。然后,通過計數(shù)器和USB控制器將數(shù)據(jù)按照USB協(xié)議傳輸給PC主機。
??? 芯片內的電路對有源天線進行偏置,關斷模式下將天線關閉,滿足USB規(guī)范。MAX2769能夠檢測到天線電源是否有電流消耗,并自動切換LNA1和LNA2,對于能夠插入靈敏度更高的有源天線替代無源天線的應用,這是一個非常理想的功能。設計人員只需要把外部天線端口連接到LNA2,把內部端口連接到LNA1。插入外部天線時,MAX2769將檢測到吸電流,可自動由LNA1切換到LNA2。
??? MAX2769多頻段GPS接收芯片為筆記本電腦、手機、PDA和汽車應用提供了一個高性能、緊湊的解決方案。利用已經(jīng)商用化的GPS軟件包,115dB的總電壓增益和1.4dB的模塊噪聲系數(shù)能夠達到-143dBm的捕獲靈敏度和-154dBm的跟蹤靈敏度。
GPS原理
??? 在著手USB或PCIe硬件設計之前,首先回顧一下軟件GPS接收機的基本原理。關于解碼導航信息和定位計算,感興趣的讀者可以參考文獻[2]。
??? GPS系統(tǒng)包含24顆空間衛(wèi)星或空間運載器(每個都用唯一的PRN碼識別)、地面控制站以及用戶設備(接收機)。對于民用GPS和Galileo系統(tǒng),這些衛(wèi)星通過頻率為1.57542GHz的L1波段進行通信。GPS接收機必須捕獲到至少四顆衛(wèi)星的信號才能進行可靠定位,信號捕獲和跟蹤非常復雜,因為每顆衛(wèi)星和接收機的位置時刻都在變化。
??? 傳統(tǒng)的GPS接收機采用ASIC實現(xiàn)信號捕獲、跟蹤和位同步操作,而軟件GPS接收機用軟件代替硬件實現(xiàn)這些功能,因此具有更高的靈活性。通過簡化硬件架構,基于軟件的設計能夠進一步縮小接收機尺寸,降低成本,并具有更高效率。程序可以使用C/C++、MATLAB或其他語言編寫,并可移植到各種操作系統(tǒng)中(嵌入式操作系統(tǒng)、PC、Linux和DSP平臺)。由此看來,軟件GPS接收機能夠為移動終端、便攜式數(shù)字助理(PDA)及其他類似設備提供最大的設計靈活性。
??? 對于筆記本電腦,設計人員可以設計USB dongle(可配合任何筆記本電腦的USB口工作),也可以使用新一代筆記本電腦(帶有PCIe迷你卡連接器),可以把射頻前端置于PCIe迷你卡上,并把它插入PC內部(如圖3、圖4)。PCIe迷你卡接口包含一個USB口,因此,前端適配器設計對于USB和PCIe迷你卡而言非常相似。主要區(qū)別在于:支持PCIe需要不同的電源管理邏輯電壓,需要處理不同的直流電壓(PCIe為3.3V,外部USB口為5V)。
?

?

?
?
??? 從圖2所示USB dongle框圖可以看出該方案非常簡單,只使用了MAX2769、一個計數(shù)器和USB接口控制器,即可捕獲信號,并將其轉換成數(shù)字信號,最終傳遞給PC主機。然后,通過運行PC主機軟件執(zhí)行所有基帶功能,將定位信息顯示在PC顯示器上。
?
?
GPS信號發(fā)生器
??? 本文只討論位于1.57542GHz L1波段的民用GPS信號處理。GPS系統(tǒng)實際上是一個簡單的擴頻" title="擴頻">擴頻通信系統(tǒng)[3]。圖5提供了一個民用GPS系統(tǒng)的信號發(fā)生電路框圖。首先,50b/s" title="b/s">b/s的導航信息重復20次,形成1 000b/s的比特流。然后這個重復信號被長度為1 023碼片(偽隨機噪聲碼的碼速)的唯一粗捕獲碼(C/A碼)進行擴頻,形成1.023Mb/s的基帶信號" title="基帶信號">基帶信號。采用這種擴頻方法后,43dB的GPS系統(tǒng)的總處理增益可以很好地恢復比熱噪聲電平低得多的信號。
?

??? 每顆衛(wèi)星都有唯一的C/A碼(或gold碼)[4]。由于具有很好的自相關和互相關特性,gold碼被廣泛用于各種CDMA通信系統(tǒng),如WCDMA、cdma2000等?;鶐盘柦?jīng)過二元相移鍵控(BPSK)調制后被上變頻到L1波段進行傳輸。
信號捕獲
??? 因為GPS是一種CDMA通信系統(tǒng),所以作為解調數(shù)據(jù)的先決條件,接收機必須與偽隨機噪聲(PRN)碼進行同步。實現(xiàn)碼同步通常需要兩個步驟:通過碼捕獲實現(xiàn)粗調,以及通過碼相位跟蹤實現(xiàn)細調[5]。更明確地講,GPS接收機必須首先確定它對某顆衛(wèi)星是否具有視線上的可視性。我們知道,每顆衛(wèi)星都具有唯一的C/A碼,當衛(wèi)星可視時,捕獲過程測定信號的頻率和碼相位,進而確定相應的解調參數(shù)。由于存在多普勒效應[6],根據(jù)衛(wèi)星相對于接收機的速度,接收信號的頻率一般會偏離標稱值5kHz~10kHz。
??? 在接收端,GPS信號首先被下變頻到同向和正交(I和Q)分量信號。再通過一對I-Q相關器將I/Q基帶信號與本地PRN序列做相關運算。經(jīng)過一個比特周期的積分運算后,兩個I-Q相關器的輸出被累加起來作為輸出判定變量。
??? 只要判定變量超過一定的閾值,系統(tǒng)就認為已成功地實現(xiàn)了捕獲,繼而進入跟蹤模式。否則,就通過調節(jié)本地PRN序列的相對相位和振蕩器頻率,來更新判定變量,并重復上述過程。串行搜索方法的邏輯結構簡單,可以用ASIC實現(xiàn);而對于軟件實現(xiàn)來說,由于搜索空間非常大,實施起來不太現(xiàn)實。
??? 假設系統(tǒng)允許的載波頻率偏移為500Hz、多普勒頻率為10kHz,則用軟件實現(xiàn)所需的搜索空間約為2×(10 000/500)×1 023=40 920。很明顯,用軟件實現(xiàn)串行搜索捕獲比較困難。
??? 另外一種捕獲方法是頻域并行碼相位捕獲法,該方法復雜度較低,可以用軟件實現(xiàn)。該方法將多普勒頻率搜索和碼相位搜索合并起來,經(jīng)過PRN碼的快速傅立葉變換(FFT)后,將所有的碼相位信息映射到頻域內。這樣只需要搜索多普勒頻移上的空間即可,因此可以實現(xiàn)快速高效的軟件搜索。
??? 為實現(xiàn)上述捕獲方法,首先將輸入信號與本地正弦和余弦載波(同向I和正交Q信號分量)分別相乘。然后把I和Q分量合并成一個復合信號輸入到FFT模塊。傅立葉變換的結果再和PRN碼的FFT變換結果的共軛相乘(PRN生成器產(chǎn)生碼相位為零的碼)。實際應用中,F(xiàn)FT運算和PRN碼的產(chǎn)生可以采用列表的方法,以降低運算的復雜度。
??? 最后,對輸入信號與本地碼的乘積(該乘積代表了輸入信號和載波頻率之間的相關性)進行傅立葉逆變換,然后將變換后的平方輸出反饋到判定邏輯模塊。基于FFT的頻域計算被證實具有較小的運算量,例如之前提到的例子,捕獲運算的復雜度約為20 000/500=40個FFT運算操作。
??? 綜上所述,串行搜索方法具有簡單的邏輯和控制架構,非常適合ASIC實現(xiàn)。然而巨大的搜索空間增加了軟件算法的復雜性,所以對于軟件GPS接收機來說,串行搜索方法并不是一個好的選擇。相反,并行碼捕獲方法的復雜度低,使其非常適合用軟件實現(xiàn),然而它的邏輯架構遠比串行搜索方法復雜,因此很難用ASIC實現(xiàn)。
跟蹤細調
??? 捕獲過程中建立了對GPS信號的頻率和碼相位參數(shù)的粗校準,而跟蹤的目的是進行細調,以便系統(tǒng)能對具有精確的碼相位和頻率信息的數(shù)據(jù)進行解調。跟蹤包括碼相位跟蹤和載波頻率跟蹤。碼相位跟蹤采用延時鎖定環(huán)(DLL)實現(xiàn),如圖6所示。
?

????DLL電路將輸入信號與PRN碼的三個本地復制碼(時間間隔為±0.5碼片)相乘,這三個復制碼分別表示相對于輸入信號提前、準時和落后到達。經(jīng)過綜合后,這些信號分別代表輸入信號和本地復制碼之間的相關性,具有最高相關值的信號被選中并保留下來(圖7)。載波頻率跟蹤由鎖相環(huán)(PLL)或者Costas環(huán)路完成,載波跟蹤的目的是把本地生成的頻率調節(jié)至輸入信號的實際頻率。
?

?? ?當捕獲和跟蹤過程建立起初始同步后,系統(tǒng)就能夠進行導航位解碼。數(shù)據(jù)解調首先將1.023Mb/s的輸入信號解擴為1 000b/s的比特流,然后利用位同步從1 000b/s的數(shù)據(jù)流中恢復出50b/s的信息。位同步過程中,首先要及時識別出位的起始位置。這可以通過尋找代表位的起始位置的零交叉沿(位于0V處)來實現(xiàn)。交叉沿已知后,則可以用20ms的間隔分割1000b/s輸入流,因為導航數(shù)據(jù)信息(50位)的持續(xù)時間為20ms。最后,將以20ms間隔排列的位取樣結果進行累加并取平均值,從而實現(xiàn)導航數(shù)據(jù)解碼。
??? PC上運行的軟件能夠將筆記本電腦變成功能強大的定位裝置,可以支持導航和大量基于定位的服務。GPS前端通過工業(yè)標準USB2.0接口把數(shù)字化的中頻數(shù)據(jù)傳輸?shù)焦P記本電腦,軟件基帶程序利用輸入數(shù)據(jù)計算出位置方位并隨后執(zhí)行跟蹤過程。(NXP Software是可選的一個軟件來源。欲了解更多信息,請訪問www.software.nxp.com或www.swgps.com)。
??? 為提供通用接口,軟件可以創(chuàng)建一個虛擬COM端口,使其可以連接到很多現(xiàn)有的導航和定位應用中。大部分GPS軟件包的接口符合NMEA0183標準,通常都可以在Microsoft的 Windows XP和Vista操作系統(tǒng)上運行。另外,軟件還應能夠處理從工業(yè)標準協(xié)議或者用戶專有的接口獲得的所有輔助數(shù)據(jù)。軟件運行在1GHz Pentium M系統(tǒng)中時,跟蹤過程中處理器平均負載約為6%;軟件運行在2.18GHz Pentium Core Duo處理器上,在執(zhí)行每秒更新時,處理器負載通常低于5%。隨著算法的發(fā)展,CPU的使用率有可能降低到2%以下。
????軟件GPS技術為很多潛在的應用提供了高度的靈活性和簡易性。為支持這些潛在應用,MAX2769射頻前端為軟件GPS接收機和傳統(tǒng)的硬件實現(xiàn)方法提供了靈活的頻率規(guī)劃。當然,每種方案都有其優(yōu)缺點——軟件GPS接收機需要高性能的處理器和適量的內存。然而,隨著軟件的發(fā)展,通過合理選擇時鐘及數(shù)據(jù)更新速率,可以使內存的使用率最小化。
參考文獻
[1] KAPLAN E.Understanding GPS:Principles and Applications.2nd ed.Artech House Publishers,1996.
[2] J.Bao-Yen Tsui.Fundamentals of?Global Positioning System Receivers:A Software Approach.2nd ed.John
???? Wiley & Sons Inc.,2004.
[3] VITERBI A.Principles of Spread?Spectrum Communications.Addison?Wesley Longman Publishing Co.,Inc.,1995.
[4] GOLD R,Co-optimal binary sequences?for spread spectrum multiplexing,IEEE Transactions on Information
???? Theory.Vol.IT-13.1967(10):619-621.
[5] ZIEMER R E,PETERSON R L.Digital Communications and Spread?Spectrum Systems.New York:Macmillan Publishing Company,1985.
[6] PROAKIS J G.Digital Communications.4th ed.Mc-Graw Hill College,2000.
