丁新民
(深圳康佳電子科技有限公司 多媒體研發(fā)中心,廣東 深圳 518000)
隨著社會的進步,人們的生活節(jié)奏不斷加快,睡眠問題也日趨嚴(yán)重,失眠、睡眠障礙等問題受到了越來越多的關(guān)注。調(diào)查顯示,中國有32%的成年人有睡眠障礙。長期睡眠不足會影響人們的健康。許多人為了了解自己的睡眠質(zhì)量,會采用一些方法監(jiān)測自己的睡眠情況。目前大多數(shù)睡眠監(jiān)測方法采用腦電波的方式,通過佩戴電極得到δ(1~3 Hz)、θ(4~ 7 Hz)、α(8~ 13 Hz)、β(14~ 30 Hz)波段信息[1],之后分析各個波段信號所占比例,從而得到睡眠狀態(tài)。這種方式佩戴設(shè)備比較麻煩,需要在胸腹部和頭部佩戴各種電極來采集數(shù)據(jù),一方面操作復(fù)雜,需要專業(yè)人員來操作這些復(fù)雜的儀器和設(shè)備;另一方面,也給測試人帶來了較大的精神壓力,會嚴(yán)重影響人的睡眠質(zhì)量和心態(tài),導(dǎo)致檢測出來的結(jié)果并不準(zhǔn)確。
本文介紹一種采用壓電薄膜來監(jiān)測睡眠的終端系統(tǒng),無需佩戴設(shè)備,簡單放置(平鋪)就可以長期監(jiān)測人的睡眠狀態(tài),并可以通過藍(lán)牙低能耗技術(shù)(Bluetooh Low Energy,BLE)通知到用戶App。該系統(tǒng)具有非接觸、不影響睡眠、無需專業(yè)操作、上手簡單、經(jīng)濟實惠及可推廣的特點。
睡眠監(jiān)測系統(tǒng)由控制主MCU(STM32F4)、藍(lán)牙通信MCU(NRF52832)以及壓電薄膜帶組成。STM32F4采用Cortex M4內(nèi)核,帶FPU和DSP指令集,主頻較高,信號處理能力較強。藍(lán)牙通信MCU將采集和處理的數(shù)據(jù)傳送給用戶。壓電薄膜帶主要用來收集模擬信號[2]。系統(tǒng)總體框架如圖1所示。
圖1 總體框架圖
睡眠檢測帶是一條800 mm×8 mm的壓電薄膜,質(zhì)地柔軟,無需電源(低功耗),可以放在胸部接近心臟的位置。施加壓力在薄膜上方時,兩個電極之間會產(chǎn)生線性電信號。具體地,28 μm厚的壓電薄膜敏感度微應(yīng)變典型值為10~15 mV(應(yīng)變是形變量與原來尺寸的比值)。STM32F4通過A/D轉(zhuǎn)換將模擬信號轉(zhuǎn)換為數(shù)字信號,并將轉(zhuǎn)換后的數(shù)字信號存儲到FATFS文件系統(tǒng)。需要注意,儲存時應(yīng)當(dāng)在信號數(shù)值前面加上對應(yīng)時間,方便后期對應(yīng)分析不同時期的狀態(tài)。PCB板與壓電薄膜如圖2所示。
圖2 PCB板與壓電薄膜
數(shù)據(jù)收集完成后,從文件系統(tǒng)中提取數(shù)據(jù)。將數(shù)據(jù)在MATLAB中顯示出來。采集的信號包含心率、呼吸及體動等,原始數(shù)據(jù)如圖3所示??梢钥吹?,波形比較雜,難以直接得到心率和呼吸等數(shù)據(jù)。如果簡單采用波峰波谷的方式去計算,實際得到的數(shù)據(jù)并不理想。通過大量測試發(fā)現(xiàn),心率、呼吸及體動3個參數(shù)在頻域上面的差異較大。因此,可以把要處理的信號由時域轉(zhuǎn)換為頻域。
圖3 原始數(shù)據(jù)圖
采用快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)方式將信號轉(zhuǎn)換為頻域信號,對于FFT的分辨力的選取至關(guān)重要。設(shè)信號的采樣頻率為F,采樣點數(shù)為N,經(jīng)過傅里葉變換之后的頻譜精度為fs=F/N。在采樣頻率固定的情況下,只有增加采樣點數(shù),才能提高分辨力,但在實際的過程中采集的數(shù)據(jù)量大會導(dǎo)致實時性較差。而實際需要在較短的時間內(nèi)給出結(jié)果。對此,可采用補零法[3],將剩余采樣點數(shù)補零,來提高分辨力。
原始信號如圖3所示,由于呼吸信號振幅高、頻率低,而心率信號則振幅低、頻率高,因此可以得出,低振幅的心率信號疊加在高振幅的呼吸信號上。人在睡眠過程中,由壓力等產(chǎn)生的震動信號頻率基本在0.2~2 Hz。實際測得手機振動頻率大概在100 Hz,利用濾波器,可以很好地將這些信號過濾出來。電風(fēng)扇的搖頭頻率正好也處于0.2~2 Hz,但是其只對水平方向有影響。因此,獲得的0.2~2 Hz的震動信號就是心率和呼吸信號。
采用2 Hz的低通濾波器對序列進行處理,得到心率信號波形,如圖4(a)所示。對信號進行頻譜轉(zhuǎn)換,得到頻率分量的波形如圖4(b)所示。在特定范圍(0.2~2 Hz)內(nèi),其峰值對應(yīng)的頻率值為心率。從圖中可以分析出峰值為1.2 Hz,心率大概為每分鐘72次。
圖4 心率信號
為了得到相應(yīng)的呼吸信號,首先通過2 Hz低通濾波器得到呼吸信號,如圖5(a)所示。然后將數(shù)據(jù)分段進行傅里葉變化,得到0~0.8 Hz的頻譜圖。從圖5(b)的頻譜圖可以看出,峰值出現(xiàn)在0.2 Hz,即每分鐘12次。因此通過這種方式可以得出睡眠呼吸的一個重要參數(shù)。
圖5 呼吸信號
在睡眠過程中,一般人的動作會對壓電薄膜產(chǎn)生較大的AD值,包括輕微的肢體動作。通過在原始波形中對一定范圍幅度的記數(shù),可以得到該時段的體動值。
睡眠分期主要有W(清醒期)、R(快速眼動期)、SLEEP1(淺度睡眠期)以及SLEEP2(深度睡眠期),其中SLEEP1和SLEEP2也稱為NR期?;诮】党扇艘归g睡眠一般規(guī)律,NR期心率平穩(wěn)且偏低,心率一般會比醒時慢每分鐘10~30次;由NR期進入R期時,心動周期的上升較緩,約6~10 min內(nèi)升到頂部;由NR期進入W期時,心率值上升迅速,一般在2 min內(nèi)上升到頂部。睡眠狀態(tài)具有局部穩(wěn)定性和連續(xù)性,不會在短時間內(nèi)頻繁轉(zhuǎn)換睡眠時相。利用這一規(guī)律,可以通過心率判斷出NR期,根據(jù)心率緩慢程度來區(qū)分SLEEP1和SLEEP2,一般來說,睡眠程度越深,心率值越低。同樣,呼吸次數(shù)也有這樣的規(guī)律,呼吸次數(shù)越低,說明處在NR期的概率越大。通過提取某分鐘內(nèi)前后30 s呼吸次數(shù)的差值之間的關(guān)系,根據(jù)睡眠參數(shù)在R期明顯增大的規(guī)律,可以區(qū)分R期與非R期[4]。綜合心率和呼吸數(shù)據(jù),可以判斷出R期與NR期。
根據(jù)實際的睡眠信號可知,人在深度睡眠時,體動占總的呼吸加體動的比例非常小。通過腦電設(shè)備采集腦電信息,腦電的睡眠值一般作為判斷睡眠分期的標(biāo)準(zhǔn),然后與采集體動值相結(jié)合,得到相應(yīng)區(qū)間的門閥值,可通過這種方式來區(qū)分SLEEP1與SLEEP2。之后,通過心率緩慢程度的方式來修正SLEEP1與SLEEP2分期。
SampEn為樣本熵[5],是用來度量時間序列復(fù)雜度的值。清醒或者淺睡狀態(tài)時,樣本熵值較高;隨著睡眠的深入,熵值下降并且處于相對平穩(wěn)的狀態(tài)。因此,可以通過熵值來區(qū)分W期。樣本熵算法基本步驟如下。
(1)將原始睡眠數(shù)據(jù)經(jīng)過濾波處理成睡眠時間序列。
(2)采用MATLAB自帶的函數(shù)SampEn(data,m,r),data為時間序列,m為重構(gòu)維數(shù),r為閾值大小,一般選擇r=0.1~0.25*Std(data)。
(3)計算 SampEn(t)。
將在MATLAB上面實現(xiàn)的睡眠分期整理成相應(yīng)的C語言代碼,將其運行到STM32F4MCU上。處理完成后,通過BLE通信,告知用戶睡眠狀態(tài)信息,用戶最終得到的分期結(jié)果如圖6所示。
圖6 睡眠分期
本方案設(shè)計的終端設(shè)備具有易于安裝、使用方便的特點,適合各年齡段的人群。相對于其他睡眠監(jiān)測設(shè)備更加安全,可廣泛運用于消費類電子領(lǐng)域。
該睡眠監(jiān)測設(shè)計通過濾波等操作對原始數(shù)據(jù)進行處理優(yōu)化,對睡眠狀態(tài)分期。通過傅里葉變換將收集的時域信號轉(zhuǎn)換成頻域信號,提取出峰值部分的參數(shù),進而得到睡眠特征參數(shù)。通過類比腦電信號(睡眠情況),可以對算法設(shè)置門閥值,更高效地分離出睡眠狀態(tài)。利用壓電薄膜采集數(shù)據(jù)的方式極大地避免了嚴(yán)格的環(huán)境要求和復(fù)雜的操作,能夠長時間、不間斷地監(jiān)測睡眠狀態(tài),準(zhǔn)確率高,為有睡眠障礙的人群提供了一種有效的監(jiān)測手段。