杨先明,王海涛,郭 艳,郭瑞鹏,沈立军
(1.烟台富润实业有限公司,烟台 264670;2.南京航空航天大学 自动化学院,南京 210016)
随着超声检测仿真技术可靠性的不断提高,其应用范围也从原来的检测结果分析、性能验证,逐步扩展到检测系统设计优化、虚拟检测等领域[1-2]。超声相控阵成像仿真就是利用计算机强大的信息处理功能,以相控阵检测理论模型为基础,仿真超声声场在介质中的传播及其与缺陷的相互作用,采用人机交互的方式进行检测参数优化,为工程设计人员提供具有较高价值的参考。
Matlab集数值分析、矩阵运算、信号处理和图形显示功能于一体,包含大量功能强大的函数可供调用,可大大加快软件开发的效率。但是Matlab是一种解释性语言,执行效率比较低,且不能与硬件底层进行直接操作。与此相反,VC++可以方便地进行硬件控制,具有强大的界面编程功能,程序执行速度快。基于此,笔者充分利用 MATLAB与VC++各自的优点,通过VC++调用 Matlab[3]引擎的方式进行信息交互,实现VC++与Matlab混合编程,开发了一套超声相控阵成像仿真系统。
建立超声成像的仿真环境时,首先需设置相控阵探头参数,接着模拟被检试件中的缺陷。然后仿真超声检测过程,即探头发射超声波,超声波在工件中传播并与缺陷相互作用产生回波信号,回波信号被探头接收并经一系列信号处理后,最终以图像形式显示出来。
仿真成像系统的设计框图如图1所示,系统主要分为探头参数设置模块、缺陷参数设置模块、仿真成像模块等三大模块,各模块彼此相互独立,分别完成一定的功能。从方便用户的角度出发,仿真系统采用多层次的分级模块驱动形式,首先在可视化交互式的软件主界面上,选择进入各功能子模块,继而在每一个功能子模块下,进行参数设置,运行程序,返回上级模块等操作。
图1 超声相控阵成像仿真系统框图
系统架构采用VC++6.0的对话框结构,以对话框成员变量的形式来保存探头参数、缺陷参数以及扫描聚焦方式等信息,然后以.mat的数据格式存储A扫描回波数据。
探头参数设置模块完成仿真探头参数设置,包括阵元个数、阵元宽度、阵元高度、阵元间距、探头中心频率以及声速等探头参数。
超声相控阵的声场特性关系到缺陷的定位定量以及检测精度和灵敏度,了解声场结构及分布特征对于提高检测可靠性、准确性以及提高检测效率都有着至关重要的作用[4-5]。因此该模块加入了探头性能分析功能,可完成探头形状示意图的显示,以及探头在直角坐标系、极坐标系下的声场指向性分析和声场声压的二维、三维显示。
超声相控阵探头的几何参数如图2所示,在P(r,θ,t)处产生的声压[6]为:
图2 相控阵阵列声场计算示意图
式中:r为阵元到点P的距离;θ为Z轴和r轴夹角锐角,均取正数;t为某一时刻,为了说明P在t时刻的声压;P0为线元在单位距离上产生的声压;a为阵元宽度;d为阵元间距;n为阵元数;ω为角频率;k为波数;Δtn为第n个阵元的延迟时间。
依据用户输入的探头参数,仿真系统可通过式(1)计算出在无限大超声声场空间中有限区域内、有限个点的声压值,并以矩阵形式存储,然后以图像形式输出显示,此时就可完成探头声压分析功能。
线性矩形相控阵的声压指向性函数为[7]:
式中:N为阵元数目;k为波数;a为阵元在x方向的宽度;b为阵元在y方向的宽度;θ1为声束在XOZ平面上的投影与Z 轴的夹角;θ2为声束在YOZ平面上的投影与Z轴的夹角。
系统根据用户输入的探头参数及式(2)可求出相控阵探头各方向的指向性,并以图像形式输出结果。例如,探头偏转30°时的指向性如图3(a)所示,探头聚焦在40mm处的声场声压分布如图3(b)所示。其中用户输入探头参数分别为:阵元数目16,中心频率4MHz,阵元宽度0.45mm,阵元间隙0.05mm,声速5 920m/s。通过以上对声场声压及指向性的仿真显示,用户可以很直观地看到各种不同探头的声场分布情况。
图3 探头参数设置模块探头指向性和声压分布例图
此外,用户还可以通过人际界面改变各探头相关参数来观察声场声压及指向性变化,分析和研究相控阵探头的各参数对声场的影响,为超声检测过程中的探头参数的设置提供参考依据。
缺陷设置模块的主要任务有:
(1)模拟缺陷 可模拟点缺陷和体积缺陷。点缺陷为与被检试件声阻抗不同的一点;体积缺陷为与被检试件声阻抗不同的一空间区域,此空间区域是圆柱形通孔,其半径可自定义设置。缺陷设置模块界面如图4所示,用户可以在其上点击添加点缺陷,输入点缺陷名称、位置信息,如图5(a)所示;在缺陷设置模块界面上点击添加体缺陷,输入体缺陷的名称、半径及位置信息,如图5(b)所示。
图4 缺陷设置模块运行界面
图5 缺陷参数设置界面
(2)设置检测参数 包括聚焦方式、扫描方式设置。其中聚焦方式又包括单点聚焦、接收动态聚焦、动态聚焦及变孔径聚焦;扫描方式包括B扫描和S扫描。
在现有超声成像系统仿真方案中,fieldⅡ是现今在学术界、工业界广泛应用的声场仿真程序,其可以产生多种阵列条件下的仿真声场及阵列的接收信号,因此出于仿真发射声场与缺陷相互作用的复杂度和fieldⅡ权威性的考虑,此模块设计基于fieldⅡ环境运行Matlab编程,以完成阵列探头的扫描控制与缺陷回波的产生。
系统根据用户在探头参数模块和缺陷模块的设定条件初始化fieldⅡ,然后在不同的阵元施加具有不同延迟时间(由聚焦法则界定)的电激励信号以产生超声束;超声束进入被检试件,经缺陷散射被探头各阵元接收并转化为电信号;系统对所有阵元接收的电信号再施加相应延时并求和,形成一条A扫回波信号。通过持续移动接通阵元,便会形成一组A扫回波信号,这些回波信号以.mat文件格式存储在计算机上,再经包络检波、对数压缩[9]、DSC变换等一系列信号处理过程后,最终将图像还原出来。
利用离散希尔伯特变换的方法对A扫描线进行包络提取,目的是提取回波信号的幅度信息,形成A扫取包络文件。由于缺陷的反射、散射等导致回波信号具有较大的动态范围,因此对回波信号进行对数压缩以使其可在显示器中显示出来;最后利用数据插补填充、坐标转换等将A扫图像合成B扫或S扫图像。
用户在图5(b)体缺陷设置窗口模拟5个半径为1mm的通孔缺陷,缺陷X坐标分别为-10,-5,0,5,10mm,Z坐标分别为30,40,50,60,70mm;在图4中设置扫查方式为B扫查,聚焦方式为动态聚焦;其成像结果如图6(a)为所示。图6(b)为S扫查方式、动态聚焦方式下的S显示,其模拟缺陷仍是5个半径为1mm 的通孔,X 坐标分别为-10,-5,0,5,10mm,Z坐标分别为30,35,40,45,50mm。
图6 不同扫描成像界面
在明确超声相控阵成像检测原理及过程的基础上,开发了一款针对超声相控阵检测系统的仿真软件,将仿真系统分为探头参数设置、缺陷参数设置及仿真成像三大模块。探头参数模块可仿真显示相控阵探头的声场声压分布及其指向性特性,通过人机界面改变各探头相关参数可观察声场声压及指向性变化,并可分析研究各参数对声场的影响。缺陷参数设置模块可模拟缺陷并设置检测参数。仿真成像模块,利用FieldⅡ建立相控阵探头声场与缺陷相互作用的模型和缺陷回波的计算模型,并通过对回波信号进行对数压缩、取包络阈值、DSC变换等一系列信号处理,将缺陷图像还原出来。经验证,系统仿真探头特性、声束聚焦偏转控制、缺陷检测成像功能均已实现。
[1] 张伟志,刚铁,王军.超声波检测计算机模拟和仿真的研究及应用现状[J].应用声学,2003,22(3):39-44.
[2] 陈建忠,史耀武.超声检测过程的数值模拟[J].无损检测,2001,23(5):198-201.
[3] 张亮,王继阳.MATLAB与 C/C++ 混合编程[M].北京:人民邮电出版,2008.
[4] SHICHANG W,YIJUN S.Optimum beam steering of linear phased arrays[J].Wave Motion,1999,29:245-265.
[5] LIN Y,DODSON J M,HAMILTON J D,et al.Theory and Experiment for the Design of Piezoelectric Element for Phased Arrays[C]// Proceedings of 1997 IEEE Ultrasonics Symposium.[s.l.]:[s.n]1997:1697-1700.
[6] 万敏,王海涛,程继隆,等.超声相控阵声束控制特性分析[J].无损检测,2009,31(11):81-83.
[7] 冯若.超声诊断设备原理与设计[M].北京:中国医药科技出版社,1993.
[8] 冯若,姚锦钟,关立勋,等.超声手册[M].南京:南京大学出版社,1999.