郭珊山,吳朝暉,汪慶,李斌
(華南理工大學電子與信息學院,廣東廣州510640)
支氣管哮喘是危害人類健康的常見疾病,近年來發(fā)病率逐年提升,疾病造成的社會負擔不斷增加。目前全球高達3億哮喘患者,中國超過3 000萬人,目前尚無有效的根治方法[1]。世界衛(wèi)生組織制定的GINA(全球哮喘防治創(chuàng)議)和我國的《支氣管哮喘防治指南》均將PEF或FEV1以及FEV1%作為哮喘急性發(fā)作期和非急性發(fā)作期病情嚴重程度和判斷的金標準[2],對于支氣管哮喘疾病患者和高發(fā)人群來說,若能進行實時PEF和FEV1以及FEV1%指標監(jiān)測,在哮喘發(fā)作之前就可以發(fā)現(xiàn)征兆,及時采取治療措施,避免因哮喘突然發(fā)作引起生命危險,同時經(jīng)過長期監(jiān)測并結合專業(yè)治療,最終有望控制哮喘。針對哮喘病理指標監(jiān)測,國內外相關學者也進行了深入的研究[3]。然而,在國內市場上除了歐美等國家生產(chǎn)的便攜式監(jiān)測儀外鮮有國產(chǎn)的便攜家用的哮喘病監(jiān)測設備,根源在于精度問題是哮喘病病理指標監(jiān)測的技術瓶頸。針對上述問題,本文提出了一種基于小波分析和BP神經(jīng)網(wǎng)絡結合的校準方法,同時將該小波分析和神經(jīng)網(wǎng)絡算法與MSP430單片機結合,完成哮喘病監(jiān)測系統(tǒng)的校準。該校準算法收斂性好、實現(xiàn)方便、擬合精度高。
圖1為自主研發(fā)的基于小波分析和神經(jīng)網(wǎng)絡的便攜式哮喘病監(jiān)測系統(tǒng)。該系統(tǒng)中原始樣本數(shù)據(jù)來自于校準實驗平臺,具體在下一章節(jié)中將作出詳細描述。校準實驗平臺獲取的原始樣本數(shù)據(jù)帶有一定的高頻噪聲,利用小波分析可以有效濾除高頻噪聲[4]。濾除噪聲的校準樣本數(shù)據(jù)進行歸一化處理,使用MATLAB工具編寫神經(jīng)網(wǎng)絡算法,將歸一化處理后的校準數(shù)據(jù)輸入到神經(jīng)網(wǎng)絡學習訓練,直到符合設定的精度要求為止。該網(wǎng)絡的各層權值以及閾值參數(shù)將采用C語言編寫神經(jīng)網(wǎng)絡計算程序嵌入到MSP430單片機中。該系統(tǒng)充分利用了MSP430單片機豐富的接口以及浮點運算能力,單片機外掛病情采集系統(tǒng)實時采集哮喘患者的病情狀況,將采集的數(shù)據(jù)進行小波去噪、歸一化處理后調用神經(jīng)網(wǎng)絡計算程序診斷分析,將采集的電壓信號映射成便于理解的哮喘患者病理指標信號,并由LCD實時顯示監(jiān)測結果。
圖1 基于小波分析和神經(jīng)網(wǎng)絡的便攜式哮喘病監(jiān)測系統(tǒng)
本文需要完成哮喘患者呼氣峰流速(PEF)和一秒呼氣量(FEV1)以及用力呼氣量占用力肺活量比值(FEV1%)的校準,針對PEF參數(shù),計算公式為:
其中N為有效采樣次數(shù),flow(N)為第N次氣體流量數(shù)據(jù)。單片機可通過式(2)計算PEF。
對于FEV1參數(shù),其表達式為:
式中Δt為采樣間隔,N為計時滿一秒的有效采樣次數(shù),根據(jù)FEV1的醫(yī)學定義,可知Δt=1/N。對于FEV1%參數(shù),運算公式為[5]:
其中,F(xiàn)VC為用力肺活量,其運算表達式為:
式中M為監(jiān)測開始至結束內所有有效采樣次數(shù)。flow()是關于電壓-氣流量的函數(shù)關系模型,對PEF、FEV1、FEV1%3個監(jiān)測指標的精度起決定性作用,本文主要工作就是基于MSP430和小波分析以及神經(jīng)網(wǎng)絡算法來建立和校準該函數(shù)模型。
1988年,Mallat將計算機的多尺度分析思想引入小波分析中,提出了多分辨率分析的概念[6]。同時提出了相應的小波分解和重構算法,也就是Mallat算法。本文將采用該算法來對原始樣本數(shù)據(jù)去噪,根據(jù)多分辨率原理,對原始樣本數(shù)據(jù)x[n]進行多分辨率分析,即將信號序列分解成一個低頻的平滑部分和一個高頻的細節(jié)部分,分解后的低頻部分可繼續(xù)進行分解如圖2所示。設第j級的平滑信號為第j+1級平滑信號為細節(jié)信號為具體分解公式為[7]:
式中hd(n)和gd(n)為由小波函數(shù)和尺度函數(shù)確定的分解低通和高通濾波系數(shù)。該系數(shù)可由MATLAB工具求得,文中采用db3小波進行3層小波分解。由于本文中使用的原始樣本數(shù)據(jù)是低頻信號,在原始數(shù)據(jù)采集過程中由于系統(tǒng)和環(huán)境的干擾,夾雜著高頻噪聲,利用Mallat分解算法可有效對信號進行多分辨率分析,將低頻信號和高頻信號分解出來。
圖2 Mallat算法多層分解結構圖
基于平穩(wěn)白噪聲的正交小波變換仍然是平穩(wěn)的白噪聲這一結論,Donoho和Johnstone提出了小波硬、軟閾值去噪的方法[8],該方法的思路簡單:通過設定一個閾值,與各層小波的細節(jié)信號和平滑信號比較絕對值大于閾值的保留,小于閾值的直接剔除。本文中采用該閾值去噪的方法進行信號去噪。
去掉噪聲的細節(jié)信號和平滑信號可以通過公式(7)重構,來獲取校準樣本數(shù)據(jù)。
圖3 Mallat算法多層重構結構圖
BP(Back Propagation)神經(jīng)網(wǎng)絡是 1986年由Rumelhart和McCelland提出的,它是一種誤差按反向傳播的多層前饋網(wǎng)絡,是目前應用最廣泛的神經(jīng)網(wǎng)絡模型之一[9]。BP神經(jīng)網(wǎng)絡由輸入層、隱含層、輸出層構成,具有非常強的非線性映射能力,三層神經(jīng)網(wǎng)絡可以模擬任意復雜的非線性問題[10]。針對本文所研究的哮喘病理參數(shù)的校準,需要精確映射電壓信號與呼吸氣流信號的函數(shù)關系,因此本文采用如圖4所示的三層BP網(wǎng)絡拓撲結構。其核心思想是每個神經(jīng)網(wǎng)絡節(jié)點的輸出值是由上層所有節(jié)點的輸出值、當前節(jié)點與上一層所有節(jié)點的權值和當前節(jié)點的閥值以及激活函數(shù)來決定,其理論分析詳見文獻[11]。近年來,將BP神經(jīng)網(wǎng)絡應用到疾病的分析和診斷也是一大熱點,取得了很多豐碩成果[12]。
圖4 三層BP網(wǎng)絡拓撲結構圖
文中,輸入層維數(shù)為1,輸出層維數(shù)為1,隱含層維數(shù)通過MATLAB實驗來確定。通過設置不同隱含層神經(jīng)元個數(shù)進行MATLAB仿真,進行多次實驗并取收斂步數(shù)均值最少的隱含層神經(jīng)元個數(shù)為本文的隱含層維數(shù)。根據(jù)實驗本文選取隱含層神經(jīng)元維數(shù)為5。根據(jù)上述理論以及MATLAB實驗確認的各項參數(shù)編寫神經(jīng)網(wǎng)絡計算程序嵌入到MSP430單片機中,具體實現(xiàn)公式如下:
其中,xi為神經(jīng)網(wǎng)絡輸入層輸入信號,aj為網(wǎng)絡隱含層輸出信號,b1為神經(jīng)網(wǎng)絡輸出層輸出信號,w1j為神經(jīng)網(wǎng)絡隱含層神經(jīng)元權重,w2j為神經(jīng)網(wǎng)絡輸出層神經(jīng)元權重,b1j為神經(jīng)網(wǎng)絡隱含層神經(jīng)元閾值,b2j為神經(jīng)網(wǎng)絡輸出層神經(jīng)元閾值。f1()為隱含層激活函數(shù),f2()為輸出層激活函數(shù),具體表達式分別如式(11)、(12):
由于神經(jīng)網(wǎng)絡計算程序需要嵌入到MSP430單片機中,一方面,單片機運行指數(shù)函數(shù)需要耗費大量的單片硬件資源,降低單片機運算速度,另一方面,指數(shù)函數(shù)運算結果也需要大量的數(shù)據(jù)存儲空間,若不完全存儲,勢必影響神經(jīng)網(wǎng)絡輸出數(shù)據(jù)精度[13]。由于單片機處理多項式函數(shù)不管是硬件資源使用以及數(shù)據(jù)存儲空間占用都優(yōu)于指數(shù)函數(shù)。
基于此,本文將采用多項式函數(shù)來替代(11)式,通過數(shù)據(jù)擬合的方式進行分段擬合,具體擬合方法詳見文獻[14],經(jīng)過擬合處理,可明顯提高單片機的運算速度。
本文的校準樣本數(shù)據(jù)來源于圖5所示的校準實驗平臺,該平臺由空壓機、減壓閥、通道選擇器、流量控制器組、中央控制器組成??諌簷C產(chǎn)生穩(wěn)定氣源,流量控制器組分別由4臺不同量程的流量控制器組成,由單片機電路控制通道選擇器選擇合適通道,完成不同氣流量的大小控制,結合監(jiān)測設備完成氣流量-電壓的映射關系的原始樣本數(shù)據(jù)采集。
圖5 便攜式哮喘病監(jiān)測系統(tǒng)校準實驗平臺原理框圖
下面以300LPM為例進行分析。在校準階段,校準實驗平臺產(chǎn)生300LPM的氣流量,激勵監(jiān)測設備產(chǎn)生電壓值。理論上分析,在其他條件不變的情況下恒定的氣流將激勵出恒定的電壓信號,但在實際測量中不免受到系統(tǒng)本身以及外界環(huán)境影響,信號中混雜了高頻噪聲,如圖6(a)所示。這些噪聲將嚴重影響監(jiān)測系統(tǒng)的校準精度。從圖6(b)及表1可以看出本文中采用的小波分析算法具有良好的噪聲濾除效果,濾除噪聲后的信號將作為校準樣本數(shù)據(jù)送入神經(jīng)網(wǎng)絡進行學習訓練。
圖6 標準值300LPM情況下信號小波去噪對比圖
在監(jiān)測系統(tǒng)工作狀態(tài)時,患者用力呼氣的同時依然受到系統(tǒng)本身以及環(huán)境的影響,導致真實波形上夾雜了噪聲,這些噪聲若不濾掉,系統(tǒng)調用校準函數(shù)模型時同時對噪聲進行計算,將嚴重產(chǎn)生誤判,這對系統(tǒng)監(jiān)測精度產(chǎn)生重要影響。因此,將小波分析嵌入到MSP430系統(tǒng),患者的呼氣信號經(jīng)過小波閾值去噪后才進行采樣,如圖7所示,信號質量得到了明顯提升。
在校準階段,經(jīng)過去噪后的信號首先進行數(shù)據(jù)歸一化處理,然后通過BP神經(jīng)網(wǎng)絡學習訓練,訓練目標設置為0.001,也就是信號的訓練值與樣本值誤差小于0.001。
表1 信號去噪前后對比分析
圖7 便攜式哮喘病監(jiān)測測系統(tǒng)實時采樣去噪前后對比
圖8 函數(shù)逼近結果圖
圖8為采用MATLAB編程,經(jīng)過神經(jīng)網(wǎng)絡學習訓練后的函數(shù)逼近結果,各個擬合點滿足誤差小于0.001,具有較高的擬合精度。根據(jù)該擬合結果,確定該神經(jīng)網(wǎng)絡各權重以及閾值參數(shù)為便攜式哮喘病監(jiān)測系統(tǒng)的校準參數(shù)。將該參數(shù)結合小波算法嵌入到MSP430中,然后對該系統(tǒng)重新激勵,分析比較結果,如表2所示。本實驗選取了100LPM、200LPM、300LPM、400LPM、500LPM、600LPM為測試點,將上述標準流量經(jīng)過便攜式哮喘病監(jiān)測系統(tǒng),直接映射出流量值輸出。實驗結果表明,在低流量時偏差較大,隨著流量增大偏差減小,這符合傳感器實際的非線性特性,根據(jù)實驗結果,本文研究的便攜哮喘病檢測系統(tǒng)的校準系統(tǒng)完全符合我國發(fā)布的《肺功能儀器校準規(guī)范》偏差10%的要求[15]。
表2 測試結果分析表(單位:LPM)
相比較于傳統(tǒng)濾波器,本文中采用Mallat小波算法具有品質因數(shù)恒定,分解尺度靈活可控,結合MALAB和MSP430單片機系統(tǒng)實現(xiàn)起來方便,運算量小等優(yōu)點。實驗表明本文將小波分析應用到便攜哮喘病檢測系統(tǒng)的校準獲得了良好的效果,對提升監(jiān)測系統(tǒng)精度起到了重要作用。同時對小波分析后的信號采用BP神經(jīng)網(wǎng)絡學習訓練,對未知值的預測和對校準函數(shù)模型的建立準確性顯著,為后續(xù)實現(xiàn)高精度哮喘病理指標采集奠定了堅實的基礎。將小波分析與BP神經(jīng)網(wǎng)絡結合,利用MSP430單片機離線實現(xiàn)信號的小波去噪以及神經(jīng)網(wǎng)絡的分析與處理應用于實際系統(tǒng)實驗結果表明完全可行,如對系統(tǒng)和算法做進一步改進,系統(tǒng)的精度還能進一步提升。該校準算法可廣泛應用于便攜式生物醫(yī)學信號采集系統(tǒng)。
[1]孫海平,華偉,倪淮亮,等.槐杞黃顆粒對毛細支氣管炎后哮喘的預防作用[J].江蘇醫(yī)藥,2012,7(12):17-27.
[2]中華醫(yī)學會呼吸病學分會哮喘學組.中國支氣管哮喘防治指南(基層版)[J].中國實用內科雜志,2013,8(8):615-622.
[3]胡廣書,汪夢蝶.生物醫(yī)學信號處理研究綜述[J].數(shù)據(jù)采集與處理,2015,30(5):915-932.
[4]楊智,羅國,袁芳芳.平穩(wěn)小波變換在膈肌肌電降噪中的應用[J].數(shù)據(jù)采集與處理,2013,28(5):546-552.
[5]李京鵬,魏紅.呼氣峰流速監(jiān)測在社區(qū)兒童哮喘管理中的應用分析[J].山西醫(yī)藥雜志,2013,42(12):1390-1391.
[6]MALLATS.A theory for multi-re solution signal decomposition:the wavelet rep resentation [J].IEEE T ransactionon Pattern Analysis and Machine Intelligence,1989,11(4):674-693.
[7]王江云,曾瓊,王會霞.基于小波分析的地形多分辨率建模方法[J].北京航空航天大學學報,2014,40(8):1121-1126.
[8]張國偉,黃建國,李力.一種改進型閾值去噪算法的FPGA設計與實現(xiàn)[J].電子測量技術,2010,33(7):80-83.
[9]張寶堃,張寶一.基于BP神經(jīng)網(wǎng)絡的非線性函數(shù)擬合[J].人工智能及識別技術,2012(27):6579-6583.
[10]張翼鵬,陳亮,郝歡.一種改進的量子神經(jīng)網(wǎng)絡訓練算法[J].電子與信息學報,2013(7):1630-1635.
[11]周金海,申剛磊,丁小麗,等.BP神經(jīng)網(wǎng)絡在疾病分析影響因素中的作用[J].中國組織工程研究,2011,15(9):1702-1705.
[12]郭永琪.生物醫(yī)學中的智能信號處理方法研究[D].武漢:武漢理工大學,2010.
[13]彭丹,楊磊,楊家強.熱膜式氣流量傳感器指數(shù)過渡分段擬合方法[J].浙江大學學報(工學版),2015,49(10):1990-1998.
[14]求是科技.單片機典型模塊設計實例導航[M].2版.北京:人民郵電出版社,2008.
[15]馬建民,羅崢.肺功能儀校準方法[J].上海計量測試,2013(6):33-35.