基于智能手机的心音监测系统的研究与设计

2014-02-28 10:27李传鹏郭兴明张文英何彦青代婉迪
计算机工程与应用 2014年13期
关键词:心音复杂度特征值

李传鹏,郭兴明,张文英,何彦青,代婉迪

重庆大学生物工程学院,重庆400044

1 引言

心血管疾病严重威胁着我国居民的身体健康,其死亡率高于其他疾病。近年来随着我国心血管疾病的患者逐年增多,带来的医疗负担越来越重[1-2]。因此,对其早期的诊断和预防显得尤其重要。心音信号作为人体最重要的生理信号之一,能够反映心脏瓣膜活动和血液流动状况[3-4]。它包含的生理信息特征,如心率(HR)、心脏舒张期与心脏收缩期的时限比(D/S)、第一心音和第二心音的幅值比(S1/S2),对心血管疾病的预防和诊断有重要的参考价值[5]。传统的心音监测与分析存在操作不便,成本高,不易普及等缺点[6],基于此,研究并设计了一种基于智能手机的心音监测系统。通过对心音的监测,能够有效地对心音的异常作出预警,同时提取心音的特征指标(HR、D/S、S1/S2)对心脏状态作出深入的分析评价。该系统以智能手机为平台,具有使用方便,成本低,易于普及等优点。

2 系统的结构组成

基于智能手机的心音监测系统由三部分组成,具体框图如图1所示。

图1 系统结构框图

整个系统以智能手机节点为枢纽,将用户和服务器端的专家连接在一起。在图1中,心音信号测量节点通过模拟电路和数字电路将采集到心音信号经蓝牙模块进行传输;智能手机节点接收测量节点传输的数据,通过对心音数据的显示和特征的分析监测用户心脏状态,用户可以选择存储监测的心音数据用于回放或分析评价等;服务器端接收智能手机传递的数据并进行显示,同时专家根据显示的心音以及特征值给予分析评价,最后结果反馈给用户。

3 系统的功能实现

3.1 心音测量节点

心音信号测量节点的电路实现如框图2所示,其主要由信号采集模拟电路部分和数字电路部分组成。

图2 心音测量节点框图

如图2所示的心音传感器选用的是航天医学研究所研发的一款接触压电式JXH-5型有源心音脉搏多用途传感器,其频率响应为0.05~1 500 Hz,输出阻抗小于1 kΩ,从而大大提高了抗干扰能力,绝缘电阻大于1 000MΩ,保证了其电安全性;主控芯片选取MSP430F149单片机,该单片机具有超低功耗,适合便携式的监测设备,同时其内部具有60 KB的FLASH空间,2 KB RAM,12位ADC,2个USART口和硬件乘法器,满足心音采集处理的需求;蓝牙模块采用HC-06从模块,该模块封装了蓝牙协议,降低了开发难度,能与带蓝牙功能的手机适配,配对以后当全双工串口使用,支持8位数据位,1位停止位,无奇偶校验的通信格式。

心音经过JXH-5传感器后,由振动信号转化成为电生理信号。转换后的电生理信号幅值低,含有大量的噪声,为此设计了前置放大和主放大用于信号幅值的提升,设计了二阶高低通滤波和50 Hz陷波用于噪声和工频干扰的滤除。因为心音信号的主要成份的频率范围主要集中在10~150 Hz之间,所以信号调理电路部分高通滤波的截止频率设置为12.48 Hz,低通滤波的截止频率设置为145.70 Hz,保证了心音信号的有效采集。同时,设计了电平调整电路保证了数字信号电路的采集要求,光电隔离电路保证了电路的电气安全性。

采集到的模拟信号,经过MSP430F149内部的AD进行采样,根据采样定理以及心音的频率特性,设置AD采样的频率是300 Hz。由于每个采样点是12位的数据,也就是等效于每个数据占两个字节,为了保证数据的有效传递,设置串口异步通信的波特率为384 000。单片机串口端与蓝牙模块连接成功以后将数据传递至手机测量节点。最后,为了硬件电路的稳定工作,电源模块采用AMS1117-3.3芯片为蓝牙模块和主控芯片,提供稳定的3.3 V的工作电压。

3.2 智能手机节点

智能手机得到迅速发展和普及,同时智能手机硬件配置尤其是CPU的性能得到极大的提升,以智能手机为便携式的平台具有成本低,易推广等优点[7-9]。选用三星智能机S5660,该机搭载Android操作系统,具有800MHz运行速率的CPU和480像素×320像素的屏幕分辩率。应用程序是在Eclipse环境下采用Java语言来开发的,其整体结构框图如图3所示。其中数据处理与控制模块是整个应用程序的核心,包括心音信号的预处理和心音信号的特诊提取等。在数据处理模块的基础上实现心音的实时显示,心音数据通过GPRS网络进行传输、心音预警、存储回放等功能。

3.2.1 数据的接收

图3 测量节点的结构框图

手机蓝牙通过Anroid SDK封装的API调用实现蓝牙数据的接受。只有获得适配器的情况下,手机蓝牙才能进行蓝牙设备的搜索、配对。应用程序通过android.bluetooth.getDefaultAdapter类来获取本地设备的蓝牙适配器,通过android.bluetooth.BluetoothDevice类来搜索蓝牙设备。选择搜索到的蓝牙模块同时根据相应服务的UUID号建立数据通道连接,连接以后获取Bluetooth-Socket套接字接口管理数据的接收。接收的数据经过格式解析后存放于缓冲区,供后续的数据处理。

3.2.2 数据的处理

数据的处理包括去噪、S1和S2的定位、指标提取三个步骤。

(1)去噪。心音采集过程中伴随有呼吸信号、传感器与皮肤的摩擦等干扰,对后续的数据处理和分析会带来误差。因此在心音波形的绘制,心音特征的提取之前需要对心音信号进行软件的去噪处理。选取dB6小波进行5层分解消噪方法[10-11],该方法能有效地去除噪声分量同时保留了有用的信号成份,提高了性噪比,同时该方法结构相对简单,运算快,适用于实时的信号处理。将上述预处理去噪的方法封装成一个类添加到工具包中,方便后续相关线程的处理调用。图4显示了去噪前后的心音在手机上的对比图。

图4 心音去噪前后效果对比图

(2)S1和S2的定位。目前,对心音信号S1和S2的定位方法中常见的有:时频特征分析、香农能量提取心音包络法[12]、希尔伯特黄变换方法[13]和LZ复杂度法等。在上述算法中,选用LZ复杂度算法[14-15],该算法避免了时频特征分析方法中选用绝对参量,香农能量算法中幅值误判,希尔伯特黄变换中插值费时等缺点,具有简单快速的特性。为了提高算法的实时性,运用该算法前需要对心音信号进行二值化处理,设处理后的信号序列是:P=S1,S2,…,Sn,定义P的两子序列S和Q,SQ为子序列S和Q合并的序列。SQ_minus是删除最后一个元素后剩余的序列。算法的详细步骤如下:

①进行初始化操作,设初始复杂度C(n)=1,S=S1,Q=S2,SQ=S1S2,R=S1。

(1)电流频率 为实现规定深度的高质量的感应加热,首先必须正确选择设备的频率。设备频率除对实现技术要求和提高热处理质量有很大作用外,对于充分发挥设备的效能、提高生产率、节省电能也很重要。所谓频率的选择,这里指的是选择合理的频带或频率范围,并不是严格的具体数值。

②判断Q∈SQ_minus与否,如果是则转步骤③;否则转步骤④。

③C(n)和S保持不变,Q后移一位,继续步骤②。

④C(n)自增1,然后SQ替换为S,SQ的第一个字符作为新的Q,继续步骤②,当Q取得序列最后一个字符循环停止;此时的C(n)表示表示不同字符串的数目,亦即序列的复杂度,最后采用归一化的方法处理复杂度,即,计算0-1序列的复杂度,最后转化为相对复杂度C(n)。

⑤以该段二值化序列的长度进行移动并计算,直到信号末尾,这样就可以求得信号二值化后序列的复杂度。

心音序列二值化处理的阈值是将序列中大于零的部分取均值得到的。设心音信号的采样率是fs,每次复杂度运算的点数为n,则复杂度的时间跨度是n/fs。算法时间跨度的选取要考虑S1和S2持续的时间,根据心音特性知道S1持续110ms左右,S2持续80m s左右,采样频率是300 Hz,设置采样跨度的点数为3,则知道时间跨度为(3/300)s即为10ms,能够较好地区分S1和S2。一例心音信号经过L-Z复杂度算法定位S1和S2的结果图,如图5所示。由图可知,该算法能够很好地区分S1和S2区域,同时可用于后续的指标提取。设定复杂度的分割阈值,信号复杂度大于阈值的序列S1区域和S2区域映射到心音信号序列中的有效成份即S1和S2。

(3)特征指标提取。步骤(2)定位了心音中S1和S2成份区域,S1区域映射到原始信号序列区域的最大值即为第一心音幅值apt1,S2区域映射到原始信号序列区域的最大值即为第二心音幅值apt2,然后依次标记S1S2位置L11,L21,L12,L22,…,L1i,L2i对应的幅值为apt11,apt21,apt12,apt22,…,apt1i,apt2i,其中i表示数据段中心动周期的数目,i≥2如此直到数据段截止。根据此可以求得三个特征参数。其中心率HR的计算如式(1)所示:

心脏舒张期与心脏收缩期的时限比D/S的计算方法如式(2):

图5 LZ复杂段算法分割示意图

式(1)、(2)中,fs是采样频率;K表示数据段截止时的总的心动周期的数目;i表示第i个心动周期,且i≥2。

第一心音幅值与第二心音幅值比S1/S2,根据公式(3)求得:

为了验证上述特征指标的准确性,本文采用了两组不同人群,包括102个大学生和65个老年人。结果如表1所示,检测允许的误差范围为:心率HR是±3,S1/S2是±0.2,D/S是±0.1。其中,精确的特征指标是通过重庆博精医学信息研究所研制的“运动心力监测仪”(ECCM,专利号01256971.2,第一代产品注册证号:渝药管械(试)字99第220007)获取的。

表1 特征值准确检测率

通过以上测试可知,该算法能较好地提取特征值,满足实际要求。最后将调试的LZ算法封装为特征提取类添加到工具包中,供相关模块功能的实现调用。

3.2.3 手机功能模块

显示模块,首先调用工具包中的预处理去噪类对心音信号进行处理,然后将预处理后的数据添加到A rraylist数组中,最后使用draw Line的方式绘制心音波形。心音在手机上动态的显示有两种方式:第一种是刷屏的显示;第二种是逐点渐变的显示。考虑到视觉效果和心音监测的动态连续性,选择刷屏的显示,这样界面比较友好,易于使用者观察。

在实时绘制心音波形的同时,需要对心音异常给予警示,通过多线程的途径实现上述过程。提取心音信号的特征值(S1/S2、D/S、HR),对D/S<1,HR<40或者HR>100,S1/S2<1或者S1/S2>3.7的情况[5]给予预警。图6显示了监测中的心音,特征值的状态标识有红色、黄色、白色三种颜色,红色的特征值表示超出了健康监测的范围,黄色的特征值表示在健康监测范围内但是心脏处于亚健康状态,白色的特征值表示心脏处于健康的范围;对无法精确提取特诊值的心音或异常的情况,特征值的状态显示为Null。

当用户选择分析评价选项按钮的时候,通过Intent(意图)传递监测时得到的特征参数均值作为分析评价的依据。其中D/S、S1/S2、HR的评价依据参见文献[5]。如图7显示了分析评价的界面。

图6 运行结果示意图

图7 分析评价界面示意图

当点击数据存储选项按钮的时候会进入数据存储活动。该活动获取系统时间作为保存数据文件的名称,当点击返回按钮的时候将会停止数据的录入,最后录入的数据以.txt的形式保存在SDcard的文件目录ecgData下。

当点击心音数据回放功能按钮的时候进入数据回放活动。该活动首先获取心音保存文件夹的路径,然后将该文件夹下的心音数据记录以ListView的形式显示出来,最后为每个ListView行选项设置Click事件,通过Intent启动数据回放活动来进行。

当点击数据发送按钮的时候进入数据远程传输活动。Java环境下实现基于TCP/IP协议的网络编程需要采用Socket机制。Socket(string host,int pot)对象创建客户端的Socket实例,客户端通过主机地址和端口号与远程端建立连接,然后通过Netdata类可以完成手机端数据的发送以及接受服务器端的专家分析评价结果。

3.3 心音监测中心

选用Labview设计监测中心,其提供了封装的TCP子VI,可便捷地进行服务器网路编程。服务器端应用程序通过Internet接入GPRS网络,数据的读通过TCP Read.VI来实现,数据的写通过TCP W rite.VI来实现。TCP Listen.VI对端口号进行监听,当监听到手机客户端发出的请求后建立连接。连接以后接收心音数据,数据从手机客户端发送至Labview搭建的服务器端的流程图,如图8所示。

图8 连接示意图

接收到的心音数据在心音监测中心显示效果,如图9所示。监测中心由数据接收发送模块、心音显示模块、特征值显示预警模块、专家诊断模块四部分组成。当特征值超出正常范围时,特征值相对应的指示灯变红色给以警示。专家诊断模块是根据心音的波形特征结合临床经验知识给予诊断分析,分析评价的结果将反馈到手机上供读者参考。

图9 服务器端心音监测示意图

4 结束语

随着智能手机硬件性能的提高和软件平台开发的简化,以智能手机为平台的医疗监测技术逐步成为研究热点。研究并设计了基于智能手机的心音监测系统,本文系统能稳定运行,具有易携带、易操作、易普及等优点;然而本文系统存在着续航时间短,特征指标的精确性不高,适用范围比较局限等问题,需要后续进一步完善改进。

[1]W inkler S,Schieber M,Lück S.A new telemonitoring system intended for chronic heart failure patients using mobile telephone technology—feasibility study[J].Int J Cardiol,2011,153(1):55-58.

[2]相建南,卢松柏.移动与可穿戴技术在心血管远程监护的应用[J].电子科技大学学报,2010,39(S):1-5.

[3]M aglogiannis I,Loukis E.Support vectors machine based identification of heart valve diseases using heart sounds[J].Computer M ethods and Program s in Biomedical,2009,95(1):47-61.

[4]Li B B,Yuan Z F.Non-linear and chaos characteristics of heart sound time series[J].Proceedings of the Institution of Mechanical Engineers:Part H Journal of Engineering in Medicine,2008,222(3):265-272.

[5]郭兴明,柯明,肖守忠.基于心脏储备新指标评价系统的设计与实现[J].中国组织工程研究与临床康复,2009,13(22):4295-4298.

[6]张孝贵,何为,周静,等.基于嵌入式系统的便携式心音分析仪的研究[J].仪器仪表学报,2007,28(2):303-306.

[7]蓝坤,张跃.基于Android的心电监护软件系统设计与实现[J].计算机工程与设计,2013,34(8):2951-2956.

[8]Hermawan K.Development of ECG signal interpretation software on android 2.2[C]//Proceedings of 2nd International Conference on Instrumentation,Communications,Information Technology,and Biomedical Engineering,2011:259-264.

[9]李宗玮,孙雷.基于智能手机的网络机器人人机交互系统[J].计算机工程与应用,2011,47(15):64-68.

[10]赵立权,谢妮娜,邬春明.Daubechies复小波的构造以及在电能量检测中的应用[J].计算机工程与应用,2012,48(35):233-237.

[11]刘学,李婷,催小东,等.基于小波变换的去噪方法[J].科技信息,2013,2(1):189-190.

[12]周静,杨永明,何为.心音信号的分析及其特征提取方法的研[J].中国生物医学工程学报,2005,24(6):685-689.

[13]许晓飞,林勇,严彬彬.基于希尔伯特-黄变换的心音包络提取[J].航天医学与医学工程,2008,21(3):134-136.

[14]Lem A,Ziv J.On the com plexity of finite sequences[J].IEEE Trans on Inform Theory,1976,22(1):75-81.

[15]Kaspar F,Schuster H G.Easily calcuable measure for the complexity of spatio temproal patterns[J].Phys Rev A,197,36(1):842-848.

猜你喜欢
心音复杂度特征值
一类带强制位势的p-Laplace特征值问题
单圈图关联矩阵的特征值
一种低复杂度的惯性/GNSS矢量深组合方法
基于双阈值的心音快速分段算法及其应用研究
双声道心音能量熵比的提取与识别研究
求图上广探树的时间复杂度
基于香农熵的心音信号检测方法研究
某雷达导51 头中心控制软件圈复杂度分析与改进
基于商奇异值分解的一类二次特征值反问题
出口技术复杂度研究回顾与评述