基于安卓智能手机和微控制器单元的心电图监测系统
摘要
心脏病是世界主要死因之一。需要特别关注以防止更多人死于心脏病,其中一种方法是通过心电图(ECG)对心脏病进行早期诊断。心电图代表心脏的电活动。心脏的电活动可以通过放置在身体表面特定位置的一些电极进行记录。心电图记录可用于确定心脏异常。我们设计了一种基于安卓智能手机和微控制器单元的心电图监测系统。心电信号通过AD8232模块直接从患者获取。然后,心电信号在微控制器单元中进行处理。此外,心电信号被发送到安卓智能手机并在该设备上显示。我们利用心电信号中的心率来分析心脏异常。心率由心电图中的RR间期获得,其代表两个检测到的R波峰值之间的时间间隔。我们使用改进的Pan‐Tompkins算法来检测R波峰值。我们设计的设备在利用心率检测和分析心脏异常方面表现出良好的性能。
1. 引言
2013年,心血管疾病(CVD)是全球最常见的死亡原因[1],占5400万总死亡人数中的约1780万(1650万至1810万,95%不确定性区间),即占全球死亡总数的31.5%(30.3%至32.9%,95%不确定性区间)[2]。需要特别关注以防止更多因心脏病导致的死亡,其中之一便是通过心电图(ECG)进行心脏病的早期诊断[3]。心电图代表心脏的电活动。通过将一些电极放置在特定的身体表面位置,可以记录心脏的电活动。心电图记录可用于确定心脏异常[4–6]。Venu等使用心电图通过传统和新型参数来诊断高钾血症[7]。
在传统的医疗系统中,心电图在医院等固定场所进行监测,因此患者必须前往医院诊断某些心脏病。为了便于监测患者的生理信息(如心电图),需要一种移动医疗系统。体域传感网络技术的发展使得监测患者的生理参数成为可能[8]。
一些心电图监测系统的开发已经开展。李等人开发了一种基于物联网的普适性医疗服务的心脏病监测系统[9]。楼等人开发了一种基于智能手机的无线健康监测系统[8]。本文提出了一种基于安卓智能手机和微控制器单元的心电图监测系统。心电信号通过心电图模块直接从患者获取心电图信号。然后,在微控制器单元中对心电信号进行处理。此外,心电信号被发送到安卓智能手机并在该设备上显示。我们利用心电信号中的心率来分析心脏异常。
2. 数值方法
2.1. 数据采集
本研究招募了4名患者,记录了8组心电图信号。每名患者的心电信号记录时长为5分钟。参与者的平均年龄为22岁,且其参与获得了补偿。在记录心电图期间,要求患者放松并保持正常呼吸。
2.2. 心电图监测设计
心电图监测旨在监控并记录患者的心电信号。该监测系统由AD8232模块、Arduino UNO开发板、HC‐05蓝牙模块以及搭载安卓操作系统的智能手机组成。图1显示了心电图监测系统的框图。
AD8232模块是一款用于生物电势测量(如心电图)的集成信号调理模块。它利用双极高通滤波器消除运动伪影和电极半电池电位。该滤波器与放大器的仪器架构紧密耦合,因此可在单级内实现高增益和高通滤波。这种设计使得模数转换器(ADC)或超低功耗微控制器能够轻松获取输出信号。其信号放大倍数达1100倍,因此心电信号可被记录[10]。
Arduino UNO开发板是一款内置Atmega328微处理器的微控制器板。它具有6个模拟输入、14个数字输入/输出引脚(其中6个引脚可用作脉宽调制(PWM)输出)、一个在线串行编程(ICSP)接口、一个16 MHz石英晶体和一个USB连接[11]。HC‐05蓝牙模块专为建立透明无线串行连接而设计,完全符合蓝牙V2.0+标准,支持最高3Mbps的增强数据速率调制,并集成了完整的2.4GHz无线电基带和收发器[12]。
2.3. 心率测定
心率通过计算一分钟内出现的R波峰值数量来确定[3]。因此,需要进行R波峰值检测以确定心率。我们采用基于陈等人开发的R波峰值检测方法进行R波峰值判定[13]。图2显示了R波峰值检测的框图。该方法包括带通滤波和决策判断。
为了实时计算心率,使用公式(1),
$$
HR = \frac{60,000}{RR - Interval(ms)}
$$
(1)
其中HR为心率,RR − interval为心电图中从一个R波峰值到下一个R波峰值之间连续心跳的时间间隔[14]。
根据心率,通过公式(2)预测心脏异常情况,当安卓检测到心跳异常时会发出警告。
$$
if\ HR > 100 \vee HR < 60 \rightarrow abnormal \
if\ HR < 100 \vee HR > 60 \rightarrow normal
$$
(2)
2.4. R波峰值检测性能
R波峰值检测在心率测量中的性能通过以下三个参数进行衡量,
$$
Accuracy = 1 - \frac{FP + FN}{TotalBeat} \times 100\%
$$
(3)
$$
Sensitivity = \frac{TP}{TP + FN} \times 100\%
$$
(4)
$$
Positive\ Predictive = \frac{TP}{TP + FP} \times 100\%
$$
(5)
其中TP为真阳性,FP为假阳性,FN为假阴性。
3. 结果与讨论
心电图监测旨在记录和监测来自患者的心电信号。AD8232心电模块用于记录、滤波和放大从患者获取的心电信号。该心电模块为单导联心电模块,包含三个电极,放置于患者体表以记录心电信号。从患者获取的心电信号在Arduino UNO开发板中进行R波峰值检测和心率计算。
经过处理的心电信号通过基于TTL串行数据的无线通信,利用蓝牙HC‐05模块发送到安卓设备。安卓智能手机用于显示心电信号并将其保存为文本文件。图3展示了在心电图监测过程中安卓智能手机的用户界面(UI)。
表1. 准确率、敏感性、阳性预测值
患者 | 准确率 | 敏感性 | 阳性预测值 |
---|---|---|---|
001‐1 | 75.77 | 78.87 | 96.22 |
001‐2 | 88.05 | 91.51 | 96.36 |
002‐1 | 81.38 | 81.38 | 100.00 |
002‐2 | 87.12 | 87.95 | 99.07 |
003‐1 | 89.22 | 89.43 | 99.76 |
003‐2 | 89.15 | 89.15 | 100.00 |
004‐1 | 92.83 | 92.83 | 100.00 |
004‐2 | 89.25 | 90.19 | 98.97 |
总计 | 86.40 | 87.38 | 98.89 |
R波峰值检测在心率测量中的性能通过三个参数进行评估:准确率、敏感性和阳性预测值。表1显示了R波峰值检测的性能。R波峰值检测的总准确率、敏感性和阳性预测值分别为86.40%、87.38%和98.89%。
4. 结论
我们设计了一种基于安卓智能手机和微控制器单元的心电图监测系统。心电信号通过AD8232模块直接从患者获取,随后在微控制器单元中进行处理。此外,心电信号被发送到安卓智能手机并在该设备上显示。我们通过心电信号中的心率来分析心脏异常。心率由心电图中的RR间期获得,RR间期表示两个检测到的R波峰值之间的时间间隔。我们设计的设备在利用心率检测和分析心脏异常方面表现出良好的性能。R波峰值检测的性能通过三个参数进行评估:准确率、敏感性和阳性预测值。R波峰值检测的准确率为86.40%,敏感性为87.38%,阳性预测值为98.89%。