定位技術已成為谷歌(Google)、諾基亞(Nokia)、蘋果(Apple)、微軟(Microsoft)和高通(Qualcomm)這些公司未來產品的關鍵技術之一,因此而催生更多新的服務,也進一步帶動GPS產業的成長。據英國市場研究機構IMS的報告指出,2009年GPS晶片出貨的成長是合理而非跳躍的一年。該機構預測2008~2013年GPS晶片的年複合成長率(CAGR)為21.2%。
GPS產業目前面臨不少技術上的挑戰,能否妥善解決這些挑戰,將攸關GPS晶片的年出貨量能否順利跨越五億顆天險。其中幾項重要的挑戰包含如何增強在弱訊號區的定位精準度、降低功率消耗和降低在遠距開機(Far Start)時的首次定位時間(Time-to-First Fix, TTFF)等。本文將為讀者介紹如何利用手機的輔助資訊改善在遠距開機時的首次定位時間。所謂的輔助訊息並不是來自3GPP控制面或SUPL 1.0相關的輔助訊息,而是泛指利用行動通訊系統或是其他廣播系統,如TMC-RDS、DVB-T和DVB-H網路所提供的地理資訊,來協助GPS接收機在遠距開機的情況之下可以大幅的縮短首次定位的時間。
實際應用環境狀況多 GPS接收機設計考量千頭萬緒
GPS接收機所處的操作狀態會受到系統中非揮發性記憶體(NVRAM)所存放的星曆(Almanac)、星曆表(Ephemeris)以及使用者的位置變化和時間等因素影響。一般說來,GPS的操作狀態可區分為冷開機(Cold Start)、暖開機(Warm Start)、遠距開機(Far Start)、熱開機(Hot Start)和重新擷取(Requisition)五種。有些人依照NVRAM是否存放星曆把冷開機再細分為冷開機和極冷開機(Frozen Start),後者特指NVRAM內沒有存放任何星曆和星曆表的狀態。極冷開機通常只會發生在第一次使用GPS接收機時,有些GPS接收機在出廠時會預先將最新的星曆燒入NVRAM,以避免GPS接收機進入極冷開機的狀態。
在日常生活中絕大多數應用都是暖開機狀態。以現在的高感度GPS接收機而言,不管是冷開機或是暖開機,多可在180秒之內完成定位,至於實際上需要多少時間完成TTFF,則與當時接收機所處的環境有關。雖然GPS接收機理論上只需在空曠處連續接收訊號達12.5分鐘即可下載完整星曆,但在第一次使用時,最好還是能在空曠地方連續接收GPS衛星訊號25分鐘以上。圖1所示為GPS接收機操作狀態的樹狀圖。
|
圖1 GPS接收機操作狀態的樹狀圖 |
在暖開機時,接收機內已經儲存有效的星曆和最後的位置資訊,但是存放在NVRAM內的星曆表已經失效。GPS接收機利用內建演算法可輕易地計算出可視的衛星有哪些,以及這些衛星概略的都卜勒頻率。特別注意的是,暖開機必須滿足下列三個充要條件:接收機的位置距離最後一次定位的位置距離不能太遠、星曆的資料必須有效和GPS接收機時間資訊必須有效。
善用輔助資訊有助克服遠端開機挑戰
當最後一次定位的位置距離下一次定位的位置超過一定距離時,接收機的狀態會從暖開機進入遠距開機。在所有的GPS操作狀態中,對GPS接收機設計最大的挑戰就是遠距開機。當接收機所處的位置和最後一次定位的位置距離超過一定範圍,就可稱之為遠距開機狀態。至於超過多少距離才定義為遠距開機,目前並沒有嚴格的規範。筆者的個人意見認為,只要距離超過400公里就可以歸類為遠距開機。當兩地距離越遠,遠距開機所造成的負面效應就越大,跨洲之間的遠距開機被視為是對GPS接收機最大的挑戰,例如台北至洛杉磯或倫敦至台北。
在遠距開機時,GPS接收機NVRAM內的最後定位資訊會變成不可靠甚至錯誤的資訊。以搭飛機為例,因為使用者在飛機上必須關閉所有射頻子系統,因此當使用者到達數百公里外的目的地後重新開機,接收機利用關機前最後一次定位的位置和有效星曆所計算出來的可視衛星結果,和目的地當地上空的實際狀況一定會出現差距,且隨著距離越遠差異越大,最終導致負水平(Negative Horizon)現象產生。
所謂的負水平是指利用演算法所計算出來的星座圖當中,有某幾顆衛星實際上不存在於當時的天空中,而是落在地平線的下方,因此GPS接收機永遠無法在二維搜尋空間中找到這些衛星。如果GPS接收機內的演算法沒有處理妥當的話,會導致GPS接收機內的頻道一直的去追尋那些不存在的衛星,而導致須要花很多時間才能完成定位。負水平現象可利用圖2和圖3來解釋。圖2為UTC時間2006年9月1日8點台北上空GPS衛星的星座圖,圖3所示為同一時間倫敦上空所看見的GPS衛星星座圖。
|
圖2 UTC時間2006年9月1日8點台北上空GPS衛星的星座圖 |
|
圖3 UTC時間2006年9月1日8點倫敦上空GPS衛星的星座圖 |
比較這兩張星座圖的差異,可發現在同一時間點上,台北和倫敦上空的星座圖只有SVID13同時出現在兩地的上空。在這種情況下遠距開機的效應將會相當明顯。
要解決遠距開機有兩種可能的方法,分別是硬體法和輔助法。所謂的硬體法就是在接收機內建二十四個搜尋頻道,以同時搜尋天上的二十四顆GPS衛星,此時便不需任何輔助資訊和星曆來預測可視的衛星有哪些。利用硬體法來同步的搜尋天空上所有可能的衛星可確保每一次開機都不會落入遠距開機狀態,是最徹底的解決方案。但在實際應用上,由於硬體法會付出較大的晶片成本和功率消耗,且未來多模的全球導航衛星系統接收機所要面對的衛星數目會比起現有的二十四顆多二、三倍,因此純粹使用硬體多重頻道的想法是不切實際的。此外硬體法無法預測每顆衛星大約的都卜勒頻率,因此必須搜尋整個頻域,最終造成TTFF增加。
相較之下,利用一些行動網路的輔助資訊來改善遠距開機定位時間的作法顯得實際許多。輔助法依其傳輸媒介可以區分為行動網路傳遞、異質網路傳遞或自我輔助(Self-assisted)三種方式。
若手機要利用行動網路來獲得輔助資訊,可以透過控制面(Control Plane)或用戶面(User Plane)來達成。控制面的輔助法目前還不是很普及,比較常用的是透過用戶面來傳送輔助資訊例如開放式行動聯盟(Open Mobile Alliance, OMA)的用戶面定位技術方案(SUPL)。在2009下半年後,支援SUPL 1.1規範的GPS接收機將會逐漸普及。在此種方式下的輔助資訊內的衛星星曆表是採用衛星正在廣播的星曆表(Broadcasting Ephemeris)。
若採用異質網路法,輔助資訊將透過其他的網路傳遞,如乙太網路、無線網路。在此種方式下的輔助資訊內的衛星星曆表是衛星的長期軌道預測(Long Term Orbit, LTO)。
自我輔助法則必須仰賴GPS接收機內建的中央處理器(CPU)來運算產生輔助資訊。在此種方式下,輔助資訊內的衛星星曆表是CPU根據最新的衛星廣播星曆表進行預測運算所得的結果,通常接收機若要能自行進行預測,其內建的CPU運算能力至少要達到ARM926以上的等級。
上述三種方法可以有效的降低各種模式之下的TTFF,但是在遠距開機的情況下,手機有可能必須採用國際漫遊的模式,才能透過SUPL或控制面來接收輔助資料,因此可能會產生可觀的漫遊費用;透過乙太網路和無線網路來取得輔助資訊雖然可以解決漫遊費用的問題,但受到環境和普及性的限制,因此這種方法在實際應用上的意義不大;利用自我輔助法可以降低遠距開機的TTFF,但是此技術目前不是非常成熟,仍存在有效期過短和精準度過低的疑慮。
MCC碼搭配種子位置可解決大多數遠距開機問題
由此可知,若要妥善解決遠距開機的問題,工程師必須另闢蹊徑,如高通的gpsOne解決方案便是利用手機去擷取基地台所廣播的輔助資訊,如行動國碼(Mobile Country Code, MCC)和內建在手機NVRAM中的參考位置(又稱為種子位置)來解決遠距開機的挑戰。利用種子位置和有效的星曆便可以計算出當地的可視衛星有哪些,理論上利用這些方法可以有效的縮短遠距開機的定位時間。
在全球行動通訊標準/整體封包無線電服務(GSM/GPRS)行動網路的每一個基地台會以廣播的方式來傳送廣播控制頻道(Broadcasting Control Channel, BCCH),手機可藉由解碼BCCH頻道內的訊息來獲取系統端的資訊。在BCCH頻道的第三類系統資訊(System Information Type 3)中會攜帶該基地台的細胞全球識別碼(Cell Global Identity, CGI),CGI是由4個位元的細胞識別碼(Cell Identity)和地區識別碼(Location Area Identity, LAI)所組成。LAI又是由MCC、行動網路碼(Mobile Network Code, MNC)和地區碼(Location Area Code, LAC)所構成。其中行動國碼是由ITU-T所定義,因此每一支手機都可以藉由解碼MCC來得知手機所聯結的基地台是位在哪一個國家內。圖4所示為CGI的資訊格式。
|
圖4 CGI的資訊格式 |
BCCH是一個公共頻道(Common Channel),因此手機就算沒有插入用戶識別卡(SIM)還是可以解出MCC碼而得知所在國家的資訊。在3G或B3G的行動網路,MCC資訊是由基本公共控制頻道(PCCPCH)所攜帶;在3GPP2中,MCC資訊是由同步頻道(Synchronization Channel, SynCh)傳送。根據ITU-T的規定每一個國家或行政區域都會配置一個MCC碼,少數幾個國家則配置有數個MCC碼,例如美國。圖5所示為利用MCC碼來降低遠距開機TTFF的系統架構。
|
圖5 利用MCC碼來降低遠距開機的系統架構 |
根據高通在美國專利局專利應用文件WO2006/102508所揭露的資訊顯示,其解決方案便是利用此一行動國碼和內建在手機NVRAM內的各個國家的種子位置(經緯度資料),來決定在遠距開機時要用來計算可視衛星和都卜勒頻率估算的種子位置。每一個國家會有其相對應的種子位置,例如台灣的MCC碼為466,其種子位置可以選在南投縣的台灣地理中心碑(座標為E12058’25”, N2358’32”)附近。種子位置的選擇並沒有嚴格的規範,通常是選在該國的地理中心附近。
MCC搭配種子位置並非萬靈丹
對全世界大多數的國家而言,利用手機來解MCC碼來找出手機是位在哪一個國家,之後利用該國的種子位置的經緯度座標和存放在NVRAM內的星曆計算出當時天空中可視的衛星有哪些及其相對應的都卜勒頻率,確實可以有效的縮短遠距開機時的TTFF。但是,這種作法若遇到領土廣袤的國家,如俄羅斯、美國、中國、印尼等,恐怕就派不上用場了。
例如以MCC碼為250的俄羅斯為例,假設某人在靠近日本海的海參威(Vladivostok)利用GPS接收機定位之後,將GPS接收機關閉,此時GPS接收機會將最後一次定位的資訊,亦即海參威附近的經緯度寫入NVRAM中。若該使用者在經過將近數個小時的飛行,抵達同屬於俄羅斯,但卻已經靠近波羅的海的聖彼得堡(St. Petersburg)後將GPS接收機打開,手機固然在幾秒鐘之內就可以解出MCC碼,得知使用者仍是在俄羅斯內,但事實上使用者已經旅行超過10,000公里遠了,此時利用MCC碼加上種子位置的作法還是會有問題產生。
假設手機GPS接收機所使用的演算法規定,在相同的MCC碼下,GPS接收機的量測引擎(ME)不會使用內建的種子位置和星曆來決定天空中可視的衛星有哪些,此時要決定天空中可視的衛星有哪些只能靠最後一筆定位資訊(在海參威)和儲存的星歷來計算聖彼得堡上空可視的衛星有哪些。因為海參威和聖彼得堡之間的距離將近11,000公里,利用海參威的經緯度資訊所解算出來的可視衛星和聖彼得堡上空真實的衛星星座圖一定會存在差距,甚至可能出現負水平現象。在這種情況之下利用MCC碼反而會造成更大的TTFF。
如果演算法規定即使是在相同的MCC碼下,還是要使用種子位置來推算當地天空中可視的衛星有哪些,在這個例子中還是會出現問題,畢竟海參威和聖彼得堡之間的距離太遠了,如果種子位置的選擇不好,還是會產生負水平的現象。在俄羅斯這種幅員廣大的國家,只利用一個種子位置就想涵蓋所有可能的星座圖是不可能的。另一個極端的例子是南美洲的智利(Chile),由於其國土南北狹長的地理環境,因此種子位置的選定也是一件挑戰。
若使用者位於高緯度地區,則GPS接收機設計最佳化還會面臨到更多考驗,GPS衛星的軌道平面和赤道平面間有55度的夾角,以提供北緯40度到南緯40度間最佳的衛星訊號覆蓋。若使用者所處的地點緯度在40度以上,如智利便有一部分的領土是落在南緯40度以上,在這些緯度上面衛星的分布會變得逐漸聚集在一起。錯誤的種子位置將會導致一部分衛星出現負水平效應。
MCC搭配種子位置的設計考量
圖6為利用MCC碼來改善遠距開機首次定位時間的流程圖。首先,設計人員可利用星曆表時間(TOE)和星曆時間(TOA)來判別GPS接收機的狀態,唯有接收機處於暖開機狀態時才去擷取手機端的MCC碼。當接收機收到MCC碼後,利用內建的MCC碼資料庫來得知目前手機所連結的基地台是位在哪一個國家。如比對的結果顯示當前的MCC碼和最後一次定位所存放的MCC碼不同時,表示GPS接收機已經進入遠距開機的狀態。利用該MCC碼搭配內建的各個國家的種子位置就可以獲得該國地理中心的經緯度資訊。利用此經緯度資訊、衛星星曆和RTC時間,系統就可以計算出該位置當時天空中可視的衛星有哪些。如果儲存的星曆還很新的話(一個星期之內),還可以計算出每個衛星約略的都卜勒頻率。
|
圖6 利用MCC碼來改善遠距開機首次定位時間的流程圖 |
在具體的實作過程中,系統可將可視衛星的偽隨機碼(PRN)碼填入ME每個頻道的C/A碼產生器,以產生相對應該衛星的PRN碼。如果還有相對應的都卜勒頻率資訊,在該頻率值告知ME將數值控制振盪器(NCO)的輸出頻率設在該頻率上,以進一步節省在頻域上的搜尋時間。
通常國家的領土越小,利用種子位置所計算出來的可視衛星的資訊和都卜勒頻率的估算就越準確;反之,若國家的領土越大,利用種子位置所計算出來的都卜勒頻率和用戶上空的衛星都卜勒頻率差距則越大,此時的都卜勒頻率會變得不可靠。當國家的領土大到某個臨界值時,利用種子位置所計算出來的可視衛星中的某幾顆衛星可能會產生負水平的效應,這一點也必須納入演算法的考量之中。
若最後一筆定位資訊所用到的MCC碼和本次手機所解碼的MCC碼相同時,表示手機並沒有出國。此時就必須考量到該MCC碼所對應國家的領土大小,對小國家(例如台灣)來說,不管是利用MCC碼所對應的種子位置或最後一筆定位資訊的經緯度資料和儲存的衛星星曆,其所計算出來的可視衛星差距不至於太大,因此ME可以利用最後一筆定位資訊或MCC碼所對應的種子資料來計算出可視衛星有哪些。如果是在大領土的國家,不管是利用MCC碼所對應的種子位置或最後一筆定位資訊來計算可視衛星都會有潛在的負水平風險,在此情況之下只能透過強化GPS接收機本身的衛星搜尋演算法來克服。
雖然每個國家的領土大小、地理位置和領土形狀皆會影響到種子位置的選定與利用MCC碼協助克服遠距開機挑戰所能帶來效益,但衡量其他方法的利弊得失後,利用MCC碼來降低遠距開機仍不失為一個簡單又經濟的方法,仔細選擇種子位置可以進一步的降低遠距開機時的TTFF。
參考資料 |
[1] List of Mobile Country or Geographical Area Codes, complement to ITU-T Recommendation E.212 (11/98).
[2] Rowitch, Douglas N., Row, Chang S., Tien, AnnYun-En, Khushu Sanjeev, Methods and Systems for Deriving Seed Position of A Subscriber Station in Support of Unassisted GPS-Type Position Determination In a Wireless Communication System, PCT/US2006/010588, Qualcomm Incorporation.
[3] Shippee Geoffrey, Method of Removing DC offset for a ZIF-Based GSM Radio Receiver with Digital Frequency Offset Correction, PCT/US2003/033911, Qualcomm Incorporation.
[4] Mohinder S. Grewal, Lawrence R. Weill, Angus P. Andrews, Global Positioning Systems, Inertial Navigation, and Integration 2nd Ed., John Willey & Sons, Inc. |