Calculate waypoints for a moving plane with a radar

1 回表示 (過去 30 日間)
Miguel Albuquerque
Miguel Albuquerque 2022 年 5 月 6 日
コメント済み: Miguel Albuquerque 2022 年 5 月 10 日
Hey guys, thanks in advance for reading this.
Probably this is very basic, but im having troubles
I have a surveillance are, defined by AoI( 400 by 400) matrix, so a 2D scenario. A binary matrix, where 1= target, 0= non target. I select the position of the targets.
I want to imagine that a plane is going from AoI(310 0) to AoI(310 400). This plane is at 250m/s and has a radar mounted in it, and imagine this receives the waves at waypoints AoI(310,0),AoI(310,40) ,AoI(310,80),AoI(310,150) and AoI(310,400), taking 20 second in each distance between waypoints.
How sould I define a loop where in each waypoint the radar on the plane, gets the detection of targets and the incident and reflective angles calculated by this:
This cycle is just reading the matrix, identifying the targets( position =1 in matrix) and calculating the angles between the transmitter(8,5) and the receiver(8,15) to the normals to the targets. I want to calculate this cycle for each waypoint of the trajectory where the plane passes.
for xx=1:400
for yy=1:400
if AoI(xx,yy) ~= 0 % Target detection
X_target= xx*Lp;
Y_target= yy*Lp;
VTransmitter_target=[X_target-X_transmitter Y_target-Y_transmitter]; % Vector transmitter-target
Vectors_product=dot( VTransmitter_target,normal_ntarget1);
angle_transmitter =180-acosd(Vectors_product/(norm(VTransmitter_target)*norm(normal_ntarget1)));
VTarget_receiver=[X_receiver-X_target Y_receiver-Y_target]; % Vector Target-receiver
Vectors_product=dot( VTarget_receiver,normal_ntarget1);
angle_receiver =acosd(Vectors_product/(norm(VTarget_receiver)*norm(normal_ntarget1)));
  4 件のコメント
Jeffrey Clark
Jeffrey Clark 2022 年 5 月 7 日
For 2D, straight line, no acceleration a single track P = P0+V.*t, where P0 is initial x,y position, V is constant x,y velocity,and t is time after P0. Or add constant acceleration or higher terms. Or just make up each 20sec data point for each track and store into P.
P, P0 and V could represent all tracks by adding one more dimension as in P(track,x,y), which can be computed all at once:
P = P0 + V.*t;
Miguel Albuquerque
Miguel Albuquerque 2022 年 5 月 7 日
how can I insert that in my main for cycle?

サインインしてコメントする。

採用された回答

Matt J
Matt J 2022 年 5 月 8 日
Isn't it just
waypoints=[1,40,80,150,400]
X_transmitter = 310;
for i=1:numel(waypoints)
Y_transmitter = waypoints(i);
....
our code from yesterday
https://www.mathworks.com/matlabcentral/answers/1711710-calculate-2d-normal-vectors-to-a-plane?s_tid=srchtitle
....
end
  2 件のコメント
Miguel Albuquerque
Miguel Albuquerque 2022 年 5 月 8 日
It was that exactly. Thanks a lot again :D
Miguel Albuquerque
Miguel Albuquerque 2022 年 5 月 10 日
Hey again, I have a simple doubt, if you could help me
imagine this waypoints:
waypoints=[10,20,30,40,50]
for each waypoint I produce a series of calculations but this is my main doubt. Reference_SignalFD and Surveillance_SignalFD only gets calculated when a target is founded. Imagine at waypoint 10, target(2,10),(2,11),(2,12) get founded. I calculate Reference_SignalFD and Surveillance_SignalFD. But if at waypoint 20, target(2,12),(2,13) 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
, in this code:
for i=1:numel(waypoints)
Y_transmitter = waypoints(i);
.
.
.
.
Reference_SignalFD=(1/Rd)*X_QPSK.*exp(-1*j*k0*Rd); % Reference Signal frequency domain
Surveillance_SignalFD=(1/(R1+R2))*X_QPSK.*exp(-1*j*k0*(R1+R2)); % Surveillance Signal frequency domain
thank you

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeAutomated Driving Toolbox についてさらに検索

タグ

製品


リリース

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by