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


     👨‍🎓个人主页:研学社的博客 

    💥💥💞💞欢迎来到本博客❤️❤️💥💥

    🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

    ⛳️座右铭:行百里者,半于九十。

    📋📋📋本文目录如下:🎁🎁🎁

    目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    🌈4 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代码实现

  • 相关阅读:
    wangEditor在Vue3中的使用
    无代码开发V-Robot入门教程
    Java面试个人简历
    药物从研发到上市需要经历哪些流程?||新药研发
    框架学习1:Spring常见问题
    openGauss每日一练第10天 | openGauss逻辑结构:表空间管理
    双非硕的秋招路:长风破浪会有时
    纺织ERP系统哪家的比较好?适用的纺织ERP软件有哪些
    交换机和路由器技术-25-OSPF多区域配置
    【手把手带你学会KMP算法】
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127910043