声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2565|回复: 6

[综合讨论] 小波与hilbert变换结合进行信号包络谱分析

[复制链接]
发表于 2008-1-9 16:19 | 显示全部楼层 |阅读模式

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

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

x
这是我自己搞的一个仿真信号用小波与hilbert变换进行信号包络谱分析的程序
大家看一下,给点意见啊。我是结合书上的编的,有几个地方一直不懂,
1,许多论文上说hilbert变换是这样进行的:原始信号X(t)带通滤波,进行hilbert变换得到x^(t),作为虚部,
然后用w(t)= x(t)+jx^(t)作为解析信号。包络谱的求法是:a(t)=X(t)和x^(t)的平方和再开放.但是这个程序里面怎么没有这个功能??
2,plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));这句程序有点难懂,麻烦哪位编程高手解释一下??


程序如下:
  1. t=0:0.005:1*pi;
  2. fs=10000
  3. s=4*sin(2*200*pi*t).*(sin(2*4500*pi*t))+25*(sin(2*4500*pi*t));
  4. subplot(411);plot(t,s)
  5. [c,l]=wavedec(s,1,'db10');
  6. d1=wrcoef('d',c,l,'db10');
  7. a1=0;
  8. subplot(412);plot(d1);title('重构高频信号');
  9. y=hilbert(d1);
  10. y1=abs(y);
  11. ydata=y-mean(y);
  12. nfft=1024;
  13. p=abs(fft(y1,nfft));
  14. figure(2);
  15. plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));
  16. xlabel('频率');
  17. ylabel('功率谱');
复制代码

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2008-1-13 21:46 | 显示全部楼层
1   叙述的没错,我机子上没装matlab不好查,再仔细看看hilbert.m,估计是问题不大
2 这句是画图,肯定都明白;我想不明白的是为什么/2,这是因为频谱是对称的,我们只要画正半轴,所以/2
 楼主| 发表于 2008-1-24 15:33 | 显示全部楼层
ydata=y-mean(y);
这句是做什么用的??
发表于 2008-3-21 09:26 | 显示全部楼层
plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));这句话好像是把你的采样信号转换为频率,并且保证横纵坐标的点数是一样的
发表于 2008-3-21 19:34 | 显示全部楼层
不错,你这个程序根本就不能实现包络分析的功能,求包络可以用三次样条插值来拟合,
至于包络点你已经知道怎么求解了
那就很容易得到它的包络图了
发表于 2012-9-18 20:29 | 显示全部楼层
要正半轴呀
发表于 2012-12-16 11:50 | 显示全部楼层
“ 这句是画图,肯定都明白;我想不明白的是为什么/2,这是因为频谱是对称的,我们只要画正半轴,所以/2”
因为数据的采集都是一个转换过程,采样都需要遵守一个采样定理,因为有这个采样定理,所以你最后要是不将频谱/2,你得到的频谱图就是一个对称的。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-26 20:49 , Processed in 0.108460 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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