Cappuccinochou 发表于 2015-12-25 09:46

小波分解后,故障特征没有出现在相应的低频段

本帖最后由 Cappuccinochou 于 2015-12-25 09:47 编辑


%1.西储大学滚动轴承数据的“外圈故障小波包络分析”
%2.用wavedec进行一维小波分解,再由wrcoef重构细节信号,再由细节信号的包络谱得到故障频谱
% 外环故障特征频率3.5848*1797/60=107.36476HZ
clear all
close all
load OR007@12_0_drive;   %ball fault(drive)
data=X156_DE_time;
N=4096;                %采样点数
fs=12000;            %采样频率
t=1:N;
t=t/fs;
xdata=data(1:4096);
xdata_outer=(xdata-mean(xdata)/std(xdata,1));
s = xdata_outer;

% % 时域波形
figure(1)
subplot(211)
plot(t,s)
title('采集数据波形')
xlabel('时间 t/s');

%%一维小波分解
= wavedec(s,4,'db1');    %db1小波进行4层分解
subplot(212);
plot(t,c);
title('小波分解结构')
xlabel('低频系数和第4、3、2、1层的高频系数');

% 提取小波系数
ca4=appcoef(c,l,'db1',4);    %提取第4层低频系数
= detcoef(c,l,);%提取第3、2、1的高频系数
figure(2)      %显示小波分解后的信号
subplot(511); plot(ca4); ylabel('ca4');title('第4层的低频系数');
subplot(512); plot(cd4); ylabel('cd4');title('第4层的高频系数');
subplot(513); plot(cd3); ylabel('cd3');title('第3层的高频系数');
subplot(514); plot(cd2); ylabel('cd2');title('第2层的高频系数');
subplot(515); plot(cd1); ylabel('cd1');title('第1层的高频系数');

%系数重构
a4=wrcoef('a',c,l,'db1',4)
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(3)   %显示细节信号
subplot(5,1,1);plot(t,a4,'LineWidth',2);ylabel('a4');
subplot(5,1,2);plot(t,d4,'LineWidth',2);ylabel('d4');
subplot(5,1,3);plot(t,d3,'LineWidth',2);ylabel('d3');
subplot(5,1,4);plot(t,d2,'LineWidth',2);ylabel('d2');
subplot(5,1,5);plot(t,d1,'LineWidth',2);ylabel('d1');
xlabel('时间 t/s');

%信号的包络谱
nfft = 2^nextpow2(N);

%第4层低频信号a4包络
y4=hilbert(a4);
ydata4=abs(y4);
y4=y4-mean(y4);
y=fft(ydata4,nfft)/nfft;
f=fs/2*linspace(0,1,nfft/2+1);
figure(4)
subplot(511)
plot(f,2*abs(y(1:nfft/2+1)));axis();
title('第4层低频系数a4的包络谱')

%第4层高频信号d4包络
y3=hilbert(d4);
ydata3=abs(y3);
y3=y3-mean(y3);
y=fft(ydata3,nfft)/N;
f=fs/2*linspace(0,1,nfft/2+1);
subplot(512)
plot(f,2*abs(y(1:nfft/2+1)));axis();
title('第4层高频系数d4的包络谱')

%第3层细节信号的包络谱
y2=hilbert(d3);ydata2=abs(y2);y2=y2-mean(y2);y=fft(ydata2,nfft)/N; f=fs/2*linspace(0,1,nfft/2+1);
subplot(513)
plot(f,2*abs(y(1:nfft/2+1)));axis();
title('第3层高频系数d3的包络谱')

%第2层细节信号的包络谱
y1=hilbert(d2);ydata1=abs(y1);y1=y1-mean(y1);y=fft(ydata1,nfft)/N; f=fs/2*linspace(0,1,nfft/2+1);
subplot(514)
plot(f,2*abs(y(1:nfft/2+1)));axis();
title('第2层高频系数d2的包络谱')

%第1层细节信号的包络谱
y=hilbert(d1);ydata=abs(y);y=y-mean(y);y=fft(ydata,nfft)/N;f=fs/2*linspace(0,1,nfft/2+1);
subplot(515)
plot(f,2*abs(y(1:nfft/2+1)));axis();
title('第1层高频系数d1的包络谱')
xlabel('频率')


说明:上述代码是利用西储大学的轴承振动检测数据,利用小波分解然后对低频信号、高频信号包络来检测外环故障。
问题:采样频率为12000,进行4层小波分解,那么重构后各低频、高频系数对应的频段应该为 a4 0-375   d4 375-750d3 750-1500d2 1500-3000 d1 3000-6000,仿真图显示d1的包络谱中出现了很明显的特征频率,a4的包络谱却看不到,结果如图:
[

初学小波,还请各位了解的帮忙解答,多谢各位。
所用数据:

页: [1]
查看完整版本: 小波分解后,故障特征没有出现在相应的低频段