声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5060|回复: 25

[HHT] (高手解答)包络谱不对啊,得不到正确的包络谱

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

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

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

x
本帖最后由 chenlu1986 于 2011-5-30 14:49 编辑

hilbert变换是这样进行的:原始信号X(t)带通滤波,进行hilbert变换得到x^(t),作为虚部,     然后用w(t)=x(t)+jx^(t)作为解析信号。
包络波形的求法是:a(t)=X(t)和x^(t)的平方和再开方.
包络谱的求法是:对a(t)进行FFT变换得到的频谱,但其实a(t)应该等于a(t)的绝对值(开方撒),即a(t)=|a(t)|。
所以对|a(t)|进行FFT变换得不到正确的调制信号的频谱。
我做了如下测试;
x(t)=sin(2*pi*600*t)*sin(2*pi*30*t);
最后得到的包络谱谱线出现在60Hz处,并不是出现在30Hz处。
那么如何得到的a(t)的频谱呢,因为我们得到的只是|a(t)|,怎么得到包络谱阿????
希望高手解答一下.

包络波形

包络波形

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2008-12-17 15:19 | 显示全部楼层
快来解答啊
发表于 2008-12-18 10:43 | 显示全部楼层
本帖最后由 VibInfo 于 2016-10-17 15:16 编辑
原帖由 xsy710 于 2008-12-16 18:05 发表
包络谱不对啊,得不到正确的包络谱
hilbert变换是这样进行的:原始信号X(t)带通滤波,进行hilbert变换得到x^(t),作为虚部,     然后用w(t)=x(t)+jx^(t)作为解析信号。
包络波形的求法是:a(t)=X(t)和x^(t)的平方和再开方.
包络谱的求法是:对a(t)进行FFT变换得到的频谱,但其实a(t)应该等于a(t)的绝对值(开方撒),即a(t)=|a(t)|。
所以对|a(t)|进行FFT变换得不到正确的调制信号的频谱。
我做了如下测试;
x(t)=sin(2*pi*600*t)*sin(2*pi*30*t);
最后得到的包络谱谱线出现在60Hz处,并不是出现在30Hz处。
那么如何得到的a(t)的频谱呢,因为我们得到的只是|a(t)|,怎么得到包络谱阿????
希望高手解答一下.

对于求包络的思路没有错,如楼主的图所示,包络是a(t)的绝对值(开方撒),即a(t)=|a(t)|,所以包络的谱也并没有错(用正弦波的绝对值求频谱,基频当然增加一倍,30Hz变成60Hz,并且有谐波和直流分量)。而问题是楼主并不是要求包络谱,而是要求被调制信号的谱,但这是两个不同的要求。
想求被调制信号的谱,先要得到被调制信号的波形;实际上对正弦波来说是可以从包络信号中来恢复出正弦信号。即找出每两个半波的交接处(可利用波形的一阶导数),然后决定该半波为正或为负。恢复正弦波了也就不难求出正弦波的频谱。

[ 本帖最后由 songzy41 于 2008-12-18 10:46 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2008-12-18 18:43 | 显示全部楼层
谢谢楼上的了,讲得不错

频谱图(截断后面的了)

频谱图(截断后面的了)
 楼主| 发表于 2008-12-18 18:45 | 显示全部楼层
这样,包络谱得到的不是调制信号的频谱了,但我找的这篇论文上写的
包络谱能得到调制信号的基频,基频没有增加一倍。
下图:

时域波形

时域波形

包络波形

包络波形

包络谱

包络谱

基频

基频
 楼主| 发表于 2008-12-18 18:53 | 显示全部楼层
也就是说包络谱显示的第一根谱线是轴2的基频,但其实第一根谱线应该显示的166HZ啊,不应该是83Hz啊。
原文有200KB,发不上去。
 楼主| 发表于 2008-12-18 18:58 | 显示全部楼层
如果我们做包络谱,直接对|a(t)|做FFT 变换就行了是不是?
用不着恢复出调制信号了。
这样说对不对?
发表于 2008-12-19 08:33 | 显示全部楼层
本帖最后由 VibInfo 于 2016-10-17 15:16 编辑
原帖由 xsy710 于 2008-12-18 18:58 发表
如果我们做包络谱,直接对|a(t)|做FFT 变换就行了是不是?
用不着恢复出调制信号了。
这样说对不对?

实际上,楼主提到的文献的方法没有错,而是楼主把供的信号和文献中的信号貉有差别。如果把楼主的信号也作些修改,也一样可以直接从包络中提取基频。信号要改为:
x=sin(2*pi*600*t).*(sin(2*pi*30*t)+1);
得图为
xs11a.jpg
 楼主| 发表于 2008-12-19 13:25 | 显示全部楼层
牛人,确实是这样,它提供的调制信号中有直流分量,使得a(t)>0,从而使|a(t)|=a(t),所以就可以恢复出调制信号。
但实际上,工程上的信号我们不知道它的调制信号有没有直流分量(使a(t)>0),你有没有好的方法恢复出a(t)<0时的波形,有没有相关的程序。
下面这篇论文中介绍了一种方法,不知对不对

包络解调法在气阀弹簧失效故障诊断中的应用[1].txt

164.12 KB, 下载次数: 200

请改成pdf后缀

 楼主| 发表于 2008-12-19 13:30 | 显示全部楼层
它好像是进行短时傅里叶变换得到的。帮忙看一哈
发表于 2008-12-19 19:36 | 显示全部楼层
看了楼主提供的文章,该文实际上就是用普通的hilbert变换,文中说:“即得到x ( n) 的解析信号z ( n) 。求出z ( n) 的模,得到包络信号的幅值。”即通过hilbert变换得到x ( n) 的解析信号z ( n) ,又求z ( n) 的模,得到包络信号的幅值。这和楼主所述的方法一样。文中以后的处理都是在包络信号上进行的,以分辨正常和失效。
作者在处理中指的短时傅里叶变换,从文中看不出来,我认为就是普通的傅里叶变换。

[ 本帖最后由 songzy41 于 2008-12-19 19:38 编辑 ]
 楼主| 发表于 2008-12-19 20:40 | 显示全部楼层
谢谢了,那我们做包络谱一般就对|a(t)|作FFT 就行了。
发表于 2009-3-8 22:46 | 显示全部楼层
还是不是很明白,我们一般进行故障诊断时使用的是包络谱分析 还是求出被调制信号的谱呢 请高手解答
发表于 2009-3-9 08:15 | 显示全部楼层

回复 楼主 xsy710 的帖子

看你给出的时域谱,有点像是拍振的故障。
 楼主| 发表于 2009-3-9 11:30 | 显示全部楼层

回复 13楼 桥到船头 的帖子

是包络谱分析撒,即要求出调制信号来,而不是被调制信号 :@D :@D
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-14 06:19 , Processed in 0.080425 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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