精华内容
下载资源
问答
  • 2020-12-22 15:43:31

    转至:https://www.sohu.com/a/280751859_695278
    动目标指示(MTI)与动目标检测(MTD)
    2018-12-10 07:00
    多普勒雷达是指利用多普勒效应,测量目标相对于雷达的径向速度分量,或对具有特定径向速度的目标进行提取的雷达。如果雷达发射的是脉冲信号,则称为脉冲多普勒雷达。

    在由地物、海面、云雨、箔条等物体反射所形成的干扰背景(杂波)中,如果目标与杂波的径向速度不同,动目标指示(MTI)雷达或脉冲多普勒(PD)雷达就具有对其进行检测的能力。

    在典型民用领域中,为对空中交通实施管制,须具备在强地杂波和气象杂波中对未装载应答机的低空小型飞机进行检测的能力;

    在军用领域应用中,可包括对低空飞机和巡航导弹进行检测、也可应用于机载告警与控制系统(AWACS)、机载预警系统(AEW)以及机载拦截雷达等需要在极强的面杂波环境中下视工作的情况。

    点击图片可查看相关视频

    高重频模式

    机载预警系统所采用的多普勒处理技术有三类。第一类是高重频的脉冲多普勒技术,其重频至少为载机与目标临近飞行速度之和所对应多普勒频率的2倍,从而能够产生比较干净的无杂波区,只需采用窄带滤波器即可检测出运动目标。不过这种情况下距离是高度模糊的,通常需要解模糊。相对于低、中重频模式来说,高重频模式的优点在 于可在峰值功率不变的情况下增加所辐射的能量。

    利用距离-速度矩阵的每一单元格都包含距离维和速度维(或称为多普勒频率维)信息,前者对应雷达的距离分辨单元,后者则跟波束照射在目标上的驻留时间成反比。

    低重频模式

    第二类多普勒处理技术称作机载动目标指示技术,这类技术通过天线设计和信号处理消除了载机的运动效应。一旦消除这种影响,就可采用跟陆基或海基MTI雷达同样的信号处理方式了。由于希望距离是不模糊的,因此这种机载预警雷达经常釆用低重频工作,而对于低重频模式所导致的目标“盲速”问题,可采用重频参差加以解决。

    中重频模式

    第三类机载预警雷达采用的是中重频模式,此时距离和速度都是模糊的。高于低重频的 主要原因是为了提高对抗主瓣杂波和地面运动目标的能力;而低于高重频则是使雷达具备检 测副瓣杂波中速度较低(甚至为负值)的临近飞行目标的能力。

    PRF 优点 缺点

    •没有距离模糊

    •精确距离测量

    •距离分辨率高

    •通过距离选通进行旁瓣杂波抑制

    •处理简单

    •盲速的存在

    •高的多普勒模糊

    •下视模式时,检测性能低

    •高峰值功率或需要距离压缩


    •宽范围内目标多普勒的良好检测

    •有效抑制主瓣杂波及旁瓣杂波

    •精确测距

    •相对于高PRF操作,遮蔽降低

    •所有速度上存在旁瓣杂波

    •PRF和脉冲宽度的乘积大

    •复杂的距离多普勒解模糊处理

    •对旁瓣中大目标的检测性能低


    •高的平均功率

    •无模糊多普勒

    •没有盲速

    •主瓣杂波抑制的同时不会抑制目标

    •高模糊距离

    •目标遮蔽增加

    •测距复杂且精度降低

    •由于旁瓣杂波,对低多普勒目标的敏感度降低

    运动目标指示(MTI)

    由一个CPI内的连续M个脉冲回波经过相干解调后的基带数据,形成的一个二维数据矩阵。二维数据矩阵中的每一列都对应于对一个脉冲回波的连续釆样,即连续的距离单元。列中的每一个元素都是一个复数,代表一个距离单元的实部和虚部(I和Q)分量。因此,二维数据矩阵中的每一行代表对同一距离单元的一连 串脉冲测量。

    MTI处理器对慢时间数据序列执行线性滤波处理,以抑制数据中的杂波分量。下图描述了MTI的处理过程。MTI处理所需要的滤波器类型也可以由下图来理解。

    上述MTI处理中只能给出在感兴趣的距离单元中是否存在目标的判决信息,并没有提供任何关于目标多普勒频率的估计信息。

    动目标检测(MTD)

    MTD与MTI处理不同,它直接对每一个距离单元内的慢时间数据序列执行谱分析从而替代滤波处理。目标检测直接在距离-多普勒矩阵数据上进行。

    通过计算每个距离单元慢时间信号的一维频谱,从快时间-慢时间CPI矩阵中得到它。最常用的谱分析方法是计算数据矩阵中每一行慢时间数据序列的离散傅里叶变换(DFT),也可以采用其他谱分析方法。

    如果DFT输出中的某些峰值远远高出噪声电平,而且超过一个适当的检测阈值,则认为这些峰值是运动目标的响应,但不能保证DFT采样精确落在峰值位置。

    因此,DFT采样的幅度和频率估计仅仅是峰值实际幅度和频率的近似。可以通过内插等方式提高对真实多普勒频率的估计精度。当然,其他现代谱估计方法也可以用于脉冲多普勒处理。

    MTI和MTD级联

    考虑到杂波通常是最强的信号分量,它可以超出目标信号几十dB。如果在MTI滤波之前就计算慢时间信号的DFT,直流附近杂波响应的旁瓣可能会淹没附近速度的潜在目标响应,从而导致这些目标无法被检测到。

    通常,MTI滤波器通常放在前面,利用MTI滤波处理进行总的杂波抑制,再利用脉冲多普勒谱分析对脉冲多普勒谱进行详细检测(MTD)。

    欢迎使用Markdown编辑器

    你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

    新的改变

    我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

    1. 全新的界面设计 ,将会带来全新的写作体验;
    2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
    3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
    4. 全新的 KaTeX数学公式 语法;
    5. 增加了支持甘特图的mermaid语法1 功能;
    6. 增加了 多屏幕编辑 Markdown文章功能;
    7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
    8. 增加了 检查列表 功能。

    功能快捷键

    撤销:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜体:Ctrl/Command + I
    标题:Ctrl/Command + Shift + H
    无序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    检查列表:Ctrl/Command + Shift + C
    插入代码:Ctrl/Command + Shift + K
    插入链接:Ctrl/Command + Shift + L
    插入图片:Ctrl/Command + Shift + G
    查找:Ctrl/Command + F
    替换:Ctrl/Command + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。
    输入2次#,并按下space后,将生成2级标题。
    以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';
    

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目Value
    电脑$1600
    手机$12
    导管$1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列第二列第三列
    第一列文本居中第二列文本居右第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPEASCIIHTML
    Single backticks'Isn't this fun?'‘Isn’t this fun?’
    Quotes"Isn't this fun?"“Isn’t this fun?”
    Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to- HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

    Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

    张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. mermaid语法说明 ↩︎

    2. 注脚的解释 ↩︎

    更多相关内容
  • 本资源为雷达手册中讲解动目标显示(MTI)雷达+脉冲多普勒(PD)雷达部分的内容,P1-P87为MTI部分,P88-P123为PD部分。文本已做QCR文字识别,可直接进行搜索。希望对您有用。
  • 一个用于雷达动目标检测和动目标显示的MATLAB代码程序,可以仿真实现动目标检测和动目标显示并进行效果对比。
  • 动目标显示与脉冲多普勒雷达:MATLAB程式设计 作者:施莱赫 (D.Curtis Schleher)
  • MTI雷达,是动目标检测雷达。该类型雷达能够抑制杂波保留目标信号。对MTI雷达进行了仿真,并利用参差重频消除盲速影响,讨论了MTI雷达参差比取不同的值对盲速的影响。
  • 动目标显示与动目标检测
  • 摘要:简述了雷达数字信号处理系统中自适应动目标显示的实现原理,详细讨论了采用新一代高性能DSP芯片ADSP-TS101S设计自适应动目标显示系统的方法,并给出了相应的硬件框图和软件流程图。该系统具有通用化、模块化的...
  • 雷达动目标显示(MTD)的理解

    千次阅读 2021-06-19 10:30:51
    这篇文章主要讨论为什么不同脉冲的同一距离门里包含目标的多普勒信息,从原理上进行理解,细节缺乏推敲。 雷达接收信号数据块为: 图片源自wuli huag的博客雷达回波仿真 每一列代表对同一脉冲的采样(快时间),...

    这篇文章主要讨论为什么不同脉冲的同一距离门里包含目标的多普勒信息,从原理上进行理解,细节缺乏推敲。
    雷达接收信号数据块为:

    图片源自wuli huag的博客雷达回波仿真

    每一列代表对同一脉冲的采样(快时间),每一行代表对同一距离门的采样(慢时间)。
    对每一列做匹配滤波可以得到目标的距离信息,对每一行做FFT可以得到目标的多普勒信息,也即MTD。
    设雷达发射线性调频连续波信号:
    s t ( t ) = A 0 e j 2 π f 0 t ∑ m = 0 M − 1 u ( t − m T ) u ( t ) = { e j π K t 2 , 0 ≤ t < T 0 ,   e l s e {{s}_{t}}(t)=A_0{{e}^{j2\pi {{f}_{0}}t}}\sum\limits_{m=0}^{M-1}{u(t-mT)} \\ u(t)=\left\{ \begin{matrix} {{e}^{j\pi K{{t}^{2}}}},0\le t<T \\ 0,\text{ }else \end{matrix} \right. st(t)=A0ej2πf0tm=0M1u(tmT)u(t)={ejπKt2,0t<T0, else
    其中 A 0 A_0 A0为发射信号的幅度, f 0 f_0 f0为雷达载频, K K K为调频斜率, T T T为脉冲重复周期, M M M为连续发射的线性调频脉冲数。
    设某目标的射线距离为 R R R,径向速度为 v r v_r vr,那么该目标的第 m + 1 m+1 m+1个脉冲回波为:
    s r ( t ) = s t ( t − t d ) t d = 2 ( R + v r t ) c = 2 R c + f d f 0 t {{s}_{r}}\left( t \right)={{s}_{t}}\left( t-{{t}_{d}} \right) \\ {{t}_{d}}=\frac{2\left( R+{{v}_{r}}t \right)}{c}=\frac{2R}{c}+\frac{{{f}_{d}}}{{{f}_{0}}}t sr(t)=st(ttd)td=c2(R+vrt)=c2R+f0fdt
    于是接收信号可以写成:
    s r ( t ) = A 0 exp ⁡ ( j 2 π f 0 ( t − t d ) ) ∑ m = 0 M − 1 u ( t − m T − t d ) {{s}_{r}}\left( t \right)=A_0\exp \left( j2\pi {{f}_{0}}\left( t-{{t}_{d}} \right) \right)\sum\limits_{m=0}^{M-1}{u\left( t-mT-{{t}_{d}} \right)} sr(t)=A0exp(j2πf0(ttd))m=0M1u(tmTtd)
    t d t_d td为时延, f d f_d fd为多普勒频移。
    先对目标进行距离处理,参考信号取:
    s 0 ( t ) = A 0 exp ⁡ ( j 2 π f 0 ( t − τ 0 ) ) u ( t − m T − τ 0 ) {{s}_{0}}\left( t \right)=A_0\exp \left( j2\pi {{f}_{0}}\left( t-{{\tau }_{0}} \right) \right)u\left( t-mT-{{\tau }_{0}} \right) s0(t)=A0exp(j2πf0(tτ0))u(tmTτ0)
    τ 0 = 2 R c {{\tau }_{0}}=\frac{2R}{c} τ0=c2R为距离 R R R上的时延。
    仅关注接收信号的 exp ⁡ ( j 2 π f 0 ( t − t d ) ) \exp \left( j2\pi {{f}_{0}}\left( t-{{t}_{d}} \right) \right) exp(j2πf0(ttd))项,与参考信号混频后剩下 exp ⁡ ( − j 2 π f d t ) \exp \left( -j2\pi {{f}_{d}}t \right) exp(j2πfdt),可知不同脉冲的同一距离维频率相差 f d T f_dT fdT。也即对慢时间维做FFT可得到目标的多普勒信息。
    下面给出海杂波的仿真实例进行验证。首先是将回波信号匹配滤波后排成行,每一列代表同一距离门,此时的距离-多普勒结果如下图所示,可以看出每一行都是在目标处产生峰值。
    在这里插入图片描述
    对上图的每一列进行FFT,结果如下图所示。虽然看起来只在某一个地方有峰值,我最初有些疑惑,不应该每一列都应该在多普勒频率处有一个峰值吗,其实是这样的,只是由于其他列的峰值与目标所在距离那一列的峰值相比较而言很小,最终呈现的结果只有一个峰值,这样也可以直接读出目标的距离和速度。
    在这里插入图片描述
    目标距离所在列做FFT的结果如下图:
    在这里插入图片描述
    为了证明任选一列也可以,这里选择第10列的数据做FFT,结果如下图:
    在这里插入图片描述
    从上两幅图的结果可以看出,任选同一距离门数据做FFT即可得到目标速度信息,距离-多普勒图像只有一个峰值的原因在于其他列相对目标距离所在列的峰值小太多,这两幅图分别是 1 0 7 10^7 107 1 0 4 10^4 104

    参考文献:

    1. 郭欣. 天波超视距雷达信号处理技术研究[D].南京理工大学,2004.
    2. 戴文娟. 天波超视距雷达海杂波仿真与目标检测算法[D].电子科技大学,2013.
    展开全文
  • 非常非常非常好的动目标显示和动目标检测的仿真程序,对学习雷达动目标检测相关知识的同学很有用
  • 雷达手册(第三版)中文_第2章 动目标显示(MTI)雷达
  • dsp实验,动目标检测,动目标显示,mti,mtd的程序代码
  • MTI动目标指示和MTD动目标检测

    千次阅读 多人点赞 2021-04-14 23:56:37
    MTD(moving targets detection)雷达系统中区分运动目标和杂波在于它们...动目标检测(MTD)不仅能滤除杂波,而且还可以将不同运动速度的目标区分开来,从而大大改善了在杂波背景下检测运动目标的能力。 后续补充 ...

    MTI 是一种频域滤波器(radar主席的ppt 中说到) ,它是对多组脉冲回波的同一个距离单元加权求和,得到一个结果;也就是多个输入一个输出;相当于一个高通滤波器,用来抑制固定目标和慢速杂波。就一次对消MTI 滤波器来说,就是将第一个发射脉冲的回波与第二个发射脉冲的回波相减,除去固定目标和慢速杂波,而保留了运动目标的信息,通过视频显示器可以看到幅度上下振动的波形,这也是为什么叫动目标显示;

    MTD (moving targets detection)是带通滤波器组,也就是多个输入多个输出,可以用FIR 组实现,但是一般用FFT 实现,即对不同脉冲组回波信号的相同距离单元做FFT 处理,N 个输入得到N 个输出,CACFAR 既是对这N 个输出进行检测和判断目标!若存在目标,这N 个输出中比出现一个峰值最大的数,则这个可能就是目标的位置信息,根据位置信息,即可以得到运动目标的多普勒值。MTD雷达系统中区分运动目标和杂波在于它们速度上的差别。由于速度不同而引起回波信号的多普勒频率不相等,所以可以通过多普勒频率的不同将杂波和运动目标区分开来。动目标检测(MTD)不仅能滤除杂波,而且还可以将不同运动速度的目标区分开来,从而大大改善了在杂波背景下检测运动目标的能力。

    MATLAB仿真:

    1,雷达信号做脉冲压缩

    % ===================================================================================%
    %                                    雷达参数                                       %
    % ===================================================================================%
    C=3.0e8;  %光速(m/s)
    RF=3.140e9/2;  %雷达射频 1.57GHz
    Lambda=C/RF;%雷达工作波长
    PulseNumber=16;   %回波脉冲数
    BandWidth=2.0e6;  %发射信号带宽 带宽B=1/τ,τ是脉冲宽度 
    TimeWidth=42.0e-6; %发射信号时宽
    PRT=240e-6;   % 雷达发射脉冲重复周期(s),240us对应1/2*240*300=36000米最大无模糊距离
    PRF=1/PRT;
    Fs=2.0e6;  %采样频率
    NoisePower=-12;%(dB);%噪声功率(目标为0dB)
    % ---------------------------------------------------------------%
    SampleNumber=fix(Fs*PRT);%计算一个脉冲周期的采样点数480;
    TotalNumber=SampleNumber*PulseNumber;%总的采样点数480*16=;
    BlindNumber=fix(Fs*TimeWidth);%计算一个脉冲周期的盲区-遮挡样点数;
    %===================================================================================%
    %                                    目标参数                                       %
    %===================================================================================%
     TargetNumber=4;%目标个数
    SigPower(1:TargetNumber)=[1 1 1 0.25];%目标功率,无量纲
    TargetDistance(1:TargetNumber)=[3000 8025 15800 8025];%目标距离,单位m   距离参数为[3000 8025 9000+(Y*10+Z)*200 8025]
     DelayNumber(1:TargetNumber)=fix(Fs*2*TargetDistance(1:TargetNumber)/C);% 把目标距离换算成采样点(距离门) fix函数向0靠拢取整
    TargetVelocity(1:TargetNumber)=[50 0 204 100];%目标径向速度 单位m/s   速度参数为[50 0 (Y*10+X+Z)*6 100]
    TargetFd(1:TargetNumber)=2*TargetVelocity(1:TargetNumber)/Lambda; %计算目标多卜勒频移2v/λ
     
    %====================================================================================%
    %                                   产生线性调频信号                                  %
    %====================================================================================%
     number=fix(Fs*TimeWidth);%回波的采样点数=脉压系数长度=暂态点数目+1
    if rem(number,2)~=0  %rem求余
       number=number+1;
    end   %把number变为偶数
     
    for i=-fix(number/2):fix(number/2)-1
       Chirp(i+fix(number/2)+1)=exp(j*(pi*(BandWidth/TimeWidth)*(i/Fs)^2));%exp(j*fi)*,产生复数矩阵Chirp
    end
    coeff=conj(fliplr(Chirp));%把Chirp矩阵翻转并把复数共轭,产生脉压系数
    figure(1);%脉压系数的实部
    plot(real(Chirp));axis([0 90 -1.5 1.5]);title('脉压系数实部');

    2,生成目标信号回波

    %-------------------------产生目标回波串-----------------------------------------------------------------------------------------%
    %-------------------------产生前3个目标的回波串-------%
    SignalAll=zeros(1,TotalNumber);%所有脉冲的信号,先填0
    for k=1:TargetNumber-1 % 依次产生各个目标
       SignalTemp=zeros(1,SampleNumber);% 一个PRT
       SignalTemp(DelayNumber(k)+1:DelayNumber(k)+number)=sqrt(SigPower(k))*Chirp;%一个脉冲的1个目标(未加多普勒速度)(DelayNumber(k)+1):(DelayNumber(k)+number)
       Signal=zeros(1,TotalNumber);
       for i=1:PulseNumber % 16个回波脉冲
          Signal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp; %每个目标把16个SignalTemp排在一起
       end
       FreqMove=exp(j*2*pi*TargetFd(k)*(0:TotalNumber-1)/Fs);%目标的多普勒速度*时间=目标的多普勒相移
       Signal=Signal.*FreqMove;%加上多普勒速度后的16个脉冲1个目标
       SignalAll=SignalAll+Signal;%加上多普勒速度后的16个脉冲4个目标
    end
    % %-------------------------产生第4个目标的回波串-------%
       fi=pi/3;
       SignalTemp=zeros(1,SampleNumber);% 一个脉冲
       SignalTemp(DelayNumber(4)+1:DelayNumber(4)+number)=sqrt(SigPower(4))*exp(j*fi)*Chirp;%一个脉冲的1个目标(未加多普勒速度)
       Signal=zeros(1,TotalNumber);
       for i=1:PulseNumber
          Signal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp;
       end
       FreqMove=exp(j*2*pi*TargetFd(4)*(0:TotalNumber-1)/Fs);%目标的多普勒速度*时间=目标的多普勒相移
       Signal=Signal.*FreqMove;
       SignalAll=SignalAll+Signal;
     
    figure(2);
    subplot(2,1,1);plot(real(SignalAll),'r-');title('目标信号的实部');grid on;zoom on;
    subplot(2,1,2);plot(imag(SignalAll));title('目标信号的虚部');grid on;zoom on;

    3,产生系统噪声信号

    %====================================================================================%
    %                                   产生系统噪声信号                                  %
    %====================================================================================%
    SystemNoise=normrnd(0,10^(NoisePower/10),1,TotalNumber)+j*normrnd(0,10^(NoisePower/10),1,TotalNumber);
    %均值为0,标准差为10^(NoisePower/10)的噪声
    %====================================================================================%
    %                                   总的回波信号                                     %
    %====================================================================================%
    Echo=SignalAll+SystemNoise;% +SeaClutter+TerraClutter,加噪声之后的回波
    for i=1:PulseNumber   %在接收机闭锁期,接收的回波为0
          Echo((i-1)*SampleNumber+1:(i-1)*SampleNumber+number)=0; %发射时接收为0
    end
    figure(3);%加噪声之后的总回波信号
    subplot(2,1,1);plot(real(Echo),'r-');title('总回波信号的实部,闭锁期为0');
    subplot(2,1,2);plot(imag(Echo));title('总回波信号的虚部,闭锁期为0');

    4,时域脉冲压缩和频域脉冲压缩

    %================================时域脉压=================================%
    pc_time0=conv(Echo,coeff);%pc_time0为Echo和coeff的卷积
    pc_time1=pc_time0(number:TotalNumber+number-1);%去掉暂态点 number-1个
    figure(4);%时域脉压结果的幅度
    subplot(2,1,1);plot(abs(pc_time0),'r-');title('时域脉压结果的幅度,有暂态点');%pc_time0的模的曲线
    subplot(2,1,2);plot(abs(pc_time1));title('时域脉压结果的幅度,无暂态点');%pc_time1的模的曲线
    % ================================频域脉压=================================%
    Echo_fft=fft(Echo,8192);%理应进行TotalNumber+number-1点FFT,但为了提高运算速度,进行了8192点的FFT
    coeff_fft=fft(coeff,8192);
    pc_fft=Echo_fft.*coeff_fft;
    pc_freq0=ifft(pc_fft);
    figure(5);

    按照脉冲号、距离门号重排数据

    pc_freq1=pc_freq0(number:TotalNumber+number-1);%去掉暂态点 number-1个,后填充点若干(8192-number+1-TotalNumber)
    % ================按照脉冲号、距离门号重排数据=================================%
    for i=1:PulseNumber
          pc(i,1:SampleNumber)=pc_freq1((i-1)*SampleNumber+1:i*SampleNumber);%每个PRT为一行,每行480个采样点的数据
    end
    figure(6);
    plot(abs(pc(1,:)));title('频域脉压结果的幅度,没有暂态点');

    5,MTI和MTD

    % ================MTI(动目标显示),对消静止目标和低速目标---可抑制杂波=================================%
    for i=1:PulseNumber-1  %滑动对消,少了一个脉冲
       mti(i,:)=pc(i+1,:)-pc(i,:);
    end
    figure(7);
    mesh(abs(mti));title('MTI  result');
     
    % ================MTD(动目标检测),区分不同速度的目标,有测速作用=================================%
    mtd=zeros(PulseNumber,SampleNumber);
    for i=1:SampleNumber
       buff(1:PulseNumber)=pc(1:PulseNumber,i);
       buff_fft=fft(buff);
       mtd(1:PulseNumber,i)=buff_fft(1:PulseNumber);
    end
      figure(8);mesh(abs(mtd));title('MTD  result');

    6,虚实矩阵转换
    coeff_fft_c=zeros(1,2*8192);
    for i=1:8192
        coeff_fft_c(2*i-1)=real(coeff_fft(i));
        coeff_fft_c(2*i)=imag(coeff_fft(i));
    end
    echo_c=zeros(1,2*TotalNumber);
    for i=1:TotalNumber
        echo_c(2*i-1)=real(Echo(i));
        echo_c(2*i)=imag(Echo(i));
    end

    function y=maiya(PulseNumber,range,Fs,TargetVelocity,SNR)
    
    C=3e8;
    Tr=800e-6;%单脉冲最大可测距离0.5*Tr*C=120000m
    Tp=160e-6;
    fr=1/Tr;
    lamda=0.03;
    B=1e6;
    %% 产生线性调频信号 
    number=fix(Fs*Tp);%单脉冲发射信号内采样点数
    SampleNumber=fix(Fs*Tr);%一个脉冲采样点数,800;则每个采样间距代表120000/799m
    TotalNumber=SampleNumber*PulseNumber;
    for i=-fix(number/2):fix(number/2)-1
        Chirp(i+fix(number/2)+1)=exp(j*(pi*(B/Tp)*(i/(Fs))^2)); 
    end  
    figure
    plot(real(Chirp));
    title('线性调频信号')
    coeff=conj(fliplr(Chirp));%匹配滤波函数h
    figure
    plot(real(coeff))
    title('匹配滤波函数h')
    
    
    W = linspace(-pi,pi,4096);    
    [h1,w0] = freqz(coeff,1,W);  
    figure
    plot(w0/pi,20*log10(abs(h1/max(h1)))); 
    title('匹配滤波函数H频率响应')
    %-------
    %% 产生目标回波
    TargetDistance(1:2)=range;
    DelayNumber(1:2)=fix(Fs*2*TargetDistance(1:2)/C);
    
    TargetFd(1:2)=2*TargetVelocity(1:2)/lamda; %计算目标多卜勒
    
    SignalAll=zeros(1,TotalNumber);%所有脉冲的信号,先填0
    for k=1:2% 依次产生各个目标1 2 
        SignalTemp=zeros(1,SampleNumber);% 一个脉冲
       
        SignalTemp(DelayNumber(k)+1:DelayNumber(k)+number)=(10^(SNR(k)/10))*Chirp;  %一个脉冲的1个目标(未加多普勒速度)
        Signal=zeros(1,TotalNumber);
        for i=1:PulseNumber
            Signal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp;
        end
        FreqMove=exp(j*2*pi*TargetFd(k)*(0:TotalNumber-1)/Fs);%目标的多普勒速度*时间=目标的多普勒相移
        Signal=Signal.*FreqMove;
        SignalAll=SignalAll+Signal;
    end
    figure
    subplot(2,1,1);plot(real(SignalAll),'r-');title('目标信号的实部');grid on;zoom on;
    subplot(2,1,2);plot(imag(SignalAll));title('目标信号的虚部');
    grid on;zoom on;
    %% 产生噪声
    SystemNoise=normrnd(0,10^(-12/10),1,TotalNumber)+j*normrnd(0,10^(-12/10),1,TotalNumber);
    %% 回波+噪声
    Echo=SignalAll+SystemNoise;   % +SeaClutter+TerraClutter;
    for i=1:PulseNumber   %在接收机闭锁期,接收的回波为0
        Echo((i-1)*SampleNumber+1:(i-1)*SampleNumber+number)=0;
    end
    figure
    plot(real(Echo));title('总回波信号的实部,闭锁期为0');
    %subplot(2,1,2);plot(imag(Echo));title('总回波信号的虚部,闭锁期为0');
    
    %% 回波积累
    Echoplus=zeros(1,SampleNumber);
    for i=1:PulseNumber
       Echoplus1(1:SampleNumber)=Echo((i-1)*SampleNumber+1:i*SampleNumber);
       Echoplus=Echoplus+Echoplus1(1:SampleNumber);
    end
    Echoplus=Echoplus/PulseNumber;
    figure
    plot(real(Echoplus));title('回波脉冲积累信号的实部,闭锁期为0');
    
    
    %% 时域脉压
    pc_time0=conv(Echo,coeff);
    %figure
    %plot(abs(pc_time0));title('时域脉压结果的幅度,有暂态点');
    %% 频域脉压
    Echo_fft=fft(Echo,TotalNumber+number-1);%进行TotalNumber+number-1点FFT
    coeff_fft=fft(coeff,TotalNumber+number-1);
    pc_fft=Echo_fft.*coeff_fft;
    pc_freq0=ifft(pc_fft);
    pc_freq_abs=abs(pc_freq0);
    figure
    plot(pc_freq_abs);title('(不加窗)频域脉压结果的幅度(有暂态点)');
    
    %%  数据重排到距离门
    pc_freq1=pc_freq0(number:TotalNumber+number-1);
    for i=1:PulseNumber
       pc(i,1:SampleNumber)=pc_freq1((i-1)*SampleNumber+1:i*SampleNumber);
    end
    
    
    figure
    
    %subplot(2,1,1)
    %plot((0:SampleNumber-1)*(120000/(SampleNumber-1)), abs(pc(5,:)) );
    % title('不加窗脉压结果');xlabel('距离'),ylabel('脉压输出');
     
    plot((0:SampleNumber-1)*(120000/(SampleNumber-1)), 20*log10(abs(pc(1,:))) );
    xlabel('距离'),ylabel('脉压输出/db');
    axis([-inf,inf, -10,50]);
    title('不加窗脉压结果')
    %% 加窗处理 
    win=chebwin(number,35)';
    h_w=coeff.*win;
    hfft_w=fft(h_w,TotalNumber+number-1);
    y=abs(ifft(Echo_fft.*hfft_w));
    %figure
    %plot(y);title('(加窗)频域脉压结果的幅度(有暂态点)');
    
    pcW_freq1=y(number:TotalNumber+number-1);  %重排数据
    for i=1:PulseNumber
       pcW(i,1:SampleNumber)=pcW_freq1((i-1)*SampleNumber+1:i*SampleNumber);
    end
    
    figure
    %subplot(2,1,1)
    %plot((0:SampleNumber-1)*(120000/(SampleNumber-1)), abs(pcW(1,:)) );
     %title('加窗脉压结果');xlabel('距离'),ylabel('脉压输出');
     
    
    plot((0:SampleNumber-1)*(120000/(SampleNumber-1)), 20*log10(abs(pcW(1,:))) );
    xlabel('距离'),ylabel('脉压输出/db');
    axis([-inf,inf, -10,50]);
    title('加窗脉压结果')
    
    
    %% 相干积累
    Echoplus_fft=fft(Echoplus,SampleNumber+number-1);%理应进行TotalNumber+number-1点FFT,但为了提高运算速度,进行了8192点的FFT
    coeffplus_fft=fft(coeff,SampleNumber+number-1);
    pcplus_fft=Echoplus_fft.*coeffplus_fft;
    pcplus_freq=abs(ifft(pcplus_fft));
    %figure
    %plot(pcplus_freq);title('(不加窗)积累后频域脉压结果的幅度,有暂态点');
    
    pcplus_freq1=pcplus_freq(number:SampleNumber+number-1);
    figure
    subplot(2,1,1)
    plot((0:SampleNumber-1)*(120000/(SampleNumber-1)), abs(pcplus_freq1) );
     title('不加窗积累后脉压结果');xlabel('距离'),ylabel('脉压输出');
    subplot(2,1,2)
    
    plot((0:SampleNumber-1)*(120000/(SampleNumber-1)), (20*log10((pcplus_freq1))));
     title('不加窗积累后脉压结果');xlabel('距离'),ylabel('脉压输出/DB');
     axis([-inf,inf, -20,50]);
    
    %% mti对消
    for i=1:PulseNumber-1  %滑动对消,少了一个脉冲 2脉冲
        mti(i,:)=pc(i+1,:)-pc(i,:);
    end
    mti_abs=abs(mti);
    figure
    mesh(20*log10(mti_abs));title('MTI  result');
    xlabel('距离单元');
       ylabel('多普勒通道');
       zlabel('幅度值');
    axis([-inf,inf,-inf,inf, 0,100]);
    
    %% MTD
    
    mtd=zeros(PulseNumber,SampleNumber);
    mtd_abs=zeros(PulseNumber,SampleNumber);
    for i=1:SampleNumber
        buff(1:PulseNumber)=pc(1:PulseNumber,i);
        buff_fft=fftshift(fft(buff)); %用fftshift将零频搬移到中间 这样可以方便观察速度正负
        mtd(1:PulseNumber,i)=buff_fft(1:PulseNumber)';
    end
    mtd_abs=abs(mtd);
    x=0:1:SampleNumber-1;
    y=-PulseNumber/2:1:PulseNumber/2-1;     %通道这样设后读出的通道数乘单位值则是速度值。
    figure
    mesh(x,y,20*log10(mtd_abs));title('MTD  result');
    xlabel('距离单元');
       ylabel('多普勒通道');
       zlabel('幅度值');
    axis([-inf,inf,-inf,inf, 0,100]);
    
    %% cfar
    
    
    cfar=zeros(PulseNumber,SampleNumber);
     T=sqrt(2*(10^(-12/10))^2*log(1/(1e-6)));
     for i=1:PulseNumber 
        for k=1:2
             left=0;
             right=Mean(mtd_abs(i,:),k+2,k+17);
             maxV=max(left,right);
            if(mtd_abs(i,k)>=T*maxV)
                 cfar(i,k)=mtd_abs(i,k);
            else
                 cfar(i,k)=0;
            end       
        end
        
        
        for k=3:17
            left=Mean(mtd_abs(i,:),1,k-2);
            right=Mean(mtd_abs(i,:),k+2,k+17);
            maxV=max(left,right);
            if(mtd_abs(i,k)>=T*maxV)
                cfar(i,k)=mtd_abs(i,k);
            else
                cfar(i,k)=0;
            end
        end
         for k=18:SampleNumber-18
            left=Mean(mtd_abs(i,:),k-17,k-2);
            right=Mean(mtd_abs(i,:),k+2,k+17);
            maxV=max(left,right);
            if(mtd_abs(i,k)>=T*maxV)
                cfar(i,k)=mtd_abs(i,k);
           else
                cfar(i,k)=0;
            end
         end
        for k=SampleNumber-17:SampleNumber-2
            left=Mean(mtd_abs(i,:),k-17,k-2);
            right=Mean(mtd_abs(i,:),k+2,SampleNumber);
            maxV=max(left,right);
            if(mtd_abs(i,k)>=T*maxV)
                cfar(i,k)=mtd_abs(i,k);
            else
                cfar(i,k)=0;
            end
        end
        for k=SampleNumber-1:SampleNumber
             left=Mean(mtd_abs(i,:),k-17,k-2);
             right=0;
             maxV=max(left,right);
             if(mtd_abs(i,k)>=T*maxV)
                 cfar(i,k)=mtd_abs(i,k);
             else
                 cfar(i,k)=0;
             end 
        end
     end
       figure
       
       IQ_acc=mean(abs(mti));
       mesh(x,y,20*log10(cfar));title(' CFAR  result');
       xlabel('距离单元');
       ylabel('多普勒通道');
       zlabel('幅度值');
     axis([-inf,inf,-inf,inf, 0,100]);
    figure
     plot(x,20*log10(cfar(:,:)),x,20*log10(abs(IQ_acc)));
     title(' CFAR  result');
     xlabel('距离单元');
       ylabel('幅度');
    axis([-inf,inf, -20,100]);

     

    展开全文
  • 根据雷达动目标显示、动目标检测原理,通过双脉冲对消,三脉冲对消和盲速处理的方法,用Labview对其进行仿真。仿真结果表明:在动目标显示(MTI)和动目标检测(MTD)中使用滤波器组,能够得到更好的改善因子,降低...
  • MTD-mat_雷达显示_动目标检测_雷达目标检测_雷达_radar_源码.zip
  • MTD-mat_雷达显示_动目标检测_雷达目标检测_雷达_radar_源码.rar
  • 雷达matlab仿真

    2015-11-16 17:44:17
    在DSP上实现线性调频信号的脉冲压缩、动目标显示(MTI)和动目标检测(MTD),并将结果与MATLAB上的结果进行误差仿真。
  • 动态多目标算法之(基于预测的方法) 其中基于预测的方法中,也有很多在PPS算法的基础上,进行一些改进,最终也可以显示出提高收敛速度的能力。 C、决策变量分类方法 通过结合多样性引入和基于快速预测的方法来利用...

    阅读论文:A Dynamic Multiobjective Evolutionary Algorithm
    Based on Decision Variable Classification

    (Zhengping Liang , Tiancheng Wu, Xiaoliang Ma, Zexuan Zhu , Member, IEEE,and Shengxiang Yang , Senior Member, IEEE)
    这是2020年发布在IEEE上的一篇文章,主要讲的是基于决策分类的进化算法来解决动态多目标优化问题(DMOPs),由于本人也是才接触多目标进化没多久,学术功底有限,如果有不正确的地方欢迎批评指正!

    前言

    首先提出两个问题
    1、什么是动态多目标优化问题(DMOPs)?
    具有多个互相冲突且随着时间变化的多目标优化问题
    2、动态多目标优化问题和多目标优化问题之间有什么区别呢?
    动态=Dynamic 优化问题是指其目标函数不仅与决策变量有关,而且还会随着时间(环境)动态变化。
    定义多目标问题(MOP)
    在这里插入图片描述
    定义动态多目标问题(DMOP)
    在这里插入图片描述
    X = (x1,x2,…xnt)代表nt维的决策变量向量,主要是新增加了t:离散的时间实例,fmt(x,t)表示x在时间t的第mt个目标函数。nt和mt的值都会随时间变化。F(x,t)代表时间t评估解x的目标函数向量;p和q分别是不等式约束和等式约束的个数;gi(x,t)代表第i个不等式约束;Ωt代表可行的时间空间;

    Abstract–摘要

    现状:目前提出了许多动态多目标进化算法(DMOEAs)来解决DMOPs,主要是通过将多样性引入方法或预测方法与常规多目标进化算法相结合来解决。维持种群收敛性和分布性(Convergence and Diversity)的良好平衡对于DMOEAs的性能至关重要。

    解决方案:提出了一种基于决策变量分类的DMOEA(DMOEA-DVC)。 DMOEA-DVC在静态进化和变化响应阶段分别将决策变量分为两个和三个不同的组。在静态进化中,两个决策变量组使用两种不同的交叉算子来加速收敛,同时保持良好的多样性。在变化响应中,DMOEA-DVC分别通过保持,预测和分布性引入策略来重新初始化三个决策变量组。

    实验结果:在33个基准DMOPs上将DMOEA-DVC与其他六个典型的DMOEAs进行了比较。实验结果表明,DMOEA-DVC的总体性能优于或类似于所比较的算法。

    Introduction–引言

    • 从MOEAs 到 DMOEAs遇到的问题
      多目标进化算法(MOEAs)在各种静态多目标优化问题(MOPs)上都取得了成功。但是,由于在动态环境中缺少快速的变化响应机制,在DMOPs中它们往往会失败。
    • 解决方法
      为了解决DMOPs,近年来已经提出了许多动态MOEAs(DMOEAs)。它们大部分可以被分为多样性引入方法(Diversity introduction approaches)和预测方法(prediction approaches)。

    Diversity introduction approaches–多样性引入方法

    多样性引入方法将一定比例的随机或突变个体引入进化种群以增加种群多样性。多样性的增加可以促进算法更好地适应新环境。但是,由于这些算法主要依靠静态进化搜索来找到引入多样性之后的最优解集,因此收敛速度可能会变慢

    prediction approaches–预测方法

    预测方法采用预测模型来预测在变化的环境中有希望的种群。可以大大提高种群收敛性。然而,大多数预测模型需要一个训练周期,在训练周期中预测模型的性能不能令人满意

    主要问题

    都没有考虑决策变量的不同特征。他们倾向于以相同的方式探索所有决策变量,这在平衡种群多样性和收敛性方面效率较低。

    主要亮点(idea)

    提出了基于决策变量分类(DMOEA-DVC)的DMOEA。分别在静态进化和变化响应阶段,使用两种决策变量分类方法将决策变量分为两个和三个不同的组。根据决策变量分类,将不同的进化算子和变化响应策略相应地应用于不同的组,以增强种群的分布性和收敛性。

    1. 在静态进化和变化响应阶段分别使用两种不同的决策变量分类方法,使算法能够更有效地探索不同的决策空间。
    2. 在静态进化中,引入了一种新的子代生成策略,该策略通过对两种不同类型的决策变量使用特定的交叉算子产生子代来加快种群收敛速度,同时保持算法的种群多样性。
    3. 在变化响应中,提出了一种保持,预测和多样性引入相结合的混合响应策略来处理三种类型的决策变量,从而在不同的动态环境中实现更好的适应性。

    Background–背景

    A、DMOP基础

    基于动态帕累托支配找到动态帕累托最优解或动态帕累托前沿面

    1. 定义1(动态帕累托支配):在时间t给出两个候选解x和y(x,y∈Ω),称x支配y,写为x(t)≺y(t),当且仅当
      在这里插入图片描述
    2. 定义2(动态帕累托最优解集):在时间t的一个动态帕累托最优解集记为PS(t),其中包括所有不被其他解支配的解,如下:在这里插入图片描述
    3. 定义3(动态帕累托前沿面):在时间t的一个动态帕累托最优面记为PF(t),是PS(t)中的解在目标函数空间中的映射,如下:
      在这里插入图片描述
    4. 定义4(多最优值变量):给定一个决策变量i,若PS(t)中存在两个解x,y,并且xi≠yi,xi,yi分别指x,y在决策变量i上的值,则称i有多个最优值,是一个多最优值变量。
    5. 定义5(单最优值变量):给定一个决策变量i,对于PS(t)中任意两个解x,y,他们对应的决策变量i值是一样的,即xi=yi,则称i有单个最优值,是一个单最优值变量。

    根据PF(t)和PS(t)的动态特性,将DMOP分为四种类型

    • 类型I: PS(t)随时间变化,而PF(t)是固定的。
    • 类型II: PS(t)和PF(t)都随时间变化。
    • 类型三:PS(t)是固定的,PF(t)随时间变化。
    • 类型IV: PS(t)和PF(t)都是固定的,但是随着时间的推移问题会改变。

    B、动态多目标进化算法

    1. 动态多目标算法(多样性引入)

    通过看下面这个表格就非常直观,最终通过引入多样性方法可以防止种群陷入局部最优,并且易于实施。在这里插入图片描述

    2. 动态多目标算法之(基于预测的方法)

    在这里插入图片描述
    其中基于预测的方法中,也有很多在PPS算法的基础上,进行一些改进,最终也可以显示出提高收敛速度的能力。

    C、决策变量分类方法

    通过结合多样性引入和基于快速预测的方法来利用两者的优点,提出了一种增强的变化响应策略。

    多样性引入或预测方法可以被视为搜索决策变量最优值的概率模型,大多数现有的DMOEAs都假定所有决策变量都处于相同的概率分布下。在实际的DMOPs中,决策变量的概率分布可能会发生很大变化。通过决策变量分类,可以将决策变量分为不同的组,然后可以将特定的概率搜索模型应用于相应的变量组以获得更好的解。

    在静态中的决策变量分类

    许多基于决策变量分类的MOEAs在静态MOPs上都取得了成功,决策变量扰动会产生大量个体用于分类,并成比例地消耗大量适应性评估。此策略对于静态MOPs效果很好,在静态MOPs中,决策变量的类别不变,并且仅需要分类一次。

    在动态中的决策变量分类

    • Woldesenbet和Yen [51]通过对目标空间变化的平均敏感度来区分决策变量,并以此为基础来重新安置个体。 该方法对于动态单目标优化问题效果很好,但是不适用于DMOP。
    • Xu提出了一种针对DMOP的协作式协同进化算法,其中决策变量被分解为两个子组件,即相对于环境变量t不可分离和可分离的变量。应用两个种群分别协同优化两个子组件。文献中提出的算法在基于环境敏感性可分解决策变量的DMOP上具有优越性,但是,在许多DMOP中可能并非如此。

    在这里插入图片描述

    Framework–框架

    在这里插入图片描述
    具体过程:初始化父代种群P,然后从父代种群中选出一个子代种群P′和一个非支配解的档案A。在每次迭代中,在使用进化算子生成每个子代个体之前,对P使用决策变量分类方法,并将结果记录在布尔向量flag_multi中,其中每个元素指示相应的决策变量是多最优还是单最优变量。DMOEA-DVC可检测到进化过程中的任何潜在变化,如果检测到变化,则将使用变化响应策略,否则,将对个体的不同类型决策变量使用不同的交叉算子生成子代个体,生成子代个体后,更新P和A。在每一次迭代的末尾,从当前父代种群和子代种群的混合中选择一个新的子代种群和一个新的档案。

    A、ClassificationSO–决策变量分类

    在静态进化阶段(算法1第6行)使用决策变量分类,以增加生成高质量子代个体的可能性。
    目标:找到在PF上分布均匀的种群,并尽快收敛到PF
    方法:探索种群中非支配个体的邻居是很有效的
    问题:如果子代的所有决策变量都是在非支配个体的决策变量附近生成的,则种群会陷入局部最优,为了避免这种情况,子代个体中的多最优值变量值应远离父代个体产生。

    • 子代中的多最优变量值应该远离非支配个体产生,以保持良好的多样性。
    • 对于单最优变量,子代个体中的生成值应尽可能接近父代个体中的相应值,以加速收敛。

    关键问题:如何确定多最优值变量和单最优值变量

    提出了一种区分多最优值变量和单最优值变量的近似方法。

    在DMOP中,目标函数可能在某些决策变量上相互冲突。如果两个目标函数在决策变量上发生冲突,则该决策变量被视为具有多个最优值。(这个也很好理解,如果在X=C时存在两个最优的解,那么这两个目标相互冲突)

    因此使用斯皮尔曼等级相关系数(SRCC)来衡量一个变量和一个目标函数之间的相关性。
    在这里插入图片描述
    如果第i个变量的两个目标函数之间存在明显的相关冲突(正相关与负相关),即max(ri1(t),ri2(t),…,rim(t))>0.5α并且min(ri1(t),ri2(t),…,rim(t))<-0.5α(α是预定义的阈值),则将第i个决策变量分类为多最优值变量。否则,第i个决策变量将被视为单最优值变量。

    在这里插入图片描述
    首先计算每个决策变量i与每个目标j之间的SRCC值,然后根据SRCC值将决策变量分为多最优值变量(第10行)或单最优值变量(第12行),然后采取上述对应方案。

    Classification–变化响应中决策变量分类

    在大多数现有的DMOPs中,考虑到环境变化,可以将决策变量分类为相似,可预测和不可预测的变量。

    • 相似 —无需重新初始化
    • 可预测 ----决策变量应基于预测进行重新初始化
    • 不可预测 -----可以通过引入多样性进行重新初始化

    非参数t-test用于评估决策变量的变化与环境变化的相关性

    在这里插入图片描述
    t-testi <=β,其中β是预定义的阈值,则第i个变量被视为无明显变化,也就是说,它是相似的变量,不需要重新初始化。如果t-testi>β,则第i个决策变量被认为具有显著变化,即变量i是可预测的或不可预测的,需要重新初始化。

    上面公式已经区分了相似或者可预测和不可预测的情况,现在我们继续区分到底是可预测情况还是不可预测情况。如下图所示

    将x_center的第i个决策变量置为预测值而其他决策变量保持不变来生成n个试验个体x_trial[i],如果x_trial [i]支配x_center,则接受第i个决策变量的预测,并将第i个决策变量分类为可预测变量,并使用基于预测的方法重新初始化。否则,第i个决策变量是不可预测的,并使用基于多样性引入的方法重新初始化
    在这里插入图片描述
    下面就展示算法3 的伪代码
    在这里插入图片描述
    首先,分别根据(7)和(8)计算t-test和x_center。其次,使用预测模型来预测新的个体x_p(确切的预测模型在第IV -C节中进行了描述)。第三,产生试验个体(第6-14行)并进行评估。如果试验个体支配质心个体,则该试验个体的相应决策变量的预测是正确的,否则该预测是不可接受的。

    B、环境选择

    • DMOEA-DVC和SGEA[33]使用相同的选择方法,适应度函数F(i)表示支配个体xi的个体数目
      在这里插入图片描述

    • 如果存档A中个体少于N则从种群中挑选最好的个体进P’,如果刚好相等,就将A中所有个体转入P’,如果存档A中个体多了就从种群中挑选最远的个体进P’.

    C、ChangeResponse --变化响应

    定义的三种类型的决策变量分别使用保持,多样性引入和预测方法。

    • 保持:如果决策变量是相似变量,则DMOEA-DVC会在变化响应中保持该变量的值不变。
    • 多样性引入:如果决策变量是不可预测的变量,则对该变量应用随机重新初始化策略。变量更新如下:
      在这里插入图片描述
      其中,Li(t)和Ui(t)分别表示在时间t处第i个变量的上限和下限,rand是[0,1]中的随机值。
    • 预测方法:如果将决策变量分类为可预测变量,则使用具有较短训练周期的卡尔曼滤波器[25],[33]通过中心预测将其重新初始化。
    • 在这里插入图片描述
      下面就是算法4的伪代码
      在这里插入图片描述

    D、GenerateOffspring --子代生成

    模拟二进制交叉(SBX)或DE交叉算子用于根据决策变量是否为多最优值变量来生成决策变量的值。SBX和DE交叉算子是MOEAs中两个常用的交叉算子。
    在这里插入图片描述
    图1展示了这两个交叉算子生成的子代解的分布示例。SBX生成的子代解更接近父代,而DE交叉生成的子代解远离父代。应该在远离父代的位置生成多最优值变量,在这种情况下应使用DE交叉算子。而单最优值变量应在父代附近生成,即选择SBX。
    在这里插入图片描述
    这个伪代码已经很简单了,如果是多最优值变量就选择DE交叉算子,否则,单优值变量选择SBX交叉算子。

    E、种群更新

    DMOEA-DVC使用与SGEA相同的稳态种群更新策略。种群更新策略在父种群P和档案A中都执行。新生成的子代个体y用于替换P中最差的个体,同时更新A。

    Conclusion

    • 本文提出了一种基于决策变量分类的DMOEA,即DMOEA-DVC。对静态优化阶段和变化响应阶段的决策变量进行了分类。采用不同的策略来生成不同类型变量的值,以达到种群多样性和收敛性的良好平衡。
    • DMOEA-DVC与其他六种最先进的DMOEA在33个基准DMOP上进行了比较。实验结果表明了DMOEA-DVC算法的有效性。

    ps:上面大部分也是根据原文来进行总结以及理解的,由于本人也是才接触多目标进化没多久,学术功底有限,如果有不正确的地方欢迎批评指正!同时也借鉴了这些博客,如果想要了解,可以看
    https://blog.csdn.net/u013555719/article/details/106856234?
    同时这篇文章提到的几种动态多目标的算法,DCOEA、PPS、SGEA、有兴趣大家可以搜索了解一下。
    同时我目前的微信公众号也是“研行笔录”,后期我也会持续更新,如果有兴趣的话,可以点个关注,不迷路!
    在这里插入图片描述

    展开全文
  • VDO-SLAM :一种动态目标感知的视觉SLAM系统 (VDO-SLAM :A Visual Dynamic Object-aware SLAM System) 论文地址:https://arxiv.org/pdf/2005.11052v2.pdf 代码: https://github.com/halajun/vdo_slam 摘要: ...
  • 激光雷达目标识别算法研究综述

    万次阅读 2018-05-25 10:00:19
    Verly等人设计了基于模型的目标识别实验系统(XTRS),对激光成像雷达战术车辆目标进行分类识别,通过将目标的轮廓特征和子区域原始特征与不同层次的目标模型库作匹配实现目标识别。Zheng等人通过模拟激光与物理几何...
  • 点击上方“3D视觉工坊”,选择“星标”干货第一时间送达今天给大家分享一篇最新文章,VDO-SLAM :一种动态目标感知的视觉SLAM系统,原文名称 VDO-SLAM :A Visual ...
  • 雷达的工作原理是什么?

    千次阅读 2020-12-23 11:48:37
    展开全部雷达e68a8462616964757a686964616f31333365633961的工作原理是:雷达测距的原理是利用发射脉冲与接收脉冲之间的时间差,乘以电磁波的传播速度(光速),从而得到雷达与目标之间的精确距离。目标角位置的测量...
  • 生命探测仪:1. 扫描雷达状态显示:正在扫描 or 扫描停止;2. 显示扫描雷达的灵敏度;3. 探测过程中的数据文件保存(用于跟踪和后期回放)4....7. 探测目标二维成图显示界面,包括生命体、静止目标、动态目标;8....
  • opencv动态目标跟踪学习总结

    万次阅读 多人点赞 2016-03-15 11:03:49
    用opencv实现对视频中动态目标的追踪 第一步,是要建立一个编程环境,然后加载opencv的库路径等等。具体步骤在 http://www.opencv.org.cn/ 的“安装”中 有详细介绍。 第二步,建立一个MFC的对话框程序,做两个...
  • (OpenCV+Python)--目标跟踪,基本的运动检测

    万次阅读 多人点赞 2017-06-21 09:26:58
    目标跟踪是对摄像头视频中的移动目标进行定位的过程,有着非常广泛的应用。实时目标跟踪是许多计算机视觉应用的重要任务,如监控、基于感知的用户界面、增强现实、基于对象的视频压缩以及辅助驾驶等。
  • #ifdef _DEBUG #define new DEBUG_NEW #endif // C动态背景目标探测Dlg 对话框 C动态背景目标探测Dlg::C动态背景目标探测Dlg(CWnd* pParent /*=NULL*/) : CDialogEx(C动态背景目标探测Dlg::IDD, pParent) { m_hIcon...
  • 动态视频目标检测和跟踪技术(入门)

    万次阅读 2016-10-18 21:24:16
    动态视频目标检测和跟踪技术 http://m.qingqingsk.com/ztnews/lvvozlzrztkzrqwqqlnrluqk.html 传统电视监控技术只能达到“千里眼”的作用,把远程的目标图像(原始数据)传送到监控中心,由监控人员根据目视...
  • 基于OV5640摄像头与ZYNQ,实现最多8个运动目标的检测
  • 目标(运动)跟踪

    千次阅读 2013-01-23 13:45:00
    一、引言  在需要监控的环境里,如何能够判断出进入特定区域的目标,并且能够跟踪目标的轨迹。分为两种情况:一是静态...1、单目标目标跟踪还可以分为单目标的跟踪和多目标的跟踪。单目标的静态背景下的目标跟踪指
  • FPGA实现实时运动目标检测verilog

    千次阅读 2021-11-15 20:18:30
    本文实现运动目标检测得方法是采用帧间差分法,使用verilog语言实现。 使用得平台是Altera开发板,前端摄像头使用OV7725或者OV7670,显示使用VGA或TFT显示在显示器上。使用FPGA实现帧间差分法得难点在于如何实现帧...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 437,351
精华内容 174,940
关键字:

动目标显示