精华内容
下载资源
问答
  • Matlab雷达回波信号消噪的仿真和实现-程序.pdf 基于mallat算法的滤波器设计及用于信号消噪实现 给出了算法、小波变换、滤波器的解析构造等原理及最后的程序 希望对大家有所帮助。
  • Matlab雷达回波信号消噪的仿真和实现-2.pdf 基于mallat算法的滤波器设计及用于信号消噪实现 给出了算法、小波变换、滤波器的解析构造等原理及最后的程序 希望对大家有所帮助。
  • Matlab雷达回波信号消噪的仿真和实现-1.pdf 基于mallat算法的滤波器设计及用于信号消噪实现 给出了算法、小波变换、滤波器的解析构造等原理及最后的程序 希望对大家有所帮助。
  • 雷达回波仿真 matlab源程序,这是与雷达目标回波+杂波+噪声仿真的mat文件,希望大家能用得着! 雷达回波仿真 matlab源程序,这是与雷达目标回波+杂波+噪声仿真的mat文件,希望大家能用得着!
  • Matlab点目标分析
  • SAR雷达回波仿真matlab

    2015-11-23 15:22:43
    SAR雷达回波仿真matlab。点目标阵的回波仿真。
  • 脉冲多普勒雷达的matlab仿真,包裹下变频、脉冲压缩、MTI和MTD。多普勒脉冲雷达回波仿真。产生回波,对回波进行距离压缩,进行两脉冲对消,观察运动、盲速与静止目标的对消情况。
  • Matlab雷达回波信号消噪的仿真和实现-3.pdf 基于mallat算法的滤波器设计及用于信号消噪实现 给出了算法、小波变换、滤波器的解析构造等原理及最后的程序 希望对大家有所帮助。
  • LFM线性调频信号脉冲压缩雷达多目标回波信号仿真(MATLAB
  • MATLAB数字信号处理(2)LFM脉冲雷达回波处理仿真

    万次阅读 多人点赞 2019-03-13 15:41:24
    将上学期的“气象雷达原理与系统”课程报告放到blog上。 摘要 线性调频(LFM)信号是应用...本设计实现了对线性调频(LFM)脉冲压缩雷达的工作原理仿真,在MATLAB 平台中模拟一个叠加的线性调频回波信号,对该...

    将上学期的“气象雷达原理与系统”课程报告放到blog上。


    摘要

    线性调频(LFM)信号是应用广泛的一种波形,主要优点是脉冲压缩的形状和信噪比对多普勒频移不敏感,即在目标速度未知的情况下,用匹配滤波器仍可以实现回波信号的脉冲压缩,这将大大有利于雷达对目标的探测和信号处理效率的提高。本设计实现了对线性调频(LFM)脉冲压缩雷达的工作原理仿真,在MATLAB 平台中模拟一个叠加的线性调频回波信号,对该信号分别进行采样解调、滤波抽取、脉冲压缩,提取出其中包含的测量物体的距离信息,实验效果良好。


    Abstract

    The linear frequency modulation (LFM) signal is a widely used waveform. The main advantage is that the shape and signal-to-noise ratio of pulse compression are not sensitive to Doppler shift. That is, if the target speed is unknown, the matched filter is still used. Pulse compression of the echo signal can be achieved, which will greatly benefit the radar’s detection of the target and the improvement of signal processing efficiency. This design realizes the simulation of the working principle of linear frequency modulation (LFM) pulse compression radar. In the MATLAB platform, a superimposed chirp echo signal is simulated, and the signal is sampled, demodulated, filtered and compressed, and the distance information of the measured object is extracted. The experimental results are good.


    1、引言

    1.1 作用距离和距离分辨力

    作用距离和距离分辨力是雷达最重要的两个技术指标。作用距离取决于发射信号的能量,发射信号的能量又与发射脉冲的功率和发射时间(即脉冲宽度)成正比。前者受发射管峰值功率和传输线功率损耗等的限制,成本高且调节范围有限。因此,在发射机峰值功率受限的情况下,只能通过增加脉冲宽度的方法来增加信号能量以增大雷达的作用距离。

    雷达的距离分辨力取决于发射信号带宽,带宽越大,距离分辨力越好。传统脉冲雷达发射的是单频信号,脉冲宽度越窄,信号带宽就越宽,距离分辨率就越好。然而发射窄脉冲必然导致平均功率下降,进而减小雷达的作用距离。因此,传统的脉冲雷达中,增大作用距离和提高雷达的分辨力之间存在矛盾。

    为了兼顾雷达的作用距离和距离分辨力,发射信号应同时具备大时宽和大带宽的特点,为此,研究人员利用复杂波形来替代传统的单频脉冲信号。在发射端调制信号的频率或相位以增大信号的带宽,并发射大时宽的信号以保证作用距离。在接收端通过匹配滤波器,将接收到的宽脉冲信号进行脉冲压缩得到窄脉冲信号,提高距离分辨率,从而兼顾了作用距离和距离分辨力。这是雷达隐蔽、抗干扰、区分多目标的重要手段。研究最早且应用最广泛的复杂波形便是线性调频信号。

    1.2 线性调频信号

    雷达波形设计中,采用线性调频信号的优势在于信号产生方便,同时当目标回波存在多普勒频移时脉压结果变化较小,缺点是经过脉压处理后副瓣较高,固定为13.6dB,虽然可以通过加窗的方法对其进行抑制,但同时对信号的其他特性也会带来损失,另外在时宽带宽积小于20时,主瓣副瓣比会变小,导致性能恶化。

    线性调频信号的产生方法在早期雷达中使用的是通过全通移相网络、压控振荡器或色散延迟线的方法,后来采用声表面波器件通过模拟手段形成。而新一代雷达一般则使用DDS技术直接合成。脉冲压缩处理方法在现代雷达中一般采用数字方式进行。有两类方式,一类是在频域上进行处理,将零中频回波信号进行快速傅里叶变换然后与发射信号的频谱相乘,然后再进行逆傅里叶变换得出结果;另一类是时域处理法,将零中频信号与回波信号进行卷积直接得出结果。

    早期,由于FPGA硬件水平较低,无法进行大量的乘法并行运算,所以主要使用DSP以第一类方法为主。目前随着FPGA的设计制造工艺水平逐步提高,使用FPGA来实现各种雷达信号处理算法乃至整个雷达信号处理系统成为了一种数字信号处理的发展趋势。
    本文设计实现了对线性调频(LFM)脉冲压缩雷达的工作原理仿真,在MATLAB 平台中模拟一个叠加的线性调频回波信号,对该信号分别进行采样解调、滤波抽取、脉冲压缩,提取出其中包含的测量物体的距离信息。


    2、原理分析

    2.1 LFM 脉冲雷达原理分析

    雷达是利用无线电波来检测目标并测定目标的有无、目标斜距、目标角位置、目标相对速度等的装置。雷达发射机的任务是产生符合要求的雷达波形,然后经馈线和收发开关由发射天线辐射出去,遇到目标后,电磁波一部分反射,经接收天线和收发开关由接收机接收,对雷达回波信号做适当的处理就可以获知目标的相关信息。

    假设目标与雷达的相对距离为 R,雷达发射信号s(t) ,传播速度为光速C ,则经过时间R/C后电磁波到达目标,照射到目标上的电磁波可写成:s(t-R/C)。电磁波与目标相互作用,一部分电磁波被目标散射,被反射的电磁波为σ·s(t-R/C),其中σ为目标的雷达散射截面(RCS)。再经过时间R/C后,被雷达接收天线接收的信号为σ·s(t-2 R/C)。
    在这里插入图片描述

    图 2.1 雷达等效于 LTI 系统

    如果将雷达天线和目标看作一个系统,便得到如图 2.1 的等效,而且这是一个 LTI(线性时不变)系统。

    等效 LTI 系统的冲激响应可写成:

    █(h(t)=∑_(i=1)^M▒σ_i  δ(t-τ_i )#(2.1) )
    M 表示目标的个数,σ_i是目标散射特性,τ_i是光速在雷达与目标之间往返一次的时间:
    在这里插入图片描述
    式中, Ri 为第 i 个目标与雷达的相对距离。雷达发射信号 s(t) 经过该 LTI 系统,得输出信号(即雷达的回波信号)sr (t) :
    在这里插入图片描述
    从雷达回波信号sr (t)提取出表征目标特性的τ_i(表征相对距离)的常用方法如图2.2所示。
    在这里插入图片描述

    图 2.2 雷达回波信号处理

    以上便是线性调频(LFM)脉冲压缩雷达的工作原理。

    2.2数字下变频原理分析

    本设计中可以选用降低采样率来实现数字下变频的目的,原理如图2.3所示。
    在这里插入图片描述

    图 2.3 降低采样率实现数字下变频

    如果原信号采样率为f,则经过n点重采样处理后,采样频率变为f/n。

    2.3脉冲压缩原理分析

    脉冲压缩相当于让 sr(t) 通过雷达发射信号s(t)的匹配滤波器。s(t)的匹配滤波器hr (t)为:
    在这里插入图片描述
    于是进行滤波处理有:
    在这里插入图片描述
    对上式进行傅立叶变换:
    在这里插入图片描述
    如果选取合适的s(t),使它的幅频特性|S(jω)|为常数,那么2.6式可写为:
    在这里插入图片描述
    其傅立叶反变换为:
    在这里插入图片描述
    so (t)中包含目标的特征信息τi和σi。从so(t)中可以得到目标的个数M和每个目标相对雷达的距离:
    在这里插入图片描述
    实现脉冲压缩的方式有两种,一种是直接在时域卷积(滤波)法,另一种是在频域中进行处理,如图 2.4 所示。
    在这里插入图片描述

    图 2.4 频域脉冲压缩处理

    3、详细设计

    3.1 线性调频信号回波产生模块

    表3.1 关键系统参数
    参数含义
    f调频信号基础频率 10MHz
    fs采样频率 100MHz
    ts采样周期 1/fs
    B调频范围 10MHz
    T脉冲宽度 10μs
    c信号传播速度 3×108m/s
    PRT脉冲周期 500μs

    本系统中使用到的关键系统参数如表3.1所示。基于上述参数,本系统中使用的线性调频信号为:
    在这里插入图片描述
    本系统假设该线性调频信号检测到三个目标,距离分别为 10km,30km和31km。本模块使用到的主要信号如表3.2所示。

    表 3.2 回波信号生成模块信号
    信号含义
    y基础线性调频信号
    y110km 处的回波信号
    y230km 处的回波信号
    y331km 处的回波信号
    xt叠加后的回波信号

    线性调频信号回波产生模块的程序设计流程图如图3.1所示。
    在这里插入图片描述

    图3.1 LFM信号回波产生模块程序流程图

    程序设计时先计算出三个距离所对应的传播时间,然后根据时间计算出其对应的序列长度,建立三个子信号分别作为三个距离上的回波信号。之后再设计一个 10μs 的 LFM 信号。每一个回波信号由传播时间、10μs的LFM信号、补零三部分组成,总时长为 PRT。最后将三个回波信号叠加起来。

    3.2 回波信号采样解调模块

    该模块使用一个基础频率的信号进行解调:
    在这里插入图片描述
    本模块使用到的主要信号如表3.3所示。

    表3.3 回波信号采样解调模块信号
    信号含义
    xtLFM 叠加的回波信号
    yf相干载波信号
    xrt解调后的信号

    相干解调的过程只需要让 xt 和 yf 相乘即可,相乘结果即为解调出来的雷达信号。

    3.3 滤波抽取模块

    解调后的信号xrt中包含有两信号相乘的和频信号和差频信号,本模块滤除掉和频信号分量,之后对滤波后的信号重采样,以降低采样率达到数字下变频的目的。本模块使用到的主要信号如表 3.4 所示。

    表3.4 滤波抽取模块信号
    信号含义
    xrt解调后的信号
    firxrt滤波后的信号
    xrtdown数字下变频处理后的信号

    滤波抽取模块的程序设计流程图如图3.2所示。
    在这里插入图片描述

    图 3.2 滤波抽取模块程序流程图

    由于回波信号为10-20MHz,与10MHz的相干信号相乘,结果频谱应该包含 0-10MHz和20-30MHz两个频段,因此使用fdatool设计一个低通滤波器滤除掉20~30MHz的信号。滤波器通带频率15MHz,阻带频率18MHz,通带衰减1dB,阻带衰减1dB,将系数导出到工作空间供滤波处理调用。

    对滤波后的信号使用downsample函数进行4位的抽取,则抽取后的信号采样频率变为100Mhz/4=25MHz。

    3.4 脉冲压缩模块

    表3.5 脉冲压缩模块信号
    信号含义
    xrtdown数字下变频处理后的信号
    hdt匹配滤波信号
    out脉冲压缩处理后的信号

    脉冲压缩模块让下变频后的回波信号通过发射信号的匹配滤波器,提取出每个目标回波的距离信息。脉冲压缩有时域法和频域法两种。本模块使用到的主要信号如表3.5所示。匹配滤波信号hdt如公式3.3所示。
    在这里插入图片描述
    匹配滤波信号中的f0为0Hz。时域法进行脉冲压缩使用hdt与xrtdown直接进行卷积即可。频域法进行脉冲压缩按照图2.4中的原理框图处理。


    4、仿真分析

    4.1 回波产生模块仿真分析

    绘制出雷达回波信号的时域图与频域图,结果如图4.1所示。
    在这里插入图片描述

    图 4.1 雷达回波信号时域与频域

    时域中可以看到在10km、30km、31km处看到三个脉冲波形,其中在30km和 31km的交界处发生了信号叠加。频域中信号的频率范围在10MHz至20MHz间线性分布,符合预期设定。

    4.2 采样解调模块仿真分析

    在这里插入图片描述

    图 4.2 解调后信号时域图和频域图

    绘制出解调,即相乘后的信号时域和频域图,如图4.2所示。时域中可以仍然保留了10km、30km、31km处的三个脉冲波形信息。由于回波信号为10~20MHz,与10MHz的相干信号相乘,结果频谱应该包含0-10MHz和20-30MHz两个频段,因此该模块设计符合预期设定。

    4.3 滤波抽取模块仿真分析

    绘制对解调信号滤波后的信号频域如图4.3所示。
    在这里插入图片描述

    图 4.3 解调信号滤波后频域图

    经过低通滤波后,解调信号中的 20~30MHz 频段被滤除,只留下 0~10MHz频段信号。对该信号抽取后绘制频域如图4.4所示。
    在这里插入图片描述

    图4.4 抽取后信号频域图

    抽取后信号仍保留了0~10MHz的信号信息,但采样频率由100MHz降至25MHz,图4.3中最大频率为100MHz/2=50MHz,图4.4中最大频率为25MHz/2=12.5MHz,表明该模块设计符合预期设定。

    4.4 脉冲压缩模块仿真分析

    脉冲压缩处理后绘制信号的时域图如图4.5所示。
    在这里插入图片描述

    图 4.5 脉冲压缩后信号时域图

    原来每个距离的回波信号脉宽为10μs,经过脉冲压缩后,每个脉冲变为10μs/100=0.1μs。从图4.5中可以清楚的看到在10km、30km、31km处各有一个很窄的脉冲。脉冲压缩处理的能力也决定了雷达信号处理系统的距离分辨力大小, 压缩后脉冲越窄,距离分辨力越大。


    5、结束语

    本设计实现了对线性调频( LFM)脉冲压缩雷达的工作原理仿真,在MATLAB 平台中模拟一个叠加的线性调频回波信号,对该信号分别进行采样解调、滤波抽取、脉冲压缩,提取出其中包含的测量物体的距离信息,实验效果良好。

    脉冲压缩的原理就是使用一个发射信号与接收回波进行相关,可以将较宽的回波信号“压缩”成很窄的信号。压缩后的脉冲宽度决定了可以分辨的最小距离。例如两个目标的回波信号重叠在一起,在回波信号中无法直接分辨出两个目标的位置,未进行脉冲压缩的雷达距离分辨力 ΔR=(cτ)/2=c/(2B)。这种体制的雷达要提高距离分辨率必须减小脉冲宽度,脉宽减少会降低平均发射功率,使用线性调频信号进行脉冲压缩可以实现提高距离分辨率而保持平均发射功率。脉冲压缩后的距离分辨力 ΔR=(cτ’)/2<<(cτ)/2。


    MATLAB代码如下(fir.mat放不上来,按照文中参数使用FDATOOL工具设计导出即可):

    % written by 刘奇
    
    clc;
    clear;
    close all;
    
    f = 10000000;         %10MHz
    fs = 100e6;
    ts = 1 / fs;
    B = 10^7;
    T = 10^(-5);
    u = B / T;
    c = 3e8;
    PRT = 500e-6;
    
    
    r1 = 10000;   tao1 = 2*r1/c;  n1 = round(tao1 / ts);
    r2 = 30000;  tao2 = 2*r2/c;  n2 = round(tao2 / ts);
    r3 = 31000;  tao3 = 2*r3/c;  n3 = round(tao3 / ts);
    NN = PRT / ts;
    
    t1 = 0 : ts : T-ts;
    y = sin(2*pi*(f*t1+0.5*u*t1.^2));
    N = length(y);
    
    
    y1 = [zeros(1, n1), y, zeros(1, NN-n1-N)];
    y2 = [zeros(1, n2), y, zeros(1, NN-n2-N)];
    y3 = [zeros(1, n3), y, zeros(1, NN-n3-N)];
    xt = y1+y2+y3;
    figure;
    subplot(2, 1, 1);
    plot((0:length(xt)-1)*ts*c/2/1000, xt);
    xlabel('距离/km');
    xtfft = abs(fft(xt, 50000));
    subplot(2, 1, 2);
    fx=(0:length(xt)/2-1)*fs/length(xt);
    plot(fx/1e6, xtfft(1:length(xt)/2));
    xlabel('频率/MHz');
    
    % 对回波信号采样
    fs1 = 100e6;
    ts1 = 1/fs1;
    t2 = 0 : ts1 : (length(xt)-1)*ts1;
    xrt = xt .* sin(2*pi*f*t2);
    
    fx1=(0:length(xt)/2-1)*fs1/length(xt);
    figure;
    subplot(2, 1, 1);
    plot((0:length(xt)-1)*ts*c/2/1000, xrt);
    xlabel('距离/km');
    xrtfft = abs(fft(xrt, 50000));
    subplot(2, 1, 2);
    fx1=(0:length(xrt)/2-1)*fs1/length(xrt);
    plot(fx1/1e6, xrtfft(1:length(xrt)/2));
    xlabel('频率/MHz');
    
    load fir.mat
    firxrt = filter(Num, 1,  xrt);
    firfft = abs(fft(firxrt, 50000));
    figure;
    plot(fx1/1e6, firfft(1:length(firxrt)/2));
    xlabel('频率/MHz');
    xrtdown = downsample(firxrt, 4);
     value0=abs(fft(xrtdown));%FFT分析
    figure;
    fx1=(0:length(xrtdown)/2-1)*(fs1/4)/length(xrtdown);
    %plot((fx1(1:length(value0)))/1e6, value0);
    plot( fx1/1e6, value0(1:length(fx1)));
    xlabel('频率/MHz');
    
    T = 10^(-5);
    u = B / T;
    c = 3e8;
    fs = 25e6;
    ts = 1 / fs;
    t1 = 0 : ts : T-ts;
    hdt = sin(2*pi*(0*t1+0.5*u*t1.^2));
    figure;
    plot(hdt);
    
    replica = xrtdown;
    y = fliplr(hdt);
    % out = conv(replica, y);
    replica1= [replica,zeros(1,16384-length(replica))];
    y1 = [hdt,zeros(1,16384-length(hdt))];
    
    rfft = fft(replica1);
    yfft = fft(y1);
    out = abs(ifft((rfft.*conj(yfft))));
    figure;
    t = (0:length(xrtdown)-1)*ts*c/2/1000;
    plot(t, out(1:length(t)));
    xlabel('距离/km');
    
    展开全文
  • matlab雷达目标回波仿真

    万次阅读 多人点赞 2018-09-10 17:32:10
    % 目标回波信号 Frame = 300; %至少要大于目标的帧数 TargetNumber = 3; %回波目标个数 TargerFrameOrignalMatrix = [Frame Frame Frame]; %如果目标出现帧数帧数超出,则目标被删除 TargerRangeOrignalMatrix = [25...
    close all;clearvars;clc;
    dbstop if error;
    fid = fopen('tempiqa1.dat' , 'w+');
    %% 模拟目标运动轨迹以及天线的基本参数
    Pt = 10e-3;                                                           %发送信号功率w
    Gt = 10;                                                                %天线增益 db
    RCS =1.5;                                                              %取汽车的典型值,反射物的横截面积 平方米
    ADCsamplef1 = 2e6;                                             %ADC采样率,主要是由于其中存在等待,为了保证时长的准确,此处chirp时长为8us ; 其中3us采样,5us等待
    Framet = 50e-3;                                                    %扫频间隔为50ms
    c = 3E8;
    lambda = 3E8/77E9;
    Aeff = lambda/2 * 0.04;                                         %接受天线的有效面积m^2
    numRxAnnate = 4;                                                 %接收天线个数
    d = lambda/2;
    DistanceOfEachAnnate = [0 d 2*d 3*d]; %接收天线间距,以第一幅接收天线为0,以后每一段为两幅接收天线之间的间距;
    
    % sction1 距离精度高,速度精度低段
    SampleRsec1 = 16;
    SampleVsec1 = 1024;
    Bandsec1 = 20E6;
    T1 = 1/ADCsamplef1*(SampleRsec1);
    U1 = Bandsec1/T1;
    DR1 = c/ 2 / Bandsec1;
    DV1 = lambda/ 2 / T1 / SampleVsec1;
    t1 = [0:SampleRsec1-1]/ADCsamplef1;
    F1  = zeros(SampleVsec1,SampleRsec1);
    
    % sction2 距离精度高,速度精度低段
    ADCsamplef2 = 5.4e6;      %ADC采样率,主要是由于其中存在等待,为了保证时长的准确,此处chirp时长为47us ; 其中42us采样,5us等待
    SampleRsec2 = 256;
    SampleVsec2 = 128;
    Bandsec2 = 800e6;
    T2 = 1/ADCsamplef2*(SampleRsec2);
    U2 = Bandsec2/T2;
    DR2 = c/ 2 / Bandsec2;
    DV2 = lambda/ 2 / T2 / SampleVsec2;
    t2 = [0:SampleRsec2-1]/ADCsamplef2;
    F2  = zeros(SampleVsec2,SampleRsec2);
    
    
    % 目标回波信号
    Frame = 300;                                                                             %至少要大于目标的帧数
    TargetNumber = 3;                                                                    %回波目标个数
    TargerFrameOrignalMatrix             = [Frame Frame Frame];        %如果目标出现帧数帧数超出,则目标被删除
    TargerRangeOrignalMatrix             = [25 5 13];                           %m 距离
    TargerVolectyOrignalMatrix           = [10  12 18];                        %m/s 速度为正表示远离 , 速度为负表示靠近
    TargerAccelerationOrignalMatrix    = [0 1 5];                               %m/s ^2
    TargerRoadOrignalMatrix                = [2 0 0];                              %默认设定目标为直线运动,此处给出目标的车道位置,目标的角度信息由距离关系自动计算。其中0表示中间车道,左边为负右边为正
    Mode = 0;
    
    %%  信号模拟
    %目标信号建模
    Fk = [1 Framet;0 1];
    Bk = [(Framet^2)/2  Framet]';
    % 峰值点结构体定义
    peakout.point_r = 0;peakout.point_v = 0;peakout.I1 = 0;peakout.Q1 = 0;
    peakout.I2 = 0;peakout.Q2 = 0;peakout.I3 = 0;peakout.Q3 = 0;peakout.I4 = 0;peakout.Q4 = 0;
    peaknum = 3072;
    
    for i = 1 : TargetNumber        %目标个数循环
        
        Targetdeta = zeros(2 ,Frame );
        Targetdeta(:,1) = [TargerRangeOrignalMatrix(i) TargerVolectyOrignalMatrix(i)]';
        
        for j = 2 : TargerFrameOrignalMatrix(i)     %目标帧数循环
                
                Targetdeta(1:2,j) = Fk*Targetdeta(1:2,j-1) + Bk.*TargerAccelerationOrignalMatrix(i);
                Targetdeta(3,j) = asind(3.6*TargerRoadOrignalMatrix(i) / Targetdeta(1 , j));
                
                if (Targetdeta(1 , j) < 0)
                    Targetdeta(1 , j) = 0;
                    Targetdeta(2 , j) = 0;
                end
        end  
        
        Target(i).target =  Targetdeta();
        
        
        Target(i).Pr =  Pt*Gt./(4*pi.*Target(i).target(1,:).^2) .* RCS .* (1/4/pi./Target(i).target(1,:).^2.*Aeff);
        Target(i).sn = 1.3806505e-24 * 800e6 *  (32+(9/5)*25);
        
    end
    
    figure;
    for i = 1 : TargetNumber
        plot(Target(i).target(1,:).*sind(Target(i).target(3,:)) , Target(i).target(1,:) ,   '*');
        hold on;
    end
    
    % 模拟回波时域信号
    h1 = figure;
    h2 = figure;
    h3 = figure;
    
    for cnt = 1 : Frame
           
         set(0,'CurrentFigure' , h3);
         for i = 1 : TargetNumber
             
             plot(cnt , Target(i).target(1,cnt) , 'o');
             hold on;       
             xlabel('帧数');
             ylabel('距离');
         end
        
       if(mod(cnt,2) == 0)
           
           Mode = 1;    %表示srsect1段 16*1024 20Mhz
           %  初始化天线存储内存
           for annatacnt = 1 : numRxAnnate
                srsec1(annatacnt).RX = zeros( SampleVsec1 , SampleRsec1);
           end
           
            for k = 1 :TargetNumber         
                
                for anrxcnt = 1 : numRxAnnate
           
                        dphi(anrxcnt) = 2*pi*DistanceOfEachAnnate(anrxcnt)*sind(Target(k).target(3,cnt)) / lambda;  
                end          
                
                %sec1 段回波数据模拟
                for i=1:SampleVsec1
                    for j=1:SampleRsec1
                        R = Target(k).target(1,cnt) +Target(k).target(2,cnt)*(i-1)*T1 + Target(k).target(2,cnt)*t1(j);
                        f = 2*R/lambda + 2*U1*R*t1(j)/c;
                        w = 2*pi*f;
                        F1(i,j) = w + (rand(1)-0.5)/0.1/180*pi;
                    end
                end
    
                for i=1:SampleVsec1
                    for j=1:SampleRsec1
                         w = F1(i,j);
                         
                         for anncnt = 1 : numRxAnnate
                             
                              srsec1(anncnt).RX(i,j) =  srsec1(anncnt).RX(i,j) +sqrt( Target(k).Pr(cnt))* exp(sqrt(-1)*(w + dphi(anncnt))) + (rand(1) - 0.5)* sqrt( Target(k).sn);% *  %dphi(anncnt)
                         end
                        
                    end
                end
            end
            srsecrx1 = srsec1(1).RX';
            srsecrx2 = srsec1(2).RX';
            srsecrx3 = srsec1(3).RX';
            srsecrx4 = srsec1(4).RX';
            
            black_manR = blackman(SampleRsec1);
            black_manV = blackman(SampleVsec1)';
            SR1 = srsecrx1.*repmat(black_manR,1,SampleVsec1);
            SR1 = SR1.*repmat(black_manV,SampleRsec1,1);
            fft_data1_1d = fft(SR1,SampleRsec1);
            fft_data1_1d = fft_data1_1d';
            fft_data1_2d = fft(fft_data1_1d,SampleVsec1);
            abs_data1 = abs(fft_data1_2d);
            
            %
            SR2 = srsecrx2.*repmat(black_manR,1,SampleVsec1);
            SR2 = SR2.*repmat(black_manV,SampleRsec1,1);
            fft_data2_1d = fft(SR2,SampleRsec2);
            fft_data2_1d = fft_data2_1d';
            fft_data2_2d = fft(fft_data2_1d,SampleVsec1);
            abs_data2 = abs(fft_data2_2d);
            
            %
            SR3 = srsecrx3.*repmat(black_manR,1,SampleVsec1);
            SR3 = SR3.*repmat(black_manV,SampleRsec1,1);
            fft_data3_1d = fft(SR3,SampleRsec1);
            fft_data3_1d = fft_data3_1d';
            fft_data3_2d = fft(fft_data3_1d,SampleVsec1);
            abs_data3 = abs(fft_data3_2d);
            %
            
            SR4 = srsecrx4.*repmat(black_manR,1,SampleVsec1);
            SR4 = SR4.*repmat(black_manV,SampleRsec1,1);
            fft_data4_1d = fft(SR4,SampleRsec1);
            fft_data4_1d = fft_data4_1d';
            fft_data4_2d = fft(fft_data4_1d,SampleVsec1);
            abs_data4 = abs(fft_data4_2d);
            
             set(0,'CurrentFigure' , h1);
            mesh(abs_data1);
            title( strcat('一维20Mhz 16点 ; dr = ' , num2str(DR1) ,'m ; 二维1024点; dv = ' , num2str(DV1) , 'm/s'));
            xlabel('距离维');
            ylabel('速度维');
       else
               
               Mode = 2;    %表示srsect1段 256*128 800Mhz 
                %  初始化天线存储内存
                for annatacnt = 1 : numRxAnnate
                    
                    srsec2(annatacnt).RX = zeros( SampleVsec2 , SampleRsec2);
                end
           
                 %sec2 段回波数据模拟
                 for k = 1 :TargetNumber   
                         
                        for anrxcnt = 1 : numRxAnnate
    
                                dphi(anrxcnt) = 2*pi*DistanceOfEachAnnate(anrxcnt)*sind(Target(k).target(3,cnt)) / lambda;   
                        end
                     
                        %sec2 段回波数据模拟
                        for i=1:SampleVsec2
                            for j=1:SampleRsec2
                                R = Target(k).target(1,cnt) +Target(k).target(2,cnt)*(i-1)*T2 + Target(k).target(2,cnt)*t2(j);
                                f = 2*R/lambda + 2*U2*R*t2(j)/c;
                                w = 2*pi*f;
                                F2(i,j) = w + (rand(1)-0.5)/0.1/180*pi;
                            end
                        end
    
                        for i=1:SampleVsec2
                            for j=1:SampleRsec2
                                w = F2(i,j);
                                
                                 for anncnt = 1 : numRxAnnate
                                     
                                        srsec2(anncnt).RX(i,j) = srsec2(anncnt).RX(i,j) + sqrt( Target(k).Pr(cnt)) * exp(sqrt(-1)*(w + dphi(anncnt)))+ (rand(1) - 0.5)* sqrt( Target(k).sn);
                                 end                                               
                            end
                        end             
                 end
                 
            srsecrx1 = srsec2(1).RX';
            srsecrx2 = srsec2(2).RX';
            srsecrx3 = srsec2(3).RX';
            srsecrx4 = srsec2(4).RX';
            
            black_manR = blackman(SampleRsec2);
            black_manV = blackman(SampleVsec2)';
            SR1 = srsecrx1.*repmat(black_manR,1,SampleVsec2);
            SR1 = SR1.*repmat(black_manV,SampleRsec2,1);
            fft_data1_1d = fft(SR1,SampleRsec2);
            fft_data1_1d = fft_data1_1d';
            fft_data1_2d = fft(fft_data1_1d,SampleVsec2);
            abs_data1 = abs(fft_data1_2d);
            
            %
            SR2 = srsecrx2.*repmat(black_manR,1,SampleVsec2);
            SR2 = SR2.*repmat(black_manV,SampleRsec2,1);
            fft_data2_1d = fft(SR2,SampleRsec2);
            fft_data2_1d = fft_data2_1d';
            fft_data2_2d = fft(fft_data2_1d,SampleVsec2);
            abs_data2 = abs(fft_data2_2d);
            
            %
            SR3 = srsecrx3.*repmat(black_manR,1,SampleVsec2);
            SR3 = SR3.*repmat(black_manV,SampleRsec2,1);
            fft_data3_1d = fft(SR3,SampleRsec2);
            fft_data3_1d = fft_data3_1d';
            fft_data3_2d = fft(fft_data3_1d,SampleVsec2);
            abs_data3 = abs(fft_data3_2d);
            %
            
            SR4 = srsecrx4.*repmat(black_manR,1,SampleVsec2);
            SR4 = SR4.*repmat(black_manV,SampleRsec2,1);
            fft_data4_1d = fft(SR4,SampleRsec2);
            fft_data4_1d = fft_data4_1d';
            fft_data4_2d = fft(fft_data4_1d,SampleVsec2);
            abs_data4 = abs(fft_data4_2d);
            
            set(0,'CurrentFigure' , h2);
            mesh(abs_data1);
            title( strcat('一维800Mhz 256点 ; dr = ' , num2str(DR2) ,'m ; 二维128点; dv =  ' , num2str(DV2) , 'm/s'));
            xlabel('距离维');
            ylabel('速度维');
       end
       
       %%  找峰值点,并把峰值点传出来
       avemeans = mean(abs_data1)*1.5;
       avemeans = repmat(avemeans , size(abs_data1 , 1) , 1);
       peak_matrix = imregionalmax(abs_data1);
       peak_matrix = peak_matrix .* abs_data1;
       peak_matrix(peak_matrix < avemeans) = 0;
       peak_matrix = peak_matrix * 1e6;
       g_menxian = avemeans(1,:)*1e6;
       [point_r point_v]= find(peak_matrix > 0);
       
       len = length(point_r);
       if len > 3072
           len = 3072;
       end
       
       for peakcnt = 1 : 3072
           peakout(peakcnt).point_r = 0; peakout(peakcnt).point_v=0;
           peakout(peakcnt).I1 = 0;peakout(peakcnt).Q1 = 0;
           peakout(peakcnt).I2 = 0; peakout(peakcnt).Q2 = 0;
           peakout(peakcnt).I3 = 0; peakout(peakcnt).Q3 = 0;
           peakout(peakcnt).I4 = 0; peakout(peakcnt).Q4 = 0;
       end
       %peak_matrix为峰值点位置 ; g_menxian为门限值,之后组帧数据传输出去
       for peakcnt = 1 : length(point_r)
           
           peakout(peakcnt).point_r = point_r(peakcnt);
           peakout(peakcnt).point_v = point_v(peakcnt);
           peakout(peakcnt).I1 = real(fft_data1_2d( point_r(peakcnt) , point_v(peakcnt))) *  1e6;
           peakout(peakcnt).Q1 = imag(fft_data1_2d( point_r(peakcnt) , point_v(peakcnt))) *  1e6;
           peakout(peakcnt).I2 = real(fft_data2_2d( point_r(peakcnt) , point_v(peakcnt))) *  1e6;
           peakout(peakcnt).Q2 = imag(fft_data2_2d( point_r(peakcnt) , point_v(peakcnt))) *  1e6;
           peakout(peakcnt).I3 = real(fft_data3_2d( point_r(peakcnt) , point_v(peakcnt))) *  1e6;
           peakout(peakcnt).Q3 = imag(fft_data3_2d( point_r(peakcnt) , point_v(peakcnt))) *  1e6;
           peakout(peakcnt).I4 = real(fft_data4_2d( point_r(peakcnt) , point_v(peakcnt))) *  1e6;
           peakout(peakcnt).Q4 = imag(fft_data4_2d( point_r(peakcnt) , point_v(peakcnt))) *  1e6;
       end
       
       for peakcnt = 1 : 3072
           
           fwrite(fid, peakout(peakcnt).point_r , 'uint16');
           fwrite(fid, peakout(peakcnt).point_v , 'uint16');
           fwrite(fid, int16(peakout(peakcnt).I1) , 'int16');
           fwrite(fid, int16(peakout(peakcnt).Q1) , 'int16');
           fwrite(fid, int16(peakout(peakcnt).I2) , 'int16');
           fwrite(fid, int16(peakout(peakcnt).Q2) , 'int16');
           fwrite(fid, int16(peakout(peakcnt).I3) , 'int16');
           fwrite(fid, int16(peakout(peakcnt).Q3) , 'int16'); 
           fwrite(fid, int16(peakout(peakcnt).I4) , 'int16');
           fwrite(fid, int16(peakout(peakcnt).Q4) , 'int16');     
           
       end
       
       pause(0.01);
    end
    
    fclose(fid);
    
    
    
    

     

    展开全文
  • 雷达发射机的任务是产生符合要求的雷达波形(Radar Waveform),然后经馈线和收发开关由发射天线辐射出去,遇到目标后,电磁波一部分反射,经接收天线和收发开关由接收机接收,对雷达回波信号做适当的处理就可以获知...

    一、线性调频脉冲雷达的工作原理 

    雷达发射机的任务是产生符合要求的雷达波形(Radar Waveform),然后经馈线和收发开关由发射天线辐射出去,遇到目标后,电磁波一部分反射,经接收天线和收发开关由接收机接收,对雷达回波信号做适当的处理就可以获知目标的相关信息。

    如果将雷达天线和目标看做一个系统,便得到如图1.2的等效,而且这是一个LTI系统。

     

     雷达发射信号s(t)经过该LTI系统,的输出信号(即雷达的回波信号):

     然后让通过雷达发射信号s(t)的匹配滤波器,如图1.3

     

    S(t)的匹配滤波器hr(t)为:

    于是,

     对上式进行傅里叶变换:

     如果选取合适的s(t),使它的幅频特性|S(jω)|为常数,那么可写为:

     其傅里叶反变换为:

     

    中包含目标的特征信息

    这就是线性调频(LFM)脉冲压缩雷达的工作原理。

    二、实验过程

    对雷达回波信号(sig)进行处理,得到回波信号的时域波形和幅频特性。实验代码如下,

    sigf=fft(sig,2048);  %sig fft
    plot(abs(sigf));
    

     让雷达回波信号通过匹配滤波器,代码如下:

    这里的脉宽0.4us,带宽265MHz,采样率320MHz

    %the map after modulation
    t = 0.4e-6; %pulse duration
    B = 265e6;  %chirp frequency modulation bandwidth 256MHz
    K = B/t;    %chirp slope
    Fs = 320e6;
    Ts = 1/Fs;  %sampling frequency and sample spacing
    N = t/Ts;
    t = linspace(-t/2,t/2,N);
    Ht = exp(-1j*pi*K*(-t).^2);  %matched filter
    hf = fft(Ht,2048);  % frequency
    m1 = sigf.*hf;  %经过 matched filter的信号的fft
    m1i = ifft(m1);
    plot(abs(m1i));
    title('时域');
    plot(abs(m1));
    title('频域');
    

     在时域加窗

    win = hamming(N)';
    filter_win = Ht.*win;       % window
    filter_winf = fft(filter_win,2048);     % 匹配滤波器加窗后频率响应
    plot(0:127,abs(filter_win));
    
    t = 0:2047;
    swf = sigf .*filter_winf;
    plot(t,abs(swf)); %补零前频域 
    title('补零前频域');
    
    new_swf = [swf(1:1024),zeros(1,14336),swf(1025:2048)]; %补零后的频域信号
    plot(0:16383,abs(new_swf)); %补零后的频域信号
    title('补零后频域');
    
    plot(0:16383,abs(ifft(new_swf)));  %补零后时域信号
    title('补零后时域');
    

    高频补零与过采样

    IFFT在中间补的目的是提供频带的保护间隔,在时域产生的效果就是过采样。频率分辨率=1/时域持续时间长度时域采样率=1/频率长度。

    我们频域补零的前提是,频率分辨率不变。无论在高频或低频补零,都会使时域采样率增加,但根据乃奎斯特采样定理可知,频谱以采样率为间隔在频率上周期搬移,会使高频部分混叠,所以补零应在高频部分。

    频域分辨率不变的高频域补零扩展,对应时域过采样(分辨率)补值。

    在时域补零加窗的结果

    L = length(sig);
    sigf = fft(sig);
    win = hamming(N)';
    filter_win = Ht.*win;       
    filter_winf = fft(filter_win,L);     
    winfi = ifft(filter_winf);
    sigw = winfi.*sig;  %sig信号时域加窗
    swfi = fft(sigw,L*num);
    plot(abs(swfi)); 
    title('时域补零加窗后的频域');
    

    当采样频率过低时,采样点数变少,做傅里叶变换后的频谱图像的点数会非常的稀疏,这就是栅栏效应。在时域补零后可以发现频谱点数变得更加密集,但是还是不能分辨各个频率,所以补零不能提高频率分辨率。

    三、思考

    1.在时域补零有什么好处?为什么补零不能提高距离分辨率?

    时域补零相当于频域内插,也就是补零操作增加了频域的插值点数,让频域的曲线看起来更加光滑,也就是增加了FFT频率分辨率。减小栅栏效应。

    时域补零后频谱的点虽然更加密集,但是相近的频率成分依然无法分开,这是因为,波形分辨率只与原始数据的时长t有关,而与参与FFT的数据点数无关,所以虽然补零,波形分辨率依然是1/t,当该分辨率远远大于要分辨的目标之间的距离。

    2.加汉明窗,脉冲压缩结果中的主瓣和副瓣会发生什么变化?

    主瓣变宽,副瓣变低。

    展开全文
  • 1. 雷达回波信号产生原理 雷达接收的回波可以是目标前向散射的,也可以是后向散射的,后向散射通常为双多基地雷达特有的。 雷达接收的信号可以表示为 x(t) = S ( t ) + N ( t ) + C ( t ) + J ( t ) 其中,S ( t ...

    1. 雷达回波信号产生原理

            雷达接收的回波可以是目标前向散射的,也可以是后向散射的,后向散射通常为双多基地雷达特有的。
            雷达接收的信号可以表示为
             x(t) = S ( t ) + N ( t ) + C ( t ) + J ( t ) 

            其中,S ( t )表示目标的后向散射回波,N ( t ) 表示噪声,C ( t ) 表示为杂波,J ( t ) 表示干扰。这里对杂波和干扰进行一个比较。

    2. 雷达目标回波信号的生成

            这里主要将接收信号中的S ( t ) S(t)S(t)、后续会依次将介绍杂波、干扰,以LFM线性调频信号为例,1个chirp静止目标回波表达式为:

            对于有多个chirp信号的回波表达式,当目标有速度时,此时会产生多普勒频移fd:

    在这里假设在一个周期中,有M=128个chirp信号,信号发出后,

     3. 雷达目标回波信号的中频形式

            雷达产生的回波通常有两种做法:

            方法一:直接将发射信号的采样点按照距离得到延时Tao,对发射信号进行平移;

            方法二:直接产生混频后的接收信号。

            对于方法一,接收信号的第一个点的相位和发射信号的第一个点的相位是一样的,其实,按照波的传播来说,他由初始位置运动到目标所在位置时,其第一个点碰到目标的初始相位并不一定和发射信号的初始相位一致,所以雷达通常是通过发射信号的基准晶振来判断接收到的信号的时间延迟,将这个时间延迟对应的相位补偿后,就可以实现接收信号的第一个点的相位和发射信号的初始相位一样了。

            通过以上分析,直接使用发射信号的基准相位(t=0)的发射信号与接收信号的共轭信号进行混频:

    4. 雷达目标回波信号的脉冲压缩

            匹配滤波器(Match filter,MF)是当输入端为信号与加性白噪声时,使其输出信噪比最大的滤波器,就是一个与输入信号相匹配的最佳滤波器。目标回波通过匹配滤波器能够获得最大信噪比输出,这样可以获取目标距离。

    展开全文
  • 雷达回波模拟仿真(一):回波产生,脉冲压缩(以LFM为例)matlab雷达目标回波雷达目标回波脉冲压缩脉冲压缩雷达目标回波脉冲压缩仿真代码 雷达目标回波 首先介绍雷达目标回波的组成结构,然后再通过代码的方式,让...
  • SAR雷达回波仿真 matlab

    2021-09-22 21:57:03
    SAR雷达回波仿真 matlab
  • 雷达回波模拟仿真(三):杂波(以LFM为例)matlab杂波杂波类型 杂波 杂波类型 就杂波来源而言,它包括来自地面、大海、云雨等天气、以及一些飞行的动物的回波。特殊的例如电离的流星尾迹回波或是被称为箔条所引起的...
  • 超宽带探地雷达回波形成双曲线,对双曲线灰度图进行matlab仿真,模拟回波图象(自己写的,很水)
  • LFM脉冲雷达回波模拟和处理的研究。 this pdf is very useful
  • 脉冲多普勒雷达matlab仿真,包裹下变频、脉冲压缩、MTI和MTD。
  • CST丛书18算例18_苏-30的RCS热点分析、雷达回波信号和SAR成像
  • 29第一节,雷达 LFM 信号分析;第二节,脉冲压缩处理;第三节,相参积累处理;第四节,恒虚警 CFAR 处理;第五节,目标信息提取处理。
  • 雷达信号的仿真,使用matlab语言,对目标回波信号进行仿真
  • 本教程目的为:利用MATLAB设计经典的雷达数字信号处理。该系统具备对雷达目标回波的处理能力,能够从噪声中将目标检测出来,并提取目标的距离、速度、角度信息。教程分五节完成,主要包括: 第一节,雷达LFM信号...
  • LFM_雷达回波仿真_雷达线性调频_雷达目标回波_Matlab脉冲雷达_雷达
  • 雷达回波模拟仿真(二):相参积累(以LFM为例)matlab相参积累相参积累代码 相参积累 因为雷达单个脉冲的回波能量有限,通常不采用单个接收脉冲来进行目标的检测判决。在判决之前,先对一个波位的多个脉冲串进行...
  • LFM_雷达回波仿真_雷达线性调频_雷达目标回波_Matlab脉冲雷达_雷达_源码.zip
  • 如果这里概念不清楚,请看这qwe14789cn:雷达信号仿真的基本原理——时延与相位的变化​zhuanlan.zhihu.com如果你能够熟练的完成上述要求,那么今天我们要使用的MATLAB工具箱,用来大幅度的节省你的时间和精力,提高...
  • 脉冲多普勒雷达的matlab仿真,matlab雷达目标回波仿真,matlab源码
  • LFM脉冲雷达回波处理仿真

    千次阅读 2020-09-20 23:02:02
    LFM脉冲雷达回波处理仿真 版权协议,转载请附上原文出处链接和本声明。本文链接:http://blog.csdn.net/FPGADesigner/article/details/88534024 摘要 线性调频(LFM)信号是应用广泛的一种波形,主要优点是脉冲压缩...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 764
精华内容 305
关键字:

matlab雷达回波

matlab 订阅