葛 偉
GPS是全球定位系統(global positioning system),是隨著現代化科學技術的發展而建立的新一代精密度衛星定位系統。GPS全球定位系統具有性能好、精度高、應用廣的特點,是迄今最好的導航定位系統。隨著全球定位系統的不斷改進,硬、軟件的不斷完善,應用領域正在不斷地開拓,越來越多的人開始接觸到GPS。
A-GPS(Assisted GPS)即輔助GPS技術,它可以提高GPS 衛星定位系統的性能。通過移動通信運營基站它可以快速地定位,廣泛用于含有GPS功能的手機上。GPS通過衛星發出的無線電信號來進行定位。當在很差的信號條件下,例如在一座城市,這些信號可能會被許多不規則的建筑物、墻壁或樹木衰減。在這樣的條件下,非A-GPS 導航設備可能無法快速定位,而A-GPS 系統可以通過移動基站信息來進行快速定位。本文主要是介紹A-GPS的定位原理,在具體實現過程以及遇到的相關問題以及解決的方案。
A-GPS,全稱Assisted-GPS,它是一種結合移動網絡基站和GPS進行定位的技術。整個A-GPS的架構,如圖1所示:

圖1 A-GPS的整個網絡圖
A-GPS利用移動基站 SM/GPRS、WCDMA和CDMA2000輔助,完美解決了GPS覆蓋的問題。由于借用移動基站網絡數據,接收器不必再下載和解碼來自 GPS衛星的導航數據,因此可以有更多的時間和處理能力來跟蹤GPS信號,這樣能降低首次定位時間,增加靈敏度以及具有最大的可用性。這就是A-GPS最大的優勢。
A-GPS依賴于GPS而存在,和GPS一樣,都需要在終端接收機內增加GPS芯片接收模塊,并配備相應的GPS天線才能夠正常工作。A-GPS整個定位過程:1.首先終端接收機把本身的位置信息發送給位置服務。2.位置服務器把該位置相關的GPS信息,如GPS定位輔助信息,靈敏度輔助信息,工作狀態信息;移動終端計算的輔助信息,如GPS歷書,修正數據,GPS星歷等。3.終端接收機把位置服務器傳輸的信息,很快的捕捉到衛星,并可以接收GPS原始信號并解調信號。計算接收機到衛星的偽距離,當然這個距離受到各種GPS誤差影響。4.最后通過網絡側計算或者終端側計算最后算出終端的具體位置。
A-GPS的優勢主要在其定位精度上。在室外等空曠地區,其精度在正常的GPS工作環境下,可達0.1米左右,堪稱目前定位精度最高的一種定位技術。A-GPS的另外一個優點是:首次捕獲 GPS信號的時間快。這個我們稱之為TTFF,全稱Time To First Fix。在開發過程的測試數據發現,A-GPS的TTFF基本在1秒到10秒之間。A-GPS之所以會比 GPS更定位,和它的定位方式和網絡結構也是密切相關的。
首先,要介紹的是A-GPS的定位計算方式,一般來說,終端接收機接收到3個顆星就實現2D定位。如果接收到4顆星或者更多就可以3D定位。A-GPS的定位計算方式分3種:
1. MSB方式:定位計算由終端接收機完成。優點網絡負擔比較小,延時短,適合短時間的定位。
2. MBA方式:定位計算由移動基站網絡完成,然后再傳送給終端接收機完成。優點對終端要求比較低,延時比較大,不適合高速行駛中使用。
3. Autonomous 方式: 類似GPS,在這里就不多說了。
A-GPS的網絡結構,這個也是有別于GPS的一個主要特點。主要分為兩種:控制平臺(Control Plane),如圖2所示:

圖2 控制平臺
由移動定位中心(SMLC)與無線基站的無線網絡控制器(RNC)集成,GPS輔助信息通過信令的方式來交互。這種方式是在核心網絡內部傳輸數據,傳輸效率高,安全可靠。實現復雜,成本高。
用戶平臺(User Plane),如圖3所示:

圖3 用戶平臺
利用無線網絡的IP功能,通過IP數據網和SMLC交互輔助信息,通過相應的標準接口(SUPL)傳輸信息。3G/2G兼容,容易實現,成本低。具體的SUPL,請查閱SUPL Manual.
從根本上來分析,由于終端接受本身并不對GSP位置信息進行計算,而是會將相關的 GPS的位置信息數據傳給移動基站網絡,由網絡的定位服務器進行位置計算。在使用A-GPS定位之前,一般需要用戶(終端接收機已經設定好的除外)設定好相對應的定位服務器的 IP,移動基站網絡會按照GPS的參考網絡所產生的輔助數據,如差分校正數據、衛星運行狀態,星歷等傳遞給終端接收機(如:手機),并從數據庫中查出終端接收機的近似位置和小區所在的位置信息傳給終端接收機,這時終端接收機可以很快捕捉到相關的 GPS信號,這樣的首次捕獲時間將大大減小,一般僅需幾秒的時間。不需像 GPS的首次捕獲時間可能要幾分鐘時間。這就是 A-GPS的優勢所在。當然,AGPS也有一定的限制:必須有蜂窩網絡(GRRS/EDGE/CDMA等)的支持用以數據傳輸,對一般用戶而言可能需要為此支付一定的數據流量費用;必須有AGPS位置服務器的支持;與GPS一樣,仍無法完美解決室內(室內無法接收 GPS信號)定位的問題。
本節將會介紹具體實現A-GPS的硬件和軟件架構,以及在實現過程中遇到的一些難點和相對應的解決方案。
在開發之前,3個方面需要開發人員確認,這些是實現A-GPS功能的基礎和前提。
首先,芯片的支持。一定要確保現有的芯片是支持A-GPS功能的,一般會在相關的用戶手冊里找到相關觀的信息,也可以找當地的代理商或者原廠設備商確認。如今,市面上有很多的GPS方案,但是絕大多數的方案都是不支持 A-GPS的。現在比較流行的是 SIRFIII芯片,它是支持A-GPS功能的,而且數據輸出的標準的NMEA0183,所以,市場占有率很高。
其次,A-GPS需要移動網絡的支持,所以,整個方案需要有GMS或者3G的網絡支持。
第三,就是網絡供應商的支持。如果本地的網絡供應商不支持A-GPS服務,那其他的也都付之東流了。當然,中國移動和中國聯動很早就支持A-GPS了。得到一個服務器的IP就可以進行A-GPS開發了。
在系統設計中,首先要確定好硬件的框架和總線連接方式。A-GPS的硬件接口一般分為UART、I2C和SPI3種,最為常見的是UART,如圖4所示:

圖4 UART
這種接口相對比較簡單,調試也很方便。如果選定了硬件接口,然后需要考慮的是電源。一般會用 CPU的 GPIO來作為控制A-GPS的電源開關和電源。
系統設計的另一方面是軟件架構設計,如圖5所示:

圖5 軟件架構
主要有4個方面。A-GPS的驅動模塊,A-GPS數據解析,A-GPS上層應用和網絡通訊模塊。
在驅動模塊,主要負責UART的驅動設定,控制GPIO,已經相關A-GPS的參數設定,比如定位計算方式、移動網絡基站參考服務器 IP、A-GPS精度范圍、參考定位坐標等等。一般把A-GPS的參數定位會以XML文件的形式輸入。當A-GPS設備啟動時,有驅動模塊負責讀取參數,并輸入到A-GPS模塊和網絡基站模塊。
網絡基站通訊模塊,主要是負責和移動基站交互已經和驅動模塊信息交互的任務。由這個模塊負責將A-GPS設備的信息傳輸給移動基站服務器,并從基站服務器下載相關的A-GPS差分校正數據、衛星運行狀態,星歷等輔助數據 ,并傳送給驅動模塊。
數據解析模塊,主要是負責將定位之后A-GPS芯片輸出的NMEA0183定位信息解析成可視化的數據,比如經度、緯度、當前時間、方向、海拔高度、具體定位的衛星編號,以及衛星的信號強度等等。
A-GPS應用模塊,主要是負責在GPS地圖上顯示當前定位的信息,或者更具當前的A-GPS信息來進行導航功能。
在具體開發中,同樣也會遇到各種各樣的問題。最常見的就是無法定位問題,首先,要判斷這個是硬件問題還是軟件設定問題。一般硬件問題,大致會分兩塊。一是天線問題。手持移動設備都比較小,而且對功耗有著極高的要求。所以A-GPS的天線,一般只能選用無源的貼片天線。和強大的有源天線相比,它的接受信號實在比較差,經常阻礙了開發人員的進度。一般可以選擇用一個相對比較大的無源天線,這樣就可以排除天線問題。第二,就是數據接口問題,一般GPS和A-GPS都會用UART作為數據傳輸通道。可以示波器等設備來檢測UART線上的數據是否正確。
如果是軟件問題。通常,開發過程中遇到的軟件問題可以歸納為:Server IP設定錯誤;定位計算方式錯位;精確度設定過高;參考坐標設定誤差太大。下面具體分析一下每一個疑點。Server IP一般在開發中會有一到兩個,首先要確保這些IP都是有效工作的。哪怎么去判斷呢?可以咨詢芯片供應商,也可以在A-GPS芯片輸出的Log信息里可以看到,一般這些log信息開發人員可以設定保存的路徑,通常會以txt的形式保存在SD卡中。如果IP有效的話,會在log里有提示,類似“連接Server成功”之類的信息。否則,就要考慮是不是IP有問題了。第二個問題是定位計算方式,必須要根據當地的網絡來設定,如果只能支持MBA方式的,而誤設定為MSB的話,那就一定不會工作的。第三,精確度過高,這個問題比較難發現。一般開發人員很少會去嘗試修改這個參數來測試定位。如果精確度設定過高,那系統會認為每次精確度低于這個值的,都算定位失敗。所以,在開發初期,建議不設定這個參數,或者精度范圍設點得大些。最后,參考坐標問題。考慮到可以更快更精確地定位,A-GPS廠家都會有這樣一個參數提供給開發人員使用。但是如果你把一個錯誤的坐標輸入進去,那系統就會和當前得到的坐標進行比較,如果相差范圍很大,系統也會認為定位失敗。所以,在設計過程中,不能輕視每一個參數的設定。只有一步一步地去跟蹤,去排除一個個疑點,然后最終找到問題并解決。
在整個 A-GPS實現過程中,最后一個開發環節就是A-GPS測試。很多沒有做過相關開發的人不太清楚,一般網絡上的文章很少提到.A-GPS產品的測試不同于GPS產品的測試,需要當地移動供應商的測試認證。如果想在中國銷售A-GPS,而且是在中國移動的網絡上使用的話,必須把A-GPS終端產品拿到中國移動研究院去按照嚴格的測試規范進行測試。
A-GPS測試環境。AGPS平臺只提供定位能力,不提供用戶、業務管理功能。SP接入、用戶鑒權、業務鑒權均在用戶歸屬地的CELLID平臺進行。AGPS平臺不保存移動基站數據,基站數據均由各省CELLID平臺維護。AGPS平臺需要通過Lr2.0接口來獲取終端所在小區CELLID對應的經緯度。AGPS平臺需要維護LAC與CELLID平臺的對應表具體測試會分:終端發起和網絡發起兩種,這個也就是我剛才提到的SUPL相關的技術。也分漫游和非漫游之分。具體可以參考中國移動的相關測試規范。
隨著科技的不斷進步,國內相關開發人員的水平不斷進步,各種A-GPS的實現方案也將會變得越來越完善和成熟。在不久的將來,A-GPS將會在各種各樣的領域發揮其作用。
[1]利希特內格爾(Lichtenegger)(作者), 瓦斯勒(Wasle)(作者), 程鵬飛 (譯者), 蔡艷輝,全球衛星導航系統(GPS,GLONASS,Galileo及其他系統),[M]北京,測繪出版社; 第1版 (2009年8月1日)
[2]Christopher J.Hegarty,美,Elliott D.Kaplan (編者), 寇艷紅 (譯者)GPS原理與應用(第2版)[M]北京,電子工業出版社; 第1版 (2007年7月1日)
[3]SIRF III A-GPS/GPS Spec
[4]U-Blox GPS Datasheet
[5]位置業務AGPS平臺定位功能測試規范V2.0.0,[R]中國移動通信集團公司研究院
[6]NME0183 Manual National Marine Electronics Association