目录
正侧视机载SAR几何模型
程序设计
参数输入
点目标坐标计算
参数计算
天线坐标系与空间坐标系转换
生成回波数据
验证回波数据是否正常
由于原文公式较多,所以本文部分内容以截图的形式分享给大家,word文档和相关代码可以通过下面的连接下载
机载正侧视条带SAR回波仿真程序(Matlab)-图像处理文档类资源-CSDN下载机载正侧视条带SAR回波仿真程序(Matlab)更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/smyounger/85266947
基于上图所示的模型设计SAR回波数据的仿真程序。
输入雷达系统参数、天线参数、几何参数和场景参数等,详细信息可参考MATLAB程序:“Para_Strip_Airborne.m”。具体代码如下:
%% 需要输入的参数
Vc = 299792458;
%% 雷达系统参数
lambda = 0.05; % 信号波长
BandWidth = 100e6; % 信号带宽
SampleRate = 133e6; % 采样率
PulseWidth = 10e-6; % 信号脉宽
ChirpRate = BandWidth/PulseWidth; % 信号调频率,放在这里是为了考虑正负号
prf = 3500; % 脉冲重复频率
%% 天线参数
Daz = 5; % 方位向天线孔径
Del = 3; % 高程向天线孔径
theta_sq = 0; % 天线斜视角
lookAngle = 45/180*pi; % 天线视场角
%% 几何参数
Vst = 7000; % 方位向速度
Rc= 500e3; % 场景中心斜距
%% 场景参数
TarNum_Rg = 1; % 距离向点目标个数(奇数)
TarNum_Az = 1; % 方位向点目标个数(奇数)
GroundWidth_Rg = 20; % 成像场景地距向幅宽,单位:m
GroundWidth_Az = 20; % 成像场景方位向幅宽,单位:m
%% 计算得到的参数
f0 = Vc/lambda;
Height = Rc*cos(lookAngle); % 雷达飞行高度
prt = 1/prf;
beta_Az = lambda/Daz; % Tx方位向天线方向图3dB带宽
Rgate = Vc/2/SampleRate; % 距离门
Res_Rg = Vc/2/BandWidth; % 距离向分辨率
Res_Az = Daz/2; % 方位向分辨率
Agate = Vst*prt;
Fdc = 2*Vst*sin(theta_sq)/lambda; % 多普勒中心频率
Fr = 2*Vst^2/lambda/Rc*cos(theta_sq)^2; % 多普勒调频率
Tsyn = beta_Az*Rc/Vst/cos(theta_sq); % 合成孔径时间
Ba = Vst/Res_Az;
fprintf('=================仿真参数=====================\n');
fprintf('信号载频:%2.4f(GHz)\n', f0*1e-9);
fprintf('信号波长:%2.4f(m)\n', lambda);
fprintf('信号带宽:%2.4f(MHz)\n', BandWidth*1e-6);
fprintf('距离向采样率:%2.4f(MHz)\n', SampleRate*1e-6);
fprintf('脉冲持续时间:%2.4f(us)\n', PulseWidth*1e6);
fprintf('距离向分辨率:%2.4f(m)\n', Vc/2/BandWidth);
fprintf('方位向天线孔径:%2.4f(m)\n', Daz);
fprintf('高程向天线孔径:%2.4f(m)\n', Del);
fprintf('脉冲重复频率:%2.4f(Hz)\n',prf);
fprintf('雷达方位向等效速度:%2.4f(m/s)\n', Vst);
fprintf('理论合成孔径时间:%2.4f(s)\n', Tsyn);
fprintf('理论方位向分辨率:%2.4f(m)\n', Daz/2);
fprintf('天线斜视角:%2.4f(deg)\n', theta_sq/pi*180);
fprintf('方位向调频率:%2.4f(Hz/s)\n', Fr);
fprintf('多普勒带宽:%2.4f(Hz)\n', Ba);
fprintf('场景中心斜距:%2.4f(m)\n', Rc);
fprintf('场景方位向宽度:%2.2f(m)\n', GroundWidth_Az);
fprintf('场景地距向宽度:%2.2f(m)\n', GroundWidth_Rg)
fprintf('\n\n\n');
根据几何模型中场景中心的坐标信息、输入的场景幅宽信息,计算每个点目标的坐标。
根据点目标的斜距、合成孔径时间等信息,计算待仿真回波数据的采样点数。
详细信息可参考MATLAB程序:“Target_Strip_Airborne.m”:
TarNum = TarNum_Rg*TarNum_Az; % 点目标的个数
TarCenNum_Rg = (TarNum_Rg+1)/2;
TarCenNum_Az = (TarNum_Az+1)/2;
% 计算场景中心点目标的坐标
Xc = Rc*sin(lookAngle);
Yc = 0;
Zc = 0; % 假设所有点目标都位于一个平面上
% 计算所有点目标的坐标
Tar = zeros(TarNum_Az, TarNum_Rg, 3); % 点目标的坐标
for ia = 1:TarNum_Az
for ir = 1:TarNum_Rg
Tar(ia, ir, 1) = (ir-(TarNum_Rg+1)/2)/TarNum_Rg*GroundWidth_Rg + Xc;
Tar(ia, ir, 2) = (ia-(TarNum_Az+1)/2)/TarNum_Az*GroundWidth_Az + Yc;
Tar(ia, ir, 3) = Zc;
end
end
% 粗算场景近距和远距,以确定方位向/距离向采样点数
Tar_near = zeros(3,1);
Tar_near(:) = Tar(TarCenNum_Az, 1, :);
Tar_far = zeros(3,1);
Tar_far(:) = Tar(TarCenNum_Az, TarNum_Rg, :);
Tar_ref = [0,0,Height].';
Rnear = norm(Tar_ref-Tar_near);
Rfar = norm(Tar_ref-Tar_far);
Nr = floor(PulseWidth*SampleRate/2)*2+(Rfar-Rnear)/Rgate+400;
Nr = 2^nextpow2(Nr);
Na = floor(Tsyn*prf/2)*2 + GroundWidth_Az/Agate;
Na = ceil(Na/2+200)*2+1000;
fprintf('方位向采样点数:%d\n', Na);
fprintf('距离向采样点数:%d\n', Nr);
根据输入参数和目标位置,计算
在计算目标是否在天下有效波束范围内是,定义了天线坐标系S-X’Y’Z’,如下图所示:S为天线坐标系的原点,X’轴与天线波束中心指向重合,Y’轴与空间坐标系的Y轴重合,然后根据右手螺旋规则确定Z’轴。
使用前面计算的参数,生成回波数据,并落盘。
程序中每生成一帧回波数据,就落盘,可以节省存储空间,在仿真数据量特别大的回波数据时,非常有用。
假设只仿真一个点目标的回波信号,程序运行结束后,回波信号的实部如下图所示。
为了验证仿真的回波是否正常,绘制信号的二维频谱,如下图所示,可以看出频谱正常。
对回波进行距离向压缩,得到的结果如下图所示,图像正常。
本博客上传的所有原创类资料,仅可用于个人学习、交流等非商业性用途。未经作者同意,不可用于任何商业用途。
如在文献、报告等文字材料中引用本博客发布的原创类资料,请注明出处。