合成孔径SAR雷达成像成(RDA和CSA)(Matlab代码实现)

简介: 合成孔径SAR雷达成像成(RDA和CSA)(Matlab代码实现)

💥1 概述

合成孔径雷达(SAR)利用雷达与目标的相对运动,把尺寸较小的真实天线孔径利用数据处理的方法合成较大等效天线孔径进行成像,以此获得高分辨图像。SAR雷达成像不受气象条件影响,具备全天时、全天候工作特点,在环境观测、灾害监测、地图测绘,以及战

场态势侦察领域有着广泛应用。

📚2 运行结果

......................

部分代码:

% 计算三个目标各自的波束中心穿越时刻
nc_1 = (y1-x1*tan(sita_r_c))/Vr;    % 目标1的波束中心穿越时刻。
nc_2 = (y2-x2*tan(sita_r_c))/Vr;    % 目标2的波束中心穿越时刻。
nc_3 = (y3-x3*tan(sita_r_c))/Vr;    % 目标3的波束中心穿越时刻。
nc_target = [nc_1,nc_2,nc_3];       % 定义该数组,便于处理。
%% 
% --------------------------------------------------------------------
% 距离(方位)向时间,频率相关定义
% --------------------------------------------------------------------
% 距离
tr = 2*R0/c + ( -Nrg/2 : (Nrg/2-1) )/Fr;                % 距离时间轴
fr = ( -NFFT_r/2 : NFFT_r/2-1 )*( Fr/NFFT_r );          % 距离频率轴
% 方位
ta = ( -Naz/2: Naz/2-1 )/Fa;                            % 方位时间轴
fa = fnc + fftshift( -NFFT_a/2 : NFFT_a/2-1 )*( Fa/NFFT_a );    % 方位频率轴
% 生成距离(方位)时间(频率)矩阵
tr_mtx = ones(Naz,1)*tr;    % 距离时间轴矩阵,大小:Naz*Nrg
ta_mtx = ta.'*ones(1,Nrg);  % 方位时间轴矩阵,大小:Naz*Nrg
fr_mtx = ones(Naz,1)*fr;    % 距离频率轴矩阵,大小:Naz*Nrg
fa_mtx = fa.'*ones(1,Nrg);  % 方位频率轴矩阵,大小:Naz*Nrg
%% 
% --------------------------------------------------------------------
% 生成点目标原始数据
% --------------------------------------------------------------------
s_echo = zeros(Naz,Nrg);    % 用来存放生成的回波数据
A0 = 1;                     % 目标回波幅度,都设置为1.
for k = 1:3                 % 生成k个目标的原始回波数据
    R_n = sqrt( (x_range(k).*ones(Naz,Nrg)).^2 + (Vr.*ta_mtx-y_azimuth(k).*ones(Naz,Nrg)).^2 );% 目标k的瞬时斜距
    w_range = ((abs(tr_mtx-2.*R_n./c)) <= ((Tr/2).*ones(Naz,Nrg)));     % 距离向包络,即距离窗
    % =====================================================================    
    % 方位向包络,也就是 天线的双程方向图作用因子。
    %{
    % 方式1
    % sinc平方型函数,根据公式(4.31)计算    
    % 用每个目标对应的 波束中心穿越时刻 。
    sita = atan( Vr.*(ta_mtx-nc_target(k).*ones(Naz,Nrg))/x_range(k) );
    w_azimuth1 = (sinc(0.886.*sita./beta_bw)).^2; 
    % w_azimuth1是天线双程方向图。
    % 下面的 w_azimuth2 是和方式2的矩形窗相同的构造方法,目的是:对天线双程
    % 方向图进行数据限制:限制为 1.135 个合成孔径长度。 
    w_azimuth2 = (abs(ta - nc_target(k)) <= (1.135*La/2)/Vr);    
    w_azimuth2 = w_azimuth2.'*ones(1,Nrg);    % 用来对 w_azimuth1 的天线双程方向图作数据限制。
    % 下面将两者相乘,得到仿真中所用的天线加权
    w_azimuth = w_azimuth1.*w_azimuth2;     % 两者相乘,得到仿真中所用的天线加权
    clear w_azimuth1;
    clear w_azimuth2;
    %}
    %
    % 方式2
    % 利用合成孔径长度,直接构造矩形窗(其实这里只是限制数据范围,没有真正加窗)
    w_azimuth = (abs(ta - nc_target(k)) <= (La/2)/Vr);    % 行向量
    w_azimuth = w_azimuth.'*ones(1,Nrg);    % 生成Naz*Nrg的矩阵
    %}
    % =====================================================================     
    s_k = A0.*w_range.*w_azimuth.*exp(-(1j*4*pi*f0).*R_n./c).*exp((1j*pi*Kr).*(tr_mtx-2.*R_n./c).^2);
    % 上式就是生成的某一个点目标(目标k)的回波信号。
    % 经过几次循环,生成几个点目标的回波信号,相加即可。
    if k == 1
        s_1 = s_k;          % 目标1的回波信号
    end
    if k == 2   
        s_2 = s_k;          % 目标2的回波信号
    end
    if k == 3
        s_3 = s_k;          % 目标3的回波信号
    end
    s_echo = s_echo + s_k;  % 所有点目标回波信号之和   
end
% s_echo 就是我们需要的原始数据,点目标回波信号。
% 作图
% 图1——原始数据
figure;
subplot(2,2,1);
imagesc(real(s_echo));
title('(a)实部');
xlabel('距离时域(采样点)');
ylabel('方位时域(采样点)');
text(300,-70,'图1,原始数据');       % 给图1进行文字说明 
% text 函数:在图像的指定坐标位置,添加文本框
subplot(2,2,2);
imagesc(imag(s_echo));
title('(b)虚部');
xlabel('距离时域(采样点)');
ylabel('方位时域(采样点)');


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]方鸣韬. SAR雷达系统反设计及典型目标建模与仿真实现研究[D].电子科技大学,2022.DOI:10.27005/d.cnki.gdzku.2022.002147.


[1]朱俊宇. 多基合成孔径雷达协同高分辨成像方法研究[D].电子科技大学,2022.DOI:10.27005/d.cnki.gdzku.2022.000831.


🌈4 Matlab代码实现

相关文章
|
4天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
4天前
|
数据安全/隐私保护
matlab程序, 脉冲波合成与提取,滑冲效应、方向性效应,自定义脉冲模型,提取脉冲波
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
4天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
4天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
4天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
4天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
4天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
4天前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
4天前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)

热门文章

最新文章