声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: fancy78066994

[HHT] 完整的EMD分解全过程,有Hilbert谱和边际谱

  [复制链接]
发表于 2011-4-10 10:01 | 显示全部楼层
回复 4 # pro123 的帖子

这是因为instfreq不是matlab自带的函数 自己需要编写的
回复 支持 反对
分享到:

使用道具 举报

发表于 2011-4-23 16:40 | 显示全部楼层
相当好!!!感谢楼主
发表于 2011-4-26 12:30 | 显示全部楼层
谢谢分享   呵呵 很有用
发表于 2011-5-3 10:29 | 显示全部楼层
谢谢分享,改进后做出来了。
发表于 2011-5-4 10:59 | 显示全部楼层
LZ你好,我是刚刚接触HHT
调用你上面的程序后显示:
??? Undefined function or method 'emd' for input arguments of type 'double'.
希望你指导,谢谢啦~
小菜鸟向你请教
发表于 2011-5-9 14:45 | 显示全部楼层
回复 5 # pro123 的帖子

工具箱没有装好 或者你用的EMD的版本不一样 2007的就可以了

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2011-5-18 20:55 | 显示全部楼层
楼主,我怎么处理我自己采集的数据呢?求指导啊!!!
发表于 2011-5-19 15:53 | 显示全部楼层
大家好,我是新手,请问怎么让时间轴显示的是时间呢?就像是作WVD谱之后可以通过change the sampling frequency 使得横轴表示时间,纵轴表示频率。。。求解!毕设急用啊!

点评

楼主解决了没有,我也想问  详情 回复 发表于 2016-6-3 23:17
发表于 2011-5-24 20:20 | 显示全部楼层
做毕业设计啊。。。
发表于 2011-5-26 14:31 | 显示全部楼层
??? Error using ==> instfreq at 66
T can not be equal to 1 neither to the last element of X

Error in ==> hhspectrum at 45
  f(i,:)=instfreq(an(i,:)',tt,l)';

出现如此错误信息!!
是不是工具箱没装好,还是版本低
发表于 2011-5-26 21:10 | 显示全部楼层
回复 55 # sunsun1212 的帖子

instfreq是matlab时频工具箱里面的函数。不是本来就有的。
找个matlab时频分析工具箱。

发表于 2011-5-28 20:05 | 显示全部楼层
我是直接复制粘贴的,运行的时候为什么会出现下面的情况:
??? Error: File: D:\MATLAB\toolbox\hht2\toimage.m Line: 59 Column: 1
This statement is not inside any function.
(It follows the END that terminates the definition of the function "toimage".)
这个问题出在哪里啊
发表于 2011-5-29 08:49 | 显示全部楼层
回复 54 # wd0225 的帖子

你的这个问题已经解决了吗?
发表于 2011-5-30 17:01 | 显示全部楼层
回复 58 # chenlu1986 的帖子

解决了,放到当前文件夹下就可以了,请问为什么放到toolbox不行呢?
有点不解:EMD分解层数是不是自动的呢?我如果想用残余信号怎么办?是不是用cy=imf(10,1:1000),求解!我这样试了,请看下面程序:
%修正后的EMD分解方案
function [cy]=my_emd( data )      %cy为分解后残余信号,data为待分解信号

imf=emd(data);                        %对输入信号data进行EMD分解   
[A,f,t]=hhspectrum(imf);              %对IMF分量求取瞬时频率与振幅:A:是每个IMF的振幅向量,f:每个IMF对应的瞬时频率,t:时间序列号
[E,t,Cenf]=toimage(A,f);              %将每个IMF信号合成求取Hilbert谱,E:对应的振幅值,Cenf:每个网格对应的中心频率  这里横轴为时间,纵轴为频率        
                                                   %即时频图(用颜色表示第三维值的大小)和三维图(三维坐标系:时间,中心频率,振幅)         
cemd_visu(data,1:length(data),imf);   %显示每个IMF分量及残余信号--------------------------------------------
cy=imf(10,1:1000);
figure;plot(canyu);
end
然后调用:[cy]=my_emd(y);%y为原信号
不同的y可能会有错误,也可能没有,我的y都很相似,实在找不出为什么
错误为:??? Index exceeds matrix dimensions.

Error in ==> my_emd at 9
cy=imf(10,1:1000);
小弟菜鸟,望高手指教!!
发表于 2011-5-30 20:14 | 显示全部楼层
你好,我运行了下这个程序出现如下错误:
??? Undefined function or variable "t".

Error in ==> emd at 154
x=sin(2*pi*50*t)+0.3*sin(5.5*pi*50*t);% x 信号

??? Undefined function or variable 'fs1'.
请问怎么回事?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-23 15:50 , Processed in 0.072094 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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