87 lines
1.6 KiB
Matlab
87 lines
1.6 KiB
Matlab
%%
|
|
clc;
|
|
clear;
|
|
|
|
config_parameters;
|
|
|
|
range = [250, 140, 167, 128, 12];
|
|
velocity = [16, 76, 155, 125, 463];
|
|
|
|
global C_n f_n;
|
|
C_n = zeros(M, len);
|
|
f_n = zeros(M, len);
|
|
|
|
for n_idx = 1:M
|
|
|
|
for t_idx = 1:len
|
|
C_n(n_idx, t_idx) = floor(rand * (M - 1));
|
|
f_n(n_idx, t_idx) = f_c + C_n(n_idx, t_idx) * Delta_f;
|
|
end
|
|
|
|
end
|
|
|
|
T_x = zeros(M, len);
|
|
R_x = zeros(M, len);
|
|
R_d = zeros(M, len);
|
|
|
|
for n_idx = 1:M
|
|
|
|
for t_idx = 1:len
|
|
t = range_t(t_idx);
|
|
T_x(n_idx, t_idx) = T_x_func(t);
|
|
R_x(n_idx, t_idx) = R_x_func(t, range(n_idx), velocity(n_idx));
|
|
R_d(n_idx, t_idx) = R_d_func(t, range(n_idx), velocity(n_idx));
|
|
end
|
|
|
|
end
|
|
|
|
save temp.mat
|
|
|
|
%%
|
|
|
|
clc
|
|
clear
|
|
load temp.mat
|
|
|
|
pred_range = zeros(1, M);
|
|
range_idx = zeros(1, M);
|
|
pred_velocity = zeros(1, M);
|
|
|
|
for n_idx = 1:M
|
|
|
|
[pred_range(n_idx), range_idx(n_idx)] = get_range(T_x(n_idx, :), R_x(n_idx, :), range(n_idx));
|
|
pred_velocity(n_idx) = get_velocity(T_x(n_idx, :), R_x(n_idx, :), velocity(n_idx));
|
|
|
|
end
|
|
|
|
%%
|
|
r_range = 1:500;
|
|
v_range = 1:500;
|
|
|
|
[X, Y] = meshgrid(r_range, v_range);
|
|
pred_z = zeros(length(r_range), length(v_range));
|
|
origin_z = zeros(length(r_range), length(v_range));
|
|
|
|
for n_idx = 1:M
|
|
pred_z(round(pred_range(n_idx)), round(pred_velocity(n_idx))) = 1;
|
|
origin_z(round(range(n_idx)), round(velocity(n_idx))) = 1;
|
|
end
|
|
|
|
figure(1)
|
|
subplot(211);
|
|
mesh(X, Y, pred_z);
|
|
title("Predict range-velocity reconstruction under M = 5");
|
|
xlabel("Range (m)");
|
|
ylabel("Velocity (m/s)");
|
|
|
|
subplot(212);
|
|
mesh(X, Y, origin_z);
|
|
title("Origin range-velocity data under M = 5");
|
|
xlabel("Range (m)");
|
|
ylabel("Velocity (m/s)");
|
|
|
|
|
|
|
|
|
|
|