89 lines
1.7 KiB
Objective-C
Executable File
89 lines
1.7 KiB
Objective-C
Executable File
global ...
|
|
B ...
|
|
T_p ...
|
|
f_s ...
|
|
T_s ...
|
|
f_c ...
|
|
PRF ...
|
|
T_r ...
|
|
t_single_pulse ...
|
|
c ...
|
|
N ...
|
|
M ...
|
|
R_0...
|
|
delta_R_wide ...
|
|
delta_R_narrow ...
|
|
N_wide ...
|
|
N_narrow ...
|
|
ranges_wide...
|
|
ranges_narrow ...
|
|
betas_wide ...
|
|
betas_narrow ...
|
|
trail_times...
|
|
method ...
|
|
N_high ...
|
|
LASSO_lambda ...
|
|
tau ...
|
|
iter_max ...
|
|
FAR_N ...
|
|
FAR_M ...
|
|
Ns Ms lambdas sigmas
|
|
;
|
|
|
|
B = 10e5;
|
|
T_p = 1e-5;
|
|
f_s = B;
|
|
T_s = 1 / f_s;
|
|
f_c = 1e9;
|
|
duty_cycle_inv = 10;
|
|
T_r = T_p * duty_cycle_inv;
|
|
PRF = 1 / T_r;
|
|
|
|
t_single_pulse = 0: 1 / f_s: T_r - 1 / f_s;
|
|
|
|
c = 3e8;
|
|
|
|
N = length(t_single_pulse);
|
|
N_high = T_p * f_s;
|
|
M = round(T_p * B);
|
|
R_0 = 0;
|
|
|
|
delta_R_wide = c ./ 2 ./ B; % 宽带情况下的距离分辨力
|
|
delta_R_narrow = T_p .* c ./ 2; % 窄带情况下的距离分辨力
|
|
|
|
N_wide = FAR_N; % 宽带情况下,发射 480 个脉冲
|
|
|
|
N_narrow = round(N_wide / M);
|
|
|
|
ranges_wide = R_0 + (0:N_wide) * delta_R_wide; % [1000, 4000]
|
|
ranges_narrow = R_0 + (0:N_narrow) * delta_R_narrow; % [1000, 4000]
|
|
|
|
% betas_wide = (linspace(1, 0.1, FAR_M * FAR_N) + 1j * linspace(0.1, 1, FAR_M * FAR_N))';
|
|
betas_wide = zeros(FAR_M * FAR_N, 1) + 1;
|
|
betas_narrow = zeros(FAR_N, 1);
|
|
for i = 1: FAR_N
|
|
for j = 1: FAR_M
|
|
idx = (i-1) * FAR_M + j;
|
|
betas_narrow(i) = betas_narrow(i) + betas_wide(idx) * exp(1j * 2 * pi * 2 * delta_R_wide * j / c);
|
|
end
|
|
end
|
|
|
|
trail_times = 250;
|
|
% method = "debiased_LASSO";
|
|
% method = "LASSO";
|
|
% method = "BP";
|
|
method = "cVAMPro";
|
|
% method = "debiased_LASSO_FISTA";
|
|
|
|
LASSO_lambda = 0.1;
|
|
tau = 1e-6;
|
|
iter_max = 1000;
|
|
|
|
Ns = [256];
|
|
Ms = [16];
|
|
sigmas = [0.01];
|
|
lambdas = zeros(length(Ns), 1);
|
|
for i = 1: length(Ns)
|
|
lambdas(i) = Map(Ns(i) + "_" + Ms(i));
|
|
end
|