APP下载

基于Java和聚类分析移动端天气雷达管理系统设计

2019-04-04陈钟荣洪滔

现代电子技术 2019年2期
关键词:移动端聚类分析

陈钟荣 洪滔

关键词: 移动端; 天气雷达; Java; 实时管理; 聚类分析; 存储优化

中图分类号: TN919.5?34                        文献标识码: A                      文章编号: 1004?373X(2019)02?0062?05

Design of mobile terminal weather radar management system based

on Java and clustering analysis

CHEN Zhongrong1,2, HONG Tao1,2

(1. Key Laboratory for Aerosol?Cloud?Precipitation of China Meteorological Administration, Nanjing 210044, China;

2. School of Atmospheric Physics, Nanjing University of Information Science & Technology, Nanjing 210044, China)

Abstract: The traditional weather radar management system taking the computer as the terminal has poor flexibility and openness due to the constraints of time and location, simple data storage process, low data recognition degree, and lacks real?time weather information. Therefore, a new thought of mobile terminal weather radar real?time management system is proposed in combination with the Java language and database technology. The disadvantages existing in available radar systems are solved by using the mobile phone terminal and data storage optimization. On the basis of database and Android technologies, the software system is designed by using the MVC mode, so as to realize functions of remote control, product display and fault warning on the mobile terminal. On the basis of strong echo positioning algorithm and Baidu weather API, recognition and positioning of several strong radar data centers are realized, the real?time weather condition of the longitude and latitude is obtained, and the correlation between radar data storage and corresponding weather process is realized, so as to facilitate the subsequent data processing and application. The test results show that the designed system can effectively conduct radar control, product real?time display, fault warning, realize convenience of radar data application and retrieval, and has high flexibility and reliability by locating radar data according to weather conditions.

Keywords: mobile terminal; weather radar; Java; real?time management; clustering analysis; storage optimization

0  引  言

雷达联合自动气象站进行降水估测是气象业务应用的重要方向 [1]。传统的天气雷达管理系统大部分采用计算机作为控制终端,雷达主体和机房分离,在使用过程中受到时间和地点等因素的影响,极大地降低了使用及维修的灵活性和开放性。同时,传统天气雷达在数据存储时比较简单,缺少对数据的分类以及与实时天气信息的结合,会造成存储数据数量繁杂,数据检索杂乱无章,不利于后续的资料处理和应用。随着网络技术的进步和移动设备的发展,对天气雷达系统的便携性、易操作性和可靠性提出了越来越高的要求。因此,本文综合运用数据库和Android开发技术,设计一套移动端天气雷达实时管理系统。

1  系统总体设计 

图1为本文设计的移动端天气雷达实时采集与管理系统的总体框架图,主要分为雷达监测终端、数据库和移动控制终端三个部分。

监测终端通过中频信号采集模块将雷达数据传输到PC端存储到数据库中,并通过控制模块接收用户指令发送驱动信号;数据库基于优化算法合理存储雷达基数据,以便于客户端调用,并实现数据检索功能;移动控制终端是系统与用户交互的平台,包括产品显示、控制和故障预警等功能[2]。

2  系统硬件设计

系统硬件由数据采集模块和控制模块两部分组成。数据采集模块主要用来采集和处理雷达中频信号,由信号调理电路、A/D转换电路、FPGA可编程电路和电源模块等重要部分构成[3]。雷达控制模块由天线控制器、方位/俯仰角驱动装置、方位/俯仰角数据采集装置、电机和旋转变压器等构成。其中,控制器是核心,由其控制天线的各种扫描状态,传送天线的角码数据,完成天线位置和速度的闭环控制。

3  系统软件设计

系统软件设计使用C/S架构,运用MVC的开发形式,包括数据库和移动控制终端两部分。所谓MVC模式,是“模型?视图?控制器”模式的缩写,通过将业务逻辑层、数据层与界面显示层分离的方法来减弱层间关联度,从而获得较高的系统稳定性和良好的可移植性[4]。本系统MVC模式的设计流程如图2所示。

3.1  數据存储优化的实现

雷达数据存储优化的核心在于识别出有强回波的观测数据,并且由强回波距离雷达中心位置推得其经纬度,从而利用百度天气API接口获取该经纬度的实时天气信息,实现雷达数据存储与对应天气过程的关联。

3.1.1  强回波定位算法的实现

本文提出的强回波定位算法基于强度阈值判断和系统聚类分析。首先根据经验设定强度阈值,将高于强度阈值的数据筛选出来作为聚类分析的样本,这样做既有利于提高算法的针对性,也降低了分析的数据量。 然后,利用系统聚类分析方法对样本进行聚类,并实现对强回波的定位,步骤如下。

步骤1:将强度数据映射为一个有n个样品的P元数据矩阵,

[X=x11x12…x1px21x22…x2p????xn1xn2…xnp]         (1)

式中:每一行表示一个样本,即一个数据;每一列表示一个指标,本算法中包括方位角、距离库和强度值3个指标;[xij]表示第i个样本关于第j项指标的值。

步骤2:选择样本间距离的定义及类间距离的定义,每两个样本之间的距离记为[d(xi,xj)],根据计算方法的不同,主要分为欧氏距离、绝对距离、明氏距离、方差加权距离和马氏距离等。类间距离则取决于各自类中样本的选取,以选取的样本距离作为类间距离,根据选取方式的不同,分为最短距离、最长距离、中间距离、重心距离和离差平方和距离等。系统聚类法的聚类原则决定于样本间的距离以及类间距离的定义,不同的选择产生不同的系统聚类分析效果,以复合相关系数来衡量聚类效果,该系数越接近于1,则该聚类越理想。某次个例分析相关指标如表1所示。

复合相关系数越大,聚类分析效果越好,选择样本间距离为欧式距离或明氏距离,类间距离为重心距离,比较合理。

步骤3:选择明氏距离和重心距离,分别如式(2)和式(3)所示。其中,[m]是可变参数,[xp]和[xq]分别是[p],[q]两个类的重心。计算n个样本两两之间的距离,得到距离矩阵[D=(dij)]。构造两个类,每类只含有一个样本。

[d(xi,xj)=k=1Pxik-xjkm1m] (2)

[Dpq=d(xp,xq)=(xp-xq)T(xp-xq)] (3)

步骤4:合并符合类间距离定义要求的两类为一个新类。

步骤5:计算新类与当前各类的距离,重复执行步骤4和步骤5。

步骤6:遍历不同的类数,测试每种聚类数下得到的聚类情况下的类间距离,选择类间距离最大的聚类数。

步骤7:每一个聚类对应一个强回波区域,计算每一个聚类里方位角和距离库指标集合的重心,以此作为这一个强回波的坐标。

步骤8:根据经纬度转换公式和中心的经纬度,由此计算得到每一个强回波区域的经纬度值[5]。

3.1.2  实时天气信息获取

百度提供天气预报查询接口API,可以根据经纬度或城市名查询天气情况,申请使用者密钥之后可以在应用中使用。由强回波定位算法得到每一个强回波的经纬度,通过调用百度天气API,请求该经纬度的实时天气数据。返回数据选取JSON格式,根据需要解析提取出温度、气压、风向、风力、湿度和天气状况信息。

3.2  数据库具体设计

Microsoft SQL Server 是一个全面的数据库平台,由一组数量庞大的资源库组成,提供了强大的可视化界面、高度集成的管理开发工具,功能全面,操作便捷,在实际开发应用中具有突出的优点。本文针对天气雷达系统的需求,基于SQL Server 2012,运用数据库技术对大量雷达基数据进行存储和管理,数据库核心部分被划分为4个科学合理的功能模块,设计成相互关联的数据表形式如图3所示。

數据库主要关注雷达的基数据、故障数据及实时天气信息,RadarHeader是体扫基数据信息关系表,代表一次存储过程,是整个数据库的核心,包括数据文件名、存储时间、雷达参数等字段,这些字段对应雷达数据的头文件;DataKind是数据类型表,对应雷达基数据的三种类型:强度、速度和谱宽,分类储存虽然占用内存,但是可以让数据库结构设计更加科学合理,也有利于提高数据检索查询的速度;DataCollection是数据存储表,包含仰角、方位角和距离库等字段,对应数据的存储方式[6];FaultMessage是雷达故障信息表,指示雷达的工作状态,存储雷达的故障情况[7];WeatherInfo是实时天气信息表,记录强回波区域的实时天气信息。这5张表通过主外键相互关联,并且以此为核心展开其他功能。

3.3  移动控制终端设计

移动控制终端采用Java语言,基于Android平台设计,包括雷达产品实时发布、雷达控制和故障预警三个部分。移动终端主要功能如图4所示。

3.3.1  雷达实时发布

雷达实时发布包括状态发布和产品发布两个部分,需要解决屏幕刷新频繁带来的CPU使用效率问题和显示内容繁杂带来的界面分布问题[8]。

由于SurfaceView类更适合画面频繁刷新的情况,因此采用SurfaceView类作为显示基类[9]。画面渲染采用双缓冲机制,接收数据的同时,将数据渲染到缓存中,在设备执行刷新时将缓存中的图像直接呈现到屏幕上,避免了直接在屏幕上绘图时出现的明显闪烁。同时,UI界面和后台进程分离,数据处理等线程放在后台进行,在UI渲染时动态地通过通信机制调用所需要的数据,提高软件的运行效率。

使用卡片式布局方式设计显示界面,在分散的卡片式窗口控件中分别展示雷达扫描的状态信息和雷达扫描产品,该设计可以为主要的雷达产品留出更大的显示空间,也使状态信息展示更加充分并且条理清晰。

3.3.2  雷达实时控制

雷达控制功能是系统的另一个重要部分。设计雷达开机、关机、仰角、方位角、工作模式以及扫描周期等选项和按钮,通过编写相应的代码来响应不同的事件,从而向雷达控制模块发送控制指令,实现对雷达不同部件的控制功能,使雷达可以用特定扫描方式观测目标物;同时,也方便了对雷达系统的保障维护。

3.3.3  故障预警

故障预警功能是在雷达数据产品生成之前,检索数据库中存储的雷达故障信息,对天线座、功率放大器、电机等部件进行状态检测与故障定位,一旦发现故障,需要定位到最小可更换单元,并在客户端通知用户进行检修和维护。其中,雷达故障信息包括天线座来的方位、俯仰电机过温信号,方位、俯仰轴锁定信号,方位、俯仰减速箱油位信号,方位大齿轮油位信号,俯仰预限位、死区限位信号,天线座互锁信号以及功率放大单元内的过压和欠压信号,方位、俯仰功率放大器的短路、过温和电源信号等。故障预警功能有利于及时发现故障,提高雷达故障排除的时效性[10]。

同时,系统还收录了雷达常见故障分析和排除案例的汇编,当用户遇到故障时,可以参考汇编中的案例解决问题。此外,系统还整理了馈线系统、天线座、伺服系统等维护和保养的注意事项。

4  系统测试

4.1  强回波定位算法测试

选取20个具有代表性的雷达数据作为样本测试算法对雷达强回波定位的准确度,准确度用算法定位的强回波个数与人工统计的强回波个数的比值来衡量,统计结果如图5所示。测试结果表明准确率分布在0.7~1之间,基本可以做到对数据中强回波区域的识别与定位。其中,准确率较低的几个点是因为样本数据的强回波过于密集,有些区域连成一片,会导致算法的误判增多,对于强回波较为独立稀疏的数据样本,准确度则明显提高。

4.2  软件测试

系统设计完成后,对系统进行一次实际接入测试。在系统控制界面设置扫描模式参数为PPI模式,仰角参数为2.4°,其他参数为默认值,控制雷达进行一次观测,通过移动终端查看雷达的扫描结果以及故障状态。测试结果界面如图6所示。其中,图6a)为雷达状态信息和扫描产品显示的实现界面,用户可以在该界面查看扫描参数及结果;图6b)为雷达故障预警功能的实现界面,用户可以看到各模块的状态逻辑值,并判断该模块工作状态是否正常。测试结果表明,移动终端能够准确快速传送控制指令,并调用和显示扫描结果及故障信息,达到了预期的设计目标。

5  结  论

本文设计一套基于数据库、Android技术的移动端天气雷达实时管理系统,实现了雷达中频信号的采集与存储、移动端实时显示与控制以及故障预警等基础功能。基于强回波定位算法和百度天气API,实现雷达数据存储与对应天气过程的关联的新功能,便于后续的资料处理和应用。系统采用分层结构的开发策略,有利于系统的维护和提高管理效率。测试结果表明,整个系统具有较高的便利性和可靠性,能满足用户对于便携性与开放性的要求,有一定的推广价值和应用前景。当然,该系统在雷达回波分类管理的丰富度和算法的精细度上仍有不足,需要在接下来的研究中进一步完善。

参考文献

[1] 刘黎平,葛润生,张沛源.双线偏振多普勒天气雷达遥测降水强度和液态含水量的方法和精度研究[J].大气科学,2002,26(5):709?720.

LIU Liping, GE Runsheng, ZHANG Peiyuan. A study of method and accuracy of rainfall rate and liquid water content measurements by dual linear polarization Doppler radar [J]. Chinese journal of atmospheric sciences, 2002, 26(5): 709?720.

[2] 黄铃光,黄兴友,杜文婷,等.新一代气象雷达显示系统的设计与实现[J].信息化研究,2012,38(3):14?18.

HUANG Lingguang, HUANG Xingyou, DU Wenting, et al. Design and realization of CINRAD visualization system [J]. Informatization research, 2012, 38(3): 14?18.

[3] 胡焱.基于FPGA+DSP的数字中频收发机的设计[J].现代电子技术,2016,39(15):78?80.

HU Yan. Design of digital IF transceiver based on FPGA+DSP [J]. Modern electronics technique, 2016, 39(15): 78?80.

[4] 孙永彦,杨晶.基于MVC的电网工程造价管理系统的开发与设计[J].现代电子技术,2017,40(22):19?21.

SUN Yongyan, YANG Jing. Development and design of power grid project cost management system based on MVC [J]. Modern electronics technique, 2017, 40(22): 19?21.

[5] 严宇平,萧展辉.基于聚类分析的离群检测方法在电网数据质量管理中的应用研究[J].现代电子技术,2016,39(15):137?139.

YAN Yuping, XIAO Zhanhui. Application of outlier detection method based on cluster analysis in power grid data quality management [J]. Modern electronics technique, 2016, 39(15): 137?139.

[6] 姜小云,吴俞.新一代天气雷达基数据管理与个例整编系统设计[J].气象科技,2015,43(4):612?616.

JIANG Xiaoyun, WU Yu. System design of raw data management and case compilation for new generation weather radar [J]. Meteorological science and technology, 2015, 43(4): 612?616.

[7] 王志武,卢兴来,陈昊.天气雷达测试维修数据库的设计及应用[J].气象科技,2016,44(6):896?901.

WANG Zhiwu, LU Xinglai, CHEN Hao. Design and application of test and maintenance database for weather radar [J]. Meteorological science and technology, 2016, 44(6): 896?901.

[8] 赵红超,李琦,韩瑾,等.基于Android平台的实时监控系统客户端设计[J].电视技术,2015,39(20):111?114.

ZHAO Hongchao, LI Qi, HAN Jin, et al. Design of real?time monitoring system client based on Android platform [J]. Video engineering, 2015, 39(20): 111?114.

[9] 高明华,许丽金,柯成成,等.基于Android便携式人体健康监测系统设计[J].现代电子技术,2017,40(12):86?89.

GAO Minghua, XU Lijin, KE Chengcheng, et al. Design of portable health monitoring system based on Android [J]. Modern electronics technique, 2017, 40(12): 86?89.

[10] 李广海,陆曼曼.新一代天气雷达资料传输监控与故障诊断系统[J].气象研究与应用,2013,34(2):68?73.

LI Guanghai, LU Manman. System of the CINRAD data transmission monitoring and its fault diagnosis [J]. Journal of meteorological research and application, 2013, 34(2): 68?73.

猜你喜欢

移动端聚类分析
浅析移动端视频的发展
谈谈PC端流量转移至移动端趋势下广告投放的模式创新
农村居民家庭人均生活消费支出分析
移动端医疗维修系统的设计与实现
基于省会城市经济发展程度的实证分析
基于聚类分析的互联网广告投放研究
“县级供电企业生产经营统计一套”表辅助决策模式研究