rectangle_pulses_ambig_main.m
来自「矩形脉冲串信号的模糊函数matlab代码」· M 代码 · 共 72 行
M
72 行
%——无调频 矩形 相参脉冲串 的模糊函数 main——
clear all;
clc;
%——参数设置——
taup = 1e-6;%脉宽(s)
Tr = 5e-6; %脉冲重复周期(s)
N = 5; %脉冲周期数
delta_tau = 0.1e-6; %时间轴间隔
taumin = -10e-6; %时间轴最小值
taumax = -taumin - delta_tau; %时间轴最大值
delta_fd = 10e3; %频率轴间隔
fdmin = -2e6; %频率轴最小值
fdmax = -fdmin - delta_fd; %频率轴最大值
taux = taumin : delta_tau : taumax; %用于绘图的时间轴
fdy = fdmin : delta_fd : fdmax; %用于绘图的频率轴
%——参数设置 end——
x = rectangle_pulses_ambig_called(taup,Tr,N,fdy,taux);
figure(1);
mesh(taux,fdy,x);
xlabel('Delay - seconds');
ylabel('Doppler - Hz');
zlabel('Ambiguity function');
title('无调频矩形相参脉冲串的模糊函数');
figure(2);
contour(taux,fdy,x);
xlabel('Delay - seconds');
ylabel('Doppler - Hz');
title('无调频矩形相参脉冲串的模糊图');
grid;
%——Debug——
num = 0;
jj = 0;
for tau = taumin:delta_tau:taumax
jj = jj+1;
ii = 0;
for fd = fdmin:delta_fd:fdmax
ii = ii+1;
if x(ii,jj) >= x(201,101)
num = num+1;
ijx(num,:) = [jj,tau,ii,fd,x(ii,jj)];
end
end
end
tau = -0.02e-5;
fd = -600000;
for p = -(N-1):N-1
val1 = exp(j * p * pi * fd * Tr);
if (abs(tau - p * Tr) <= taup)
t_temp = tau - p * Tr;
x0 = exp(j * pi * fd * t_temp) * ((taup - abs(t_temp)) / taup) * sinc(fd * (taup - abs(t_temp)));
else
x0 = 0;
end
if fd ~= 0
val2 = sin(pi * fd * Tr * (N - abs(p))) / (N * sin(pi * fd * Tr));
else
val2 = (N -abs(p)) / N;
end
temp(p + (N - 1) + 1) = val1 * x0 * val2;
end
a = sum(temp);
absx = abs(a);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?