主要内容

计算振动信号的包络谱

使用信号分析仪计算轴承振动信号的包络谱并寻找缺陷。生成MATLAB脚本和函数来自动化分析。

生成轴承振动数据

图中所示尺寸的轴承是在 f 0 25 周期每秒。一个加速度计采样轴承振动在10千赫。

从两个有缺陷的轴承产生振动信号使用bearingdata函数在示例的末尾。在其中一个信号中,xBPFO,轴承在外圈有缺陷。在另一个信号中,xBPFI,轴承内圈有缺陷。有关轴承建模和诊断缺陷的更多详细信息,请参见旋转机械的振动分析而且envspectrum

[t xBPFO xBPFI, bpfi] = bearingdata;

用信号分析仪计算包络谱

开放信号分析仪并将BPFO信号拖到显示器上。在signal表中选择信号并单击,将时间信息添加到信号中时间值分析仪选项卡。选择采样率和开始时间并输入10千赫对于样本速率。

显示选项卡上,单击光谱打开频谱视图。振动信号的频谱显示经过3 kHz调制的BPFO谐波,对应于中规定的冲击频率bearingdata.在频谱的低端,驱动频率及其阶数掩盖了其他特征。

选择信号和,在分析仪选项卡上,单击重复的生成它的副本。给新信号命名envspec然后把它拖到显示器上。用希尔伯特变换计算信号的包络谱。选择envspec在“信号”表格中,单击进行预处理使用实例进入预处理模式。

  1. 移除信号的直流值。在功能画廊,选择去趋势.在函数参数面板中,选择常数作为趋势方法。点击应用

  2. 带通滤波去趋势信号。在功能画廊,选择带通.在函数参数面板中,输入2250赫兹而且3750赫兹分别为上通带和下通带频率。点击应用

  3. 计算滤波后信号的包络。在功能画廊,选择信封.在函数参数面板中,选择希尔伯特的方法。点击应用

  4. 删除信封的DC值。在功能画廊,选择去趋势.在函数参数面板中,选择常数作为趋势方法。点击应用

中的图标信息列,查看预处理信息。

点击接受所有保存预处理结果并退出。包络谱出现在显示器的频谱视图中。包络谱清楚地显示了BPFO的谐波。

创建集成分析脚本的步骤

如果要为许多不同的方位重复计算包络谱,那么计算包络谱可能会很乏味。信号分析仪可以生成MATLAB脚本和函数,帮助您自动化计算。

作为练习,对BPFI信号重复前面的分析。信号分析仪生成两个对自动化有用的组件:

  1. 进行预处理,该函数通过对信号去趋势、滤波和计算包络来对信号进行预处理

  2. 计算功率谱,一个计算包络谱的脚本

要创建集成分析脚本,请将预处理功能和绘图脚本放在一个文件中。(或者,您可以将函数保存在单独的文件中。)

  • 如果你将脚本和函数保存在一个单独的MATLAB®脚本中,请记住函数必须出现在最后。

  • 必须添加关键字结束在每个函数的末尾。

1.创建预处理函数

首先,创建复制预处理步骤的函数。选择envspec信号。在分析仪选项卡上,单击生成函数.的函数,称为进行预处理默认情况下,出现在编辑器中。将生成的函数保存在集成分析脚本的末尾。该函数需要第二个参数指定时间信息。使用函数对BPFI信号进行预处理。

envspec =预处理(xBPFI t);

2.创建频谱脚本

在应用程序中,通过清除其名称旁边的复选框,从显示中删除未处理的信号。在显示选项卡上,单击生成脚本并选择光谱的脚本.脚本出现在编辑器中。将生成的代码包含到集成分析脚本中。当您运行分析脚本时,生成的频谱脚本计算预处理BPFI信号的包络频谱。

计算功率谱%由MATLAB(R) 9.6和信号处理工具箱8.2生成。%生成于:2018年11月12日15:13:34%的参数timeLimits = [0 0.9999];%秒frequencyLimits = [0 5000];%赫兹% %%索引到感兴趣的信号时间区域envspec_ROI = envspec (:);sampleRate = 10000;%赫兹开始时间= 0;%秒minIdx =装天花板(max(时限(1)开始时间)* sampleRate, 0)) + 1;maxIdx =地板(min(时限(2)开始时间)* sampleRate,长度(envspec_ROI) 1)) + 1;envspec_ROI = envspec_ROI (minIdx: maxIdx);%计算谱估计不带输出参数运行下面的函数调用来绘制结果[Penvspec_ROI, Fenvspec_ROI] = pspectrum(envspec_ROI,sampleRate,...FrequencyLimits = FrequencyLimits);

3.情节包络谱

画出包络谱。将峰值位置与前十个BPFI谐波频率进行比较。也可以绘制包络谱pspectrum命令,不带输出参数。

情节(Fenvspec_ROI (Penvspec_ROI))(X, Y) = meshgrid ((1:10) * bpfi ylim);情节(X, Y,”:k”)举行xlim (10 * bpfi [0])

图中包含一个axes对象。axis对象包含11个line类型的对象。

函数代码

信号预处理功能

app生成的信号预处理功能集去趋势、带通滤波、包络计算于一体。

函数y =预处理(x, tx)预处理输入x这个函数需要一个输入向量x和一个时间值向量% txx . tx是以秒为单位的数字向量。%由MATLAB(R) 9.6和信号处理工具箱8.2生成。%生成于:2018年11月12日15:09:44y =去趋势(x,“不变”);Fs = 1 /意味着(diff (tx));平均抽样率%y =带通(y,[2250 3750],Fs,陡度=0.85,止带衰减=60);[y ~] =信封(y);y =去趋势(y,“不变”);结束

轴承数据生成功能

轴承有节径 p 12 Cm与轴承接触角 θ 0 .每一个 n 8 滚动的元件有一个直径 d 2 厘米。外部种族保持静止,而内部种族受到冲击 f 0 25 周期每秒。一个加速度计采样轴承振动在10千赫。

函数[t,xBPFO,xBPFI,bpfi] = bearingdata p = 0.12;d = 0.02;n = 8;th = 0;f0 = 25;fs = 10000;

对于健康轴承,振动信号是驱动频率的几个阶的叠加,嵌入高斯白噪声中。

t = 0:1 / fs: 1 - 1 / f;z = [1 0.5 0.2 0.1 0.05] * sin(2 *π* f0 *(1 2 3 4 5]。* t);xHealthy = z + randn(size(z))/10;

外层圈的缺陷导致一系列5毫秒的影响,随着时间的推移导致轴承磨损。冲击发生在轴承的过球频率外圈(BPFO)处,

BPFO 1 2 nf 0 1 - d p 因为 θ

将冲击建模为一个周期的3千赫指数阻尼正弦序列。将影响添加到健康信号中以生成BPFO振动信号。

bpfo = n * f0/2 * (1 - d / p * cos (th));tmp = 0:1 / fs: 5 e-3-1 / fs;xmp =罪(2 *π* 3000 * tmp)。* exp (-1000 * tmp);xBPFO = xHealthy + pulstran(t,0:1/bpfo:1,xmp,fs)/4;

如果缺陷是在内部种族,影响发生在一个频率

BPFI 1 2 nf 0 1 + d p 因为 θ

通过将影响添加到健康信号中,生成BPFI振动信号。

bpfi = n * f0/2 * (1 + d / p * cos (th));xBPFI = xHealthy + pulstran(t,0:1/bpfi:1,xmp,fs)/4;结束

另请参阅

应用程序

功能

相关的例子

更多关于

Baidu
map