求hht边际谱_hilbert包络谱应用实例

下面以一个实例说明hilbert边际谱的应用。其中的数据来自于美国凯斯西储大学的旋转机械故障数据的第105组,该组数据经过计算其故障频率为162.27hz,该实例中得出的是164.1hz,说明基本准确。

clc

clear

z=load('D:105.mat');

x=z.X105_DE_time(1:1024);

N=1024;

fs=12000;

n=0:N-1;

f=n*fs/N;

lag=N;

n=0:N-1;

t=n/fs;

imf=emd(x);

[m,n]=size(imf);%imf为一m*n阶矩阵,m是imf分量,n为数据点 

emd_visu(x,1:length(x),imf,m); %实信号的信号重构及emd结果显示函数 

[r,lags]=xcorr(x,lag,'unbiased'); %计算序列的自相关函数 

for i=1:m

[R,lags]=xcorr(imf(i,:),lag,'unbiased');%计算序列的自相关函数 

a=corrcoef(R(1:N/2),r(1:N/2));%相关系数矩阵【对称】,主对角元素为1 

xg(i)=abs(a(1,2));%相关系数 

end

[R,C]=max(xg);%R为最大值,C为最大元素在数组中的位置   

figure(1);

y=hilbert(imf(C,:));

a=abs(y);%包络 

b=fft(a);

mag1=abs(b);

mag=mag1*2/N;

f1=(0:N-1)*fs/N;

plot(f1(1:N/2),mag(1:N/2));%set(gca,'xlim',[0,.400]); 

title('包络');

xlabel('频率');

ylabel('幅值');

6916949b84e9c303e2cffe5d9eb52a0b.png

该程序首先通过HHT变换中的EMD分解算法,将原数据分解得出若干分量,再在这些分量中找出和原数据相关程度最大的那个分量,再计算这个分量的hilbert包络谱,即得出故障频率。

7aa5a248d335f6f9229135ab1724a038.png

当然也可以通过边际谱得出。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值