宫卓宏,刘林飞
(1.山西省地震局,山西 太原 030021;2.太原大陆裂谷动力学国家野外科学观测研究站,山西 太原 030025)
对地震计的标定工作是测震台网运行维护工作的重要组成部分,其保证了数字地震台网的监测质量。在地震数据采集器中设置好脉冲标定的启动时间、幅度、持续时间和时间间隔等参数,地震数据采集器就会按设置内容定时启动脉冲标定[1],通过数据传输设备将数据传回记录中心,在实时记录系统的相应文件夹下生成一个脉冲标定(*.CAL)的文件。通过对文件内容进行检测[2],如图1所示,即可得知该台的仪器系统工作是否正常。一般情况下,仪器不稳定时常表现为脉冲标定幅度发生变化较多,周期发生变化的情况较少[3]。山西测震台网采用童汪练的标定包进行日常标定数据的处理。随着近年来测震台网的快速发展和台站布设密度的增加,日常标定的工作量逐渐加大。为满足日常标定工作快速高效的需求,通过软件完成大量数据处理的重复工作势在必行。
图1 脉冲标定波形Fig.1 Pulse calibration waveform
设计开发一个山西测震台网仪器的标定信息数据库,实现山西测震台网仪器定时标定和波形截取软件;实现标定和计算信息的数据化管理,方便维护人员管理仪器的标定时间,定时标定;使用数字网络传输波形文件实现波形的批量分道处理和波形异常的初步分析;减少测震标定、计算的工作量,提高效率和准确度。下面从设计思路、模块化设计实现等方面对此定时标定和波形截取软件进行具体介绍。
在开发设计时,考虑到系统应做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制,维护人员可以及时地处理异常,进行平台的维护、更新。
标定管理系统采用模块化设计,包括标定信息管理、波形分道、波形异常分析、网络通信和后台数据库五大模块。波形异常分析、标定信息管理两模块是系统的核心,实现系统的主要功能。
标定信息管理模块主要进行标定信息的整理和查询。将标定信息录入数据库中,就可以在查询界面查到工作中需要的标定信息。日常进行标定计算的过程中,将待处理波形按台站存放在文件夹中,每个台站一个文件夹,每个台站需要对EVT文件进行分道处理后,使用标定包进行计算。波形分道模块在用户选择对应文件夹后,逐个读取每个台站对应的EVT波形文件,将该文件复制在对应的新创建的台站文件夹下,进行分道处理。这样,用户只需简单的操作就完成了标定计算的所有准备工作。
此系统的模块划分基本满足预计的系统功能需求,同时方便用户的使用。五个模块之间,耦合度较低,除各大模块需要标定数据依赖数据库模块外,基本都可以独立完成功能(见图2、图3)。
图2 功能模块图Fig.2 Functional module diagram
图3 执行流程图Fig.3 Execution flow chart
信息录入的流程:用户选择台站,显示当前的标定时间;选择每周、每年或每月,输入对应的日期、时间,点击确定即可修改成功,将数据存到数据库中。在标定信息显示的页面双击任一项,跳转到信息修改页面下对应的台站项。
标定信息显示使用QTableView类实现。这是应用Qt的Model-View模式,model与数据源通讯,提供接口给结构中别的组件使用。通讯的性质依赖于数据源的种类与model实现的方式。view从model获取model indexes,后者是数据项的引用。通过把model indexes提供给model,view可以从数据源中获取数据。此处使用的model是QSqlQueryModel,通过设置query语句,再用setHeaderData函数设置列名或行名即可实现model,将QTableView实例对象的model设为此model,即可成功显示。
(1) 通过访问服务器获取波形。
从Qt5开始,网络应用层的编程使用QNetworkRequest、QNetworkReply和QNetworkAccessManager这几类,提供简单而强大的接口[4]。其中,网络请求由QNetworkRequest类来表示,作为与请求有关信息的统一容器,在创建请求对象时指定的URL决定了请求使用的协议,目前支持HTTP、FTP和本地文件URLs的上传和下载;QNetworkAccessManager类用于协调网络操作,每当一个请求创建后,该类用来调度,发信号来报告进度;对于网络请求的应答则使用QNetworkReply类表示,在请求被完成调度时由QNetworkAccessManager创建。如图4所示,用户正确输入服务器地址和保存路径即可进行下载,获取波形文件。
图4 下载界面Fig.4 Download Interface
(2) 批量分道处理的实现。
用户选择EVT文件的存放路径,程序检测该路径下的所有EVT文件的文件名,根据文件名中的台站代码建立对应文件夹,再将EVT文件拷贝到该文件夹下。用QProcess类来使用分道小工具“etop2005”,将EVT文件分成4个文件,分别保存基本信息和三分向的count值,重复执行直到全部分道完成。通过使用分道处理功能可以方便日常标定工作的进行,原先繁琐的建立文件夹、拷贝、分道的重复工作可以简单地完成,避免了因操作失误导致的问题。批量分道执行部分代码如下:
(3) 波形异常分析。
在日常脉冲标定中,经常出现波形异常,如未打出脉冲、峰值过小、出现杂峰等,就需要重新标定计算才能正确判断该仪器正常与否,而使用异常分析功能就可以快速锁定有问题的波形。用户选择存放各台站文件夹的路径,程序分别读取每个台站文件夹下的每一分向文件,其中存放的是每秒100个的count值。通过对count值的处理,初步判断波形是否完整,峰值是否足够大,是否存在杂峰等。
该软件系统投入运用后,标定准备工作能快速完成,可直接进行标定计算,节省了标定工作的时间。运行主要界面如图5所示。
图5 系统运行主要界面Fig.5 Main interface of system operation
定时标定和波形截取软件设计方案合理,人机互动界面良好。较之前的“标定管理软件”节省了日常标定时间,优化了标定工作的操作流程,达到预期目的,值得推广。同时,在标定工作中,数据的计算以及对标定结果的分析也有自动化的空间。因此,笔者将深入研究标定对仪器特性的影响,使用编程工具加强系统分析,完善测震台网对地震仪器的管理。