📄 stepped_frequency_pulses_ambig_called.m
字号:
%——频率步进 脉冲串 的模糊函数 called——
%模糊函数公式参考源自:电子文档《步进频率雷达信号的模糊函数》(王一丁,李兴国,宁军)的P3-4。
function [x,xtau,xfd] = stepped_frequency_pulses_ambig_called(taup,Tr,N,delta_f,fdy,taux)
eps = 0.0000001;
nf = length(fdy);
nt = length(taux);
x = zeros(nf,nt);%给模糊函数所有点赋初值0
fdmin = fdy(1);
fdmax = fdy(nf);
delta_fd = fdy(2) - fdy(1);
taumin = taux(1);
taumax = taux(nt);
delta_tau = taux(2) - taux(1);
jj = 0;
for tau = taumin : delta_tau : taumax
jj = jj + 1;
ii = 0;
for fd = fdmin : delta_fd : fdmax
ii = ii + 1;
for p = -(N-1) : 1 : (N-1)
if (abs(tau - p * Tr) < taup)
t_temp = tau - p * Tr;
f_temp = fd - p * delta_f;
val1_1 = sinc(f_temp * (taup - abs(t_temp)));
val1_2 = 1 - abs(t_temp) / taup;
val1 = abs(val1_1) * abs(val1_2);
t_f_temp = delta_f * tau + p * delta_f * Tr - fd * Tr;
val2 = abs(sin((N - abs(p)) * pi * t_f_temp + eps) / sin(pi * t_f_temp + eps));
x_temp(p + (N - 1) + 1) = val1 * val2;
else
x_temp(p + (N - 1) + 1) = 0;
end
end
x(ii,jj) = sum(x_temp);
end
end
%绘制时域主峰:fd=p=0
xtau = zeros(1,nt);
jj = 0;
for tau = taumin : delta_tau : taumax
jj = jj + 1;
ii = 0;
for fd = 0 : delta_fd : 0
ii = ii + 1;
for p = -(N-1) : 1 : (N-1)
if (abs(tau - p * Tr) < taup)
t_temp = tau - p * Tr;
f_temp = fd - p * delta_f;
val1_1 = sinc(f_temp * (taup - abs(t_temp)));
val1_2 = 1 - abs(t_temp) / taup;
val1 = abs(val1_1) * abs(val1_2);
t_f_temp = delta_f * tau + p * delta_f * Tr - fd * Tr;
val2 = abs(sin((N - abs(p)) * pi * t_f_temp + eps) / sin(pi * t_f_temp + eps));
x_temp(p + (N - 1) + 1) = val1 * val2;
else
x_temp(p + (N - 1) + 1) = 0;
end
end
xtau(ii,jj) = sum(x_temp);
end
end
%绘制频域主峰:tau=p=0
xfd = zeros(nf,1);
jj = 0;
for tau = 0 : delta_tau : 0
jj = jj + 1;
ii = 0;
for fd = fdmin : delta_fd : fdmax
ii = ii + 1;
for p = 0 : 1 : 0
if (abs(tau - p * Tr) < taup)
t_temp = tau - p * Tr;
f_temp = fd - p * delta_f;
val1_1 = sinc(f_temp * (taup - abs(t_temp)));
val1_2 = 1 - abs(t_temp) / taup;
val1 = abs(val1_1) * abs(val1_2);
t_f_temp = delta_f * tau + p * delta_f * Tr - fd * Tr;
val2 = abs(sin((N - abs(p)) * pi * t_f_temp + eps) / sin(pi * t_f_temp + eps));
x_temp(p + (N - 1) + 1) = val1 * val2;
else
x_temp(p + (N - 1) + 1) = 0;
end
end
xfd(ii,jj) = sum(x_temp);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -