戴啟軍,趙宇平,王倩倩,呂濤,孫玉麟,段虎飛,劉美麗,楊金娜,王洪浩
1 鄭州大學 電氣工程學院,鄭州市,450001
2 中國中醫科學院,北京市,100700
脈診是中醫的重要組成部分,是古代勞動人民反復實踐積累的一種獨特的診斷方法?!睹}經》中“在心易了,指下難明”道出了中醫醫師在交流脈診感受時的困難[1]。中醫醫師之所以難以交流脈診的感受,主要是因為脈診結果很容易受到醫師主觀因素的影響,對于同樣的脈象,不同醫師的描述各不相同。脈象中包含有非常多已知的或是未知的生理信息,它們反映了人體的生理和病理狀態,中醫幾千年的實踐經驗已經充分證實了中醫脈診的診斷價值[2]。
目前國內已經有許多專家學者從事脈象儀的研究,獲得了一大批研究成果。劉明林[3]發明的中醫脈診儀可以模仿傳統中醫診脈的方式,利用傳感器獲取寸、關、尺三個位置的脈象信號。LUO等[2]采用聚偏氟乙烯(polyvinylidene fluoride,PVDF)設計了一套可以模擬中醫指法的脈象儀,利用應變片記錄醫師脈診技巧。柳海華等[4]設計的利用光電式脈搏傳感器和無線通信模塊來實現一套無線脈搏檢測系統,可以檢測脈搏頻率、強度等特征。
國外的研究要早于國內,早在1860年法國的vierordt就研制出了第一臺彈簧杠桿式脈搏描記器[5]。加拿大Concordia University采用PVDF薄膜研制了脈象檢測系統[6]。YOO等[7]設計了一種利用熱敏電阻進行溫度補償的壓阻式脈搏傳感器,克服傳統壓阻式脈博傳感器對溫度變化敏感的弱點。
我們設計了一套便攜式脈象檢測系統,可以同時檢測寸、關、尺三個部位的脈象信號。在有穩定的網絡連接時,系統會自動與云服務器建立連接,通過客戶端軟件可以控制數據采集系統采集信號,并上傳到云服務器進行數據分析與處理。為了應對沒有網絡連接或網絡連接不穩定的情況,設計了本地工作模式,此時系統依然可以采集數據并自動存儲,使用FIR濾波器濾除干擾,進行特征識別。無論有無網絡連接,系統都可以實時保存脈象信號。在聯網時可以在較短時間內完成數據處理,適合臨床醫師的輔助診斷;無網絡連接時適合進行高密度的脈象信號采集工作,可以為科研工作者提供原始的脈象數據。
便攜式脈象檢測系統采用小巧的樹莓派3B+作為上位機,將樹莓派3B+與數據采集系統相連,就可以實現所有功能。使用時用戶與運行在樹莓派3B+上的客戶端程序進行交互,客戶端會通過串口向數據采集系統發送命令進行脈象信號的采集,采集完成后通過網絡將數據發送到服務器進行數據處理,最終將結果顯示在客戶端界面。系統結構如圖1所示。

圖1 便攜式脈象檢測系統結構框圖Fig.1 Portable pulse detection system structure diagram
便攜式脈象檢測系統的硬件系統分為模擬和數字兩部分,模擬部分包括傳感器和信號調理電路,數字部分包括主控MCU電路、USB轉串口電路等。硬件實物圖如圖2所示。

圖2 便攜式脈象檢測系統硬件實物圖Fig.2 Physical diagram of portable pulse detection system
脈象信號的微弱性、低頻性及易受干擾的特性,對傳感器提出了很高的要求。本系統采用HK-2000B+脈搏傳感器作為脈象信號的采集前端。此傳感器將PVDF薄膜、溫度補償電路等集成在傳感器探頭內部,探頭直徑為15 mm,靈敏度高達2 mV/mmHg。該傳感器外置了信號調理電路模塊,其內部電路可實現信號的放大、濾波、幅度調整、基線調整等功能,輸出信號已經得到了很好的調理,可直接送入模數轉換芯片轉換為數字信號輸出。還具有抗干擾能力強、性能可靠、使用壽命長等優點[8]。
數據采集系統的主控MCU選用STM32F103RCT6,該芯片內置12位模數轉換器,其采樣速率高達1 MHz。而要采集的脈象信號的有效頻率主要集中在0~20 Hz內,由奈奎斯特采樣定理可知,MCU內置ADC的采樣速率足以完成脈象信號采集的任務。
客戶端采用樹莓派3B+作為開發平臺,樹莓派3B+體積小巧、功耗低、價格低廉滿足設計要求。采用7英寸(1 in=25.4 mm)液晶觸摸屏進行數據的顯示,通過HDMI接口與樹莓派3B+連接。
為了靈活地采集數據,數據采集系統接收上位機的命令來控制采集的開始與停止。使用一個LED燈來反應數據采集系統的工作狀態,進行數據采集時,點亮LED燈,采集完成后,熄滅LED燈。當串口接收到開始采集指令時會在中斷過程中將采集狀態標志設置為真,系統開始連續采集三個通道的數據,將結果轉換為十進制形式并使用串口上傳至上位機,隨后等待一段時間后進行下一次采集。當串口接收到停止采集指令時會在中斷過程中將采集狀態標志設置為假,系統將停止采集脈象信號。圖3為數據采集系統的程序流程圖。

圖3 數據采集系統程序流程圖Fig.3 Flowchart of data acquisition system
本研究采用TCP協議進行網絡通信??蛻舳瞬杉瘮祿瓿赏ㄖ掌鞑⑸蟼髟紨祿募?,服務器接收文件并處理,服務器完成數據處理后通知客戶端并發送處理后的結果。圖4為客戶端與服務器通信過程流程圖。

圖4 網絡通信流程圖Fig.4 Flowchart of network communication
算法的設計與實現分為兩部分:一是脈象信號的去噪;二是脈象信號的特征識別。
3.3.1 脈象信號的去噪
脈象信號易受周圍環境噪聲的影響,主要是工頻干擾和電源紋波。對于傳感器探頭與數據采集系統之間導線引入的工頻干擾,采用屏蔽線的方式來屏蔽干擾。對于電源紋波引入的干擾,采用在各個芯片的供電端連接濾波電容來減少紋波。此外信號調理電路中還設有模擬濾波器來抑制噪聲。即便如此,獲取的數字信號仍存在一定的噪聲干擾,不能直接用于特征識別,需要通過數字濾波方法進一步去除噪聲。
在無網絡連接或網絡連接不穩定時,利用樹莓派自身資源完成數據的去噪。通過多次試驗發現使用小波變換去除噪聲耗時約為使用FIR濾波器去除噪聲的20倍左右。因此將在客戶端程序內使用FIR濾波器來濾除噪聲,以應對無網絡連接時處理數據的需求。劉玥伽等[9]的研究表明通過32階FIR濾波器濾波后的信號可以滿足進一步處理的要求。而在服務器程序中使用多分辨率離散小波變換的方法來完成信號的去噪,提高濾波效果。圖5是使用小波變換法與32階FIR濾波器對同一脈象信號進行濾波的效果對比圖。由圖5不難看出小波變換更適合處理非平穩信號,而脈象信號就是典型的非平穩信號,適合使用小波變換法去除噪聲[10],因此優先考慮使用小波變換來濾除噪聲。

圖5 使用小波變換法與32階FIR濾波器對同一信號的濾波結果對比Fig.5 Comparison of the filtering results of the same signal using wavelet transform and 32-order FIR filter
3.3.2 脈象信號特征點識別
正常人的脈象信號中有多個特征點,每個特征點都有不同的生理意義,圖6為各個特征點的分布情況。
(1)B點是主動脈的開放點,也是整個周期的最低點。
(2)C點是主波波峰,是脈搏波中的最大值點,該點處動脈壓力達到最大并停止增加。
(3)D點是主動脈開放的終點。
(4)E點時左心室射血結束,左心室壓力與主動脈壓力相同。(5)F點是心臟收縮與舒張的分界點,又稱為降中峽。
(6)G點位于F點之后,此時心室舒張,其壓力小于動脈壓力,主動脈血液回流撞擊主動脈瓣,造成主動脈壓力再次升高。

圖6 脈象信號特征點示意圖Fig.6 Characteristic point diagram of pulse signal
H1是主波高度、H3是潮波高度、H4是降中峽高度,H3/H1反映血管的彈性擴張系數,H4/H1反映動脈外周阻力。T1代表左心室射血期、T4對應左心室收縮期、T5對應左心室收縮期,T1/T4反映了心臟射血能力。
本研究采用時域識別方法進行特征點的識別,對脈象信號求一階微分或二階微分,根據微分結果中的極值點或過零點與脈搏波信號特征點之間的對應關系來進行特征點的識別。圖7為脈象信號與其一階微分波形。由圖可知,B點出現在一階微分波形最大正脈沖前的過零點處,C點出現在最大正脈沖后的過零點處,F點則與負脈沖周圍的極值點和過零點相關。

圖7 脈象信號及一階微分波形Fig.7 Pulse signal and first order differential waveform
對于特征點的識別,首先對整段脈象信號數據求一階微分,利用在過零點前后做差的方法找出所有極大值點,使用幅度閾值和周期閾值兩個條件來篩選出C點。B點是一階微分最大正脈沖前的第一個過零點,也是C點前的極小值點。根據這些特性可以識別出B點。F點通常出現在一階微分波形負脈沖后過零點所在的位置。利用識別C點的方法識別一階微分中的最大負脈沖點,則負脈沖后的第一個極小值點即為要找的F點。圖8是對來自四個不同個體的脈象信號進行特征點識別的效果圖。特征點識別算法可以較為準確地識別出完整周期內的B點、C點和F點。


圖8 B點、C點和F點識別效果圖Fig.8 Recognition effect map of points B,C and F
設計出的數據采集系統與上海中醫藥大學[11]研制的中醫智能脈象儀ZM-III的脈象信號采集效果對比如圖9所示??梢钥吹皆O計出的數據采集系統相比中醫脈象儀ZM-III,采集的脈象信號既很好地保留了需要識別的特征點,又濾除了一些干擾,有利于后續對特征點進行識別。

圖9 中醫脈象儀ZM-III與數據采集系統采集效果對比Fig.9 Comparison of collection effect between Chinese medicine pulse monitor ZM-III and data collection system
為了驗證特征點識別算法的準確性,采集了若干組數據,剔除有明顯問題(如劇烈的抖動)的數據,保留27條數據用于驗證不同人在不同時刻采集的結果,每條數據記錄了10 s的脈象信號變換。采用查準率(precision)和查全率(recall)兩個特征來反映算法的準確性,查準率是指檢出正確特征點占全部檢出點的百分比,查全率是指檢出特征點占全部特征點的百分比。表1為三個特征點的檢測結果(TP—該點是特征點且被算法識別;FP—該點不是特征點但被算法識別;FN—該點是特征點但沒有被算法識別)。

表1 三個特征點的檢測結果Tab.1 Test results of three feature points
由表1可知B點、C點和F點的查準率和查全率都在97%以上,算法準確性較高。
設計的基于物聯網的便攜式脈象檢測系統,采用HK-2000B+脈象傳感器、STM32系列單片機等實現脈象信號的采集,通過串口通信將3路脈象數據實時傳輸給樹莓派3B+或PC機,進行數據處理與特征點識別。系統分為客戶端與云服務器兩部分。客戶端秉承物聯網的思維,完成數據的采集、存儲、顯示及簡單的數據處理,在有網絡連接的情況下與云服務器建立TCP連接,并上傳數據。云服務器端秉承云計算的思想:接收客戶端上傳的數據、利用小波變換實現信號的去噪、利用微分方法識別特征點。將需要大量運算的工作交給高性能的云服務器完成,多個客戶端共享一個云服務器,實現資源的充分利用。本設備體積小、成本低、操作簡單;能夠準確采集脈象信號,對脈象信號的主要特征點的識別準確率高于97%,適合用于家庭、社區、科研機構等場所。