一、简介

【雷达通信】基于雷达前视成像仿真matlab源码_matlab【雷达通信】基于雷达前视成像仿真matlab源码_matlab_02【雷达通信】基于雷达前视成像仿真matlab源码_matlab_03【雷达通信】基于雷达前视成像仿真matlab源码_matlab_04【雷达通信】基于雷达前视成像仿真matlab源码_matlab_05【雷达通信】基于雷达前视成像仿真matlab源码_matlab_06【雷达通信】基于雷达前视成像仿真matlab源码_matlab_07【雷达通信】基于雷达前视成像仿真matlab源码_matlab_08【雷达通信】基于雷达前视成像仿真matlab源码_matlab_09

二、源代码

clear all;clc; close all;
%  前视线阵
%% 参数
C=3e8;
fc=10e9;
lambda=C/fc;
v=100; 
Tp=1.5e-6;
N=60; %阵元个数
B=100e6;
Fs=120e6;
gama=B/Tp;
Da=0.2;
H=600;
PRF=1000; %阵元切换速度
phi=45/180*pi; %俯视角
theta=24/180*pi; %波束宽度
d=0.3;% 阵元间距
va=d*PRF; %方位速度
nrn=200;
nan=N;
Rs=H*sqrt(2);
%% point targets
% point=[600 0 0; 650 0 0; 600 50 0 ; 600 -50 0; 550 0 0 ];
point=[600 0 0];
point_num=size(point,1);
%% 
La=N*(Da+d);
ta=[-N/2:N/2-1]/PRF;
Tstart=2*Rs/C-nrn/2/Fs;  %起始时刻
Tend=2*Rs/C+(nrn/2-1)/Fs; %终止时刻
tr=[Tstart:1/Fs:Tend].';   %快时间 
%%
x_pos=ta.*v;
y_pos=ta.*va;
z_pos=H;
R0=sqrt(z_pos^2+(600-v.*ta).^2);
Rr=sqrt(R0.^2+(va.*ta).^2);
%% echo
x=zeros(nrn,nan,'single');
for m=1:N
    temp1=zeros(nrn,1);
    for num=1:point_num
        x_temp=abs(x_pos(m)-point(num,1));
        y_temp=y_pos(m)-point(num,2);
        z_temp=z_pos-point(num,3);
        Rt=sqrt(x_temp^2+y_temp^2+z_temp^2);
        alpha=atan(y_temp./sqrt(x_temp.^2+z_temp.^2));
        if (alpha>=-theta/2 && alpha<=theta/2)
            Rt=sqrt(x_temp^2+y_temp^2+z_temp^2);
            Wr=abs(tr-2*Rt/C)<=Tp/2;
            temp2=Wr.*exp(j*pi*gama*(tr-2*Rt/C).^2).*exp(-j*4*pi*Rt/lambda);
            temp1=temp1+temp2;
        end
    end
    x(:,m)=temp1;
end
figure;imagesc(abs(x));   
ka=(-2/lambda).*(va^2./R0);  %方位调频率
fr=[-nrn/2:nrn/2-1]'/nrn*Fs;
del_ran=Rr-Rs;
 
%% range compress
fr=[-nrn/2:nrn/2-1]'/nrn*Fs;
% length=(fr/abs(gama)/Tp);
Hp=exp(j*pi*(2*v/lambda+(fr.^2)/gama));
%%
x=fftshift(fft(fftshift(x)));
for m=1:N
    temp2=exp(j*4*pi*del_ran(m)/C*fr);
    temp1=x(:,m).*Hp.*temp2;
    x(:,m)=fftshift(fft(fftshift(temp1)));
end
figure;imagesc(abs(x));
%%
for n=1:nrn
    xa(n,:)=fftshift(fft(fftshift(x(n,:)))); 
end
delta_R=((va.*ta).^2)./(2*R0);
Curve=delta_R*2*Fs/C;
delta_RMC=Curve-floor(Curve);%小数部分
% sinc
P=4;
temp=zeros(nrn,nan);
for n=1:nan
    for m=P:nrn
        for i=-P/2:P/2
            if m+Curve(n)+i>nrn
                temp(m,n)=temp(m,n)+xa(nrn,n)*sinc((-i+Curve(n)));
            else
                temp(m,n)=temp(m,n)+xa(m+floor(Curve(n))+i,n)*sinc((-i+delta_RMC(n)));
            end
        end
    end
end
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.

三、运行结果

【雷达通信】基于雷达前视成像仿真matlab源码_matlab_10【雷达通信】基于雷达前视成像仿真matlab源码_matlab_11【雷达通信】基于雷达前视成像仿真matlab源码_matlab_12【雷达通信】基于雷达前视成像仿真matlab源码_matlab_13【雷达通信】基于雷达前视成像仿真matlab源码_matlab_14