hey to all, thanks for reading this in advance.
I have a AoI=200 x 200 binary matrix, composed by zeros and ones(0 and 1), I define the position of the 1.
The 1 in the matrix represent isolated targets in a radar scenario, for example,AoI(2,(5:10)) = 1.
I define also the position of a receiving antenna (x_receiver=400,y=receiver=400) and of a aeroplane,which has a transmitter on board and this plane is moving in x axis,and stops along the path to iluminate this AoI scenario. The movement of the plane is defined by waypoints
x_transmitter=200
y_transmitter=waypoints=[10,20,30,40]
In my code I have a main cycle that read this matrix, identifies the targets and calculates several radar parameters: My doubt is: that for each waypoint I produce a series of calculations. And Imagine at waypoint 10, target(2,5),(2,6),(2,7) get founded. I calculate Reference_SignalFD and Surveillance_SignalFD. But if at waypoint 20, target(2,8),(2,9) gets founded I want to also calculate Reference_SignalFD and Surveillance_SignalFD but without eliminating the calculations of previous waypoint. so basically I want that in all plane movement Reference_SignalFD and Surveillance_SignalFD gets calculated in a matrix where the lines of that matrix are the different waypoints and the columns are the values of the calculations. Thanks
for i=1:numel(waypoints)
Y_transmitter = waypoints(i);
for xx=1:200
for yy=1:200
if AoI(xx,yy) ~= 0 % Target detection
X_target= xx;
Y_target= yy;
VTransmitter_target=[X_target-X_transmitter Y_target-Y_transmitter]; % Vector transmitter-target
Vectors_product=dot( VTransmitter_target,normal_ntarget1)/norm(VTransmitter_target);
angle_transmitter =180-acosd(Vectors_product);
VTarget_receiver=[X_receiver-X_target Y_receiver-Y_target]; % Vector Target-receiver
Vectors_product=dot( VTarget_receiver,normal_ntarget1)/norm(VTarget_receiver);
angle_receiver =acosd(Vectors_product);
status=snell_function(angle_transmitter,angle_receiver,teta_flutuations);
Pr = LoS_receiver(X_receiver,Y_receiver,X_target,Y_target,AoI);
Pt = LoS_transmitter(X_transmitter,Y_transmitter,X_target,Y_target,AoI);
if status ==1 & Pt ==1 & Pr ==1
R1=sqrt( (X_transmitter-X_target).^2 + (Y_transmitter-Y_target).^2); % Distance transmitter-target in meters
R2=sqrt( (X_receiver-X_target).^2 + (Y_receiver-Y_target).^2); % Distance Receiver-target in meters
Rd=sqrt( (X_receiverref-X_transmitter).^2 + (Y_receiverref-Y_transmitter).^2); % Distance Transmitter-Receiver in meters
k0=(2*pi*freq_XQPSK)/c; % Wave index variable in radians
Surveillance_SignalFD=(1/(R1+R2))*X_QPSK.*exp(-1*j*k0*(R1+R2)); % Surveillance Signal frequency domain
Reference_SignalFD=(1/Rd)*X_QPSK.*exp(-1*j*k0*Rd); % Reference Signal frequency domain
fprintf('\n Coordenadas do avião(%d,%d)',X_transmitter,Y_transmitter);
fprintf('\n Coordenadas do alvo(%d,%d)',X_target,Y_target);
fprintf('\n Distância transmissor-alvo R1 %4.2f metros',R1);
fprintf('\n Distância alvo-recetor R2 %4.2f metros',R2);
fprintf('\n Distância transmissor-recetor Rd %4.2f metros',Rd);
continue
end
end
end
end
end