基于北斗二代系统的船载定位终端
2012-05-09应士君王坤刘卫邹绪平
应士君,王坤,刘卫,邹绪平
(上海海事大学商船学院,上海 201306)
0 引言
北斗卫星导航系统(Compass Navigation Satellite System,CNSS)是我国正在实施、具有自主知识产权的卫星导航定位系统.该系统由空间段、地面段和各类北斗用户组成,集导航、定位、授时功能于一体;分3个阶段进行建设,分别为北斗一代(区域有源双星定位,已完成)、北斗二代(区域无源定位,建设中,记为BD-2)、全球覆盖阶段.截至目前共有11颗BD-2卫星在轨,具有覆盖中国及周边地区,24 h全天候服务,高强度加密设计,安全、可靠、稳定等特点.随着远洋、内河航运产业发展和船舶通信导航及各类电子控制设备的日益完善,实现对船舶的全方位定位导航,及时掌握船舶在航行中的实际情况,快速了解船舶的动态数据,成为提升船舶管理水平的新标志.[1]因此,基于 BD-2的船载定位终端设计,对确保船舶的航行安全具有重要意义.
在北斗卫星导航系统的发展前景下,国内主要由神州天鸿、北斗星通、东方联星、华力创通等公司从事北斗接收机研发设计,在船舶监控[1]和海洋渔业[2]上均有应用.然而,此类应用主要建立在北斗一代船载接收机的基础上,市面上现存的BD-2接收机主要是少量的测试机、手持机,而成品民用船载机尚在研发阶段.
鉴于此,本文设计基于BD-2的船载定位终端,主要有硬件平台搭建、定位解算算法、软件架构设计等几个方面,通过测试实验验证该方法的可行性.
1 硬件平台搭建
该设计中基于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等设备互联,实现综合导航.
2 定位解算算法流程
硬件电路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坐标系,保存结果.
3 软件开发平台
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.定位功能用于显示当前船舶的位置及时间信息;导航功能为船舶当前的航线进行导航及设定航迹偏差报警;报警功能对不合法操作及遇险报警.
图4 功能模块
5 测试实验及分析
5.1 串口输出协议分析
通过对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>为校验和.
5.2 部分测试实验界面
通过天线采样获得真实的导航定位信息,采样时间为2012年3月14日.以下测试结果只是初步设计要求,目的在于论证方案的可行性.下一步将按照船载定位导航需求,进行相应的应用开发,满足船舶日常航行需求.测试和导航界面见图5.
图5 测试实验界面
5.3 VSN和HDDP
本次测试时间段为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.
6 结束语
主要论证基于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.