李思华,陈娇花
(1.广西贵港市人民医院,广西贵港 537100;2.上海中医药大学附属第七人民医院,上海 200137)
脉搏信号是一种重要的人体健康表征手段,其能够准确反映心血管的生理变化,并可辅助临床医生分析正常和异常的心脏状况。因此,脉搏信号对于远程监控病人身体健康状况具有重要的意义。目前流行的智能手表能够通过光测量的方法对佩戴者的心率、运动状态等进行简单的判断。然而其仍存在分析可信度低的问题,且无法适用于人体健康远程监控的应用场景。
基于上述问题的分析,该文研究了一种脉搏信号远程监控技术,其集成了嵌入式数据检测、信号采集与基于堆栈自编码器的数据处理算法。同时联动医疗团队,便于及时发现病情,并提升医疗效率。
文中设计的脉搏监控平台由动脉脉搏检测器、心音图仪和心电图仪组成,脉搏监控框架如图1 所示,程序流程图如图2 所示。
图1 脉搏监控框架
图2 程序流程图
所提设计通过使用Arduino Nano 嵌入式芯片收集参数,并向个人计算机发送该数据以实现进一步分析。嵌入式芯片与个人计算机通过RS232 串行通信。
该文选用的信号采集器如图3 所示。其采用前置放大器电路设计,并使用电容传感器来挖掘信号,而经过两倍放大的电容传感器释放的输出电压仍较小,所以选用反相增强电路作为放大器电路[1]。
图3 信号采集器
由于传感器采集的人体信号较为微弱,且需要对其进行处理,故选用仪表放大器对三路信号进行放大[2]。信号放大器的输出信号中仍存在海量噪声,这将在后续步骤进行消除。仪表放大器的增益G计算公式如下:
其中,R是运算放大器中的反馈电阻,Ra是用于调整增益的主要电阻。
为防止受试者遭到电击,采集电路利用光耦合器进行隔离。当光电二极管接收到正振幅时,则LED 驱动光电晶体管,光电晶体管将处于饱和状态。此时,隔离放大器的输出电压将接近正值;反之,当光电二极管接收到负幅值时,晶体管截止,隔离放大器的输出电压为负值[3]。
由1.2 节可知,主信号中仍存在噪声[4],因此使用陷波滤波器抑制50 Hz 的市电频率来进行降噪处理。陷波滤波器的截止频率计算如下:
其中,Rf是运算放大器中的反馈电阻,Rin是输入电阻。
为了抑制采集信号中的低频噪声,设计了如图4所示的二阶高通滤波器。二阶高通滤波器的增益可使用下式进行计算:
图4 高通滤波器
其中,ω是信号频率角速度,R是电阻值,C是电容值。
求和放大器如图5 所示,电路的输出可用式(5)进行计算[5]:
图5 求和放大器
其中,Rf是运算放大器中的反馈电阻,Rg是接地电阻。
解析脉搏信号由实信号及其希尔伯特变换组成[6-7]。定义x(t)是一个时域信号,其希尔伯特变换以及一个新的时域信号a(t),称为解析信号,可用下式表示:
使用傅里叶变换生成信号的复包络频谱,并取其绝对值,从而用于下一步的堆栈自编码器信号处理[6]。
采用正则化项,将稀疏约束引入自编码器的成本函数[8]。而此次选取的正则化项是衡量神经元平均输出激活值的函数,有助于避免过拟合问题[9]。引入稀疏性和权重正则化后的正则化代价函数可表示为:
其中,α表示L2正则化系数,β是稀疏正则化系数[10]。在自编码器的训练过程中,通过增加权重W,降低稀疏正则化项的值。该数值下降可通过在成本函数中引入L2正则化来解决,具体算法如式(8)所示:
其中,N、m和k分别表示输入数据中的隐藏层数[11],式(7)中的稀疏化程度Ψsparsity如式(9)所示:
通过上式计算两个分布之间的差异,实现对散度的映射:若两个分布相等,则随着分布彼此发散而散度增加。在自编码器的成本函数最小化时,Ψsparsity必须尽可能小,即两个被估计变量v与激活变量越接近。激活变量可以定义为:
其中,xj为系统输入,为权重,为偏置参数,m为网络层数。当所有稀疏自动编码器能实现单独训练,即可堆叠起来形成三层深度神经网络[12]。在每个隐藏层中,通过稀疏正则化项将稀疏引入网络;自动编码器通过无监督学习过程提取有用的特征[13];然后使用反向传播,结合标准梯度下降算法对深度神经网络进行微调[14-16]。
为了对文中设计的测量电路、堆栈自编码分析算法进行分析,使用连接到颈部表面颈动脉的压电传感器测量脉搏。测量电路基于Arduino Nano 微控制器,并使用USB 向搭载有分析算法的个人电脑发送脉搏信号等数据。实验共测量了15 名测试对象的颈动脉脉搏信号与心音信号,其中一组颈动脉数据如图6 所示。
图6 颈动脉数据
图7 给出了从不同被测对象的复包络谱中提取的特征散点图。其中,A 表示正常数据,B、C、D 分别表示不同类的缺陷信号。图7 的结果表明,自动编码器能从复杂包络谱中提取不同类别的特征,并实现显著区分及单独聚类,从而大幅增强了其信号数据的分析能力。
图7 特征散点图
基于堆栈自编码器的数据分析算法,使用去噪自编码器开发2 个单层深度神经网络。原始脉搏信号被用作输入,且被分成200 个窗口大小的样本,并将其输入深度神经网络DNN 进行故障诊断。给定脉搏的复杂包络谱中,能级的变化和缺陷频率的存在使异常模式更加多样化,自编码器能够有效挖掘不同状态下的信号状态。
除了稳态机制以外,堆栈自编码器与两种类似算法的比较如图8 所示。从图中可以看出,与其他两种算法相比,当使用来自每个故障类别的子样本进行训练网络时,该文算法具有较好的结果。值得注意的是,由于采用的数据集和网络训练集的相似度很高,因此该文算法的准确率为100%。
图8 算法准确性对比
对15 名测试对象进行6 次测试后的颈动脉脉搏的重搏切迹与心音描记器的测量结果如表1 所示。分析表1 的数据可知,所提算法对于每分钟心跳次数(BPM)的测量最大绝对值的误差值为-2.42%,此误差遵循±5%的允许差限值。被测对象的心音描记器S2 信号和重搏切迹之间的间隔平均值为0.038 s。
表1 颈动脉脉搏与心音描记器实验数据
为了实时监测受试者的颈动脉脉搏信号、心电图与心音图等信息,该文深入研究了脉搏信号的远程监控应用技术。同时,为了对经过传输的信号进行降噪处理,使用自编码器技术训练了深度神经网络,并对信号进行了准确分类。未来,该研究还能够辅助医疗机构远程实时地监控病人的身体健康情况,并进一步使用大数据分析手段进行身体状况预测,以实现精准的智能医疗。