Add Random PRI
This commit is contained in:
@@ -0,0 +1,41 @@
|
|||||||
|
clc; clear; close all;
|
||||||
|
|
||||||
|
parameters;
|
||||||
|
|
||||||
|
global trail_times;
|
||||||
|
|
||||||
|
[s_T_narrow, A] = narrow_signal_model(t, 1);
|
||||||
|
|
||||||
|
A = A / 10;
|
||||||
|
|
||||||
|
AH = A';
|
||||||
|
|
||||||
|
H0 = [];
|
||||||
|
for T = 1: trail_times
|
||||||
|
x = zeros(10, 1);
|
||||||
|
% x(4) = 0.8;
|
||||||
|
y = A * x;
|
||||||
|
y_noise = awgn(y, 15);
|
||||||
|
|
||||||
|
x_hat = AH * y_noise;
|
||||||
|
|
||||||
|
H0 = [H0 x_hat'];
|
||||||
|
end
|
||||||
|
|
||||||
|
H1 = [];
|
||||||
|
for T = 1: trail_times
|
||||||
|
x = zeros(10, 1);
|
||||||
|
x(4) = 0.8;
|
||||||
|
y = A * x;
|
||||||
|
y_noise = awgn(y, 15);
|
||||||
|
|
||||||
|
x_hat = AH * y_noise;
|
||||||
|
|
||||||
|
H1 = [H1 x_hat(4)];
|
||||||
|
end
|
||||||
|
|
||||||
|
% figure; histfit(real(H0));
|
||||||
|
% figure; histfit(real(H1));
|
||||||
|
|
||||||
|
figure;
|
||||||
|
plot()
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
function [s_T_narrow, A_narrow] = narrow_signal_model(t, betas_narrow)
|
||||||
|
global f_c N_narrow N FIGURE N_wide numP f_s K_chirp T_r;
|
||||||
|
|
||||||
|
tt = 0: 1/f_s: numP * T_r - 1/f_s;
|
||||||
|
|
||||||
|
% 使用等效散射系数生成窄带情况信号模型
|
||||||
|
s_T_narrow = zeros(1, N * numP);
|
||||||
|
for j = 1: numP
|
||||||
|
idx = ((j-1) * N + (1:N_narrow));
|
||||||
|
tp = idx / f_s;
|
||||||
|
s_T_narrow(1, idx) = exp(1j * 2 * pi * (f_c * tp + 0.5 * K_chirp * tp .^ 2));
|
||||||
|
end
|
||||||
|
|
||||||
|
% s_T_narrow = exp(1j .* 2 .* pi .* f_c .* t);
|
||||||
|
s_R_narrows = zeros(N_narrow, N * numP);
|
||||||
|
for i = 1: N_narrow
|
||||||
|
p = i * (N_wide / N_narrow);
|
||||||
|
s_R_narrows(i, :) = betas_narrow * [zeros(1, p), s_T_narrow(1: end-p)];
|
||||||
|
end
|
||||||
|
|
||||||
|
A_narrow = s_R_narrows';
|
||||||
|
if FIGURE
|
||||||
|
subplot(2, 1, 1); plot(tt, real(s_T_narrow));
|
||||||
|
subplot(2, 1, 2); plot(tt, real(s_R_narrows(1, :)));
|
||||||
|
end
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
global bandwidth T_p f_s T_s K_chirp f_c PRF T_r numP t tP c N M R_0...
|
||||||
|
delta_R_wide delta_R_narrow N_wide N_narrow ranges_wide...
|
||||||
|
ranges_narrow betas_wide FIGURE K_wide K_narrow trail_times...
|
||||||
|
method N_high TEST lambda tau iter_max noise_sigma FAR_N FAR_M noise_sigma_2 DEBUG_LEVEL...
|
||||||
|
;
|
||||||
|
|
||||||
|
f_c = 10e9; % X wave
|
||||||
|
bandwidth = 100e6;
|
||||||
|
T_p = 1e-5;
|
||||||
|
f_s = 2 * bandwidth;
|
||||||
|
T_s = 1 / f_s;
|
||||||
|
K_chirp = bandwidth / T_p;
|
||||||
|
T_r = T_p * 10;
|
||||||
|
PRF = 1 / T_r;
|
||||||
|
|
||||||
|
numP = 10;
|
||||||
|
|
||||||
|
t = 0: 1 / f_s: T_r - 1 / f_s;
|
||||||
|
tP = 0: 1 / f_s: T_r * numP - 1 / f_s;
|
||||||
|
|
||||||
|
c = 3e8; % 光速
|
||||||
|
|
||||||
|
N = length(t);
|
||||||
|
N_high = T_p * f_s;
|
||||||
|
M = round(T_p * bandwidth);
|
||||||
|
R_0 = 0;
|
||||||
|
delta_R_wide = c ./ 2 ./ bandwidth;
|
||||||
|
delta_R_narrow = T_p .* c ./ 2;
|
||||||
|
N_wide = 100;
|
||||||
|
N_narrow = round(N_wide / M);
|
||||||
|
|
||||||
|
% alert(N > N_narrow);
|
||||||
|
|
||||||
|
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, N_wide) + 1j * linspace(0.1, 1, N_wide);
|
||||||
|
|
||||||
|
K_wide = round(N_wide / 10);
|
||||||
|
K_narrow = round(K_wide / 10);
|
||||||
|
|
||||||
|
FIGURE = false;
|
||||||
|
trail_times = 5000;
|
||||||
|
% method = "debiased_LASSO";
|
||||||
|
% method = "LASSO";
|
||||||
|
% method = "BP";
|
||||||
|
method = "cVAMPro";
|
||||||
|
TEST = false;
|
||||||
|
|
||||||
|
lambda = 0.01;
|
||||||
|
tau = 1e-6;
|
||||||
|
iter_max = 1000;
|
||||||
|
|
||||||
|
noise_sigma = 0.1;
|
||||||
|
noise_sigma_2 = 0.1;
|
||||||
|
|
||||||
|
FAR_N = 480;
|
||||||
|
FAR_M = 10;
|
||||||
|
|
||||||
|
DEBUG_LEVEL = 1;
|
||||||
Reference in New Issue
Block a user