qqvirile 发表于 2009-6-20 17:30

如何理解小波包络谱

在很多的资料上都提到了利用小波包络谱来提取特征信号,但是我不理解小波包络谱到底能表达什么信息?比如一个信号
y=5*sin(2*pi*50*t)+sin(2*pi*500*t);加入噪声后为signal=y+randn(1,512);
我首先对signal进行去噪,尔后提取小波包络,但是结果怎么也看不出包络谱是怎么提出特征的!
难道是去噪的方法选取的不对么?还是我的包络谱程序不正确?这个程序是在书上找的。
究竟怎么理解这个包络谱的概念?
从包络谱上究竟能得出什么结论?
我在本论坛上,曾经看见有人说过,说包络谱上有故障频率存在,则说明此信号是故障信号,这样说对么?有根据么?请大家指点迷津。
t=1:512;
t=t*1/2048;
y=5*sin(2*pi*50*t)+sin(2*pi*500*t);
signal=y+1*randn(1,512);
figure(1);
subplot(311)
plot(y);
subplot(312)
plot(signal);
wname='sym6';
lev=5;
=wavedec(signal,lev,wname);
sigma=wnoisest(c,l,1)   %由第一层的高频系数估计噪声标准差
%sigma=median(abs(sigma))/0.6745;%调整标准差
alpha=2;
thr=wbmpen(c,l,sigma,alpha);%采用调整参数选择全局阈值
keepapp=1;
xd=wdencmp('gbl',c,l,wname,lev,thr,'s',keepapp);
subplot(313)
plot(xd);
=wavedec(xd,4,'db1');
d4=wrcoef('d',c,l,'db1',4);
d3=wrcoef('d',c,l,'db1',3);
d2=wrcoef('d',c,l,'db1',2);
d1=wrcoef('d',c,l,'db1',1);
figure(2);
subplot(4,1,1);plot(d4,'LineWidth',2);ylabel('d4');
subplot(4,1,2);plot(d3,'LineWidth',2);ylabel('d3');
subplot(4,1,3);plot(d2,'LineWidth',2);ylabel('d2');
subplot(4,1,4);plot(d1,'LineWidth',2);ylabel('d1');
xlabel('时间 t/s');
y=hilbert(d1);
ydata=abs(y);
ydata=ydata-mean(ydata);
nfft=2048;
p=abs(fft(ydata,nfft));
figure(3);
plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));
xlabel('频率 f/Hz');
ylabel('功率谱 P/W');
title('小波包络谱')

qqvirile 发表于 2009-6-21 16:37

回复 楼主 qqvirile 的帖子

请教一下我分析的正确不正确。
调频的情况y=sin(2*pi*500*t+sin(2*pi*70*t));对相位求导除以2pi得到线频率的范围是【430,570】做包络谱。
可是得到的包络谱好像精度不够啊!怎么可以精确一点呢

qqvirile 发表于 2009-6-21 16:38

包络谱

fs=2048
t=1:512;
t=t*1/2048;
y=sin(2*pi*500*t+sin(2*pi*70*t));
y=hilbert(y);
ydata=abs(y);
ydata=ydata-mean(ydata);
nfft=2048;
p=abs(fft(ydata,nfft));
figure(3);
plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));
xlabel('频率 f/Hz');
ylabel('功率谱 P/W');

qqchun 发表于 2009-8-2 10:06

没明白包络谱。
页: [1]
查看完整版本: 如何理解小波包络谱