当前位置:首页 > 编程笔记 > 正文
已解决

基于matlab实现的多普勒脉冲雷达回波仿真

来自网友在路上 183883提问 提问时间:2023-09-19 07:46:43阅读次数: 83

最佳答案 问答题库838位专家为你答疑解惑

完整程序:

clear all;clc;close all;
fc=3e9;                 %载波频率
PRF=2000;       
Br=5e6;                 %带宽
fs=10*Br;               %采样频率
Tp=5e-6;                %脉宽
Kr=Br/Tp;               %频率变化率
c=3e8;                  %光速
lamda=c/fc;             %波长
Tr=1/PRF;               %脉冲重复周期
N_mc=1.5/60*PRF;        %脉冲个数
t=0:1/fs:15*Tp+Tp;      %采样时间
N_r=length(t);          %采样点数
N_target=5;             %目标个数
Rmax=c/2*15*Tp;                             %目标最大距离
R_t=Rmax*abs(rand(1,N_target));             %目标的距离
RCS_t=10*(exp(i*2*pi*rand(1,N_target)));    %目标RCS,幅度为10,相位在(0,2pi)之间随机分布
Vmax=lamda*PRF/2;                           %目标最大速度
v=Vmax*((1+rand(1,N_target))/2);            %目标速度
%% 生成目标矩阵
sr=zeros(N_mc,N_r);
for i=1:N_mc
    ta=(i-1)*Tr;
    sri=0;
    for k=1:N_target
        tao=2*(R_t(k)-v(k).*(ta+t))/c;
        srj=RCS_t(k).*rectpuls(t-tao-Tp/2,Tp).*exp(-1j*2*pi*fc*tao+1j*pi*Kr.*(t-tao-Tp/2).^2);
        sri=sri+srj;
    end
    sr(i,:)=sri;
end
%% 距离压缩前的回波
tm=(1:N_mc)/PRF;
R=c*t/2;
figure(1);
image(R,tm,255*abs(sr)/max(max(abs(sr))))  
figure(2);
plot(t*c/2,abs(sr(1,:)))         
%% 距离压缩
st=rectpuls(t-Tp/2,Tp).*exp(1i*pi*Kr*(t-Tp/2).^2);
stf=conj(fft(st));
for i=1:N_mc
    sr(i,:)=ifft(fft(sr(i,:)).*stf);            
end
figure(3);
image(R,tm,255*abs(sr)/max(max(abs(sr))))                
figure;
plot(t*c/2,abs(sr(1,:)))                       
             
sr=fft(sr,[],1);
V=linspace(0,PRF,50)*lamda/2;
figure;image(R,V,255*abs(sr)/max(max(abs(sr))))  

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"基于matlab实现的多普勒脉冲雷达回波仿真":http://eshow365.cn/6-9200-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!