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
完整代码或者代写添加QQ1564658423
往期回顾>>>>>>
【信号处理】基于matlab HMM的睡眠状态检测【含Matlab源码 050期】
【信号处理】基于matlab CDR噪声和混响抑制【含Matlab源码 051期】
【信号处理】基于matlab最小二乘法解决稀疏信号恢复问题【含Matlab源码 052期】
【信号处理】基于matlab小波变换的音频水印嵌入提取【含Matlab源码 053期】
【信号处理】基于matlab ICA算法信号分离【含Matlab源码 054期】
【信号处理】基于matlab GUI界面的脉搏信号之脉率存档【含Matlab源码 237期】
【信号处理】基于matlab GUI界面的虚拟信号发生器(各种波形)【含Matlab源码 271期】
【信号处理】基于matlab GUI界面信号发生器之电子琴【含Matlab源码 272期】
【信号处理】基于matlab的数字电子琴设计与实现【含Matlab源码 273期】
【雷达通信】基于matlab的雷达数字信号处理【含Matlab源码 281期】
【雷达通信】基于matlab线性调频(LFM)脉冲压缩雷达仿真【含Matlab源码 283期】