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 + -
显示快捷键?