《合成孔径雷达成像算法与实现》仿真代码:点目标仿真(书5.6节)

一、仿真参数设置

代码如下:

%% 仿真参数
Retac = 20E3;  %景中心斜距 m
Vr = 150;  %等效雷达速度 m/s
Tr = 25E-6;  %发射脉宽时宽 s
Kr = 0.25E12;  %距离向调频率 Hz/s
f0 = 5.3E9;  %雷达工作频率 Hz
BWdop = 80;  %多普勒带宽 Hz
Fr = 7.5E6;  % 距离向采样率 Hz
Fa = 104;  %方位向采样率 Hz
Naz = 256;  %距离线数
Nrg = 256;  %距离线采样点数 

BW = Tr*Kr;  %发射信号带宽 Hz
c = 3E8;  %光速 m/s
lambda = c/f0;  %发射载波波长 m
La = 1;  %天线长度 m
%此处参考书表4.1机载SAR典型参数
betabw = 0.886*lambda/La;  %方位向波束宽度

thetasqc = 22.8;  %波束斜视角 °
etac = -Retac*sin(deg2rad(thetasqc))/Vr;
fetac = 2*Vr*sin(deg2rad(thetasqc))/lambda;

% 零斜视角情况
% thetasqc = 0;  %波束斜视角 °
% etac = 0;  %波束中心偏移时间 s
% fetac = 0;  %多普勒中心频率 Hz
% 非零斜视角情况
% thetasqc = 22.8;  %波束斜视角 °
% etac = -51.7;  %波束中心偏移时间 s
% fetac = 2055;  %多普勒中心频率 Hz

这里的参数按照书中表5.2的参数进行设置,其中需要注意的有两点

1、天线的方位向波束宽度(Line16-Line18)

此处天线长度按照书中表4.1机载SAR有效天线长度的典型值设置

方位向波束宽度使用公式

2、波束斜视角的有关计算(Line20-Line22)

尽管表5.2中已经直接给出波束中心偏移时间和多普勒中心频率,但实际上它们可以由波束斜视角确定

波束中心偏移时间:

波束中心偏移时间就是波束中心穿越目标的时刻(图中传感器位于时),对于单个点目标,为了便于分析,起始时刻通常选为零多普勒时刻(就是传感器与目标最接近的时刻,图中传感器位于时),所以有

其中为波束斜视角,即图中所标示的斜视角;为景中心斜距,即图中和目标的距离;为等效雷达速度。其中负号是因为在这种几何关系下,波束中心穿越目标的时刻早于零多普勒线穿越目标的时刻。

多普勒中心频率:

多普勒中心频率也就是波束中心穿越时刻目标对应的多普勒频率,可以从相对径向速度直接推导得

其中是相对径向速度;是雷达工作波长;式中的两倍是雷达双程工作模式产生的,即雷达波照射到目标还需要从同样的路径反射回来。

二、仿真回波产生

代码如下:

%% 回波信号生成
trgVec = (-Nrg/2:1:Nrg/2-1)/Fr+2*Retac/c;  %快时间序列
tazVec = (-Naz/2:1:Naz/2-1)/Fa+etac;  %慢时间序列
radarposVec = tazVec*Vr;  %雷达方位向位置序列,以零多普勒位置为原点
RtargetVec = sqrt((Retac*cos(deg2rad(thetasqc)))^2+radarposVec.^2);  %雷达和目标间距离序列
delayVec = 2*RtargetVec/c;  %雷达到目标的延迟序列 
winazVec = sinc(0.886*(asin(-radarposVec./RtargetVec)-deg2rad(thetasqc))/betabw).^2;
%方位向窗函数序列,winazVec(i)表示tazVec(i)慢时间下的目标回波的天线增益

trgMat = repmat(trgVec,Naz,1);
RtargetMat = repmat(RtargetVec',1,Nrg);
delayMat = repmat(delayVec',1,Nrg);
winrgMat = (abs(trgMat-delayMat)/Tr <= 0.5);
winazMat = repmat(winazVec',1,Nrg);
signalMat = winrgMat.*winazMat.*...
    exp(-1i*2*pi*f0*delayMat).*exp(1i*pi*Kr*(trgMat-delayMat).^2);
%回波信号序列Naz*Nrg,其中signal(i,j)表示慢时间为tazVec(i),快时间为trgVec(j)的回波信号采样值

1、基带信号(Line16)

仿真回波产生依照的是书中公式(4.39)

在这里我们暂时忽略的影响,假设其为1。

2、距离窗函数(脉冲包络)(Line13)

式(4.39)中的表示距离窗函数

3、方位窗函数(波束方向图)(Line7 & Line14)

三、仿真结果与画图

%% 时域信号
figure('Name','时域信号')
subplot(1,2,1);
showMat = abs(signalMat);
showMat(showMat==0) = nan;
imshow(showMat,'DisplayRange',[min(showMat,[],'all'),max(showMat,[],'all')]);
xlabel('距离向(采样点)');ylabel('方位向(采样点)');
title('幅度');
subplot(1,2,2);
imshow(angle(signalMat));
xlabel('距离向(采样点)');ylabel('方位向(采样点)');
title('相位');

%% 距离多普勒域频谱
SRDMat = fft(signalMat,[],1);

figure('Name','距离多普勒域信号')
subplot(1,2,1);
showMat = abs(SRDMat);
showMat(showMat==0) = nan;
imshow(showMat,'DisplayRange',[min(showMat,[],'all'),max(showMat,[],'all')]);
xlabel('距离向(采样点)');ylabel('方位频率(采样点)');
title('幅度');
subplot(1,2,2);
imshow(angle(SRDMat));
xlabel('距离向(采样点)');ylabel('方位频率(采样点)');
title('相位');

%% 二维频域频谱
S2dfMat = fft(SRDMat,[],2);

figure('Name','二维频域信号')
subplot(1,2,1);
showMat = abs(S2dfMat);
showMat(showMat==0) = nan;
imshow(showMat,'DisplayRange',[min(showMat,[],'all'),max(showMat,[],'all')]);
xlabel('距离频率(采样点)');ylabel('方位频率(采样点)');
title('幅度');
subplot(1,2,2);
imshow(angle(S2dfMat));
xlabel('距离频率(采样点)');ylabel('方位频率(采样点)');
title('相位');

所得结果与书中一致。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值