Hello,
Using 3D simulation with a circular emitter and a square sensor I am computing the pressure at the same point for media with different level of attenuation "medium.alpha_coeff". The parameter "medium.alpha_power is the same for all the situations and is equal to 1.01.
As an exemple here are 3 signals obtained for different values of "medium.alpha_coeff" (0, 1 and 2 dB/cm), where is possible to see the delay between them: https://meocloud.pt/link/4cf3c14c-52db-41f5-9df6-06217bc37e27/3%20signals.tif/
Why this variation of time of flight for different values of "medium.alpha_coeff", while whole remaining parameters remain the same?
I appreciate some help in this matter.
Best regards.
Here is the simulation code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% grid dimensions
XX=3.2e-3; YY=3.2e-3;
ZZ=30e-3;
% grid point spacing
scat=200e-6;
dx=scat;
dy=scat;
dz=scat;
% create the computational grid
Nx=round(XX/dx);
Ny=round(YY/dy);
Nz=round(ZZ/dz);
kgrid = makeGrid(Nx, dx, Ny, dy, Nz, dz);
kgrid.t_array = 0:40e-9:20e-6;
% circular transducer
R=round(1.5e-3/scat);
disc = makeDisc(Nx, Ny, Nx/2, Ny/2, R);
source.p_mask = zeros(Nx, Ny, Nz);
aa=zeros(Nx, Ny, Nz-1);%
source.p_mask=cat(3,disc,aa); %
% define properties of the input signal
source_strength = 10e6; % [Pa]
tone_burst_freq = 1e6; % [Hz]
tone_burst_cycles = 2;
% create the input signal using toneBurst
source.p = toneBurst(25e6, tone_burst_freq, tone_burst_cycles);
% define the properties of the propagation medium
medium.sound_speed = 1500*ones(Nx, Ny, Nz); % [m/s]
medium.density = 1000*ones(Nx, Ny, Nz); % [kg/m^3]
% receiver
sensor.mask = zeros(Nx, Ny, Nz);
sensor.mask(1:16,1:16,100:100)=1 %
% attenuation alpha= a.f^b
medium.alpha_coeff =2;
medium.alpha_power = 1.01;
% input arguments
input_args = {'DisplayMask', source.p_mask, 'DataCast', 'single','PMLInside', false,'PMLAlpha',2,'PMLSize', 20}
% run the simulation
sensor_data = kspaceFirstOrder3D(kgrid, medium, source, sensor, input_args{:});
sensor.record ={'p'}
pp=sum(sensor_data);