论文部分内容阅读
地震面波勘探是调查浅层地质结构的重要方法,面波数据的频散与地下介质速度为非线性数学模型,实测多道面波数据能够反演横波速度信息。面波频散特征提取及非线性反演求解是该方法主要的处理环节,他们需要借助于可视化软件工具进行处理,因此能具备地震面波数据显示及编辑、频散曲线交互拾取和反演结果显示是面波处理可视化软件的基本需求。本文利用C++及QT跨平台工具包开发了多道面波数据反演交互软件。从该软件的需求展开讨论,包括地震数据编辑与显示、面波数据处理与反演和软件交互操作三个部分。基于上述需求设计该软件功能,包括了界面设计模块、算法设计模块和交互设计模块。根据面向对象的软件设计方法,设计如下相应的对象类:结构类、绘图类、文件类和运算类等。通过上述模块化分析和设计,有利于程序扩展升级,方便软件测试和维护。基于地震面波频散分析理论及非线性反演算法,开发了地震面波交互反演软件,该软件具备以下基本功能:(1)实现对SEGY地震数据格式文件I/O操作,对SEGY文件头和道头的数据进行处理;(2)在运算类中添加二维离散傅里叶变换、频散计算和遗传算法等相关的地震面波算法,并通过调用运算类将地震数据运算所得到的数据添加到相应文件类中;(3)在QT中编写一系列绘图函数,并调用文件类,可以分别绘制出地震面波的时间域图、频率域图、频散曲线图、地质剖面图,设计界面显示各类地震面波反演前后差异图和误差分析图;(4)加入鼠标和键盘的交互拾取功能,实现图形放大缩小功能、拖动功能以及在频率域图和频散曲线图内拾点拖动功能;(5)自定义设置多类型对话框实现自我选择地震面波数据、自我选择地震面波道的功能和实时修改地震面波反演参数功能。该软件在QT上编写,在VC上调试,实现一个地震面波处理成像和反演交互的界面软件,很好的满足了人机交互的联动。