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