李小涛,代广树,任鸿翔,邱绍杨
(1.大连海事大学 航海动态仿真和控制交通行业重点实验室,大连 116026;2.天津海运职业学院 航海技术系实训中心,天津 300350)
船用雷达模拟器自被成功研发以来,在船员培训、航海教学、适任评估中发挥着重要作用。回波图像的生成与显示是雷达模拟器核心功能之一,国内外对船用雷达图像仿真研究也比较多。国外学者D’Amato等[1]运用多边形求交的方法生成回波,回波图像良好,但生成效率低;国内学者尹勇等[2]基于Bresenham直线生成算法,生成岸线回波图像;丛琳等[3]改进了岸线回波生成方法,生成了不同潮汐状况下的雷达回波图像;徐景丽[4]采用数字信号处理技术,提高了雷达目标回波绘制速度;全秋燕等[5]利用粒子系统建立了合理的雨雪杂波数学模型,生成的雨雪回波图像较为逼真;李业等[6]利用内存法对位图处理,通过裁剪位图模拟杂波,效果较好。上述船用雷达回波图像的研究均是基于PC平台,而基于移动终端平台的研究鲜有耳闻。
随着移动设备的不断普及与快速发展,移动互联网热潮在全世界各行业引起了巨变。在移动智能终端操作系统领域,Android系统飞速发展,在多媒体、医疗、车载、智能家居等领域均已得到了成功的应用,其市场份额已逾八成。移动时代的到来,给雷达教学培训模式带来了新的方式。相比基于PC平台的船用雷达模拟器,基于移动平台开发的船用雷达仿真APP具有操作简单、成本低、体积小、更加方便航海教育和船员培训等优点。因此,在移动终端设备上开展船用雷达模拟器研究具有一定的应用价值。本文参照JRC-JMA-9100系列雷达界面,针对船用雷达的功能要求,采用功能模块化设计方式,通过研究Android系统的架构,基于 Android Studio版本2.2,设计并实现了一个船用雷达仿真系统APP。
Android 是基于Linux内核的开源移动操作系统,该平台由操作系统、中间件、用户界面和应用软件构成,构建方式使用软件叠层,分离层与层之间联系,充分确保了各层之间的低耦合,使得下层产生变动时,上层的应用程序并不需要发生改变。采用软件叠层的架构,由上到下依次为应用程序层、应用程序框架层、核心类库和Linux内核。底层以Linux内核工作为基础,增加了输入设备驱动、显示驱动等一些内核的驱动程序,提供基本功能;核心类库包括程序库和Android运行时环境,核心库包含着Java语言核心库使用的一系列功能;应用程序框架层提供视图、活动管理器等服务,内含大量的应用程序编程接口(application programming interface,API)供开发人员使用,简化了组件的重用;最上层是各种应用软件,包括通话程序、短信程序等,这些应用软件由开发人员自行开发。
本文以JRC-JMA-9100型号雷达为原型,实现了基于Android平台的雷达回波图像仿真。JRC-JMA-9100雷达界面如图1所示,系统的用户界面在移动终端上的显示如图2所示。系统设计采用功能模块化思想,通过Android布局中的相对布局把各个控件组合起来。左上角用来调节雷达不同量程和不同运动模式的切换,如北向上相对运动、航向向上真运动显示、偏心显示等功能,左下角用来实现增益调节、调谐以及调节同频干扰、海杂波、雨雪杂波的抑制等功能;右上角用来显示光标当前地理位置,调节电子方位线、活动距标圈、平行索引线等信息;中间预留船舶自动识别系统(automatic identification system,AIS)区域方便后期开发,接收船舶静态信息、动态信息等;右下角用来调节目标跟踪、警戒圈设置、视频区亮度调节、昼夜模式切换等功能。
图1 JRC-JMA-9100型号雷达Fig.1 JRC-JMA-9100 radar
图2 用户界面Fig.2 User interface
雷达回波的原始数据,通过数字化仪从海图中获取。Android系统为数据存储和读取提供了Content Provider,SQLite,Shared Preferences,FILE等几种方式[7]。本文使用FILE方式存储雷达数据,为了解析原始数据,需要使用多种坐标系的转换,主要包括以下几点。
1)图版坐标系:显示数字化雷达数据文件;
2)屏幕坐标系:显示移动终端的雷达回波图像;
3)地理坐标系:确定本船、目标船的位置信息;
4)直角坐标系:解算目标船、本船的运动模型。
墨卡托投影实现地理坐标到平面坐标转换以及屏幕坐标到地理坐标的转换关系如图3所示。
图3 坐标变换关系示意图Fig.3 Schematic diagram of coordinate transformation
以经纬度表示的地理坐标,由于纬度间的变换不是线性关系,需要纬度渐长率修正。地理坐标与墨卡托投影平面坐标的变换为[8]
(1)
(2)
(3)
(1)—(3)式中:以φ0为基准纬度,(λ,φ)为地理坐标,单位为弧度;(x,y)为投影平面坐标,单位为m;q为渐长纬度,单位为弧度;r0为基准纬度圈半径,单位为m。a为地球椭球体长半轴,e为第一偏心率。采用克拉索夫斯基椭球时,a=6 378 245 m,e=0.081 813 369 872。若已知某一点的墨卡托投影平面坐标(x,y),欲计算该点的地理坐标(λ,φ),则可由(1)式计算该点的经度和渐长纬度,令φ1=0,则
(4)
反复迭代,设可调精度为ε,当满足(|φn+1-φn|≤ε,n=1,2,3…)时,中止迭代,取
(5)
(4)—(5)式为从投影平面坐标(x,y)到地理坐标(λ,φ)的转换公式。
原始电子海图的岸线数据量很大,直接使用会使回波生成效率较低[9],所以需要对岸线数据进行简化,以提高回波生成效率。线状要素化简法的基本思路是保持线的弯曲特征以及形态复杂性,尽量减少线要素的存储量。Douglas-Peucker[10]提出了一种经典的简化数据点算法,目的是对大量冗余的数据点进行压缩以提取必要的数据点。基本思想是将曲线的首末点虚连成一条直线,设定距离阈值,计算曲线上所有点到连线的距离并找出最大距离值,用最大值与事先给定的阈值比较,若最大值小于阈值,则舍去曲线上所有的中间点;若最大距离大于阈值,则保留最大值对应的点。以该点为界把曲线分为2个部分,对这2段重复使用此方法,直到没有多余的点被舍去为止,最后留下来的点即为所求。该算法突出的优点是选取了反映曲线总体和局部形态的特征点,具有较好的保凹凸性,故能保持原曲线图形的形状特征。具体过程如图4所示。
图4 道格拉斯-普克算法图解Fig.4 Douglas-Peucker algorithm diagram
但由于雷达有不同的量程,数据简化过程中,算法阈值的设定很重要。阈值过小,剔除的点少,回波生成效率低;阈值过大,剔除的点多,生成岸线回波效率高,但图像不逼真。如果采用传统的道格拉斯-普克算法,每当切换雷达量程时,就需要根据不同的量程设定不同的阈值,较为繁琐。本文通过对道格拉斯-普克算法进行改进[11],自适应选取合适的阈值。
算法如下:将曲线的首点P1;尾点Pn虚连一条直线P1Pn;k为直线P1Pn的斜率;s为直线P1Pn的长度,雷达当前量程记为m;dtol为所求阈值。
φ=tan-1(k)
(6)
(7)
∂φmax=max·
(8)
dmax=s∂φmax
(9)
(10)
本文采用圆周扫描算法对物标进行扫描求交[12],生成回波,如图5所示。设点O(x0,y0)为屏幕中心,也是扫描线的起点,F1F2为某岸线中的任一线段,OP为某一瞬间的扫描线,n为扫描中心点O(x0,y0)处的法向量。法向量n与扫描线OP垂直,由OP方程容易算出n的坐标值(nx,ny)。
图5 扫描线与岸线求交算法Fig.5 Intersection algorithm of scan line and coastline
F1F2的参数方程为
(11)
设Ft为F1F2与OP的交点,则有
[nx,ny][(x2-x1)t+x1-x0,
(y2-y1)t+y1-y0]=0
(12)
(13)
当由(13)式求得的t满足0≤t≤1时,该点有效,进行绘制,否则该点无效,跳过绘制。把位于OP上的t代入F1F2参数方程中,可求得交点Ft的坐标。
图6为大连港海域电子海图;图7为在移动终端模拟本船船首向上相对运动模式,6海里扫描范围的岸线回波图像,对比图6和图7,岸线回波模拟效果与海图岸形基本吻合。
图6 大连港海域电子海图Fig.6 Electronic chart near Dalian port
雷达杂波模拟的关键就是建立杂波数学模型,常见的杂波有海杂波、雨雪杂波、机器内部噪声等。当海面形成波浪时,正态分布可以很好模拟海杂波图像,其分布函数为
(14)
对于雨雪杂波,当降水中心位置偏离雨雪分布中心时,使用瑞利分布模拟比较好,其概率密度函数为
f(x)=(x/σ2)exp(-x2/2σ2),x>0
(15)
图7 6海里范围内的图像模拟Fig.7 Image simulation within 6 nautical miles
图8 瑞利分布Fig.8 Rayleigh distribution
当降水中心位置在雨雪分布范围中心时,使用正态分布模拟比较好;当雨雪分布不规则时,可通过正态分布和瑞利分布模型叠加实现杂波的模拟。图8a为瑞利分布概率密度函数曲线;图8b为满足该条件的粒子分布图;图9a为正太分布概率密度函数曲线;图9b为满足该条件的粒子分布图;图10a为瑞利分布、正态分布概率密度函数曲线,图10b为满足该条件的粒子分布图。
图9 正态分布Fig.9 Normal distribution
图10 瑞利分布与正态分布的叠加Fig.10 Superposition of Rayleigh distribution and normal distribution
将雨雪杂波、海杂波中心位置以及分布区域大小,转换为屏幕坐标,设定概率密度函数参数,依据杂波强度大小设定杂波粒子数。杂波图像在平板上的显示如图11,图12所示。
图11 海杂波、雨雪杂波模拟Fig.11 Simulation of sea clutter, rain and snow clutter
图12 噪声模拟Fig.12 Noise simulation
船员通过操作电子方位线、活动距标圈测量目标的距离和方位,设置警戒圈进行目标危险预警,偏心显示可增加瞭望范围,辅助驾驶员安全航行。采用分层显示的方式实现电子方位线、活动距标圈、平行索引线、自动捕获区、偏心显示等雷达刻度系统功能。用户通过手指触摸屏幕,激活相应按钮,即可实现以上功能,如图13、图14所示。
图13 雷达刻度信息显示Fig.13 Display of radar calibration information
本文在移动互联网的时代背景下,通过研究坐标变换、数据处理等知识,实现了基于Android系统的船用雷达回波图像显示功能,仿真效果良好。采用一种改进的道格拉斯-普克算法简化岸线数据,提高了回波绘制效率;采用正态分布、瑞利分布的数学模型比较好地模拟了海杂波、雨雪杂波图像;采用触控形式实现了雷达电子方位线、活动距标圈、平行索引线、警戒圈、偏心显示等功能,取得了良好的人机交互效果。本文开发的基于移动终端的仿真系统给用户带来了全新的触控操作体验,并且凭借其体积小、携带方便、灵活性强、成本低等优势,为雷达模拟器的智能化、便携化注入了新活力。
图14 偏心图像显示Fig.14 Off-center image display