请教信号预处理问题
经验模式分解(EMD)方法在处理imf分量间能量差很远的情况时,不能很好的辨识各imf分量,有文献说,可以用基于傅里叶变换的emd方法来处理这类问题。不知有没有现成的matlab程序?多谢
比如
t = 0:1/3200:0.24
x = 10*sin(2*pi*50*t) + sin(2*pi*150*t);
对于这个信号,做emd处理,无法得到频率为50和150的两个imf分量啊。。
请大家指教~ 我没有做过这个方面的尝试
但是EMD本身就是存在这样的问题
模态混叠
端点效应
唉
期待有人来解答楼主的问题 楼主的采样频率是多少呀?
看本论坛的精贴
clear;fs=1000; %fs为采样频率;
N=1000; %采样点数
t=1/fs:1/fs:1;
y1=10*sin(2*pi*50*t);
y2=sin(2*pi*150*t);
y=; %IMF集
%%%%%%%%%%%%%求边际谱
=hhspectrum(y);
=toimage(A,fa,tt,length(tt));
%E=flipud(E);
for k=1:size(E,1)
bjp(k)=sum(E(k,:))*1/fs;
end
f=(0:N-3)/N*fs/2;
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
回复 地板 qqvirile 的帖子
我也是昨天刚看的 今天正好拿来用一下 这个程序没有emd分解 而是直接 y1=10*sin(2*pi*50*t);y2=sin(2*pi*150*t);作为单分量函数 大家一起学习吧!我也是初学! 这个程序没有emd分解 而是直接 y1=10*sin(2*pi*50*t);y2=sin(2*pi*150*t);作为单分量函数正弦信号本身可以作为一个IMF
页:
[1]