李 皓,胡曉娟,朱洪海,董 軍
(1.華東師范大學,軟件學院,上海200062;2.中國科學院蘇州納米技術與納米仿生研究所,江蘇蘇州215123)
中醫是中華民族醫學發展中的一份瑰寶,盡管數字醫療技術不斷發展,但中醫脈象的采集和客觀化一直以來都是一個難題,復雜和抽象的脈象信息給中醫切脈的計算機模擬帶來極大的困難。傳統單點的壓力傳感器已難以滿足脈象采集的需要。本文提出一種基于電容陣列式觸覺傳感器的多點脈象采集系統,可以同時采集一定面積下的多路壓力信號,為進一步的脈象分析提供新的思路。
系統框圖如圖1所示,由3個傳感器模塊、主控器、通信接口模塊以及電源管理模塊組成。傳感器模塊分別采集人體橈動脈寸、關、尺三部脈象信號。每只傳感器在不足0.7 cm2的面積內提供3×4共12點的壓力信息。主控器通過通信接口對每個傳感器模塊進行初始配置并以一定采樣率讀取其中的壓力信號值,再通過RS—232串行接口傳輸給PC機。PC機將三部脈象信號顯示出來并存入數據庫,通過特征提取算法可提取脈象信號的起始點和主波峰值點等特征參數。圖2為采集系統實物圖。

圖1 系統框圖Fig 1 System block diagram
脈象傳感器是整個系統的關鍵,目前廣泛采用PVDF壓電薄膜為主的脈象傳感器,通過壓電材料的特性將脈搏跳動的微弱壓力變化轉換為電信號[1],常見的以單點為主,采集過程中易受干擾,由于人體皮下動脈的位置會因外力而移動,因此定位困難,采集信號的可重復性差[2]。本系統選擇的電容陣列式觸覺傳感器模塊由美國PPS傳感器公司生產[3],其高集成度可同時采集小面積下的多路壓力信號。
圖3為此傳感器的結構示意圖,將兩塊小電極平行布置,中間留有一定的空隙,上下電極間構成一個分離電容,當施加于電極上的壓力變化時,對應兩電極間的電容值也相應改變。基于這種介質的壓力傳感器體積小,靈敏度極高。將電極做成帶狀,相互垂直并部分重疊,通過有選擇地掃描一個單獨的行和列交匯處的電容,該處的壓力即被測出。將3只傳感器分別置于人體橈動脈的寸、關、尺三部既能全方位地獲得脈象信息。該傳感器模塊中還包含了ADI公司的電容/數字量轉換器(capacitance/digital converter,CDC),其型號為AD7147,將電容值轉換為16位的數字量。通過主控器與CDC通信讀取傳感器上的壓力值。

圖2 采集系統實物圖Fig 2 Entity picture of collection system

圖3 傳感器結構示意圖Fig 3 Structure diagram of the sensor
主控器(MCU)的任務是完成CDC芯片的初始化設置,并以一定的采樣率讀取每個傳感器12路,寸、關、尺三部共36路的CDC的轉換值,并將其以一定的通信格式發送給PC機。主控模塊的選擇需考慮時鐘、功耗以及成本等因素。本系統選擇AVR公司的高檔8位微處理器ATmega 32。該MCU擁有32 k可編程Flash,2 k字節片內SRAM,2個8位一個16位定時器,支持JTAG在線調試功能[4]。Atmega 32可選用高精度的外部時鐘源,最高工作頻率16 MHz;內部集成SPI通信接口和UATR串行接口,與外部電平轉換芯片連接即可實現RS—232通信。
MCU與CDC的通信接口采用AD7147兼容的SPI串行通信,4線傳輸方式。MCU為主機模式,3個傳感器模塊作為從機。SPI時鐘線與數據線采用總線復用。MCU用3個獨立的I/O口作為從機的片選信號,以分別選通所需要通信的從機并占用總線,而沒有被選中的從機SPI接口呈高阻態。通過上述方式MCU就可以分別與3個傳感器模塊進行通信,完成CDC的配置和壓力數據的讀取。由于MCU的5V電平與AD7147的3.3 V電平不兼容,故采用開漏輸出的緩沖器74HC07隔離并實現電平轉換。圖4為串行接口與電平轉換模塊原理圖。

圖4 SPI串行接口與電平轉換模塊原理圖Fig 4 Principle diagram of the SPI serial interface and the level conversion module
電源管理模對MCU以及傳感器模塊進行供電。MCU和傳感器模塊采用5 V電平(傳感器模塊集成了5~3.3 V的穩壓模塊用于AD7147的供電)。由于MCU的SPI電平為5 V而AD7147的SPI電平為3.3 V,因此,需要進行2個模塊間的電平轉換。5,3.3 V的電源電壓均采用三端穩壓器LM1117,外部提供9V的直流電源電壓輸入或采用USB接口直接由PC機供電。
整個系統的軟件部分包括主控模塊程序和PC機程序。主控模塊軟件主要完成對AD7147芯片的通信設置,并以固定的采樣頻率讀取片內的數據寄存器數值即實現對脈象信號的采樣。PC機軟件部分主要接收主控器發出的數據包并對其進行解析,同時將采集到的脈象信號數據存貯在本地數據文件中,并實時繪制出脈象信號的波形,完成對數據的實時分析、特征提取等工作。
圖5(a)為主控模塊程序流程圖。當主控器上電時,首先對I/O口、定時器、UART串口以及SPI接口進行設置,系統時鐘采用外部高速7.3728 MHz晶振。MCU下一步對AD7147進行初始化。AD7147內部包含12個轉換單元,最多支持13個外部輸入引腳,具體可參閱AD7147數據手冊[5,6]。AD7147 初始化時,先關閉 CDC 轉換,選用全功率的工作模式,每個傳感器外部12路信號分別連接一個轉換模塊,然后依次對各工作寄存器進行配置,最后打開CDC轉換。
由于AD7147工作于全通道打開模式時的轉換速率約為9 ms,因此,本系統的采樣頻率為100 Hz,定時器每10 ms讀取AD7147轉換結果寄存器的數值。串行發送前需要將數據打包編碼,AD7147是16位數字CDC,3個模塊共36路信號將占用72個字節,加上一個字節的包頭及包尾標識,共74個字節組成一個數據包。
圖5(b)為PC機部分程序流程圖。PC端的程序主要包含兩個線程,串口線程專門負責監聽串口上的數據包并將其解析存入緩沖區,當成功接收完成一個數據包后再由繪圖線程將信號波形顯示在屏幕上。
PC端通過控制還可對脈象信號進行基線校準。基線校準的目的是得到傳感器在無壓力狀況下的輸出值,并將其作為零輸入基線,之后的讀數都與其相減后才作為實際壓力數值。這樣可以最大程度的消除傳感器感應區污垢、環境濕度以及溫度等的干擾。

圖5 系統軟件流程圖Fig 5 Flow chart of system software
PC端的人機交互接口基于Microsoft MFC界面設計,包括采集的啟動、基線的設置、顯示速度的控制以及一些相關的基本操作,并且提供數據的導入導出以及數據分析的功能,可根據特征提取算法獲得脈搏波的起始點與主波峰值點等參數。
關于脈象信號的特征提取,目前有基于局部最大最小值的方法來檢測脈象信號[7],但是由于不同體征人的脈象信號差別很大(中醫有28種脈象之說),不同脈象信號在形態上的差異也比較大,僅僅基于局部最大最小值的檢測方法往往會造成較大的誤差。本文嘗試一種基于斜率閾值的脈象信號檢測算法,其過程主要包括以下幾個步驟:
1)信號處理:將信號通過一個帶通濾波器以濾除基線漂移和高頻噪聲,并對濾波后對的信號進行差分運算,得到其對應的斜率成分。
2)學習過程:對每一路信號進行預先學習,確定檢測的閾值。
3)檢測過程:使用確定的閾值對脈象信號進行特征檢測,找出脈搏波的起始點與主波峰值點。
信號處理包括帶通濾波器和信號的差分。帶通濾波器又由一個高通濾波器與一個低通濾波器串聯組成[8]。圖6為經過處理后的信號波形,其中,(a)與(b)分別為原始信號與通過高、低通濾波器后濾除基線漂移及高頻噪聲的效果,(c)與(d)為2種不同的脈象信號差分后的斜率波形,從圖中可以看出,盡管信號的波形差異性很大,但每一個搏動周期的上升沿對應到斜率波形都表現為一個明顯的峰值,而降支段及其他區域則相對比較平緩,維持在零線附近。由此,可以將斜率波形的峰值作為檢測到一個脈搏周期開始的依據。
學習過程是指對一段時間內的差分斜率信號進行幅值估計,目的是確定檢測時的閾值大小。取20 s的數據用于學習,以3 s的信號作為一個檢測窗口,確保窗口中至少出現一個脈搏周期。為了最大程度地排除個別不穩定信號的干擾,檢測每個窗口中信號斜率的最大值Dmaxi,對其進行累計并計算其均值Davrg,見式(1)、式(2)

其中,dx為原始信號。
最后,取每個窗口中斜率峰值均值的60%作為最終的檢測閾值。
確定閾值之后開始檢測過程,從檢測起始點開始對原始信號的差分斜率信號進行掃描,一旦斜率值超過檢測閾值,就認為找到一個脈搏波形的上升沿,波形計數器加1。從這一位置分別向前、向后搜索。圖7上、下分別為差分之前與差分之后的信號波形,斜率信號峰值點前后所對應的上升沿過零點與下降沿過零點即為原始信號的起始點與主波峰值點。當完成一個脈搏周期的檢測之后,延遲0.2 s以排除干擾,然后繼續檢測下一個波形的起點,循環上述操作,直到找到所有的波峰點和起始點。圖8為2種不同形態的脈象波形最終的檢測結果。
為了驗證算法的正確性,隨機選擇300個脈搏周期進行人工標注,將標注的結果與程序檢測的結果進行對比并計算絕對誤差。55%的主波峰值點和54%的起始點與手工標注的特征完全重合,44%的主波峰值點和45%的起始點檢測絕對誤差為1個采樣點,而對于主波峰值點與起始點都只有3個特征的檢測誤差為2個采樣點,由于系統的采樣頻率為100Hz,即檢測算法的絕對誤差小于0.02s。而對于人眼來說,一個采樣點的差距已經很小甚至很難分辨。

圖6 經處理后的信號波形Fig 6 Signal waveform after processing

圖7 波形起始點與主波峰值點位置示意圖Fig 7 Diagram of onset and main wave peak position

圖8 兩種不同脈象波形的檢測結果Fig 8 Detection result of two different kinds of pulse condition waveform
本系統的設計結合了先進的傳感器及主控器,彌補了傳統單點的脈象采集裝置數據量少、定位困難、重復性差等缺點,可采集人體橈動脈寸、關、尺三部多點的、全方位的脈象信號,為中醫脈象的客觀化研究提供了新思路。基于斜率閾值的特征提取方法能夠方便、快捷地檢測出脈象波形的起始點和主波峰值點。
[1]燕海霞,王憶勤,李福鳳.中醫脈象傳感器的研究進展[J].上海中醫藥大學學報,2005,19(1):62-64.
[2]劉 峰,陳家旭.中醫脈象的可重復性研究[J].中醫藥學報,2007,35(1):35-36.
[3]Pressure Profile Systems Corp.Capacitive tactile sensors—A technology primer[EB/OL].[2009—05—09].http:∥www.pressureprofile.com.
[4]ATMEL Corp.ATmega 32 Datasheet[EB/OL].[2004—07—22].http:∥21ic.com.
[5]Analog Devices Corp.AD7147 Datasheet[EB/OL].[2007—09—18].http:∥www.analog.com.
[6]Analog Devices Corp.AN—929 Application Note[EB/OL].[2007—10—13].http://www.analog.com.
[7]Xu Lisheng.Robust peak detection of pulse waveform using height ratio[C]∥Annual International IEEE EMBSConference,2008:3856-3859.
[8]Pan Jiapu,Tompkins W J.A real-time QRS detection algorithm[J].IEEE Transactions on Biomedical Engineering,1985,32:230-236.