應士君,王坤,劉衛,鄒緒平
(上海海事大學商船學院,上海 201306)
北斗衛星導航系統(Compass Navigation Satellite System,CNSS)是我國正在實施、具有自主知識產權的衛星導航定位系統.該系統由空間段、地面段和各類北斗用戶組成,集導航、定位、授時功能于一體;分3個階段進行建設,分別為北斗一代(區域有源雙星定位,已完成)、北斗二代(區域無源定位,建設中,記為BD-2)、全球覆蓋階段.截至目前共有11顆BD-2衛星在軌,具有覆蓋中國及周邊地區,24 h全天候服務,高強度加密設計,安全、可靠、穩定等特點.隨著遠洋、內河航運產業發展和船舶通信導航及各類電子控制設備的日益完善,實現對船舶的全方位定位導航,及時掌握船舶在航行中的實際情況,快速了解船舶的動態數據,成為提升船舶管理水平的新標志.[1]因此,基于 BD-2的船載定位終端設計,對確保船舶的航行安全具有重要意義.
在北斗衛星導航系統的發展前景下,國內主要由神州天鴻、北斗星通、東方聯星、華力創通等公司從事北斗接收機研發設計,在船舶監控[1]和海洋漁業[2]上均有應用.然而,此類應用主要建立在北斗一代船載接收機的基礎上,市面上現存的BD-2接收機主要是少量的測試機、手持機,而成品民用船載機尚在研發階段.
鑒于此,本文設計基于BD-2的船載定位終端,主要有硬件平臺搭建、定位解算算法、軟件架構設計等幾個方面,通過測試實驗驗證該方法的可行性.
該設計中基于ARM和Windows CE 6.0(WINCE 6.0)的BD-2船載定位終端硬件平臺采用模塊化設計方法,所有部件盡量采用成熟電子元器件.該系統硬件主要由BD-2導航模塊、時鐘模塊、電源管理模塊、數據通信接口和PVT(ARM)解算模塊等組成.[3]系統硬件結構見圖1.

圖1 系統硬件結構
BD-2導航模塊主要由射頻模塊、A/D采樣模塊、基帶信號處理模塊組成.射頻模塊分為2個通道,其中一個通道專門將B3頻點射頻信號變頻為中頻信號,而另一通道則通過切換方式將B1或者L1頻點射頻信號變頻為中頻信號.雙通道A/D將模擬中頻信號數字化并作為基帶信號處理模塊信號輸入,同時射頻模塊輸出62 MHz參考信號,本地時鐘信號作為ADC的轉換時鐘,并且輸入至基帶信號處理模塊作為信號跟蹤基準時鐘.基帶信號處理模塊完成信號的捕獲、跟蹤、解調,輸出原始觀測量.PVT(ARM)解算模塊主要由極低功耗的ARM9處理器 S3C2440,SDRAM,NAND Flash等硬件構成.PVT(ARM)解算模塊完成對基帶信號處理模塊的控制,并將基帶信號處理模塊得到的觀測量提取出來加以解算,得到解算結果,同時對整個系統的運行進行處理.數據通信接口部分設計CAN總線接口、RS-485接口等,便于與雷達、ECDIS和 AIS等設備互聯,實現綜合導航.
硬件電路BD-2導航模塊設計中,基帶信號處理模塊主要采用的是北京華力創通科技有限公司的HwaNavchip-1北斗GPS多頻精密導航基帶芯片.該芯片可同時接收BD-2的B3和B1頻點信號(本文主要是利用B1頻點進行導航定位解算),輸出原始觀測量;具有16 bit的并行數據總線接口,32 bit的ARM微處理器S3C2440通過該接口可對HwaNavchip-1進行配置,得到導航電文、集成電路工作狀態等信息.通過ARM開發工具ADS(ARM Developer Suit)對ARM進行調試,使其解算用戶位置、速度、時間等信息.該設計中采用基于偽距定位的最小二乘算法[4-5],定位解算算法流程見圖 2.

圖2 定位解算算法流程
該算法通過偽距計算用戶的位置:第1步初始化用戶位置作為地球中心;第2步計算用戶到衛星的距離及其信號傳輸時間;第3步根據地球自轉效應修正衛星位置,并將衛星位置更新為以用戶為中心的坐標系;第4步根據相關參數進行修正;第5步進行迭代運算;最后計算DOP,并將ECEF坐標系轉化為CGCS2000坐標系,保存結果.
WINCE 6.0是模塊化、可延展、實時性能好、通信功能強大、支持多種CPU的嵌入式操作系統,與Windows系列有較好的兼容性,支持WIN 32 API,便于快速開發產品,具有多線程、多任務等特點.[6]因此,該設計選用WINCE 6.0嵌入式操作系統.設計中軟件架構主要包括WINCE 6.0系統的定制、移植和定位應用程序的開發.
建立基本WINCE 6.0系統平臺的一般過程是:設置系統平臺;建立操作系統鏡像;將平臺傳輸到目標設備;調試系統平臺.通過Platform Builder應用程序可以方便地設置平臺,建立操作系統鏡像.定制WINCE 6.0的一般步驟見圖3.

圖3 定制操作系統的過程
在進行WINCE 6.0定位應用程序設計開發時,開發語言采用的是Visual Studio 2008.開發的應用程序首先在模擬器中進行調試,調試成功之后下載到硬件設備中.實驗時給出BD-2衛星的串口輸出協議,設計定位導航顯示界面程序[7],目的是查看船舶當前定位信息.
按照船用接收機軟件需求分析,主要功能模塊見圖4.定位功能用于顯示當前船舶的位置及時間信息;導航功能為船舶當前的航線進行導航及設定航跡偏差報警;報警功能對不合法操作及遇險報警.

圖4 功能模塊
通過對BD-2串口輸出協議的理解,可以更好地提取導航定位信息:$BDGGA,$BDRMC[8]等.以$BDRMC語句為例分析串口輸出協議:

協議中:<1>為定位時間(UTC),hhmmss格式;<2>為定位狀態,A表示有效,V表示無效;<3>為緯度,ddmm.mmm格式;<4>為緯度方向,N或S;<5>為經度,ddmmm.mmmm格式;<6>為經度方向,E或 W;<7>為速度;<8>為速度方向;<9>為當前UTC日期,ddmmyy格式;<10>為磁偏角;<11>為磁偏角方向;<12>為定位狀態,A表示有效,V表示無效;<13>為校驗和.
通過天線采樣獲得真實的導航定位信息,采樣時間為2012年3月14日.以下測試結果只是初步設計要求,目的在于論證方案的可行性.下一步將按照船載定位導航需求,進行相應的應用開發,滿足船舶日常航行需求.測試和導航界面見圖5.

圖5 測試實驗界面
本次測試時間段為2012年3月15日至2012年3月16日,共24 h,采樣時間間隔為1 s;地點為上海地區;BD-2和GPS星座使用當天廣播星歷計算衛星位置;用MATLAB軟件對接收到的數據進行分析處理.可見衛星數(Visible Satellite Number,VSN)見圖6.

圖6 可見衛星數
水平精度因子(Horizontal Dilution of Precision,HDOP)描述的是衛星幾何形態對平面定位的影響.[9-10]HDOP 分布見圖 7.

圖7 HDOP分布
由圖6和7歸納出的信息見表1.
主要論證基于BD-2的船載定位終端設計的可行性和可靠性,在系統應用擴展方面未給出具體方案.綜上得到:

表1 BD-2與GPS的VSN和HDOP值對照
(1)在ARM和WINCE 6.0基礎上設計基于BD-2的船載定位終端的思路可行、方法正確,可推動北斗衛星導航系統在海洋領域的應用,促進海洋經濟的發展.
(2)受BD-2衛星在軌數目的客觀限制,目前其VSN低于GPS.盡管VSN少,但可以保證我國及少數周邊地區的定位導航.
(3)當前階段BD-2船載定位終端的HDOP保持在1.5~5.4之間,與GPS的HDOP值0.7~2.6相比較大,這是由當前階段5顆 GEO衛星、4顆MEO衛星及3顆IGSO衛星的幾何構型所決定的.根據誤差(1σ)=1×RMS值 ×DOP值[8],此時 RMS值為2 m(統計值),則誤差(1σ)的范圍在3.0~10.8 m.
(4)本設計在電子器件選擇、定位算法、導航軟件界面豐富和軟件擴展方面仍有不足之處,有待進一步提高.
[1]李晶,劉建,盧紅洋.基于北斗衛星導航系統的船舶監控中心的設計與實現[J].數字通信世界,2011(S1):68-71.
[2]胡剛,馬昕,范秋燕.北斗衛星系統在海洋漁業上的應用[J].漁業現代化,2010,37(1):60-62.
[3]應士君,鄒緒平,劉衛,等.基于北斗二代系統的船用導航儀硬件設計及關鍵算法研究[J].科學技術與工程,2012,12(9):223.
[4]彭叢林.北斗導航系統定位算法仿真研究[D].成都:西南交通大學,2009.
[5]武英潔.船用北斗/GPS聯合導航終端的研究[D].大連:大連海事大學,2010.
[6]華清遠見嵌入式培訓中心.Windows CE嵌入式開發標準教程[M].北京:人民郵電出版社,2010:5-8.
[7]汪兵.Windows CE嵌入式高級編程及其實例詳解[M].北京:中國水利水電出版社,2008:360-377.
[8]王艷軍,王曉峰.AIS和北斗終端組合在船舶動態監控中的應用[J].上海海事大學學報,2011,32(4):17-21.
[9]讓-馬利 佐格.GPS衛星導航基礎[M].北京:航空工業出版社,2011:80-81.
[10]楊元喜,李金龍,徐君毅,等.中國北斗衛星導航系統對全球PNT用戶的貢獻[J].科學通報,2011,56(21):1734-1740.