Hi everyone, recently, I have been using kWaveArray to simulate the phased array ultrasound focusing sound field. However, when using the function " toneBurst" , I found that the value of "cycle" must be large enough (≥500) to obtain reasonable results; otherwise, the gain of the focused sound field would be too high, which is not reasonable. Could you please tell me what the reason is? The code is as follows:
input_args={'DisplayMask',source.p_mask + sensor.mask,...
'DataCast','double',...
'CartInterp','linear',...% 'CartInterp','nearest',...
'PMLSize',[20 20 20],...
'PMLAlpha',5,...
'PMLInside',false};
sensor_data=kspaceFirstOrder3DG(kgrid,medium,source,sensor,input_args{:});
% 求取各阵元延时
% [max_val,max_pos]=max(sensor_data,[],2);
% travel_time=max_pos;
% time_delays=max(travel_time)-travel_time;
sig_rev=fliplr(sensor_data);
[max_val,max_pos]=max(sig_rev,[],2);
time_delays=max_pos-min(max_pos);
focus_mask=source.p_mask;
source.p_mask=sensor.mask;
p0=0.1e6;
% source_cycle2=490; % 能够聚焦,但是结果会发散,声压增益500倍
source_cycle2=500;
source.p=1e6*toneBurst(1/kgrid.dt,f0,source_cycle2,'SignalOffset',time_delays,'Envelope','Rectangular');
sensor.mask=zeros(nx,ny,nz);
sensor.mask(Index_x-30:Index_x+30,Index_y-30:Index_y+30,:)=1;
sensor.record={'p','p_max_all'};
nT=100;
sensor.record_start_index=kgrid.Nt-T0/kgrid.dt*nT+1;
It is currently unclear what specific reason caused this. I would greatly appreciate it if friends could help figure out exactly what the cause is. Thank you very much.