2. 南通先进通信技术研究院, 南通, 226019;
3. 南通大学纺织服装学院, 南通, 226019
2. Nantong Research Institute for Advanced Communication Technologies, Nantong, 226019, China;
3. School of Textile and Clothing, Nantong University, Nantong, 226019, China
随着人民生活水平的不断提高,大众对于服装的要求不再只是局限于美观、舒适等基本功能,而是进一步要求其能够实现对穿戴者的实时健康监护。在这样的背景下,可穿戴技术近年来逐渐兴起。像心血管疾病此类的高发病,具有长期性和偶然性特点,常规定期的健康检查不能够实现有效的实时监护,防止发生意外[1], 因此功能性服装的需求越来越迫切。
临床上测量心电图的设备体积庞大且价格不菲,达不到随身携带和长期监护的要求。可穿戴心电监护服可以将监测系统集成在衣物上,不但可以实现衣物的日常穿着功能,还可以实时监测人体生理信号,从而可以在不影响穿戴者正常生活的情况下实施健康监护,防止突发疾病带来的严重后果。
由于可穿戴服装的特殊性,其柔性化、微型化、智能化和集成化要求较高。目前,医疗监测市场也出现了一些佩戴型设备产品。考虑到服装与人体的接触最为密切和舒适,可穿戴服装无疑是采集人体生理信号的最佳平台[2, 3]。面向家用的健康监护,本文设计并实现了可穿戴心电监护服。系统设计了灵敏度较高的柔性织物电极,选取导电性能良好的镀银纺织线完成心电信号的采集与传输。采集的心电信号经处理后,发送至上位机显示和监测。
1 信号采集系统 1.1 柔性导联线选择国际标准的12导联体系虽然应用已久,但不适用于家用的便携式心电监测。采用3导联的方式即可以满足日常使用的需要。临床上多使用医用导联线和Ag/AgCl电极测量心电图。显然这些不能够很好地与衣物相结合,不便应用到可穿戴服装中。考虑到导电性能,首先想到选用金属导电纤维来替代导联线完成测量。但在实验过程中发现,该类纤维可纺性较差,且易断、耐久性差,不适合作为导线的替代品。最终经过市场调研和大量结合Ag/AgCl电极的实验测试,选定如图 1所示的镀银导电纺线。该类纺线不仅导电性能良好,而且易纺丝、耐洗耐磨,十分适合做柔性导联线。
测试过程中还发现,纺线缝纫线迹的长度、宽度和面线张力的不同会影响到信号质量。如图 2所示,经过大量实验的对比分析,选取其中信号质量最好的心电波形(5号)。其对应的线迹类型即为最终选择的缝纫方案。提取一个周期与临床测量结果进行对比,如图 3所示。不排除人体生理状态的影响下,除了R波峰值稍有减弱外,各波段特征明显,验证了方案的可行性。
1.2 柔性干电极设计
选定了导电纺线后,接下来需考虑电极的设计。临床上Ag/AgCl电极属于湿电极,其测量虽然比较精确,但是每次使用都需更换新的电极,而且导电凝胶可能会引发人体皮肤的过敏。织物电极属于干电极,作为一种柔性的新型电极,易与服装集成于一体,具有纺织品的柔软性和舒适性,也可水洗和循环使用,所以成为国内外的研究热点[4]。本系统织物电极的面料选定为青岛某公司生产的浸银导电织物[5],相比镀银菱形格布和加厚针织布等测试结果更好。设计的电极实物图如图 4所示,其中间部分为记忆海绵,可实现干电极与人体皮肤的亲密接触。类比一次性电极,并经过阻抗测试,织物电极的半径大小确定为4 cm。
1.3 实验平台搭建
为了能够采集到最佳的心电信号,本文选择高弹面料制作了可穿戴的贴身背心。便携式心电监测设备通常采用3导联来监测心电活动状态,适合日常使用。3个织物电极分别缝制在RA、LA和RL处。考虑到穿戴者胖瘦不一,所以服装在胸部和腹部设计有压力调节带,可以充分保证电极与人体的紧密接触。导电纺线按照选定的线迹类型进行缝纫。合理的线路设计既能够保证信号的质量,又不影响服装的美观。系统实物图和穿戴效果如图 5所示,穿戴者无不适感。
2 信号处理系统 2.1 硬件设计
心电监测系统的硬件电路包括AD8232集成模块、单片机系统、蓝牙和电源,其PCB(Printed circuit board)和基本原理图如图 6, 7所示。该装置体积较小,可戴在衣角处,既不会影响穿戴者的正常活动,也不会有不适的感觉。
系统使用本文设计的柔性织物电极,并选取导电性能良好的镀银纺织线完成心电信号的采集。信号处理部分使用AD8232芯片搭配的简单电路完成。考虑到心电信号幅值属毫伏级,其95%的频带能量集中分布在0.05~40 Hz的范围内,且极易受到噪声干扰[6],因此采用AD8232信号调理模块完成信号的放大、滤波等工作,并将心电信号电压抬升至单片机模数转换的处理范围[7]。
由于本系统的信号处理并不复杂,所以处理的核心部分选用STM32F103C8T6单片机最小系统。该处理器内部集成有12 bit的A/D转换器,可实现心电信号的模数转换。转换完成后利用单片机串口和蓝牙透传模块,实现数据到上位机的无线传输。
2.2 软件设计软件Keil可用于单片机的应用开发。STM32的库是由ST公司针对STM32提供的函数接口。开发者能够调用这些函数接口配置所需的STM32寄存器,使开发人员可以不用进行最底层的寄存器操作,具有快速开发、易于识别和修改等优势。因此我们选择使用STM32的库函数完成了整个单片机程序的编写。
依据奈奎斯特采样定理,为了无失真地从采样后的数字信号中恢复出模拟信号,需满足采样频率大于等于信号最高频率的2倍[8]。本系统中ADC(Analog-to-digital convert)触发方式选用定时器触发。设置信号的采样周期为10 ms,即100 Hz,可以完整地恢复出原始波形。
上位机软件监测窗口使用MATLAB新建GUI进行设计。GUIDE是专用于GUI程序设计的向导设计器,通过GUIDE可以设计出各种满足要求的图形用户界面[9]。设计过程中,需设置图形对象的Tag和String选项。MATLAB的所有控件事件响应都是依靠回调函数(Callback function)来完成的,设置好GUIDE时点击保存,将自动生成程序文件和图形文件[10]。程序文件中的每一个对象已经自动写好其回调函数的名称和相关参数,程序员需在函数中编写要进行的处理。本系统设计的图形文件界面上半部分显示区接收蓝牙发送的心电信号数据,下半部分为波形显示区,实时监测人体心电信号。使用时待所有工作准备就绪,需点击“打开串口”控件。MATLAB语句:instrhwinfo (‘Bluetooth’); instrhwinfo(‘Bluetooth’, ‘HC-05’); scom=Bluetooth(‘HC-05’, 1)可以寻找周围的蓝牙设备,连接完成后通过虚拟串口可建立通信。使用str2num函数将显示区接收到的字符串转换成数值后,通过plot语句便可在波形显示区进行实时绘图。同时,将海量心电信号数据保存为.mat文件,方便后续的处理与分析。图 8即为使用Ag/AgCl电极和医用导联线测量得到的实时心电图。可见各部分波段清晰可识别,与传统设备测量结果相当。从而表明整个监测系统具备有效性和准确性,并可用于可穿戴心电监护服的实验测量。
3 运动伪迹干扰抑制算法
传统医用设备对人体心电信号的测量,往往要求测量对象静止不动才能完成,目的是为了测得平稳的心电图信号。对于可穿戴心电监护服,若穿戴者进行大幅度的运动,难免会发生织物电极的移位,不可避免的带来运动伪迹的干扰,使得基线偏离正常轨迹,严重影响R波的识别,从而无法准确地进行心率检测等。运动伪迹作为采集心电信号时主要的干扰,是一种非平稳的随机信号,具有动态的频率范围。运用硬件滤波的方法很难达到理想的效果[11]。所以本文提出了一种基于主成分分析(Principal component analysis,PCA)的方法,完成对运动伪迹的抑制。PCA处理的对象是多通道的数据,故需要将上位机采集得到的单通道心电信号数据分解成为多个通道信号。
3.1 经验模态分解经验模态分解(Empirical mode decomposition, EMD)是常用的信号分解处理方法之一。EMD的整个过程是自适应的,其基函数直接从原始信号中产生,得到的信号分量数量有限且每一个信号分量都包含相应的物理信息。基于运动伪迹的时域瞬态性和心电信号固有周期性的特点[12],选择该种信号分解方法较为合适。
EMD将原始心电信号分解为多个不同的固有模态函数(Intrinsic mode function,IMF)[13-14]。各种模态都将会根据其自身的特征尺度进行分解,分解后的每种模态无相关性。EMD的实质即对信号进行平稳化处理,将心电信号按不同的频率和幅值映射到不同的时间尺度。使用时需在MATLAB中安装EMD工具箱。安装完成后,便可对包含运动伪迹干扰的心电信号进行分析:load(‘walk.mat’); imf=emd(data); emd_visu(data, 1:length(data), imf); 其中emd_visu函数可以将不同时间尺度的IMF绘制出来,如图 9所示。可见EMD将单通道心电信号数据分解为8通道(舍弃Res部分)。对于8通道数据,便可使用PCA对其进行处理。
3.2 主成分分析
PCA可以从多个参数指标中提取出少量综合指标,即主成分。每一成分都反映了原始变量的大部分信息,且包含的信息相互不重复,所以PCA在数据的降维方面应用广泛[15]。经研究发现,PCA除了可以用于减少数据的维数,在信号滤波方面也能够发挥其应有的作用。人体心电信号可以看成是由不同频率和幅值构成的函数之和,这其中包含有用的生理信号和噪声干扰。有用信号即为主成分,所占能量较多。而噪声信号即为其他成分,且与有用信号的相关性较小。若让二者之间维度不相关,并将主成分提取出来,便可实现对噪声干扰的抑制。首先加载包含运动伪迹干扰的一段心电信号数据到MATLAB工作区。经EMD分解后,原始数据可按各通道组成8行1 000列的矩阵f(取样本采样点数为1 000)。接下来便可使用工具函数对其进行PCA处理,相关步骤如下:
(1)使用zscore函数对矩阵f中的数据进行标准化处理;
(2) 计算其协方差矩阵,C=(f*f′)/ 1 000;
(3) 使用“princomp”函数计算该协方差矩阵的特征根与特征向量。计算可产生4个变量。其中变量“score”为生成的新的数据,该数据按贡献率的大小进行排列。变量“latent”是一维列向量,每一个数据与变量“score”中各维度的贡献率相对应;
(4) 计算累积贡献率,提取主成分。数学上累积贡献率一般为0.85~0.95,常取0.85。将主成分各行数据相加便可重构出新的心电信号数据。
4 系统实验结果下面对系统的有效性进行实测。接通电源,电路指示灯亮。蓝牙LED灯闪烁,即为未连接。上位机监测界面点击“打开串口”,待蓝牙LED灯常亮,即已连接,监测界面可实时循环显示人体心电图。图 10中分别为坐立、站立和快走状态下的心电波形。柔性材料与服装集成后,测得的R波峰值相比各部分独立实验时效果更佳。如图 10(c)所示,穿戴者大幅运动时,心电波形中最重要的QRS群波依然清晰可识别。其带来的运动伪迹可使用算法抑制。该案例中,各成分贡献率如图 11所示,曲线为累积贡献率。图 12为使用该方法重构出的心电信号。可见运动伪迹被很好地抑制,基线轨迹平稳。另一方面,本文对采集的心电数据进行了方差运算,结果见表 1。显然快走状态下的心电数据方差偏大,而经PCA处理后方差与两种静止状态下的方差接近,验证了算法的有效性。
5 结束语
本文设计的可穿戴心电监护服使用柔性织物电极和3导联的测量方式,可以有效实时监测人体在不同状态下的心电图。该系统硬件电路功耗低、续航能力强、方便携带。上位机软件监测界面使用MATLAB的GUI进行设计,可操作性强、界面友好,能够实时存储海量的心电信号数据,以便后续的处理和分析。对于穿戴者大幅运动所带来的运动伪迹,本文提出了一种基于主成分分析的算法,能够很好地去除运动伪迹,对心电信号进行平稳化处理。与同类系统相比,该可穿戴心电监护系统真正实现了与服装的紧密结合,而且成本较低,并可面向不同群体。心电监护服主要面向家用的健康监护,在日常生活中可应用于人体的心率检测,也可以为心电图的诊断提供重要的辅助信息。
为了产品能够应用到更多的场合,在进一步研究中将考虑设计一款应用软件,在移动终端实时显示和处理心电信号,并在波形异常时发出警示信息,及时地与医疗中心取得联系。
[1] |
郭继鸿. 远程心电监测技术:来自互联网医疗的思索[J]. 临床心血管病杂志, 2016(11): 1071-1075. Guo Jihong. Technology of remote electrocardiogram monitor-thinking about Internet medicine[J]. Journal of Clinical Cardiology, 2016(11): 1071-1075. |
[2] |
梁丽君. 可穿戴心电监控服装的研究及其性能表征[D]. 天津: 天津工业大学, 2017. Liang Lijun. Study on wearable ECG monitoring clothing and performance characterization[D]. Tianjin: Tianjin Polytechnic University, 2017. http://cdmd.cnki.com.cn/Article/CDMD-10058-1017198311.htm |
[3] |
Zhu Y, Niu Q. Design and implementation of wearable ECG monitoring equipment[J]. Machinery & Electronics, 2016, 34(8): 51-55. |
[4] |
Zhang H, Tian L, Lu H, et al. A wearable 12-lead ECG monitoring equipment[J]. Machinery & Electronics, 2016, 34(8): 51-55. |
[5] |
蔡志鹏. 衣物结合的心电穿戴系统[D]. 南京: 东南大学, 2015. Cai Zhipeng. A wearable ECG monitoring system based on flexible garment[D]. Nanjing: Southeast University, 2015. http://cdmd.cnki.com.cn/Article/CDMD-10286-1016050435.htm |
[6] |
Meng Y, Zhneg G, Dai M, et al. Design and implementation of wearable ECG signal acquisition and analysis system[J]. Computer Science, 2015, 42(10): 39-42. |
[7] |
卢潭城, 刘鹏, 高翔, 等. 基于AD8232芯片的便携式心电监护仪设计[J]. 实验技术与管理, 2015, 32(3): 113-117. Lu Tancheng, Liu Peng, Gao Xiang, et al. Design of portable ECG monitor based on AD8232 chip[J]. Experimental Technology and Management, 2015, 32(3): 113-117. DOI:10.3969/j.issn.1002-4956.2015.03.029 |
[8] |
Cristea C, Pasarica A, Andruseac G, et al. A wireless ECG acquisition device for remote monitoring of heart rate and arrhythmia detection[C]//E-Health and Bioengineering Conference. [S. l. ]: IEEE, 2016: 1-4.
|
[9] |
万卫华, 刘志英. 基于MATLAB的采集数据仿真界面设计[J]. 中国科技信息, 2007(16): 87. Wan Weihua, Liu Zhiying. Simulation interface design of collection data based on MATLAB[J]. China Science and Technology Information, 2007(16): 87. DOI:10.3969/j.issn.1001-8972.2007.16.039 |
[10] |
罗华飞. MATLAB GUI设计学习手记[M]. 北京: 北京航空航天大学出版社, 2014. Luo Huafei. Script of MATLAB GUI design study[M]. Beijing: Beihang University Press, 2014. |
[11] |
罗乔. 动态心电采集装置与运动伪迹抑制方法研究[D]. 武汉: 武汉理工大学, 2011. Luo Qiao. Research on ambulatory ECG sampling device and motion artifact suppression method[D]. Wuhan: Wuhan University of Technology, 2011. http://med.wanfangdata.com.cn/Paper/Detail?id=DegreePaper_Y1879870 |
[12] |
向馗, 罗乔, 陈静. 基于周期元分析的运动伪迹消除方法——以心电信号为例[J]. 生物医学工程学杂志, 2012(4): 639-644. Xiang Kui, Luo Qiao, Chen Jing. Study on motion artifact reduction based on periodic component analysis using ECG as a case[J]. Journal of Biomedical Engineering, 2012(4): 639-644. |
[13] |
Rakshit M, Das S. An efficient ECG denoising methodology using empirical mode decomposition and adaptive switching mean filter[J]. Biomedical Signal Processing & Control, 2018, 40: 140-148. |
[14] |
余炜, 周娅, 马晶晶, 等. 基于EMD和LVQ的信号特征提取及分类方法[J]. 数据采集与处理, 2014, 29(5): 683-687. Yu Wei, Zhou Ya, Ma Jingjing, et al. Signal feature extraction and classification method based on EMD and LVQ neural network[J]. Journal of Data Acquisition & Processing, 2014, 29(5): 683-687. DOI:10.3969/j.issn.1004-9037.2014.05.003 |
[15] |
Ma Z. A tutorial on principal component analysis[J]. Eprint Arxiv, 2014, 51(3): 219-226. |