📄 qingxiehilbert.m
字号:
%**************************************************************************************************************************************************************
% 该程序所要达到的目的是对发动机振动加速度信号在小波降噪后进行经验模态提取
% 通过各层细节信号来识别判断发动机的故障特征
%
% 中国北方发动机研究所试验测试中心 苏志霄 2006年10月
%**************************************************************************************************************************************************************
m=13; % m取值为测点数目
n=6; % n为小波分解的尺度
mm=5; % mm为要求的经验模态数量
nn=4; % 小波降噪,采用低通滤波,nn为提取细节信号的数目
err=0.01; % 迭代时的前后两次均值的绝对最大值(迭代误差)
fsamp=5000; % fsame为采样频率
f=fsamp*(0:1023)/2048;
%**************************************************************************************************************************************************************
%读入时间加速度数据,各测点在每个测试时间内时间数据列是一致的,因此统一标识
t=acceleration_X;
len=max(size(t));
acc=zeros(m,len);
acc(1,:)=acceleration_Y';acc(2,:)=acceleration2_Y';acc(3,:)=acceleration3_Y';acc(4,:)=acceleration4_Y';acc(5,:)=acceleration5_Y';acc(6,:)=acceleration6_Y';
acc(7,:)=NONE_Y';acc(8,:)=NONE2_Y';acc(9,:)=NONE3_Y';acc(10,:)=NONE4_Y';acc(11,:)=NONE5_Y';acc(12,:)=NONE6_Y';acc(13,:)=NONE7_Y';
%开始小波降噪
for i=1:m;
acc(i,:)=xiaobojiangzao(acc(i,:),n,nn);
end;
%对各个测点提取经验模态
for i=1:m;
[h,r,tt]=hilbertmotai(t,acc(i,:),mm,err);
figure(i);
for j=1:mm;
subplot(5,2,2*j-1);
plot(tt,h(j,:));
A=fft(h(j,:),2048); %对每个本征模态进行FFT
pu=sqrt(A.*conj(A))/2048;
subplot(5,2,2*j);
end;
end;
%**************************************************************************************************************************************************************
%对每个本征模态进行FFT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -