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

📄 lmfs_pulses_ambig_called.m

📁 脉内线性调频、脉间频率步进信号的模糊函数
💻 M
字号:
%——线性调频步进频 脉冲串 的模糊函数 called——

%模糊函数公式参考源自:电子文档《脉内调频_脉间步进跳频雷达信号的模糊函数》(贺志毅,汤斌,郝祖全)的P2。
function [x,xtau,xfd] = lmfs_pulses_ambig_called(taup,Tr,N,delta_f,k,fdy,taux)%lmfs:linearly modulated frequency stepped
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_f_temp = p * delta_f * Tr + fd * Tr + delta_f * tau;
                val1 = sin((N - abs(p)) * pi * t_f_temp + eps) / sin(pi * t_f_temp + eps);
                t_temp = tau - p * Tr;
                f_temp = fd + p * delta_f;
                val2_1 = taup * (1 - abs(t_temp) / taup);
                val2_2 = sinc((f_temp + k * t_temp) * (taup - abs(t_temp)));           
                val2 = abs(val2_1 * val2_2);
                x_temp(p + (N - 1) + 1) = abs(val1) * abs(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 = 0 : 1 : 0
            if (abs(tau - p * Tr) < taup)
                t_f_temp = p * delta_f * Tr + fd * Tr + delta_f * tau;
                val1 = sin((N - abs(p)) * pi * t_f_temp + eps) / sin(pi * t_f_temp + eps);
                t_temp = tau - p * Tr;
                f_temp = fd + p * delta_f;
                val2_1 = taup * (1 - abs(t_temp) / taup);
                val2_2 = sinc((f_temp + k * t_temp) * (taup - abs(t_temp)));           
                val2 = abs(val2_1 * val2_2);
                x_temp(p + (N - 1) + 1) = abs(val1) * abs(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_f_temp = p * delta_f * Tr + fd * Tr + delta_f * tau;
                val1 = sin((N - abs(p)) * pi * t_f_temp + eps) / sin(pi * t_f_temp + eps);
                t_temp = tau - p * Tr;
                f_temp = fd + p * delta_f;
                val2_1 = taup * (1 - abs(t_temp) / taup);
                val2_2 = sinc((f_temp + k * t_temp) * (taup - abs(t_temp)));           
                val2 = abs(val2_1 * val2_2);
                x_temp(p + (N - 1) + 1) = abs(val1) * abs(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 + -