计算振动信号的包络谱

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

生成轴承振动数据

图中所示尺寸的轴承被驱动在 f 0 25 周期每秒。加速度计以10千赫对轴承振动进行采样。

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

[t xBPFO xBPFI, bpfi] = bearingdata;

用信号分析仪计算包络谱

开放信号分析仪并将bfo信号拖动到显示器。将时间信息添加到信号中,方法是在信号表中选择信号并单击时间值按钮分析仪选项卡。选择采样率和开始时间选项并输入10khz采样率。

显示选项卡上,单击光谱打开光谱视图。振动信号的频谱显示了由3 kHz冲击频率调制的bfo谐波。在频谱的低端,驱动频率和它的顺序掩盖了其他特征。

选择信号,在分析仪选项卡上,单击重复的来生成它的副本。给新信号起个名字envspec然后拖到显示器上。使用Hilbert变换计算信号的包络谱:

  1. 去掉信号的直流值。在分析仪选项卡上,单击预处理▼并选择去趋势.在去趋势出现的选项卡,选择常数的方法。点击去趋势

  2. 带通滤波去趋势信号。在分析仪选项卡上,单击预处理▼并选择带通.在带通,分别输入2250hz和3750hz作为上、下通频带频率。点击带通

  3. 计算过滤信号的包络线。在分析仪选项卡上,单击预处理▼并选择信封.在信封出现的选项卡,选择希尔伯特的方法。点击信封

  4. 使用方法去掉信封的直流值去趋势

信封频谱出现在显示器的频谱视图中。包络谱清晰地显示出bfo谐波。

创建集成分析脚本的步骤

如果包络谱的计算必须为许多不同的轴承重复,那么计算就会变得很繁琐。信号分析仪可以生成MATLAB®脚本和函数,以帮助您自动化计算。

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

  1. 进行预处理,这是一个通过反趋势、滤波和计算包络线来对信号进行预处理的函数

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

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

  • 如果您将脚本和函数保存在单个MATLAB®脚本中,请记住函数必须出现在末尾。

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

1.创建预处理函数

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

envspec =预处理(xBPFI t);

2.创建频谱脚本

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

计算功率谱%由MATLAB(R) 9.6和信号处理工具箱8.2生成。%生成日期:12- 11 -2018 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])

函数代码

信号预处理功能

该应用程序生成的信号预处理功能结合了去趋势、带通滤波和包络计算。

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

方位数据生成函数

轴承具有节径 p 12 Cm和轴承接触角 θ 0 .每一个 n 8 滚动元件有一个直径 d 2 厘米。当内圈被驱动时,外圈保持静止 f 0 25 周期每秒。加速度计以10千赫对轴承振动进行采样。

函数[t,xBPFO,xBPFI,bpfi] =方位数据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毫秒的冲击,随着时间的推移导致轴承磨损。冲击发生在轴承的球通频率外圈(bfo),

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

模型的冲击作为一个周期序列3千赫指数阻尼正弦波。将这些影响加到健康信号中,生成bfo振动信号。

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/ bfo: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;结束

另请参阅

应用程序

功能

相关的例子

更多关于