经验模态分解(EMD)

发布于:2022-11-03 ⋅ 阅读:(713) ⋅ 点赞:(0)

笔者参与实验室里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的实现

 

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到