机载正侧视模型条带SAR回波仿真算法与编程

目录

正侧视机载SAR几何模型

程序设计

参数输入

点目标坐标计算

参数计算

天线坐标系与空间坐标系转换

 生成回波数据

验证回波数据是否正常


由于原文公式较多,所以本文部分内容以截图的形式分享给大家,word文档和相关代码可以通过下面的连接下载

机载正侧视条带SAR回波仿真程序(Matlab)-图像处理文档类资源-CSDN下载机载正侧视条带SAR回波仿真程序(Matlab)更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/smyounger/85266947

正侧视机载SAR几何模型

机载正侧视模型条带SAR回波仿真算法与编程_第1张图片

 机载正侧视模型条带SAR回波仿真算法与编程_第2张图片

基于上图所示的模型设计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’轴。

机载正侧视模型条带SAR回波仿真算法与编程_第3张图片

 

 生成回波数据

使用前面计算的参数,生成回波数据,并落盘。

程序中每生成一帧回波数据,就落盘,可以节省存储空间,在仿真数据量特别大的回波数据时,非常有用。

假设只仿真一个点目标的回波信号,程序运行结束后,回波信号的实部如下图所示。

机载正侧视模型条带SAR回波仿真算法与编程_第4张图片

验证回波数据是否正常

为了验证仿真的回波是否正常,绘制信号的二维频谱,如下图所示,可以看出频谱正常。

机载正侧视模型条带SAR回波仿真算法与编程_第5张图片

 对回波进行距离向压缩,得到的结果如下图所示,图像正常。

机载正侧视模型条带SAR回波仿真算法与编程_第6张图片

 本博客上传的所有原创类资料,仅可用于个人学习、交流等非商业性用途。未经作者同意,不可用于任何商业用途。
如在文献、报告等文字材料中引用本博客发布的原创类资料,请注明出处。

你可能感兴趣的:(SAR,SAR回波仿真,matlab,机载SAR,条带模式SAR)