• 雷达波形及MATLAB仿真



    前言

    本文对雷达波形的内容以思维导图的形式呈现,有关仿真部分进行了讲解实现。


    一、雷达波形

    思维导图如下图所示,如有需求请到文章末尾端自取。
    在这里插入图片描述

    二、Matlab 仿真

    1、SFW 的距离分辨率和距离模糊

    距离分辨率 Δ R = c 2 n Δ f \Delta R=\large \frac{c}{2n\Delta f} ΔR=2nΔfc

    不模糊距离窗为 R u = c 2 Δ f R_u=\large \frac{c}{2\Delta f} Ru=fc

    ①、MATLAB 源码

    hrr_profile.m

    function [hl] = hrr_profile (nscat, scat_range, scat_rcs, n, deltaf, prf, v, rnote,winid)
    % Range or Time domain Profile
    % Range_Profile returns the Range or Time domain plot of a simulated 
    % HRR SFWF returning from a predetermined number of targets with a predetermined
    % RCS for each target.
    c=3.0e8;  % speed of light (m/s)
    num_pulses   = n;
    SNR_dB = 40;
    nfft = 256;
    %carrier_freq = 9.5e9; %Hz (10GHz)
    freq_step    = deltaf; %Hz (10MHz)
    V = v;  % radial velocity (m/s)  -- (+)=towards radar (-)=away
    PRI = 1. / prf; % (s)
    if (nfft > 2*num_pulses)
        num_pulses = nfft/2;
    else
    end
    Inphase = zeros((2*num_pulses),1);
    Quadrature = zeros((2*num_pulses),1);
    Inphase_tgt    = zeros(num_pulses,1);
    Quadrature_tgt = zeros(num_pulses,1);
    IQ_freq_domain = zeros((2*num_pulses),1);
    Weighted_I_freq_domain = zeros((num_pulses),1);
    Weighted_Q_freq_domain = zeros((num_pulses),1);
    Weighted_IQ_time_domain = zeros((2*num_pulses),1);
    Weighted_IQ_freq_domain = zeros((2*num_pulses),1);
    abs_Weighted_IQ_time_domain = zeros((2*num_pulses),1);
    dB_abs_Weighted_IQ_time_domain = zeros((2*num_pulses),1);
    taur = 2. * rnote / c;
    for jscat = 1:nscat
       ii = 0;
       for i = 1:num_pulses
          ii = ii+1;
          rec_freq = ((i-1)*freq_step);
          Inphase_tgt(ii) = Inphase_tgt(ii) + sqrt(scat_rcs(jscat)) * cos(-2*pi*rec_freq*...
             (2.*scat_range(jscat)/c - 2*(V/c)*((i-1)*PRI + taur/2 + 2*scat_range(jscat)/c)));
          Quadrature_tgt(ii) = Quadrature_tgt(ii) + sqrt(scat_rcs(jscat))*sin(-2*pi*rec_freq*...
             (2*scat_range(jscat)/c - 2*(V/c)*((i-1)*PRI + taur/2 + 2*scat_range(jscat)/c)));
       end
    end
    if(winid >= 0)
        window(1:num_pulses) = hamming(num_pulses);
    else
        window(1:num_pulses) = 1;
    end
    Inphase = Inphase_tgt;
    Quadrature = Quadrature_tgt;
    Weighted_I_freq_domain(1:num_pulses) = Inphase(1:num_pulses).* window';
    Weighted_Q_freq_domain(1:num_pulses) = Quadrature(1:num_pulses).* window';
    Weighted_IQ_freq_domain(1:num_pulses)= Weighted_I_freq_domain + ...
       Weighted_Q_freq_domain*j;
    Weighted_IQ_freq_domain(num_pulses:2*num_pulses)=0.+0.i;
    Weighted_IQ_time_domain = (ifft(Weighted_IQ_freq_domain));
    abs_Weighted_IQ_time_domain = (abs(Weighted_IQ_time_domain));
    dB_abs_Weighted_IQ_time_domain = 20.0*log10(abs_Weighted_IQ_time_domain)+SNR_dB;
    % calculate the unambiguous range window size
    Ru = c /2/deltaf;
    hl = dB_abs_Weighted_IQ_time_domain;
    
    numb = 2*num_pulses;
    delx_meter = Ru / numb;
    xmeter = 0:delx_meter:Ru-delx_meter;
    plot(xmeter, dB_abs_Weighted_IQ_time_domain,'k')
    xlabel ('relative distance - meters')
    ylabel ('Range profile - dB')
    grid
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66

    在这里插入图片描述
    例如,假设距离像起始点为 R 0 = 912 m R_0=912m R0=912m 处,RCS 为 σ = 10 m 2 \sigma=10m^2 σ=10m2 v = 15 m / s v=15m/s v=15m/s 的运动目标的合成距离像

    fig3_17.m

    clear all
    close all
    nscat = 1;
    scat_range = 912;
    scat_rcs = 10;
    n =64;
    deltaf = 10e6;
    prf = 10e3;
    v = 15;
    rnote = 900,
    winid = 1;
    count = 0;
    for time = 0:.05:3
        count = count +1;
        hl = hrr_profile (nscat, scat_range, scat_rcs, n, deltaf, prf, v, rnote,winid);
        array(count,:) = transpose(hl);
        hl(1:end) = 0;
        scat_range =  scat_range - 2 * n * v / prf;
    end
    figure (1)
     numb = 2*256;% this number matches that used in hrr_profile. 
     delx_meter = 15 / numb;
     xmeter = 0:delx_meter:15-delx_meter;
     imagesc(xmeter, 0:0.05:4,array)
     colormap(gray)
    ylabel ('Time in seconds')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    ②、仿真结果

    请添加图片描述

    一个运动目标的合成距离像(4s 长)

    三、资源自取

    雷达波形相关知识点思维导图笔记


    我的qq:2442391036,欢迎交流!


  • 相关阅读:
    Web基础与HTTP协议
    浏览器架构
    论坛网站全栈项目Vue3+Python+Flask+MySQL+Redis
    openwrt 23.05.2 稳定版本 导入树莓派4B
    机器学习的安全及隐私保护研究
    RabbitMQ学习笔记(消息发布确认,死信队列,集群,交换机,持久化,生产者、消费者)
    你觉得java与嵌入式学哪个好?
    (二)springboot整合redis,基于注解快速实现缓存功能
    一个未经压缩的图片(bmp)的大小
    阿里云韩国服务器测试IP地址及公网带宽收费价格表
  • 原文地址:https://blog.csdn.net/qq_41839588/article/details/134370191