经验模态分解(EMD)

笔者参与实验室里IOT方面的项目,需要对雷达采集数据进行处理,特意学习了一下EMD方面的资料和文献,以下为一些学习笔记和个人理解。

 1 方法使用背景

        在通过雷达获取信号后,需要对其进行处理并从中提取出我们所需的数据部分。根据信号的频率与时间的情况,我们可以将频率分为两类:平稳信号、非平稳信号(如下图)

        左侧每个周期内各参数均一致,能清晰反映测量信息,直接使用传统信号处理方法(如FFT、DFT)即可提取出数据参数;

        而对于右侧的信号,我们发现随着时间的变化,其参数一直在变化,这使得我们无法判断哪些参数是有效的,哪些是无效的,我们甚至无法判断周期。整体进行运算显然不合理,但如果人为划分波段进行运算不仅主观性干扰大,而且极度不准确。这种情况是由于我们所测的信号在接收时,混入了其他的背景反射信号(我们称为“噪声”),简而言之,我们要将信号分解为多个信号,再取出我们所需的那个进行处理。其中关键的无人为参数的分解步骤,便是EMD的工作。

2 方法原理

        EMD是以信号极点信息,将信号分为了多个本征模态函数(IMF)+一个单调残差r。

*何谓本征模态函数?

        本征模态函数(IMF)即为一个函数f(x),若其在定义域内能满足:

         1.极值点与零点数目相差不超过1(即两者交替出现)

         2.上下包络面均值为0

        则称之为本征模态函数(如下图)

因此,我们可以将EMD表示为如下公式:

 3 计算方法

        

在用上面方法求出IMF1后,将u(x)-IMF1作为新的u(x),再去求IMF2。

一直重复,直至最新的u(x)为单调函数,不再可能剥离出新的IMF了 ,此u(x)即为这些分离出的信号的总和与原信号的差距,一般我们称之为残差,如前文公式所述。

 4 注意事项

1 端点问题

        对于原信号曲线的端点,我们应该如何处理?

        一般采用镜像延拓法,对图像进行拓展,并根据拓展结果判断端点应该被视为极大还是极小值点。

 2 多次分解处理困难问题

        EMD算法有一个特点,就是先分离出的信号是频率高的,之后是频率低的,在极多此分解后,会出现分解困难的问题,此时可以不用上面所述方法分解,可以应用以下公式:

 5 matlab 中EMD的实现

若使用上述用法,则为返回波形数据。

在matlab中实现EMD画图功能脚本:

emd这样使用可以直接进行画图而非返回一个矩阵。

 示例如下:

 

  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值