王 炬, 王田苗, 欒 勝, 倪自強
(北京航空航天大學 機械工程及自動化學院,北京 100191)
目前,在臨床上通常采用多導睡眠儀對睡眠過程中的多項體征參數(shù)進行監(jiān)測,這種監(jiān)測需要在醫(yī)院或?qū)嶒炇噎h(huán)境下進行,并要求測試者佩戴多個電極片及其他傳感器設(shè)備,監(jiān)測極為不便且成本較高。心沖擊描記(ballistocardiogram,BCG)信號是指由人的心跳等生命體征活動引起的微小力信號,出現(xiàn)了包含心跳、呼吸、體動在內(nèi)的多種體征信號,相對其他信號采集方法具有采集方法簡單、對用戶無干擾等優(yōu)點,在睡眠體征監(jiān)測領(lǐng)域具有廣闊的應用前景[1]。睡眠狀態(tài)的體征,尤其是心率可以反映出人體健康狀況以及睡眠質(zhì)量。BCG信號由于缺少確定的心跳信號模型進行心跳識別,往往需要復雜的處理過程捕捉心跳獲取心率。因此,對BCG信號的處理成為研究的難點和熱點[2~4]。
本文主要針對BCG監(jiān)測系統(tǒng)及心率提取算法,提出了一種基于聚類分析算法的BCG信號心跳波形自學習方法,通過獲取心跳波形對BCG信號中的心率數(shù)據(jù)進行提取,實現(xiàn)了體征監(jiān)測。經(jīng)實驗驗證:獲取的心率監(jiān)測結(jié)果誤差在±2 %以內(nèi),驗證了算法的精度及其實用價值。
BCG信號的采集方式有多種[4~7],其中壓電薄膜傳感器是一種動態(tài)應變傳感器,當受到壓力、拉伸或者彎曲等動態(tài)變化時,產(chǎn)生電荷信號,電荷量的大小和受到的應力或應變的大小成比例,對動態(tài)應力非常敏感。為了采集BCG信號,實驗搭建了基于壓電薄膜傳感器的信號采集實驗平臺如圖1所示。

圖1 BCG信號采集實驗平臺
在采集的BCG信號中,包含了睡眠或靜臥狀態(tài)下的心跳、呼吸、以及翻身等體動信號成分。幾種信號疊加,呈現(xiàn)出不同的頻率特征。呼吸信號的頻率和人的呼吸頻率一致,在12~30次/min范圍內(nèi)。而心跳信號的信號功率主要分布在1~10 Hz頻率范圍內(nèi),且波形比較復雜。根據(jù)其頻率分布上的不同,通過不同的通帶頻率的數(shù)字濾波器將呼吸信號和BCG信號從疊加的信號中分離。如圖2所示。

圖2 BCG信號濾波處理
不同于心電(ECG)信號,BCG信號沒有確定的信號模型,需要復雜的處理過程獲取心率。基于實驗觀察,在對非特定約束條件下,人在睡眠過程中采集的BCG信號中,心跳波形受眾多因素影響,尤其是被試者的臥姿。其他影響因素還包括床墊的軟硬程度及支撐性、被測者的體質(zhì)特征等,均造成心跳波形不同,如圖3所示,難以提前預知心跳的波形模型。

圖3 不同睡姿下的心跳信號差異
為提取心率,一些研究提出了通過小波濾波等方法提取心率的算法[3,4]。但需要預知心跳波形的形狀,才能選擇合適的小波基得出準確的結(jié)果。而在另一些研究則是通過對BCG信號功率譜的分析來獲取心率[8],但易受到外界干擾信號的影響,心跳的誤識別率較高。
本文結(jié)合之前研究的成果和不足,提出了一種基于聚類分析自學習算法的心跳波形提取和心率識別的方法。算法的總體流程如圖4所示。

圖4 算法流程
1)使用帶通濾波器濾除低頻的呼吸信號和高頻的環(huán)境噪音對BCG信號的影響,并排除人為體動發(fā)生的信號段;2)使用聚類分析的方法提取用戶此刻的心跳波形,稱之為自適應心跳波形(adaptive heartbeat curve,AHC),這個過程即自學習過程;3)使用AHC與后續(xù)BCG信號進行匹配,定位心跳點,并得出心率;4)當用戶由于睡姿改變等原因造成心跳波形發(fā)生變化,導致與原AHC匹配狀況惡化時,則需再次進行自學習過程,提取新的AHC。
自學習信號的長度越長,信號中包含的心跳波形數(shù)會越多,但同時會降低自學習過程的速度。實驗證明,對15 s的BCG信號進行自學習能夠獲得較好的效果。
1)提取信號波形中的極大值點,并提取出以極大值點為中心的長0.8 s的一組信號段Si;
2)計算每2段信號之間的相關(guān)性,得到相關(guān)性矩陣;
3)根據(jù)相關(guān)性矩陣進行聚類分析;
4)提取聚類成員數(shù)最多的一組聚類作為AHC。
對于2段信號,采用共組成的2個長度相同的數(shù)列qi和qj的相關(guān)系數(shù)Corr(qi,qj)表示2段信號形狀上的相似程度
(1)
分別計算任意2個序列之間的相關(guān)性系數(shù),得到相關(guān)性矩陣為
(2)
采用順序聚類算法,將相關(guān)性大于閾值v的曲線,放到一個聚類中。結(jié)合參與聚類的信號段規(guī)模較小的特點,在測試中發(fā)現(xiàn)順序聚類算法能夠有效地根據(jù)信號段間的相關(guān)性關(guān)系進行分類。算法為:
m=1
Cm={q0}
Fori=1 toN-1
-if(R(qi,Ck)>v)
*m=m+1
*Cm={qi}
-Else
*Ck=Ck∪{qi}
-End{if}
End{For}
其中,R(qi,Cj)為信號段qi和聚類Cj中的所有信號段的相關(guān)性的最小值,用于保證每個聚類中所有的信號段之間均具有較高的相關(guān)性。
在聚類結(jié)果中,認為包含成員最多的一組聚類的特征最為明顯。將這組曲線重疊,可以看出這些信號高度相關(guān),可作為AHC。

圖5 AHC提取
在得到心跳波形后,將其與之后采集的信號進行相關(guān)性計算,從而判斷一個極大值點是否是與提取的心跳波形中心的極大值點對應的心跳點,從而捕捉到心跳。過程為:
1)在信號中取極大值點nj;
2)取出以該極大值點ej為中心的前后各0.4 s的一段信號ej;
3)計算ej與AHC之間的相關(guān)性Cj;
4)判斷,Cj滿足Cj>Cj-1,Cj>Cj+1,且Cj≥v,則捕捉nj點為心跳點。
計算獲得BCG信號中的以每個極大值點為中心的信號段與心跳模型之間的相關(guān)性系數(shù)。如圖6所示,計算所得的相關(guān)性系數(shù)表現(xiàn)出較強的波動性和周期性。將滿足步驟(4)的極大值點捕捉為心跳點。其中,閾值v會影響心跳捕捉的覆蓋率和誤識別率。當v提高時,誤識別率會降低,但同時也會降低心跳捕捉的覆蓋率。通過實驗發(fā)現(xiàn),將v設(shè)為0.83能夠?qū)⒄`識別率降到0.1 %左右。

圖6 心跳匹配與捕捉結(jié)果
通過捕捉到的心跳點,可以獲得捕捉到的相鄰心跳點之間的時間間隔t(n),進而判斷2個心跳點是否是實際發(fā)生的2個相鄰心跳產(chǎn)生。考慮到用戶在靜臥時的心率范圍和心率不會發(fā)生突變的特點,設(shè)定以下2個條件進行判斷:
1)500 ms 其中,條件(1)用于判斷設(shè)定心率范圍30~120次/min時,能否符合絕大多數(shù)情況下的心跳監(jiān)測要求。當連續(xù)15 s沒有采集到有效的心跳間隔時,判定為匹配結(jié)果惡化,再次進行自學習過程提取新的心跳信號模型。 為了驗證該算法的準確性,對6名不同性別、年齡、體質(zhì)的測試者進行了實驗驗證。對于每名測試者,同時采集BCG信號和ECG信號,時長在20 min左右。采集到信號后,按照前述算法對BCG信號進行處理捕捉心跳,并計算心跳之間的間隔。將處理得到的結(jié)果與心電信號中提取的心跳周期(R-R周期)進行對比,驗證結(jié)果。在實驗過程中,未限制測試者臥姿,可以進行自由調(diào)整,盡量模擬用戶的實際睡眠狀態(tài),以驗證算法的實用性。 實驗結(jié)果顯示,通過上述算法捕捉到的心跳的覆蓋率在70 %以上,處理得到的心跳周期與心電信號的心跳周期的平均誤差均在±2 %以內(nèi),且對不同的測試者在結(jié)果上均能取得較好的結(jié)果,從而驗證了算法的有效性。 表1 實驗結(jié)果 進一步通過Android平臺實現(xiàn)算法,完成了一種能夠?qū)崟r反饋心率等體征的具有實用價值的體征監(jiān)測平臺,如圖7所示,并與醫(yī)療級的心率監(jiān)測設(shè)備結(jié)果進行了對比,進一步驗證了算法的準確性,并證實了其實用意義。 圖7 基于Android平臺的體征監(jiān)測系統(tǒng) 針對當前睡眠體征監(jiān)測手段不足的問題,搭建了一種基于壓電薄膜傳感器的睡眠體征監(jiān)測實驗平臺,結(jié)合前人在BCG信號處理算法上的成果和不足,提出了一種基于自學習方法的心跳波形提取和心跳捕捉的體征監(jiān)測算法,并通過實驗驗證了算法的準確性和實用性。方法具有包含多種體征信息、且對用戶完全無礙式的體驗,因此,具有廣闊的應用前景,能夠成為自我健康監(jiān)測與管理的重要數(shù)據(jù)來源。 參考文獻: [1] 肖小玉,黃善洛,陳淑靖,等.一種基于壓力傳感器的穿戴式呼吸監(jiān)測系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2016,35(2):126-129. [2] Paalasmaa J,Ranta M.Detecting heartbeats in the ballistocardiogram with clustering[C]∥Proceedings of the ICML/UAI/COLT 2008 Workshop on Machine Learning for Health-Care Applications,2008. [3] 王春武,王 旭,龍 哲,等.基于心沖擊信號的心率提取算法[J].東北大學學報,2012,33(8):1103-1106. [4] Jin J,Wang X,Li S,et al.A novel heart rate detection algorithm in ballistocardiogram based on wavelet transform[C]∥The Second International Workshop on Knowledge Discovery and Data Mining,2009:76-79. [5] 周子健,黃紹嵐,楊其宇,等.基于光柵傳感器的穿戴式呼吸監(jiān)測系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2015,34(7):85-87,90. [6] Cha J Y,Choi H S,Shin J Y,et al.Unconstrained respiration and heart rate monitoring system based on a PPG pillow during sleep[C]∥The 30th Annual International Conference of the IEEE Engineering in Medicine and Biology Society,2008. [7] Paalasmaa J.Monitoring sleep with force sensor measurement[D].Finland:University of Helsinki,2014. [8] Friedrich D,Aubert X L,Brauers A,et al.Heart rate estimation on a beat-to-beat basis via ballistocardiography—A hybrid approach[C]∥Proc of IEEE Eng Med Biol Soc,32th Ann Int’l Conf,Buenes Aires,2010:4048-4051.3 實驗分析與驗證


4 結(jié)束語