唐 詩,龔 敏
(四川大學(xué)物理科學(xué)與技術(shù)學(xué)院,成都 610064)
光電容積脈搏波(photoplethysmography)包含了人體豐富的生理、病理信息。光電容積脈搏波無創(chuàng)檢測技術(shù)[1]不僅在臨床醫(yī)學(xué)上對血氧飽和度的分析已經(jīng)得到應(yīng)用,而且有助于判斷循環(huán)功能狀態(tài)和及時發(fā)現(xiàn)微循環(huán)血流動力學(xué)變化。隨著光電容積脈搏波檢測技術(shù)的不斷發(fā)展,當(dāng)今在醫(yī)學(xué)領(lǐng)域認(rèn)為從光電容積脈搏波中提取出信號的峰位、半寬、峰值間的時間差等參數(shù)也反映了人體的病情特征。標(biāo)準(zhǔn)的指端光電容積脈搏波波形如圖1所示。Y1值代表監(jiān)測點瞬間最大脈動血流量,Y2值代表微動脈內(nèi)循環(huán)最低血流量,Y3值代表循環(huán)血流壓力對微血管阻力的反作用力大小。新的研究認(rèn)為從光電容積脈搏波提取出Y1、Y2、Y3三個特征值的動態(tài)變化在一定范圍內(nèi)與失血量及失血速度密切相關(guān)。X0到Y(jié)2之間為心臟的收縮期,Y2到X終之間為心臟的舒張期。Y2值發(fā)生在主動脈瓣關(guān)閉瞬間,主動脈血液返流被主動脈瓣阻擋而返流發(fā)生一個折返波,因此形成一個重峰。主峰的下降趨勢大致反映外周阻力的高低。外周阻力高,Y2和Y3位置較高;外周阻力低,Y2和Y3位置較低。主動脈瓣若關(guān)閉不全,舒張期會有血液倒流入心室,使重峰下降陡峭,此時重峰不明顯或消失。因此,可以根據(jù)脈搏波形的振幅、是否存在Y2點和重峰位置、得到的心率是否合理來判斷PPG信號的質(zhì)量好壞。指端PPG曲線趨勢客觀反映了失血量和末梢循環(huán)障礙程度,對動態(tài)分析可以最大限度地排除各種干擾因素,有助于早期預(yù)測失血性休克發(fā)生,指導(dǎo)臨床對失血病例實施快速有效的容量復(fù)蘇,在微循環(huán)功能監(jiān)測中具有獨特的價值[2]。如何有效提取出血流參數(shù)Y1、Y2、Y3三個動態(tài)值成了我們研究的對象。
圖1 標(biāo)準(zhǔn)指端PPG波形(X0:起點;Y1:主峰;Y2:波谷;Y3:重峰;X終:終點)
如果在PPG(光電容積脈搏波)的采集過程中使用示波器來進(jìn)行波形的檢測只能讀出信號的峰峰值和周期,然而隨著病人的生理狀態(tài)和每一次心臟的搏動,每個脈搏波的周期也是處于動態(tài)變化中的,不能完全實時提取出我們所需要的醫(yī)學(xué)信號;如果將采集的脈搏波、數(shù)據(jù)轉(zhuǎn)入到PC機(jī)中,通過Matlab或者其他軟件進(jìn)行數(shù)據(jù)處理[3],提取出Y1、Y2、Y3值間參數(shù),只能通過濾波后[8]人為后期計算,在速度上達(dá)不到我們實時檢測的要求。我們設(shè)計的脈搏波的波形數(shù)據(jù)處理IP核一方面能夠解決示波器沒有的功能,另一方面通過硬件處理數(shù)據(jù)的速度要比使用軟件處理數(shù)據(jù)的速度更快,類似于硬件加速設(shè)備。但是通過醫(yī)療精密儀器進(jìn)行檢測會耗費更大的成本而且不便于攜帶,所以通過使用FPGA開發(fā)板進(jìn)行系統(tǒng)開發(fā)成本會更低,而且能夠?qū)崟r完成參數(shù)的檢測[5]。
本文利用光電容積脈搏波檢測技術(shù)原理,從指尖提取出PPG信號,通過MATLAB實時顯示的波形信號如圖2所示。如圖分析每個波形的周期、峰值、形態(tài)都是處于動態(tài)變化中的。而通過硬件的方式可以實時地適應(yīng)這種變化。通過波形信號采集的數(shù)據(jù)是以相同時間為單位,而不是以每個波形為周期,因為每個波形的周期都處于動態(tài)變化中。在處理數(shù)據(jù)的時候是以200個數(shù)據(jù)為一組,因為采樣頻率為500Hz,所以每組數(shù)據(jù)的周期為0.4s[7]。我們所設(shè)計的系統(tǒng)電路在算法上通過拐點的方式能對此峰及時給出波形Y1、Y2、Y3的特征值。
圖2 指尖紅外PPG波形圖
實施這個項目的過程中,使用了altera公司的FPGA開發(fā)板,開發(fā)板的主體部分包括EP1C6Q240C8 FPGA的芯片與數(shù)據(jù)采集系統(tǒng),包括A/D轉(zhuǎn)換電路DDC112與D/A轉(zhuǎn)換電路TLC5620芯片。圖3為峰峰值檢測的應(yīng)用平臺示意圖。首先通過開發(fā)板上的數(shù)據(jù)采集系統(tǒng)采集人體指間PPG(光電容積脈搏波)波形,這是一個模數(shù)(A/D)轉(zhuǎn)換過程;然后將采集到的波形通過PC機(jī)上的MATLAB軟件進(jìn)行處理,并轉(zhuǎn)換為16進(jìn)制數(shù)據(jù),這些數(shù)據(jù)存放在一個固定的文本中作為硬件測試的數(shù)據(jù);同時將這些采樣的數(shù)據(jù)存入存儲器中并通過設(shè)計IP核進(jìn)行數(shù)據(jù)處理,得到峰峰值及其他相關(guān)的時間參數(shù)如峰值時間間距[6]。
我們設(shè)計的主體電路部分為數(shù)據(jù)處理IP核,其主要功能就是完成峰峰值檢測與波形時間參數(shù)的計算。這部分設(shè)計電路主要包括數(shù)據(jù)采集存儲器、峰值檢測模塊、時間參數(shù)計算模塊以及峰值存儲器,如圖4。
圖3 峰峰值檢測的應(yīng)用平臺
圖4 數(shù)據(jù)處理IP核
數(shù)據(jù)采集存儲器主要用來存儲采集的數(shù)據(jù),默認(rèn)情況下寬度設(shè)置為32bit,深度設(shè)置為256,深度可配置。為了減少占用FPGA的邏輯單元(LE)資源和布線資源,我們使用FPGA上固化的塊存儲器(BRAM)對數(shù)據(jù)進(jìn)行存儲。如果采集數(shù)據(jù)的電路與數(shù)據(jù)處理IP核不是同一個時鐘時,我們將使用跨時鐘域的異步FIFO[4]。
峰值檢測模塊是數(shù)據(jù)處理電路的核心部分,主要功能就是檢測極大值與極小值,并對極值間的時鐘周期進(jìn)行計數(shù),計數(shù)的結(jié)果將用于計算時間參數(shù)。極值檢測算法的核心思想就是尋找拐點部分,如圖5為極大值的verilog代碼。
圖5 極大值檢測部分verilog部分代碼
波形時間參數(shù)計算模塊的主要功能就是計算各個時間參數(shù)。該設(shè)計模塊調(diào)用了Quartus軟件的除法器lpm_divide進(jìn)行除法操作,這樣有利于充分使用該系列的FPGA資源,避免生成復(fù)雜的布線。時間參數(shù)的精確度取決于采樣頻率,頻率越高時間參數(shù)越精確,電路中時間參數(shù)的單位為微秒級。其中采樣頻率是可配置的參數(shù),不需更改整體電路,仿真的測試電路使用的采樣頻率為500Hz。
使用的綜合仿真軟件分別為Icarus Verilog和GTKWave開源軟件,并通過Quartus II 的FPGA開發(fā)軟件進(jìn)行綜合編譯與布局布線,同時完成了FPGA的原型驗證。圖6為仿真波形的部分截圖,Clk為系統(tǒng)時鐘,rst為復(fù)位信號,低電平時復(fù)位;maxmain為峰值檢測輸出值;minmain為波谷檢測輸出值;time_max與time_min分別為波形峰值時間間距和波谷時間間距。
圖6 仿真波形
在進(jìn)行數(shù)據(jù)處理IP核的綜合布線過程中,其僅占用了16%的邏輯單元,如圖7為數(shù)據(jù)處理IP核占用的FPGA資源。
圖7 數(shù)據(jù)處理IP核占用的FPGA資源
在FPGA器件中用硬件描述語言verilog HDL編寫的IP核進(jìn)行波形數(shù)據(jù)處理,具有軟件處理無法比擬的速度和實時性;并且FPGA器件體積小、集成度高。數(shù)據(jù)采樣頻率越高,電路得到的處理數(shù)據(jù)就越精確。
[1] 高博,魏蔚,龔敏,王麗. 脈搏血氧飽和度檢測儀的研制[J]. 微計算機(jī)信息,2009.
[2] 張伯英. 指端光電容積脈搏波在循環(huán)功能動態(tài)檢測中的意義[J]. 生物醫(yī)學(xué)工程與臨床,2010.
[3] 馬明建,周長城. 數(shù)據(jù)采集與處理技術(shù)[M]. 西安:西安交通大學(xué)出版社,2000. 1-31.
[4] 廖祖禹,黃建國,戴志堅. FPGA在峰值檢測中的應(yīng)用[J]. 測控技術(shù),2010:01-0010-03
[5] Richard E. Haskell, Darrin M. Hanna著. 鄭利浩,王荃,陳華鋒譯. FPGA數(shù)字邏輯設(shè)計教程: Verilog[M]. 北京:電子工業(yè)出版社,2010.
[6] Wayne Wolf著. 李東生等譯. 現(xiàn)代VLSI設(shè)計:基于IP核的設(shè)計[M]. 北京:電子工業(yè)出版社,2011.
[7] M.H.Sherebin, R.Z.Sherebin. Frequency analysis of the peripheral pulse wave detected in the finger with a photoplethysmograph[J]. IEEE Transactions on Biomedical Engineering. 1990,37(3).
[8] K.Shafqat, D.P.Jones, R.M.Langford, P.A.Kyriacou.Filtering techniques for the removal of ventilator artefact in oesophageal pulse oximetry[C]. Med BioEng Comput.2006.