基于穿戴式心电信号监测系统设计*
2015-01-12俞文彬谢志军
俞文彬, 谢志军
(宁波大学 信息科学与工程学院, 浙江 宁波 315211)
基于穿戴式心电信号监测系统设计*
俞文彬, 谢志军
(宁波大学 信息科学与工程学院, 浙江 宁波 315211)
应对当前心电信号(ECG)监测系统的不足,设计了一种基于穿戴式心电信号监测系统,系统架构由AD8232生物芯片、超低功耗微控制器MSP430FR5738以及Micro—SD卡组成。详细介绍了系统软硬件的具体设计,并提出了一种动态双阈值的实时心率提取算法。通过对于本系统的功耗测试与实时心率算法的验证,得出本系统具备体积小、低功耗等穿戴式设备的优越性。
心电信号; AD8232; 低功耗; 实时心率算法; 穿戴式设备
0 引 言
由于传统心电信号(ECG)监护仪存在体积大、价格昂贵以及不易于携带等缺点,一些便携式心电信号监测装置便应运而生了。虽然已有一些便携式心电监测装置[1]不仅集成了信号采集、波形显示更甚至与相应的手机APP进行交互等功能,但是此类便携式心电装置还普遍存在的缺陷是功耗较高、戴在人体身上略显突兀以及在非静止状态,对于实时心率节拍的提取存在较大的误差。
本文设计了一种尺寸极小、功耗超低的可穿戴式心电信号监测系统。本系统去除了一般心电信号监测装置中属于鸡肋功能的蓝牙通信模块,取而代之加入了Micro-SD卡模块。该系统不仅连续采集人体心电信号储存于Micro-SD卡中,同时实时计算人体的心率,当出现心率异常时可发出预警信号。
1 总体设计
本文设计的基于穿戴式心电信号监测系统主要由心电信号采集模块、微控制器模块、数据存储模块以及为各个模块提供工作电压的电源模块组成,其总体设计框架如图1所示。心电信号采集模块负责采集人体微弱的心电信号,并对其进行滤波放大处理;控制器模块对采集模块预处理之后的心电信号进行AD采样,优化处理和心率计算以及对其他外围电路的控制;存储器模块由Micro-SD卡及其外围电路组成,将采集到的心电信号以文本形式存储。
图1 系统总体框架图
2 硬件设计
2.1 电源模块设计
本系统中的心电信号采集模块、微控制器模块以及数据存储器模块的工作电压均为3.3 V,故本系统的电源模块采用3.3 V电源系统。出于可穿戴式设备体积小的特点,本系统采用两粒松下CR1632(单个供电电压为3 V,容量为125 mAh)供电,使用LM1117—3.3 V稳压芯片将6 V电压降为3.3 V作为系统电压。
2.2 心电信号采集模块设计
2.2.1 CJMCU—AD8232芯片介绍
心电信号的频率范围为0.05~100 Hz,幅度范围为0~4 mV,属于低频微弱小信号。心电信号中混杂着诸多干扰,如肌电噪声、工频干扰、基线漂移以及运动伪迹等,所以,心电信号采集模块需在有效提取出微弱的心电信号的同时将对各种噪声起到最大的抑制。本系统采用CJMCU—AD8232生物芯片为核心器件,搭配相应的外围电路进行设计。该生物芯片具有在运动状态下提取、放大以及过滤微弱生物电信号作用,这使得后级低功耗A/D转换器(ADC)或微控制器可轻松采样该生物芯片的输出信号。图2为该芯片的功能框图,从图中可知,该生物芯片集成了仪表放大器(100倍)、运算放大器、右腿驱动放大器以及导联脱落检测电路等,按照该芯片数据手册搭配以相应的外围电路即可提取系统所需的心电信号。
图2 AD8232功能框架图
2.2.2 0.05 Hz高通滤波器
因心电信号的频率范围为0.05~100 Hz,所以,心电信号采集电路须滤除0.05 Hz以下的低频干扰信号,如基线漂移噪声[2]。本系统在AD8232生物芯片的仪表放大器输出端加以简单的交流耦合RC实现双极点高通滤波器[3]。具体电路如图3所示。
图3 高通滤波器电路图
2.2.3 100 Hz低通滤波器
在活动状态下,心电信号中将会夹杂大量的100 Hz以上的运动伪迹噪声,本系统结合AD8232生物芯片的运算放大器搭载简单的电阻器和电容器构成双极点低通滤波器[4]消除100 Hz以上的高频干扰信号,具体电路如图4所示。心电信号采集电路的总增益达到1100倍,满足系统要求。
图4 低通滤波器电路图
2.2.4 心电信号采集完整电路
根据上述设计完成以AD8232为主芯片的完整的心电信号采集电路如图5所示。
图5 心电信号采集模块电路图
将LA,RA,RL引脚接上电极片与人体左胸、右胸和右下腹位置相连接,OUTPUT引脚与示波器信号输入引脚相连接,上电之后,可观测到心电信号。
2.3 微控制器模块设计
图6 微控制器接口电路图
2.4 存储器模块设计
存储器模块通过SPI接口与微控制器进行数据交互,将人体的心电信号以文本的形式保存以供后期专业医疗人员对于心电数据进行分析。为了将系统的尺寸更一步缩小,本系统采用内存为32 GB的Micro—SD卡作为存储器。图7为存储器模块接口电路。
图7 微控制器接口电路图
3 软件设计
本系统的软件主要有主程序、定时器中断程序以及实时心率算法程序三部分组成。主程序循环检测是否有定时器中断发生以及实时心率是否超出正常范围;定时器中断程序设定相应的时间进入中断去读取A/D转换器读取的心电信号数据后存入Micro—SD中;实时心率算法程序对A/D转换后的心电信号数据进行分析计算出实时心率。
3.1 主程序
主程序完成系统初始化工作之后便进入主循环,在主循环中等待定时器中断和调用实时心率计算函数获取被测人的实时心率,判定心率是否在正常范围内,如超出,则以发出闪烁LED作为报警信号,具体流程如图8所示。
图8 主程序时序图
3.2 定时器中断程序
根据奈奎斯特采样定理[6],当采样频率大于原始信号最高频率的2倍以上,采样之后的数字信号才能完整地保留原始信号中信息。由于心电信号中有用成分的最高频率是100 Hz,采样频率必须在200 Hz以上才能确保心电信号的信息不被丢失。由于采样频率越高会导致功耗越高,本系统采用200 Hz频率进行A/D转换器采样,故单片机需要0.005 s进一次定时器中断,读取相应的值,具体流程如图9。
图9 定时器中断程序时序图
3.3 实时心率算法
(4)冲击能量较大时,正交各向异形板的四角区域向上翘起(图3c),最大向上位移达-1.0×10-3 m。
本文设计的实时心率算法的核心思想是动态双阈值,以R波波峰值作为其中一个阈值,以QRS波宽度作为另外一个阈值。目前的实时心率算法都只注重R波波峰这一个特征值,如文献[7]中的差分阈值算法,本文经过大量的ECG数据分析,得出QRS波宽度亦可作为计算实时心率的一个特征值。
3.3.1 滤除基线漂移
虽然本系统的心电信号采集电路已对基线漂移噪声进行了滤波处理,但是心电信号中或多或少会存在一些基线漂移噪声;再者,基线漂移的存在会对本算法的准确性造成较大的误差,所以,本文选取一种代码开销小(降低功耗)的方法对心电信号数据进行预处理,设未处理的心电信号为ECG(i)。
1)首先对心电信号取均值
(1)
2)再将ECG数据包中的每个数据与平均值做差得到ECG2
(2)
3)找出ECG2中最小的值ECGmin,将ECG2中的每个数据与ECGmin做差,得到基线漂移纠正后的数据
(3)
3.3.2 双动态阈值提取
选取连续2s的400个心电信号数据依次找出2个最大值(2s一般可以找出1~2个R波波峰),找到离每个最大值各自最近的最大值乘以0.7的临界点,计算这两个临界点的间距(根据大量的数据研究得出,以200Hz采样是间距点在6个左右),即图10中标注的dqrs,若间距点小于3或者大于10以上,将抛弃这个最大值,认为是一个干扰,间距点在3~10之间认为是一个正常的R波波峰,将这几个最大值进行平均后乘以0.7为R波波峰值阈值,将几个dqrs进行平均置为QRS波宽阈值。
图10 双动态阈值提取图
3.3.3 实时心率提取
选取20s的4000个数据存入数组作为实时心率算法样本数据。从第一个数据开始逐一与R波波峰值阈值进行比较,若大于,则记录该数据点的下标位置n1,同时将标志位Flag置为1,然后寻找比波峰动态阈值小的第一个数据,记录该数据点的下标位置为n2,同时标志位Flag清零,计算Δn=n1-n2.
若Δn在QRS波宽阈值合理范围内,则计数器counter加1;否则,略过,认为是一个干扰。如此反复,直至比较完4 000个数据点,则实时心率
rate=counter×60/20.
(4)
4 测试结果
4.1 系统尺寸测量
本系统的PCB板子使用AltiumDesignerSummer09软件绘制,该软件中具有测量PCB长宽功能。在PCB文中的菜单栏选择Place然后Dimesion(测量)就可测量相应的参数。本系统的尺寸测量结果如图11,系统板长不到4.2cm,宽度不足2.6cm。
图11 系统尺寸图
4.2 系统功耗测试
将电流表与本系统的电源正极串联,是本系统处于处于正常监测人体心电信号工作状态,此时电流表上显示的电流值即为当前电路消耗的平均电流,实验测试,本系统的平均电流Iav=2.3mA。本系统采用的两粒纽扣电池的总容量为250mAh,假设本系统一天24h全天工作,根据式(5)
(5)
可知本系统大概可以不间断监测人体心电信号4~5天,比当前已有的心电信号监测装置只能维持1天左右的使用时间大大的提升,简而言之,本系统的功耗非常低。
4.3 实时心率算法准确性测试
测验分别使用本文的动态双阈值心率算法与文献中的差分阈值算法对同一组心电数据进行心率计算。经过多次测试,测得结果如图12所示,从图中可知,本系统的动态双阈值算法统计误差更小。
图12 两种算法误差对比图
5 结 论
本文设计的基于穿戴式心电信号监测系统采用先进的生物芯片AD8232取代传统分立式元件设计的心电信号采集电路,不仅体积小,功耗低,而且采集到的信号失真小;采用最新铁电存储技术的MSP430FR5738作为微控制器,更进一步优化了本系统的功耗,经过测试本系统能够不间断工作4~5天。本文提出的一种动态双阈值算法用于实时心率算法的提取,该算法代码开销小,错误率低。
[1] 庞 宇,邓 璐,林金朝,等.基于形态滤波的心电信号去除基线漂移方法[J].物理学报,2014(9):428-433.
[2] 孙旭东,张 跃.基于AD8232和MLX90615的心电与体温测量系统设计[J].传感器与微系统,2014,33(9):81-84.
[3] 邵毅全,何 强,赵 杨,等.基于二阶滤波器的高阶带通滤波器设计和仿真[J].激光杂志,2013(1):25-27.
[4] 史 燕.用Matlab改进电子技术课程滤波器实验[J].实验技术与管理,2014(12):107-109.
[5] 刘敬松,张树人,李言荣.铁电存储技术[J].物理与工程,2002(2):37-40.
[6]MishaliM,EldarYC,DounaevskyO,etal.Xampling:Analogtodigitalatsub-Nyquistrates[J].IETCircuits,Devices&System,2011,5(1):8-20.
[7]FangWaichi,HuangHsiang-chen.Designofheartratevariabilityprocessorforportable3-leadECGmonitoringsystem-on-chip[J].ExpertSystemwithApplications,2013,40(5):1491-1504.
Design of ECG monitoring system based on wearable device*
YU Wen-bin, XIE Zhi-jun
(College of Information Science and Engineering,Ningbo University,Ningbo 315211,China)
To deal with shortcomings of current ECG monitoring system,design an ECG monitoring system based on wearable device.This system is mainly composed of an AD8232 biochip,ultra low power consumption Micro-controller MSP430FR5738 and a Micro-SD card.Introduce the specific designs of system software and hardware are introduced detailedly and a realtime heart rate extraction algorithm is proposed with dynamic double threshold value.By testing power consumption of this system and by verifying realtime heart rate algorithm,it is concluded that this system has many advantages of wearable devices,such as small volume and low power consumption.
ECG; AD8232; low power consumption; realtime heart rate algorithm; wearable devices
2015—06—03
国家自然科学基金资助项目(60902097);宁波市自然科学基金资助项目(2013A610044);“信息与通信工程”浙江省重中之重学科开放基金资助项目(XKXL1422);可穿戴多生理参数监护设备研发项目(HK2014000139)
10.13873/J.1000—9787(2015)09—0065—04
TP 302
A
1000—9787(2015)09—0065—04
俞文彬(1989-),男,浙江绍兴人,硕士研究生,研究方向为无线传感器网络、智能可穿戴设备。