基于扩展收敛域指数CORDIC算法的超声时间增益补偿技术

2018-08-16 14:16邓鹰飞刘桂雄
中国测试 2018年7期
关键词:相控阵倍数增益

邓鹰飞, 刘桂雄

(1. 梧州学院机械与材料工程学院,广西 梧州 543002; 2. 华南理工大学机械与汽车工程学院,广东 广州 510640)

0 引 言

超声相控阵技术是工业无损检测领域中极为重要的手段[1- 2],可灵活控制声束形状、焦点位置和扫查路径等。在相控阵检测中,超声信号强度会随其在介质中传播而衰减,影响检测图像质量,需对回波信号进行时间增益补偿(TGC),而基于传统串行处理的CPU或数字信号处理技术(DSP)难以满足相控阵大量数据实时处理要求。故本文将解决三角函数、指数函数等运算的经典CORDIC算法[3- 4]用于超声相控阵时间增益补偿,研究指数CORDIC算法收敛域扩展方法及其FPGA实现技术,并采用该算法计算超声相控阵时间增益(dB)曲线对应的原始放大倍数,设计基于CORDIC算法的dB-倍数求解器,实现超声回波信号的实时、高精度补偿,最后对超声TGC系统性能进行仿真和试验。

1 指数CORDIC算法原理及收敛域扩展

指数CORDIC算法仅通过移位、加减操作即可实现对指数函数求解,但该算法收敛域太小,因此需研究其收敛域扩展方法才能使之满足工业应用需求。

1.1 指数CORDIC算法原理

图1为双曲系统向量旋转模型图,向量OV1沿双曲函数x2–y2=C2旋转至OVn。 若OV1、双曲线和x轴围成面积的2倍为λ,OVn、 双曲线和OV1轴围成面积的2倍为Θ[5]。则V1(x1,y1)和Vn(xn,yn)两点的坐标可表示为

图1 双曲系统CORDIC旋转模型

若将Θ分解成一系列微角度相加的形式,即Θ=d1θ1+d2θ2+···+dnθn,其中{θ1,θ2,···,θn}是微角度集,满足每进行一次微角度相加,就相当于对图1中旋转向量进行一次基本旋转(迭代),di是控制向量旋转方向的参数,可取±1,当di=1时向量逆时针旋转,当di=–1时向量顺时针旋转。式(1)可表示为

其中K是缩放因子,当向量旋转次数足够多时,它趋于一个常数1.207 5。

指数CORDIC算法每次旋转迭代方程式为

要满足迭代收敛,必须在第一次迭代之后,每隔3次迭代,重复一次当前旋转角度[6- 7],即i=1,2,3,4,4,5,6,7,7,··· ,n。

若初始输入x1=y1=1/K,zin=,则经过足够次迭代后有:

1.2 指数CORDIC算法收敛域扩展方法

由双曲系统指数CORDIC算法原理及角度序列表达式可知,若旋转向量一直往同一个方向迭代,可得到CORDIC算法能够计算的最大输入角度,即双曲线系统CORDIC算法的收敛范围:

由于算法收敛范围太小,无法满足超声相控阵时间增益控制系统信号处理需求,因此需对算法收敛域进行扩展处理。

对任意输入角度zin,可用zin除以ln2取整得到Q,取余得到φ,则有:

2 基于CORDIC算法的超声时间增益补偿实现架构及仿真

2.1 超声时间增益补偿原理及实现框架

图2为基于CORDIC算法的超声时间增益补偿原理图。首先读取存储在系统RAM中dB形式的增益曲线,通过扩展收敛域指数CORDIC算法计算其原始放大倍数G(t),再通过乘法器组将A/D采样后超声回波数字信号与放大倍数相乘,最后经D/A转换器输出补偿后的模拟信号。本方法的重点在基于CORDIC算法的dB-倍数求解器设计 、超声时间增益补偿FPGA实现。

图2 基于CORDIC算法的超声时间增益控制原理图

2.2 基于CORDIC算法的dB-倍数求解器设计及仿真

图3为基于指数CORDIC算法的dB-倍数求解器原理图。将上位机软件生成的分贝数增益曲线转化为原始放大倍数曲线的计算速度、精度,设计基于扩展收敛域指数CORDIC算法的dB-放大倍数对应求解器,把对应不同深度检测位置的dB补偿增益实时转化为原始放大倍数,对超声回波信号进行数字补偿,提高增益范围、精度。其中dB-倍数对应求解器输入参数应为检测材料的衰减系数、当前聚焦检测深度(由上位机软件输入)。

图3 基于CORDIC算法的dB-倍数求解器原理图

在Matlab上对基于指数CORDIC算法的dB-倍数求解器进行精度仿真,图4为基于CORDIC算法的dB-倍数求解器仿真结果。图4(a)是根据平面波超声信号在均匀介质中衰减情况模拟出的超声信号衰减曲线,再通过扩展收敛域指数CORDIC算法计算得到相应的回波信号实际增益补偿曲线,图中左纵坐标y表示衰减倍数,右纵坐标G(t)表示经CORDIC算法计算得到的超声回波实际增益系数。模拟超声检测系统参数为:介质衰减系数=0.032 dB/mm[9-10],超声波中心频率5 MHz,采样频率50 MHz,增益补偿常数K=1。通过CORDIC算法计算不同时间到达的超声回波实际增益倍数,与实际补偿倍数相比,得到基于指数CORDIC算法的dB-实际倍数求解器计算的相对误差情况,可以看出CORDIC算法计算超声回波增益最高相对误差不高于0.014%,满足超声时间增益补偿精度要求。

图4 CORDIC算法dB-倍数求解器仿真结果图

2.3 超声时间增益补偿FPGA实现及仿真

为加快超声相控阵时间增益控制系统运算速度,可采用流水线设计法在FPGA上实现扩展收敛域指数CORDIC算法,如图5所示。

图5 指数CORDIC算法FPGA实现图

本文采用FPGA开发编程软件Quartus Ⅱ进行仿真,选用芯片为Cyclone Ⅳ系列EP4CE15F17A7,仿真时钟频率为100 MHz。为验证CORDIC算法在FPGA上计算指数函数输出精度,在Modelsim软件上对CORDIC算法指数计算模块进行编译仿真。采用15级流水线CORDIC算法结构,将Modelsim仿真数据导出分析,取部分浮点求其指数的仿真计算结果,并与实际值进行对比,如表1所示。

表1 CORDIC算法Modelsim仿真结果

可以看出,算法在FPGA上实现计算指数函数平均最大相对误差不超过0.01%,足以满足超声相控阵时间增益补偿系统精度的要求。

在Matlab上对基于指数CORDIC算法的超声相控阵时间增益控制系统工作情况进行仿真。模拟超声检测参数分别为:探头中心频率5 MHz,采样频率50 MHz,被测物体(固)厚度10 cm,超声波速5 000 m/s,介质衰减系数=0.032 dB/mm。模拟被测物体内部深度为1,3,5,6.5 cm处分别有大小相同的缺陷。图6为基于CORDIC算法的超声回波信号增益控制仿真结果,从图6(a)可看出,虽然被测物体内部缺陷大小相同,但受超声波衰减特性影响,回波信号幅值随探测深度增加而明显降低,在6.5 cm处的缺陷回波能量几乎完全被耗散,无法真实反映缺陷大小;从图6(b)可看出,不同深度处大小相同的缺陷回波强度也保持一致,验证了基于指数CORDIC算法的超声回波信号增益控制系统对超声回波信号时间增益控制的准确性和可靠性。

图6 基于CORDIC算法的超声回波增益补偿仿真

3 基于CORDIC算法的超声时间增益补偿试验

本文具体试验方案为:在超声相控阵上位机软件上根据被测材料输入其声波衰减系数;上位机软件生成的dB增益曲线20lgG(t)通过PCIe接口送入主板FPGA上dB-放大倍数求解单元进行计算,生成原始放大倍数曲线;原始放大倍数曲线再与超声回波经ADC采样后的数字信号相乘,实现超声回波信号数字增益控制;将补偿后信号回送上位机软件进行图像重建,生成检测图像。

图7为搭建的试验平台,采用超声相控阵仪器作为下位机,基于FPGA+CORDIC算法实现模式,实现超越函数CORDIC算法硬件求解。检测对象为B型标准试块纵向分布的8个直径为2 mm的圆孔。

图7 试验平台搭建图

图8为时间增益补偿试验检测成像图,其横、纵坐标分别为水平方向检测距离(mm)、纵向检测深度(mm)。检测图像中纵向有效显示区红色像素越多表明超声回波幅值越大,即缺陷越大。由试验结果可看出,纵向分布的8个2 mm圆孔均被检出;根据红色像素点分布情况,对不同深度缺陷,超声时间增益控制模块能根据其所在位置进行相应补偿,达到精确检测缺陷大小的效果,验证基于CORDIC算法的超声时间增益补偿技术实际效果与价值。

图8 时间增益补偿试验检测成像图

4 结束语

1)本文基于超声相控阵回波信号时间增益控制技术原理及需求,提出采用扩展收敛域指数CORDIC算法对dB增益补偿曲线转换为实际放大倍数G(t)曲线的实时计算,再对超声回波采样信号进行数字补偿,降低时间增益控制模块硬件复杂度,提高时间增益控制精度,增大补偿范围。

2)设计基于扩展收敛域的双曲系统指数CORDIC算法的dB-放大倍数对应求解器并进行精度测试,结果表明基于该算法计算超声回波实际增益最大相对误差不超过0.014%,精度满足超声相控阵时间增益控制需求。

3)采用CORDIC算法dB-增益倍数求解器计算超声回波信号实际增益倍数,对不同深度处大小相同的缺陷进行补偿,仿真结果表明经过基于CORDIC算法的时间增益补偿后,不同深度处相同大小的缺陷回波强度保持一致,准确反映物体内部缺陷真实大小,提高超声相控阵检测准确性。

猜你喜欢
相控阵倍数增益
同样是倍数,为啥还不同
基于增益调度与光滑切换的倾转旋翼机最优控制
相控阵超声技术在PE管电熔焊接检测的应用
相控阵超声波检测技术认证
基于单片机的程控增益放大器设计
一种相控阵雷达的通讯处理器设计
基于Multisim10和AD603的程控增益放大器仿真研究
倍数魔法
程控增益射频宽带放大器
如何表达常用的倍数