clear all
clc
load 10k_32768_5.dat
s=X10k_32768_5';
fs=10000; %采样频率
N=32768; %采样点数
[c,l]=wavedec(s,11,'haar'); %11层分解
ca1=appcoef(c,l,'haar',1); %V10
ca2=appcoef(c,l,'haar',2); %V9
ca3=appcoef(c,l,'haar',3); %V8
ca4=appcoef(c,l,'haar',4); %V7
ca5=appcoef(c,l,'haar',5); %V6
ca6=appcoef(c,l,'haar',6); %V5
ca7=appcoef(c,l,'haar',7); %V4
ca8=appcoef(c,l,'haar',8); %V3
ca9=appcoef(c,l,'haar',9); %V2
ca10=appcoef(c,l,'haar',10); %V1
ca11=appcoef(c,l,'haar',11); %V0
cd1=detcoef(c,l,1); %W10
cd2=detcoef(c,l,2); %W9
cd3=detcoef(c,l,3); %W8
cd4=detcoef(c,l,4); %W7
cd5=detcoef(c,l,5); %W6
cd6=detcoef(c,l,6); %W5
cd7=detcoef(c,l,7); %W4
cd8=detcoef(c,l,8); %W3
cd9=detcoef(c,l,9); %W2
cd10=detcoef(c,l,10); %W1
cd11=detcoef(c,l,11); %W0
%消噪,将高频成分中小于阈值的数置零,规则自行改变
k=100; %设置一个阈值,自行改变这个阈值,以达到最佳效果
d11=cd11;
d10=cd10;
d9=cd9;
d8=cd8;
d7=cd7;
d6=cd6;
d6(find(d6<max(d6)/k))=0;
d5=cd5;
d5(find(d5<max(d5)/k))=0;
d4=cd4;
d4(find(d4<max(d4)/k))=0;
d3=cd3;
d3(find(d3<max(d3)/k))=0;
d2=cd2;
d2(find(d2<max(d2)/k))=0;
d1=cd1;
d1(find(d1<max(d1)/k))=0;
d1=zeros(1,length(d1));
c=[ca11 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1];
s_rec=waverec(c,l,'haar');
f_rec=abs(fft(hilbert(s_rec)))*2/N; %希尔伯特变换
figure(1)
plot(s);xlim([0 N]);title('外圈故障原始信号')
axis([0,15000,0,0.5]);