完整的距离多普勒算法主要包括距离压缩、距离徙动矫正(矫正距离走动和距离弯曲)、方位压缩等步骤。其中距离走动矫正即可在时域进行也可在频域进行,而距离弯曲矫正一般在多普勒域进行。在距离多普勒域叫作RCMC是算法的主要特定,因此被称为“距离多普勒(RD)”算法。具体算法流程如下图。
(1)小斜视情况
前面已经给出里SAR原始信号模型及距离历程的数学模型,分别为
根据驻定相位原理,距离FFT结果为:
距离频域匹配滤波函数:
距离压缩的输出为:
其中,pr(.)为sinc函数。
方位频率为.
进行方位FFT:
第一个相位项为固定信息,在成像中一般没用,在干涉成像中非常重要;第二项为方位调制。
为距离多普勒域内的距离等式,根据距离的泰勒展开约等式和,得到
上式中的第一项与R0有关,表明不同距离单元的距离走动不同,它随距离线性变化;第二项与方位频率有关,是频率的二次函数。对距离徙动矫正可以在距离多普勒域进行sinc插值完成。
完成sinc插值距离徙动矫正后的信号为:
方位压缩的频域参考函数为:
方位压缩后的信号变化到时域为:
(2)大斜视情况
随着SAR成像斜视角的增大,距离等式应采用更精确的双曲线模型。此时的距离多普勒域为:
其中,,新的调频率为.
距离多普勒域中的距离等式为:
将近似为1,得到
为二次距离压缩(SRC)滤波器的调频率。
当斜视角较大时,距离多普勒域中的Km与Kr存在较大差异,此时使用Kr进行距离压缩会造成散焦。对距离多普勒域的距离徙动矫正进行改进,需要矫正的距离徙动量为:
大斜视的方位滤波器变为:
如果在距离压缩时使用的调频率为Kr,则需按照真实调频率对匹配滤波器进行补偿,补偿的调频率为。使用进行第二次距离压缩称为“二次距离压缩(SRC)”,SRC的匹配函数为
(3)算法仿真
下表为仿真参数:
载频 | 9.875GHz |
雷达高度 | 500Km |
斜视角 | 30° |
带宽 | 30MHz |
雷达速度 | 7100m/s |
目标个数 | 5 |
脉冲持续时间 | 20us |
仿真结果:
①回波信号实部
②距离压缩结果
③距离走动矫正结果
④距离弯曲矫正和二次距离压缩结果
⑤方位压缩成像结果
Matlab 部分代码:
%% 前斜视RD算法 含距离走动矫正和距离徙动矫正(距离多普勒域RCMC与二次距离压缩SRC)
%%% 时域矫正距离走动频域矫正距离弯曲; 算法适用于斜视角较大的情况
%%%Authed by Piaobo
clear;close all;clc;
SNR = -15; % 信噪比
c=3e8;
f0 = 9.875e9; % 雷达工作频率Hz
lamda = c/f0; % 雷达工作波长m
H = 500e3; % 高度
Yc=750e3; % 成像区域中线
R0 = sqrt(Yc^2+H^2); % 中心斜距
theta = asind(H/R0); % 下视角
alpha = 30; %波束斜视角
Rc = R0/cosd(alpha); %景中心到天线距离
Xc = R0*tand(alpha); %景中心的方位坐标
Br=30e6; % 带宽
Vr = 7100; % 雷达有效速度m/s
Tr =20e-6; % 脉冲持续时间s
Kr = Br/Tr; % 线性调频率
Fr = 1.2*Br; % 距离采样频率,1.2为过采样率
Ts = 1/Fr; % 距离采样时间间隔s
Nk = ceil((2 * 1000/ c + Tr) / Ts); %距离向前后500m
Nf = 2^nextpow2(Nk); % 距离向的采样点个数
tf_ori = [-Nf/2:1:Nf/2-1]*Ts; % 距离向采样时序
tf = [-Nf/2:1:Nf/2-1]*Ts+2*Rc/c; % 实际快时间采样值
La = 6; % 等效天线尺寸
Ls = R0*lamda/La*cosd(alpha); % 合成孔径时长度m,Ls=(0.886*R0*lamda)/(La*cos(Theta))
Ta = Ls/Vr; % 目标照射时间s
% Ta = 0.8; % 目标照射时间s
% Ls =Ta*Vr;
Ka = -2 * Vr^2*(cosd(alpha)).^2 / (lamda * R0); % 方位多普勒调频率Hz
Ba = 2*Vr*cosd(alpha)/La;%多普勒带宽
% Ba=abs(Ka*Ta); % 多普勒频率调制带宽
PRF = ceil(1.2*Ba); % 方位采样率Hz
% PRF = 1000; % 方位采样率Hz
PRT = 1/PRF; % 方位向采样时间间隔s
Ns = 2^nextpow2((200/Vr+Ta)*PRF); % 方位向的采样点个数 左右各100m
ts = [-Ns/2 : (Ns/2 - 1)] * PRT; % 方位向采样时序
% ts = [-Ns/2 : (Ns/2 - 1)] * PRT+Xc/Vr; % 实际方位向采样时序
fdc = 2*Vr*sind(alpha)/lamda;%多普勒中心频率式4.33
fdc_ref=fdc;%参考目标的多普勒中心频率
% 理论分辨率
rho_r=c/2/Br;
rho_a=Vr*PRT;
% rho_a=La/2;
% 目标参数
X0 = [Xc-100 Xc+100 Xc Xc-100 Xc+100]; % 目标1位置坐标
Z0 = [0 0 0 0 0];
Y0 = [Yc+100 Yc+100 Yc Yc-100 Yc-100];
NT=size(X0,2);
%目标各自的波束中心穿越时刻
eta_c=(X0-sqrt(H^2+Y0.^2)*tand(alpha))/Vr;
%%================================================================
%%生成回波信号
Sb = zeros(Ns,Nf);
sigma = 1; % 回波幅度
for ii=1:NT
R = sqrt((Vr*ts-X0(ii)).^2+Y0(ii).^2+(Z0(ii)-H).^2);
tau = 2*R/c;
Dfast = ones(Ns,1) * tf - tau' * ones(1, Nf);
phase = pi*Kr*Dfast.^2 - (2 * pi *f0 * tau') * ones(1,Nf);
Sb = Sb+sigma * exp(1j*phase) .* (abs(Dfast) <= Tr/2) .* ((abs(ts -eta_c(ii)) <=Ta/2)' * ones(1,Nf));
end
% Sb = awgn(Sb,SNR,0); % 回波加噪
figure
imagesc(real(Sb)),colormap(gray);
%% 距离向压缩
x0 = ones(Ns,1)*(exp(-1j*pi*Kr*(tf_ori).^2).* (abs(tf_ori) <= Tr/2)); % 距离向匹配函数
fftx1 = fftshift(fft(fftshift(x0.'))).'; % 距离向匹配函数FFT
fftSb = fftshift(fft(fftshift(Sb.'))).'; % 原信号FFT
y0 = fftshift(ifft(fftshift((fftSb.*fftx1).'))).'; % 距离向压缩后信号
%显示
ta = ts * Vr; % 方位向的距离序列
tr = tf * c / 2; % 快时间采样对应的距离域(单程距)
figure;imagesc(abs(y0));colormap(gray);
xlabel('距离向');ylabel('方位向');title('距离向压缩');
%% 距离走动矫正与多普勒中心补偿文章来源:https://www.toymoban.com/news/detail-739927.html
具体代码参考:(39条消息) 合成孔径雷达(SAR)成像距离多普勒(RD)算法仿真-行业报告文档类资源-CSDN文库文章来源地址https://www.toymoban.com/news/detail-739927.html
到了这里,关于SAR成像系列:【5】合成孔径雷达(SAR)成像算法-距离多普勒(RD)算法(附Matlab代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!