I have simulated a small object in water grids. But i get repeated peak-valleys of simulated data along with sensor dimension.Also i have tried difference objects like sphere, horizontal rectangles resulting same problems.
Here is the object image
![objects](https://ibb.co/wYPF6Qb)
And here is the resulting sensor-timestep image
![sensor-timesteps](https://ibb.co/GpfMwTR)
Besides that i have tried to move the sensors order in sensor.mask circulatively, and i get the peak-valleys of simulated data also moved circulatively.
I have no idea about this, and doubt is it concerned to the calculation procedures? below is the code
radius = 11; % mm
dx = 0.05; % mm
dy = 0.05; % mm
Nx = 2 * radius / dx + 1;
Ny = 2 * radius / dy + 1;
zlength = 10; % mm
dz = 0.1; % mm
Nz = zlength / dz;
% % generate k-wave grids
kgrid = kWaveGrid(Nx, dx*1e-3, Ny, dy*1e-3);
kgrid.Nt = 1000;
kgrid.dt = 2.5e-8;
% % % acoustic pressure
gruneisen_parameter = 0.02;
source.p0 = gruneisen_parameter * squeeze(absorption_coefficient(:,:,Nz/2)) .* squeeze(grid_fluence(:,:,Nz/2)) * 1e3;
% % sound speed and medium density
medium.sound_speed = 1501 * ones(Nx, Ny);
medium.density = 1000 * ones(Nx, Ny);
% % sensor settings
num_sensor = 1024;
sensormask_xy = makeCartCircle((radius-0.2)*1e-3, num_sensor);
sensormask_xy = [sensormask_xy(1,129:end),sensormask_xy(1,1:128);sensormask_xy(2,129:end),sensormask_xy(2,1:128)];
% % generate source data arrays
zstopmargin = 0.5; % mm
zstop = zlength / zstopmargin;
% for i=1:zstop
for i=fix(zstop/2):fix(zstop/2)
sensor.mask = [sensormask_xy(1,:);sensormask_xy(2,:)];
% sensor_data = kspaceFirstOrder2D(kgrid, medium, source, sensor,'PMLAlpha',0);
sensor_data = kspaceFirstOrder2D(kgrid, medium, source, sensor);
end
figure,imshow(source.p0(:,:),[]),title('source.p0 2D')
sdata_single = sensor_data;
figure,imshow(sdata_single,[]),title('sensor_data 2D')