信号处理--matlab绘制包络谱图

包络谱图是一种描述信号振动特征的频谱图,它可以显示出信号振动的主要频率成分和振幅变化情况。在机械系统故障诊断和健康监测等领域中,绘制包络谱图是一种常用的分析方法,其主要作用有以下几个方面:

  1. 检测故障特征频率:包络谱图可以清晰地显示出信号中的故障特征频率,从而帮助工程师确定机械系统故障的类型和位置。举例来说,对于轴承故障诊断来说,包络谱图可以显示轴承外圈或内圈的特征频率,进而判断轴承是否存在故障。

  2. 分析故障的严重程度:包络谱图可以反映出信号振动的幅值变化情况,从而判断故障的严重程度。例如,在轴承外环损伤的情况下,包络谱图可以显示出振动信号幅值的明显增加,从而说明故障比较严重。

  3. 确定监测频率范围:包络谱图可以帮助工程师确定合适的监测频率范围,避免信号中不必要的高频噪声或低频干扰。在实际应用中,为了提高监测效果,有时需要对信号进行滤波处理,包络谱图可以帮助确定滤波器的参数和频率范围。

  4. 比较不同状态下的信号:包络谱图可以方便地比较不同状态下的信号,例如正常运行状态和故障状态下的信号。通过对比两个信号的包络谱图,可以更加直观地判断机械系统的健康状况。

绘制包络谱图

1.使用matlab内置函数

[pEn,fEn,xEn,tEn]=envspectrum(vib,fs);
figure;
plot(tEn,xEn);
xlim([0,0.06]);
figure(3);
plot(fEn,pEn);
xlim([0,500]);

2.根据原理封装

function [envS,f,xEnv] = envSpec(y,fs,N)
% 求信号包络谱,带通滤波前后不同包络谱对比
% 输入:
% y: 待分析信号
% fs:   采样频率
% 输出:
% envS: 包络谱数值,纵坐标
% f:    包络谱频率轴,横坐标
% xEnv: 包络线


% 计算包络谱
xAn = hilbert(y);  %不进行带通滤波对原信号希尔伯特变换

xEnv = abs(xAn);           %求模,即包络值
xEnv1=xEnv-mean(xEnv);%去除直流分量

f=fs*(0:N/2-1)/N;%横坐标
a1=abs(fft(xEnv1,N));
envS=a1(1:N/2)*2/N; %纵坐标

end

信号处理--matlab绘制包络谱图_第1张图片

你可能感兴趣的:(故障诊断,信号处理)