EMD算法的简单介绍,matlab安装包的安装以及其应用!

EMD算法的简单介绍:从编程的角度来看,EMD是两个while循环。

固有模特分量(内层while循环)满足的两个条件:

        (1)极值点的个数和过零点的个数相等或者最多相差为1个;

        (2)上下包络线的平均值为零。

余项的满足条件:单调函数(部分论文上有其他的条件,外层while循环)。

具体的步骤如下:

        1)首先使用三次样条曲线分别拟合信号的极大值点和极小值点,获得上下包络线,并计算上下包络线的均值;令信号减去该均值后,则可以得到一个新信号;重复上述步骤直至最后得到的新信号满足固有模态分量的两个条件。

        2)将原始信号减去所有获得的固有模态分量,则可以得到一个残余信号,若残余信号为单调函数或者很小时,则停止分解,残余信号既漂移分量;否则令残余信号继续过程1),可以得到新的固有模态分量。

 

EMD安装包的下载:https://download.csdn.net/download/qq_27806947/10366188

其安装过程如下:

1)找到matlab安装目录下的toolbox,并把安装包粘贴进去!

2)添加maltab的路径,设置路径-添加并包含子文件夹-选中toolbox下的package_emd-保存-关闭如下图所示:

EMD算法的简单介绍,matlab安装包的安装以及其应用!_第1张图片

3)在命令行中运行命令:install_emd即可!

这里使用EMD分解一个加速度信号,程序和结果如下图所示:

 modos=emd(s1); %已经知道结果是2个固有模态分量和一个余项了,否则应该用for循环和size(modos)
figure
plot(t1,s1)
xlabel('时间/s');
ylabel('位移/m');
title('原始信号')


figure
subplot(3,1,1)
plot(t1,modos(1,:))
title('EMD分解的信号')

ylabel('IMF1/m');


subplot(3,1,2)
plot(t1,modos(2,:))

ylabel('IMF2/m');


subplot(3,1,3)
plot(t1,modos(3,:))
xlabel('时间/s');
ylabel('余项/m');

 

EMD算法的简单介绍,matlab安装包的安装以及其应用!_第2张图片

EMD算法的简单介绍,matlab安装包的安装以及其应用!_第3张图片

你可能感兴趣的:(信号处理)