賈學斌,廖曦文,商春恒,王云峰,2,4
(1.中國科學院微電子研究所,北京 100029; 2. 江蘇物聯網研究發展中心,江蘇 無錫 214000;3. 中國科學院大學,北京 101400; 4.新一代通信射頻芯片技術北京市重點實驗室,北京 100029)
隨著物聯網技術在國內的蓬勃發展,與物聯網相關的產品逐漸進入人們的視線。伴隨著柔性電子材料、智能傳感器元件、低功耗處理器、通信技術和信號處理方法等的發展進步,醫學檢測儀器向更準確化、小型化、網絡化、低成本化的方向發展[1]。柔性聚偏氟乙烯(Poly (vinylidene fluoride),PVDF) 壓電薄膜就是一種廣泛應用于醫療儀器的傳感器[2]。基于壓電薄膜的睡眠監測系統可以監測躺在鋪有傳感器的床上的測試者夜間睡眠狀態下的心率、呼吸率和體動等生理特征,它采集的呼吸心跳混合信號如圖1所示。

圖1 呼吸心跳混合信號
目前處理壓電薄膜采集的呼吸心率混合信號的算法主要有:時域尋峰算法和頻域尋峰算法。本文將介紹一個由壓電薄膜、放大濾波電路和嵌入式芯片所組成的生理參數采集系統,并分別用兩種算法處理該系統采集到的心跳呼吸混合信號,比較兩種算法在處理此類信號方面的優缺點。
信號采集分析系統框圖如圖2所示。

圖2 信號采集分析系統框圖
PVDF壓電薄膜厚度通常為幾十微米,用其制成的傳感器響應較快(ns 量級),靈敏度較高,在0 ~20 GPa 范圍內均有較好的信號輸出[2-3]。實驗被測者躺在放置了壓電薄膜的床墊上進行測試。PVDF 薄膜的上下兩面電極引出兩條線路接入PCB板。
人體心跳的頻率范圍為1~2.1 Hz[4],呼吸的頻率范圍約為0.2~0.8 Hz[5]。與此同時,實驗環境中的50 Hz 工頻噪聲和實驗被測者在測試過程中移動等產生的噪聲都會給實驗結果造成嚴重的影響,實際測試得到有用信號的頻率范圍在0~5 Hz的范圍內。前端PVDF 壓電薄膜自身阻抗很大,一般在108Ω以上[6],首先利用電荷放大電路將高阻抗輸入變為低阻抗輸出,并將微弱的電荷信號變成具有較高信噪比的電壓信號。為使混合信號中反映的特征信息得到完整的保留,采集的原始信號首先通過50 Hz的陷波器濾除工頻干擾,然后使用截止頻率為5 Hz的二階貝塞爾低通濾波再次進行濾波。為了防止產生的負電壓影響AD采樣,在進行放大和濾波的同時把整體電壓抬高1.5 V。
采集到的模擬信號經過STM32芯片進行16位AD采樣,再通過心率呼吸率提取算法提取出被測者的心率和呼吸率。提取完成后,STM32控制WiFi模塊將計算得到的心率和呼吸率上傳到云端供用戶查看。
MCU把AD采樣得到的數字信號分別通過算法模擬的階數為400、通帶為0.1~1 Hz和階數為300、通帶為1~3 Hz的兩個巴特沃斯IIR數字濾波器進行濾波。使用濾波器濾波分離法與小波分解重構分離法的波形分離效果基本一致,但是小波算法的底層MCU實現起來的時間復雜度非常大,因此此處選取濾波器分離的方法。濾波之后分別得到呼吸和心跳的信號,如圖3所示。

圖3 分離之后的心跳和呼吸信號
在分別得到的呼吸信號和心跳信號的基礎上,通過提取算法計算對應的心率和呼吸率。下面來介紹兩種心率和呼吸率提取算法:時域尋峰算法和頻域尋峰算法。
時域尋峰算法的流程圖如圖4所示,經過濾波器分離得到的心跳(呼吸)信號首先經過二階差分初步確定峰值點的位置。此時已經確定的峰值點中包含間距過小的偽峰。根據設定的心跳(呼吸)頻率最大值確定兩峰之間最小間距,濾除峰值點間距過小的兩峰值點中的后一個峰值點。

圖4 時域尋峰算法流程圖
經過篩選之后確定峰值點的坐標,將所有峰值點橫坐標作差、求和并平均得到平均峰峰間距ΔL。采樣頻率fs為100 Hz,根據公式(1)和(2),由ΔL求出對應的心率和呼吸率。
(1)
(2)
頻域尋峰算法流程圖如圖5所示。

圖5 頻域尋峰算法流程圖
采集原始信號時的采樣頻率為100 Hz,為了使FFT變換的頻率分辨率更大,首先對分離得到的心跳(呼吸)信號進行降采樣。其中對呼吸信號的降采樣倍數為20,即降采樣后呼吸信號的采樣頻率為5 Hz;對心跳信號的降采樣倍數為10,即降采樣后心跳信號的采樣頻率為10 Hz。對降采樣之后的心跳(呼吸)信號進行FFT變換得到對應的頻譜圖。再對FFT變換結果進行尋峰,直接記錄下尋峰得到的第一個峰值點,之后每尋到一次峰值點都要進行閾值的比較,與閾值相等的峰值點才會記錄下來。本文的閾值采用了動態閾值的處理方法。動態閾值的變化如圖6所示,圖中實線為心跳信號FFT變換結果,虛線為動態閾值。閾值從初始值THRinit開始每隔0.078 Hz(呼吸信號128點FFT變換的頻率分辨率)以初始斜率Kinit減少,當閾值與FFT變換結果相等時,閾值與FFT變化結果一致,并隨之增加,直到增加至下一處峰值點處,再次以另一斜率下降,如此循環直到最后一個頻率點。動態閾值的初始值和斜率變化公式如式(3)和(4)所示。其中Sr為斜率變化率,值為0.2,Vn-1為前一峰值點的縱坐標。采樣頻率fs為100 Hz。
(3)
(4)
只有與當前閾值相等的峰值點才會被記錄下來。當尋峰完成之后,比較所有的峰值點,記錄最大的峰值點的橫坐標為fmax,即心跳(呼吸)的頻率。再由fmax確定心率(呼吸率)。

圖6 動態閾值處理
為了能夠比較兩種算法計算心率和呼吸率的準確率和抗干擾能力,本文設計了以下兩個實驗:
實驗1:(1)使用MATLAB模擬時長為5 min的呼吸和心跳的混合信號;(2)用兩種算法分別計算3組數據的心率和呼吸率;(3)比較兩種算法計算結果的準確率。
實驗2:(1)被測者躺在鋪有傳感器的床上,床旁配置飛利浦VM6床旁監護儀,被測者佩戴好監護儀的心電電極和指夾;(2)兩套系統同時開始測試,記錄人員每隔10 s記錄一次兩套設備計算出的測試者的心率和呼吸率,測試進行10 min。
(1)實驗1結果
表1展示了實驗1中兩種算法對3組數據進行處理的正確率。

表1 實驗1中時域尋峰與頻域尋峰算法計算結果準確率 (%)
(2)實驗2結果
使用MATLAB將實驗觀察者記錄的數據化成折線圖方便與算法結果進行對比。為了排除測試開始和結束時產生的不準確的測試結果,只截取了第2~9 min的結果進行展示。圖7展示了記錄人員記錄的結果與算法計算出的心率和呼吸率結果對比圖。圖中實線為算法計算出的結果,星線為記錄人員記錄的結果。
根據表1的結果可以看出,在處理完全沒有噪聲的純凈信號時,頻域尋峰算法準確率更高。根據圖7的結果可以看出,在處理實際采集到的包括噪聲的信號時,頻域尋峰算法得到的結果曲線與實際記錄的數據曲線更為相似,并且整體的結果更為平穩,而時域算法得到的結果曲線與實際記錄得到的數據曲線相差較大。綜上所述,頻域尋峰算法在處理呼吸與心跳混合信號方面的準確率和抗噪聲能力更為優秀。

圖7 實驗記錄人員記錄的結果與算法結果對比圖
本文通過比較時域和頻域兩種處理呼吸與心跳混合信號的算法,得出頻域尋峰算法是一種準確率高并且具有很強抗干擾能力的算法。將該算法與PVDF壓電薄膜、STM32控制芯片和WiFi模塊相結合,可以設計出無線睡眠監測系統,能更好地監測呼吸率和心率的變化。