目录
本文介绍的插件已经经过实际数据的验证,如有实际数据需要处理,欢迎联系作者。
距离多普勒(RD)算法是为处理SEASAT SAR数据而提出的,该算法在1978年处理出第一幅机载SAR图像。由于该算法在距离多普勒域完成距离徙动校正,所以被命名为RD算法。该算法原理简单,适合初学者学习。
RDA成像处理软件设计与接口
上篇文章介绍了RDA成像处理算法的3种实现方式:
- 使用相位相乘实现距离徙动校正
- 使用sinc插值实现距离徙动校正
- 使用sinc插值实现距离徙动校正,同时考虑SRC
本节针对上述3种实现方式,设计成像处理软件。为了验证成像处理效果,使用前面介绍的机载数据仿真软件,仿真一个点目标。
注:
- 仿真数据使用前面介绍的机载SAR回波仿真软件生产,详细使用说明见
- 机载正侧视模型条带SAR回波仿真算法与编程_爱学习的小伟的博客-CSDN博客机载正侧视模型条带SAR回波仿真算法与编程。在机载模型下,建立空间三维坐标系,并在此坐标下计算目标和雷达相位中心的位置,得到目标的距离历程;然后根据距离历程和雷达参数构造回波数据。目前本文介绍的软件只支持正侧视条带模式SAR的回波仿真,用于验证本专栏后续介绍的成像处理算法。后续将发布考虑多模式、多通道、大斜视、星载模型等的回波仿真软件
https://blog.csdn.net/smyounger/article/details/124547898
- 也可以直接通过下面的链接下载本文使用的点目标仿真数据:
- AirborneSAREcho_STRIP_Point1x1_AzChan1_Na3488_Nr1444.dat-图像处理文档类资源-CSDN下载机载模型SAR点目标仿真数据更多下载资源、学习资料请访问CSDN下载频道.
https://download.csdn.net/download/smyounger/85355290
- 测试指标时,使用SAR图像聚焦质量评价插件:SARImageFocuseQuality_v0.0,详细使用说明见
- SAR图像聚焦质量评价插件_爱学习的小伟的博客-CSDN博客SAR图像指令评价 分辨率 峰值旁瓣比 积分旁瓣比
https://blog.csdn.net/smyounger/article/details/124622941
RDA-相位相乘RCMC
本方法对应的Matlab程序可以在下面的连接中下载
程序接口
调用方式:sig_image = SARImageRDA_MultiPhase(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.Fdc:多普勒中心,单位Hz
输出参数
sig_image:复图像
仿真数据1处理(一个点目标)
测试数据:AirborneSAREcho_STRIP_Point1x1_AzChan1_Na3488_Nr1444.dat
重要参数:
调用方式:sig_image = SARImageRDA_MultiPhase(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.Fdc:多普勒中心,单位Hz
输出参数
sig_image:复图像
测试主函数:
clear all;
close all;
%% 常数
Vc = 299792458; % 光速
ET = pi/180;
%% 读取回波数据
echoDataPath = 'D:\EchoData\';
echoDataName = [echoDataPath 'AirborneSAREcho_STRIP_Point1x1_AzChan1_Na3488_Nr1444.dat'];
fprintf('回波数据路径:%s\n', echoDataName);
ReadSimulatedEchoData;
%% 成像处理
param.sampleRate = sampleRate;
param.Rnear = Rnear;
param.chirpRate = chirpRate;
param.prf = prf;
param.lambda = lambda;
param.Vst = Vst;
param.Fdc = 0.0;
sig_image = SARImageRDA_MultiPhase(sig_echo, param);
%% 图像输出
figure, set(gcf, 'color', 'white');
imagesc(abs(sig_image))
colormap(gray);
xlabel('Range'); ylabel('Azimuth');
%%
sliceSize = 32;
interpNum = 16;
pointSize = 512;
[Radiopara, Rgpara, Azpara] = ...
SARImageFocusedQuality1(sig_image, prf, sampleRate, Vst, sliceSize, interpNum);
fprintf('切片峰值: %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);
程序运行后,每一步结果如下所示:
距离向压缩:
距离徙动校正:
方位向压缩后点目标插值图:
聚焦指标:
RDA-sinc插值RCMC
本方法对应的Matlab程序可以在下面的连接中下载
程序接口
调用方式:sig_image = SARImageRDA_SincInterp(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.Fdc:多普勒中心,单位Hz
输出参数
sig_image:复图像
仿真数据1处理(一个点目标)
测试数据: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
测试主函数
clear all;
close all;
%% 常数
Vc = 299792458; % 光速
ET = pi/180;
%% 读取回波数据
echoDataPath = 'D:\EchoData\';
echoDataName = [echoDataPath 'AirborneSAREcho_STRIP_Point1x1_AzChan1_Na3488_Nr1444.dat'];
fprintf('回波数据路径:%s\n', echoDataName);
ReadSimulatedEchoData;
%% 成像处理
param.sampleRate = sampleRate;
param.Rnear = Rnear;
param.chirpRate = chirpRate;
param.prf = prf;
param.lambda = lambda;
param.Vst = Vst;
param.Fdc = 0.0;
sig_image = SARImageRDA_SincInterp(sig_echo, param);
%% 图像输出
figure, set(gcf, 'color', 'white');
imagesc(abs(sig_image))
colormap(gray);
xlabel('Range'); ylabel('Azimuth');
%%
sliceSize = 32;
interpNum = 16;
pointSize = 512;
[Radiopara, Rgpara, Azpara] = ...
SARImageFocusedQuality1(sig_image, prf, sampleRate, Vst, sliceSize, interpNum);
fprintf('切片峰值: %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);
程序运行后,每一步结果如下所示:
距离向压缩:
距离徙动校正:
方位向压缩后点目标插值图:
聚焦指标:
RDA-SRC
本方法对应的Matlab程序可以在下面的连接中下载
程序接口
调用方式:sig_image = SARImageRDA_SincInterpSrc(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.Fdc:多普勒中心,单位Hz
输出参数
sig_image:复图像
仿真数据1处理(一个点目标)
测试数据: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
测试主函数
clear all;
close all;
%% 常数
Vc = 299792458; % 光速
ET = pi/180;
%% 读取回波数据
echoDataPath = 'D:\EchoData\';
echoDataName = [echoDataPath 'AirborneSAREcho_STRIP_Point1x1_AzChan1_Na3488_Nr1444.dat'];
fprintf('回波数据路径:%s\n', echoDataName);
ReadSimulatedEchoData;
%% 成像处理
param.sampleRate = sampleRate;
param.Rnear = Rnear;
param.chirpRate = chirpRate;
param.prf = prf;
param.lambda = lambda;
param.Vst = Vst;
param.Fdc = 0.0;
sig_image = SARImageRDA_SincInterpSrc (sig_echo, param);
%% 图像输出
figure, set(gcf, 'color', 'white');
imagesc(abs(sig_image))
colormap(gray);
xlabel('Range'); ylabel('Azimuth');
%%
sliceSize = 32;
interpNum = 16;
pointSize = 512;
[Radiopara, Rgpara, Azpara] = ...
SARImageFocusedQuality1(sig_image, prf, sampleRate, Vst, sliceSize, interpNum);
fprintf('切片峰值: %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);
程序运行后,结果如下所示:
方位向压缩后点目标插值图:
聚焦指标:
本博客上传的所有原创类资料,仅可用于个人学习、交流等非商业性用途。未经作者同意,不可用于任何商业用途。
如在文献、报告等文字材料中引用本博客发布的原创类资料,请注明出处。