【雷达通信】距离多普勒(RD)、CS、RM算法的机载雷达成像matlab源码

一、简介

1 RD由来
R:距离(m),有时可以用回波延迟时间(s)表示,对于大多数雷达R = c * t / 2。
D:多普勒频率,可以用于表示目标的速度,或间接测量目标方位。对于大多数雷达,fd = 2 * v * cosθ / λ。
以脉冲体制雷达为例,我们可以发现回波脉冲的延迟时间与目标相对于雷达的距离有关;而回波脉冲的幅度则受到多普勒频率 fd 的调制,即回波脉冲的幅度以频率为 fd 的正弦规律变化。
1.2划分方法
因此,我们将一维的时间序列按照重复周期进行分割,不同的重复周期占据不同行。如下图所示:
在这里插入图片描述
值得说明的是,对于静止目标,其回波脉冲在重复周期Tr的位置保持不变(在Tr1延迟多久,在Trn也延迟多久);对于运动目标,由于目标运动的速度远小于光速,我们认为在一个较短暂的时间下,运动目标位置也不变,其回波脉冲在Tr内的位置也认为不变。
因此,纵向观察上图,不管是静止还是运动目标,我们都认为其回波脉冲位置不变。那么在相同的位置,不同的Tr,目标回波脉冲的幅度都受到多普勒频率 fd 的调制。
1.3 RD谱绘制
结合第二部分的讨论,实际上需按照下面的思路绘制RD谱:
1.3.1 在距离维(上文图片中的横向)进行匹配滤波,具体方法是与回波信号的FFT与参考信号对称共轭的FFT相乘,再IFFT。
1.3.2 在多普勒维(上文图片中的纵向)通过多普勒滤波器组进行滤波,可以证明,一个多普勒滤波滤波器组,相当于进行FFT。因此,可以在多普勒维直接进行FFT。
2 Chirp Scaling算法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、源代码

%SAR 回波仿真及成像处
clc;clear all
%% 参数设置
a_resol = 1; %方位向分辨率 
r_resol = 1; %距离向分辨率
%测绘带
W_y=320;                
W_x=520;
%景中心斜距
Rc=10e3;
%雷达平台飞行速度
V=200; 
%分辨率
Res=1;
%Res=5;
%LFM参数
fc=5.0e9;  %雷达载频
C=3e8;  %光速
lambda=C/fc; %波长
Tr=20e-6; %脉冲宽度
Kr=C/2/Res/Tr; %距离脉冲调频率
Br=Kr*Tr; %距离脉冲带宽
%天线孔径设置
%斜视角
Q=-1*pi/180;
D=2*Res; %天线长度
theta_bw=lambda/D; %方位向张角
La=theta_bw*Rc/cos(Q); %方位向照射区域
%距离向参数
a_os=1.5; %过采样率
Fs=a_os*Br; %距离采样率
%方位向参数
delta_dop=2*V*cos(Q)/D; %多普勒带宽
PRF=a_os*delta_dop; %PRF(方位向采样率)
delta_X=V/PRF; %方位采样间隔
Na=fix((W_y+La)/delta_X)+1; %方位(慢时间)采样数
tm=(0:Na-1)/PRF;  %慢时间
yu = -(W_y+La)/2+(0:Na-1)*delta_X;%慢时间坐标值
% Ka = 2*V^2/lambda*cos(Q)^3/Rc; %方位向调频率
% a_t = linspace((-W_y-La)/2/V,(W_y+La)/2/V,Na);       %time sequence of azimuth
% Azimuth = V*a_t;       %azimuth sequence

%采样波门设置
tr1=2*(Rc-260)/cos(Q)/C-1e-6;                            %采样开始时间
tr2=2*sqrt((Rc+260)^2+La^2/4)/C+Tr+1e-6;         %接收机波门结束时刻                               
tr=tr1:1/Fs:tr2;                                                     %快时间
Nr=length(tr);                                                      %快时间采样数
r_t = linspace(2*Rc/C-Tr/2,2*(Rc+W_x)/C+Tr/2,Nr);      %time sequence of range
 Range = C*r_t/2;        %range sequence
 drt = (2*(Rc+W_x)/C+Tr-2*Rc/C)/Nr; 
%目标参数(以场景中心为参考)
%第一列距离坐标 第二列方位坐标
dt=200/3;
%目标参数(以场景中心为参考,散射系数默认为1)
Ptarget=[-200,-100;-200+dt,-100;-200+2*dt,-100;0,-100;-200+4*dt,-100;-200+5*dt,-100;-200+6*dt,-100;
            -200,0;-200+dt,0;-200+2*dt,0;0,0;-200+4*dt,0;-200+5*dt,0;200,0;
            -200,100;-200+dt,100;-200+2*dt,100;0,100;-200+4*dt,100;-200+5*dt,100;200,100;];
% coord=[200,100];
%  figure;
%  scatter(coord(:,1),coord(:,2));

%% 回波生成
srt=zeros(Na,Nr);                                                              %二维时域
h=waitbar(0,'SAR回波生成');
for ii=1:Na
Rng=sqrt((Rc+Ptarget(:,1)).^2+(yu(ii)-Ptarget(:,2)).^2);

   for jj=1:size(Ptarget(:,1))
            a1=(yu(ii)-Ptarget(jj,2))<0;
            a11=yu(ii)-Ptarget(jj,2);
            a2=(yu(ii)-Ptarget(jj,2))>0;
            x1=abs((Rc+Ptarget(jj,1))/tan(pi/2-theta_bw/2-Q));
            x2=abs((Rc+Ptarget(jj,1))/tan(pi/2-theta_bw/2+Q));
            if( (a1&&(abs(a11)<x1))||(a2&&(abs(a11)<x2)))
%         if(abs(yu(ii)-coord(jj,2))<=La/2)
%               wa=sinc(atan(yu(ii)-coord(jj,2))*La/lambda)^2;      %天线方向图
              tao=2*Rng(jj)/C;
              ntrp1=fix((tao-tr1)*Fs)+1;
              ntrp2=fix((tao+Tr-tr1)*Fs);
              trp=tr(ntrp1:ntrp2);
             srt(ii,ntrp1:ntrp2)=srt(ii,ntrp1:ntrp2)+exp(1i*(2*pi*fc*(trp-tao-Tr/2)+pi*Kr*(trp-tao-Tr/2).^2));
             end
   end
    waitbar(ii/Na);
end 
%斜视角为0.5度 RDA处理

clc;clear all; close all;

%% 雷达发射参数设置
a_resol =5; %方位向分辨率 
r_resol =5; %距离向分辨率
%测绘带
W_y = 320; 
W_x = 520;
%景中心斜距
H = 0; %雷达高度
Yc = 10000; %场景中心与雷达的距离
Yw = 200; %target area in range is within[Yc-Yw,Yc+Yw]
Rc = sqrt(H^2+Yc^2); %R0
%雷达平台飞行速度
V=200; 
%LFM参数
fc = 5.0e9; %中心频率
C = 3e8; %光速
lambda = C/fc; %波长
a_os = 1.5; %方位向过采样因子
r_os = 1.5; %距离向过采样因子

%-----------目标参数-----------%
Xmin =-150; %target area in azimuth is within[Xmin,Xmax]
Xmax=150;

%天线孔径设置
D= 2*a_resol; %天线真实孔径长度
theta = 0.886*lambda/D; 
Q = -1*pi/180; %前斜视角 
%Q = 5*pi/180; %前斜视角 
La = Rc*theta/cos(Q); %合成孔径长度

%-----------慢时间参数设置-----------%
Ts = (La+W_y)/V; %方位向时宽
Ka = 2*V^2*(cos(Q)^3)/lambda/Rc; %doppler frequency modulation rate
Ba = Ts*Ka; %多普勒带宽
PRF = a_os*Ba; %脉冲重复频率
PRT = 1/PRF; %脉冲重复时间
dxt = PRT; %sample spacing in slow-time domain
Na = ceil(Ts/dxt); %sample number in slow-time domain
Na = 2^nextpow2(Na); %for fft
x = linspace((-W_y-La)/2/V,(W_y+La)/2/V,Na);  %discrete time array in slow-time domain
Azimuth = V*x;
PRT = Ts/Na; %refresh
dxt = PRT;
PRF = 1/PRT;

%-----------快时间参数设置-----------%
Tr = 20e-6; %pulse width 20us
Kr = 0.886*C/2/r_resol/Tr;  %range FM rate
Br = Kr*Tr; %range bandwidth
Fs = r_os*Br; %距离采样率
drt = 1/Fs; %sample spacing in fast-time domain
Rm = W_x+C*Tr/2; %range swath
Nr = ceil(2*Rm/C/drt); 
Nr = 2^nextpow2(Nr); %块时间域采样点数
t = linspace(2*Rc/C-Tr/2,2*(Rc+W_x)/C+Tr/2,Nr); %discrete time array in fast-time domain
Range = C*t/2;
drt = (2*(Rc+W_x)/C+Tr-2*Rc/C)/Nr; 
Fs = 1/drt;

%-----------目标参数设置-----------%

Ntarget = 21;%目标个数
% dr=50;
%load 'Ptarget.mat';
Ptarget=[
   -100,Yc-200,1
    -100,Yc-133.3,1
    -100,Yc-66.7,1
    -100,Yc,1
    -100,Yc+66.7,1
    -100,Yc+133.3,1
    -100,Yc+200,1
    0,Yc-200,1
    0,Yc-133.3,1
    0,Yc-66.7,1
    0,Yc,1
    0,Yc+66.7,1
    0,Yc+133.3,1
    0,Yc+200,1
     100,Yc-200,1
    100,Yc-133.3,1
    100,Yc-66.7,1
    100,Yc,1
    100,Yc+66.7,1
    100,Yc+133.3,1
    100,Yc+200,1 ]; %目标位置

xc = -Ptarget(:,2)*(tan(Q))/V+(Ptarget(:,1))/V;
Xc = xc*V;%方位向
fac = 2*V*sin(Q)/lambda;%多普勒频率
fan = ceil(fac/PRF*Na); 

%% 生成SAR回波
srt = zeros(Na,Nr);
h = waitbar(0,'SAR回波生成');
for k = 1:Ntarget
    R = sqrt(Ptarget(k,2)^2+(Azimuth-Ptarget(k,1)).^2);
    Delay = 2*R/C; %range cell migration
    delay = ones(Na,1)*t-Delay.'*ones(1,Nr);
    phase = 1j*pi*Kr*delay.^2-1j*4*pi*fc*(R.'*ones(1,Nr))/C;
%   srt=srt+Ptarget(k,3)*rectpuls(delay,Tr).*(((sinc(0.886*atan(v*(x-xc(k))/R0)/theta)).^2).'*ones(1,M)).*exp(phase);%sinc窗
    srt=srt+Ptarget(k,2)*rectpuls(delay/Tr).*rectpuls((Azimuth-Ptarget(k,1)).'*ones(1,Nr)/La).*exp(phase);%矩形窗
    waitbar(k/Ntarget);
end

三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完整代码添加QQ1575304183

猜你喜欢

转载自blog.csdn.net/qq_34763204/article/details/113796056