摘要:经验模态分解(EMD)的一个关键问题是改善端点效应。目前工程上已经提出了多种处理方法。在此对端点镜像方法、多项式拟合法、极值延拓法、平行延拓法和边界局部特征尺度延拓法等5种方法进行对比研究,利用分解信号与原信号的相似系数、分解信号与原信号的平均相对误差以及算法的运行时间作为端点处理方法的评价指标。仿真结果表明,极值延拓法是处理准周期信号的相对较好的EMD端点效应处理方法。

  0 引言

  1998 年,Huang 等人提出了一种新的信号处理方法:经验模态分解方法(Empirical Mode Decomposition,EMD)。它用不同特征尺度的数据序列本征模函数(Intrinsic Mode Function,IMF)分量来逐级分解信号。

  该方法可以对一个非平稳信号进行平稳化处理。

  在EMD分解中,每个IMF需要多次“筛选”过程,而每一次筛选过程,需要根据上、下包络计算出信号的局部平均值。上(下)包络是由信号的局部极大(小)值通过3次样条插值得到的。但信号的端点不可能同时处于极大值或极小值,因此上、下包络在数据序列两端会发散,且这种发散会随着运算的进行而逐渐向内,从而使得整个数据序列受到影响,这就是所谓的EMD 方法的端点效应。

  国内外很多研究者对改进EMD端点效应问题进行了研究。目前,常用的EMD 端点效应处理方法有镜像法、极值延拓法、神经网络预测、多项式外延方法、平行延拓法、边界局部特征尺度延拓法。神经网络延拓算法的运算速度慢,在工程应用中实时性差。所以本文只对镜像法、极值延拓法、多项式法、平行延拓法和边界局部特征尺度延拓法进行比较,从而得到对工程应用有指导意义的结果。

  1 EMD方法

  EMD方法中假设:

  (1)任何信号都可以分解为若干个IMF分量;

  (2)各个IMF分量可以是线性的或非线性的,局部的零点数和极值点数相同,且上下包络关于时间轴局部对称;

  (3)一个信号可包含若干个IMF分量。

  每个IMF分量的计算步骤为:

  首先,计算原信号x(t) 的极值点,然后用三次样条函数拟合出极大(小)值包络线e+(t)( e-(t))。原信号的均值包络m1(t) 是上下包络线的平均值:

  

  若h11(t) 不满足IMF 定义的条件,则它不是平稳信号,重复进行上述过程k 次( k 一般小于10),直到找到满足IMF的定义的h1k (t) ,则x(t) 的一阶IMF分量为:

  

  将r1(t) 作为原始数据,再得到第2个IMF分量c2 (t) ,依此类推,得到n 个IMF 分量,直到rn (t) 是单调函数或常量时,EMD分解过程停止。

  最后,x(t) 经EMD分解后得到:

  

  式中rn (t) 为趋势项,代表信号的平均趋势或均值。

  2 改善端点效应的几种方法

  本文在Matlab下实现了5种常用的改善EMD 端点效应的方法,并用于比较测试,它们分别为:

  (1)端点镜像方法。以信号两端的边界为对称,把信号向外映射,得到原信号的镜像,形成一个闭合的曲线,从而得到完整的包络曲线。

  (2)极值延拓法。以端点的一个特征波为依据,在两端各延拓两个极大值和极小值。

  (3)多项式拟合法。对原信号的极值点序列,利用端点处3 个极值点进行多项式拟合计算出的值作为端点处极值点的近似取值,以确定边界极值点的位置。

  (4)平行延拓法。利用端点附近的两个相邻极值点(一个极大值,一个极小值)处斜率相等这一特性,人为在两端定义出两个极值点。

  (5)边界局部特征尺度延拓法。把调幅趋势和端点处局部极值点的时间间隔相结合,在信号两端分别添加一对极大值点和极小值点。

  3 端点效应评价指标

  本文采用3个指标来评价多种端点效应处理方法的效果:

  (1)计算EMD 分解后各分量信号与对应的原信号之间的相似系数ρ 信号的包络发生形状畸变,引起端点效应,从而使各个分量的分解不准确。可以比较EMD分解后的各IMF分量和原信号分量之间的相似度,来评价各抑制端点效应算法的抑制效果。

  

  式中:cov-( ) 表示协方差;σ-( ) 表示方差;IMFi 表示信号经过EMD分解后的第i 个模态分量;xi 为相对应的原信号组成分量。ρ 值越大,说明端点效应的抑制越好。

  (2)计算EMD 分解后得到的各IMF 分量和原信号相应的分量之间的平均相对误差[9].

  

  式中:N 表示信号的总个数;xi(k) 表示原信号第i 个分量;IMFi(k) 表示EMD 分解后得到的相应分量。

  error_IMFi 越小,说明端点效应的抑制越好。

  (3)运算时间。保证算法抑制端点效应效果的前提下,算法不能过于复杂,以满足实时性。

  4 实验结果分析

  假定测试信号是一个调频调幅非线性仿真信号,其表达式为:

  

  式中采样频率1 000 Hz,采样点数250 点,时域波形如图1所示。

  

  为了比较延拓后的分解结果,将原信号的组成分量一并给出,图2是没有进行端点处理的信号EMD分解结果,从图中可以看到,在两端点处有比较大的失真,并且会“ 向内污染”.图2~图7 中虚线为原分量;实线为EMD的分解结果。

  

  图3~图7分别是用端点镜像方法、多项式拟合法、极值延拓法、平行延拓法和边界局部特征尺度延拓法延拓后得到的EMD分解结果。

  

  

  由图可知,这几种方法都有效改善了EMD 的端点效应,其中极值延拓法对于端点效应的改善比较明显,其他方法得到的结果,在两端仍有发散现象。表1给出了文中所述5种端点抑制方法对所给信号处理后的性能评价结果。

  

  由表1给出参数可看出,对于给定准周期的测试信号,极值延拓法分解得到相似系数最大,分解误差最小,分解精度最高;平行延拓法得到的相似系数最小,分解误差最大,分解精度较低。比较运行时间,极值延拓法和平行延拓法计算速度最快,多项式拟合法耗时较长。

  5 结语

  在EMD 分解过程中,由于多次对局部极大值和局部极小值运用3次样条插值,从而产生了引起失真的端点效应。对于本文给出的准周期的测试信号,端点镜像方法、多项式拟合法、极值延拓法、平行延拓法和边界局部特征尺度延拓法5种方法都能改善EMD分解的端点效应问题。其中,极值延拓法是5种方法中分解效果最好的、运算速度最快的延拓方法,在工程技术应用中处理类似的信号,可以将其作为端点效应处理的主要方法。当然,工程应用中的信号千差万别,对于不同形式的信号,各种改善EMD 端点效应的延拓方法性能各异。在实际应用中,最好根据所处理信号的特点选择合适的延拓方法。本文所用评价方法,只对实际工程选用合适的延拓方法提供一个参考。

解决EMD端点效应的方法比较相关推荐

  1. emd断点效应matlab,EMD端点效应抑制方法

    引言EMD是由Huang等[1]于1998年提出的一种自适应的信号处理算法,其分解得到的IMF分量具有真实的物理意义,并且因其具有较好的自适应性.正交性.完备性和IMF分量的调制性等优点,而被广泛地应 ...

  2. emd 消除端点效应 matlab代码,对五种改善EMD端点效应的方法进行分析

    引言 1998年,Huang等人提出了一种新的信号处理方法:经验模态分解方法(EmpiricalModeDecomposition,EMD).它用不同特征尺度的数据序列本征模函数(IntrinsicM ...

  3. 极值延拓法改进的emd matlab,EMD端点效应的改进型混沌延拓方法及其在机械故障诊断中的应用...

    1998年,Huang[1]提出了基于经验模态分解的EMD算法,EMD算法和与之相应的Hilbert谱统称为Hilbert-Huang变换.Hilbert-Huang变换方法在处理非平稳.非线性信号方 ...

  4. 气候统计实习——EMD与ESMD方法介绍与应用(附matlab代码)

    关于代码无法运行情况,请下载完整程序包尝试运行. 链接:esmd程序包 提取码:zzl8 引言 上世纪六十年代,著名气象学家洛伦兹提出了提出了著名的"蝴蝶效应",这种混沌学概念一经 ...

  5. 两个函数式解决大数相加的方法

    解决大数相加的方法有很多,网上很容易搜到,下面介绍两种,一种是在网上抄的,一种是自己想的,我将他们都用函数式的方式重写了一遍. 这种是在网上抄的,的确非常简洁 function add(a,b) {l ...

  6. php约瑟夫问题,php 解决约瑟夫问题实现方法

    这篇文章主要为大家详细介绍了php 解决约瑟夫问题实现方法,具有一定的参考价值,可以用来参考一下. 对php解决约瑟夫问题的两段代码感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 一群猴 ...

  7. python---方法解析顺序MRO(Method Resolution Order)<以及解决类中super方法>

    python---方法解析顺序MRO(Method Resolution Order)<以及解决类中super方法> 参考文章: (1)python---方法解析顺序MRO(Method ...

  8. mysql数据库出现无法登录(ERROR 1045 ),预防和解决及系列问题解决方法。

    mysql数据库出现无法登录(ERROR 1045 ),预防和解决及系列问题解决方法. 参考文章: (1)mysql数据库出现无法登录(ERROR 1045 ),预防和解决及系列问题解决方法. (2) ...

  9. Node Sass does not yet support your current environment: Windows 64-bit然如何解决,cnpm此问题解决方法

    Node Sass does not yet support your current environment: Windows 64-bit然如何解决,cnpm此问题解决方法 参考文章: (1)No ...

最新文章

  1. Hadoop系列之一:hadoop部署安装
  2. hdu2412 Party at Hali-Bula
  3. phpcms 指定id范围 调用_phpcms v9使用GET调用指定id文章内容、页面数据方法
  4. 只在堆上或只在栈上定义对象
  5. Floyd求传递闭包
  6. 计算机网络期末考长沙学院,校内用-第二套计算机网络试卷A..doc
  7. 【MobaXterm】设置保持SSH连接
  8. 《Python核心编程》第二版第18页第一章练习 -Python核心编程答案-自己做的-
  9. split,splice,slice,substr,substring使用方法总结
  10. Linux内核分析(六) 文件系统
  11. 从零开始搭二维激光SLAM --- 基于gtsam的后端优化的代码实现
  12. 联想V470C 禁用触摸板
  13. 微信公众号消息推送服务器,微信服务号模块消息推送
  14. [zz]明月虽好by 王大根 from 豆瓣
  15. CSS3构建一个正方体
  16. 姿态估计(人体关键点检测)之CPN
  17. as打包app连不上网络_1000M光纤到户RT-AC68U配单只Lyra Trio织女星家庭AiMesh网络搭建...
  18. 运动想象EEG背景知识
  19. Unable to set dev_loss_tmo and fast_io_fail_tmo in multipath.conf
  20. 面试 mysql引擎

热门文章

  1. 密码学技术如何选型?终探量子计算通信的安全模型
  2. arm开发板移植openssl
  3. [自动驾驶]高德的高精度地图
  4. 计算机word论文,怎么用电脑Word写论文?
  5. 【ArcGIS 】ArcSWAT for ArcGIS 10.2下载安装(新手指南)
  6. ParameterResolutionException单元测试方法中添加了参数,这是不允许的
  7. 写给自己的python基础
  8. 【Linux】Ubuntu20网络频繁掉线解决
  9. 罗尔定理与零点定理判断实际应用与判断
  10. Python 汉字转拼音库 pypinyin, 附:汉字拼音转换工具