曾博才
(四川大學 四川 成都 610064)
傳統(tǒng)中醫(yī)就像山川一樣引人入勝,而脈診更是其中的奇峰,令人想一觀“廬山真面目”。脈搏波反映了人的生理病理信息,它的參數(shù)提取也是現(xiàn)在研究者最為關(guān)注的事情,這也就意味著越能夠發(fā)現(xiàn)更多的參數(shù)也就有利于攻克這一醫(yī)學堡壘,參數(shù)重要能夠提取出精確的信息也很重要,能夠在不同的壓力下提取信息是首先應該解決的問題[1]。以往控制電路習慣用單片機、ARM,現(xiàn)在脈搏提取信號及壓力控制都在Labview中實現(xiàn),外面有些簡單的電路,主要是開關(guān)電路和壓強測量電路這樣即可以在Labview中對提取的脈搏信號進行分析處理又可以進行對壓力大小的控制[2],實現(xiàn)自動化。作為虛擬儀器中最具代表性的圖像化編程開發(fā)平臺Labview可以把繁瑣、復雜、費時的語言編程簡單化為用菜單和圖表提示的方式選擇功能[1],然后利用線條把這些功能連接起來的圖像化編程。
為了采集到不同壓力下的脈搏波,便于對以后提取更多有用的信號。通過:Labview的產(chǎn)生的數(shù)字電壓通過USB-6008的電壓輸出接到氣泵驅(qū)動電路的輸入電壓,當為高電平時此時氣泵工作,開始加壓,于此同時把壓力測量電路的信號通過USB-6008采集到Labview中[3],當壓力達到浮、中、沉的要求時Labview產(chǎn)生的數(shù)字電壓輸出低電平,此時氣泵關(guān)閉,這時Labview可以采集到不同壓力下的脈搏波信號,它的具體實現(xiàn)見圖1。
圖1 系統(tǒng)構(gòu)成圖Fig.1 System configuration
氣泵驅(qū)動電路也就是一個開關(guān)電路,由USB-6008的輸出電壓接入它的輸入端,通過控制電壓的高低電平達到控制氣泵工作狀態(tài)的要求。該電路要考慮氣泵的功率及工作時電流所應達到的要求,所以器件的選取很重要。由于采用的氣泵的工作電壓為2~8 V,它的阻值為20 Ω,所以該氣泵的驅(qū)動電流為100~400 mA。采用的三極管S8050的耗散功率0.625 W,集電極電流500 mA,放大倍數(shù)為30~60。USB-6008的輸出電壓為5 V。為了滿足氣泵工作的工作要求,三極管基極連入的電阻為800 Ω。氣泵驅(qū)動電路見圖2,其中電壓跟隨器的目的是為了防止后面電路對USB-6008的輸出電壓產(chǎn)生干擾。
圖2 氣泵驅(qū)動電路Fig.2 Pump drive circuit
傳感器芯片選用臺灣APM(亞太優(yōu)勢)公司生產(chǎn)的BP300T。BP300T是一款常用于電子血壓計的傳感器。它具有結(jié)構(gòu)簡單、穩(wěn)定性好、可靠性高、通用性強等優(yōu)點,它的壓力范圍:300 mmHg 5.8PSIG/40 kpa,電壓變化范圍:100±30 mV,最大極限:不得超出額定壓力的3X,額定電流:1.5 mA,最大電流:3.0 mA。由于壓力傳感器出來的信號為差分信號,也就是它氣泵往探頭上面充氣與大氣壓的差額,這種差值是和往手臂上所加的壓力大小成正比的,由于它的電壓變化范圍為100±30 mV,這很容易收到干擾,所以本文用AD620對壓強差信號進行放大,AD620內(nèi)部由3個運放構(gòu)成,為高度對稱的差動結(jié)構(gòu),輸入阻抗非常大,共模抑制比CMRR很高,有利于抑制共模干擾。它的電源范圍:VCC=VEE=±2.3~±18 V,AD620的增益計算公式:
其中RG就是圖3的R1,這個放大器可以很方便地計算出它的增益。
圖3 壓力測量電路Fig.3 Pressure measurement circuit
Labview虛擬化編程圖像化編程開發(fā)平臺是把一些功能化的模塊用線連接起來的圖像化編程,該軟件系統(tǒng)的設(shè)計流程圖見圖4。程序的編寫關(guān)鍵是要運用這些功能模塊,進行設(shè)定、連接,實現(xiàn)圖形化編程[4]。
圖4 軟件系統(tǒng)流程圖Fig.4 Software system flow chart
文中采用的NI USB-6008可提供8個模擬輸入 (AI)通道、2 個模擬輸出(AO)通道、12 個數(shù)字輸入/輸出(DIO)通道以及一個帶全速USB接口的32位計數(shù)器。它的輸出范圍為0~5 V。labview電壓輸出和壓力控制程序需要用到的主要模塊有NI-DAQmx寫入函數(shù)、NI-DAQmx創(chuàng)建虛擬通道函數(shù)、NI-DAQmx清除任務函數(shù)、NI-DAQmx定時函數(shù)、NI-DAQmx啟動任務函數(shù)、NI-DAQmx讀取函數(shù)。
NI-DAQmx寫入函數(shù)(DAQmx Write)將數(shù)據(jù)寫入指定的生成任務中。這個函數(shù)允許選擇生成類型(模擬或數(shù)字),虛擬通道數(shù)、采集數(shù)和數(shù)據(jù)類型。
NI-DAQmx創(chuàng)建虛擬通道函數(shù) (DAQmx Create Virtual Channel)用于創(chuàng)建一個虛擬通道并且將它添加成一個任務[6]。它也可以用來創(chuàng)建多個虛擬通道并將它們都添加至一個任務。該函數(shù)可指定虛擬通道使用模擬輸入、模擬輸出、數(shù)字輸入和計數(shù)器操作這4種物理通道。根據(jù)USB-6008的實際特點,將輸出最小值設(shè)置為0 V,最大值為5 V,將輸入最小值設(shè)置為-10 V,最大值為10 V,輸入終端方式為參考單端RSE。
NI-DAQmx清除任務函數(shù)(DAQmx Clear Task),用來清除特定的任務。如果任務現(xiàn)在正在運行,那么這個函數(shù)首先中止任務然后釋放掉它所有的資源。一旦一個任務被清除,那么它就不能被使用,除非重新創(chuàng)建它。
NI-DAQmx定時函數(shù)(DAQmx Timing),用來配置定時以用于硬件定時的數(shù)據(jù)采集操作。這包括指定操作如采樣模式(連續(xù)或有限)、為有限的操作選擇用于采集或生成的采樣率,以及在需要時創(chuàng)建一個緩沖區(qū)。本文中只需對采樣模式和采樣率進行設(shè)置。
NI-DAQmx啟動任務函數(shù)(DAQmx Start Task),顯式地將一個任務轉(zhuǎn)換到運行狀態(tài)。在運行狀態(tài),這個任務完成特定的采集或生成。
NI-DAQmx讀取函數(shù)(DAQmx Read),用于讀取采集進來的數(shù)據(jù)。該函數(shù)的配置需根據(jù)采集的類型(模擬輸入、數(shù)字輸入或計數(shù)器輸入)、虛擬通道數(shù)、采樣數(shù)和數(shù)據(jù)類型。可配置為單點采集(主要用于逐點操作)或者多點采集[5]。本文使用多點采集,且將采樣數(shù)指定為-1,這將使其在執(zhí)行的時候讀取所有現(xiàn)在保存在緩沖中可得的采樣,再使用波形圖表(Waveform Chart)就可以將采集進來的信號連續(xù)實時顯示出來,類似示波器。
由于從壓力測量電路采集后的數(shù)據(jù)和實際的壓差有一定的誤差,所以必須進行校準。連接傳感器的管子上接一個三通接口,一邊接傳感器,一邊接壓差測量表,一邊接氣泵。這樣當氣泵往探頭上面的氣囊充氣加壓時,壓差測量表和采集到Labview中的數(shù)據(jù)進行比較,找到它們之間的關(guān)系,經(jīng)過多次實驗,發(fā)現(xiàn)實際壓差是采集到Labview的數(shù)據(jù)的4.17倍。從而把采集到的數(shù)據(jù)乘以4.17,使其和實際壓差相對應。本文設(shè)計一個壓強選取數(shù)據(jù)框,當開關(guān)開啟是它的數(shù)值就會變成控制電壓輸出的閾值,當小于該值時輸出高電位(5 V),氣泵工作,當達到該值時輸出底電位(0 V),這樣你只需在數(shù)據(jù)框中輸入數(shù)據(jù),就可以采集到該壓差下的脈搏波,實現(xiàn)壓力可控制測量。程序的具體實現(xiàn)如圖5所示。
圖5 Labview輸出電壓和壓力控制Fig.5 Labview output voltage and pressure control
通過該系統(tǒng),可以實現(xiàn)在不同壓力下的脈搏波[7]的測量。圖6~圖9是一個25歲的男子在不同壓強差下的脈搏波圖像,該換潰瘍病多年,經(jīng)常胃部隱痛,泛酸暖氣,飲食少進,體形消瘦,這是病邪在體表的病理現(xiàn)象。當壓強差22 kPa時,就是中醫(yī)中的浮取,壓強差為32 kPa和40 kPa時為中醫(yī)中的中取,壓強差為50 kPa時為沉取。這4幅圖反映壓力從大到小采集到的脈搏波信號,浮取時脈搏波的幅度較大,中取時幅度次之,當沉取時幅度較小,這說明脈圖特征為脈位淺表,輕按即得,重按反小的特點。這符合中醫(yī)常見的28類脈搏的浮脈。浮脈是指脈的搏動部位淺表的脈象,取脈時請按即得,重按時反而不顯的特征。這種采集到脈搏波所反映的狀況和本人的實際情況比較相近,本系統(tǒng)可以實現(xiàn)壓力控制的脈搏波采集。
圖6 壓強差為22 kPa時采集的脈搏波Fig.6 Pressure difference between the pulse wave acquisition for 22 kPa
圖7 壓強差為32 kPa時采集的脈搏波Fig.7 Pressure difference between the pulse wave acquisition for 32 kPa
圖8 壓強差為40 kPa采集的脈搏波Fig.8 Pressuredifferencebetweenthethepulsewaveacquisitionfor40kPa
圖9 壓強差為50 kPa采集的脈搏波Fig.9 Pressure difference between the pulse wave acquisition for 50 kPa
本文在自行開發(fā)的脈象儀硬件系統(tǒng)基礎(chǔ)上,采用虛擬儀器[8]技術(shù),在Labview中配合硬件電路實現(xiàn)壓力控制脈搏采集系統(tǒng)。詳細介紹了它的硬件電路和Labview軟件控制的具體實現(xiàn),并通過實例檢驗它的可靠性。通過實例采集不同壓力下的脈搏波形,實驗表明該系統(tǒng)可以實現(xiàn)壓力的控制,這樣可以讓脈診的指力定量化,這對脈診的進一步研究做出了很大的成就,這樣為以后進行脈搏波采集,采集更多的有用信息,便如對脈搏波進行更一步的研究。
[1]費兆馥.現(xiàn)代中醫(yī)脈診學[M].北京:人民衛(wèi)生出版社,2003.
[2]湯偉昌.脈診客觀量化研究現(xiàn)狀與未來期望[C]//第三屆國際中醫(yī)藥工程學術(shù)會議論文集,2006.
[3]徐元景,牛欣.中醫(yī)脈診位數(shù)形勢屬性的檢測方法探討[J].中國中西醫(yī)結(jié)合雜志,2003,23(6):467-470.XU Yuan-jing,NIU Xin.Detection of pulse diagnosis the median properties of the situation[J].Chinese Integrative Magazine,2003,23(6):467-470.
[4]侯國屏,王珅,葉齊鑫.LabVIEW7.1編程與虛擬儀器設(shè)[M].北京:清華大學出版社,2005.
[5]王海寶.LabVIEW虛擬儀器程序設(shè)計與應用[M].西安:西南交通大學出版社,2005.
[6]張凱,周陬,郭棟.LabVIEW虛擬儀器工程設(shè)計與開發(fā)[M].北京:國防工業(yè)出版社,2004.
[7]李明霞,張永杰,孫培培,等.脈搏波波速特征點新算法[J].現(xiàn)代電子技術(shù),2012(3):132-134.LIMing-xia,ZHANG Yong-jie,SUN Pei-pei,etal.New algorithm of calculating feature point of pulse wave velocity[J].Modern Electronics Technique,2012(3):132-134.
[8]張輝,武攀,葉祎恒.虛擬儀器系統(tǒng)通用接口模塊的研究與設(shè)計[J].電子科技,2010(2):90-93.ZHANG Hui,WU Pan,YE Yi-heng.Research on and design of universal interface modules for virtual instruments[J].Electronic Science and Technology,2010(2):90-93.