|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
刚刚编的轴承外圈故障包络分析,转速为1730,轴承外圈的故障的特征频率为103Hz,进行了取出趋势项,小波去噪,想得到
带有故障频率特征的细节包络谱,得到的分析结果却不理想。请高手帮忙分析一下。圣诞快乐 !!数据在附件里
clc;
clear;
close all;
sampleFreq = 12000;%采样频率
sampleLength = 2048;%采样点数
t=0:1/sampleFreq:(sampleLength-1)/sampleFreq;
Data1 = load('D:\MATLAB7\work\outer1.txt');
%==========================================================================
%直接进行FFT变换
%==========================================================================
for n=1:sampleLength
if abs(Data1(n))>10;
Data(n)=0;
else Data(n)=Data1(n);
end
end
fft_result = abs(fft(Data)) * 2 / sampleLength;
%画图的坐标变换
time_plot_s = 0:1/sampleFreq:(sampleLength-1) / sampleFreq;
fft_plot_Hz = sampleFreq*(1:sampleLength/2)/sampleLength;
figure;
%==========================================================================
%预处理:去除趋势项
%==========================================================================
m=1;
data=Data';
a=polyfit(t,Data,m);
y=Data-polyval(a,t);
%==========================================================================
%预处理:小波降噪
%==========================================================================
[c,l]=wavedec(y,3,'sym3');
[thr,sorh,keepapp]=ddencmp('den','wv',y);
Data=wdencmp('gbl',y,'sym3',3,thr,sorh,keepapp);
%==========================================================================
%预处理:自相关
%==========================================================================
% Lag=12000;
% [c,lags]=xcorr(y,Lag,'unbiased');
% Data=c(1:Lag);
%==========================================================================
%共振解调法
%==========================================================================
%db10小波进行4层分解
%一维小波分解
[c,l] = wavedec(Data,4,'db4');
%重构第1-4层细节系数
d4 = wrcoef('d',c,l,'db4',4);
d3 = wrcoef('d',c,l,'db4',3);
d2 = wrcoef('d',c,l,'db4',2);
d1 = wrcoef('d',c,l,'db4',1);
envelop_hil = hilbert(Data);
envelop_abs = abs(envelop_hil);
%fft变换
envelop_fft = abs(fft(envelop_abs))*2 /sampleLength;
%==========================================================================
%d1的包络
%==========================================================================
figure(2)
envelop_hil = hilbert(d1);
envelop_abs = abs(envelop_hil);
%fft变换
envelop_fft = abs(fft(envelop_abs))*2 /sampleLength;
subplot(221)
plot(fft_plot_Hz,envelop_fft(2:1025));
title('d1包络波形');
ylabel('振幅/m/s^2');
xlabel('时间/s');
grid on;
%==========================================================================
%d2的包络
%==========================================================================
envelop_hil = hilbert(d2);
envelop_abs = abs(envelop_hil);
%fft变换
envelop_fft = abs(fft(envelop_abs))*2 /sampleLength;
subplot(222)
plot(fft_plot_Hz,envelop_fft(2:1025));
title('d2包络波形');
ylabel('振幅/m/s^2');
xlabel('时间/s');
grid on;
%==========================================================================
%d3的包络
%==========================================================================
envelop_hil = hilbert(d3);
envelop_abs = abs(envelop_hil);
%fft变换
envelop_fft = abs(fft(envelop_abs))*2 /sampleLength;
subplot(223)
plot(fft_plot_Hz,envelop_fft(2:1025));
title('d3包络波形');
ylabel('振幅/m/s^2');
xlabel('时间/s');
grid on;
%==========================================================================
%d4的包络
%==========================================================================
envelop_hil = hilbert(d4);
envelop_abs = abs(envelop_hil);
%fft变换
envelop_fft = abs(fft(envelop_abs))*2 /sampleLength;
subplot(224)
plot(fft_plot_Hz,envelop_fft(2:1025));
title('d4包络波形');
ylabel('振幅/m/s^2');
xlabel('时间/s');
grid on;
|
|