Software GPS 的原理與應用

本文作者:admin       點擊: 2006-03-07 00:00
前言:
前言
全球衛星定位系統發展至今己有二十餘年的歷史,其應用主要都是基於一個完整的單機(stand alone)系統方案,主要架構不外乎天線、射頻前端、基頻處理器、中央處理單元、記憶體單元、石英振盪器等。所設計出的產品多為航空用、船用、及車用的導航設備,由於尺寸、功耗、成本及接收靈敏度等的種種考量而難以與其他個人消費性產品相結合,如個人行動電話。本文將介紹最新的技術架構,僅使用射頻前端晶片,及相應的軟體而能與行動裝置相結合的軟體衛星定位方案。

全球衛星定位系統概況與介紹 
全球定位系統(Global Positioning System)是一套由美國國防部(Air Force)建構的
衛星定位系統,其基本原理乃是利用繞著地球的24 顆衛星所發射的信號,再加以幾何上的計算,來得到接收者的笛卡爾座標(Cartesian Coordinate),另一個與此相當的系統是由前蘇聯所建構的定位系統(Global Navigation Satellite System,
GLONASS),基本上,此系統也是由24顆衛星所組成,這24 顆衛星分別分佈在3個軌道面,每一個軌道面又分別由8顆衛星以相差45 度(Latitude)均勻分佈,此軌道面的高度約為19100Km,衛星運行一周需費11小時又15分鐘,因為本文主要是介紹美國所建構的定位系統(Navstar GPS),所以有關GLONASS 的部份就不多敘述。 

GPS的三部份
簡單地說,全球定位系統是一個以空間為基準,利用無線電波與時間差來測量
距離的一個系統,它能夠提供精準的位置資料、速度、以及時間。整個系統可以被區分為三大部分,我們稱的為Space Segment、Control Segment和User Segment。

* Space Segment
第一個 Space Segment,主要就是由24顆衛星運行於半同步軌道,所謂半同步軌道指的就是衛星運行一周需費大約12小時(11小時又58分鐘)所以在一天的中,同一顆衛星剛好出現在一個固定不動的使用者的頭頂上兩次(23小時又56分鐘),這24顆衛星以每個軌道4 顆衛星均勻的分佈在6個軌道面上,每個軌道面都與赤道相差55度的傾斜角,而這些衛星所在的軌道高度平均約為20200Km,圖1為衛星軌道分佈圖。 

這24 顆衛星所發射出來的測距信號有兩個頻道(D-Band ),其一稱為L1,發射頻率為1575.42MHz。其二為L2,發射頻率為 1227.6MHz。這兩個為載波頻率負責將展頻信號以高頻載波來傳送,GPS所使用的是展頻通訊(Spread-Spectrum)技術。展頻所調變的測距碼(ranging codes)又可分成兩種,一為1.023MHz 的C/A碼(coarse/acquisition codes),顧名思義,依據這個碼所得到的精確度較為粗略,而且C/A碼也只用L1來調變,專門開放給一般商業用途的使用者。

另外一個測距碼是10.23MHz 的P碼(Precision Codes),這個碼同時調變在L1及L2載波上,由於 P碼的Chip 較短,因此能夠得到較精準的定位。基本上,這兩種測距碼都能夠被用來量測衛星與接收者的間的距離,然而通常P code還會被加密而且也只開放給被授權的使用者,所以P Code通常也只應用在軍事用途的定位系統上。

也因為有這樣不同的兩組碼,全球定位系統又被區分成所謂標準定位服務(Standard Positioning Service,SPS),以及精確定位服務(Precise Positioning Service,PPS),其中標準定位服務就是只使用C/A碼在L1 載波上,而精確定位服務除了使用C/A碼在L1載波上,也再加上P code於L1 和L2兩個載波。除了這些測距的碼外,最後也是最重要的就是一個50Hz的資料信息碼。這個碼載有的資料包括了衛星時序資料、衛星精確軌道資料(ephemeris),此資料只含有發射訊號的衛星本身的軌道資料、衛星基本軌道資料(almanac data),此資料含有所有衛星的基本軌道資料及信號傳播於電離層的修正資料。 

* Control Segment
Control Segment,這主要是由各個位在不同地點的地面控制站台所組成。其主控制站台(Master Control Station,MCS)位於美國科羅拉多州,其餘幾個站台則均勻沿著赤道分佈。這些地面控制站的主要任務就是監測及控管這些在太空中運行的衛星,其功能包括有衛星軌道控管、衛星軌道資料更新、衛星本體的維護等。這個系統的運作流程是由各個子站台分別接收它們所鎖定的衛星的軌道資料,然後透過美國的防衛衛星通訊系統將資料傳送到主控制站台進行軌道資料的估計及再預測,然後再將新的軌道資料地面天線站上載至各個衛星。

* User Segment
最後一個部分User Segment,才是跟一般使用大眾有密切關係。所謂User Segment,其實指的就是GPS接收器,也就是本文要探討的主角,其功能不外乎就是射頻接收、解碼以及處理衛星的軌道資料,進而計算出接收器的位置。

GPS的傳統架構 
一般商業用的GPS晶片組大體都是由天線、低噪音放大器、前端濾波器、射頻IC,石英振盪器,記憶體晶片與基頻IC(內含中央處理單元)所組成。如圖2。射頻IC的主要功能是將GPS的1.57542GHz載波降頻至基頻 其主要是由低雜訊放大器、混波器、自動增益控制、鎖相迴路以及類比/數位轉換器所組成。一般這樣的晶片設計都會採用Bi-CMOS的製程 以兼顧Bipolar快速、高增益、高驅動力、低寬頻雜訊和CMOS的低功耗、高密度等好處。

絕大多數的基頻信號處理IC都是由CMOS製成,一般的基頻信號處理晶片除了具備有de-spread的correlators外,也都還包含有中央處理單元,以處理tracking及navigation的演算法而實現衛星信號追蹤及幾何定位的計算。中央處理單元也負責與記憶體晶片的位址/資料運算及與外部I/O埠如UART。
 
這樣的傳統架構存在著一些瓶頸而無法應用在如行動電話等的消費性電子產品上。第一個也是最關鍵的問題就是接收靈敏度的問題。一般的消費者在使用GPS時,多數會處在市區內,甚至在建築物內,這樣的環境絕對是GPS的天敵,因為在這樣的環境下,衛星傳送下來的訊號不僅會被衰減,多重反射(multi-path),甚至完全收不到任何訊號(indoor)。為了改善接收靈敏度的問題,各家廠商無不在RF IC及追蹤導航演算法上力求精進。甚至更有廠商與行動通訊網路(如GSM/GPRS或WiFi Hot Spot)相結合,提供輔助導航的功能,使得即使GPS接收器在室內,仍然可以得到定位。 

第二個瓶頸是消耗功率過大,在手持式的電子產品,省電一直是一個最重要的
課題。目前在市場上各家IC的功率消耗分別從150mW到200mW不等。除了基本的耗電需要再繼續降低外,有效的電源管理設計也成了重要的設計的一。尤其是傳統架構需要用上一顆CPU使得功耗問題一直無法改善。而且晶片設計也會降低電壓至1.8V以降低功耗。 

第三個障礙是GPS接收器的尺寸大小,一般的GPS接收器設計,大體包含有
射頻晶片,GPS ASIC處理器晶片,CPU和記憶體。再加上週邊其他電路後,其尺寸約略比一般的名片稍小。然而這樣的尺寸完全不能符合手持式電子產品的需求。最後一個就是cost issue,凡是要同消費大眾普及化的產品,在價格上一定要有競爭力。而傳統方案整個BOM成本則至少要15美元以上。

Software GPS的原理 
所謂Software base全球衛星定位方案,簡單地說就是將軟體移植到主機(host base)上去執行,以分享中央處理單元(CPU),記憶體晶片等,以進而達到,省電,低成本,低功耗及small board level size的需求。其架構可由圖3表示 

這樣的方案只需要外部一個射頻晶片,其他都是利用主機(host base)的固有資源。前端射頻晶片將射頻信號降到基頻,再經由類比/數位轉換器將信號快速取樣出來,一般是由SPI(serial port interface)或SD Interface 接到主機上的中央處理單元。接著由移植到host processor 的量測演算單元(Measurement Engine)將射頻取樣信號轉換出原始的GPS 各種量測資訊(raw GPS measurements),再由導航演算單元(Navigation Engine)計算出所有的定位資料、速度、時間等。在硬體部分,一般的冷開機模式下大略需要share 掉主機上的中央處理單元約50MIPS到400MIPS不等,不同廠家的方案會有不同的系統需求。

software GPS的應用 
本節將以一RF Micro Devices的RF8110為設計實例來說明softGPS 的技術應用。由前節所述的原理可知,softGPS需要將其運算軟體移植到Host端的應用處理器上。其硬體的架構,如圖4所示 

所以我們再選用INTEL XScale的PXA-27X為Host的應用處理器,並以Single SPI(Serial Port Interface) mode來加以說明。其介面的明確接線如下 

在此應用例,這個介面使用4-wire SPI slave port來傳送控制信號及GPS data stream。其中MISO(Master In Salve Out)及MOSI (Master Out Slave In)分別做為單向GPS 串列資料傳輸用。而SPI RDY 則告訴Host 其GPS data stream己available,然後Host就要下read命令。

在軟體移植上,則由圖6做個說明。

RF8110提供可移植性高的ANSI C sGPS library負責從GPS取樣信號中計算出位置、速度及時間。sGPS Library與系統軟體的介面為SAL(System Abstraction Layer)。Host端並可以在其上開發導航應用軟體。可以只是簡單的NMEA輸出,或是到複雜的地圖導航.。

Aiding GPS 
輔助式全球衛星定位系統的好處主要有兩方面,一是提供更便捷,快速的TTFF性能,二是在衛星信號強度極弱的狀況下,持續提供定位導航。如前文所述,一個幾何定位的計算主要是由偽距(pseudorange,一個純量的距離),和各個衛星方位,航向(方向)組合成向量所運算得出。偽距的求得是依據接收端與衛星間識別碼的時間差而得到。而衛星的方位航向,是由衛星所送出的Ephemeris及Almanac得到。當衛星信號強度衰減到-155~160dBm的大小時,衛星所送出的Ephemeris及Almanac資料已無法被正確的解調出來。這時就可以使用輔助式的定位機制。一般而言,輔助資料有1.Time Aiding,可以輔助識別碼的辨認,增加偽距的準確度。2.Ephemeris/Almanac Aiding,在弱信號狀況下由其他系統(行動通訊系統或Internet,etc)提供資料。

圖7所示是一個利用行動通訊系統做為媒介來提供time aiding及Ephemeris/Almanac aiding data的示意圖,此種架構必須與基地台,即行動通訊系統的服務供應商進行緊密的配合。而圖8所示則是另外一種架構。由GPS 供應商設置Server,然後透過Internet,使用HTTP protocol做為媒介來提供aiding data,這種方式的好處是不必直接跟行動通訊系統的營運商做深度的技術整合,而可以由任一個LBS(Location Base Service)服務廠商透過GPRS來提供aiding data及service。

結論 
本文主要闡述了softGPS如何克服傳統方案-standalone GPS,應用在手持行動裝置上的瓶頸,並說明softGPS的原理及其應用。在講究尺寸,功耗及性能的行動裝置上,softGPS以僅僅單一射頻晶片及可移植性高的運行軟體來搭配上host 端的應用處理器,可以容易地達到在尺寸、功耗及性能上的各項要求,使得衛星定位系統內建在Smart Phone,PDA更為普遍。目前市場上絕大部份的Smart Phone及PDA其應用處理器都有足夠的horse power來處理softGPS的運行軟體。再加上輔助式定位系統aiding GPS,將使得GPS的應用更為方便及實用。一旦GPS的導航功能搭配上適當的電子地圖與規劃完善的導航軟體,則未來GPS將會成為人人必備的生活必需品。

電子郵件:look@compotechasia.com

聯繫電話:886-2-27201789       分機請撥:11