胡芳凝 王忠 劉超群?



摘 要:光電容積脈搏波采集過程中存在的高頻噪聲會給后續測量帶來困難,去除噪聲干擾是準確進行相關參數測量的關鍵。常用的濾波方法對處理器的運算能力和存儲空間有較高的要求,不適合在物聯網應用場景中應用。針對嵌入式設備計算能力弱和存儲容量小的特點,提出一種基于快速滑動平均濾波的信號去噪算法,分析了滑動窗口寬度與信號截止頻率的關系,并用該算法對血氧飽和度傳感器MAX30101的原始輸出信號進行了處理,實驗結果表明,該方法能實時有效地對PPG信號進行去噪處理,對提高物聯網設備中的PPG信號檢測精度和速度具有重要意義。
關鍵詞:滑動平均濾波;光電容積脈搏波;高頻噪聲;嵌入式設備;MAX30101;物聯網
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2019)06-00-03
0 引 言
光電容積脈搏波(Photo Plethysmo Graphy,PPG)描記法是一種無創連續測量血氧飽和度和心率的方法[1]。PPG信號是低幅低頻的微弱信號,采集過程中容易受肢體運動和環境光等干擾,影響后續信號特征的準確提取[2]。常用的IIR和FIR數字濾波等方法,濾波器系數一般為浮點數,不利于實時計算[3]。使用小波變換處理信號時,分解層數的確定、變換尺度選取比較困難,且小波分解與重構計算量大,對處理器有較高的要求[4]。自適應濾波須選取一個參考信號,該信號與噪聲有關但與有效信號無關,需要不斷遞歸更新參數值,運算較為復雜,運算量大[5]。形態學濾波雖然運算量不大,但運算過程中仍包括2次形態閉開運算和2次形態開閉運算,而形態開閉運算又包含1次膨脹及1次腐蝕運算,因此形態學濾波法的運算量也較大[6]。這些算法雖然在模擬仿真環境下取得了不錯的效果,但對處理器運算能力要求較高,限制了算法的應用范圍。
考慮到PPG信號的應用場景多為基于物聯網的應用或嵌入式系統,如血氧測量儀、智能穿戴設備等,其處理器的運算能力和存儲空間有限,但又有較強的實時性要求。本文在分析已有算法的基礎上,提出了一種更適用于嵌入式設備運算的PPG信號降噪方法,采用改進的滑動均值濾波法去除高頻噪聲,提高運算速度,并進一步分析了滑動窗口寬度與截止頻率的定量關系,降低對處理器運算能力的要求。
1 滑動平均濾波去噪原理及步驟
1.1 PPG信號分析
PPG信號包含交流分量和直流分量,一般情況下均存在干擾,主要有基線漂移、工頻干擾、運動干擾等。加在交流分量上的干擾屬于高頻干擾,包括運動干擾和工頻干擾。加在直流分量上的干擾信號屬于低頻干擾,波形形態表現為信號的基線漂移[7]。工頻干擾為50 Hz及其成倍諧波,為高頻干擾。文獻[8]對運動干擾機理進行了深入分析,為避免產生運動干擾,本試驗在靜態環境下進行。
1.2 滑動平均濾波器原理分析高頻干擾的處理方法多樣,因其頻帶范圍遠高于PPG信號的頻帶,因此可利用低通濾波進行處理。但在血氧飽和度測量中,PPG信號的直流、交流分量均需納入計算公式進行計算,這需要濾波器的通帶增益接近1,且不改變信號幅值大小[9]。為簡化算法,使其更適合嵌入式設備應用場景,本文對滑動平均濾波法處理高頻干擾進行了研究。該算法原理是把連續取得的N個采樣值看成一個隊列,隊列的長度固定為N,每次采樣到一個新數據放入隊尾,并扔掉原來隊首的數據(先進先出原則),把隊列中的N個數據進行算術平均運算,獲得新的濾波結果,計算公式如式(1):
滑動平均濾波器的頻譜分析缺乏類似FIR或IIR濾波的相關定量資料,實踐中僅憑定性觀察濾波效果確定濾波器階數,本文用實驗統計方法擬合出在衰減3 dB條件下,滑動平均點數L與分頻值Wc(濾波截止頻率fc /信號采樣頻率fs)之間的計算公式,如式(5):
式(5)可用于輔助確定滑動窗口的寬度L。如圖3為采樣頻率100 Hz時,窗口寬度與截止頻率的對應曲線圖,為了便于使用,也可將二者關系保存成表格,設計滑動平均濾波器時根據截止頻率要求查表即可確定階數。
濾波器階數越高,對高頻干擾的濾波效果就越好,但計算量也會增加,對阻帶的衰減能力將持續上升,使原始波形發生一定程度的變形,為后續特征值的提取帶來誤差。綜合考慮平滑效果和截止頻率的關系,選擇合適的滑動窗口寬度。
1.3 滑動平均濾波器算法改進假設窗口寬度L=11,濾波器輸出為:
由式(6)可知,每采集一個數據,CPU將進行一次L個數據的累加,然后再計算平均值。當L取值較大時,需進行L次累加運算,滑動平均運算對CPU資源和RAM空間耗費較大,影響系統的響應速度,觀察式(5)發現,每次新測量值相對于上一次的測量值僅有2個點不同,丟掉最早的點,累加最新的點,為此將上式改為:
采用式(7)的運算方式后,只需在第一次求滑動平均值時將滑動區間的L個數據累加,之后的滑動平均數值僅需加入新采集的數據減去最早的數據后做平均運算即可,改進后,點數L越多提升越明顯,大大降低了CPU的運算次數,提高了系統的運算速度。
2 實驗結果分析
本文將市場上流行的可穿戴血氧和心率生物傳感器MAX30101的原始輸出信號作為研究對象。該芯片集成有
660 nm紅光和880 nm的近紅外光光源及高靈敏度光敏三極管、抑制環境光以及數字濾波的低噪聲電子電路,可應用于穿戴設備,佩戴于手指、耳垂和手腕等處。所用的測試設備為Maxim公司官方評估板MAX30101 Evaluation Kit,其配套上位機軟件可直接顯示和配置全部寄存器,全部原始數據和官方算法計算結果將保存到CSV文件中,方便進行后續算法的驗證和對比。在測試過程中,應注意對手指或手腕纏裹黑色綁帶,以消除環境光的影響,使受測肢體保持靜止與均勻呼吸,并遠離手機、臺燈、電鉆等電磁干擾源。由于PPG信號的能量主要分布在0.5~5 Hz,因此本文選擇L=11,即滑動窗口寬度為11的濾波器。圖4(a)為帶毛刺的原始信號,采樣頻率為100 Hz,采樣時間為10 s,圖4(b)為窗寬為11的滑動濾波器濾波后波形。
滑動平均濾波器能去除噪聲中尖刺等突變干擾,使信號變得更平滑,提高信噪比。與傳統自適應濾波方法相比,滑動平均濾波器表現出更穩定的輸出。圖5(a)為原始信號的頻譜圖,圖5(b)為濾波后信號的頻譜圖,高頻噪聲已基本去除。
3 結 語
針對常用的PPG信號去噪方法算法復雜、對CPU運算能力和存儲空間要求較高,不適合嵌入式應用場景的問題,本文提出了一種快速滑動平均濾波方法,同時對滑動窗口寬度與截止頻率的定量關系進行了分析。實驗結果表明,該方法降低了傳統的去噪算法的復雜性,具有濾波過程簡單、實用、可控性好等特點,特別適用于在線快速數據處理場合,為PPG信號在物聯網或者嵌入式設備中的處理提供了良好基礎。
參 考 文 獻
[1]白鵬飛,劉強,段飛波,等.基于MAX30102的穿戴式血氧飽和度檢測系統[J].激光與紅外,2017(10):1276-1280.
[2]李皙茹,許金林,李曉風,等.一種基于綠光的可穿戴式光電容積脈搏波測量系統[J].現代電子技術,2016,39(20):125-128.
[3]秦穎,張晶,蔡靖,等. 基于交直流分離的反射式血氧飽和度測量系統的設計[J].傳感技術學報,2015,28(6):933-937.
[4]萬佳喜,鄒玉華,韓國成,等.反射式脈搏血氧飽和度檢測系統的設計與實現[J].電子科技,2018,31(11):19-21.
[5]萇飛霸,陳維平,徐力,等.基于光電容積脈搏波法血氧飽和度測量系統研究[J].工業儀表與自動化裝置,2015(5):14-16.
[6]王杰華,夏海燕,孫萬捷,等.基于EMD和SVD的光電容積脈搏波信號去噪方法[J].現代電子技術,2018,41(4):65-69.
[7]曹昌盛,徐銘,伍守豪.基于PPG信號的無創血氧飽和度測量終端的設計[J].電子設計工程,2017,25(7):57-60.
[8]龔渝順,吳寶明,高丹丹,等.動態環境血氧飽和度監測的運動干擾分離自適應對消方法[J].航天醫學與醫學工程,2012,25(4):266-268.
[9]張愛華,王平,丑永新.基于動態差分閾值的脈搏信號峰值檢測算法[J].吉林大學學報(工學版),2014,44(3):847-853.
[10]賈文水,王仁寶,郭立全.多路負反饋二階帶通濾波電路及其Multisim仿真驗證[J].物聯網技術,2018,8(1):83.