基于前項差分和動態(tài)閾值的PPG心率測量算法
辛 毅 (Maxim Integrated公司)
本文引用地址:http://www.ex-cimer.com/article/201909/404538.htm摘?要:基于Maxim的新款超低功耗微控制器MAX32660,運用前項差分和動態(tài)閾值方法,實現(xiàn)了一種PPG信號的心率提取算法。該算法為參考設計MAXREFDES1207而設計,并進行了測試,效果優(yōu)良,適合可穿戴設備的心率實時測量。
引言
近年來,隨著大眾生活水平的日益提高,各種可穿戴健康設備逐漸成為了一個熱點領域。這些設備具有體積小、續(xù)航長、使用便利等諸多優(yōu)點,能夠實現(xiàn)評價人體的多種生命體征,為人們生活方式的改善提供有益建議。在生命體征的評價指標中,實時心率極其重要。本文基于Maxim的新款超低功耗微控制器MAX32660,運用前項差分和動態(tài)閾值方法,實現(xiàn)了一種PPG信號的心率提取算法。該算法為參考設計MAXREFDES1207而設計,并進行了測試,效果優(yōu)良,適合可穿戴設備的心率實時測量。
1 原理與背景
目前,國內外開發(fā)了許多電子設備用于心率測量,其本質是分別運用了4種不同的測量方法:電勢測量法、生物阻抗法、動脈血壓法和光電測量法。前3種方法分別利用人體的心電、生物電阻抗和動脈壓的周期性變化來計算心率,干擾度大、硬件要求高,因而較少被可穿戴設備采用。
比較常用的是光電測量法。光電測量法即“光電容積脈搏波描記法 ”,即通過綠光LED光源結合接收傳感器管照射人體的血管,根據(jù)血管對光的反射量的改變獲得PPG信號,從而測量心率。由于人體的皮膚、骨骼、肌肉等對光的反射是固定值,而血管容積隨著脈搏的變化而不斷變化,所以血管對光的反射是波動值,其波動頻率即為心率。目前,光電測量法是市面上可穿戴器件的主流,Maxim的低功耗心率手環(huán)MAXREFDES1207也是基于這一原理進行心率的提取。
從PPG信號獲取心率有多種成熟的算法,如閾值法、模板法,甚至有些算法還利用了機器學習的原理。其中,閾值法算量小,但是準確度較低;模板法準確度較高,但算法復雜;機器學習方法準確度最高,但是對硬件要求甚高,一般的微控制器無法勝任。由于本設計需要在MAXREFDES1207的MAX32660平臺上實現(xiàn),需要做到心率的實時計算并兼顧到結果的準確性,故本文在閾值法的基礎上加以改進,結合前項差分的預處理方法實現(xiàn)算法,實現(xiàn)準確、實時的心率輸出。
2 算法實現(xiàn)
2.1 數(shù)據(jù)預處理
一般而言,從傳感器中讀取的原始信號含有較多噪聲。其中最為顯著的噪聲由體表的運動產生。在測量過程中,人并不能保證完全靜止,這些擾動會使測量部位和傳感器之間的距離發(fā)生變化,導致接收到的信號發(fā)生變化。最為典型的干擾是呼吸干擾,會使得信號的基線發(fā)生緩慢漂移。一路典型的PPG原始信號如圖1所示??梢?,信號的基線受到呼吸的影響,有較為嚴重的漂移。同時可以觀察到,信號中含有較大的直流分量,這都給心率的提取造成了障礙。
鑒于此,本算法使用前項差分法進行數(shù)據(jù)預處理,即計算原始PPG信號 r(k) 的前向差分信號x(k)=r(k)-r(k-1),可以同時達到去除基線漂移和直流分量的效果,如圖2所示。
由圖2可見,進過預處理,原始PPG信號中的基線漂移和直流分量都已被去除,同時原始信號的周期性特征已經從易被干擾的波峰轉化為特征突出的負脈沖,為下一步的閾值法計算心率提供了有力支持。
2.2 閾值檢測
經過預處理的信號的干擾已經被抑制,可以進行心率的計算。鑒于波形的特征和硬件的性能,本算法使用閾值法對預處理后的信號的負脈沖進行提取,從而計算心率。需要注意的是,圖2信號中的不同負脈沖的峰值并非完全一致,因此如果使用硬閾值進行峰值檢測,效果不會理想。為此,本算法使用動態(tài)閾值進行檢測。動態(tài)閾值又稱軟閾值,即根據(jù)信號的特性不斷地更新閾值,從而獲得較好的檢測效果。具體來說,首先,將信號的最小值的30%作為初始閾值;然后,檢測到第1個峰值后,將其40%作為新的閾值;接著,每檢測到1個新的峰值則更新閾值,新的閾值為之前檢測到的所有峰值的平均數(shù)的40%。閾值選取中的百分數(shù)系根據(jù)大量測試確定。閾值選取的效果如圖3所示。
根據(jù)圖3,閾值能夠跟隨負脈沖的峰值發(fā)生變化,使得負脈沖的漏檢率得到有效降低。
2.3 心率計算
由于設計需要,心率需做到實時顯示,故本算法采用8 s的PPG信號進行計算,每從傳感器獲得一個新的信號進行實時更新。接著,經過上述的兩個步驟計算出相鄰負脈沖間隔時間的平均數(shù) I ,從而計算出心率。心率的計算公式為:HR I =60 。整個算法的過程如圖4所示。
3 算法測試
為 驗 證 算 法,將 算 法 嵌 入 到 參 考 設 計MAXREFDES1207(如圖5所示)之中,并隨機抽選不同性別和不同年齡的6組測量對象,并和市面上比較流行的手環(huán)進行對比,如表1所示。測試位置為左手手腕。
由測試結果可見,與主流的產品的測量結果相比,本算法的準確度較高,能夠較好地配合硬件實現(xiàn)功能。
參考文獻
[1] MAX32660數(shù)據(jù)手冊[EB/OL].[2019-07-15].https://www.maximintegrated.com/en/products/microcontrollers/MAX32660.html
[2] 方良.基于SIMO技術的低功耗心率手環(huán)測量方案[R/OL].(2019-06-27)[2019-07-15].http://www.ex-cimer.com/article/201906/401978.htm
[3] Chen I.Maxim應用筆記:Using Reflectometry fora PPG Waveform[R/OL].[2019-07-12].https://www.maximintegrated.com/en/app-notes/index.mvp/id/6547
作者簡介:
辛毅,Maxim Integrated應用工程師,負責Maxim產品及日本客戶的技術培訓與支持。
本文來源于科技期刊《電子產品世界》2019年第9期第27頁,歡迎您寫論文時引用,并注明出處。
評論