Update wide vs narrow code
This commit is contained in:
+88
@@ -0,0 +1,88 @@
|
||||
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
|
||||
Reference in New Issue
Block a user