龐 宇,蔣 偉,王志成,張博臻
(重慶郵電大學(xué) 光電工程學(xué)院,重慶 400065)
血壓是指心臟收縮時(shí)將血液泵入血管對(duì)血管壁加儲(chǔ)的壓力,收縮時(shí)的壓力為收縮壓(systolic pressure,SP),正常范圍值為90~140 mmHg,舒張時(shí)的壓力為舒張壓(diastolic pressure,DP),正常范圍值為60~90 mmHg,具體數(shù)值跟性別、年齡等因素有關(guān),是反映人體健康狀況的重要生理指標(biāo)[1]。血壓的測(cè)量方式一般分有創(chuàng)測(cè)壓法和無(wú)創(chuàng)測(cè)壓法,有創(chuàng)測(cè)壓法采用在人體動(dòng)脈血管里加入血壓傳感器,雖然測(cè)量準(zhǔn)確,但測(cè)量條件復(fù)雜,給人體帶來(lái)一定創(chuàng)傷,一般在特殊條件下使用[2-3]。無(wú)創(chuàng)測(cè)壓法,通過(guò)在測(cè)量部分加入一些輔助傳感器,采集出相應(yīng)部位的生理信號(hào),通過(guò)對(duì)這些信號(hào)的算法處理分析,最后可以計(jì)算出血壓值,此方法無(wú)創(chuàng)便攜,測(cè)量結(jié)果偏差也在幾個(gè)mmHg范圍內(nèi),目前被廣泛采用。
示波法又稱振動(dòng)法[4],其基本原理為:采用氣泵、電磁閥、袖帶及壓力傳感器組成封閉的測(cè)量系統(tǒng),對(duì)袖帶進(jìn)行加氣,從而阻斷手腕或手臂的動(dòng)脈處血流,在放氣或充氣的過(guò)程中,由于脈搏的微弱振動(dòng)引起袖帶氣壓振蕩波動(dòng),通過(guò)壓力傳感器將振蕩脈搏波信號(hào)采集出來(lái)。根據(jù)臨床醫(yī)學(xué)實(shí)驗(yàn)和理論,這些采集出來(lái)的波動(dòng)信號(hào)與收縮壓、舒張壓存在函數(shù)關(guān)系,從而可以計(jì)算出血壓[5-6]。采集有2種方式:放氣式和充氣式,本文采用放氣式采集振蕩脈搏波信號(hào),具體步驟是:手腕戴上袖帶并保持靜坐,手臂與心臟平齊,氣泵快速充氣到約180mmHg時(shí)阻斷動(dòng)脈血流,此時(shí)袖帶內(nèi)只有微弱的振蕩信號(hào);逐漸放氣減壓過(guò)程中(5~10 mmHg/s),袖帶內(nèi)靜壓接近收縮壓時(shí),振蕩波幅值變化較大,靜壓等于平均壓(mean pressure,MP)時(shí),振蕩波幅值最大;隨著袖帶內(nèi)氣壓減小,靜壓值小于平均壓時(shí),幅值逐漸減??;靜壓值小于舒張壓后,又只有微弱的振蕩信號(hào)了,如圖1所示。
圖1 示波法原理示意圖(放氣式)
示波法中常用的主要有波形特征法和幅度系數(shù)法,特征法就是根據(jù)收縮壓、舒張壓處振蕩脈搏波幅值出現(xiàn)較大變化,由于實(shí)際測(cè)量中的干擾因素較多,特征法的特征拐點(diǎn)選取偏差較大,影響包絡(luò)線的擬合,適應(yīng)性較差,逐漸被其他方法取代[7]。
幅度系數(shù)法,就是根據(jù)振蕩脈搏波幅值最大處所對(duì)應(yīng)壓力值(平均血壓值)與收縮壓、舒張壓之間的比例關(guān)系確定血壓值[8]。如圖1所示,設(shè)振蕩波幅值最大處的值為A(MP),收縮壓處為A(SP),舒張壓處為A(DP),則比例關(guān)系式如下:
K1值的范圍一般是0.40~0.75,K2值的范圍一般是0.45~0.90,根據(jù)振蕩脈搏波的最大幅值和比例系數(shù)關(guān)系計(jì)算出收縮壓和舒張壓,結(jié)合采樣頻率和波峰數(shù)計(jì)算出脈率[9]。
幅度系數(shù)法簡(jiǎn)單實(shí)用,但不能適應(yīng)個(gè)體的變化[10]。研究表明,收縮壓和舒張壓處振蕩波的歸一化系數(shù)隨平均壓變化而變化[11]。變幅度系數(shù)法根據(jù)不同平均壓選擇出不同的歸一化系數(shù)K1、K2的值,如表1所示。本文采用變幅度系數(shù)法實(shí)現(xiàn)的人體血壓測(cè)量,實(shí)驗(yàn)結(jié)果表明,與聽(tīng)診法均值誤差基本都在5 mmHg以內(nèi)。
表1 歸一化系數(shù)
硬件總體電路框圖如圖2所示,主要模塊包括電源模塊、血壓信號(hào)控制模塊、算法處理模塊、顯示模塊、存儲(chǔ)模塊。
圖2 血壓系統(tǒng)總體電路框圖
電源管理模塊主要負(fù)責(zé)整個(gè)系統(tǒng)的供電,利用A/D轉(zhuǎn)換檢測(cè)鋰電池的電量并發(fā)出是否需要為電池充電信號(hào);血壓信號(hào)控制部分主要由氣泵、袖帶、電磁閥、壓力傳感器、驅(qū)動(dòng)電路組成,構(gòu)成封閉回路,可實(shí)現(xiàn)充放氣的控制;STM32F103RCT6作為主控芯片,完成整個(gè)系統(tǒng)的邏輯控制、算法處理;顯示部分通過(guò)IIC協(xié)議控制OLED屏幕顯示處理后的數(shù)據(jù),如收縮壓、舒張壓、心率等;存儲(chǔ)部分通過(guò)串行外圍設(shè)備接口(SPI)協(xié)議控制串行FLASH,擴(kuò)展系統(tǒng)的存儲(chǔ)內(nèi)存,完成數(shù)據(jù)保存。
采集部分由氣泵、電磁閥、分支器、袖帶、壓力傳感器構(gòu)成封閉回路,完成對(duì)袖帶的充氣或放氣。本設(shè)計(jì)氣泵選用的是DQB030-A型氣泵,3 V電壓驅(qū)動(dòng),功率0.6W,密封性小于3mmHg/min,滿足測(cè)血壓需求;選用DQF1-3A型電磁閥,其工作壓力范圍0~350 mmHg,功率0.3W,從300 mmHg壓力泄氣到15 mmHg的時(shí)間小于3 s,泄氣速度滿足放氣需求;由于人體生理信號(hào)是低頻小信號(hào),信噪比低,選用MP3V5050GP壓力傳感器,其內(nèi)部有信號(hào)運(yùn)放和調(diào)節(jié)功能,可進(jìn)行片上補(bǔ)償,直接將0~375 mmHg的壓力值轉(zhuǎn)換為0.06~2.82 V的電信號(hào),與電子血壓計(jì)的設(shè)計(jì)要求匹配。
加壓階段:電磁閥關(guān)閉,氣泵采用100 Hz的PWM波控制,100%的PWM快速充氣3 s,50%的占空比慢速充氣2 s,預(yù)充氣完成,袖帶氣壓可達(dá)200 mmHg左右;減壓階段:氣泵停止充氣,電磁閥用20 Hz的PWM波控制,根據(jù)氣壓調(diào)節(jié)PWM占空比控制在20%~26%之間,實(shí)現(xiàn)以5~10 mmHg/s勻速減壓,壓力傳感器和處理器的模數(shù)轉(zhuǎn)換完成數(shù)據(jù)采集,采集頻率為250 Hz,采集混合信號(hào)如圖3所示,前5 s基本完成了快速充氣,隨后開(kāi)始減壓,采集到微弱的振蕩脈搏波信號(hào)。
圖3 混合信號(hào)及頻譜圖
軟件設(shè)計(jì)主要包含壓力值控制、信號(hào)分離、噪聲處理、峰值誤差補(bǔ)償、變幅度系數(shù)法算法實(shí)現(xiàn)、數(shù)據(jù)有效性判斷,具體流程如圖4所示。
圖4 整體設(shè)計(jì)流程框圖
壓力信號(hào)為氣泵加給袖帶的絕對(duì)壓力,當(dāng)袖帶里的氣壓減壓到一定程度時(shí),它里面包含了動(dòng)脈的振動(dòng)壓力,這個(gè)由脈搏振動(dòng)引起的壓力遠(yuǎn)小于整個(gè)袖帶的絕對(duì)壓力,如圖3信號(hào)為本實(shí)驗(yàn)裝置采集到的實(shí)際混合信號(hào),其中包含了靜壓力信號(hào)、脈搏波振動(dòng)信號(hào)、高頻振動(dòng)干擾信號(hào)、基線漂移干擾信號(hào)等。對(duì)圖3進(jìn)行血壓信號(hào)頻譜分析,靜壓力信號(hào)相當(dāng)于直流信號(hào),且通過(guò)示波法中的袖帶靜壓力相對(duì)采樣幅值為2 000左右,實(shí)際采集到的頻率幾乎接近0 Hz,如頻譜圖所示0 Hz處的幅值極大,而血壓信號(hào)采樣相對(duì)幅值為40左右,頻率值分布主要在1~10 Hz,與人體脈搏波頻率、幅值等特性符合。本文分離血壓信號(hào)是通過(guò)0.8~10 Hz的帶通濾波器進(jìn)行信號(hào)選擇,而類似一些高頻振動(dòng)干擾信號(hào),通過(guò)頻譜圖可知其幅值很小,頻率也基本高于10 Hz,經(jīng)過(guò)帶通濾波器后其對(duì)血壓分析判定的影響幾乎可以忽略,選用如圖5電路模擬帶通濾波器轉(zhuǎn)換為數(shù)字帶通濾波器。
圖5 帶通濾波器電路示意圖
前級(jí)1階RC低通濾波在S域的傳遞函數(shù)為
通過(guò)Z變換并轉(zhuǎn)換為差分方程,T1為采樣周期,則
當(dāng)采樣間隔足夠小時(shí),
后級(jí)1階高通濾波的頻域和時(shí)域表達(dá)式為
離散化后可得
式中,b=R2C2/R2C2+T2。
將混合信號(hào)經(jīng)過(guò)10 Hz低通濾波器可得袖帶靜壓力信號(hào),由于氣泵的壓力信號(hào)相當(dāng)于直流信號(hào),頻率低,而人體脈搏波頻率一般在1~10 Hz之間。經(jīng)驗(yàn)證,可通過(guò)0.8 Hz的高通濾波器,fs為250 Hz,式(6)中a為0.025 2,b為0.975,提取出動(dòng)脈振動(dòng)脈搏波信號(hào),信號(hào)曲線如圖6所示。
圖6 壓力振蕩分離信號(hào)曲線
通過(guò)對(duì)軟件濾波后的采樣點(diǎn)得到的數(shù)據(jù)進(jìn)行單個(gè)脈搏波的峰值查找,為了消除重搏波的波峰對(duì)脈搏波峰的影響,人體脈搏波的振蕩頻率為1~2 Hz左右,少數(shù)條件下可放寬至1~3 Hz左右,本文采集裝置的采樣率為250 Hz,在對(duì)采樣點(diǎn)進(jìn)行局部最大值點(diǎn)查找時(shí),考慮到采樣的250個(gè)采樣點(diǎn)中可能包含到1~2個(gè)脈搏波波峰,進(jìn)行局部峰值查找時(shí)選擇100~150個(gè)采樣點(diǎn)為宜,本文選擇的是每隔100個(gè)采樣點(diǎn),峰值查找頻率2.5 Hz,得到最大值點(diǎn)即為振蕩脈搏波的峰值點(diǎn),如圖7所示。
圖7 離散峰值處理曲線
由于測(cè)量條件時(shí)存在干擾因素,如非線性放氣、電磁閥抖動(dòng)、人體手腕抖動(dòng)、說(shuō)話等都會(huì)不可避免地導(dǎo)致采集到的數(shù)據(jù)出現(xiàn)干擾點(diǎn),本次實(shí)驗(yàn)數(shù)據(jù)為現(xiàn)場(chǎng)實(shí)際測(cè)得,存在較多干擾,適合后期算法處理,如圖6圈注的幾個(gè)A點(diǎn),影響后期的曲線擬合,導(dǎo)致血壓測(cè)量誤差,必須進(jìn)行干擾點(diǎn)處理。干擾點(diǎn)處理算法通過(guò)結(jié)合基線漂移進(jìn)行的動(dòng)態(tài)系數(shù)匹配進(jìn)行調(diào)整,其流程如圖8所示,處理后效果如圖7所示。
圖8 峰值誤差補(bǔ)償流程框圖
3.3.1 靜壓力曲線擬合
通過(guò)PWM波控制電磁閥來(lái)實(shí)現(xiàn)系統(tǒng)勻速線性放氣,由于電磁干擾、手腕抖動(dòng)、脈搏波與靜壓分離不徹底等因素導(dǎo)致放氣過(guò)程中采集到的靜壓信號(hào)也存在微弱的波動(dòng),袖帶靜壓的非線性將對(duì)氣壓值的計(jì)算導(dǎo)致較大誤差,通過(guò)示波法采集到的血壓處?kù)o壓力信號(hào)是線性變化的,選擇最小乘法進(jìn)行線性擬合,主要是考慮到減輕MCU的計(jì)算負(fù)載,最小二乘法線性擬合原理如下:
設(shè)直線表達(dá)式y(tǒng)=a+bx,有n組數(shù)據(jù),波峰、波谷均值數(shù)據(jù)(xi,yi)與直線y上的誤差為di,使得(d12+d22+… +dn2)為最小值,即求出最佳值a、b的方法叫最小二乘法,則令
D對(duì)a和b分別求1階偏導(dǎo)數(shù)為:
再求2階偏導(dǎo)數(shù)為:
滿足最小值條件,令一階偏導(dǎo)數(shù)為零:
引入平均值:
則聯(lián)合解得:
結(jié)合a、b的值,可解得擬合曲線,如圖9所示。
圖9 靜壓擬合曲線
傳統(tǒng)的做法是對(duì)多出現(xiàn)的微弱波峰點(diǎn)進(jìn)行直線擬合,這樣擬合的值偏大,通過(guò)對(duì)比峰值、谷值、均值點(diǎn)擬合的確定系數(shù)可知,均值擬合效果優(yōu)于單一點(diǎn)的擬合,本文采用峰谷均值點(diǎn)擬合曲線,使得靜壓力曲線準(zhǔn)確,具體確定系數(shù)如表2所示。
表2 擬合點(diǎn)選擇分析
3.3.2 振蕩脈搏波包絡(luò)線擬合
通常以振蕩脈搏波的波峰點(diǎn)作為擬合對(duì)象,則擬合函數(shù)的最大值點(diǎn)作為脈搏波的最大振幅處,對(duì)應(yīng)的壓力值就是平均壓;由于測(cè)量過(guò)程中的干擾因素,如手腕滑動(dòng)導(dǎo)致氣壓變大或變小,采集到的波峰就會(huì)有所偏差,本文采用前后序列均值的方法確定平均壓所處位置,具體算法為:
步驟1確定出數(shù)據(jù)中最大峰值處x0,以此處為參考點(diǎn);
步驟2前后第一個(gè)序列的峰值處x1,t1,求出均值m1=(x1+t1)/2;
步驟3依次重復(fù)參考點(diǎn)處前后第二、第三個(gè)序列峰值處x2,x3,t2,t3,并求出均值m2,m3;
步驟4結(jié)合峰值擬合包絡(luò)線最大值處x4,確定出序列最大峰值處x0=((m1+m2+m3)/3+x4)/2;
經(jīng)過(guò)此算法計(jì)算后的平均壓穩(wěn)定、準(zhǔn)確,抗干擾能力增強(qiáng)。
為了尋找振蕩脈搏波波峰合適的擬合算法,本文進(jìn)行了多項(xiàng)式擬合、雙直線擬合及高斯擬合,并進(jìn)行了對(duì)比。
1)多項(xiàng)式擬合:由于整體包絡(luò)線類似二次函數(shù)形狀,采用二次多項(xiàng)式擬合,擬合函數(shù)為y=ax2+bx+c,擬合曲線如圖10(a)所示。
2)雙直線擬合:考慮到振蕩脈搏波幅值先逐漸增大到最大值再逐漸減小,以峰值最大處進(jìn)行前后2段的直線擬合,采用y=ax+b型函數(shù)進(jìn)行雙直線擬合,擬合曲線如圖10(b)所示。
3)高斯擬合:研究表明,標(biāo)準(zhǔn)的振蕩脈搏波的整體幅值大小呈現(xiàn)一定的正態(tài)分布,且峰值分布較均勻,設(shè)修正后的波峰組數(shù)據(jù)為(xi,y(xi)),整組數(shù)據(jù)長(zhǎng)度為N,擬合式為:
式中,A、u、σ為高斯函數(shù)待估參數(shù)。
對(duì)式(13)取對(duì)數(shù)后展開(kāi)化簡(jiǎn)可得:
則式(14)可化為3階多項(xiàng)式:
設(shè)擬合數(shù)據(jù)與峰值數(shù)據(jù)誤差為bi,導(dǎo)出:
根據(jù)最小二乘原理,可求出a0、a1、a2,結(jié)合式即可估算出高斯函數(shù)待估參數(shù)A、u、σ,如下式所示,擬合曲線如圖10(c)所示。
通過(guò)計(jì)算對(duì)比圖10(a)(b)(c)3種擬合包絡(luò)曲線,擬合誤差如表3所示。由表3可知,高斯擬合函數(shù)最接近振蕩脈搏波實(shí)際分布情況,本文選用高斯擬合峰值曲線。
圖10 峰值包絡(luò)線擬合曲線
表3 擬合曲線誤差
對(duì)脈搏波峰值進(jìn)行高斯擬合后得峰值包絡(luò)曲線g(x),袖帶靜壓力曲線的線性擬合y(x),效果圖如圖11所示,通過(guò)前后序列均值的方法結(jié)合擬合曲線g(x)的最大值確定出最大值點(diǎn)x0,x0對(duì)應(yīng)點(diǎn)即為平均壓MP。根據(jù)變幅度系數(shù)法確定出收縮壓、舒張壓的計(jì)算公式。
式中,θ為處理器采集氣壓傳感器數(shù)據(jù)與氣壓值的轉(zhuǎn)換系數(shù)(mmHg),本文設(shè)計(jì)選用MP3V5050GP氣壓傳感器與STM32F103RCT6的ADC1采集,系數(shù)為0.109 49,計(jì)算x1、x2對(duì)應(yīng)點(diǎn)的函數(shù)值可得收縮壓SP為y(x1)θ,舒張壓DP為y(x2)θ。
圖11 血壓計(jì)算示意圖
脈率(pulse rate,PR)是指人體動(dòng)脈每分鐘搏動(dòng)的次數(shù),健康人體脈率范圍一般是60~100次/min。考慮到測(cè)量過(guò)程中的干擾,為了提高計(jì)算準(zhǔn)確度,本文選用收縮壓x1、舒張壓x2之間的所有脈搏數(shù)來(lái)進(jìn)行脈率算法處理,信號(hào)采樣頻率fs為250 Hz,則N個(gè)脈搏波的時(shí)間t1和脈搏P:
其中,N為收縮壓x1、舒張壓x2采樣點(diǎn)之間波峰個(gè)數(shù)。
實(shí)物系統(tǒng)硬件并結(jié)合Matlab調(diào)試成功后對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行處理計(jì)算,樣機(jī)如圖12左圖所示,在分支器預(yù)留的分支口接上血壓表方便調(diào)試觀察,右圖為標(biāo)準(zhǔn)聽(tīng)診器測(cè)血壓器。
圖12 測(cè)量裝置樣機(jī)和標(biāo)準(zhǔn)聽(tīng)診器測(cè)血壓器
運(yùn)用本文的方法測(cè)量與標(biāo)準(zhǔn)聽(tīng)診器誤差結(jié)果,如表4、表5所示。
表4 收縮壓誤差測(cè)量結(jié)果
表5 舒張壓誤差測(cè)量結(jié)果
由表4、5可知,收縮壓、舒張壓監(jiān)測(cè)誤差最大為4.75 mmHg,標(biāo)準(zhǔn)差為2.20 mmHg,符合AAMI/ISO標(biāo)準(zhǔn),可滿足臨床使用要求。
1)提出了靜壓曲線采用峰谷均值點(diǎn)擬合,使得靜壓線更加接近于線性放氣。
2)對(duì)查找出的波峰值進(jìn)行了誤差補(bǔ)償算法處理,有效防止了測(cè)量過(guò)程中由于手抖動(dòng)、電機(jī)干擾等產(chǎn)生的影響。
3)最大峰值采用前后序列均值和擬合曲線峰值共同確定,減小了脈搏波間距誤差,使得平均壓準(zhǔn)確、穩(wěn)定,以平均壓幅值為基礎(chǔ)的變幅度系數(shù)法計(jì)算結(jié)果更準(zhǔn)確。在一般的電子血壓計(jì)研究中,此方法具有可實(shí)現(xiàn)性和工程實(shí)用價(jià)值。