Field II 超声相控阵成像系列1——复合平面波成像(更正)

       
       超声平面波成像仅一次发射就可以获取整个感兴趣区域图像信息,且具有较高的帧频,但由于发射声场不聚焦,图像对比度和分辨率降低。为了提高成像质量,可以通过发射若干个不同角度的平面波,进行相干叠加以提高成像质量。

      此处以Field II软件仿真相控阵的复合平面波成像。

图1 相控阵成像空间坐标

       图1为相控阵成像的成像空间坐标,X轴代表成像的Lateral方向,沿换能器阵列;Z轴代表Axial方向,与超声传播方向平行;Y轴代表Elevation方向。

 图2 偏转角度平面波示意图

      图2为相控阵平面波偏转发射的示意图,对于无偏转角度,可使各阵元发射延时全为0,对于偏转发射(包括正常发射)延时计算为:

tx_d=pitch*[0:number_of_ele-1]*sin(steer);

    偏转角度表示为负往左偏转,角度为正往右偏转。

    在波束合成中时,采用最常用的延时叠加算法,延时由两部分构成发射延时Tx 和接收延时Rx ,在成像过程中需要减去起始采样时间tstart,在实际工程中tstart可以代表波束合成参数准备时间、声束在透镜中传播时间等,最终成像的延时表示为:

delay_t=Tx+Rx-tstart;

Tx=(z(k)*cos(TXangle) + (x(k)+ halfaper)*sin(TXangle))/c; % TX distance

Rx = (sqrt((xT-x(k)).^2 + z(k).^2))/c; % RX distance

 halfaper = sign(TXangle)*xT(end); 

    其中tstart可有Field II中 calc_scat_multi 函数提供, c为声速,[x(k),z(k)] 为像素点坐标。xT为换能器阵元坐标。

    需要注意的是相控阵成像是成像区域为扇形区域,并非矩形区域,如下图所示,因此在做延时叠加时,需要将极坐标系转化为笛卡尔坐标系。

仿真程序

1. 参数设置

%% specify trans parameters
trans.name='P7-4';
trans.fc=6e6;
trans.numele = 64;
trans.width =136.9e-6; % width in mm
trans.pitch = 171.1e-6;   % Spacing between elements in mm.
trans.kerf=trans.pitch-trans.width;
trans.heigh=14e-3;
trans.elevationFocus =60e-3; % nominal elevation focus depth from lens on face of transducer (spec)
trans.focus=[0 0 100e6]/1000;
trans.ElementPos = trans.pitch*(-((trans.numele-1)/2):((trans.numele-1)/2));
trans.c=1540; % speed of sound
xT=trans.ElementPos;

2.设置相控阵成像视角,成像深度,偏转角度

userset.theta = -pi/4;
userset.fs=100e6; % sampling frequency
userset.dep1=0e-3; % image start depth
userset.dep2=40e-3; % image end depth
userset.lat1=trans.ElementPos(1); %image start lateral position
userset.lat2=trans.ElementPos(end); %imade end lateral position
userset.angrange=20;
userset.angnum=21;

 3 设置阵元激励以及脉冲响应

%% generate TX array
emit=xdc_linear_array(trans.numele,trans.width,trans.heigh,trans.kerf,3,10,trans.focus);
% generate RX array
rcv=xdc_linear_array(trans.numele,trans.width,trans.heigh,trans.kerf,3,10,trans.focus);
%% set implse response
impulse=sin(2*pi*trans.fc*(0:1/userset.fs:2/trans.fc));
impulse_response=impulse.*hanning(max(size(impulse)))';
xdc_impulse(emit,impulse_response);  %set emit aperture impulse response
xdc_impulse(rcv,impulse_response);
%% set exciting of TX array
excitation=sin(2*pi*trans.fc*(0:1/userset.fs:2/trans.fc)); %set excitation
xdc_excitation(emit,excitation);  %set emit aperture excitation
%% set frequency of sampling
set_sampling(userset.fs)

4 生成仿真数据

Angles= Anglearange(userset.angrange,userset.angnum);
for i=1:userset.angnum
   
    txsteer=Angles(i);
    %%
    tx_d=plane_wave_delayt(trans,txsteer);
    
    xdc_apodization(emit,0,ones(1,trans.numele));
    xdc_apodization(rcv,0,ones(1,trans.numele));
    xdc_center_focus(emit,[0 0 0]);
    xdc_focus_times(emit,0,tx_d);
    xdc_focus_times(rcv,0,zeros(1,trans.numele));
%% set point target
 point_pos=[
                -2 0 10;
                2 0 10;
                -2 0 15;
                2 0 15;
                -2 0 20;
                2 0 20;
                -2 0 25;
                2 0 25;
                -2 0 30;
                2 0 30;
                -2 0 35;
                2 0 35;]/1000;

    point_amp=20*ones(1,max(size(point_pos)));
    [v_temp,tstart(i)]=calc_scat_multi(emit,rcv,point_pos,point_amp');
    rf_data(1:max(size(v_temp)),:,i)=v_temp;
end

5.波束形成


[xx,zz]=ImageRegion(userset.lat1,userset.lat2,userset.dep1,userset.dep2);
x=xx(Region.idx);
z=zz(Region.idx);
rf=hilbert(rf_data);
dasdata = zeros(size(xx,1),size(xx,2),userset.angnum);
tic
for ii=1:userset.angnum
   
    rf_an=rf(:,:,ii);
    TXangle = Angles(ii);             
    halfaper = sign(TXangle)*xT(end);  
%% Do Imaging

        dTX = z*cos(TXangle) + (x+ halfaper)*sin(TXangle); % TX distance
        dRX = sqrt((xT-x).^2 + z.^2); % RX distance
        tau = (dTX + dRX) / trans.c; % TX+RX travel time
        tau=dTX+dRX-tstart(ii);
        dasdata(:,:,ii)=das(rf_an,tau,trans)
       
    
end

5 成像

migSIG1=sum( dasdata,3);
FrameData = abs(migSIG1);
f1 = figure;
imagesc(X*1000,Z*1000,20*log10(FrameData/maxd),[-60,0]);colorbar;
colormap gray;
axis image

6 结果

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值