滚动轴承是旋转机械中应用最广泛的机械零件,也是最易损坏的元件之一,旋转机械的许多故障都与滚动轴承有关。滚动轴承的常见故障有: 破碎、裂纹、压痕、磨损、点蚀、摩擦伤痕、锈蚀、保持架损坏等。据统计,在旋转机械的故障中,有3 0% 是由滚动轴承引起的,因此,对滚动轴承进行适时监测与故障诊断,就显得非常重要。滚动轴承在工作时,一般是外圈与轴承座或机壳相联接,固定或相对固定,内圈与机械的传动轴相连接,随轴一起转动。在机械运转时,由于轴承本身的结构特点,加工装配误差及运行过程中出现的故障等内部因素,以及传动轴上其它零件的运动和力的作用等外部因素,当轴以一定的速度并在一定载荷下运转时对轴承和轴承座或外壳组成的振动系统产生激励,使该系统振动,人们可以通过传感器检测振动信号并记录下来。在轴承外圈上安装振动传感器,并将传感器输出信号进行放大和模数转换处理,就能获得离散的轴承振动信号。
利用已经学过的信号分析方法对给出的轴承振动信号数据进行分析。
常用的信号分析方法有:时域分析、幅值分析和频域分析。
结合一个轴承振动信号数据,首先通过信号的时域和幅值分析来判断轴承的好坏,然后再进一步通过信号的频谱分析来判断轴承出现的故障原因。
一、轴承信号的预处理
假设给出的轴承振动信号是在轴承平稳运转条件下记录下来的,因此,可以将此信号看成是具有各态历经特性的平稳随机信号,这样,我们可以利用一次测量获得的信号数据通过时间平均来代替统计平均对信号进行分析和计算。
在信号分析之前,我们需要对信号数据进行预处理。
![9afe5308cd9a3d254a138a8e54401070.png](https://i-blog.csdnimg.cn/blog_migrate/41274e2b63470a018cfcdb1f4d13f094.png)
![0709316cddc8409777c78629f36d5c4e.png](https://i-blog.csdnimg.cn/blog_migrate/18584d18764c5d97f5cc1afd4a27a71a.png)
![1d6bc0cc7e67da5b938f93b3e5b4dabf.png](https://i-blog.csdnimg.cn/blog_migrate/fc49a0e17a5f7a4c5e5bf2b6d5bd8a84.png)
这里给大家留一个问题:为什么要对数据进行去均值处理?
预处理源程序
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 2048
#define pi 3.1415926
void main(void)
{
FILE *fp;
float x[N],y[N],Xmax, c,t,Xp,a;
float jf=0.0, m=0.0, Xq=0.0;
int i,j,n;
if((fp=fopen("c:6310.dat","r"))==NULL) /*打开C盘根目录下的数据文件*/
{
printf("can't open the file.n");
exit(1);
}
if(!feof(fp))
{
for(n=0;n<=N-1;n++) /*读取 个数据*/
fscanf(fp,"%f",&x[n]);
}
fclose(fp); /*关闭数据文件*/
}
for(n=0;n<N;n++)
{
m=m+x[n]; /*求均值*/
}
m/=N;
for(n=0;n<N;n++)
x[n]-=m; /*去均值处理*/
Xmax=fabs(x[0]);
for(i=1;i<N;i++)
if(fabs(x[i])>Xmax)
{
Xmax=fabs(x[i]); /*数据绝对值的最大值*/
}
for(n=0;n<N;n++)