Files
2024-05-09 16:48:41 +08:00

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)");