文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.016
中文引用格式: 肖前軍. 體外反搏裝置充排氣時間自動優(yōu)化算法與實現(xiàn)[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 引言
體外反搏采用在患者體外進行充排氣實現(xiàn)物理治療[1],能有效治療多種缺血性疾病[2],已在各大醫(yī)院得到廣泛應用。目前體外反搏裝置大多數(shù)采用蔡大衛(wèi)提出的無創(chuàng)性顳動脈壓力脈搏波[3,4](簡稱顳脈波)作為反搏充氣時間的定時指標和反搏效應的客觀指標。醫(yī)生在患者治療時,通過采集患者的顳脈波信號手動調整充排氣時間,保證反搏波升高起始點正好處于心臟舒張期的開始,然而在治療過程中,患者的心電會發(fā)生變化,如果不動態(tài)調整充排氣時間會導致療效較差[3,4]。本文根據(jù)顳脈波的特征點在其下降支上均存在一個明顯的切跡點,設計控制算法識別反搏前后顳脈波的切跡點位置,并計算出反搏后切跡點位置與反搏前顳脈波位置的偏差,用以補償體外反搏中的充排氣時間,實現(xiàn)體外反搏裝置充排氣時間自動調節(jié),獲得最佳的反搏效果,從而大大提高體外反搏裝置的自動性、安全性和有效性。
1 顳脈波信號采集
1.1 顳脈波信號采集原理框圖
顳脈波信號采集原理如圖1所示。顳脈波信號通過壓力換能器送入濾波、放大電路,AD采樣使用ADS1256完成,信號隔離采用TI公司的7640隔離器件,實現(xiàn)4 000 V高壓隔離,保障使用者安全,處理器采用STM32,PC完成波形顯示和人機操作界面。
1.2 信號放大電路設計
顳脈波放大電路如圖2所示,放大器采用INA326放大壓力換能器采集的顳脈波, 基準電源芯片REF191對放大的顳脈信號進行偏置處理, 處理后的信號送入AD采樣器。
1.3 數(shù)據(jù)采集電路設計
項目中選取ADS1256完成數(shù)據(jù)采集,并采用ISO7640對A/D轉換信號和STM32信號進行光電隔離, 保障使用者安全。
1.4 信號采集、處理和控制電路
本文的MCU采用STM32F103芯片,STM32F103系列屬于中端32位ARM微控制器,該芯片由意法半導體(ST)公司出品,其內核是Cortex-M3,工作頻率采用PLL倍率方式,最高工作頻率可達72 MHz[5]。
2 充排氣時間自動優(yōu)化算法
2.1 數(shù)字濾波器設計
采集的顳脈波含有干擾信號,需要進行濾波,項目使用數(shù)字濾波器濾除干擾信號。一個時域離散系統(tǒng)的頻率特性可以表示為[6,7]:
其中Y(ejw)、X(ejw)分別是數(shù)字濾波器的輸出序列和輸入序列頻域特性。
可以看出,處理信號的目的就是選擇適當?shù)腍(ejw),使得濾波后的X(ejw)H(ejw)滿足設計要求。
通過大量顳脈波能量分析,顳脈波能量主要集中在30 Hz以下,因此將濾波帶寬設定為10 Hz~30 Hz。
2.2 反搏前顳脈波信號特征值提取
作為體外反搏充氣時刻的參考點,顳脈波信號切跡點的識別算法極其重要,目前尚未有較成熟的顳脈波切跡點的識別算法。本文設計了顳脈波切跡點識別算法,算法需要5步完成,用S1~S5表示。反搏開始前計算顳脈波信號特征值并根據(jù)特征值標定特征點,如圖3中的谷值點V和切跡點A。
S1:采集顳脈波,并做濾波處理。
S2:等待20 s,待顳脈波的波形穩(wěn)定后自學習,計算出反搏前顳脈波在t時間內的上升斜率、下降斜率、極小值之和、極大值之和,并且進一步計算出顳脈波的特征參數(shù):上升斜率閾值Tslope_up、下降斜率閾值Tslope_down、切跡點坐標閾值Topoint、谷值點坐標閾值Tvpoint、切跡點極限坐標閾值TLopoint, 其中:
Tslope_up=Kup×上升斜率之和/上升斜率個數(shù);Kup為系數(shù)。
Tslope_down=Kdown×下降斜率之和/下降斜率個數(shù);Kdown為系數(shù)。
如果極小值之和>0,則Topoint=Kn×(極小值之和/極小值個數(shù))。
如果極小值之和<0,則Topoint=Kn×(極小值之和/極小值個數(shù))。
Tvpoint=Kv×極小值之和/極小值個數(shù)。
TLopoint=極大值之和×4.0/極大值個數(shù)。本文中取時間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為調節(jié)系數(shù),通過大量實驗驗證,Kt取0.6。
S4:在搜索到反搏前顳脈波的谷值點的前提下,搜索反搏前顳脈波的切跡點,即在步驟S3中如果沒有搜索到谷值點則循環(huán)執(zhí)行步驟S3,如果搜索到谷值點則搜索反搏前顳脈波的切跡點。
搜索反搏前顳脈波切跡點方法為:如果顳脈波中點Pi的斜率≥0,其前面第一個點Pi-1的斜率<0,且前面第一個點Pi-1的波值小于切跡點坐標閾值,則進一步判斷點Pi后面第一個點Pi+1的斜率是否大于下降斜率閾值;如果該點Pi后面第一個點Pi+1的斜率大于下降斜率閾值,且其波值大于切跡點坐標閾值,則所述點Pi前面第二個點Pi-2為切跡點,即圖3中的A點。
由于在反搏前顳脈波不受患者心電波動的影響,所以在反搏前一個顳脈波周期內只存在一個切跡點。
S5:在搜索到反搏前顳脈波切跡點的前提下,計算反搏前切跡點與谷值點之間的時間差TVA,作為判斷反搏后切跡點是否異常的依據(jù)。
2.3 反搏時顳脈波信號特征值提取
開始反搏后,處理器自學習,采用與S2中相同的方法計算出反搏時顳脈波在t時間內的上升斜率、下降斜率、極小值之和、極大值之和,并且進一步計算出反搏時的顳脈波特征參數(shù):上升斜率閾值Tslope_up、下降斜率閾值Tslope_down、切跡點坐標閾值Topoint、谷值點坐標閾值Tvpoint、切跡點極限坐標閾值TLopoint。
采用S3相同的方法搜索反搏時顳脈波在一個顳脈波信號周期內的谷值點。
采用S4相同的方法搜索反搏時顳脈波在一個顳脈波信號周期內的切跡點。
由于開始反搏后,顳脈波受到心電波動和充氣時間不準確的影響,在一個顳脈波周期內可能會出現(xiàn)多個切跡點。如果切跡點的數(shù)量≥2,如圖4所示,則將所有切跡點中前面兩個切跡點之間的時間差Tx作為充氣時刻補償參數(shù)。如果切跡點的數(shù)量為1,如圖5所示,計算切跡點與谷值點之間的時間差Ty。
2.4 充排氣時間自動優(yōu)化算法
2.4.1 體外反搏裝置初始充排氣時間設置
心臟收縮期結束后進入舒張期,心電信號T波結尾一般可視為心臟收縮期即將結束。但是通常情況下患者的T波特征不明顯,因此直接檢測T波末端作為心臟收縮期結束的標志進行體外反搏充排氣時序控制沒有普遍的適用性,但是以此作為參照進行體外反搏充排氣時序控制具有普遍意義[3,4]。圖6所示為心電波和反搏波。設TRR為心電信號中相鄰兩個QRS波的兩個R波之間的間隔時間,如圖6(a)所示,TQT為心電信號中從QRS波的起點到T波終點的QT間期,TQT和TRR存在一定的相關性,許多文獻報道根據(jù)測量TRR計算TQT的公式,其中比較典型且誤差較小的是Bazett公式[3,4]:
式中C1為時間常數(shù),與系統(tǒng)機械延時有關。
氣囊排氣時間以充氣時刻為基準,包括氣囊充氣時間TCQ和保壓時間TBY:
式中C2為時間常數(shù),與系統(tǒng)機械延時有關。
2.4.2 體外反搏裝置充排氣時間自動調節(jié)
上述體外反搏裝置初始充排氣時間是根據(jù)心電QRS波計算而來,由于患者個體生理參數(shù)存在差異,導致充排氣時間不準確,影響治療效果,因此需要在反搏過程對充排氣時間進行跟蹤和動態(tài)調節(jié)。本文采用顳脈波進行動態(tài)跟蹤和調節(jié),按照2.3節(jié)的方法搜索反搏后的切跡點和谷值點。
如果切跡點數(shù)量≥2,表明充氣時刻滯后,則將所有切跡點中前兩個切跡點之間的時間差Tx作為充氣時刻補償參數(shù)。則式(5)修正為:TON=TQT-C1-Tx,即充氣點提前Tx;同樣式(6)修正為:TOFF=TON+TCQ+TBY-C2-Tx,即排氣點提前Tx。按照修正后的公式對反搏充排氣時間進行動態(tài)調節(jié),直至切跡點的數(shù)量為1。
如果切跡點的數(shù)量為1,計算切跡點與谷值點之間的時間差Ty,比較Ty和TVA的大小,當Ty<TVA時表明充氣時刻超前,計算充氣時刻補償參數(shù)TB=TVA-Ty,則式(5)修正為TON=TQT-C1+TB,即充氣點推遲TB;同樣式(6)修正為:TOFF=TON+TCQ+TBY-C2+TB,即排氣點推遲TB。當Ty>TVA表明充氣時刻滯后,采用相同方法修正式(5)和式(6),提前充排氣時間。通過動態(tài)跟蹤調整后,反搏時顳脈波如圖6(b)所示。
3 實驗結果與分析
為了驗證所得出算法的有效性,將該算法應用在PAK型體外反搏裝置中,反搏效果如圖7,并采集50例患者使用該優(yōu)化算法前后反搏時顳脈波數(shù)據(jù),計算反搏前切跡點(圖7(a)的A點)與反搏時切跡點(圖7(b)的A1點,圖7(c)、圖7(d)的A點)的時間差。表1統(tǒng)計了使用該優(yōu)化算法前后不同時間差的患者數(shù)量。當時間差小于20 ms時,治療效果較好。進一步把采集的數(shù)據(jù)繪制為波形,可以觀察到未使用優(yōu)化算法時充氣點在切跡點附近(即時間差小于20 ms)只有13例,其余患者均偏離了切跡點,治療效果較差。當使用優(yōu)化算法后,48例患者充氣點均在切跡點附近,只有2例患者稍微偏離了切跡點。可見該算法大大提高了充排氣時間的準確性,改善了治療效果。
4 結論
本文通過采集患者反搏治療時的顳脈波,并根據(jù)該波形特征,設計了顳脈波切跡點識別算法,并應用在體外反搏裝置系統(tǒng)中,實現(xiàn)了體外反搏裝置充排氣時間自動調節(jié),獲得了最佳的反搏效果,大大改善了體外反搏裝置的自動性、安全性和有效性,具有一定的理論價值和實用價值。
參考文獻
[1] 劉艷.體外反搏的作用原理與臨床應用[J].體育科技,2009,30(1):51-56.
[2] 杜健航,伍貴富,鄭振聲,等.增強型體外反搏對早期動脈粥樣硬化斑塊局部應力環(huán)境影響的實驗與仿真研究[J].中國生物醫(yī)學工程學報,2014,33(2):246-251.
[3] 蔡大衛(wèi).體外反搏[M].上海:科學與技術出版社,2004.
[4] 伍貴富,杜志民.增強型體外反搏理論與實踐[M].北京:人民衛(wèi)生出版社,2012.
[5] 張勇,董浩斌.基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設計[J].電子技術應用,2012,38(10):72-80.
[6] 毛軍勇,陳立家,劉名果.基于結構進化的無限沖激響應數(shù)字濾波器設計方法[J].計算機應用,2015,35(5):1250-1254.
[7] 陸幼青,潘宏俠.基于TMS320F2812數(shù)字濾波器的設計方法[J].四川兵工學報,2006(4):50-53.
作者信息:
肖前軍
(重慶工業(yè)職業(yè)技術學院 自動化學院,重慶401120)