www.gusucode.com > 用MATLAB实现雷达回波信号的仿真源码程序 > 用MATLAB实现雷达回波信号的仿真源码程序/huibo.m

    %--------------线性调频信号载频f0=30MHz,脉冲重复周期30us,带宽B=4MHz,发射脉宽6us------% 
function [signal,M,N]=huibo(B,D)     %( D=B*Tw=24) 
R=20000;              %目标范围40公里 
v=3000;                %目标相对于径向运动的速度300m/s 
q=0;                  %初始相位 
c=3e8;                %光速 
Vgain=2;              %天线方向图调制,仿真近似处理为对脉冲的幅度的影响为常数%  
f0=30e6;              %设置载波频率    
L=c/f0;               %雷达信号的波长10; 
fd=250;             %多普勒频率250; 
Btar=4*pi*R/L;           
fs=40e6; Ts=1/fs;    %仿真采样频率及周期 
tao=100e-6           %发射脉宽 
fr=1000;Tr=1/fr;             %脉冲重复周期 
B=5e6;                %调频带宽4M    
k=B/tao;           %调频斜率 
M=floor(fs*Tr);       %每个回波对应采样的数据个数点 
m1=floor(2*fs*Tr/10);  m2=m1+B/(k*Ts);   %动目标开始点与结束点 
m3=floor(5*fs*Tr/10);  m4=m3+B/(k*Ts);   %静目标开始点 
f1=f0-B/2; 
N=10;                 % 回波数10个 
s1=zeros(N,M); 
for n=1:N 
  for m=1:M  
     s1(n,m)=(u(m-m1)-u(m-m2)).*Vgain.*cos(2.*pi.*( f1.*(m-m1).*Ts + k/2.*(m-m1).*(m-m1).*Ts.*Ts) + 2*pi*fd.*n.*Tr -Btar +q);  %----动目标存储矩阵 
     s2(n,m)=(u(m-m3)-u(m-m4)).*Vgain.*cos(2.*pi.*( f1.*(m-m3).*Ts + k/2.*(m-m3).*(m-m3).*Ts.*Ts) -Btar +q);    %------静目标存储矩阵 
  end 
end      
s=s1+s2; 
[h,l]=size(s); 
ss=zeros(1,M*N); 
col=1; 
for i=1:h 
    for j=1:l 
        ss(1,col)=s(i,j); 
        col=col+1; 
    end  
end 
% % -----产生一组服从Gauss分布均值为0,方差为1的随机数,作为系统噪声------% 
% nois=0.1.*randn(1,length(ss));  
%  
% % -----------------------地物杂波zb----------% 
% % cd=floor(length(ss)/2);  %-------考虑到y1的长度与swerling的长度不一致,处理方法将swerling的杂波长度多取一位,叠加时再去除----% 
% cd=rand(1,length(ss)); 
% sigma=2; 
% z2=0.08*sqrt(2*log(1./cd))*sigma;%.*s;      %产生瑞利分布信号1 
% % z2=zabo(cd); %--------round函数:四舍五入------------% 
% for p=1:N 
%   z2(1+(p-1).*M:(M-50)+(p-1).*M)=zeros(1,M-50); 
% end     
% % --------------线性调频信号js+系统噪声nois+地物杂波zb--------------------% 
% z=zeros(1,length(ss)) 
% for i=1:length(ss) 
%     z(i)=ss(i)+nois(i)+z2(i); 
% end   
z=ss; 
signal=z; 
subplot(2,1,1); 
plot(z);   %---------------------线性调频信号显示------------% 
title('目标回波的信号(含躁声)') 
zf1=z(1:M); 
Nf=M; 
zft=fft(zf1,Nf); 
n=0:Nf-1; 
subplot(2,1,2); 
q=(n./Nf).*(fs); 
plot(q,zft); 
title('一个周期内回波的频谱(含躁声)') 
%subplot(3,1,3); 
%plot(n,abs(zft));