声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1151|回复: 1

[HHT] EMD程序问题

[复制链接]
发表于 2009-1-7 20:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
在使用Rilling程序时遇到了一些问题,一直困扰至今:
1.就是关于坐标的问题。为什么我分解出来的信号没有坐标?或者坐标不对(听说是频率归一化的原因)。
2.对于调幅、调频信号分解不是很正确。
3.三维图感觉怪怪的。
我的程序如下:
N = 1024;% # of data samples
fs=1000
t=(1:N)/fs;
%t=1:1024
%x=sin(2*pi*8*t)+sin(2*pi*20*t)
%x=cos(2*pi*4*t+0.5*sin(2*pi*2*t))+sin(2*pi*16*t);
x=(1+0.5*sin(2*pi*1*t)).*cos(2*pi*14*t+0.4*sin(2*pi*3*t))+sin(2*pi*2*t)+sin(2*pi*7*t);
imf=emd(x);
%[A,fa,tt]=hhspectrum(imf);
if size(imf,1)>1
    [A,fa,tt]=hhspectrum(imf(1:end-1,:));;
else
    [A,fa,tt]=hhspectrum(imf);
end
[E,tt1]=toimage(A,fa,tt,length(tt));
for k=1:size(E,1)
    bjp(k)=sum(E(k,:))*1/fs;
end
f=(0:N-3)/N*(fs/2);
%%绘制原信号
figure(1)
plot(t,x);
xlabel('时间');
ylabel('幅值')
%%%%%%EMD分解
figure(2)
[m,n]=size(imf);
for i=1:m   
    subplot(m,1,i);
    plot(imf(i,:));
    axis([0,1000,-2,2])
    xlabel('时间');
    ylabel('频率')
end
%emd_visu(x,t,imf,1);
%%%%绘制灰度图
figure(3)
imagesc(tt1,[0,0.5*fs],E);
set(gca,'YDir','normal')
colormap(flipud(gray))
axis([0,1000,0,50])
xlabel('频率 / Hz');
ylabel('幅值')
%%%绘制边际谱
figure(4)
plot(f,2*bjp)
axis([0,50,0,1.2])
xlabel('频率 / Hz');
ylabel('幅值')
%绘制mesh三维图,不可用
figure(5)
mesh(tt,fa,abs(A))
xlabel('time/s')
ylabel('frequency/Hz')
zlabel('Ampititude')
title('[WV] mesh')
感觉有问题,希望有高手帮帮我。

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2009-1-7 20:43 | 显示全部楼层
如果真有好心人,就帮小弟以x=(1+0.5*sin(2*pi*1*t)).*cos(2*pi*14*t+0.4*sin(2*pi*3*t))+sin(2*pi*2*t)+sin(2*pi*7*t)信号为例,帮小弟做一份完整的EMD带坐标分解、边际谱和时频图。真的不胜感激。
谢谢谢谢谢谢谢谢!:@)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-21 02:55 , Processed in 0.055336 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表