文章来源:微信公众号:智能电磁频谱算法
简介
本代码主要用于生成近程模式下的LFM信号产生,频谱图,模糊函数图,模糊度等高线图,自相关函数图和多普勒敏感度,希望能够帮助于初步学习雷达信号的同学。
MATLAB代码
%近程模式下的单脉冲信号产生,频谱图,模糊函数图,模糊度等高线图,自相关函数图和多普勒敏感度:
clear all;close all;
%定义参数
B=10e6; % B ——带宽
Fc=10e9; % Fc——载频
Fs=10*B; % Fs——采样率
T2=10e-6; % T2——脉冲宽度
Tr=375e-6; % Tr——探测周期
C=2.997e8;
%产生线性调频脉冲信号
mu=B/T2;
NT2=[Fs*T2];
t=[-NT2/2:NT2/2-1]*T2/NT2;
f=Fc+mu*t.*t/2;
sig=exp(2*pi*j*f);
figure(1);
plot(t*1e6,real(sig));
title('近程模式下线性调频脉冲信号');
xlabel('延时(一个脉宽时间内)/us');
ylabel('归一化幅度');
grid on;
%线性调频脉冲信号频谱
sigfft=fftshift(fft(sig));
Nf=length(sigfft);
f=[-Nf/2:Nf/2-1]*Fs/Nf;
figure(2);
plot(f*1e-6,abs(sigfft)/max(abs(sigfft)));
% plot(f,abs(sigfft)/max(abs(sigfft)));
title('近程模式下的信号频谱图');
xlabel('频率/MHz');
ylabel('归一化幅度');
grid on;
%模糊函数
Naw=80;
Fdmax=B;
i=0;
for t=[-Naw:Naw-1]*T2/Naw
i=i+1;
j=0;
for Fd=[-Naw:Naw-1]*Fdmax/Naw;
j=j+1;
vala=(T2-abs(t))/T2;
valb=T2-abs(t);
valc=pi*(Fd+mu.*t);
vald=valb*valc+eps;
ambg(j,i)=abs(vala*(sin(vald)/(vald))).^2;
end
end
Td=[-Naw:Naw-1]*T2/Naw;
Fd=[-Naw:Naw-1]*Fdmax/Naw;
figure(3);
mesh(Td*1e6,Fd*1e-6,ambg);
% mesh(Td,Fd,ambg);
title('LFM信号的模糊函数图');
xlabel('延时/us');
ylabel('多普普勒频移/MHz');
zlabel('归一化幅度');
grid on;
%模糊度等高线图
figure(4);
contour(Td*1e6,Fd*1e-3,ambg);
title('近程模式下的模糊度等高线图');
xlabel('延时/us');
ylabel('多普普勒频移/KHz');
grid on;
%模块功能:自相关函数
figure(5);
plot(Td*1e6,abs(ambg(:,Naw+1)));
title('近程模式下的自相关函数');
xlabel('延时/us');
ylabel('归一化幅度');
grid on;
%多普勒敏感度
figure(6);
plot(Fd*1e-3,abs(ambg(Naw+1,:)));
title('近程模式下的多普勒敏感度');
xlabel('多普勒频移/KHz');
ylabel('归一化幅度');
grid on;: