📄 lfm_radar.m
字号:
%
%本函数在5.5节中,用于仿真雷达系统,测试LFM波形的径向距离分辨率。
%
function LFM_radar(T,B,Rmin,Rmax,R,RCS)
if nargin==0
T=10e-6; %发射脉宽
B=30e6; %调频带宽
Rmin=10000;Rmax=15000; %距离范围
R=[10500,10510,11000,11008,12000,12005,13000,13002]; %目标位置向量,相对于雷达
RCS=[1 1 1 1 1 1 1 1]; %目标相对有效反射面
end
%参数设置
R=R-Rmin; %目标位置向量,相对距离门下限Rmin
C=3e8; %光速
K=B/T; %调频斜率
Rrec=Rmax-Rmin; %接收门宽/m
Trec=2*Rrec/C; %接收门宽/s
Fs=5*B;Ts=1/Fs; %计算机仿真的采样频率和周期
N0=ceil(T/Ts); %发射脉宽对应的采样点数
N=ceil(Trec/Ts); %接收窗对应的采样点数
%产生高采样率chirp信号
Rate=10;
t1=linspace(0,T,Rate*N0);
Chirp=exp(j*pi*K*t1.^2);
%产生回波信号
M=length(R);
Srt(1:N)=0; %初始化接收信号
for i=1:1:M
temp(1:N)=0;
tau=2*R(i)/C;
K0=ceil(tau/Ts) %第i个目标回波的相对起始位置
M0=fix((Ts*K0-tau)*Rate/Ts)
temp(K0:K0+N0-1)=RCS(i)*Chirp(M0+1:Rate:M0+Rate*(N0-1)+1);
Srt=Srt+temp; %将所有的目标回波叠加
end
%作出相关图形
figure(1)
subplot(211)
t=linspace(0,Trec,N);
plot(t*10^6,real(Srt));
xlabel('\fontsize{9}时间(us)');title('\fontsize{9}脉冲压缩前的回波');
subplot(212)
t1=linspace(-T/2,T/2,N0);
h=exp(-j*pi*K*t1.^2); %匹配滤波器单位冲激响应
Sot=conv(Srt,h); %匹配滤波
Z=abs(Sot);Z=Z/max(Z);
Z=20*log10(Z+1e-6);
dist=linspace(0,Rrec,N);
plot(dist+Rmin,Z(N0/2:N+N0/2-1));
axis([Rmin,Rmax,-60,0]);
xlabel('\fontsize{9}目标相对雷达的距离(m)');title('\fontsize{9}脉冲压缩后的回波');
%作出一张图,只有脉压后的波形,用于放大观察
figure(2)
dist2=linspace(0,Rrec,N);
plot(dist2+Rmin,Z(N0/2:N+N0/2-1));
axis([Rmin,Rmax,-60,0]);
xlabel('\fontsize{9}目标相对雷达的距离(m)');title('\fontsize{9}脉冲压缩后的回波');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -