声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2940|回复: 12

[HHT] 求助,hht画不出imf图形!

[复制链接]
发表于 2010-9-2 22:36 | 显示全部楼层 |阅读模式

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

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

x
我是菜鸟,在论坛找了几个程序,在matlab7.0下运行,但是画不出imf图像。
高手帮我看看怎么回事?万分感谢!!!

% 计算2FSK信号的HHT谱和边际谱
% 作者:xray    2007.11
clear

rand('seed', 0);

T = 0.05;                % 仿真时间
R = 500;                 % 码速率
fd = 1000;               % 载波频差
fc = 2000;               % 载波频率
fs = 20000;              % 采样率
samp = fs/R;             % 每个码元上的采样点数
N = T*fs;
n = 1:N;
x = randint(1, R*T, 2);
y = fskmod(x, 2, fd, samp, fs);
y = y .* exp(i*2*pi*fc/fs*n);
y = real(y);
% z = awgn(y, 20, 'measured');
z = y;

imf = emd(z);
[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*1/T;  
end
f = (0:N-3)/N*(fs/2);

figure(1)
plot(z);

figure(2)
imagesc(tt1,[0,0.5*fs],E);
set(gca,'YDir','normal')
% 使用灰度图显示
% colormap(flipud(gray))

figure(3)
plot(f, bjp);

运行提示错误:
??? Function 'real' is not defined for values of class 'cell'.

Error in ==> real at 15
  [varargout{1:nargout}] = builtin('real', varargin{:});

Error in ==> hilbert at 40
  xr = real(xr);

Error in ==> hhspectrum at 78
  an(i,:)=hilbert(x(i,:)')';

Error in ==> hht1 at 23
[A, fa, tt] = hhspectrum(imf);
回复
分享到:

使用道具 举报

 楼主| 发表于 2010-9-2 22:54 | 显示全部楼层
??? Function 'real' is not defined for values of class 'cell'.
是不是要找一个转换程序??
急切等大牛帮忙解决,万分感谢!!!
发表于 2010-9-4 20:50 | 显示全部楼层
程序一点问题也没有
发表于 2010-10-10 16:35 | 显示全部楼层
我试试了一下,程序也没问题,是不是你的工具包里的文件有问题呢
发表于 2010-10-10 20:13 | 显示全部楼层
??? Undefined command/function 'instfreq'.

Error in ==> hhspectrum at 79
  f(i,:)=instfreq(an(i,:)',tt,l)';
这个是怎么回事?。。
发表于 2010-10-10 21:11 | 显示全部楼层
回复 youshen 的帖子

LS没有这个instfreq函数! 以下式检查下
which instfreq -all
发表于 2010-10-11 10:16 | 显示全部楼层
程序没问题,应该是你的EMD工具箱没装好。。
我出的图:

fig1.png
fig2.png
fig3.png
发表于 2010-10-11 10:18 | 显示全部楼层
回复 ChaChing 的帖子

谢谢前辈。。我又懂了一个。。
发表于 2011-9-13 19:09 | 显示全部楼层
D:\My Dropbox\fig1.png你好,我也是HHT的新手,我使用您的程式,出來的結果也不對,不知道有哪位大大知道EMD工具箱該如何安裝?我點package_emd工具箱內的install_emd.m檔來安裝,安裝後hhspectrum結果還是不正確,但是程式卻沒有錯誤!!!

评分

1

查看全部评分

发表于 2011-9-15 08:49 | 显示全部楼层
回复 9 # cassie920920 的帖子

论坛里关于EMD工具箱和安装的问题的讨论很多很多,请您搜索一下。
发表于 2013-3-31 10:53 | 显示全部楼层

??? Error using ==> hhspectrum at 40
Not enough input arguments.
我也是运行该程序,出现上面的问题,请问是怎么回事?
发表于 2013-3-31 11:14 | 显示全部楼层
jmsdxjxxy 发表于 2013-3-31 10:53
??? Error using ==> hhspectrum at 40
Not enough input arguments.
我也是运行该程序,出现上面的问题 ...

Not enough input arguments.
字面上是说输入引数不足
检查下hhspectrum的输入及如何呼叫该程序
发表于 2013-3-31 11:25 | 显示全部楼层
gunwong 发表于 2010-9-2 22:54
??? Function 'real' is not defined for values of class 'cell'.
是不是要找一个转换程序??
急切等大 ...

刚发现没人针对LZ问题有直接回应, LZ也忘记分享处置方式!
若猜测没错, LZ应该是有自定义程序与built-in程序相同名称了, 而且其优先顺序又较为大
同样可以使用以下命令检查(同6F)
which real -all
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-12 02:48 , Processed in 0.136109 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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