远程动态实时心电信号监测系统设计
2017-10-18贾孟孟李美兰
徐 磊, 贾孟孟, 李美兰, 李 坤
(中北大学 信息探测与处理技术山西省重点实验室, 山西 太原 030051)
远程动态实时心电信号监测系统设计
徐 磊, 贾孟孟, 李美兰, 李 坤
(中北大学 信息探测与处理技术山西省重点实验室, 山西 太原 030051)
针对常规心电图机体积大、 便携性差、 Holter操作复杂、 不能实现远程监测等问题, 设计了一种基于LabVIEW和Android的远程动态心电监测系统, 该系统由动态心电监测终端、 云端服务器和心电监测平台组成. 由心电传感器采集的心电信号经AD8232调理后进行数字化, 以STM32为主控器, 通过无线蓝牙技术将监测数据传输至用户手机App, 并实时上传云端服务器, 远程监控中心可通过访问数据库的方式进行数据查看. 经实验验证, 本系统可实现心电信号的实时远程监控, 采集的心电波形具有良好的医学参考价值, 可为未来心血管疾病的远程医疗提供一定的技术支持.
心电信号; LabVIEW; Android; AD8232; 远程监测
Abstract: Aiming at the problems of conventional electrocardiogram machine of large volume and poor portability, Holter can not realize remote monitoring and so on. A remote dynamic ECG monitoring system based on LabVIEW and Android is designed. The system consists of dynamic ECG monitoring terminal, cloud server and ECG monitoring platform. The electrocardiogram collected by the ECG sensor is conditioned by AD8232 and digitized,STM32 as the master chip. The wireless Bluetooth technology transmits the data to the user’s mobile App and real-time uploads the cloud server. The remote monitoring center can view the data by accessing the data base. The experimental results show that this system realizes the real-time remote monitoring of ECG signal and the ECG waveform collected by the system has good medical reference value , and provides some technical support for the future telemedicine of cardiovascular disease.
Keywords: ECG signal; LabVIEW; android; AD8232; remote monitoring
随着现代科学技术的迅速发展以及人们医疗需求的不断提高, 家庭医疗因其便捷性, 逐渐走入了人们的视线. 国家心血管病中心最新发布的中国心血管病报告指出: 中国心血管病危险因素流行趋势明显, 导致了心血管病的发病人数持续增加[1]. 今后10年心血管病患病人数仍将快速增长. 目前心血管疾病仍居死亡原因的首位. 究其原因, 主要是由于心血管疾病的潜伏性和突发性导致的. 所以对于心血管疾病的监控预防显得尤其重要.
心电信号是是一种微弱的生物电信号, 因此要将其进行放大处理, 其中混有多种干扰和噪声, 因此电极及导联线采集到的心电信号通常是不稳定的并且是高阻抗的[2]. 在此情况下需要对放大后的信号进行滤波, 以还原真实有效的心电波形.
目前的心电监护体系主要有3大类: 第1类是在临床监护中所使用的心电监护体系, 这种监护方式的可移动性差, 并且心电图机体积庞大、 成本较高、 且维护和更新不便[3], 只限于在病房中对患者进行心电监护; 第2类是动态心电检测仪Holter, 患者通过携带仪器进行心电数据的采集, 但是无法进行实时监测和数据的传输; 第3类是远程心电监护系统, 主要通过无线网络对患者的心电信息进行监测[4]. 随着人们医疗需求的提高, 迫切需要一种在一定范围内患者能够自由运动, 并且可以实现和监测医生进行实时交互的远程的心电监测体系. 针对此种情况, 本文设计了基于Android和LabVIEW的远程动态实时心电监测系统. 本系统的监测终端小巧便携, 成本低廉. 同时设计了PC端和手机端的双重监测平台, 便于实现与监测医生的实时交互.
1 系统总体框架
图 1 系统总体框图Fig.1 The block diagram of overallsystem
系统的总体框图如图 1 所示. 整个系统包括了心电数据监测终端、 智能手机心电监测平台和PC端上位机心电监测平台. 心电数据监测终端的功能是利用ADI公司生产的低功耗AD8232芯片对心电信号进行放大和滤波等处理. 将完整调理后的心电信号通过STM32的内置ADC进行A/D转换. 在STM32中通过数字滤波器将50 Hz工频干扰噪声进行滤除. 在监测终端的嵌入式系统中, 加入了LED屏实时显示心电波形, 利用心跳信号指示灯的闪烁对心跳信息进行显示, 并且加入了SD卡存储模块对心电数据进行存储. 将打包好的心电数据通过蓝牙模块发送至智能手机心电监测平台. 手机心电监测平台的功能是将通过蓝牙接收到的心电数据进行描绘, 对心电波形进行实时显示, 并将心电数据上传至云端服务器. PC端上位机心电监测平台通过连接云端服务器接收心电数据, 对心电数据进行进一步的去噪处理, 并通过数学形态法对R波进行识别, 计算出心率信息并实时显示. 整个系统完成了对心电数据的采集, 调理, 存储, 传输和显示等功能.
2 硬件系统的设计
2.1 心电信号调理模块
本模块采用AD8232心电调理芯片对采集到的心电信号进行放大和滤波等基本的调理. AD8232芯片内置了专用仪表放大器、 运算放大器、 右腿驱动放大器、 中间电源电压基准电压缓冲器、 高通滤波器、 导联脱落检测电路和自动快速恢复电路. 仪表放大器除了提供100的增益外, 还可以消除电极半电池电位. 心电信号的频带宽度为0.05~100 Hz, 其幅值约为0.01~5 mV, 典型值为1 mV[5]. STM32内置ADC的电压输入范围为0~3.6 V. 所以在仪表放大器对ECG信号进行放大之后, 又采用运算放大器提供了额外增益. 总增益G达到1 000. 另外, 通过运算放大器提供的低通滤波滤除了肌电干扰噪声, 通过高通滤波器滤除了基线漂移类的低频噪声. 其中的导联脱落检测电路和自动快速恢复电路帮助用户在电极脱落后重新连接时快速恢复心电波形的显示. 该芯片中没有设计针对50 Hz工频干扰进行滤除的陷波电路, 因此在STM32中对心电信号的控制处理中加入了50 Hz的数字滤波器.
2.2 控制器模块
STM32系列的闪存微控制器是由ARM公司生产的. STM32系列基于具有突破性意义的Cortex-M3内核, 它的工作频率为72 MHz, 内置高速存储器, 具有丰富的I/O端口和外设. 此系列的内核是专门设计的满足集低功耗、 高性能、 具有竞争优势的价格于一体的嵌入式领域要求的控制器[6]. 本文使用的是STM32F103C8T6.
这一模块中, STM32的主要功能有: ① 将输入的心电信号以250 Hz的采样率进行采样并且对心电信号进行A/D转换; ② 为了直观地观测心电波形的显示变化, 通过一个LED屏幕对心电波形进行实时显示; ③ 用数字滤波器对50 Hz的工频噪声进行滤除; ④ 控制SD卡模块对心电信息进行存储; ⑤ 将数据通过蓝牙模块发送至手机. STM32程序的主要流程图如图 2 所示.
在蓝牙与监测平台进行通信时, 需要设置串口数据通讯协议,设置波特率为115 200, 数据停止位1 b, 奇偶检验: 0, 数据位8 b, 数据采样率为500 Hz(定时器控制), 串口数据发送采用串口DMA数据模式, 通过采用一个数据包多个字节的方式, 可以提供数据传输速度, 因而每隔160 ms, 发送200~400 B的数据包较为合适.
STM32的AD为12 b, 所以数据的高8 b的前4 b为0, 发送的数据格式如下:
EE 09 D5 FF (EE为帧头, FF为帧尾, 中间为数据)
真实情况下一次采集回的数据为2 B, 如: 09 D5为了避免出现与帧头或者帧尾相同的数值, 对中间数据进行了换行操作.
图 2 STM32流程图Fig.2 The flow chart of STM32
图 3 SD卡流程图Fig.3 The flow chart of SD card
图 4 LabVIEW流程图Fig.4 The flow chart of LabVIEW
2.3 SD卡存储模块
本设计采用SD卡模块对心电信息进行存储. SD卡支持SD模式和SPI模式两种操作模式. SD模式支持4线的高速数据传输, 用于数据量比较大, 速度要求比较快的应用场合. SPI模式支持简单的通过SPI接口和SD卡通信, 该模式同SD卡模式相比硬件电路较为简单, 但是降低了存储速度[7]. 由于本设计每秒都要接收并存储数据, 且数据量约有2 000 B, 这就对存储速率要求较高, 因此选用SD模式进行工作.
为了方便采集到的数据能够直接在PC机上查看, 提高存储效率, 需要对SD卡存储介质采用文件系统管理方式, 本设计采用常见的FATFS文件系统格式. Fatfs是一个通用的文件系统模块, 用于在小型嵌入式系统中实现FAT文件系统. Fatfs 的编写遵循ANSIC, 不依赖于硬件平台. 它可以在不做修改的情况下移植到微控制器中, 如8051, PIC, AVR, ARM, Z80等. Fatfs支持CF卡、 硬盘、 SD/MMC卡和NAND Flash的读写, 支持FATl2, FATl6, FAT32, 支持长文件名, 并优化了在8/16 b微控制器下的文件读写. 控制系统的工作流程如图 3 所示. 要以FATFS文件系统格式进行文件创建及信息储存, 必须将SD卡格式转换成FATFS文件系统格式, 即SD卡的初始化. 在确定SD卡通信正常后即开始初始化, 其过程包括: 读取原有FAT表、 查找空间簇并确定起始簇号、 将新的FAT表写回SD卡、 读取目录项信息、 将文件信息赋给文件信息结构体、 将新的目录写回到SD卡, 初始化完成后即可进行SD卡的读写操作. AD采样信号出发后向SD卡触发写命令, 命令中包含写地址, 写地址必须与SD卡物理地址相对应, SD卡接收到数据后验证地址, 并进行CRC校验, 发出响应命令.
2.4 蓝牙无线传输模块
蓝牙无线传输技术在2.4 GHz ISM频段下工作, 其数据传输的速率是1 Mb/s[8]. 蓝牙技术采用“Plug&Play”, 即任意一个采用蓝牙技术的仪器设备一旦搜寻到另一个蓝牙设备, 马上就可以与之建立联系, 无需用户进行任何设置, 可谓能做到“即连即用”. 所以蓝牙技术比较适用于短距离无线数据传输.
本设计使用的是HM-06蓝牙模块, 其采用CSR BlueCore芯片, 配置6-8Mbit的软件存储空间, 支持AT指令, 用户可根据需要更改SPP角色(主、 从模式)以及串口波特率、 设备名称、 配对密码等参数, 使用灵活.
3 软件系统的设计
3.1 手机心电监测平台的设计
Android是基于Linux的一种开放源及自由代码操作系统, 它主要被使用在移动设备, 如平板电脑和智能手机, 由开放手机联盟和Google公司倡导开发. 因为Linux的操作系统, 其性能相对比较稳定, 并且其源代码的开发能够较大地降低开发成本[9].
算法流程如图 5 所示. Ble蓝牙通信主要通过Android自带的开发者API的BluetoothManager, BluetoothAdapter, startLeScan()等实现, 利用Handler进行主线程与子线程的通信, 子线程实现蓝牙的数据发送与接收, 蓝牙设备的搜索等, 主线程负责UI界面的刷新.
图 5 手机心电监测平台算法流程图Fig.5 The algorithm flow chart of Mobile phone ECG monitoring platform
通过接收来自监测终端的数据, 进行一定的处理后, 利用Android自带的控件surfaceview进行数据的可视化, 利用surfaceChanged, surfaceDestroyed, surfaceDestroyed, draw等方法绘出相对应的波形.
在App中接收并处理数据之后, 会利用Sqlite数据库先存入本地数据库进行备份, 同时通过HTTP协议与服务器发送POST请求, 通过HttpURLConnection发送请求, URLEncoder进行编码, 提交App中处理后的数据由服务器接收后存入Mysql数据库, 服务器的架设为Apache+Mysql等.
PC端监测平台连接数据库读取心电数据, 对心电数据进行处理并将心电波形进行描绘.
3.2 PC端心电监测平台的设计
使用NI公司生产的LabVIEW进行PC端心电监测平台的设计. LabVIEW使用的是图形化编程语言, 功能强大. LabVIEW虚拟仪器的设计包括前面板和后面板. 前面板是一个类似于真实仪器的图形界面窗口, 用户可以在该窗口进行一些基本的操作和观测, 后面板是图形化的程序[10]. 后面板的程序控制前面板的功能实现. LabVIEW虚拟仪器的程序设计的主要流程图如图 4 所示.
在连接云端数据库并将心电数据读取后, 在后面板的图形化程序中, 先使接收到的心电数据经过低通滤波器消除以肌电干扰为代表的高频噪声,再使经过低通滤波器的心电数据经过一个三阶高通滤波器, 这里将低截止频率设置为0.5 Hz, 滤除基线漂移及直流偏移电势等低频噪声. 对经过低通和高通滤波的心电数据进行一个50 Hz的带阻滤波, 进一步消除50 Hz的工频噪声. 使用LabVIEW中自带的波形图表控件将经过滤波的心电数据的波形描绘出来, 利用数学形态法对R波之间的间期进行计算, 从而计算出心率. LabVIEW上位机的心电数据采集及心率计算的部分程序如图 6 所示.
4 现场试验
各个模块调试完成后, 对心电系统的各个部分进行试验, 验证心电波形的有效性. 主要对心电监测终端的波形是否具有医学参考价值、 手机监测平台的心电监测效果和上位机滤波的效果3个方面进行试验.
4.1 硬件系统测试试验
被测试者为25岁男性, 身体健康. 试验时被测试者的姿态为端坐. 首先在心电监测终端上, 采用标准I导联的方式, 安置好电极, 使用导联线把电极和硬件系统相连接, 给监测终端供电, 初始化完成后, 试验波形如图 7 所示, 可以看出监测终端的显示屏上观测到P波、 QRS波群以及T波, 其中P波幅值约为QRS波群幅值的1/10~1/5, T波幅值约为QRS波群幅值的1/4~1/2. 说明被测试者身体健康状况良好. 由此得出, 监测终端显示的波形较为完整准确, 具备一定的医学参考价值.
4.2 PC端心电监测平台试验
连接好硬件动态心电监测终端后, 打开手机蓝牙, 将手机蓝牙与终端中的蓝牙模块配对连接. 登录手机软件, 心电波形即可在手机软件中实时显示, 此时手机软件后台已经将心电数据上传至云端服务器.
连接成功数据库后, 在数据库中采集心电信息, 在PC端对心电波形进行显示试验. 通过低通滤波器, 高通滤波器和49~51 Hz带阻滤波器对采集到的心电信息进行滤波. 通过去噪前后两个窗口中的心电波形的效果对比, 可以看到上位机程序中对心电波形的去噪有一定的效果. 通过数学形态法计算提取R波并计算R波间期, 得出当前被测试者的心率值, 可以观测到被测试者心率为74. PC端心电监测平台如图 8 所示.
图 7 硬件系统上心电波形的显示Fig.7 The display of ECG waveforms on the hardware system
图 8 PC端心电监测平台Fig.8 The ECG monitoring platform of PC terminal
5 结 论
本设计的硬件平台设计中, 用AD8232心电信号进行模块基本调理, 以STM32C8T6为主控制器, 通过LED屏在硬件系统中进行心电波形实时显示, 并用SD卡模块对心电数据进行存储, 将心电数据进行模数转换后通过蓝牙无线传输模块发送到手机软件. 监测平台分别是基于Android开发的手机心电监测平台和基于LabVIEW开发的PC端心电监测平台. 本设计实现了监测终端的心电信号采集、 存储、 显示和无线传输、 用户手机端App的心电波形查看、 上传云端服务器、 PC端软件的心电信号远程数据访问和心率数据提取等功能. 针对用户的实时观测、 上位机软件中心电波形及心率的实时显示. 与传统的心电图机相比不仅成本低廉, 而且小巧便携. 更重要的是它操作简便, 通用性强, 很适合后续的开发. 接下来的发展方向将会以本心电采集监测系统为基础, 在硬件平台中加入其他信息, 使整个系统的功能更加强大, 同时也会对软件系统进行优化, 使其功能更加完善.
[1] 梅翠松. 基于蓝牙通讯的便携式心电监测仪的设计与实现[D]. 西安: 西安工业大学, 2014.
[2] 赵艳辉, 赵修良, 周超, 等. 基于LabVIEW的心电信号采集系统[J]. 电子设计工程, 2011, 19(5): 30-31. Zhao Yanhui, Zhao Xiuliang, Zhouchao, et al. ECG data acquisition system based on LabVIEW[J]. Electronic Design Engineering, 2011, 19(5): 30-31. (in Chinese)
[3] 宋立新, 姜思刚, 周蕾, 等. ZigBee心电信号采集系统[J]. 哈尔滨理工大学学报, 2012, 17(1): 86-89. Song Lixin, Jiang Sigang, Zhoulei, et al. Desing of ECG acquisition system based on ZigBee[J]. Journal of Harbin University of Science and Technology, 2012, 17(1): 86-89. (in Chinese)
[4] 陈清启. 心电图学[M]. 济南: 山东科学技术出版社, 2012.
[5] Singla S K, Sharma A. ECG based biometrics verification system using LabVIEW[J]. Songklanakarin Journal of Science & Technology, 2010, 32(3): 258-263.
[6] 田絮资, 杨建, 黄力宇. 基于数学形态学的心电信号R波检测算法[J]. 现代电子技术, 2010, 33(22): 114-116. Tian Xuzi, Yang Jian, Huang Liyu. Detection algorithm of R wave in electrocardiogram signal based on mathematical morphology[J]. Modern Electronics Technique, 2010, 33(22): 114-116. (in Chinese)
[7] Martinez J P, Almeida R, OlmosS, et al. A wavelet-based ECG delineator: evaluation onstandarddatabases[J]. IEEE Transactions on Biomedical Engineering, 2004, 51(4): 570-581.
[8] Gradl S, Kugler P, Lohmuller C, et al. Real-time ECG monitoring and arrhythmia detection using Android-based mobile devices[C]// Engineering in Medicine and Biology Society. IEEE, 2012: 2452-2455.
[9] 张和君, 张跃, 周炳坤. 远程心电监护软件系统的设计与实现[J]. 计算机工程与应用, 2006, 42(15): 219-224. Zhang Hejun, Zhang Yue, Zhou Bingkun. Design and Implementation of Software System for Remote Electrocardiographic Monitoring[J]. Computer Engineering and Applications, 2006, 42(15): 219-224. (in Chinese)
[10] 苏丽. 远程心电监护诊断系统心电信号处理方法研究[D]. 哈尔滨: 哈尔滨工程大学, 2006.
DesignofRemoteDynamicReal-TimeECGSignalMonitoringSystem
XU Lei, JIA Mengmeng, LI Meilan, LI Kun
(Key Laboratory of Information Detection and Processing Technology of Shanxi Province (North University of China ), Taiyuan 030051, China)
1671-7449(2017)05-0428-06
TP274+.2
A
10.3969/j.issn.1671-7449.2017.05.010
2016-12-27
徐 磊(1992-), 男, 硕士生, 主要从事信息探测与处理技术等研究.