声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 14621|回复: 3

[HHT] EMD程序中文详解及应用例子

[复制链接]
发表于 2007-11-27 14:46 | 显示全部楼层 |阅读模式

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

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

x
看到版上总是有人问EMD程序应用方面的问题,于是把 G.Rilling 写的 EMD.m注释汉化了,同时根据个人理解添加了部分注释,最后附上一个EMD分解+HHT谱+边际谱的例子。例子程序中所用到的函数是G.Rilling提供的,可以到如下地址下载:
http://perso.ens-lyon.fr/patrick.flandrin/emd.html
http://zhlong.ys168.com/
由于个人水平有限,权作抛砖引玉,希望对各位研究EMD的朋友有所帮助,也欢迎大家指正。

% 计算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);

例子说明:
(1) 运行该实例还需要时频工具箱(tftb工具包)支持,可以到 http://zhlong.ys168.com/ 下载
(2) 由于该程序调用的m文件位于多个文件夹,因此最好将如下路径
*\emd\emds
*\emd\utils
*\tftb-0.1\mfiles
添加到matlab的路径中(File\Set Path)
(3) 2FSK是通信中常用的数字调制方式,分别用两个频率的正弦波表示“1”和“0”,例子中这两个频率分别为1500Hz和2500Hz。图1是2FSK信号的时域波形,可以看到振动波形有疏有密。对照图2可以发现,疏密部分对应了信号中的低频部分(1500Hz)和高频部分(2500Hz),HHT谱恰好实现了2FSK信号的解调,这也是这个应用的物理意义。图3反映了信号在两个频率上的能量分布,表示了信号中“1”和“0”中出现的比例。

[ 本帖最后由 zhangnan3509 于 2007-11-28 11:10 编辑 ]

emd.m

22.86 KB, 下载次数: 1501

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2007-11-27 16:04 | 显示全部楼层
出于保护原创贴和进一步讨论的目的,暂时关闭这个帖子,望xray和各位版友见谅。如果有版友读完帖子之后有什么疑问和

建议可以在这个帖子《EMD程序中文详解及应用例子》原创贴的专题贴 里跟贴讨论,谢谢大家!

[ 本帖最后由 zhlong 于 2007-11-27 16:05 编辑 ]
 楼主| 发表于 2007-11-28 11:04 | 显示全部楼层
看了前面提出的问题,觉得还需要对例子增加一点说明,但是现在我已经不能编辑原贴了,麻烦版主把下面的说明加到原贴中。

例子说明:
(1) 运行该实例还需要时频工具箱(tftb工具包)支持,可以到 http://zhlong.ys168.com/ 下载
(2) 由于该程序调用的m文件位于多个文件夹,因此最好将如下路径
*\emd\emds
*\emd\utils
*\tftb-0.1\mfiles
添加到matlab的路径中(File\Set Path)
(3) 2FSK是通信中常用的数字调制方式,分别用两个频率的正弦波表示“1”和“0”,例子中这两个频率分别为1500Hz和2500Hz。图1是2FSK信号的时域波形,可以看到振动波形有疏有密。对照图2可以发现,疏密部分对应了信号中的低频部分(1500Hz)和高频部分(2500Hz),HHT谱恰好实现了2FSK信号的解调,这也是这个应用的物理意义。图3反映了信号在两个频率上的能量分布,表示了信号中“1”和“0”中出现的比例。

[ 本帖最后由 eight 于 2007-11-28 11:15 编辑 ]

评分

1

查看全部评分

发表于 2016-5-13 16:38 | 显示全部楼层
非常荣幸地加入这个论坛,这是我登录过的最给力的论坛了,学术氛围非常浓厚,非常非常感谢诸位大神的无私奉献,向诸位大神致以最崇高的敬意!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-14 00:54 , Processed in 0.066743 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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