吳星 林林 陳海軍 徐之標(biāo)
脈搏波信號(hào)包含多種人體生理信息,例如血氧飽和度、血壓、心率等。從中提取的生理信息是臨床疾病診斷和治療的重要依據(jù)。目前,脈搏波測(cè)量方法主要是光電容積脈搏波描記法,其操作簡(jiǎn)單、性能穩(wěn)定、無創(chuàng)性且適應(yīng)性強(qiáng),因此得到了廣泛應(yīng)用。近年來,健康檢測(cè)對(duì)可穿戴式和連續(xù)性要求越發(fā)強(qiáng)烈,而穿戴式脈搏信號(hào)采集到的脈搏波信號(hào)很微弱,信噪比低,難以達(dá)到臨床標(biāo)準(zhǔn)。脈搏波信號(hào)很容易受外界環(huán)境的干擾,特別是人體的運(yùn)動(dòng)噪聲會(huì)使信號(hào)淹沒其中,難以提取。因此,消除脈搏波測(cè)量過程中產(chǎn)生的慢變?cè)肼暡?shí)現(xiàn)連續(xù)動(dòng)態(tài)監(jiān)測(cè)成為脈搏計(jì)的研究重點(diǎn)。
穿戴式脈搏計(jì)實(shí)際采集到的信號(hào)中常存在如下3種噪聲:①由人體呼吸或移動(dòng)引起的基線漂移,屬于一種低頻噪聲,頻率小于1 Hz;②工頻干擾,其頻率固定為50 Hz的干擾[1-3];③運(yùn)動(dòng)偽差,主要是運(yùn)動(dòng)時(shí)探頭與受測(cè)部位之間的光程發(fā)生改變引起的,一般來自探頭的相對(duì)運(yùn)動(dòng)以及靜脈搏動(dòng)[4-6]。其中,運(yùn)動(dòng)引起的干擾影響最大。
2001年,Hayes等[7]使用三光源傳感器,用一束光作為參考信號(hào)來消除另一束光的干擾,以減小測(cè)量系統(tǒng)固有運(yùn)動(dòng)干擾敏感性來提高測(cè)量精度。2004年,Lee 等[8]嘗試?yán)秒x散小波分析所具有的濾波功能,實(shí)現(xiàn)對(duì)干擾信號(hào)的濾除。但這種傳統(tǒng)的數(shù)字信號(hào)處理的方法對(duì)于運(yùn)動(dòng)干擾的去除無法達(dá)到很好的效果。2005 年,Gibbs等[9]通過在測(cè)量探頭中加入運(yùn)動(dòng)加速度傳感器的方法,獲取被測(cè)者的運(yùn)動(dòng)信號(hào)。運(yùn)動(dòng)干擾與監(jiān)測(cè)部位的運(yùn)動(dòng)狀態(tài)直接相關(guān),利用此運(yùn)動(dòng)信號(hào)構(gòu)建自適應(yīng)濾波器可消除PPG 信號(hào)中的運(yùn)動(dòng)干擾。Masimo 公司提出了一種離散飽和度變換算法(discrete saturation transform,DST),利用獲取的紅光及紅外光的光電容積脈搏波描記法(photo plethysmo graphy,PPG)信號(hào)進(jìn)行相應(yīng)的運(yùn)算構(gòu)建參考信號(hào)進(jìn)行自適應(yīng)濾波。由于這種方法有極低的失敗率和假陽性率,得到了廣泛的認(rèn)可。但這種方法在處理信號(hào)時(shí)需要不斷對(duì)比值比進(jìn)行掃描,會(huì)消耗大量的時(shí)間。在 2008 年,Yan等[10]提出了一種改進(jìn)的 DST 算法——最小相關(guān)離散飽和度變換算法,他們采用獲取的參考信號(hào)與原信號(hào)進(jìn)行相關(guān)運(yùn)算,通過最小相關(guān)判別式確定正確的比值比,用以代替 DST 中使用的自適應(yīng)濾波的方法,縮短了計(jì)算時(shí)間。
綜合國(guó)內(nèi)外學(xué)者做出的工作,為了將噪聲消除的算法簡(jiǎn)單化,本文提出了一種基于小波閾值法的脈搏波去噪算法。小波分析算法是一種靈活性較高的方法,它不需要額外的加速度傳感器,也沒有復(fù)雜的運(yùn)算,依靠單路信號(hào)即可對(duì)脈搏波信號(hào)進(jìn)行多分辨率分解和重構(gòu)。小波分析方法可以基于時(shí)域或頻域?qū)π盘?hào)進(jìn)行解析以獲得在各個(gè)尺度下的小波系數(shù),從小波系數(shù)上可以進(jìn)一步得到時(shí)頻信息的細(xì)節(jié)成分并允許單獨(dú)進(jìn)行分析和處理[11-13]。當(dāng)小波分解達(dá)到一定層數(shù)時(shí),就能夠分離出與運(yùn)動(dòng)干擾相對(duì)應(yīng)的低頻成分,并可以基于這個(gè)特性來提取運(yùn)動(dòng)干擾并進(jìn)行消除。因此小波的多分辨率分析在進(jìn)行信號(hào)去噪時(shí)能很好地保留信號(hào)的時(shí)間信息和頻域信息,濾除噪聲信號(hào)的同時(shí)保存信號(hào)的有用成分。
(1)
式中:a為尺度因子;b為平移因子。于是函數(shù)f(t)關(guān)于小波φ(t)的小波變換為:
(2)
設(shè)φ(t)的傅里葉變換為φ(ω),當(dāng)小波變換滿足如下關(guān)系式:
(3)
小波變換是可逆的,且小波逆變換的關(guān)系式如下:
(4)
小波多分辨率分解是用小波在信號(hào)的多個(gè)尺度上進(jìn)行分解,從而獲得分解后的各層小波系數(shù)。小波的多分辨率分解是應(yīng)用Mallat算法計(jì)算的。首先,將帶限函數(shù)空間用原信號(hào)的某個(gè)階段代替,然后用基于同一空間的不同尺度(即T/2,T/22,…)分析信號(hào),所以稱為多分辨率分析。多分辨率分析的一般定義如下:令Vj為L(zhǎng)2(R)中的函數(shù)子空間序列,若該子空間滿足空間的嵌套性、稠密性、分立性和尺度性,則空間集合{Vj,j∈Z}稱為依尺度函數(shù)的多分辨率分析,相應(yīng)的尺度函數(shù)為:
φ(x)=∑kpkφ(2x-k)
(5)
Wj是由函數(shù){φ(2jx-k);k∈Z}的線性組合所組成的空間,其中:
(6)
那么Wj?Vj+1與Vj+1中Vj互為正交補(bǔ)空間(即Vj=Wj-1⊕Vj-1)。
由式(6)可以得到:
Vj=Wj-1⊕Wj-2⊕…⊕W0⊕V0
(7)
因此,只要j足夠大,有限和式w-j+w1-j+…+wj-1+wj可以依范數(shù)以任意精度逼近任何f∈L2(R)。
如果想從一個(gè)信號(hào)f(n)被污染成噪聲信號(hào)s(n),那么基本的噪聲模型可表示為:
s(n)=f(n)+σe(n)
(8)
式中:e(n)為噪聲信號(hào);σ為噪聲強(qiáng)度。波變換的目的就是要抑制e(n)以恢復(fù)f(n)。降噪原理為通過對(duì)信號(hào)進(jìn)行小波分解后得到的小波系數(shù),選擇合適的閾值進(jìn)行處理,一般認(rèn)為有用信號(hào)的信號(hào)值較大而噪聲信號(hào)的信號(hào)值較小,因此將大于閾值的信號(hào)保持原來的值,將小于閾值信號(hào)置零[14-18]。然后再將閾值處理后的小波系數(shù)進(jìn)行重構(gòu),從而得到降噪后的信號(hào)。
小波分析用于降噪的過程,主要可分為下面幾個(gè)步驟。
(1)分解過程需要選定一種合適的小波,對(duì)信號(hào)進(jìn)行N層分解。
(2)閾值作用過程則對(duì)分解得到的各層系數(shù)選擇一個(gè)閾值,并將細(xì)節(jié)系數(shù)進(jìn)行閾值處理。
(3)重建閾值處理后的系數(shù),通過小波重建恢復(fù)原始信號(hào)。
為了驗(yàn)證小波去噪算法的可行性,本文在標(biāo)準(zhǔn)脈搏波數(shù)據(jù)的基礎(chǔ)上加入工頻干擾、基線漂移、肌電噪聲和運(yùn)動(dòng)偽差來驗(yàn)證小波去噪算法的可行性。各類干擾源的選取方法如下。
(1)工頻干擾:50 Hz的工頻干擾由正弦波模擬,噪聲幅度為脈搏波信號(hào)幅度平均值的10%。
(2)基線漂移:脈搏波信號(hào)中的基線漂移主要由呼吸產(chǎn)生,呼吸波的頻率一般為20次/min,即0.33 Hz,故選用同頻率的正弦信號(hào)來模擬基線漂移,幅度為脈搏波信號(hào)幅度平均值的15%。
(3)運(yùn)動(dòng)偽跡:用基線跳變來模擬,通過在脈搏波信號(hào)上每隔一定時(shí)間加上正負(fù)偏移量來實(shí)現(xiàn),幅度為脈搏波信號(hào)幅度平均值的20%。
(1)首先通過實(shí)驗(yàn)比較選取最優(yōu)的小波基、分解層數(shù)C和閾值方法。
(2)根據(jù)步驟(1)得到的最優(yōu)小波去噪?yún)?shù)對(duì)信號(hào)進(jìn)行C層分解得到小波分解后信號(hào)的各層近似和細(xì)節(jié)成分。研究表明,工頻干擾主要反映在小波分解的尺度1~3上,而肌電干擾信號(hào)的能量主要反映在小波分解尺度1和2的小波系數(shù)上。因此,將小波分解下的尺度1~3的細(xì)節(jié)分量進(jìn)行統(tǒng)一的軟閾值去噪聲處理,其它成分保持不變。
(3)經(jīng)過步驟(2)得到的在尺度C下的近似成分存在著呼吸帶來的基線漂移和運(yùn)動(dòng)偽差的基線漂移。而脈搏波信號(hào)在尺度8的近似成分與低頻信號(hào)相對(duì)應(yīng),較好地反應(yīng)了由運(yùn)動(dòng)偽差帶來的基線漂移。因此將信號(hào)進(jìn)行8層分解得到小波分解后信號(hào)的近似成分和細(xì)節(jié)成分,將包含比較大的運(yùn)動(dòng)偽差第C層近似成分減去第8層近似成分作為尺度C新的近似成分。
(4)將步驟(1)和步驟(2)得到的小波系數(shù)進(jìn)行重構(gòu),得到降噪后的信號(hào)。
(5)將應(yīng)用上述小波閾值去噪算法與加窗傅里葉去噪算法后得到的信號(hào)進(jìn)行比較,驗(yàn)證算法的可行性。
本文使用了TI公司研制的AFE4403EVM評(píng)估板,采取靜坐姿態(tài)采集人體手腕部的脈搏波信號(hào)作為標(biāo)準(zhǔn)信號(hào),信號(hào)的采樣率為512 Hz。采集對(duì)象來自兩位男性志愿者,每人進(jìn)行10組實(shí)驗(yàn)。標(biāo)準(zhǔn)脈搏波信號(hào)和加入噪聲后的信號(hào)及頻譜如圖1所示。
圖1 加入噪聲前后的脈搏波信號(hào)
從時(shí)域上對(duì)比分析,可以看出小波降噪算法對(duì)脈搏波的4種噪聲干擾都有很好的抑制效果,并且能保證信號(hào)降噪的相似性和光滑性原則。除了在時(shí)域上的直觀分析,還可以借助信噪比、均方差和平滑度這幾個(gè)指標(biāo)來分析去噪效果。
(1)信噪比
(9)
式中:ps為帶噪聲脈搏波信號(hào)的能量;pn為噪聲信號(hào)的能量。
(2)均方差
(10)
(3)平滑度
(11)
2.3.1 小波去噪?yún)?shù)分析
為了獲得較優(yōu)的小波去噪?yún)?shù),本文首先選用dbN, symN和coifN小波是通過試驗(yàn)選取最優(yōu)的小波基,然后再進(jìn)一步通過試驗(yàn)的判定分解層數(shù)和最優(yōu)的閾值方法。其中,小波基選取試驗(yàn)和閾值方法選取試驗(yàn)都是進(jìn)行6層小波分解,對(duì)加入噪聲的脈搏波信號(hào)采用軟閾值函數(shù)進(jìn)行去噪,閾值函數(shù)采用Birge-Massart策略[19]所確定的閾值進(jìn)行判定,通過去噪后信號(hào)的信噪比、均方差、平滑度數(shù)據(jù)來比較小波基的去噪效果,結(jié)果如表1所示。
從表1中可以看出,db4、db9、sym7、coif5小波基進(jìn)行去噪時(shí)效果較好,其中db9小波基的去噪效果最優(yōu)。對(duì)于分解層數(shù),理論上信號(hào)分解層數(shù)越高,越有利于信噪的分離。但是對(duì)于信號(hào)重構(gòu)來說,分解層數(shù)越高,信號(hào)失真就越大。圖2給出了在不同尺度下使用db9小波基的去噪結(jié)果。可以看出,分解層數(shù)不夠大時(shí),噪聲去除得不干凈,而當(dāng)分解層數(shù)大于6時(shí),重構(gòu)信號(hào)會(huì)發(fā)生信號(hào)失真,使信號(hào)丟失原有的信號(hào)特性,因此分解層數(shù)在第6層最優(yōu)。從圖3和表2數(shù)據(jù)可以看出用啟發(fā)式閾值進(jìn)行閾值處理得到的去噪信號(hào)效果最好。
圖2 在不同尺度下db9小波的去噪信號(hào)
圖3 不同閾值方法得到的去噪信號(hào)
表1 不同小波基的去噪效果
表2 不同閾值方法的去噪效果
2.3.2 與加窗傅里葉變換去噪比較
為了驗(yàn)證小波算法的可行性,使用db9小波基對(duì)加入噪聲的脈搏波信號(hào)進(jìn)行6層分解,利用啟發(fā)式閾值處理得到的信號(hào)與加窗傅里葉變換(Hanning窗)去噪方法進(jìn)行比較,窗寬N=11,旁瓣峰值為-41 dB,結(jié)果如圖4所示。
圖4 兩種去噪算法處理后的信號(hào)對(duì)比
由圖4可以看出,加窗傅里葉變換在信號(hào)的頻域上有較好的處理效果,但是卻不能很好地兼顧時(shí)域的信息,而且對(duì)于運(yùn)動(dòng)偽差也無法消除;而小波閾值法則可以同時(shí)兼顧信號(hào)在時(shí)域和頻域上的信息,并有效地消除運(yùn)動(dòng)偽差。另外,從表3數(shù)據(jù)分析可知,應(yīng)用小波閾值法處理后的信號(hào)在信噪比、均方差和平滑度等指標(biāo)上都具有明顯優(yōu)勢(shì)。
表3 兩種去噪算法效果對(duì)比
本文分別使用加窗傅里葉變換算法和小波閾值算法兩種方法對(duì)帶噪聲信號(hào)的脈搏波進(jìn)行去噪處理,經(jīng)兩種方法處理后的信號(hào)在信噪比、均方差和平滑度上都有很好的去噪效果,但是經(jīng)傅里葉變換后的信號(hào)無法消除運(yùn)動(dòng)偽差,而經(jīng)小波變換后處理過的信號(hào),信號(hào)跳變處雖然無法做到完全消除運(yùn)動(dòng)偽差,但是處理后的信號(hào)在跳變處已經(jīng)很大程度恢復(fù)到原本信號(hào)的走向,與原始信號(hào)具有較大的相似性,因此小波變換法能有效消除基線漂移、工頻干擾和運(yùn)動(dòng)偽差等噪聲干擾。
加窗傅里葉變換雖然可以直接應(yīng)用于處理的信號(hào)是平穩(wěn)信號(hào),但是對(duì)于脈搏波這樣的非平穩(wěn)信號(hào),則需要區(qū)分各種頻率成分以及每個(gè)時(shí)刻附近的頻率成分,單純使用加窗傅里葉法不能滿足要求。由于人體呼吸帶來的基線漂移、工頻噪聲的頻率在脈搏波信號(hào)的頻帶以外,理論上對(duì)這三種干擾可以進(jìn)行很好去除。但是運(yùn)動(dòng)偽差的頻率與脈搏波信號(hào)的頻帶重疊,因此對(duì)其消除效果往往不理想。而小波分析可以對(duì)信號(hào)進(jìn)行多分辨率分解,得到信號(hào)在各個(gè)尺度下的小波系數(shù),從小波系數(shù)上得到信號(hào)在各個(gè)頻率上的時(shí)域信息,能夠在各個(gè)頻率上對(duì)信號(hào)的近似成分和細(xì)節(jié)成分單獨(dú)進(jìn)行分析和處理,并且在變換時(shí)可以兼顧到信號(hào)的時(shí)域和頻域信息。另外,將脈搏波信號(hào)進(jìn)行多分辨率分解后,能夠分離出與運(yùn)動(dòng)干擾相對(duì)應(yīng)的成分,而且能夠針對(duì)每一層對(duì)應(yīng)的噪聲信號(hào)設(shè)定閾值進(jìn)行消噪處理,然后再將信號(hào)進(jìn)行重構(gòu),恢復(fù)目標(biāo)信號(hào)的原本特性。
本文提出了基于小波閾值法的脈搏波去噪算法,相對(duì)于三波長(zhǎng)抗運(yùn)動(dòng)干擾算法、自適應(yīng)性濾波算法、離散飽和變換算法,其有兩點(diǎn)優(yōu)勢(shì):
(1)無需額外的加速度傳感器來獲取運(yùn)動(dòng)信號(hào)或使用雙波長(zhǎng)來消除運(yùn)動(dòng)干擾,可直接從采集到的脈搏波信號(hào)中通過小波分解分離并消除運(yùn)動(dòng)偽跡。
(2)運(yùn)算簡(jiǎn)單,無需過于復(fù)雜的運(yùn)算,只需獲取經(jīng)分解后得到的小波系數(shù),然后通過設(shè)定閾值對(duì)信號(hào)進(jìn)行去噪處理,具有響應(yīng)速度快和實(shí)用性強(qiáng)的特點(diǎn)。
結(jié)果表明,該算法能夠有效抑制工頻干擾、運(yùn)動(dòng)偽差的干擾,使信噪比提高22 dB,均方差接近于0,平滑度變?yōu)樵瓉淼?1%,基本實(shí)現(xiàn)了脈搏波信號(hào)采集中干擾的去除。