基于Qt的电离层特征参数显示软件的设计与实现

2019-05-23 10:44单哲
电脑知识与技术 2019年5期

单哲

摘要:针对使用文本编辑器查看电离层特征参数数据文件不能清晰地显示出特征参数数据随时间的增减变化情况,开发了基于Qt的电离层特征参数显示软件。软件实现了电离层特征参数数据的表单显示功能和折线统计图显示功能。对电离层特征参数进行中值计算,用折线统计图的方式显示特征参数数据和特征参数中值数据,清晰明了的显示出电离层垂直探测频高图特征参数日变化趋势。

关键词:Qt;电离层特征参数;中值计算;折线统计图

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)05-0217-03

The Design and Implementation of Software for Displaying Ionospheric Characteristic Parameters Based on Qt

SHAN Zhe

(China Research Institude of Radio Wave Propagation,Qingdao 266107, China)

Abstract: A Qt-based software for displaying ionospheric characteristic parameters is developed in view of the fact that the data files of ionospheric characteristic parameters can not clearly show the change of the characteristic parameters with time by using a text editor. The software realizes the form display function of ionospheric characteristic parameter data and the broken line statistical graph display function. The median values of ionospheric characteristic parameters are calculated, and the data of characteristic parameters and median values of characteristic parameters are displayed in the form of broken line statistical charts. The diurnal variation trend of characteristic parameters of ionospheric vertical sounding frequency elevation charts is clearly displayed.

Key words: Qt; ionospheric characteristic parameters; median calculation; broken line statistics

電离层是大气层60千米以上电离的大气高层区域。它由四层结构组成,分别为D层、E层、F1层和F2层,F1层和F2层又可以统称为F层。电离层垂直探测是用高频无线电波从地面对电离层进行日常观测的重要技术手段。而电离层特征参数是对电离层垂直探测得到的频高图进行度量所获取的电离层特性参量,这些特征参数是短波通信、雷达、导航、天气等信息系统的电离层效应补偿和预警的重要内容[1]。电离层特征参数共14个,其中有7个频率参数,4个高度参数,2个最高可用频率因子(M因子)和一个Es类型参数。

当前中国电波传播研究所新研的数字测高仪获取的电离层特征参数数据是以文本文件的方式存储在计算机硬盘中,使用记事本等文本编辑器查看数据时,不能清晰直观地看出特征参数日变化趋势,为方便电离层特征参数的数据浏览、查看,开发电离层特征参数显示软件。

1 开发环境

Qt是一个著名的面向对象的C++图形用户界面开发框架,它具有优良的跨平台特性,支持所有主流操作系统,包括Linux、Windows、Android、MAC、Windows Phone以及IOS,做到了一次编写,随处编译[2]。信号与槽函数机制是Qt提供的一种稳定快捷的通信机制,它是Qt的核心特性。信号是消息事件,槽函数则是响应事件的方法。在代码编写过程中,仅需要调用connnect()函数就能简单地将消息事件和响应事件连接起来,当有信号被触发时,槽函数自动回调。QtCreator是一款跨平台的轻量级集成开发环境,它提供的一个可视化图形用户界面开发工作Qt Designer,使用Qt Designer开发界面应用,能够大大提高程序开发效率。

电离层特征参数显示软件的开发环境为win7操作系统,开发工具为Qt4.8。

2 需求分析

电离层特征参数显示软件要求能够显示垂直探测频高图特征参数数据;显示数据日变化曲线;计算最近30天的探测结果中值并显示到折线图中。电离层特征参数显示软件具体需求如下:

1)日期选择功能:用户告知软件系统需要查看的电离层频高图特征参数数据生成日期,软件启动时默认选择当前日期;

2)查看方式选择功能:电离层频高图特征参数查看功能分为表单显示和图形显示。默认使用图形显示功能;

3)表单显示功能:根据用户提交的查看日期,按表格的形式显示电离层频高图特征参数数据;

4)图形显示功能:虽然表格显示电离层特征参数能够看到具体的电离图判图参数,但不能直观的显示出特征参数的日变化趋势,所以添加图形显示功能。图形显示根据用户提交的查看日期,按折线统计图的形式显示电离层频高图特征参数数据;

5)图形显示又细分为三种折线图,分别为时间-频率图形显示,时间-虚高图形显示,时间-M因子图形显示;

6)特征参数中值统计功能:計算对应日期时间最近30天之内的特征参数中值,并能够用折线图的方式显示,使用户能够直观地观察出特征参数变化趋势;

7)图形显示情况下,显示图形查看操作界面,用户通过选择操作,能够查看对应特征参数的日变化折线图。

3 系统设计与实现

经过需求分析,电离层特征参数显示软件的功能组成图如图1所示:

3.1人机交互设计

人机交互包括显示特征数据站址信息功能(包括显示站名、经纬度坐标)、日期选择功能、查看方式选择功能和图形参数选择功能。软件使用QLabel控件显示站名;使用QLineEdit控件显示经纬度信息;使用QDateEdit控件实现日期选择功能;使用QComboBox控件实现查看方式选择功能;使用QRadioButton控件实现图形参数选择功能;用信号和槽的通信机制调用具体的处理函数。

3.2报表显示设计

电离层特征参数显示软件的报表显示功能主要通过QTabWidget表格控件实现。QTabWidget是Qt图形界面开发时经常用到的表格控件。使用QTabWidget表格控件,就离不开QTabWidgetItem,QTabWidgetItem是一个单元格对象类。通过调用QTableWidget的setItem()函数轻松实现对对单元格数据的填充或更改。表格行标题为电离层各个特征参数名称,列标题为数据生成时间,数字资料部分为实际的特征参数数据。

3.3图形显示设计

电离层特征参数显示软件的图形显示功能主要通过QPainter绘图类实现。QPainter为Qt封装好的基本图形绘制类。该类可以绘制小到一个像素点,一条直线、大到一个绘图区域,一张图片。如使用drawPoint()绘制像素点,drawLine()函数绘制直线, drawPath()绘制复杂描迹,drawPixmap()绘制图片。绘图设备所在的二维空间是一个直角坐标系,左上角为坐标原点,横轴坐标向右为正,纵轴坐标向下为正。电离层特征参数折线统计图横轴为日变化时间,最小时间间隔为1分钟,纵轴为电离层特征参数数据,实线表示实际特征参数数据,虚线表示近30天的数据中值统计结果。使用QPainter绘图流程如图2所示:

3.4中值计算

中值又称中位数,是指数据按大小顺序排列,例如有n个数据,如果n为偶数,那么中值为第n/2位数和第(n+2)/2位数的平均数;如果n为奇数时,那么中值为第(n+1)/2位数的值 [3]。总体来讲,电离层的变化特性分为规则变化和不规则变化。而电离层特征参数的日变化是规则变化,因此可以通过计算最近30天时间内的各个特征参数的中值,绘制成日变化曲线,以此来清晰直观的显示出特征参数的日变化趋势。电离层垂直探测频高图特征参数中值统计流程图如图3所示:

4 应用程序实例

电离层特征参数显示软件是一个窗口应用程序,使用Qt4.8进行系统软件开发,其显示界面如图4和图5所示,软件界面不仅显示了特征参数信息,还显示了数据获取的地点包括站名,位置信息。用户通过更改日期时间控件的日期时间,用信号和槽的方法触发数据更新事件,表单显示或图形显示更新显示的数据。通过下拉菜单切换数据显示方式。从折线统计图中可以看出,实际探测获取的数据和统计数据的趋势是一致的,由此可以通过中值数据预测未来几天内的数据变化情况。

5 结束语

在经过不断的完善,电离层特征参数显示软件实现了数据的表单显示功能和折线统计图显示功能。通过表单显示,可以查看原始数据;通过图形显示,能够一目了然地看出数据的日变化趋势,满足了当前的使用需求。

参考文献:

[1] 丁宗华,宁百齐,万卫星.电离层频高图参数的实时自动度量与分析[J].地球物理学报,2007(7).

[2] 安良,刘扬,莫红飞.基于Qt的雷达信息显示设计[J].现代电子技术,2011(6).

[3] 何思谦.数学辞海第四卷[M].太原:山西教育出版社,2002:316.

【通联编辑:谢媛媛】