APP下载

基于卡尔曼滤波的振动信号采集与处理系统设计

2018-04-18邓娜娜黄宇青

计算机应用与软件 2018年3期
关键词:估计值傅里叶卡尔曼滤波

邓娜娜 董 斌 黄宇青 黎 志

1(上海云统信息科技有限公司 上海 201210) 2(上海市计算技术研究所 上海 200040)

0 引 言

机械设备是工业生产中的关键设备,广泛应用于矿山、电力、冶金等部门,对企业的安全生产及其重要。但是机械设备经常会出现各种各样的故障,甚至造成人员的伤亡,并且在运行过程中需要工作人员的持续巡检和值守,大大增加了人力成本,严重降低了企业生产的效率。为响应国家提出的创新战略和《中国制造2025》,需要利用物联网、大数据等新一代信息技术支持工业企业开展智能化生产,对机械设备进行升级改造。

对机械设备进行振动监测能够有效减少上述情况的发生,保证机器设备的安全高效运行。振动是机械设备故障的主要表现,而且不同种类的机械故障会在振动信号上有不同频率和幅值的表现,通过对振动信号进行监测,并对采集到的振动信息作进一步的分析和处理,就能够随时掌握设备的运行状态是否正常、发展趋势如何等。通过对振动信息进行分析获取设备的这些信息,就能够在机械设备发生故障之前得到设备的预警信息,及时发现问题,并提前加以维护修理,从而有效避免重大事故的发生。

目前市面上常用的振动传感器大部分都是检测振动的加速度信号,由于信号受周围环境多重因素的影响,需要对采集到的加速度信号做滤波和傅里叶变换等处理,并利用积分运算将加速度值转换成振动的位移值,才能更好地分析机械设备的振动情况。故本文从数据的采集和处理等方面进行深入分析研究,利用直接内存读取DMA(Direct Memory Access)和消息队列遥测传输MQTT(Message Queuing Telemetry Transport)等技术,确保采集数据的快速准确和传输的实时性。同时在数据处理方面,利用卡尔曼滤波技术,并进行时域和频域的相互转化,再利用优化的积分运算以降低信号的误差率。通过本套系统的实施,利用数据记录和信号分析设备的运行状态,可以确定设备合理的检修时机和检修方案,避免不必要的停机,节约维修费用,同时减少了人员的值守,实现了“少人值守,无人值班”的工作模式,大大提高了生产效率。

1 系统设计

本系统由嵌入式系统与PC端自动采集工具组成,嵌入式系统主要由MCU,以太网模块,MEMS传感器、电源等组成。MCU采用K60FX512芯片,此芯片集成了128 KB SRAM和512 KB Flash,及其以太网MAC等模块,芯片基于ARM Cortex M4内核,集成浮点、DSP、并行计算,具有较强的信号数据处理能力,ADC模块可实现16位精度模拟采样,具有较高的采样精度。MEMS传感器采用Analog Devices公司的AXL354,其支持±2 g和±4 g,属于低噪声密度、低功耗、3轴MEMS加速度计适合低频振动监测。

系统总体结构如图1所示,K60FX512通过简化媒体独立接口RMII(Reduced Media Independent Interface)与物理层以太网芯片相连,通过高精度ADC采集ADXL354 MEMS加速度传感器数据,经处理后通过MQTT协议[10]封装提交至PC端数据处理。

图1 系统结构图

MCU经过AD采样和MQTT网络[11-12]传输到PC端进行数据的存储和分析。通过上位机软件设置振动测试台的振幅、加速度等相关参数,并利用设定的采样频率,实现数据的自动化采集及其格式化的数据接收和存储,数据采集软件如图2所示。

图2 自动化数据采集软件

2 数据分析

2.1 噪声信号

采集信号不可避免地受到周围环境及其他局部振动的干扰影响,这些噪声信号影响后续的分析处理。通过滤波处理进行噪声信号的消除和降低是信号处理中非常重要的一个环节,卡尔曼滤波[9]是一种面向解决系统状态估计和追踪问题的最优估计理论,广泛应用于信号处理、导航系统和自适应控制系统等领域。

2.2 卡尔曼滤波

卡尔曼滤波属于一种软件滤波,以递归的方式进行滤波的更新计算,每一时刻的估计值都由上一时刻的估计值和测量值计算得到。它的基本思想是:以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型,利用前一时刻的最优估计值和当前时刻的测量值来更新对状态变量的估计,包括预测值的均方误差和卡尔曼增益等,并求出当前时刻的最优估计值,根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计[4]。卡尔曼滤波算法递推计算过程的方程式如下:

(1) 预测状态量:

(1)

(2) 预测均方误差:

(2)

(3) 计算卡尔曼增益:

(3)

(4) 状态估计:

(4)

(5) 估计均方误差:

(5)

对于本系统中振动传感器采集的加速度值,可以认为是一维数据,A和B都为1,式(1)-式(5)可简化为:

(6)

(7)

(8)

(9)

(10)

分析卡尔曼滤波的5个公式,主要是搭建模型, 根据静止状态下的采集值和不同频率振幅下的采集值进行计算和误差分析,得到每个测量值的噪声方差Q和估计值的噪声误差R,然后再进行如下的迭代计算过程:

state_p [i] = state_k[i-1]

//用上一时刻的最优估计值来作为当前时刻的预测

variance_p[i] = variance_k[i-1]+Q

//预测的方差为上一时刻最优估计值的方差与

//高斯噪声方差之和

gain[i] = variance_p[i]/(variance_p[i]+R)

//重新计算卡尔曼增益

state_k[i] = state_p[i]+gain[i]*(z[i]-state_p[i])

//结合当前时刻的测量值,根据预测值(上一时刻的最优估

//值),得到当前时刻的最优估计值

variance_k[i] = (1-gain[i])*variance_p[i]

//计算最优估计值的方差用于下一次迭代

根据结果分析,卡尔曼滤波效果如图3所示。

图3 对原始数据进行卡尔曼滤波的对比曲线

2.3 快速傅里叶变换

利用以上经过卡尔曼滤波后的数据进行快速傅里叶变换,将时域信号转换为频域信号,根据设备故障振动的特性,在频域信号中去除特定频率的噪声信号,保留有效振动信号。

傅里叶变换是信号处理分析的重要手段,将采样得到的振动传感器的加速度信号通过离散傅里叶变换DFT[6](Discrete Fourier Transform)分析处理得到的离散序列,假设序列x(n)的采样点为N,则x(n)的离散傅里叶变换为:

(11)

根据离散傅里叶变换的对称性,衍生出来了快速傅里叶变换FFT(Fast Fourier Transform),FFT[1-2]是离散傅里叶变换的快速计算方法,运算速度快并且计算次数少,使算法复杂度由原来的O(n2)降低为O(nlog(n))[7],在FFT运算过程中,通过对信号建立数据窗,忽略了前后的信号波形,然而截断后的序列的频域与原数据序列的频域会有一定的差别,原来的离散频谱会向附近扩展,产生频谱泄露等,本系统通过设置采集数据的序列号提高采样信号数据的连续性,并采用大数据量存储分析,同时增加不同频域的采样点和不同振幅的采样点,系统中采样频率设置为5 kHz和10 kHz的快速采样速率,连续采样数据大于20 000个点,对不同频率(80 Hz、40 Hz、20 Hz、10 Hz)下的多个不同位移(5~1 000 μm)的振动数据进行采样,减少离散频谱线之间的间隔,在IFFT(反傅里叶变换)中去掉直流分量,将IFFT得到的加速度曲线进行二次积分运算计算位移的过程中,利用曲线拟合等多种措施进行分析以便尽可能多的减少误差[5,8],利用FFT变换后的数据如图4所示。

图4 对滤波后的数据进行FFT变换

对FFT转换后的频域数据利用低通滤波和带通滤波器相结合的方法去除噪声信号的频率分量,再进行相关积分运算[5]等计算处理获得实际的位移值。

3 实验结果

本系统硬件采集是在集成开发环境IAR下进行仿真调试,利用飞思卡尔的K60并配合嵌入式操作系统FreeRTOS进行数据采集和传输,通过DMA双通道进行AD采集并配合MQTT网络协议实现数据的实时采集和高速稳定的传输。数据分析是在Windows 7下的python 2.7环境下进行采集信号的上位机存储和处理,通过对采样频率为10 kHz和5 kHz,振动频率分布在80 Hz、40 Hz、20 Hz和10 Hz的不同振幅数据进行分析测试,部分实验结果如图5和图6所示。根据实验结果得出,20 Hz及其以上频率采集的数据误差率基本控制在5%左右,10 Hz的采集数据,振幅在100 μm及其以上的误差率较小,基本控制在10%以内,振幅小于100 μm的误差较大,根据不同的振幅误差差别比较大,还需进一步分析。

图5 对10 Hz、100 μm的原始加速度进行滤波后的曲线对比

图6 对40 Hz、400 μm的原始加速度进行滤波后的曲线对比

通过在机械设备中加装本系统,设备运行现场工作人员减少了20%以上,大大降低了现场人员的巡检力度。同时通过振动传感器信号的分析处理对设备故障进行预警,对于由振动信息反映设备状态的故障率下降了70%,大大降低了设备的损坏率。

4 结 语

振动传感器的性能要求随着工业的进步在逐步提高,特别是在低频振动测量领域,需要尽量减少噪声,还原实际的振动信号。在振动信号去噪和滤波的过程中,由于实际应用中振动传感器信号可能是非线性且非平稳的,傅里叶变换去噪方法有可能会漏掉较短时间内信号的变化,特别是少数突出点,后续考虑采用小波分析[6],在傅里叶变换的基础上加入了平移和伸缩因子,使其可以从尺度、时间两方面进行分析。另外目前的工作主要是针对一维数据进行实验测试,后续根据实际需要考虑利用多维振动信号之间的相关性进行相关测试。

[1] 张浩,王建林,赵利强,等.基于加窗插值FFT的加速度传感器信号处理方法[J].仪表技术与传感器,2016(2):12-14.

[2] 付荣,傅荣华,付安生,等.基于快速傅里叶变换的地震波加速度构成及其幅频特性研究[J].地震学报,2014,3(5):417-424.

[3] Eichstadt S,Link A,Bruns T,et al.On-line dynamic error compensation of accelerometers by uncertainty-optimal filtering[J].Measurement,2010,43(5):708-713.

[4] 刘新厂,柴晓冬,郑树彬,等.惯性测量单元中加速度信号的去噪处理[J].仪表技术与传感器,2013(10):97-99.

[5] 王剑,王璋奇.振动加速度数值积分的Lagrange多项式拟合方法[J].噪声与振动控制,2015,12(6):191-210.

[6] Boggess A,Narcowich F J.小波与傅里叶分析基础[M].芮国胜,康健,译.2版.北京:电子工业出版社,2010.

[7] 薛蕙,杨仁刚.基于FFT的高精度谐波检测算法[J].中国电机工程学报,2002,22(12):106-110.

[8] 陈毅强.低频压电加速度传感器的噪声特性及信号处理方法研究[D].北京:燕山大学电气工程学院,2016.

[9] 祝石厚.基于卡尔曼滤波算法的动态谐波状态估计技术研究[D].重庆大学,2008.

[10] 姚丹,谢雪松,杨建军.基于MQTT协议的物联网通信系统的研究与实现[J].信息通信,2016(3):33-35.

[11] 姜妮,张宇,赵志军.基于MQTT物联网消息推送系统[J].网络新媒体技术,2014(6):62-64.

[12] 盖荣丽,钱玉磊,李鸿彬,等.基于MQTT的企业消息推送系统[J].计算机系统应用,2015(11):69-75.

猜你喜欢

估计值傅里叶卡尔曼滤波
一种傅里叶域海量数据高速谱聚类方法
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
地震动非参数化谱反演可靠性分析
构造Daubechies小波的一些注记
脉冲星方位误差估计的两步卡尔曼滤波算法
法国数学家、物理学家傅里叶
如何快速判读指针式压力表
基于频率分布波形的最小跳频间隔估计算法
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于傅里叶域卷积表示的目标跟踪算法