近來(lái),通信和導(dǎo)航工程師越來(lái)越傾向在全球定位系統(tǒng)(GPS)中采用軟件技術(shù)。1,2 由于超大規(guī)模集成電路的發(fā)展,性能強(qiáng)大的CPU和DSP能夠通過(guò)軟件對(duì)GPS信號(hào)進(jìn)行實(shí)時(shí)檢測(cè)和解碼。這些基于軟件的GPS接收機(jī)具有相當(dāng)強(qiáng)的靈活性:只 需修改設(shè)置參數(shù)即可適應(yīng)新的應(yīng)用,無(wú)需重新設(shè)計(jì)硬件,選擇一個(gè)IF,就可完成進(jìn)一步的系統(tǒng)升級(jí)。
利用MAX2769 GPS接收機(jī)RF前端芯片,簡(jiǎn)單的USB DONGLE或PCI Express?(PCIe?)迷你卡就可以為膝上型PC增加低成本的GPS 功能。MAX2769將接收到的原 始數(shù)據(jù)傳輸?shù)絇C主機(jī),PC主機(jī)利用軟件實(shí)現(xiàn)基帶解 碼,從而省去了單機(jī)GPS系統(tǒng)所需要的基帶ASIC的成 本。簡(jiǎn)單的說(shuō),MAX2769使設(shè)計(jì)人員可以利用單芯 片實(shí)現(xiàn)GPS和Galileo系統(tǒng)信號(hào)處理的適配器。 本文給出了GPS系統(tǒng)的工作狀態(tài)概述,并詳細(xì)描述了 Maxim的基于軟件的GPS接收機(jī)方案。
GPS信號(hào)發(fā)生器
GPS系統(tǒng)包含24顆空間衛(wèi)星或空間運(yùn)載器、地面控制站以及用戶設(shè)備(接收機(jī))。對(duì)于民用GPS和Galileo系統(tǒng),這些衛(wèi)星通過(guò)頻率為1.57542GHz的L1波段進(jìn)行通信。3 GPS 接收機(jī)必須捕獲到至少四顆衛(wèi)星的信號(hào)才能進(jìn)行可靠 定位,信號(hào)捕獲和跟蹤非常復(fù)雜,因?yàn)槊款w衛(wèi)星和接 收機(jī)的位置時(shí)刻都在變化。
GPS系統(tǒng)實(shí)際上是一個(gè)簡(jiǎn)單的擴(kuò)頻通信系統(tǒng)。4 圖1提 供了一個(gè)民用GPS系統(tǒng)的信號(hào)發(fā)生電路。首先,50bps 的導(dǎo)航信息重復(fù)20次,形成1000bps的比特流。然后 這個(gè)重復(fù)信號(hào)被長(zhǎng)度為1023碼片(偽隨機(jī)噪聲(PRN)碼的碼速) 的唯一粗/ 捕獲碼( C / A ) 進(jìn)行擴(kuò)頻, 形成 1.023Mcps的基帶信號(hào)。此用這種擴(kuò)頻方法后,43dB 大小的GPS系統(tǒng)的總處理增益(G)可以很好地恢復(fù)比 熱噪聲電平低得多的信號(hào)。
每顆衛(wèi)星都有唯一的C/A碼或者說(shuō)Gold碼。5 由于具有 很好的自相關(guān)和互相關(guān)性,Gold碼被廣泛用于各種 CDMA通信系統(tǒng),如WCDMA和cdma2000??;鶐?號(hào)經(jīng)過(guò)二元相移鍵控(BPSK)調(diào)制后被上變頻到L1波 段進(jìn)行傳輸。
圖1. 民用GPS信號(hào)發(fā)生器采用擴(kuò)頻技術(shù)發(fā)送信號(hào)
信號(hào)取樣方法分析
因?yàn)镚PS是一種CDMA通信系統(tǒng),所以作為解調(diào)數(shù)據(jù) 的先決條件,接收機(jī)必須與PRN碼進(jìn)行同步。實(shí)現(xiàn)代 碼同步通常需要兩個(gè)步驟:用來(lái)實(shí)現(xiàn)粗對(duì)準(zhǔn)的代碼捕 獲和用來(lái)實(shí)現(xiàn)精細(xì)對(duì)準(zhǔn)的代碼相位跟蹤。6 更明確地 講,GPS接收機(jī)必須首先確定它對(duì)某顆衛(wèi)星是否具有 視距上的可視性。我們知道,每顆衛(wèi)星都由唯一的 C/A碼來(lái)區(qū)分。當(dāng)衛(wèi)星可視時(shí),由捕獲過(guò)程判斷信號(hào) 的頻率和代碼相位,然后確定相應(yīng)的解調(diào)參數(shù)。由于 存在多普勒效應(yīng),根據(jù)衛(wèi)星相對(duì)于接收機(jī)的速度,接 收信號(hào)的頻率一般會(huì)偏移標(biāo)稱值5kHz到10kHz。
在接受器端,GPS信號(hào)首先被下變頻到同向和正交 (I和Q)分量信號(hào)。再由一對(duì)I-Q相關(guān)器將I/Q基帶信號(hào) 與本地PRN序列進(jìn)行相關(guān)運(yùn)算。經(jīng)過(guò)一個(gè)比特周期的 積分后,I-Q相關(guān)器的輸出被累加起來(lái)以提供輸出判定變量。
只要判定變量超過(guò)一定的門(mén)限,系統(tǒng)就認(rèn)為成功地實(shí) 現(xiàn)了捕獲,繼而進(jìn)入跟蹤模式。否則,就通過(guò)調(diào)節(jié)本 地PRN序列的相對(duì)相位和振蕩器頻率,來(lái)更新判定變 量,并重復(fù)上述過(guò)程。
串行搜索方法的簡(jiǎn)單邏輯結(jié)構(gòu)使它非常適合用ASIC 實(shí)現(xiàn),而用軟件實(shí)現(xiàn)就不切實(shí)際了,因?yàn)樗阉骺臻g非 常大。假設(shè)系統(tǒng)允許500Hz的載波頻率偏移,多普勒 頻率是10kHz,軟件實(shí)現(xiàn)需要的搜索空間大概為 2 x (10,000/500) x 1023 = 40,920。很明顯,用軟件實(shí)現(xiàn)串行搜索捕獲比較困難。
另外一種更簡(jiǎn)單的軟件捕獲方法叫做頻域并行代碼相位捕獲。這種方法將多普勒頻率和代碼相位搜索合并起來(lái),在經(jīng)過(guò)PRN碼的快速傅立葉變換(FFT)后,將所有代碼相位信息轉(zhuǎn)換到頻域內(nèi)。這樣我們只需要搜索多普勒頻移上的空間即可,因此這是一種快速高效的軟件搜索方法。
首先,將輸入信號(hào)與本地正弦和余弦載波(同向I和正交Q信號(hào)分量)分別相乘。然后把I和Q分量合并成一個(gè)復(fù)合信號(hào)輸入到FFT模塊。傅立葉變換的結(jié) 果再和PRN碼的FFT變換結(jié)果相乘(PRN生成器產(chǎn)生代碼相位為零的代碼)。實(shí)際上,F(xiàn)FT運(yùn)算和PRN碼的產(chǎn)生可以采用列表的方法,以降低運(yùn)算的復(fù)雜 性。
最后,輸入信號(hào)與本地代碼的乘積(該乘積代表了輸入信號(hào)和載波頻率的相關(guān)性)被送到傅立葉逆變換模塊,該模塊的自乘輸出結(jié)果再被反饋到判定邏輯?;?于FFT的頻域計(jì)算被證實(shí)具有較小的運(yùn)算量。例如之前提到的那個(gè)例子, 捕獲運(yùn)算的復(fù)雜性大概為20,000/500 = 40個(gè)FFT運(yùn)算操作。
串行搜索方法具有簡(jiǎn)單的邏輯和控制架構(gòu),非常適合ASIC實(shí)現(xiàn)。然而,巨大的搜索空間增加了軟件算法的復(fù)雜性。所以對(duì)于軟件GPS接收機(jī)來(lái)說(shuō),串行 搜索方法并不是一個(gè)好的選擇。相反,并行代碼捕獲方法的低復(fù)雜性使它很適合用軟件實(shí)現(xiàn)。然而,它的邏輯架構(gòu)遠(yuǎn)比串行搜索方法復(fù)雜,因此很難用ASIC實(shí) 現(xiàn)。
跟蹤細(xì)調(diào)
捕獲過(guò)程建立了對(duì)GPS信號(hào)的頻率和代碼相位參數(shù)的粗校準(zhǔn)。因此,跟蹤的目的是進(jìn)行細(xì)調(diào),以便系統(tǒng)能用精確的代碼相位和頻率信息解調(diào)出數(shù)據(jù)。跟蹤包括代碼相位跟蹤和載波頻率跟蹤。
代碼跟蹤用延時(shí)鎖相環(huán)(DLL)實(shí)現(xiàn),如圖2所示。DLL電路把輸入信號(hào)乘以PRN碼的三個(gè)復(fù)制碼(間隔±0.5碼片),這三個(gè)復(fù)制碼分別代表和輸 入信號(hào)相比提前、準(zhǔn)時(shí)和落后到達(dá)。經(jīng)過(guò)綜合后,這些信號(hào)分別代表輸入信號(hào)和本地復(fù)制碼之間的相關(guān)性。具有最高相關(guān)值的信號(hào)被選中保留下來(lái)(圖3)。
載波頻率跟蹤由鎖相環(huán)(PLL)或者Costas環(huán)路完成。8載波跟蹤的目的是把本地頻率調(diào)節(jié)為輸入信號(hào)的實(shí)際頻率。
當(dāng)捕獲和跟蹤過(guò)程建立起初始同步后,系統(tǒng)能夠解碼出導(dǎo)航比特。將1.023Mcps的輸入信號(hào)解擴(kuò)為1000bps的比特流后就開(kāi)始解調(diào)數(shù)據(jù)。然后 利用比特同步從1000bps的數(shù)據(jù)流中恢復(fù)出50bps的信息。比特同步需要通過(guò)尋找零交叉沿(0V)來(lái)識(shí)別比特流的起始位置。
如果這個(gè)交叉沿是已知的,我們可以用20ms的間隔分割1000bps輸入流,因?yàn)閷?dǎo)航數(shù)據(jù)信息(50位)的持續(xù)時(shí)間為20ms。最后,以20ms間隔排列的比特取樣累加起來(lái)取平均值,從而解碼出導(dǎo)航數(shù)據(jù)。
圖2. 使用延時(shí)鎖相環(huán)作代碼跟蹤幫助細(xì)調(diào),以便系統(tǒng)能用精確的代碼相位和頻率信息解調(diào)出數(shù)據(jù)?
圖3. DLL電路把輸入信號(hào)乘以PRN碼的三個(gè)復(fù)制碼(間隔±0.5碼),這三個(gè)復(fù)制碼分別代表和輸入信號(hào)相比提前、準(zhǔn)時(shí)和落后到達(dá)。具有最高相關(guān)值的信號(hào)被選中保留下來(lái)。
基于軟件的GPS接收機(jī)
傳統(tǒng)的GPS接收機(jī)采用ASIC實(shí)現(xiàn)信號(hào)捕獲、跟蹤和位同步操作,而軟件GPS接收機(jī)用軟件代替硬件實(shí)現(xiàn)這些功能,因此具有更高的靈活性。通過(guò)簡(jiǎn)化 硬件架構(gòu),基于軟件的設(shè)計(jì)能夠進(jìn)一步縮小接收機(jī)尺寸,降低成本,并具有更高效率。程序可以使用C/C++、MATLAB?或其它語(yǔ)言編寫(xiě),并可移植到各種 操作系統(tǒng)中(嵌入式操作系統(tǒng)、PC、Linux和DSP平臺(tái))。由此看來(lái),軟件GPS接收機(jī)能夠?yàn)橐苿?dòng)終端、PDA及其它類似設(shè)備提供最大的設(shè)計(jì)靈活性。
對(duì)于膝上型電腦,設(shè)計(jì)人員可以設(shè)計(jì)USB dongle (可配合任何帶USB端口的膝上型電腦一起工作)。對(duì)于新一代帶有PCIe迷你卡連接器的膝上型電腦,可以把RF前端置于PCIe迷你卡上,并把它插入 PC內(nèi)部(圖4a,圖4b)。PCIe迷你卡接口包含一個(gè)USB口,因此,前端適配器設(shè)計(jì)對(duì)于USB和PCIe迷你卡而言非常相似。
主要區(qū)別在于:支持PCIe需要不同的電源管理邏輯電壓,需要處理不同的直流電壓(PCIe為3.3V,外部USB端口為5V)。
從圖5b所示USB dongle框圖可以看出該方案非常簡(jiǎn)單,只使用了一個(gè)通用GPS接收器MAX2769、一個(gè)計(jì)數(shù)器和USB接口控制器,即可捕獲信號(hào),并將其轉(zhuǎn)換成數(shù)字 信號(hào),最終傳遞給PC主機(jī)。然后,通過(guò)運(yùn)行PC主機(jī)軟件執(zhí)行所有基帶功能,將定位信息顯示在PC 顯示器上。這樣,筆記本PC 便成了一個(gè)強(qiáng)大的GPS設(shè)備,可支持導(dǎo)航和基于定位的服務(wù)。
GPS前端通過(guò)工業(yè)標(biāo)準(zhǔn)USB 2.0接口把數(shù)字化的IF數(shù)據(jù)傳輸?shù)焦P記本電腦。軟件基帶程序利用輸入數(shù)據(jù)計(jì)算出位置方位并隨后執(zhí)行跟蹤過(guò)程。Geotate是可選的一個(gè)軟件來(lái)源。
為提供通用接口,此軟件能創(chuàng)建一個(gè)虛擬COM端口,使其可以連接到很多現(xiàn)有的導(dǎo)航和定位應(yīng)用。大部分GPS軟件包接口符合NMEA 0183標(biāo)準(zhǔn),通常都可以運(yùn)行在Microsoft的Windows? XP和Windows VistaTM操作系統(tǒng)中。另外,此軟件能夠處理所有可得的輔助數(shù)據(jù),此數(shù)據(jù)可以從工業(yè)標(biāo)準(zhǔn)協(xié)議或者用戶專有的接口取得。
當(dāng)前的膝上型電腦里所帶的CPU均具備滿足軟件GPS接收機(jī)實(shí)時(shí)解碼所需的運(yùn)算能力。當(dāng)在1GHz Pentium?M系統(tǒng)中,跟蹤過(guò)程中平均處理器負(fù)載大約為6%;而在2.18GHz CoreTM Duo處理器上,在執(zhí)行每秒更新時(shí),處理器負(fù)載通常低于5%。隨著算法的發(fā)展,有可能把CPU的使用率降低到2%以下。
電路工作和性能
基于軟件的GPS接收機(jī)RF前端首先使用低噪聲放大器(LNA)放大微弱的輸入信號(hào),然后經(jīng)過(guò)下變頻將信號(hào)轉(zhuǎn)換到較低頻率(4MHz左右)的IF (圖5a)。下變頻器采用一路或兩路混頻器對(duì)輸入RF信號(hào)和本機(jī)振蕩器信號(hào)進(jìn)行混頻,通過(guò)模/數(shù)轉(zhuǎn)換器(ADC)把生成的模擬IF信號(hào)轉(zhuǎn)換成數(shù)字IF信 號(hào)。
MAX2769將所有功能電路(LNA、混頻器和ADC)集成到一起,可大大縮短產(chǎn)品的開(kāi)發(fā)時(shí)間。該芯片提供了兩個(gè)LNA:其中一個(gè)LNA具有低至 0.9dB的噪聲系數(shù)、19dB 增益、-1dBm的IP3,可配合無(wú)源天線使用;另一個(gè)LNA則具有1.5dB的噪聲系數(shù)、較低增益/功耗和較高的IP3,可配合有源天線使用。2.8V 供電時(shí),消耗的電流最小,且僅為13至18mA,具體取決于電路配置。
圖4. 針對(duì)USB dongle (a)、PCIe迷你卡(b)的典型適配器結(jié)構(gòu),為兩種方案均可提供了簡(jiǎn)單、低成本的設(shè)計(jì)?
RF端,在放大器之后通常使用外部RF濾波器。然后使用集成的20位,Σ-Δ N分頻合成器和15位整數(shù)分頻器將信號(hào)直接下變頻到0至12MHz所要求的IF頻率。IF濾波器的選擇范圍較廣,可以適應(yīng)不同的架構(gòu),例如Galileo。
從RF輸入至IF輸出的總增益能夠在60至115dB范圍內(nèi)調(diào)節(jié)或進(jìn)行自動(dòng)控制。輸出可以選擇為模擬、CMOS或有限差分。內(nèi)部ADC具有可設(shè)置的一到三位輸出。集成參考時(shí)鐘振蕩器可以使用晶體或溫補(bǔ)晶振(TCXO),也可以使用8至44MHz頻率范圍的輸入?yún)⒖?a href="http://wenjunhu.com/tags/時(shí)鐘/" target="_blank">時(shí)鐘。
我們利用MAX2769和工作在24MHz參考時(shí)鐘的CypressSemiconductor的USB控制器構(gòu)建了一個(gè)簡(jiǎn)單的USBd o n g l e 參考設(shè)計(jì)(如圖5 b 所示)。該設(shè)計(jì)利用一路MAX8510 LDO調(diào)節(jié)直流電源。通過(guò)3線(SPITM)數(shù)字總線對(duì)MAX2769的寄存器進(jìn)行編程。系統(tǒng)也可以在沒(méi)有SPI控制的情況下工作在八種硬件模式的任意一 種。
芯片內(nèi)的電路對(duì)有源天線進(jìn)行偏置,關(guān)斷模式下將天線關(guān)閉,滿足USB規(guī)范。MAX2769能夠檢測(cè)到天線電源是否有電流消耗,并自動(dòng)切換LNA1和 LNA2,對(duì)于能夠插入靈敏度更高的有源天線替代無(wú)源天線的應(yīng)用,這是一個(gè)非常理想的功能。設(shè)計(jì)人員只需要把外部天線端口連接到LNA2,把內(nèi)部端口連接 到LNA1。
插入外部天線時(shí),MAX2769將檢測(cè)到吸電流,可自動(dòng)由LNA1切換到LNA2。
MAX2769為膝上型電腦、手機(jī)、PDA和汽車應(yīng)用提供了一個(gè)高性能、緊湊的解決方案。利用已經(jīng)商用化的GPS軟件包,115dB的總電壓增益和1.4dB的模塊噪聲系數(shù)能夠達(dá)到-143dBm 的捕獲靈敏度和-154dBm的跟蹤靈敏度。
圖5. (a)軟件GPS接收機(jī)中,需要對(duì)捕獲的RF信號(hào)進(jìn)行放大、變頻、數(shù)字化。(b)實(shí)際接收機(jī)中,低噪聲放大器對(duì)RF信號(hào)進(jìn)行放大,MAX2769對(duì)放大后的信號(hào)進(jìn)行變頻和數(shù)字化處理。然后,通過(guò)計(jì)數(shù)器和USB接口控制器將數(shù)據(jù)按照USB協(xié)議傳輸給PC主機(jī)。
結(jié)論
軟件技術(shù)可實(shí)現(xiàn)簡(jiǎn)單的、低成本GPS應(yīng)用。為支持這些可能性,MAX2769為軟件GPS接收機(jī)和傳統(tǒng)的硬件實(shí)現(xiàn)方法提供靈活的頻率規(guī)劃。當(dāng)然,每 種方案都有正反面—軟件GPS接收機(jī)需要高性能的處理器和適量的內(nèi)存。然而,隨著軟件的發(fā)展,對(duì)時(shí)鐘、數(shù)據(jù)更新速率進(jìn)行合理的選擇,需要的內(nèi)存可以最小 化。
評(píng)論
查看更多