【论文精选】体外反搏装置充排气时间自动优化算法与实现
肖前军
(重庆工业职业技术学院 自动化学院,重庆401120)
摘 要: 针对体外反搏装置充排气时间准确性及自动化程度差的缺陷,提出了一种体外反搏装置充排气时间自动优化方法。开发了颞脉波的采集和处理电路,并根据采集的颞脉波在反搏前后的特征点,设计了颞脉波特征点的搜索算法。根据搜索的特征点,给出了体外反搏装置充排气时间自动调节算法,实现了体外反搏装置充排气时间自动调节,获得了最佳的反搏效果,大大提高了体外反搏装置的自动性、安全性和有效性,具有广阔的市场应用前景和参考价值。
关键词: 体外反搏;颞脉波;自动优化;充排气时间;特征点
中图分类号: TN72;TP27
文献标识码: A
DOI:10.16157/j.issn.0258-7998.2017.04.016
中文引用格式: 肖前军. 体外反搏装置充排气时间自动优化算法与实现[J].电子技术应用,2017,43(4):62-64,68.
英文引用格式: Xiao Qianjun. Automatic optimization algorithm and realization of external counterpulsation device inflation/deflation timing[J].Application of Electronic Technique,2017,43(4):62-64,68.
0 引言
体外反搏采用在患者体外进行充排气实现物理治疗[1],能有效治疗多种缺血性疾病[2],已在各大医院得到广泛应用。目前体外反搏装置大多数采用蔡大卫提出的无创性颞动脉压力脉搏波[3,4](简称颞脉波)作为反搏充气时间的定时指标和反搏效应的客观指标。医生在患者治疗时,通过采集患者的颞脉波信号手动调整充排气时间,保证反搏波升高起始点正好处于心脏舒张期的开始,然而在治疗过程中,患者的心电会发生变化,如果不动态调整充排气时间会导致疗效较差[3,4]。本文根据颞脉波的特征点在其下降支上均存在一个明显的切迹点,设计控制算法识别反搏前后颞脉波的切迹点位置,并计算出反搏后切迹点位置与反搏前颞脉波位置的偏差,用以补偿体外反搏中的充排气时间,实现体外反搏装置充排气时间自动调节,获得最佳的反搏效果,从而大大提高体外反搏装置的自动性、安全性和有效性。
1 颞脉波信号采集
1.1 颞脉波信号采集原理框图
颞脉波信号采集原理如图1所示。颞脉波信号通过压力换能器送入滤波、放大电路,AD采样使用ADS1256完成,信号隔离采用TI公司的7640隔离器件,实现4 000 V高压隔离,保障使用者安全,处理器采用STM32,PC完成波形显示和人机操作界面。
1.2 信号放大电路设计
颞脉波放大电路如图2所示,放大器采用INA326放大压力换能器采集的颞脉波, 基准电源芯片REF191对放大的颞脉信号进行偏置处理, 处理后的信号送入AD采样器。
1.3 数据采集电路设计
项目中选取ADS1256完成数据采集,并采用ISO7640对A/D转换信号和STM32信号进行光电隔离, 保障使用者安全。
1.4 信号采集、处理和控制电路
本文的MCU采用STM32F103芯片,STM32F103系列属于中端32位ARM微控制器,该芯片由意法半导体(ST)公司出品,其内核是Cortex-M3,工作频率采用PLL倍率方式,最高工作频率可达72 MHz[5]。
2 充排气时间自动优化算法
2.1 数字滤波器设计
采集的颞脉波含有干扰信号,需要进行滤波,项目使用数字滤波器滤除干扰信号。一个时域离散系统的频率特性可以表示为[6,7]:
其中Y(ejw)、X(ejw)分别是数字滤波器的输出序列和输入序列频域特性。
可以看出,处理信号的目的就是选择适当的H(ejw),使得滤波后的X(ejw)H(ejw)满足设计要求。
通过大量颞脉波能量分析,颞脉波能量主要集中在30 Hz以下,因此将滤波带宽设定为10 Hz~30 Hz。
2.2 反搏前颞脉波信号特征值提取
作为体外反搏充气时刻的参考点,颞脉波信号切迹点的识别算法极其重要,目前尚未有较成熟的颞脉波切迹点的识别算法。本文设计了颞脉波切迹点识别算法,算法需要5步完成,用S1~S5表示。反搏开始前计算颞脉波信号特征值并根据特征值标定特征点,如图3中的谷值点V和切迹点A。
S1:采集颞脉波,并做滤波处理。
S2:等待20 s,待颞脉波的波形稳定后自学习,计算出反搏前颞脉波在t时间内的上升斜率、下降斜率、极小值之和、极大值之和,并且进一步计算出颞脉波的特征参数:上升斜率阈值Tslope_up、下降斜率阈值Tslope_down、切迹点坐标阈值Topoint、谷值点坐标阈值Tvpoint、切迹点极限坐标阈值TLopoint, 其中:
Tslope_up=Kup×上升斜率之和/上升斜率个数;Kup为系数。
Tslope_down=Kdown×下降斜率之和/下降斜率个数;Kdown为系数。
如果极小值之和>0,则Topoint=Kn×(极小值之和/极小值个数)。
如果极小值之和<0,则Topoint=Kn×(极小值之和/极小值个数)。
Tvpoint=Kv×极小值之和/极小值个数。
TLopoint=极大值之和×4.0/极大值个数。本文中取时间t为10 s,通过大量实验验证上述Kup取1.0、Kdown取0.8、Kn取1.5、Kv取0.5时效果比较理想。
S3:搜索反搏前颞脉波的谷值点,搜索方法:如果颞脉波中点Pi的斜率≥0,其前面第一个点Pi-1的斜率<0且点Pi的波值大于该谷值点坐标阈值,则进一步判断该点Pi后面第二个点Pi+2的斜率是否大于Kt×Tslope_up,如果后面第二个点Pi+2的斜率大于Kt×Tslope_up,则表示该点Pi为谷值点,即图4中的V点,Kt为调节系数,通过大量实验验证,Kt取0.6。
S4:在搜索到反搏前颞脉波的谷值点的前提下,搜索反搏前颞脉波的切迹点,即在步骤S3中如果没有搜索到谷值点则循环执行步骤S3,如果搜索到谷值点则搜索反搏前颞脉波的切迹点。
搜索反搏前颞脉波切迹点方法为:如果颞脉波中点Pi的斜率≥0,其前面第一个点Pi-1的斜率<0,且前面第一个点Pi-1的波值小于切迹点坐标阈值,则进一步判断点Pi后面第一个点Pi+1的斜率是否大于下降斜率阈值;如果该点Pi后面第一个点Pi+1的斜率大于下降斜率阈值,且其波值大于切迹点坐标阈值,则所述点Pi前面第二个点Pi-2为切迹点,即图3中的A点。
由于在反搏前颞脉波不受患者心电波动的影响,所以在反搏前一个颞脉波周期内只存在一个切迹点。
S5:在搜索到反搏前颞脉波切迹点的前提下,计算反搏前切迹点与谷值点之间的时间差TVA,作为判断反搏后切迹点是否异常的依据。
2.3 反搏时颞脉波信号特征值提取
开始反搏后,处理器自学习,采用与S2中相同的方法计算出反搏时颞脉波在t时间内的上升斜率、下降斜率、极小值之和、极大值之和,并且进一步计算出反搏时的颞脉波特征参数:上升斜率阈值Tslope_up、下降斜率阈值Tslope_down、切迹点坐标阈值Topoint、谷值点坐标阈值Tvpoint、切迹点极限坐标阈值TLopoint。
采用S3相同的方法搜索反搏时颞脉波在一个颞脉波信号周期内的谷值点。
采用S4相同的方法搜索反搏时颞脉波在一个颞脉波信号周期内的切迹点。
由于开始反搏后,颞脉波受到心电波动和充气时间不准确的影响,在一个颞脉波周期内可能会出现多个切迹点。如果切迹点的数量≥2,如图4所示,则将所有切迹点中前面两个切迹点之间的时间差Tx作为充气时刻补偿参数。如果切迹点的数量为1,如图5所示,计算切迹点与谷值点之间的时间差Ty。
2.4 充排气时间自动优化算法
2.4.1 体外反搏装置初始充排气时间设置
心脏收缩期结束后进入舒张期,心电信号T波结尾一般可视为心脏收缩期即将结束。但是通常情况下患者的T波特征不明显,因此直接检测T波末端作为心脏收缩期结束的标志进行体外反搏充排气时序控制没有普遍的适用性,但是以此作为参照进行体外反搏充排气时序控制具有普遍意义[3,4]。图6所示为心电波和反搏波。设TRR为心电信号中相邻两个QRS波的两个R波之间的间隔时间,如图6(a)所示,TQT为心电信号中从QRS波的起点到T波终点的QT间期,TQT和TRR存在一定的相关性,许多文献报道根据测量TRR计算TQT的公式,其中比较典型且误差较小的是Bazett公式[3,4]:
式中C1为时间常数,与系统机械延时有关。
气囊排气时间以充气时刻为基准,包括气囊充气时间TCQ和保压时间TBY:
式中C2为时间常数,与系统机械延时有关。
2.4.2 体外反搏装置充排气时间自动调节
上述体外反搏装置初始充排气时间是根据心电QRS波计算而来,由于患者个体生理参数存在差异,导致充排气时间不准确,影响治疗效果,因此需要在反搏过程对充排气时间进行跟踪和动态调节。本文采用颞脉波进行动态跟踪和调节,按照2.3节的方法搜索反搏后的切迹点和谷值点。
如果切迹点数量≥2,表明充气时刻滞后,则将所有切迹点中前两个切迹点之间的时间差Tx作为充气时刻补偿参数。则式(5)修正为:TON=TQT-C1-Tx,即充气点提前Tx;同样式(6)修正为:TOFF=TON+TCQ+TBY-C2-Tx,即排气点提前Tx。按照修正后的公式对反搏充排气时间进行动态调节,直至切迹点的数量为1。
如果切迹点的数量为1,计算切迹点与谷值点之间的时间差Ty,比较Ty和TVA的大小,当Ty<TVA时表明充气时刻超前,计算充气时刻补偿参数TB=TVA-Ty,则式(5)修正为TON=TQT-C1+TB,即充气点推迟TB;同样式(6)修正为:TOFF=TON+TCQ+TBY-C2+TB,即排气点推迟TB。当Ty>TVA表明充气时刻滞后,采用相同方法修正式(5)和式(6),提前充排气时间。通过动态跟踪调整后,反搏时颞脉波如图6(b)所示。
3 实验结果与分析
为了验证所得出算法的有效性,将该算法应用在PAK型体外反搏装置中,反搏效果如图7,并采集50例患者使用该优化算法前后反搏时颞脉波数据,计算反搏前切迹点(图7(a)的A点)与反搏时切迹点(图7(b)的A1点,图7(c)、图7(d)的A点)的时间差。表1统计了使用该优化算法前后不同时间差的患者数量。当时间差小于20 ms时,治疗效果较好。进一步把采集的数据绘制为波形,可以观察到未使用优化算法时充气点在切迹点附近(即时间差小于20 ms)只有13例,其余患者均偏离了切迹点,治疗效果较差。当使用优化算法后,48例患者充气点均在切迹点附近,只有2例患者稍微偏离了切迹点。可见该算法大大提高了充排气时间的准确性,改善了治疗效果。
4 结论
本文通过采集患者反搏治疗时的颞脉波,并根据该波形特征,设计了颞脉波切迹点识别算法,并应用在体外反搏装置系统中,实现了体外反搏装置充排气时间自动调节,获得了最佳的反搏效果,大大改善了体外反搏装置的自动性、安全性和有效性,具有一定的理论价值和实用价值。
参考文献
[1] 刘艳.体外反搏的作用原理与临床应用[J].体育科技,2009,30(1):51-56.
[2] 杜健航,伍贵富,郑振声,等.增强型体外反搏对早期动脉粥样硬化斑块局部应力环境影响的实验与仿真研究[J].中国生物医学工程学报,2014,33(2):246-251.
[3] 蔡大卫.体外反搏[M].上海:科学与技术出版社,2004.
[4] 伍贵富,杜志民.增强型体外反搏理论与实践[M].北京:人民卫生出版社,2012.
[5] 张勇,董浩斌.基于STM32和LabVIEW的地震数据采集卡的设计[J].电子技术应用,2012,38(10):72-80.
[6] 毛军勇,陈立家,刘名果.基于结构进化的无限冲激响应数字滤波器设计方法[J].计算机应用,2015,35(5):1250-1254.
[7] 陆幼青,潘宏侠.基于TMS320F2812数字滤波器的设计方法[J].四川兵工学报,2006(4):50-53.