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));