目录
BP算法基本原理
距离向脉冲压缩
划分成像网格
聚焦处理
小结
BPA成像处理软件设计与接口
机载SAR模型BPA1
程序接口
仿真数据1处理(一个点目标)
仿真数据使用前面介绍的机载SAR回波仿真软件生产,详细使用说明见
机载正侧视模型条带SAR回波仿真算法与编程_爱学习的小伟的博客-CSDN博客机载正侧视模型条带SAR回波仿真算法与编程。在机载模型下,建立空间三维坐标系,并在此坐标下计算目标和雷达相位中心的位置,得到目标的距离历程;然后根据距离历程和雷达参数构造回波数据。目前本文介绍的软件只支持正侧视条带模式SAR的回波仿真,用于验证本专栏后续介绍的成像处理算法。后续将发布考虑多模式、多通道、大斜视、星载模型等的回波仿真软件https://blog.csdn.net/smyounger/article/details/124547898?spm=1001.2014.3001.5501
也可以直接通过下面的链接下载本文使用的点目标仿真数据:
AirborneSAREcho_STRIP_Point1x1_AzChan1_Na3488_Nr1444.dat-图像处理文档类资源-CSDN下载机载模型SAR点目标仿真数据更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/smyounger/85355290AirborneSAREcho_STRIP_Point1x1_AzChan1_Na5440_Nr2338.dat-图像处理文档类资源-CSDN下载斜视SAR点目标仿真回波更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/smyounger/85366121
测试指标时,使用SAR图像聚焦质量评价插件:SARImageFocuseQuality_v0.0,详细使用说明见
SAR图像聚焦质量评价插件_爱学习的小伟的博客-CSDN博客SAR图像指令评价 分辨率 峰值旁瓣比 积分旁瓣比https://blog.csdn.net/smyounger/article/details/124622941?spm=1001.2014.3001.5501
后向投影算法(Back Projection Algorithm)是一种在时域直接对回波数据进行成像处理的算法。只要能够确定待成像场景的距离历程,该方法理论上可以对任意模式、任意几何模型下获取的获取数据进行聚焦处理。但是,该方法需要计算每一个方位采样时刻下,所有网格(也可以理解为所有采样点)的距离历程,所以运算量很大,如不做优化,效率极低。
BP算法的思想非常朴素和直观,基本处理流程如下图(下图来源于网络)所示:
详细的步骤描述如下:
下面以一个仿真点目标为例,介绍BP算法的每一步操作。处理前,点目标实部信号如下图所示。
测试数据:AirborneSAREcho_STRIP_Point1x1_AzChan1_Na3488_Nr1444.dat
对上述信号进行距离向脉冲压缩后,图像如下图所示。
以条带模式为例,网格划分示意图如下。
网格大小选取原则:与回波采样单元的尺寸相当或略小。
根据雷达位置与网格点坐标,计算雷达与网格点之间的距离,以及该距离与参考距离之间的时延。通常,参考距离为中心斜距。根据时延即可在时域回波数据中找到对应的回波数据。
然而,雷达与网格点实际距离对应的回波数据,通常与划分的网格不会重合,所有无法直接从回波数据中获取当前网格的值,如下图所示。对成像区域划分网格,如左图所示,选取其中一个红点为例,假设该网格点的距离历程为R(t),如右图红点所示;按照雷达参数,每个回波的采样单元分布如右图灰色点所示,显然红点与灰点没有重合。
解决上面采样点和网格点不重合的方法是插值:以红色实心点所在的脉冲为例,蓝色实心点为雷达采样点,是已知量;红色实心点是网格位置的采样点,是待求量。那么,使用插值的方式,即可得到红点的值。使用同样的方式,可以得到其他所有红色圆圈的值,最后累加插值得到的值,即可得到该网格的全分辨率图像。
下文介绍的sinc插值,可以解决上述问题,且精度可以通过增加插值核长度来保证。
https://blog.csdn.net/smyounger/article/details/123532859?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22123532859%22%2C%22source%22%3A%22smyounger%22%7D&ctrtid=cAbiHhttps://blog.csdn.net/smyounger/article/details/123532859?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22123532859%22%2C%22source%22%3A%22smyounger%22%7D&ctrtid=cAbiH
BP算法有以下特点:
本方法对应的Matlab程序可以在下面的连接中下载
SARImage_BPA_v0.0_CSDN_release.zip-图像处理文档类资源-CSDN下载SAR成像处理算法,BP算法更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/smyounger/85389628
BP成像处理算法
调用方式:sig_image = SARImageBPA1(sig_echo, param)
输入参数:
sig_echo:复回波数据
param:成像处理参数
param.sampleRate:采样率,单位Hz
param.Rnear:图像近距, 单位m
param.chirpRate:调频率,单位Hz/s,注意正负号
param.prf:PRF,单位Hz
param.lambda:信号波长,单位m
param.Vst:平台速度,单位m/s
param.lookAngle:下视角,单位rad,左侧视为正
param.squintAngle:斜视角,单位rad,前斜视为正
param.IaSize:成像网格方位向点数
param.IrSize:成像网格距离向点数
输出参数
sig_image:复图像
测试数据:AirborneSAREcho_STRIP_Point1x1_AzChan1_Na3488_Nr1444.dat
重要参数:
---------------仿真数据参数---------------
回波尺寸[Na x Nr]:3488 x 1444
雷达参数:
信号波长:0.0500 m
信号带宽:100.0000 MHz
信号脉宽:10.0000 us
信号调频率:10000000000000.0000 Hz/s
信号采样率:133.0000 MHz
脉冲重复频率:3500.0000 Hz
采样时延:0.0002 us
天线参数:
方位向孔径:6.0000 m
距离向孔径:3.0000 m
方位向通道数:1
距离向通道数:1
下视角:45.0000 deg
斜视角:0.0000 deg
平台参数:
飞行速度:7000.0000 m/s
场景近距:499137.8149 m
测试主函数:SARImageBPA_SimuDataMain.m
%
clear all;
close all;
%% 常数
Vc = 299792458; % 光速
ET = pi/180;
%% 读取回波数据
echoDataPath = 'D:\EchoData\';
echoDataName = [echoDataPath 'AirborneSAREcho_STRIP_Point1x1_AzChan1_Na3488_Nr1444.dat']; % 正侧视,2.7m分辨率
fprintf('回波数据路径:%s\n', echoDataName);
ReadSimulatedEchoData;
figure, imagesc(abs(real(sig_echo)))
title('原始回波数据实部')
xlabel('实部');
ylabel('虚部');
%% BP
param.sampleRate = sampleRate;
param.Rnear = Rnear;
param.chirpRate = chirpRate;
param.prf = prf;
param.lambda = lambda;
param.Vst = Vst;
param.lookAngle = lookAngle;
param.squintAngle = squintAngle;
param.IaSize = 32;
param.IrSize = 256;
sig_image = SARImageBPA1(sig_echo, param);
%% 图像输出
figure, set(gcf, 'color', 'white');
imagesc(abs(sig_image))
colormap(gray);
xlabel('Range'); ylabel('Azimuth');
%%
sliceSize = 16;
interpNum = 16;
pointSize = 512;
[Radiopara, Rgpara, Azpara] = ...
SARImageFocusedQuality1(sig_image, prf, sampleRate, Vst, sliceSize, interpNum);
fprintf('\n\n切片峰值: %f; 能量: %f; 坐标:[%d, %d]\n', Radiopara.peakVal, ...
Radiopara.pow, Radiopara.posa, Radiopara.posr);
fprintf('------- 距离向指标 -------\n');
fprintf('峰值: %8.2f ',Rgpara.max);
fprintf(' 分辨率: %4.3f', Rgpara.res);
fprintf(' 峰值旁瓣比:%5.3f', Rgpara.PSLR);
fprintf(' 积分旁瓣比:%5.3f\n', Rgpara.ISLR);
fprintf('------- 方位向指标 -------\n');
fprintf('峰值: %8.2f ',Azpara.max);
fprintf(' 分辨率: %4.3f', Azpara.res);
fprintf(' 峰值旁瓣比:%5.3f', Azpara.PSLR);
fprintf(' 积分旁瓣比:%5.3f\n', Azpara.ISLR);
fprintf('\n\n')
程序运行结果如下所示。
本博客上传的所有原创类资料,仅可用于个人学习、交流等非商业性用途。未经作者同意,不可用于任何商业用途。
如在文献、报告等文字材料中引用本博客发布的原创类资料,请注明出处。