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')