👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
本文尝试从故障滚动体轴承或齿轮振动信号中提取重复瞬变 (RT)。在我们的测试中,它可用于干扰抑制,特别是脉冲噪声,复合故障诊断和某些情况下的早期故障诊断。
📚2 运行结果
部分代码:
% CHECK INPUT VALUES
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N = length(x);
N2 = log2(N) - 7;
if nlevel > N2
error('Please enter a smaller number of decomposition levels');
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SET THE UPPER AND LOWER OF FREQUENCY HUNTING ZONE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fcf_lower=FCF-5;
fcf_upper=FCF+5;
lower=floor(fcf_lower*N/Fs);
upper=ceil(fcf_upper*N/Fs);
fprintf('The lower frequency of frequency hunting zone: %4.4f\nThe upper frequency of frequency hunting zone: %4.4f\n',fcf_lower,fcf_upper);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% FAST COMPUTATION OF THE MKURTGRAM
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
tic
% Analytic generating filters
N = 16; fc = .4;
h = fir1(N,fc).*exp(2*1i*pi*(0:N)*.125);
g = fir1(N,fc).*exp(2*1i*pi*(0:N)*.375);
N = fix(3/2*N);
h1 = fir1(N,2/3*fc).*exp(2*1i*pi*(0:N)*.25/3);
h2 = h1.*exp(2*1i*pi*(0:N)/6);
h3 = h1.*exp(2*1i*pi*(0:N)/3);
MKwav = MK_wpQ(x,h,g,h1,h2,h3,nlevel,upper,lower); % multipoint kurtosis of the complex envelope
MKwav = MKwav.*(MKwav>0); % keep positive values only!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% GRAPHICAL DISPLAY OF RESULTS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure
Level_w = 1:nlevel; Level_w = [Level_w;Level_w+log2(3)-1];
Level_w = Level_w(:); Level_w = [0 Level_w(1:2*nlevel-1)'];
freq_w = Fs*((0:3*2^nlevel-1)/(3*2^(nlevel+1)) + 1/(3*2^(2+nlevel)));
imagesc(freq_w,1:2*nlevel,MKwav),colorbar,[I,J,M] = max_IJ(MKwav);
xlabel('frequency [Hz]'),set(gca,'ytick',1:2*nlevel,'yticklabel',round(Level_w*10)/10),ylabel('level k')
fi = (J-1)/3/2^(nlevel+1); fi = fi + 2^(-2-Level_w(I));
title(['Mkurt_{max}=',num2str(round(100*M)/100),' @ level ',num2str(fix(10*Level_w(I))/10),', Bw= ',num2str(Fs*2^-(Level_w(I)+1)),'Hz, f_c=',num2str(Fs*fi),'Hz'])
toc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SIGNAL FILTERING
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
r = [];
test = input('Do you want to filter out repetitive transients signal from the Mkurtgram? (yes = 1 ; no = 0): ');
while test == 1
fi = input([' Enter the optimal carrier frequency (btw 0 and ',num2str(Fs/2),') where to filter the signal: ']);
fi = fi/Fs;
lev = input([' Enter the optimal level (btw 0 and ',num2str(nlevel),') where to filter the signal: ']);
r = Find_wav_kurt(x,h,g,h1,h2,h3,lev,fi,Fs);
test = input('Do you want to keep on filtering out repetitive transients? (yes = 1 ; no = 0): ');
end
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]廖彦, 孙平, 王斌, 曲立, 频域多点峰度重复瞬变提取轴承故障诊断, 测量科学与技术, 29 (2018)
[2]关可铭,杜兵,李金峰,靳松,张振涛.基于LMD和改进CNN的轴承故障诊断方法[J].制造业自动化,2023,45(01):216-220.