原创 包络谱不对啊,得不到正确的包络谱

2011-6-14 17:34 2976 10 10 分类: 测试测量
 
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)|,怎么得到包络谱阿????
希望高手解答一下.
59843_12475539379Sev.jpg
------------------------------
对于求包络的思路没有错,如楼主的图所示,包络是a(t)的绝对值(开方撒),即a(t)=|a(t)|,所以包络的谱也并没有错(用正弦波的绝对值求频谱,基频当然增加一倍,30Hz变成60Hz,并且有谐波和直流分量)。而问题是楼主并不是要求包络谱,而是要求被调制信号的谱,但这是两个不同的要求。
想求被调制信号的谱,先要得到被调制信号的波形;实际上对正弦波来说是可以从包络信号中来恢复出正弦信号。即找出每两个半波的交接处(可利用波形的一阶导数),然后决定该半波为正或为负。恢复正弦波了也就不难求出正弦波的频谱。
-----------------------------
谢谢楼上的了,讲得不错
 
 
这样,包络谱得到的不是调制信号的频谱了,但我找的这篇论文上写的
包络谱能得到调制信号的基频,基频没有增加一倍。
下图:
59843_12475541797E4t.jpg
包络幅值解调在精轧机齿轮故障诊断中的应用
59843_12475541811HKA.jpg
59843_1247554184pnDN.jpg
 
59843_1247554186zBjS.jpg
 
也就是说包络谱显示的第一根谱线是轴2的基频,但其实第一根谱线应该显示的166HZ啊,不应该是83Hz啊。
原文有200KB,发不上去。
如果我们做包络谱,直接对|a(t)|做FFT 变换就行了是不是?
用不着恢复出调制信号了。
这样说对不对?
---------------------------
 
    引用:
原帖由 xsy710 于 2008-12-18 18:58 发表
如果我们做包络谱,直接对|a(t)|做FFT 变换就行了是不是?
用不着恢复出调制信号了。
这样说对不对?
实际上,楼主提到的文献的方法没有错,而是楼主把供的信号和文献中的信号貉有差别。如果把楼主的信号也作些修改,也一样可以直接从包络中提取基频。信号要改为:
x=sin(2*pi*600*t).*(sin(2*pi*30*t)+1);
得图为
59843_1247554339UqK9.jpg
 
----------------------
牛人,确实是这样,它提供的调制信号中有直流分量,使得a(t)>0,从而使|a(t)|=a(t),所以就可以恢复出调制信号。
但实际上,工程上的信号我们不知道它的调制信号有没有直流分量(使a(t)>0),你有没有好的方法恢复出a(t)<0时的波形,有没有相关的程序。
下面这篇论文中介绍了一种方法,不知对不对
《包络解调法在气阀弹簧失效故障诊断中的应用》 石油大学学报   2005
-------------------------
看了楼主提供的文章,该文实际上就是用普通的hilbert变换,文中说:“即得到x ( n) 的解析信号z ( n) 。求出z ( n) 的模,得到包络信号的幅值。”即通过hilbert变换得到x ( n) 的解析信号z ( n) ,又求z ( n) 的模,得到包络信号的幅值。这和楼主所述的方法一样。文中以后的处理都是在包络信号上进行的,以分辨正常和失效。
作者在处理中指的短时傅里叶变换,从文中看不出来,我认为就是普通的傅里叶变换。

-------------------------
 

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条