kaiyun官方注册
您所在的位置: 首页> 其他> 业界动态> 多通道故障信号的采集处理及实现

多通道故障信号的采集处理及实现

2009-07-15
作者:张苗苗1 方 敏2

摘 要:鉴于故障特征信号的多样性,对机械设备需测取不同的信号进行分析,以提高诊断的合理性。为此我们用面向对象的方法实现了多通道信号的数据采集,并编制了多种处理算法,提高了信号的信噪比。
关键词:采集 面向对象 预处理 故障诊断


  机械设备故障诊断涉及的面很广,单从选用的特征信号来看就有很多种。每种信号有各自的特点,有不同的应用场合;而每一种故障又可能表现出若干特征,故障信息可能包含在几种特征信号之中。因此,对于一个复杂的机械系统往往需要测取不同的信号然后进行综合分析,以提高诊断的可靠性。在实际中,往往通过多路传感器综合测试,并通过多路A/D转换送入计算机从而把所需的包含故障主要信息的特征信号尽可能提取出来,如图1。这样的综合测试可全面地测量出故障信号,测试时间少,信号真实准确。为此,我们在windows环境下,采用面向对象编程实现了故障信号的多通道数据采集[1][2][3][5]。考虑到测试信号含有的噪声信号,提供并实现了几种处理算法,其中主要介绍了倒谱分析在诊断中的应用。


1 数据采集
1.1 原理

  数据采集是把代表故障特征的模拟信号进行数字离散化。机械设备故障特征信号经过电荷放大器和抗混迭滤波器滤去与故障特征信号无关的高频与低频信号,再经过A/D转换到达计算机。A/D转换芯片采用ANALOG DIVICES公司产品AD1764,该芯片为12位逐次比较型高速A/D转换芯片,内部含有采样保持器。转换速度的时间为8.5μs,加上采保时间1.5μs则完成一次采样转换的时间为10μs,因此本板最高采样频率为100kHz。A/D板通道控制采用软件选择方式,通过通道预置寄存器任意选择转换通道。在实际中使用了A/D转换板上的5个通道CH1~CH5,且每个通道的增益可设。A/D转换的触发信号是由板上定时器8253的0通道发出的,通过编程利用8253定时计数器发出等间隔定时脉冲来连续触发A/D转换,同时查询状态位同步读取数据,可获得准确的采样频率。
1.2 软件实现
  为提高采样速度,A/D转换程序采用汇编语言编写,由Borland C++5.0编制的主程序调用。可完成单通道、多通道以及大容量的数据采集,并且可设置采样数据长度、采样频率和每一个通道的程控放大倍数。参数设置全部集成在一个对话框类中,有良好的人机对话界面,如图2所示。


  其中设置通道控件弹出一个对话框用来设置通道,最多为5个通道;设置频率控件弹出对话框可在30Hz~100kHz之间设置采样频率;设置增益控件弹出对话框可分别设置通道增益为1、2、4、6、8、16倍;采样长度控件弹出的对话框允许用户在(1、2、4、6、8、16、24)×1024点中选择。这5个对话框类都是从基类(TDialog)派生出来的子类,并形成各具自己功能的类。这些类采用了继承、友员、封装、多态的特性,共同完成A/D参数设置。其中图2所对应的对话框类是最主要的,由它创建和关闭其它四个对话框类的实例。它有一个Param结构,用户设置的A/D参数多存贮在此结构中。为保存这些参数,定义了如下的数据结构:
  typedef sturct{
  int Number; //总共采集通道数
  double Frequency; //采样频率
  unsigned int Length; //采样数据长度
  int Channel[5]; //采样通道号
  int Gain[5]; //采样通道增益
  }Param;
  参数设置好后即可启动A/D转换,为便于以后的离线信号分析把采样进来的数据保存成文件,该文件格式为:
  采样数据长度
  采样频率
  通道数
  通道号次序
  每通道的增益
  数据部分
  ……
  数据部分是用四位十六进制数表示,由于A/D为12位,数据的最后一位无意义,每个数占一行。多通道采样,则数据交替放置。例如对于以下数据:
  4000
  1024
  5
  1 2 0 3 4
  2 1 2 2 2
  acb0
  75a0
  ……
  表示采样频率为4000Hz,每通道采样长度为1024点,同时对5个通道进行采样,采样通道号为1、2、0、3、4,所对应的放大倍数分别为2、1、2、2、2,随后是采样进来的数据。
2 预处理
  由于各种客观因素的影响,信号中常常混有噪声。有时噪声可把信号“淹没”,信号通过A/D 后的离散信号,又带来了A/D转换器的量化噪声。因此,在对该信号进行谱分析之前,有必要对它进行预处理,提高信噪比。
  在预处理前,首先进行通道设置决定对哪个通道的信号进行处理。如信号比较弱,可对信号放大即设置增益从而便于分析,如图3。


2.1平滑滤波
  平滑滤波是为了滤掉高频噪声,其计算公式由下式给出。
  设x(n)的长度为N,即n=2,3...N-3;
  则x(n)=[-3x(n-2)+12x(n-1)+17x(n)+12x(n+1)-3x(n+2)]
  对于n=0,1和n=N-2,N-1四个点的平滑,公式如下:x(0)=[69x(0)+41x(1)-6x(2)+4x(3)-x(4)]
  x(1)=[2x(0)+27x(1)+12x(2)-8x(3)+2x(4)]
  x(N-2)=[2x(N-5)-8x(N-4)+12x(N-3)+27x(N-2)+2x(n-1)]
  x(N-1)=[-x(N-5)+4x(N-4)-6x(N-3)+4x(N-2)+69x(N-1)]
2.2去脉冲干扰
  脉冲干扰的计算如下:
  设有信号y(n),n=1,2···N,其中N是4的倍数。
  对y(i),y(i+1),y(i+2),y(i+3)四个数值分别从大到小进行排序,得到:
  y′(i),y′(i+1),y′(i+2),y′(i+3),其中i=0,4,8···N/4;
  则去脉冲干扰后的信号为:
  Y(i)=Y(i+1)=Y(i+2)=Y(i+3)=[y′(i+1)+y′(i+2)]/2
2.3时域平均
  时域平均是从混有噪声干扰的信号中提取指定的周期信号,消除信号中与给定周期无关的信号。对机械图象以一定的周期为间隔截取信号,然后将所截得的信号段叠加平均,这样可消除信号中的非周期分量和随机干扰,保留确定的周期分量。
  设一信号x(t)由周期信号f(t)和白噪声n(t)组成
  x(t)=f(t)+n(t)
  以f(t)的周期截取信号x(t)的数据段,共截N段,再把各段中的对应数据相加,由于信号与白噪音的不相关性,可得:
  x(ti)=Nf(ti)+n(ti)
  再对x(ti)平均,得输出信号y(ti)
  y(ti)=f(ti)+n(ti)/
  输出信号的白噪声是输入信号x(t)中的白噪声的1/倍,即信噪比提高了倍。
  用1026Hz的频率采样信号y(kt):
  y(kt)=5×sin(2×π×9×kt)+6×sin(2×π×38×kt)
  并对此信号进行时域平均,如图4(a),可提取出频率为38Hz的高频信号。图4(b)的上半部分图形显示原始信号,下半部分显示被提取出的信号。
  若想继续提取频率为9Hz的信号,可激活图4(b)所显示窗口的“继续时域平均”菜单项,输入被提取周期的点数为114,继续时域平均得到图形如图4(c),其中上半部分表示提取出频率为38Hz后的时域信号,下半部分表示被提取出的频率为9Hz的信号。


3 谱分析
  频谱分析在许多方面比时域分析更直观和有效,因而它一直被作为设备诊断不可缺少的手段。系统在谱分析时,应首先进行谱分析设置,该项主要设置两项参数-通道号和数据的增益。而倒频谱分析具有特殊的优越性,它把振动源和路径分开,降低了从信号源到测量点的某些随机传递路径的影响。对于齿轮箱系统的诊断,由于故障齿轮运行时存在着幅值调制和频率调制现象,因而齿轮箱振动信号在啮合频率及其高次谐波两边出现以轴的转动频率为调制频率的调制边带。当故障变严重时,调制边带数目增多,幅值增大,从功率谱上难以判断其状态,而利用倒谱可以提取边带的变化信息,以诊断系统的故障状态。鉴于篇幅关系,在此只介绍倒谱的分析过程。在实现上对采集信号不仅可进行倒谱分析并能对其进行编删,去掉其不必要的峰值再通过倒谱的反过程运算,得到将原始信号分离后的功率谱。图5(a)是故障信号的倒谱分析时域波形显示,可看出它主要由40Hz和500Hz的信号组成,且采样频率设为2000Hz。


  从图5(a)功率谱图部分可看出在40Hz和500Hz两边分别有边频带产生,其中低频部分的相对幅值较小,在谱图上显示不明显,为此可通过倒谱的编删削弱高频成分的能量,使低频部分突出。功率谱上的坐标与倒谱上的“倒频”之间呈倒数关系,功率谱上的高频成分反映在倒频上就是低倒频成分,为削减高频能量,首先求其倒频q=1/500=0.002;而从倒谱图上可看出在倒频为0.002时,其对应的倒谱值最大,可通过对话框对其进行编删,如图5(b),编删后的结果如图5(c)。
  由图5(c)的功率谱部分,看出虽然高频成分的分布情况依然如故,但其幅度已大大降低(可比较图5(a)和图5(c)功率谱的幅值坐标),且低频部分的频率成分已比较清晰地显示出来。


  机械设备的结构一般比较复杂,振源较多。为合理得到诊断结果,需提取多个特征信号进行信号分析。为此我们在Windows环境下,采用面向对象的编程技术实现了多通道信号的数据采集及预处理,增加了系统的柔性、可扩充性。用户可根据实际要求设置采样通道、采样长度、通道增益、采样频率等A/D转换参数,并进行信号处理。以此为基础的DSP系统在实际运行中取得了良好的应用效果。
参考文献
1 汤 和.机械设备的计算机辅助诊断.天津:天津大学出版社,1992
2 徐德纯.面向对象技术与C++程序设计教程.兰州:兰州大学出版社,1995.12
3 周志国.Borland C++Object Windows程序设计.北京:北京航空航天大学出版社,1995.1
4 寇惠.故障诊断中的振动信号处理.北京:冶金工业出版社,1989
5 张苗苗.基于模糊神经网络的智能诊断系统的研制. 计算机工程,1999;25(3):53~54

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map