|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
在很多的资料上都提到了利用小波包络谱来提取特征信号,但是我不理解小波包络谱到底能表达什么信息?比如一个信号
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;
[c,l]=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);
[c,l]=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('小波包络谱') |
-
|