本發(fā)明涉及一種關(guān)于心率測量的方法,特別是關(guān)于一種分析心沖擊信號用來計算短期心率值的方法。
背景技術(shù):
隨著社會的進步,預防醫(yī)學與健康管理的觀念逐漸受到重視,其中生理信號的監(jiān)測已成為熱門的研究項目。非侵入性或非接觸式的監(jiān)測方法可以給予受測者在量測生理信號時較佳的舒適性,適合一般民眾居家使用,因此引起眾多研究人員的關(guān)注。其中,利用心沖擊信號(ballistocardiogram,bcg)對于心血管功能監(jiān)測的研究近年來已成為廣泛探討的研究項目。
對于心臟功能的監(jiān)測最常見的方式為使用心電圖(electrocardiogram,ecg),原理是心臟活動時電位的改變可反應在身體的表面。量測時需將電極片接觸于受測者的特定部位,通常以黏貼或其他方式固定,所以量測過程中造成受測者一定程度的不適,尤其不利于睡眠時的長期監(jiān)測。反之,bcg信號的產(chǎn)生的原理為心臟活動與血液循環(huán)過程中造成的人體位移或加速度的變化,因此bcg信號為心臟活動與血液動力學的直接反應,可提供包括心率與心輸出量(cardiacoutput)、每搏輸出量(strokevolume)等重要生理參數(shù)。由于bcg信號監(jiān)測方法不需使用電極片與身體接觸,因此可在受測者無感的情形下測得心血管的活動,為一大優(yōu)點。然而相較于ecg信號,bcg信號較為平緩,所以除了在分析上更困難之外,也較易于受到呼吸或身體搖動等移動噪聲干擾?;谝陨显?,早期難以在實際應用上有所突破,直到近年來因為感測與信號處理技術(shù)能力的進步,bcg信號處理與應用開始吸引眾多研究者更廣泛與深入的探討。
有關(guān)利用bcg信號計算心率的專利列舉數(shù)例如下:
1)公開號為us2007149883(a1)、公開日為2007年06月28日的美國專利公開了一個裝置與系統(tǒng),使用兩個或以上不同位置的傳感器獲得水平與垂直的信號,取其信號差,針對不同使用者應用快速傅里葉變換(fastfouriertransform,fft)與其他方式校正濾波器與傳感器靈敏度,去除環(huán)境噪聲后再加以分析可監(jiān)測使用者睡眠時的心率與呼吸頻率。
2)公開號為es2328205(a1)、公開日為2009年11月10日的西班牙專利公開了由一般體重計上,感測受測者的重量變化得到bcg信號,分析后可得每搏(beat-to-beat)心率與呼吸頻率,不需要其他的傳感器輔助。與此專利的相關(guān)論文為gonzalez-landaeta等人2008年發(fā)表于physiologicalmeasurement期刊的“heartratedetectionfromanelectronicweighingscale,”不論是專利與論文對于bcg信號的波峰偵測算法并未詳細探討。
3)公開號為wo2010067297(a1)、公開日為2010年06月17日的世界專利公開了bcg信號的方法與設備,其中使用的方法包括對bcg信號帶通濾波取得較高頻信號組成、取信號值的平方、低通濾波、檢測波峰點等,可辨別每跳的發(fā)生,心律不整的使用者同樣適用。為求更高的正確性,可增加一步驟改進,例如在得到的波峰點后100毫秒內(nèi)找出去除呼吸的bcg信號最大值,即為更準確的心跳點。然而若bcg信號較不規(guī)律或受較大的噪聲干擾時,此步驟效果有限。
4)公開號為102469958a、公開日2012年05月23日的中國專利公開了用于分析心沖擊圖信號的方法和裝置,該專利首先分析bcg信號中的特征矢量使用集群(cluster)的原理得到心跳的典型特征后,由訓練得到的模型特征矢量,再對偵測到的bcg信號進行高頻分量與心跳特征矢量的檢測。此方法的優(yōu)點為對于bcg信號不假設其規(guī)則性,因而在嚴重的心率不齊的情況中也可使用。
5)公開號為104182601a、公開日為2014年12月03日的中國專利公開了一種基于心沖擊信號的心率值實時提取方法,分析方式為取得bcg信號中所有極大值點,進行幅度篩選后再對極大值點利用周期猜想法進行二維排序后,得到周期計算心率。此算法優(yōu)點主要有三項,第一為不需要分析bcg的具體波形,第二為應用二維數(shù)組排序的運算量很小,第三點是若bcg信號不規(guī)律時,例如出現(xiàn)波峰點過多或無波峰點時,仍然可得到可靠的心率值。
6)公開號為us2015338265(a1)、公開日為2015年11月26日的美國專利公開了具有心率計算功能的體重秤,然而此專利并非只使用bcg信號即可獲得心率,而是同時量測足部的阻抗值,應用阻抗值變化的信號,由兩信號分析比較而獲得心率值。值得注意的是,此專利指出單由重量變化得到的心率值在數(shù)十人的測試下正確性只有77%,只使用阻抗值變化時正確率約90%,使用兩信號互相關(guān)(crosscorrelation)可得到約86%的正確率;經(jīng)過選取較要信號后可得到的正確率提高至超過96%。
雖然上述各項專利均提出可行的心率計算系統(tǒng)或方法,但是可能使用方法只適用於無干擾的信號分析,或是不適用于短期心率值的計算,因此仍有改善空間。第1份專利主要為睡眠時平躺的量測,可能不適用于其他姿勢下得到的bcg信號。第2份專利與相關(guān)的論文研究中測量的樣本數(shù)較少只有17人,在專利中也并未說明對多數(shù)人測量時的準確性。第3份專利的方法雖然簡單有效,但要求使用者保持靜止以免發(fā)生產(chǎn)生較大的噪聲,例如移動的干擾造成計算上不準確。第4份專利通過特征矢量的識別得到心跳,雖然可提高正確性,也不易受心率不齊情況的影響,但所需計算資源相對較高,而且所提出的方法因為要先經(jīng)過個人信號學習的階段,對于長期心率的監(jiān)測相當有效,對于短期心率的計算較不適合。第5份專利雖然可大幅降低計算量,但是在進行二維排序中時間之閾值(threshold)如何決定并未詳細說明,而且此專利只討論以坐姿或躺姿得到的bcg信號,并未提及是否適用于站姿得到的信號。第6份專利雖然可得到相當高的準確率,但是因為必需要量測人體阻抗值,心率量測時一定要赤足,造成量測時的不便。而且因為所用的算法較復雜,計算成本較高,在較低階硬件設備上不容易實行。參考各式專利及論文經(jīng)詳細研究后,發(fā)現(xiàn)時間閾值通常由經(jīng)驗值決定,例如平均每搏時間間隔的固定比值。由于bcg信號各體間的差異性極大,閾值采用固定比值必然降低一部分受測者在心率計算上的正確性。
技術(shù)實現(xiàn)要素:
為解決上述問題,本發(fā)明的目的是提出計算量低又兼具一定抗噪聲功能的bcg信號心率計算方法—一種分析心沖擊信號用來計算短期心率值的方法。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:一種分析心沖擊信號用來計算短期心率值的方法,其特征是,包括以下步驟:
1)建立bcg信號與同步ecg信號的數(shù)據(jù)庫;
2)建立bcg信號每搏時間間隔閾值的類神經(jīng)網(wǎng)絡模型;
3)對bcg信號進行一階差分濾波;
4)將濾波后信號轉(zhuǎn)換為能量信號;
5)對能量信號進行低通濾波;
6)取得信號的波峰點坐標(即所有極大值坐標),并去除過大振幅坐標(即極端振幅值的坐標);
7)以剩余所有兩相鄰波峰點時間間隔為輸入,代入預先建立之類神經(jīng)網(wǎng)絡模型,得到時間間隔閾值(即tmax與tmin);
8)去除小于閾值(即tmin)中最小值的波峰點坐標(即過小波峰點坐標);
9)反復進行以上兩步驟,直到所有兩相鄰波峰點時間間隔皆大于最小時間間隔閾值為止;
10)計算小于等于最大時間間隔閾值的平均值(即去除大于tmax的時間間隔,至少剩余2筆時間間隔),依此得到心率值(計算平均時間間隔與平均心率)。
步驟1)中,受測者在自然狀態(tài)下由傳感器同時獲取bcg信號與ecg信號。
步驟2)中,建立類神經(jīng)網(wǎng)絡模型,包括以下步驟:
①建立bcg信號與同步之ecg信號數(shù)據(jù)庫后,將bcg信號分割為數(shù)筆短期信號,以ecg信號為參考,將振幅過大信號視為噪聲去除后,得到每筆短期bcg信號之每搏時間間隔與其閾值;
②設定神經(jīng)網(wǎng)絡層數(shù)與神經(jīng)元數(shù)目,隨機設定所有神經(jīng)元之參數(shù)初始值;
③以每相鄰波峰點時間間隔為神經(jīng)網(wǎng)絡之輸入,數(shù)目大于神經(jīng)網(wǎng)絡輸入時由最大值依序取至輸入數(shù)目,不足時以平均值輸入,輸出為最大與最小之每搏間隔tmax與tmin;
④以倒傳遞學習方式修正各神經(jīng)元之加權(quán)值與偏權(quán)值,得到每搏時間間隔閾值的神經(jīng)網(wǎng)絡模型。
步驟4)中,能量信號為teager能量信號,公式如下:y(n)=[x(n-1)]2-x(n)*x(n-2),其中x(n)為bcg信號,y(n)為teager能量信號。
步驟5)中,低通濾波為四階butterworth低通濾波,取適當截止頻率。
本發(fā)明中,一階差分濾波為分析生理信號常用的前處理方式,不但能突顯變化大的信號,更重要的是也對于基線漂移或呼吸信號等低頻噪聲有一定的去除功效。轉(zhuǎn)換成能量信號后,比起直接使用原信號找出心跳的波峰點時間間隔,雖然未能直接偵測得每跳發(fā)生的確實位置,但最大的優(yōu)點為可以由能量的變化更確定心跳是否發(fā)生,不但可降低原信號中心跳波峰點位置不明時的影響,也更容易由過大的能量值判斷量測時的突發(fā)震動而加以排除?;赽cg信號為非穩(wěn)定(non-stationary)信號,本計算方式對于能量的轉(zhuǎn)換使用teager能量算子(teagerenergyoperatorteo),此轉(zhuǎn)換方式為已廣泛應用于聲音信號的處理,也在生理信號處理例如ecg與肌電圖信號(electromyography)等得到有良好的效果。teo能有效處理具有時變頻率(time-varyingfrequency)的信號,當包含噪聲時可增進snr,特別的是計算所得的能量接近瞬時能量,不同于常用的信號值直接取平方得到的平均能量,例如世界專利wo2010067297(a1)與102469958a中使用的方式。將信號轉(zhuǎn)換成teager能量再經(jīng)低通濾波后,心跳發(fā)生的位置容易辨識,因此能有效簡化后序的信號處理方式,大幅降低計算所需成本。由于生理信號的復雜性,不同性別、年齡的不同個體,bcg信號波形可以有很大的不同,在每跳的判斷上顯然不適用固定的閾值。有鑒于此,本算法中時間閾值采用類神經(jīng)網(wǎng)絡模型決定,類神經(jīng)網(wǎng)絡的優(yōu)點包括高度容錯性、可建立非線性模型、適應性強等,因此可有效改善閾值使用固定比例值的缺點,可針對不同信號特性產(chǎn)生較佳的時間間隔閾值而增進正確性。本發(fā)明之方法能迅速、準確且在計算量低的情形下得到短期平均心率值,只要使用者在自然狀態(tài)下保持穩(wěn)定,即使在站姿量測的情形下也能有效得到心率值。
附圖說明
圖1(a1)為第一導程ecg信號;
圖1(a2)為由重量變化所得的bcg信號;
圖1(b)為圖1(a2)中bcg信號一階差分濾波、計算teager能量再經(jīng)由低通濾波所得信號;
圖2為類神經(jīng)網(wǎng)絡模型示意圖;
圖3為類神經(jīng)網(wǎng)絡模型學習流程圖;
圖4為短期心率計算流程圖;
圖5(a)為實施例中血氧濃度計與體重秤測得心率值散布圖;
圖5(b)為圖5(a)中兩測量值之布蘭德-奧特曼差異圖。
具體實施方式
本發(fā)明提供利用bcg信號計算短期心率的方法(一種分析心沖擊信號用來計算短期心率值的方法),該方法包括:預先建立bcg與ecg信號數(shù)據(jù)庫,得到短期bcg信號每博時間間隔與其閾值的類神經(jīng)網(wǎng)絡模型;將bcg信號取一階差分濾波后,再轉(zhuǎn)換為能量信號;取得能量信號中極大值;去除過大的振幅坐標點,計算剩余相鄰極大值的時間間隔,以此代入類神經(jīng)網(wǎng)絡模型得到每搏時間間隔的閾值;反復進行時間間隔閾值篩選直到所有時間間隔皆大于閾值之最小值;去除大于閾值最大值的時間間隔后計算平均心率。
該方法步驟具體包括:
1、建立bcg信號與同步的ecg信號數(shù)據(jù)庫。
首先在受測者在自然狀態(tài)下由傳感器同時獲取bcg與ecg信號,兩信號示意圖參見圖1(a1)、圖1(a2)。以ecg信號中最陡之r波峰為心跳參考點,確認bcg信號中最常用的心跳點j波的位置,并排除不合理或明顯為噪聲的波峰點。
2、建立決定每搏時間間隔之閾值之類神經(jīng)網(wǎng)絡模型。
將信號分成短期信號,例如10-15秒為一段,計算每搏時間間隔,最大與最小的時間間隔,即為時間間隔閾值tmax與tmin。類神經(jīng)模型在此實施例中采用向前式架構(gòu)與監(jiān)督式學習,但不在此限。
模型請參閱圖2,其中轉(zhuǎn)移函數(shù)f可取最常用的log-sigmoid函數(shù)。取信號排除噪聲后兩相鄰最大值集合中,最大的六個值[ti],i=1,2,…,6為輸入向量,tmax與tmin為目標,以倒傳遞方式更新加權(quán)值矩陣wnij=[wnij]與偏權(quán)值bjn,其中wnij為類神經(jīng)網(wǎng)絡中第n-1層第i個神經(jīng)元(或輸入)到第n層中第j個神經(jīng)元的加權(quán)值,bjn為第n層第j個神經(jīng)元的偏權(quán)值。
待符合給定條件后,類神經(jīng)網(wǎng)絡建立完成,見圖3的學習方式。為求更佳的抗噪聲功能,學習過程中應適度使用含噪聲的信號片段,使類神經(jīng)網(wǎng)絡模型能在輸入過大的相鄰波峰時間間隔時仍然能得到正確的時間間隔閾值。
3、bcg信號處理。
將bcg信號取一階差分濾波??梢廊宇l率決定較佳差分間隔。將差分信號轉(zhuǎn)換為能量信號,在此實施例中取teager能量。公式如下
y(n)=[x(n-1)]2-x(n)*x(n-2),
其中x(n)為bcg信號,y(n)為teager能量信號。
將能量信號進行低通濾波,例如四階butterworth低通濾波,截止頻率1hz。得到的信號參見圖1(b)。去除極端振幅值的坐標后,取此信號波峰值為可能的心跳間隔。
4、重復以下步驟。
由類神經(jīng)網(wǎng)絡模型計算出時間間隔閾值,若任相鄰最大值間隔值小于閾值最小值(即tmin),則刪去此兩個極大值中之較小值坐標點。計算刪除后新的相鄰極大值時間間隔。若所有相鄰極大值時間間隔皆大于時間閾值的最小值(即tmin),則進入下一步驟。
5、計算心率值。
計算剩余所有相鄰極大值時間間隔中小于等于最大時間閾值之值,若還有兩筆以上,表示得到至少兩筆可靠的每搏時間間隔,此時計算其平均每搏時間間隔,即可計算出每分鐘心率值;否則視為量測失敗無法得到心率值。
為確認本專利之算法的可靠性,驗證方式簡述如下:
首先建立140人(男性76人,女性64人,年齡范圍20-79歲),每人5分鐘以站姿同時測量bcg信號與ecg信號的數(shù)據(jù)庫。bcg信號的采集僅使用一般市售體重秤,不更改任何硬設備,只適當調(diào)整采樣頻率與a/d分辨率。為建立時間閾值的類神經(jīng)網(wǎng)絡模型,將信號分為10秒為一區(qū)段后,比對同步后的ecg信號以得到類神經(jīng)網(wǎng)絡模型的參數(shù)。對于此類神經(jīng)網(wǎng)絡模型使用原數(shù)據(jù)庫進行驗證,得到約96%的正確率,證實此模型對原數(shù)據(jù)庫有效。
接下來為實際測試階段,選取與建立數(shù)據(jù)庫之人員并無重復之健康受測人員共50人,其中男性22人,女性28人。測量方式為每人5次,量測時間為10秒,量測期間要求受測者以正常站姿盡量保持穩(wěn)定且不得說話。測得的心率值以市售合格血氧濃度計同時測得的心率值為參考。心率值量測錯誤的定義為與參考心率值誤差超過10%,參見us2015338265(a1)。比較不同方法計算10秒平均心率的結(jié)果,若使用固定參數(shù)的時間閾值法,發(fā)現(xiàn)心率值的正確率約79%,與已知文獻記錄,包括us2015338265(a1)的結(jié)果相當接近。若使用本專利提出的方法,可大幅提升10%以上的正確率,達到90.80%,平均誤差約4下/分鐘,而且并無任何量測失敗的記錄。圖5(a)為分別使用血氧濃度計與體重秤測得心率之散布圖,相關(guān)系數(shù)為0.86。圖5(b)為兩測量值之布蘭德-奧特曼差異圖(bland-altmanplot)。