瞿詩(shī)華,吳華煒,錢志余,李韙韜
(南京航空航天大學(xué)自動(dòng)化學(xué)院,南京 211100)
連續(xù)無(wú)創(chuàng)的血壓測(cè)量具有重要的臨床應(yīng)用價(jià)值,利用脈搏波特征參數(shù)連續(xù)無(wú)創(chuàng)測(cè)量血壓的方法受到廣泛關(guān)注。
張繼光等人對(duì)單一對(duì)象提取脈搏波特征參數(shù),分析脈搏波特征參數(shù)與血壓之間的相關(guān)性,利用高相關(guān)性的特征參數(shù)建立血壓計(jì)算模型。最終模型在計(jì)算該對(duì)象的血壓時(shí)精度較高[1],滿足AAMI標(biāo)準(zhǔn)[2],但是計(jì)算其他對(duì)象的血壓時(shí)無(wú)法保證計(jì)算精度。顏國(guó)棟等人借助脈搏波特征參數(shù)并利用60人的脈搏波頻域特征參數(shù)和對(duì)應(yīng)的血壓數(shù)據(jù)建立了血壓計(jì)算模型[3],最終模型的計(jì)算結(jié)果誤差滿足AAMI標(biāo)準(zhǔn),但是模型的計(jì)算對(duì)象均來(lái)自于正常人群的血壓值,并未對(duì)病理情況下血壓異常的人群進(jìn)行實(shí)驗(yàn)和分析,在計(jì)算高血壓或者低血壓患者的血壓時(shí)誤差較大。因此,目前基于脈搏波特征參數(shù)測(cè)定血壓的算法都缺乏普適性。
針對(duì)此問(wèn)題,本研究提出了一種基于脈搏波特征參數(shù)的改進(jìn)算法,算法利用相關(guān)性分析(correlation analysis,CA)去除無(wú)關(guān)特征參數(shù),利用主成分分析(principal component analysis,PCA)對(duì)特征參數(shù)矩陣降維減少計(jì)算復(fù)雜度,利用多元線性回歸建立脈搏波計(jì)算血壓的模型?;谳^大的數(shù)據(jù)庫(kù)建立多級(jí)血壓計(jì)算模型,并根據(jù)逐步逼近的原理[4],使每一級(jí)模型的計(jì)算結(jié)果逐步接近真實(shí)值,最終建立基于脈搏波特征參數(shù)計(jì)算血壓的普適算法。
實(shí)驗(yàn)需要采集多組脈搏波和血壓數(shù)據(jù),脈搏波數(shù)據(jù)是由光電血氧探頭采集到的光電容積脈搏波(photoplethysmography,PPG)[5],血壓數(shù)據(jù)采用水銀血壓計(jì)測(cè)得。數(shù)據(jù)采集過(guò)程在南京軍區(qū)總院和江蘇省人民醫(yī)院心血管內(nèi)科進(jìn)行,醫(yī)院主要采集血壓異常人群,之后采集多組正常人數(shù)據(jù)作為數(shù)據(jù)庫(kù)中正常人的數(shù)據(jù)樣本。
采集PPG信號(hào)的長(zhǎng)度定為1 min,設(shè)備的采樣頻率為100 Hz。采集PPG信號(hào)前被試者靜坐5 min,采集過(guò)程中被試者保持平靜[6]。采集完P(guān)PG信號(hào)后立刻測(cè)定被試者血壓,保證采集數(shù)據(jù)的時(shí)間對(duì)應(yīng)性。采集血壓時(shí)連續(xù)測(cè)量被試者血壓3次,取平均值作為血壓參考值。
實(shí)驗(yàn)最終采集到了700個(gè)志愿者的血壓和脈搏數(shù)據(jù),為保證建立模型的準(zhǔn)確性,實(shí)驗(yàn)最終在700組數(shù)據(jù)中分別選取了100名高血壓(收縮壓高于140 mmHg且舒張壓高于90 mmHg)樣本,100名低血壓(收縮壓低于90 mmHg且舒張壓低于60 mmHg)樣本和100名正常人樣本組成數(shù)據(jù)庫(kù),保證數(shù)據(jù)庫(kù)中各種類樣本數(shù)相同。數(shù)據(jù)庫(kù)中300名志愿者的年齡介于20~70歲,各年齡段樣本數(shù)基本一致,且男女比例均衡。最終數(shù)據(jù)庫(kù)內(nèi)的收縮壓跨度為83~198 mmHg,舒張壓跨度為49~115 mmHg。
數(shù)據(jù)庫(kù)中的300組數(shù)據(jù)按如下標(biāo)準(zhǔn)被均分到樣本集和驗(yàn)證集中:
(1)各個(gè)類型的樣本(高血壓、正常和低血壓)在兩個(gè)集合中平均分配;
(2)樣本集的血壓范圍跨度大于驗(yàn)證集的血壓范圍跨度。
按照以上標(biāo)準(zhǔn)分配后,最終樣本集中收縮壓跨度為83~198 mmHg,舒張壓跨度為49~115 mmHg,驗(yàn)證集中收縮壓跨度為87~186 mmHg,舒張壓跨度為52~106 mmHg。樣本集和驗(yàn)證集中高血壓、正常人和低血壓的樣本數(shù)均為50組。
脈搏波預(yù)處理在matlab中進(jìn)行,利用小波分解和重構(gòu)的方法去除波形的基線漂移和高頻噪聲后得到良好的脈搏波信號(hào)[7-8]。通過(guò)尋找波峰和波谷的算法找到波形中的所有峰谷點(diǎn)后,提取出單個(gè)周期的脈搏波波形(見(jiàn)圖1)。
圖1 單個(gè)周期的脈搏波波形
實(shí)驗(yàn)中需要提取的脈搏波特征參數(shù)包括時(shí)域特征參數(shù)和頻域特征參數(shù)。
時(shí)域特征參數(shù)根據(jù)圖1中脈搏波的特征點(diǎn)提取,圖1中特征點(diǎn)各自的含義是:C為脈搏波周期起始點(diǎn),D為脈搏波波峰,E為脈搏波重搏波起始點(diǎn)[9],F(xiàn)點(diǎn)為重搏波達(dá)到最大時(shí)的點(diǎn),G為脈搏波下周期的起始點(diǎn)。C到D為脈搏波上升支,D到G為脈搏波下降支。由于重搏波谷點(diǎn)在部分志愿者的脈搏波波形中不明顯,最終提取到的時(shí)域特征參數(shù)包括:脈搏波波谷光強(qiáng)值、脈搏平均強(qiáng)度(C點(diǎn)到G點(diǎn)所有點(diǎn)的平均光強(qiáng)值)、脈搏波波峰光強(qiáng)值、峰下面積、峰谷差值、下降支峰谷連線斜率(D點(diǎn)與G點(diǎn)連線的斜率)及脈寬(C點(diǎn)與G點(diǎn)橫坐標(biāo)差值)。
脈搏波頻域特征參數(shù)在脈搏波的幅值譜中提取。在對(duì)單個(gè)周期的脈搏波波形進(jìn)行10次周期延拓后,對(duì)延拓后的波形進(jìn)行快速傅里葉變換得到脈搏波幅值譜見(jiàn)圖2。
研究表明,脈搏波的頻譜成分主要集中在基波到5~6次諧波內(nèi)[10],最終實(shí)驗(yàn)提取的頻域特征參數(shù)為脈搏波幅值譜中基波到第六次諧波這7個(gè)波峰對(duì)應(yīng)的頻率和幅值。
由于1 min的脈搏波信號(hào)包含多個(gè)脈搏周期,實(shí)驗(yàn)中對(duì)每個(gè)脈搏周期均提取上述21個(gè)特征參數(shù)得到多組特征參數(shù),然后計(jì)算每個(gè)特征參數(shù)的平均值,利用平均值組成最終的特征參數(shù)向量。
圖2 脈搏波幅值譜
對(duì)300名志愿者中的每個(gè)樣本按2.2中的方法提取脈搏波特征參數(shù)向量,將300組特征參數(shù)向量組成300×21的特征參數(shù)矩陣R,同時(shí)將每個(gè)志愿者對(duì)應(yīng)的真實(shí)收縮壓和舒張壓分別存入向量ySBP和yDBP中,利用分別和ySBP與yDBP做相關(guān)性分析得到各特征參數(shù)與收縮壓和舒張壓的皮爾森相關(guān)系數(shù)[11-12],結(jié)果見(jiàn)圖3和圖4。
圖3 脈搏波各特征參數(shù)與收縮壓之間的
由于兩變量之間的皮爾森相關(guān)系數(shù)絕對(duì)值不小于0.2時(shí)變量之間具有相關(guān)性,小于0.2時(shí)不具相關(guān)性[13-14]。因此,最終計(jì)算收縮壓的特征參數(shù)矩陣大小為300×8,計(jì)算舒張壓的特征參數(shù)矩陣大小為300×20,將前后兩個(gè)矩陣記為RPCAS和RPCAD。RPCAS和RPCAD維數(shù)較高,利用PCA進(jìn)行降維處理來(lái)減小計(jì)算的復(fù)雜度。分別對(duì)RPCAS和RPCAD做主成分分析,得到兩個(gè)矩陣中各個(gè)主成分的特征值[15],見(jiàn)圖5和圖6。
圖4 脈搏波各特征參數(shù)與舒張壓之間
圖5 矩陣RPCAS中各主成分的特征值
圖6 矩陣RPCAD中各主成分的特征值
選取特征值大于等于1的主成分[16],因此,計(jì)算收縮壓和舒張壓的主成分矩陣均為4維矩陣,分別記為:
以SPS作為自變量,ySBP作為因變量進(jìn)行多元線性回歸分析得到收縮壓的回歸系數(shù)[17-18]為:
(1)
以SPD作為自變量,yDBP作為因變量進(jìn)行多元線性回歸分析得到舒張壓的回歸系數(shù)為:
(2)
兩者均為5×1的矩陣。對(duì)任意志愿者ω提取其主成分參數(shù)向量W=[w1,w2,w3,w4]后,利用(1)式和(2)式得到其收縮壓(BPS)和舒張壓(BPD)的計(jì)算值分別為:
BPS=[1,W]·BSBP
(3)
BPD=[1,W]·BDBP
(4)
以計(jì)算任意志愿者Zeta的收縮壓為例,舒張壓的計(jì)算方式與之一致,Zeta降維后的主成分參數(shù)矩陣記為Z=[z1,z2,z3,z4]。算法結(jié)構(gòu)圖見(jiàn)圖7。
圖7 算法結(jié)構(gòu)圖
具體計(jì)算過(guò)程按以下步驟進(jìn)行:
第二步:將X1和YSBPX1代入(1)式得到一級(jí)回歸系數(shù):
(5)
將Z和B1代入式(3)計(jì)算出一級(jí)模型計(jì)算值:
y1=[1,Z]·B1
(6)
將B1和V1代入(1)式得到驗(yàn)證集中每個(gè)個(gè)體的一級(jí)收縮壓計(jì)算值數(shù)組:
(7)
計(jì)算驗(yàn)證集的一級(jí)模型誤差數(shù)組:
(8)
取出d1中的最大值記為一級(jí)模型誤差閾值D1。
利用y1和D1確定Zeta真實(shí)收縮壓所在的第一個(gè)區(qū)間A1:[y1-D1,y1+D1],記為一級(jí)逼近區(qū)間[19]。并利用A1計(jì)算二級(jí)參數(shù)樣本矩陣X2、二級(jí)參數(shù)驗(yàn)證矩陣V2、二級(jí)血壓樣本矩陣YSBPX2和二級(jí)血壓驗(yàn)證矩陣YSBPV2,具體方法如下:
(1)提取YSBPX1中屬于區(qū)間A1的數(shù)據(jù)組成YSBPX2;
(2)提取YSBPV1中屬于區(qū)間A1的數(shù)據(jù)組成YSBPV2;
(3)在矩陣X1內(nèi)找到Y(jié)SBPX3中各個(gè)元素對(duì)應(yīng)的行向量,并將這些行向量按YSBPX2內(nèi)的元素順序組成二級(jí)樣本矩陣X2,然后用同樣的方法得到V2。
第三步:重復(fù)第二步的操作,利用X2、V2、YSBPX2和YSBPV2計(jì)算得到y(tǒng)2,D2、X3、V3、YSBPX3和YSBPV3
......
重復(fù)第二步的操作i次得到第i+1級(jí)模型的血壓計(jì)算值yi+1和誤差閾值Di+1,如果Di+1≤5 mmHg,則認(rèn)定yi+1為被試者Zeta的血壓值,若不滿足則利用Xi+2、Vi+2、YSBPXi+2和YSBPVi+2進(jìn)行下一級(jí)運(yùn)算,直至Di+j≤5 mmHg(j≥2且j為整數(shù)),如果Di+j無(wú)法縮小到5 mmHg以內(nèi),則運(yùn)算過(guò)程中必然會(huì)出現(xiàn)Di+f=Di+f+1(f≥j),此時(shí)輸出從第1級(jí)模型到第i+f+1級(jí)模型的所有血壓計(jì)算值和對(duì)應(yīng)的模型誤差閾值作為分析依據(jù),用以改進(jìn)算法。
隨機(jī)選取數(shù)據(jù)庫(kù)外的10名志愿者,利用本研究算法計(jì)算血壓,計(jì)算終止時(shí)用到的模型級(jí)數(shù)和對(duì)應(yīng)的模型誤差閾值見(jiàn)表1、表2。
表1不同測(cè)試者的收縮壓計(jì)算結(jié)果
Table 1 Calculation results of systolic pressure for different subjects
表2不同測(cè)試者的舒張壓計(jì)算結(jié)果
Table 2 Calculation results of diastolic pressure for different subjects
分析表1和表2,10名志愿者的收縮壓和舒張壓的最終模型計(jì)算值誤差均達(dá)到5 mmHg以內(nèi),優(yōu)于AAMI標(biāo)準(zhǔn)。再分析10名志愿者的血壓分布情況,10名志愿者中有2名高血壓患者(2號(hào)和8號(hào)),2名低血壓患者(3號(hào)和4號(hào))及6名血壓正常的人。本研究提出的算法最終對(duì)這10名志愿者均能準(zhǔn)確計(jì)算收縮壓和舒張壓,而且計(jì)算精度優(yōu)于AAMI標(biāo)準(zhǔn)。因此,本研究提出的改進(jìn)算法解決了基于脈搏波特征參數(shù)無(wú)法建立普適的血壓測(cè)量模型的問(wèn)題,能夠應(yīng)用于計(jì)算包括病理血壓值在內(nèi)的血壓。
脈搏波波形比較復(fù)雜,目前還無(wú)法揭示它和血壓之間的內(nèi)在聯(lián)系[20]。利用脈搏波精確計(jì)算血壓并且建立普適性高的血壓計(jì)算模型是目前研究遇到的主要問(wèn)題。本研究提出的改進(jìn)算法通過(guò)建立大型數(shù)據(jù)庫(kù),利用線性回歸建立脈搏波特征參數(shù)和血壓之間的初步計(jì)算模型,然后層層遞進(jìn)通過(guò)縮小線性回歸用到的樣本區(qū)間建立更加準(zhǔn)確的計(jì)算模型從而增加計(jì)算精度,最終建立的模型適用于包括高血壓、正常人及低血壓在內(nèi)的被試者,實(shí)現(xiàn)了普適的基于脈搏波特征參數(shù)的無(wú)創(chuàng)血壓測(cè)量。