EMD分解IMF4和IMF5结果跟博士论文不一致。
事情是这样的,最近在计算一个互信息的大小,想筛选EMD分解结果中的真伪信息。照着一篇《Hilbert-Huang变换在旋转机械振动信号分析中的应用研究》的博士论文进行仿真。
以上是原始信号的模型,比较简单的正弦叠加信号。
这是博士论文里面emd分解的结果。
这张图是用emd工具箱仿真的结果,IMF4和IMF5与论文结果差异较大,刚接触emd这部分,想请教各位大神下,是什么问题导致这个差异呢?
谢谢指点。
clear;clc;clf;
N=1000;
%fft默认计算的信号是从0开始的
Ts=1/500;
t=(1:N)*Ts;
x=sin(2*pi*3*t)+0.4*sin(2*pi*11*t)+0.9*sin(2*pi*25*t);
z=x;
c=emd(z);
%计算每个IMF分量及最后一个剩余分量residual与原始信号的相关性
=size(c);
for i=1:m;
a=corrcoef(c(i,:),z);
xg(i)=a(1,2);
end
xg;
for i=1:m-1
%--------------------------------------------------------------------
%计算各IMF的方差贡献率
%定义:方差为平方的均值减去均值的平方
%均值的平方
%imfp2=mean(c(i,:),2).^2
%平方的均值
%imf2p=mean(c(i,:).^2,2)
%各个IMF的方差
mse(i)=mean(c(i,:).^2,2)-mean(c(i,:),2).^2;
end;
mmse=sum(mse);
for i=1:m-1
mse(i)=mean(c(i,:).^2,2)-mean(c(i,:),2).^2;
%方差百分比,也就是方差贡献率
mseb(i)=mse(i)/mmse*100;
%显示各个IMF的方差和贡献率
end;
%画出每个IMF分量及最后一个剩余分量residual的图形
figure(1)
for i=1:m-1
disp(['imf',int2str(i)]) ;disp();
end;
subplot(m+1,1,1)
plot(z)
set(gca,'fontname','times New Roman')
set(gca,'fontsize',14.0)
ylabel(['signal','Amplitude'])
for i=1:m-1
subplot(m+1,1,i+1);
set(gcf,'color','w')
plot(c(i,:),'k')
set(gca,'fontname','times New Roman')
set(gca,'fontsize',14.0)
ylabel(['imf',int2str(i)])
end
subplot(m+1,1,m+1);
set(gcf,'color','w')
plot(c(m,:),'k')
set(gca,'fontname','times New Roman')
set(gca,'fontsize',14.0)
ylabel(['r',int2str(m-1)])
for i = 1:m-1
MiTest(i)=mi(z',c(i,:)');
end
MaxMI=max(MiTest);
for i = 1:m-1
NormalMI(i)=MiTest(i)/MaxMI;
end
二楼是我的代码。请大家帮忙看下。是什么问题导致论文里提到的IMF4和IMF5跟我的分解结果不同呢。 其实你这个都不用管imf 4和imf5啊,因为有用的就在前三个分别对应那三个频率,后面的本身就是算法缺陷导致的虚假分量 我感觉差不多啊lz
我觉得有可能是你的emd的程序里和论文中所使用的emd的终止准则不一样emd的程序有很多版本 Grilling版本 台湾中央大学版本 各种学者自己的版本 所以有这样的差异很正常可能的原因比如:终止准则不同 端点延拓使用的方法不一样求包络线的方法不同 等等 整明白了吗 请问博士论文是谁的? 什么博士不博士的水平也就那么回事 应该就是emd程序的问题,这是我运行出来的 墨香飘逸 发表于 2016-10-25 08:08
应该就是emd程序的问题,这是我运行出来的
这图咋这么丑 运行的结果给楼上一样
没有emd工具箱运行不了是吗? 五层居住者 发表于 2016-11-23 13:05
运行的结果给楼上一样
本人新手小白,求问一下大神初始信号和每次IMF分量的横纵坐标单位是多少啊?
个人理解横坐标单位是采样点,那么纵坐标单位到底是归一化幅值还是归一化频率呢? 你把你的图放大一点就好看了吧感觉是图片的问题
页:
[1]
2