地震台站勘选数据处理软件的设计与实现

2018-06-25 02:59马伟霞王勤忠谢恒义潘林山
山西地震 2018年2期
关键词:倍频程台站数据处理

马伟霞,王勤忠,谢恒义,潘林山,雷 闪

(1.河南省地震局,河南 郑州 450016;2.郑州测绘学校,河南 郑州 450016)

0 引言

地震台站台址勘选是地震台网建设的前期工作,也是地震台站建设过程中至关重要的基础工作[1]。新建台站在勘选阶段需要对站点的噪声数据进行处理与分析,确认站点是否符合建台要求。2016年2月国家地震烈度速报与预警工程项目河南分项启动。根据规划方案,河南省拟新建23个基准站。“预警基准站勘选技术指南”中明确要求,每个基准站需要选择至少连续48 h的记录数据并绘制3 Hz频点的噪声功率谱密度值VS时间分布图。通过现有软件计算后,单个台站会产生三分向(UD、EW、NS)的数据文件,单个分向文件含有至少48个时间点的数据块,每个数据块含有1~20 Hz频带共14个频点的噪声功率谱密度数据。如果仅依赖人工手动处理这些数据,因工作量大且人员较少,很难在规定时间内完成。针对这一问题,文章基于C#语言开发一套数据处理软件,软件可提高数据处理人员的工作效率,保证勘选工作按时完成。

1 数据文件简介

河南省在进行预警台站勘选时,仪器采用北京港震机电技术有限公司生产的FSS-3M反馈式短周期地震计和EDAS-24IP数据采集器。利用“Cal_20120525C”程序包对采集的原始数据处理后,生成UD、EW、NS三分向的功率谱密度测试结果详细报告,对于基准站,该报告里包含连续48 h的数据,且每小时数据里均包含中心频率1~20 Hz的1/3倍频程各频率,以及各频率对应的地动噪声功率谱密度、地动噪声RMS值,平均地动噪声、地震台观测动态范围等。

EW分向功率谱密度测试结果详细报告(选取其中两个时间点)的数据格式如下:

fss-3m_2016030718:

测试结果数据:

中心频率1~20 Hz的1/3倍频程各频率:

1.000,1.260,1.587,2.000,2.520

3.175,4.000,5.040,6.350,8.000

10.079,12.699,16.000,20.159

fss-3m台(ew向)1/3倍频程带宽(1~20 Hz)各段地动噪声功率谱密度(dB):

-140.991,-138.308,-135.077,-129.255,-126.811

-122.911,-121.521,-114.824,-117.534,-99.053

-109.595,-112.400,-107.090,-103.585

1/3倍频程带宽(1~20 Hz)各段地动噪声RMS值(m/s):

1.678 94e-008,2.037 16e-008,2.632 49e-008,4.584 61e-008,5.411 46e-008

7.554 2e-008,7.897 23e-008,1.521 07e-007,9.919 8e-008,7.419 68e-007

1.963 74e-007,1.266 78e-007,2.079 75e-007,2.773 91e-007

1/3倍频程带宽(1~20 Hz)各段的平均地动噪声RMS值为2.355 34e-007(m/s)。

平均地动噪声(记录p-p)为435(Counts)。

地震台观测动态范围(dB)(Hz)[输出10 V档]:

93.5(0.2),109.0(1.0),100.3(2.0),87.8(5.0),84.5(10),78.6(20)

fss-3m_2016030719:

测试结果数据:

中心频率1~20 Hz的1/3倍频程各频率:

1.000, 1.260, 1.587, 2.000,2.520

3.175, 4.000, 5.040, 6.350,8.000

10.079,12.699,16.000,20.159

fss-3m台(ew向)1/3倍频程带宽(1~20 Hz)各段地动噪声功率谱密度(dB):

-141.474,-137.948,-134.547,-131.044,-127.204

-122.338,-120.046,-115.077,-115.890,-99.968

-103.747,-109.765,-104.243,-99.869

1/3倍频程带宽(1~20 Hz)各段地动噪声RMS值(m/s):

1.588 12e-008,2.123 35e-008,2.798 24e-008,3.731 43e-008,5.172 04e-008

8.068 92e-008,9.358 84e-008,1.477 42e-007,1.198 68e-007,6.677 9e-007

1/3倍频程带宽(1~20 Hz)各段的平均地动噪声RMS值为2.598 07e-007(m/s)。

平均地动噪声(记录p-p)为480(Counts)。

地震台观测动态范围(dB)(Hz)[输出10 V档]:

92.2(0.2),109.5(1.0),102.0(2.0),88.1(5.0),78.6(10),74.9(20)

……

上述文件中需要用到1/3倍频程频率3 Hz对应的地动噪声功率谱密度值:-122.911、-122.338、……。该研究之前,河南省地震局处理这些数据有两种方法:一种是直接打开文件,手动挑选数据;另一种是将数据拷贝到excel文件中,然后选数据。两种方法都是靠人工手动挑选数据,经测算,手动处理一个基准站至少需要1 h,不仅工作量大,且容易出现人为错误,影响结果的准确性。

2 软件设计及实现

2.1 软件设计

经过对原始数据文件进行分析,发现文件中的数据有一定的规律:同一文件中不同时间的仪器型号相同、内容格式相同;同一时间内不同频率与其对应的功率谱密度的相对位置相同。因此,软件在设计时的数据处理思路为:将三分向数据文件同时加载;然后按照相同规则依次处理每个文件,并将读取的数据保存到临时数组中,待三分向数据全部处理完毕;最后将临时数组中的数据按照规定格式依次保存至excel文件。数据处理流程如图1所示。

图1 数据处理流程图Fig.1 Data processing flow

2.2 软件的实现

由于文件结构比较简单,目前也没有像HDF、NetCDF、GrADS等文件有专门的第三方库函数可以利用[2-4],所以在处理此类型数据时,必须研究人员自己写函数来实现。计算机编程语言有很多,也有很多数据处理人员利用不同的开发平台和程序语言对数据处理方法进行研究[5-7]。经过调研,C#程序设计语言可以轻松实现对文本文件的处理,以及Windows窗体和控件的创建[8-10]。故选择基于VS2010开发环境,利用图形界面较好、功能比较强大的C#来编写实现。“台站勘选数据处理软件”主要由文件读取、数据保存两部分组成。其中,文件读取过程通过使用StreamReader类进行,读取部分代码如下:

for(int i=0; i<3; i++)//循环读取三分向文件

{

StreamReader dataReader = new StreamReader(DataFile[i], Encoding.Default);

string data = dataReader.ReadLine();//逐行读取数据

if (data.Contains(FindContent))//FindContent为查找内容,由前端输入

{

for (int j = 0; j < row; j++)//row为待读取数据所在行数,由前端输入

{

data = dataReader.ReadLine();

}

string[] pos = data.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

list.data = Convert.ToDouble(pos[col - 1]);//选择第col列的数据,col由前端输入

dataArray.Add(list);//将读取的数据放入dataArray中

}

dataReader.Close();//文件读取结束

}

文件读取结束后,为方便制作图表,将读取的数据保存到excel文件中。将数据保存在excel文件中的部分代码为:

for (int i = 0; i < dataArray.Count; i++)

{

if (dataArray[i].num == 0)

{

Excel.Range rng1 = xsheet.get_Range("A" + (3 + i), Missing.Value); //序号列

rng1.Value2 = Convert.ToString(i+1);

Excel.Range rng2 = xsheet.get_Range("B" + (3 + i), Missing.Value); //UD分向列

rng2.HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;

rng2.Value2 = Convert.ToString(dataArray[i].data);

}

else if (dataArray[i].num == 1)

{

Excel.Range rng = xsheet.get_Range("C" + (3 + (i - dataArray.Count / 3)), Missing.Value); //EW分向列

rng.HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;

rng.Value2 = dataArray[i].data;

}

else

{

Excel.Range rng = xsheet.get_Range("D" + (3 + (i - (dataArray.Count / 3) * 2)), Missing.Value); //NS分向列

rng.HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;

rng.Value2 = dataArray[i].data;

}

}

xbook.SaveAs(outfile, FormatNum); //保存excel文件

3 软件应用

软件是在VS2010和.net framework4.0环境下进行开发,在运行软件前须确保安装.net framework4.0框架,将exe可执行文件复制到电脑上,直接双击运行即可,运行软件时会出现如图2所示的界面。

图2 台站勘选数据处理软件界面Fig.2 Interface of data processing software for station selection

【选择UD文件】:UD分向的功率谱密度测试结果详细报告文件。

【选择EW文件】:EW分向的功率谱密度测试结果详细报告文件。

【选择NS文件】:NS分向的功率谱密度测试结果详细报告文件。

【查找内容】:不同分向文件中不同时间内都存在且唯一的相同内容。

【测站名】:待处理数据所属的台站名。

【第▭行】:待读取数据所在行数与“查找内容”所在行数的差值。如果待读取数据在“查找内容”以上则输入负数,以下则输入正数。

【第▭列】:待读取数据所在的列数。

利用该软件处理后生成的excel文件,格式如第47页图3所示。

数据处理人员利用软件可以快速地获取想要的数据,并将结果应用到台站勘选报告中。该软件的运用,使河南省的台站勘选报告在中国地震局规定的时间节点完成,并在第一批次通过项目专家组审核。

4 结论与讨论

针对台站勘选过程中人工处理数据繁琐的问题,在分析文件数据规律的基础上,利用C#语言设计开发一套数据处理软件。通过与人工处理数据进行对比,验证了该软件的可靠性,且大大提高了工作效率,为今后处理类似文本数据提供新方法。

图3 软件处理后生成的excel文件Fig.3 Excel files generated after software processing

“台站勘选数据处理软件”是在具体项目需求下设计开发的。就处理速度而言,手动提取数据处理完一个基准站最快需要60 min,而该软件不到1 min即可处理完毕;其次,操作简便。只需选择3个文件、输入4个参数即可完成,可减少人为错误,确保数据提取的准确性;另外,还具有较强的推广价值,虽然是在预警项目的需求下开发,仍可尝试应用于类似此种操作的数据处理过程中。

参考文献:

[1] 邵玉平,王翠芳,宋澄.地震台网勘选数据的自动化处理[J].四川地震,2008(1):9-12.

[2] 王继承,蒋狄微,谢智剑.基于GDAL的HDF文件格式栅格数据提取的研究[J].科协论坛,2012(8):62-63.

[3] 张林,高玉春,杨金红,等.基于VC++平台的相控阵天气雷达NetCDF数据读取与产品显示[J].气象科技,2010,38(8):230-234.

[4] 杨兆礼,万奇林.实例分析如何用GrADS实现NetCDF格式转换[J].广东气象,2008(10):47-49.

[5] 刘其寿,廖春奇,杨佩琴,等.测震台址勘选数据处理辅助程序设计与应用[J].华南地震,2010(2):107-111.

[6] 周辉,申学林,王文青,等.通用测震数据获取软件包的设计与实现[J].地震研究,2011(1):102-107.

[7] 陈帅,王鹏.基于VB6.0的水准网数据处理程序的实现[J].全球定位系统,2014(4):73-77.

[8] Hieu Vu.FROM C TO C++, C#, AND JAVA[J]. International Journal of Scientific Research and Innovative Technology, 2015(2):84-92.

[9] 张越男.试析C#编程语言的特点及功能[J].软件,2013(3):145-146.

[10] Mickey Williams.Visual C#.NET技术内幕[M].北京:清华大学出版社,2003.

猜你喜欢
倍频程台站数据处理
一种抗干扰变电站1/3倍频程噪声测量方法*
中国科学院野外台站档案工作回顾
噪声声谱控制算法的研究
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
一种适用于高铁沿线的多台站快速地震预警方法
常规倍频程纯音测听听阈无异常的耳鸣患者的半倍频程频率测试结果分析
几种三分之一倍频程中心频率定义方法的比较
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
基层台站综合观测业务管理之我见