【matlab】雷达成像系列 之 RM(Range Migration,距离迁徙)成像算法

本章内容

重点

  SAR成像几何关系;SAR回波模型;SAR成像模型;

  RD成像算法;SAR成像质量;

  距离徙动;距离校正;

  实时成像;回波模拟;

要求

  掌握SAR回波模拟的过程;

  理解距离徙动的概念;

  掌握RD成像算法的过程。

【matlab】雷达成像系列 之 RM(Range Migration,距离迁徙)成像算法_第1张图片

一、成像模型

对合成孔径原理的理解

l   方位向虚拟阵列天线合成大孔径

l   方位向多普勒频率变化形成LFM信号

》》》雷达与目标发生相对运动,引起两者相对位置的改变,这是实现合成孔径的物理基础;

  SAR成像主要围绕以上相对位置(方位向+距离向)的变化展开研究工作。

【matlab】雷达成像系列 之 RM(Range Migration,距离迁徙)成像算法_第2张图片

  • 回波信号中的两个时间变量

l   距离向时间τ,一般为us量级,快时间;

l   方位向时间t,一般为ms量级,慢时间。

  • 根据时间的定义,回波接收与平台运动过程可假设为START-STOP过程

  • 即雷达在每一个脉冲发射与接收过程中方位向保持静止,这便于理解回波形成过程,也便于后续成像算法的设计与理解。

二、MATLAB仿真结果


% 名称: 基于RD算法的雷达成像仿真
% 作者: _Sure_  
% 时间: 2016.05.25 

%%产生Stripmap SAR的回波
close all;  
clear all;  
clc;  
  %{  
        close all 是关闭所有窗口(程序运行产生的,不包括命令窗,editor窗和帮助窗)  
        clear all是清除所有工作空间中的变量  
        clc 是清除命令行  
        clear 是清除那一堆存在内存里的数据的,  
        close 是关闭打开了的文件,一般文件开头写  
 %}  
%---------------------------------start-----------------------------------%  
%-------------------------------基本参数设置-------------------------------%  
thetaT=0;                              %T平台波束斜视角
thetaT=thetaT*pi/180;                  %rad弧度
thetaR=0;                              %R平台波束斜视角
thetaR=thetaR*pi/180;                  %rad弧度
c=3e8;                                 %光速
fc=1.5e9;                    %载波频率1.5G
lambda=c/fc;                 %载波的波长
%%-----------测绘带区域----------------
X0=?;          %方位向[-X0,X0],范围有自己根据实际情况确定
Rtc=3000;       %载波发射距离
Rrc=3000;       %载波接收距离
Rc=(Rtc+Rrc)/2; %载波距离向
R0=150;         %距离向[Rc-R0,Rc+R0]
%%-----------距离向(Range),r/t domain---
Tr=1.5e-6;  %LFM信号脉宽 1.5us (200m)
%{
  概念普及:
  LFM信号:(Linear-freuency-modulation)
  线性调频信号
%}
Br=150e6;     %LFM信号带宽 150MHz
Kr=Br/Tr;     %调频斜率
Nr=512;       %快时间采样点数

%+++++距离域序列+++++
r=Rc+linspace(-R0,R0,Nr);    %距离域序列
%{
  概念普及:
  linspace(-A,A,M):生成一些从—A到+A的M份等间距的数值
  举例:
     linspace(-5,5,6)
     ans =
        -5    -3    -1     1     3     5
%}
t=2*r/c;                       %距离域t值对应
dt=R0*4/c/Nr;                  %快时间采样周期
%+++++频率域序列+++++
f=linspace(-1/2/dt,1/2/dt,Nr); %f域序列
%%----------方位向(Azimuth,Cross-Range),x/u domain----
v=100;           %SAR 平台移动速度
%{
  概念普及:
  合成孔径雷达——SAR 
               ——Synthetic Aperture Radar 的缩写
  合成孔径观点:  用运动的小天线合成一个大天线
  SAR在方位向是真正的微波全息;
  通过PRF进行方位向全息图的采样;
  采样间隔必须固定不变,因此要求PRF与地速成正比.
%}
Lsar=300;             %合成孔径长度
Na=1024;              % 慢时间采样点数
%+++++u域序列+++++
x=linspace(-X0,X0,Na);         %u域序列
u=x/v;                         %u域序列t值对应
du=2*X0/v/Na;                  %慢时间采样间隔
%+++++fu域序列+++++
fu=linspace(-1/2/du,1/2/du,Na);%fu域序列
ftdc=v*sin(thetaT);           %SAR-T平台波束速度
ftdr=-(v*cos(thetaT))^2/lambda/Rtc;
frdc=v*sin(thetaR);           %SAR-R平台波束速度 
frdr=-(v*cos(thetaR))^2/lambda/Rrc;
fdc=ftdc+frdc;                %Doppler调频中心频率
fdr=ftdr+frdr;                %Doppler调频斜率
%-------目标位置-----------
Ntar=3;%目标个数
Ptar=[  Rrc ,    0 ,  1 %参数对应:距离向坐标,方位向坐标,sigma             
      Rrc+50,   -50,  1
      Rrc+50,    50,  1];
%%-----------LFM产生回波---------
s_ut=zeros(Nr,Na);  %生成m×n的double类零矩阵,设定数值内存
%{
  概念普及:
  zeros:
  zeros(m,n)产生m×n的double类零矩阵,zeros(n)产生n×n的全0方阵。
  举例
    zeros(2,4)
    ans =
         0     0     0     0
         0     0     0     0
    zeros(4)
    ans =
         0     0     0     0
         0     0     0     0
         0     0     0     0
         0     0     0     0
%}
U=ones(Nr,1)*u;            %扩充为矩阵
T=t'*ones(1,Na);           % 将快时间拓展为 Na 列
%{
  概念普及:
  ones:
      ones函数——生成全1阵
  zeros(m,n)产生m×n的double类零矩阵,zeros(n)产生n×n的全0方阵。
  举例
    ones(1,6)
    ans =
         1     1     1     1     1     1
%}
for i=1:1:Ntar
    rn=Ptar(i,1);          % 目标距离向坐标
    xn=Ptar(i,2);          % 目标方位向坐标
    sigma=Ptar(i,3);       % 目标RCS
    rtn=rn+Rtc-Rrc;        
    RT=sqrt(rtn^2+(rtn*tan(thetaT)+xn-v*U).^2);     % 发射 目标斜距
    RR=sqrt(rn^2+(rn*tan(thetaT)+xn-v*U).^2);       % 接收 目标斜距
    R=RT+RR;
    DT=T-R/c;
    phase=pi*Kr*DT.^2-2*pi/lambda*R;
    s_ut=s_ut+sigma*exp(j*phase).*(abs(DT)
%%-------------距离压缩-------------
%参考信号
p0_t=exp(j*pi*Kr*(t-2*Rc/c).^2).*(abs(t-2*Rc/c) fs/2 时,对复信号的fft结果进行fftshift会产生频率混叠(将下面的示例2中
   的频率从f=15改为f=85可以验证f=85的谱线在fftshift后跑到 f = -15 = 85 - fs =
   85 - 100的位置了),所以复信号也一般要求 f <= fs/2
3)在对雷达的慢时间维(复信号)进行fft后,由于要用doppler = ((0:LFFT-1)/LFFT 
   - 0.5)*PRF; 计算多普勒频率,所以对该慢时间信号fft后要fftshift下,以便和正确
   的频率单元相对应。注意多普勒频率fd < = PRF/2 时才测的准!
%}
%--------------------距离向压缩---------------
s_uf=fftshift(fft(fftshift(s_ut)));                 %距离向FFT
%{
  概念普及: fftshift
    作用:将零频点移到频谱的中间
    用法:
    Y=fftshift(X)
    Y=fftshift(X,dim)
    描述:fftshift移动零频点到频谱中间,重新排列fft,fft2和fftn的输出结果。将
         零频点放到频谱的中间对于观察傅立叶变换是有用的。
%}
src_uf=s_uf.*(conj(p0_f).'*ones(1,Na));             %距离压缩
src_ut=fftshift(ifft(fftshift(src_uf)));      % IFFT后得到距离压缩后的信号 
%--------------------方位向压缩--------------
src_fut=fftshift(fft(fftshift(src_ut).')).';        %距离多普勒域
%%二次距离压缩,距离迁移校正原理仿真
src_fuf=fftshift(fft(fftshift(src_uf).')).';        %距离压缩后的二维频谱
F=f'*ones(1,Na);%扩充为矩阵
FU=ones(Nr,1)*fu;
p0_2f=exp(j*pi/fc^2/fdr*(FU.*F).^2+j*pi*fdc^2/fc/fdr*F-j*pi/fc/fdr*FU.^2.*F);
s2rc_fuf=src_fuf.*p0_2f;
s2rc_fut=fftshift(ifft(fftshift(s2rc_fuf)));%距离多普勒域
%%
%方位压缩
p0_2fu=exp(j*pi/fdr*(FU-fdc).^2);%方位向压缩因子
s2rcac_fut=s2rc_fut.*p0_2fu;%方位压缩
s2rcac_fuf=fftshift(fft(fftshift(s2rcac_fut)));%距离方位压缩后的二维频谱
s2rcac_ut=fftshift(ifft(fftshift(s2rcac_fut).')).';%方位向IFFT
%%
%%
%%画图显示结果
subplot(221)
G=20*log10(abs(s_ut)+1e-6);
gm=max(max(G));
gn=gm-40;%显示动态范围40dB
G=255/(gm-gn)*(G-gn).*(G>gn);
imagesc(x,r-Rc,-G),colormap(gray)
grid on,axis tight,
xlabel('Azimuth')
ylabel('Range')
title('(a)原始信号')
subplot(222)
G=20*log10(abs(src_fut)+1e-6);
gm=max(max(G));
gn=gm-40;%显示动态范围40dB
G=255/(gm-gn)*(G-gn).*(G>gn);
imagesc(fu,r-Rc,-G),colormap(gray)
grid on,axis tight,
xlabel('Azimuth')
ylabel('Range')
title('(b)距离多普勒域频谱')
subplot(223)
G=20*log10(abs(s2rc_fut)+1e-6);
gm=max(max(G));
gn=gm-40;%显示动态范围40dB
G=255/(gm-gn)*(G-gn).*(G>gn);
imagesc(fu,r-Rc,-G),colormap(gray)
grid on,axis tight,
xlabel('Azimuth')
ylabel('Range')
title('(c)RMC后的RD域频谱')

        转载请注明来源,么么哒!原创声明: 本文为-Sure-原创作品,转载时请注明“转自-Sure-”及原文链接。

感谢各位读者的支持,作者会努力提高博客水准,欢迎读者对错误或有待改进的地方提出建议和意见 .





你可能感兴趣的:(MATLAB,信号处理,Matlab笔记)