Prof. Ben,
Thank you for your quick response. I read the post on the forum that discussed about thermo-acoustic signal and its simulation. It was of great help. But i would like to know if there's any problem with this code(i have tried it but m not sure its correct or not). Also I am not sure how to decide the sensors not picking up the source signal(I mean the sensor should pick up thermo-acoustic rather than the microwave itself)...
clear all;
% create the computational grid
Nx = 128; % number of grid points in the x (row) direction
Ny = 128; % number of grid points in the y (column) direction
dx = 50e-3/Nx; % grid point spacing in the x direction [m]
dy = dx; % grid point spacing in the y direction [m]
kgrid = makeGrid(Nx, dx, Ny, dy);
% define the properties of the propagation medium
medium.sound_speed = 1540; % [m/s]
medium.alpha_coeff = 0.003660; % [dB/(MHz^y cm)]
medium.alpha_power = 1.5 ;
% create the time array
[kgrid.t_array dt] = makeTime(kgrid, medium.sound_speed);
% define a single source point
source.p_mask = zeros(Nx, Ny);
source.p_mask(end - Nx/4, Ny/2) = 1;
% define a time varying sinusoidal source
source_freq = 2.45e9; % [Hz]
source_mag = 0.25; % [Pa]
gruneisen = 0.11;
pulsewidth = 1e-6;
t_offset = 5e-6;
gaussian = exp(-((kgrid.t_array-t_offset)/pulsewidth).^2)/(pulsewidth*sqrt(pi));
source.p = source_mag*gruneisen*gaussian;
% filter the source to remove high frequencies not supported by the grid
source.p = filterTimeSeries(kgrid, medium, source.p);
% define a single sensor point
sensor.mask = zeros(Nx, Ny);
sensor.mask(Nx/4, Ny/2) = 1;
% define the acoustic parameters to record
sensor.record = {'p', 'p_final'};
% % run the simulation
sensor_data = kspaceFirstOrder2D(kgrid, medium, source, sensor);
% plot the final wave-field
figure;
imagesc(kgrid.y_vec*1e3, kgrid.x_vec*1e3, sensor_data.p_final + source.p_mask + sensor.mask, [-1 1]);
colormap(getColorMap);
ylabel('x-position [mm]');
xlabel('y-position [mm]');
axis image;
% plot the simulated sensor data
figure;
[t_sc, scale, prefix] = scaleSI(max(kgrid.t_array(:)));
subplot(2, 1, 1), plot(kgrid.t_array*scale, source.p, 'k-');
xlabel(['Time [' prefix 's]']);
ylabel('Signal Amplitude');
axis tight;
title('Input Pressure Signal');
subplot(2, 1, 2), plot(kgrid.t_array*scale, sensor_data.p, 'r-');
xlabel(['Time [' prefix 's]']);
ylabel('Signal Amplitude');
axis tight;
title('Sensor Pressure Signal');
thank you in advance