⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stepped_frequency_pulses_ambig_called.m

📁 频率步进信号的脉冲串的模糊函数matlab代码
💻 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 + -