APP下载

基于数据挖掘的脉搏信号干扰段检测算法

2017-06-26史景允

电子科技 2017年6期
关键词:压缩率脉搏分段

贾 龙,贺 松,史景允

(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)



基于数据挖掘的脉搏信号干扰段检测算法

贾 龙,贺 松,史景允

(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)

脉搏信号的采集过程容易受到环境影响,进而导致采集到的信号含有干扰段。脉搏信号的干扰段,也就是脉搏信号被环境污染的噪声。为了能够客观地描述信号被污染的程度,文中提出了一种基于时间序列分段直线表示的脉搏信号干扰段检测算法,建立脉搏信号模板,通过模板信号和实际采样信号之间的匹配度(即拟合误差),从而得到一种能够客观表达脉搏信号含有干扰段程度(即信号质量)的算法。

干扰段;时间序列;分段线性表示;相似性

传统中医的四诊法分别是:望、闻、问、切。其中最后一项“切”就是俗称的脉诊,它是传统中医最具特色的诊断方法之一,是中医理论体系中不可缺少的组成部分。脉相能反馈出人体各部分的生理与病理信息,脉搏信号尤其能反映人体心脏与血液系统的生理变化,蕴含丰富的人体生理病理信息。是反映人体内部各种功能变化的窗口,可以为疾病的诊断提供重要的参考依据。然而,脉搏信号采集经常受到环境噪声,运动伪迹以及传感器位移引起的基线漂移,造成监测信号参数估值错误,进而导致对病情的误判,不能正确为病人制定医疗方案。因此设计一种算法来确定脉搏信号被污染程度具有现实意义。

针对脉搏波含有干扰的无用信号波段,已经有相关研究人员提出了多种处理方法,例如利用数字滤波器或者小波分析设计滤波器滤除信号中的噪声、基线漂移[1]。针对数字滤波器,脉搏信号的频域特征主要集中在低频部分,若噪声信号也是低频信号,数字滤波器无法有效识别干扰段。而小波滤波器用于处理整体连贯性较好的脉搏波,可以得到相对真实的标准波形,但缺点是当波形出现跳跃或者基线漂移过大时,无法有效及时处理,且算法复杂度高,计算时间长。李桥等[2]提出了脉搏信号的融合质量评估算法,通过DTW(Dynamic Time Warping)对每个脉搏信号伸展或压缩,选取几种参数作为信号质量相关特征,通过多层感知神经网络对信号相关特征的分析,从而判断信号质量。该算法对含有较高噪声干扰的脉搏信号,判断准确率明显降低,而且算法复杂度过高,不适合实时计算。

鉴于此,本文提出了一种基于时间序列分段直线表示的脉搏信号干扰段检测算法。由于脉搏信号是微弱的信号,采集过程中经常受到环境和人体等各方面因素的影响,使得脉搏信号中含有工频干扰、基线漂移和运动伪迹等噪声信号,信号质量较低。这些噪声信号的叠加污染造成脉搏信号存在干扰,这些噪声污染严重影响着脉搏信号的分析与处理[3-4]。当脉搏信号中存在这些噪声干扰时,其信号的形态明显不同于正常脉搏信号段,这些干扰段具有信号杂乱,没有周期性和规则性等特征。而正常脉搏信号是比较规则,而且具有周期性,利用干扰段和正常脉搏信号之间的这些不同特征,从时间序列数据挖掘[5-6]的角度,可以尝试用用脉搏信号模板匹配法来检测干扰信号,分析两类信号之间的特征差异,从获得一个对脉搏信号被污染程度进行判断的客观标准。

1 用数据挖掘方法研究脉搏信号干扰段

1.1 脉搏信号匹配模板生成

已有许多专家学者研究证明,可以通过3个不同参数的高斯函数叠加而产生脉搏信号。采用高斯函数合成脉搏信号[7],其表达式如式(1)所示

s(t)=Raexp(-(t-p)/b)

(1)

其中,Ra表示幅度,它决定高斯函数图形的高度;p表示函数在时间轴t的位移,它决定该函数形成的波形峰值出现的位置;b表示函数在t轴的伸缩程度,它决定该函数形成的图像的宽度。根据常见脉搏波形特征,利用如下3个高斯函数式可构建出脉搏信号模板波形,如图1所示。

图1 3个高斯函数合成的脉搏信号波形

(2)

s2(t)=0.5exp(-(t-0.45)2/0.010)

(3)

s3(t)=0.4exp(-(t-0.70)2/0.030)

(4)

S(t)=s1(t)+s2(t)+s3(t)

(5)

式(2)构成脉搏信号的主波,式(3)构成脉搏信号的潮波,式(4)构成脉搏信号的重搏波,式(5)即为合成的脉搏信号。文中以此信号作为脉搏信号模板,用于后续脉搏信号干扰段检测算法研究。

1.2 脉搏信号归一化

对脉搏信号进行归一化,使脉搏信号在同一参考系下进行衡量与对比。设原始脉搏信号为一个长度为n的时间序列,表示为A=[A1,A2,…,An],通过归一化公式 (6)对原始序列进行归一化计算,将归一化后的时间序列表示为B=[B1,B2,…,Bn]

(6)

其中,max(A)表示序列A中的最大值;min(A)表示序列A中的最小值。

1.3 时间序列线性表示

原始脉搏信号,具有数据量大,高维度的特点,如果直接对原始信号进行处理,计算比较复杂。为了提高数据挖掘的效率,许多学者提出用时间序列的各种表示来近似原始序列,在诸多表示方法中,本文选取了最为简单有效,又可以保留时间序列主要特征的分段线性[8-9]表示法。

(1)分段线性表示。简单来说,分段线性表示就是指用K条线段近似模拟长度为n的时间序列。设时间序列XA={X1,X2,…,Xn},通过分段线性表示得到分段点集合为{Xt1,Xt2,…,XtN},重新被表达的序列可描述为XB={f1(Xt1,Xt2),f2(Xt2,Xt3),…,fN-1(XtN-1,XtN)}。其中fN-1(XtN-1,XtN)表示在区间[tN-1,tN]上的线性拟合函数;

(2)提取时间序列得最值点。分段线性表示的关键是分段点选取策略,选取最优的分段点,不仅能大幅度降低信号维度,而且最大幅度保留原始序列的形态特征。近年来许多学者对分段线性表示进行了深入的研究,本文将使用基于极值的分段方法来研究脉搏信号的干扰段检测。

定义 1 设(xi-1,ti-1)、(xi,ti)、(xi+1,ti+1)分别表示时间序列上3个依次相邻的数据点,如果满足以下条件之一:(1)xi≥xi-1且xi>xi-1,或者xi>xi-1且xi≥xi-1;(2)xi≤xi-1且xi

(3)确定分段点。首先将需要检测的原始序列X按固定分段数分段,从而得到n个子序列。然后再提取每个子序列中的极值点,即时间序列的局部极值点。若局部极值点存在多个,则在所有极大值点中,选取数值最大的点作为局部最大值,同理选取数值最小的点作为局部最小值点。由这些最值点组成序列分段点集合为{Xt1,Xt2,…,XtN}。保留此序列首尾两点,然后根据最值点分段拟合两点间的直线,最后N条首尾相连的直线段来代替原始序列。例:脉搏模板信号经过归一化、分段线性表示处理后的结果如图3所示。

图2 模板信号归一化

图3 模板信号的分段线性表示

将原始信号平均分成9段,求出每一段中的最大最小值点,再将依次相邻的点之间用直线段相连接,就可得到原始信号的分段线性近似表达,从图中可以看出,这种表达不但最大限度的保留了原始信号的形态特征,而且可以大幅度的压缩数据,减少数据量,增快算法运算速度。

定义2 设时间序列XA={X1,X2,…,Xn},经过线性表示得到的序列为XB={f1(Xt1,Xt2),f2(Xt2,Xt3),…,fN-1(XtN-1,XtN)},那么它的压缩率定义为

(7)

1.4 相似性度量

脉搏信号的干扰段可以认为是标准脉搏信号被各种噪声污染的结果,也就是说根据标准信号和含有干扰段信号之间的相似度就可以衡量信号含有干扰段的程度。时间序列的相似性度量[10-11]是时间序列数据挖掘的基础。一般衡量两条时间序列的相似程度通过距离函数(即拟合误差)来度量,距离越小越相似,否则越不相似。

(8)

2 算法验证

2.1 实验数据来源

通过国外数据库,例如英国哥伦比亚大学医疗电子与计算机工程研究所建立的CB数据库等,选取由信号专家已经标注为质量好与质量差的信号,将二者混合在一起作为实验数据。

实验从该数据库选取500组的数据进行实验,数据采样频率为125 Hz,信号质量已经由专家标注为质量好与质量差两种。取6 s为一个窗口波形,也就是原始序列长度n=125×6=750。同时选定分段线性表示的线段数K,也就是将原序列A平均分成K段,根据式(7)可算得压缩率,查找每段序列内的极大极小值点,作为分段点。接下来通过线性拟合的方式,就可用首尾相连的直线段来近似表达原时间序列。再次以同频率125 Hz采样线性得到拟合序列B,通过计算两序列之间的欧式距离,可得到拟合误差ε。拟合误差的值越大表示信号质量越差,即含有更多的干扰段,值越小则表示信号质量越好。从而本文通过拟合误差ε得到一个可以判断信号干扰段程度的客观数据。

2.2 实验结果

(1)不同压缩率下拟合误差对比实验。为找出脉搏信号线性分段表达方法的最优分段数,本实验将比较压缩率相同情况下,标准脉搏信号和数据库提供的实验脉搏信号之间的拟合误差,将压缩率设置在80%、85%、90%、95%,通过上文中提到的试验方法,比较不同压缩率下的拟合误差,可得出结论:90%压缩率的拟合误差最小,选择它为最优分段方法;

(2)相同压缩率下的拟合误差对比实验。按照上文所示方法,将模板信号和数据库中获取的实验数据,在压缩率设置为90%的前提下,进行归一化,分段线性表示,相似性判断后,得到一个干扰段等级阈值。当拟合误差大于阈值时,判断为信号质量差;拟合误差小于阈值时,判断为信号质量好;若原信号质量为好,同时经算法判断为质量好;或者若原信号质量为差,同时经算法判断为质量差;那么就算判断正确,反之则都算判断失败。通过不断的调整阈值,准确率最高的结果如表1所示。

表1 实验结果

由表1可知,该算法能够在识别信号干扰段方面成功率达93.4%,达到了预期希望,与专家的判断基本一致。

3 结束语

基于线性分段表示的数据挖掘算法[12]应用于脉搏信号干扰段检测方面,可快速的表示出脉搏信号的变化趋势,并且在一定程度上消除噪声污染。它可以为脉搏信号含有干扰段的程度提供客观判断标准,算法简单,且具有较高的准确性,可以帮助剔除被污染程度高的脉搏信号,为下一步的脉搏信号分析提供可靠的数据。

[6] 曾鹏飞.基于FPGA的光纤高清数字视频传输系统的研究[D].长沙:长沙理工大学,2014.

[7] 熊先越.基于Spartan6的高清视频传输系统[J].光通信技术,2014(7):36-38.

[8] 庾志衡.基于FPGA与DDR2 SDRAM的大容量异步FIFO缓存设计[J].硬件纵横,2011,30(4):34-40.

[9] RichSeifert.千兆以太网技术与应用[M].郎波,译.北京:机械工业出版社,2000.

[10] 谢希仁.计算机网络[M].4版.北京:电子工业出版社,2003.

[11] 谢喆.基于FPGA的TCP/IP数据通信的设计与应用[D].武汉:武汉科技大学,2011.

[12] 徐洪波,余成芳.基于FPGA的以太网MAC子层协议设计实现[J].复旦学报:自然科学版,2004(2):50-53.

[13] 周华茂,程小辉,龚幼民.以太网MAC层IP软核设计方法研究[J].集成电路设计与开发,2007(8):692-696.

[14] 叶祎恒.基于FPGA的UDP/IP硬件协议栈的研究与实现[D].西安:西安电子科技大学,2010.

[15] 尉志伟.千兆以太网MAC控制器IP软核的设计[D].成都:电子科技大学,2010.

Pulse Signal Interference Detection Algorithm Based on Data Mining

JIA Long,HE Song, SHI Jingyun

(College of Big Data and Information Engineering, Guizhou University, Guiyang 550025, China)

The acquisition process of the pulse signal is easy to be influenced by the environment, thus the pulse signal interference. In other words, the pulse signal is polluted by the environment noise. In order to objectively describe the signal polluted degree, this paper proposes a piecewise linear representation of time series of the pulse signal based on the interference detection algorithm, and establishes the pulse template, the template signal and actual sampling signal between the matching degree (i.e. fitting error), resulting in an objective expression of human pulse contains interference section level (i.e., signal quality) algorithm.

interference segment; time series; piecewise linear representation; similarity

2016- 07- 29

贾龙(1989-),男,硕士研究生。研究方向:计算机应用技术。贺松(1974-),男,副教授。研究方向:数字通信与信息系统。

10.16180/j.cnki.issn1007-7820.2017.06.008

TN911.4

A

1007-7820(2017)06-027-04

猜你喜欢

压缩率脉搏分段
一类连续和不连续分段线性系统的周期解研究
用心感受狗狗的脉搏
分段计算时间
《今日评说》评今日浙江 说时代脉搏
水密封连接器尾部接电缆的优化设计
缠绕垫片产品质量控制研究
某型飞机静密封装置漏油故障分析
基于51系列单片机的穿戴式脉搏仪的设计
近红外可穿戴设备中脉搏波的呼吸率检测
分布式多视点视频编码在应急通信中的应用