声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1879|回复: 8

[HHT] hht可以对调频信号进行分解吗

[复制链接]
发表于 2008-4-10 20:37 | 显示全部楼层 |阅读模式

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

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

x
请问hht可以对调频信号进行分解吗?我运用HHT程序对x1=sin(2*pi*20*t(1:N/2));  x2=sin(2*pi*10*t(N/2+1:end));
x=[x1,x2];  该调频信号进行分解,采样频率跟采样点数均去300,其他未作处理。但是提示下面错误信息。
??? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> disp_hhs at 40
imagesc(t,fliplr(fs*(1:size(im,1))/(2*size(im,1))),im,[inf,0]);

Error in ==> UFM at 18
disp_hhs(im);


另外对调幅信号进行处理时,只显示出载波信号的频率,这样的结果是正确的吗
回复
分享到:

使用道具 举报

发表于 2008-4-10 20:52 | 显示全部楼层
hht可以分解调频信号,但是我觉得问题不是emd的事,而是生成的信号。
楼主把你的程序贴出来
 楼主| 发表于 2008-4-10 21:17 | 显示全部楼层
fs=300;
N=300;
n=0:1:N-1;
t=n/fs;
x1=sin(2*pi*20*t(1:N/2));
x2=sin(2*pi*10*t(N/2+1:end));
x=[x1,x2];
figure
subplot(311);
plot(t(1:N/2),x1);
subplot(312);
plot(t(N/2+1:end),x2);
subplot(313);
plot(t,x)
imf=emd(x);
[A,f,tt]=hhspectrum(imf);
[im,tt]=toimage(A,f);
disp_hhs(im);
colormap(flipud(gray))
发表于 2008-4-10 21:29 | 显示全部楼层
??? Output argument "A" (and maybe others) not assigned during call to "D:\Program Files\MATLAB71\work\pack_emd\package_emd\tan\hhspectrum.m (hhspectrum)".

Error in ==> hhspectrum at 20
if nargin < 2

Error in ==> green1 at 16
[A,f,tt]=hhspectrum(imf);

我运行的抱错结果是这样的,又看了workspace,发现这个信号之分解出一阶IMF,如果这么看,就和没分解一样。我想是不是楼主选的信号非常接近iMF的定义,所以出了这样的问题,如果是这两个调频信号叠加,就不会有运行不出来这种问题了
 楼主| 发表于 2008-4-10 22:27 | 显示全部楼层
谢谢系主任,我修改了一下参数,反复运行了几次,不知道为什么又可以显示出来了,奇怪的是现在的程序跟贴出来的一模一样,很是诡异亚:lol ,不过还好出来结果了
发表于 2008-4-10 22:40 | 显示全部楼层

回复 5楼 的帖子

呵呵 你是怎么修改的参数?
 楼主| 发表于 2008-4-11 15:38 | 显示全部楼层
我之前只是改了下fs跟N的值,就运行出来了,后来我直接把上面的程序重新运行了一下也出来结果了。想当什么都没有处理不知道为什么就出来了。我也很奇怪
发表于 2015-9-5 17:51 | 显示全部楼层
Inner matrix dimensions must agree. 从这句看出你的参数设置的不对,查看一下你的数据,应该是采样频率低了
发表于 2015-9-6 21:17 | 显示全部楼层
请教算法 程序
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-25 02:22 , Processed in 0.068974 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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