文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.166939
中文引用格式: 王皓,陳少勇,,王佳權(quán),,等. 非接觸式睡眠狀態(tài)識別算法硬件化實現(xiàn)[J].電子技術(shù)應用,2017,,43(8):62-65.
英文引用格式: Wang Hao,,Chen Shaoyong,Wang Jiaquan,,et al. Hardware implementation of unobtrusive sleep state discrimination algorithm[J].Application of Electronic Technique,,2017,43(8):62-65.
0 引言
隨著社會的急速發(fā)展,,睡眠質(zhì)量問題正在困擾著各個年齡層次的人群,。近年來中年人群頻繁出現(xiàn)睡眠呼吸暫停綜合征患者,這是一種睡眠時呼吸停止的睡眠障礙,。最常見的原因是上呼吸道阻塞,,經(jīng)常以大聲打鼾、身體抽動或手臂甩動結(jié)束,。睡眠呼吸暫停伴有睡眠缺陷,、白天打盹、疲勞,,以及心動過緩或心律失常和腦電圖覺醒狀態(tài),。
現(xiàn)有的生物醫(yī)療儀器對該癥狀的判斷基本采用接觸式檢測技術(shù),其主要特點是通過電極組成的多導聯(lián)方式,,從而達到檢測生理信號的目的,,如臨床上的速度式呼吸測量法、容積式呼吸測量法,、光電式脈搏心率測量法等。這些方法有三大缺點,一是對人體有一定的約束,,被測人員不能隨意進行肢體動作,;二是這類監(jiān)測方法主要依靠附著在人體上的接觸式心電電極來獲取信號,對人體皮膚直接接觸,,不利于長時間測量,;三是軟件處理的時間長,且無法提供快速準確的測量,。由于其對監(jiān)測對象的條件約束,,也限制了其應用的范圍。
對睡眠質(zhì)量進行監(jiān)測,,非接觸式設計顯得必要,。本文采用非接觸式檢測,秉承算法硬件化設計思路,,通過主要成分分析提取BCG信號的特征值,;流水線設計加快體動合成指數(shù)的計算,搭配靈活的嵌入式Nios軟核識別睡眠時人的靜息狀態(tài),,全面主動檢測心臟沖擊信號,;軟硬協(xié)同的SoC設計減少了系統(tǒng)的面積,縮短了睡眠模式識別的時間,,準確率可達97%,。
1 非接觸式睡眠識別算法
1.1 算法和設計流程
從PVDF中采集過來的信號包含多維度的生理信息,包括心率,、呼吸,、BCG和體動信號等。當呼吸暫停事件發(fā)生時,,有效的信號量與其他因素混雜在一起,。為了區(qū)別呼吸暫停、正常呼吸和肢體律動,,采用主要成分提取模塊對特征信號進行有效分離,。基于標準差值的方法合成有效信號的體動指數(shù),,最后睡眠判斷模塊對指數(shù)的閾值判別,,識別出此時病人所在模式。算法設計如圖1所示,。
信號處理流程主要基于4個步驟:提取PVDF采集的BCG信號,、主要成分分析和數(shù)據(jù)分段、體動指數(shù)合成,、睡眠模式判斷,。整個算法以60 s為一個周期,,R_PVDF為原始ADC采集到的PVDF信號,RESP為經(jīng)過30 Hz數(shù)字低通濾波(37階,,IIR巴特沃斯)之后的PVDF信號,,主要成分分析模塊對兩種信號處理,同時減少數(shù)據(jù)維度,、提取最大特征值,,接著計算出體動合成指數(shù)σ和自適應閾值,最后判斷出患者的睡眠狀態(tài),。
1.2 BCG信號獲取
邏輯控制模塊如圖2,,為了快速獲取ADC內(nèi)的睡眠數(shù)據(jù),clk引腳連接c3時鐘信號50 MHz,,作為模塊內(nèi)部時鐘,。該模塊采用有限狀態(tài)機模式設計,用純Verilog代碼編寫,,在always語句的引導下循環(huán)46個時鐘周期,,最終AD_DATA引腳端以940 ns的周期吐出12位BCG信號數(shù)據(jù)。
1.3 體動合成指數(shù)和自適應閾值
經(jīng)過主成分分析和10 s數(shù)據(jù)分段之后,,PC1R_PVDF和PC1RESP被劃分為6個10 s周期信號,。在自適應閾值判決前,每段來自PC1RESP的10 s數(shù)據(jù)集會通過標準差公式進行計算,,得出體動合成指數(shù)σ,。體動合成指數(shù)公式如下:
實驗表明,正常人在靜息睡眠階段也會產(chǎn)生很多肢體動作信號,,為了減小對呼吸暫停綜合癥的識別不足,,采用自適應閾值的方式計算周期信號的平均值。采用這個方法,,每段60 s數(shù)據(jù)集都能獲得一個自適應的閾值,,從而使得誤判率極大減小,自適應閾值計算公式如下:
1.4 睡眠模式判斷
利用參數(shù)σi和σj就能判定PVDF傳感帶上的人目前所在的狀態(tài),,根據(jù)優(yōu)先級排序的判斷條件如下(最大電壓輸出為5 V):
條件1:σi>40%×最大電壓輸出(肢體律動)
條件2:σj>70%×最大電壓輸出(正常呼吸)
條件3:10%×σv<σj<70%×最大電壓輸出(呼吸暫停)
條件4:σj<10%×σv(離開)
2 算法硬件化實現(xiàn)
2.1 系統(tǒng)框架與設計流程
系統(tǒng)的整體設計如圖3所示,。本系統(tǒng)總體分為兩大部分,一是前端模擬信號采集電路,,二是后端數(shù)字邏輯控制及算法硬件化,。前端部分包括PVDF傳感帶、前置放大,、低通濾波,、ADC采樣,后端部分均采用純Verilog進行硬件化設計,,其中包括邏輯控制,、數(shù)據(jù)存儲,、算法硬件化,通過FPGA內(nèi)嵌的NiosII處理器搭建軟件系統(tǒng),,控制液晶顯示,。外部50 MHz晶振為整個系統(tǒng)提供全局時鐘樹。
整個系統(tǒng)的設計流程為:首先用Altium Designer完成硬件系統(tǒng)的電路設計,、芯片布局,然后使用Verilog HDL在Quartus平臺上完成邏輯控制,、算法的硬件化設計,、訓練、仿真和綜合,,在SOPC Builder平臺上完成CPU軟核定制,,使用ModelSim和SignalTap進行算法驗證,最后通過USB-Blaster下載到FPGA電路板,。
2.2 前端模擬信號采集電路
生理信號的采集選用PVDF超薄壓電傳感帶,,放置在睡墊下垂直靠近人體心臟的位置。由于人體本征信號屬于超低頻信號,,使用者在以自然睡眠的姿勢躺在上面后,,所傳遞出來的是極其微弱的電荷信號,通常電壓強度在0~20 mV之間,。因此需要對生理信號進行放大和濾波,。
前端信號處理電路采用LMV602低噪聲運算放大器,組成電荷放大電路,,實驗證明在調(diào)配R1,、C1的值時增益為200可取得最佳信噪比。此電路采用單電源供電,,并且5 V電壓通過電阻分壓,,輸入在放大器同相端,對生理信號產(chǎn)生2.5 V的抬壓效果,,省去后級單獨設計抬壓電路的冗余問題,。此電路簡潔、完善,,能將信號放大到適合ADC轉(zhuǎn)換的電壓,,具體硬件電路圖如圖4所示。
為了去除混疊在有效生理信號中的50 Hz工頻干擾,,第二級采用低通濾波電路,。3 dB截止頻率為:
該電路不僅可以放大0.1 Hz~10 Hz的信號,還能大大降低50 Hz工頻干擾,。濾波輸出后的信號幅度為0~2.5 Vpp,,因此AD芯片采用12 bit高精度ADS7818,,該芯片內(nèi)置2.5 V參考電壓,外部在1腳接上震蕩電容,,使AD開始工作,。ADS7818輸入電壓量程為0~5 V,通過2.5 V抬壓后,,滿足AD采樣的量程范圍,。
2.3 硬件加速設計
算法的硬件化過程采用流水線設計,首先定義了20個12 bit寄存器用來保存被分段后的10 s PVDF數(shù)據(jù),,然后數(shù)據(jù)在時鐘c2作用下傳輸?shù)?0個LPM_MULT乘法器進行平方根運算,,再后一級是2個20輸入的PARALLEL_ADD加法器,最后調(diào)用了FPGA內(nèi)嵌的IP核ALTSQRT進行開方,,最終算出結(jié)果即為體動合成指數(shù)σ,。
流水線式的設計實際是將串行操作轉(zhuǎn)化為并行操作,將算法中的組合邏輯延時路徑系統(tǒng)地分割,,并在各個部分之間插入寄存器暫存中間數(shù)據(jù),,縮短了一個時鐘周期內(nèi)信號通過組合邏輯電路延時路徑長度,使得單位時間內(nèi)處理的數(shù)據(jù)量變大,,即電路的吞吐量變大,,從而提升算法的速度。
設計語言采用硬件描述語言Verilog HDL,,整個設計流程在Altera公司的Quaruts,、Eclipse平臺下完成,最后通過USB-Blaster下載到電路板,。
2.4 嵌入式軟核協(xié)同處理
借助于Altera可重構(gòu)SoC技術(shù)和FPGA的硬件可編程本身特性,,本算法定制了嵌入式軟核Nios II,通過SOPC Builder配置處理器,、JATG接口,、ROM和普通PIO口,在時鐘接口的作用下,,算法數(shù)據(jù)被送至Nios II處理器進行最終判斷,,同時Nios II軟核通過Avalon總線同內(nèi)部的ROM、外部的SDRAM,、Flash等器件進行數(shù)據(jù)交換,,系統(tǒng)定制如圖5。
為了方便板級調(diào)試,,本設計定制了JTAG接口,。通過PC端的Nios II IDE(集成開發(fā)環(huán)境)即可以對嵌入式處理器進行軟件開發(fā),包括編輯、編譯和調(diào)試程序,。與傳統(tǒng)嵌入式開發(fā)過程相比,,JTAG接口兼容了SignalTap Logic Analyzer軟件,能有效地捕獲和顯示實時芯片內(nèi)部信號,,深度分析睡眠算法,。
Nios II是Altera推出的32位RISC嵌入式處理器,是SoC系統(tǒng)中最為核心的一個IP核,。其優(yōu)勢是享有32位指令集體系,,與二進制代碼100%兼容,性能超過200DMIPS,。
3 驗證和評價
為了全方位評估算法,,用Altium Designer設計系統(tǒng)電路原理圖并繪制PCB版圖,使用沉金工藝制作PCB硬件電路板,,F(xiàn)PGA芯片采用CycloneIV EP4CE15F17C8, 將硬件系統(tǒng)通過USB-Blaster下載到電路板后,,其資源占用情況如表1所示,。
根據(jù)綜合后的結(jié)果,可以得出的結(jié)論是:該算法適用于大部分FPGA芯片,,在硬軟核搭配使用的情況下,,資源占用率不高,為今后睡眠識別技術(shù)發(fā)展提供了良好的開發(fā)性和擴展性,。
此外,,在SingalTapII Logic Analyzer邏輯分析平臺上,采用相同的數(shù)據(jù)集對硬件和軟件實現(xiàn)進行評估,,結(jié)果如表2所示,。
據(jù)觀察,識別率上硬件算法會略低于軟件算法,,其原因是設計中采用的LPM_MULT,、ALTSQRT等IP模塊對浮點計算存在“四舍五入”的情況,因此會造成除法,、開方等運算結(jié)果出現(xiàn)略微偏差,,但該誤差屬于可接受范圍內(nèi);在識別時間上,,硬件算法在50 MHz時鐘頻率下僅需19.72 ms就能完成識別,,相比軟件的4.9 s,速度提升了約25萬倍,。
根據(jù)實測數(shù)據(jù)在ModelSim-Altera聯(lián)合仿真平臺的仿真結(jié)果如圖6,,經(jīng)過算法的提取、處理,PVDF睡眠生理信號最終被分類為Normal Breath(正常呼吸),、Apneic Event(呼吸暫停),、Body Movement(肢體律動)。
4 結(jié)論
本文提出一種非接觸式睡眠模式識別算法,,利用PVDF非接觸式傳感帶構(gòu)建硬件系統(tǒng)對多維度生理信號進行實時采集和處理,,通過ModelSim、SignalTap平臺仿真驗證,,該算法在較短的識別時間內(nèi)有著97%以上的識別準確率,。本設計突破了傳統(tǒng)穿戴式醫(yī)療儀器的復雜穿戴性,具有體積小,、實時性強的特點,,并為預防、診斷呼吸暫停綜合癥提供參考依據(jù),,非常適合用在醫(yī)療嵌入式應用方面,。
參考文獻
[1] 丁鑫,金雷,,劉諾,,等.基于織物電極的非接觸便攜式睡眠心電監(jiān)測系統(tǒng)設計[J].北京生物醫(yī)學工程,2012,,31(3):293-296.
[2] 王琛磊.基于DSP的睡眠監(jiān)測系統(tǒng)設計與實現(xiàn)[D].廣州:華南理工大學,,2013.
[3] Paalasmaa Joonas,Waris Mikko,,Toivonen Hannu,,et al.Unobtrusive online monitoring of sleep at home[C].34th Annual International Conference of the IEEE EMBS,2012:3784-3788.
[4] Song Changyue,,Liu Kaibo,,Zhang Xi,et al.An obstructive sleep apnea detection approach using a discriminative hidden markov model from ECG signals[J].IEEE Transactions on Biomedical Engineering,,2016,,7(7):1532-1542.
[5] MORA G G,KORTELAINEN J M,,HERN?魣NDEZ E R P,,et al.Evaluation of pressure bed sensor for automatic SAHS screening[J].IEEE Transactions on Instrumentation and Measurement,2015,,7(7):1935-1943.
[6] GUERRERO G,,KORTELAINEN J M,PALACIOS E,,et al.Detection of sleep-disordered breathing with pressure bed sensor[C].35th Annual International Conference of the IEEE EMBS,,2013:1342-1345.
[7] Carolina Varon,Alexander Caicedo,Dries Testelmans,,et al.A novel algorithm for the automatic detection of sleep apnea from single-lead ECG[J].IEEE Transactions on Biomedical Engineering,,2015,9(9):2269-2278.
作者信息:
王 皓,,陳少勇,,王佳權(quán),黃啟俊
(武漢大學 物理科學與技術(shù)學院,,湖北 武漢430072)