基于虛擬儀器的胎兒心電圖儀的研制系統(tǒng)方案
掃描二維碼
隨時(shí)隨地手機(jī)看文章
介紹了一種基于虛擬儀器的電腦胎兒心電圖系統(tǒng)。該系統(tǒng)由兩部分組成:以PIC單片機(jī)為核心硬件的數(shù)據(jù)采集裝置和PC平臺(tái)的處理系統(tǒng)。
硬件電路功耗低,直接采用端口供電。軟件平臺(tái)采用可視化語言LabView6.1編程實(shí)現(xiàn),由于使用其大量成熟軟件模塊,大大提高了開發(fā)效率。介紹了LabView實(shí)現(xiàn)的匹配濾波器等算法,并改進(jìn)了匹配濾波的模板更新。臨床試用取得了滿意效果。
1 前言
虛擬儀器是機(jī)技術(shù)與儀器相結(jié)合產(chǎn)生的一種新型儀器模塊,它通常是由計(jì)算機(jī)、模塊化的功能硬件與帶有數(shù)據(jù)處理、過程控制的可視化軟件構(gòu)成。本系統(tǒng)使用NI公司出品的LabView6.1圖形語言編程實(shí)現(xiàn)。LabView采用圖標(biāo)代替?zhèn)鹘y(tǒng)的文字代碼實(shí)現(xiàn)編程,圖標(biāo)代表的程序模塊都是NI公司開發(fā)的成熟程序模塊,因此,采用LabView編程可以大大提高系統(tǒng)開發(fā)效率。
胎兒監(jiān)護(hù)及圍產(chǎn)期監(jiān)護(hù)是產(chǎn)科中一項(xiàng)重要的監(jiān)護(hù)措施。常用的胎兒監(jiān)護(hù)方法有:超聲多普勒監(jiān)護(hù)、胎心音監(jiān)護(hù)和胎心電監(jiān)護(hù)。其中,胎兒心電監(jiān)護(hù)因其從母體腹部提取胎兒心電信號(hào),對(duì)母體和胎兒無創(chuàng),特別是能同時(shí)觀察胎兒心電圖,其優(yōu)點(diǎn)明顯,是產(chǎn)科常用的診斷方法。
雖然腹部心電信號(hào)拾取方便,但是,母體腹部信號(hào)復(fù)雜,信噪比低,特別是一般母體心電信號(hào)比胎兒心電信號(hào)大10-20倍,而且胎兒心電約有10%-30%與母體心電重合,形成復(fù)雜的QRS波群,并且胎兒心電的頻譜與母體心電的頻譜重疊。這些因素給胎兒心電的檢測(cè)帶來了比較大的困難。學(xué)者們探索了一系列的信號(hào)處理方法解決這個(gè),包括:匹配濾波法、自適應(yīng)濾波法等。本系統(tǒng)采用比較常用的匹配濾波法。
2 系統(tǒng)的實(shí)現(xiàn)
2.1系統(tǒng)概要
本系統(tǒng)由硬件數(shù)據(jù)采集器和普通PC機(jī)兩部分組成,通過RS-232口連接。PC機(jī)上的應(yīng)用程序采用圖形化編程語言LabView6.1實(shí)現(xiàn)。硬件數(shù)據(jù)采集器采樣獲得的數(shù)據(jù)以串行通信的方式發(fā)送給PC機(jī),PC機(jī)上的軟件通過RS-232接口模塊讀入波形數(shù)據(jù),并送預(yù)處理模塊,工頻陷波和抑制基線漂移后,進(jìn)行匹配濾波去除母親心電的干擾,最終在顯示器上顯示胎兒心電信號(hào)的波形。另外,PC機(jī)也可以串行通信方式控制硬件數(shù)據(jù)采集器的工作狀態(tài),如調(diào)整增益、時(shí)間常數(shù)等。
2.2 硬件信號(hào)采集系統(tǒng)
系統(tǒng)硬件由前置放大、工頻陷波、主放大器、單片機(jī)系統(tǒng)等幾部分組成。前置放大器將導(dǎo)聯(lián)傳人的信號(hào)適當(dāng)放大后,送工頻陷波器陷波,以防止可能出現(xiàn)的過強(qiáng)工頻干擾阻塞系統(tǒng)放大通道。隨后,信號(hào)經(jīng)過主放大器和末級(jí)放大器幾萬倍放大之后,單片機(jī)控制的A/D對(duì)其進(jìn)行400×12 bits/s采樣,數(shù)據(jù)經(jīng)RS-232接口送PC機(jī)處理。硬件部分是PIC單片機(jī)控制的高精度心電信號(hào)采集系統(tǒng)。該系統(tǒng)內(nèi)部采用12位高精度串行輸出A/D轉(zhuǎn)換器AD7895。采樣得到的數(shù)據(jù)通過單片機(jī)處理后將按照下面的幀格式通過串口發(fā)給PC機(jī)。系統(tǒng)采樣率為400Hz,數(shù)據(jù)傳輸速率為19.2kbps。該系統(tǒng)以低功耗為主要設(shè)計(jì)思想,其工作電流小于3mA,可以采用串口供電,無須外接電源。
其中,12個(gè)X表示12位A/D采樣得到的數(shù)據(jù);00、11為標(biāo)志位,00代表高6位,11代表低6位。另外,硬件部分也接收PC機(jī)的控制字。
2.3軟件部分
軟件部分分為RS-232接口模塊、信號(hào)預(yù)處理、匹配濾波算法3部分,其中匹配濾波又包括相關(guān)檢測(cè)和波形對(duì)消2個(gè)部分。
2.3.1 RS-232接口模塊
(1)串口供電。由于硬件數(shù)據(jù)采集器工作電流比較小,本系統(tǒng)使用RS-232中空閑的握手信號(hào)線制成電源,使其工作因此,在主程序打開串口讀人數(shù)據(jù)前,必須對(duì)硬件數(shù)據(jù)采集器加電,使其處于工作狀態(tài)。在LabView中采用Serial Line Ctrl.Vi模塊,將RTS和DTR置相應(yīng)電子;(2)串口讀寫。由于硬件數(shù)據(jù)采集器在整個(gè)工作期間,以19.2kbps的速率連續(xù)向外發(fā)送數(shù)據(jù),為了數(shù)據(jù)處理方便,采用了Serial Read With Time-out FT.vi模塊,以保證每次從串口緩存中讀出等量偶數(shù)個(gè)數(shù)據(jù)。用Serial Port Write.vi模塊發(fā)送控制字給硬件模塊??刂谱值陌l(fā)送采用了LabView6.1中新增的事件驅(qū)動(dòng)功能。
2.3.2信號(hào)預(yù)處理
主要功能是濾除工頻干擾和抑制基線漂移。
由于硬件系統(tǒng)采用串口供電,采集的信號(hào)中?;烊?0Hz的工頻干擾,必須加以抑制。抑制工頻干擾的可以從硬件和軟件2個(gè)方面來實(shí)現(xiàn)。在硬件方面,工頻干擾是一種共模信號(hào),可以設(shè)計(jì)高質(zhì)量的前置放大器和良好的屏蔽以及優(yōu)秀的電源模塊減弱工頻干擾對(duì)系統(tǒng)的。在軟件方面,使用50Hz的數(shù)字陷波的方法。本系統(tǒng)的數(shù)字陷波器采用Lab-View6.1 Signal Processing Toolbox中的Equi-Ripple Band-Stop PtByPt.vi控件實(shí)現(xiàn)。
基線漂移的原因有多種,其中由于運(yùn)動(dòng)造成體表電極與皮膚之間細(xì)微的滑動(dòng)和硬件元件熱效應(yīng)造成參數(shù)變化是主要原因。本系統(tǒng)采用非線性高通濾波的方法抑制基線漂移。具體方法是將腹部電信號(hào)通過中值濾波得到基線信號(hào),并與原腹部信號(hào)相減。本系統(tǒng)采用的是Median Filter PtByPt.vi控件。顯示了實(shí)際處理效果,A為原始腹部信號(hào);B為經(jīng)過中值濾波后的基線信號(hào);C為抑制基線漂移后的腹部信號(hào)。
2.4 匹配濾波算法
2.4.1 數(shù)據(jù)隊(duì)列的生成
隊(duì)列是一種常用的數(shù)據(jù)結(jié)構(gòu),本系統(tǒng)使用這種數(shù)據(jù)結(jié)構(gòu)進(jìn)行匹配濾波。但是LabView6.1已有的隊(duì)列控件queue,并不能滿足使用要求,必須重新創(chuàng)建一個(gè)。這里采用與C語言中類似的作法,創(chuàng)建一個(gè)N個(gè)元素的數(shù)組變量main Buffer,將數(shù)據(jù)不斷從尾部移動(dòng)到首部。是用LabView編程實(shí)現(xiàn)的長對(duì)為1000的雙精度浮點(diǎn)數(shù)隊(duì)列,與C語言實(shí)現(xiàn)不同之處在于隊(duì)列中數(shù)據(jù)移動(dòng)的次數(shù)是1000,而不是999,這是因?yàn)長abView初始化與C語言不同所致。在LabView中,如果數(shù)組某個(gè)單元沒有被附值,那么,該單元不被初始化。
因此,如果N=999,則第998個(gè)單元將被初始化,第999個(gè)單元因?yàn)槭亲x,而沒有被初始化,而致使后面的新數(shù)據(jù)輸入操作無效。
2.4.2 相關(guān)檢測(cè)算法
信號(hào)與檢測(cè)模板的互相關(guān)運(yùn)算,其中:S表不經(jīng)過抑制基線操移和去除工頻干擾的腹部電信號(hào);T表示系統(tǒng)內(nèi)部的檢測(cè)模板。經(jīng)過互相關(guān)運(yùn)算后就可以進(jìn)行R峰檢測(cè)了?;ハ嚓P(guān)運(yùn)算采用Signal Processing Toolbox中的ColssCorrelation.vi控件。
R峰檢測(cè)實(shí)際上是對(duì)互相關(guān)運(yùn)算的結(jié)果進(jìn)行峰值檢測(cè),以求得母親心電R峰的精確位置。用LabView系統(tǒng)自帶的峰值檢測(cè)控件Threshold Peak Deicer PtByPt.vi進(jìn)行檢測(cè)。
2.4.3 波形對(duì)消算法
波形對(duì)消算法的基本思想是把當(dāng)前母親心電QRS波群與先前求得的QRS波群模板進(jìn)行加權(quán)平均,出新的QRS波群模板,并與當(dāng)前QRS波群相減,濾除母親心電。臨床實(shí)驗(yàn)獨(dú)立于主程序之外的定時(shí)中斷服務(wù)子程序完成顯示功能,程序設(shè)計(jì)思路簡單清晰、可讀性強(qiáng)。系統(tǒng)所用的24C01C操作簡單,3個(gè)管腳外,其余管腳接地即可。
3 系統(tǒng)軟件
系統(tǒng)軟件由主程序、顯示數(shù)字中斷服務(wù)子程序、功率控制中斷服務(wù)子程序、計(jì)時(shí)中斷服務(wù)子程序以及故障處理子程序組成。人眼視覺暫留時(shí)間為20ms,每位顯示時(shí)間間隔必須小于20ms。顯示中斷每次中斷間隔9ms,輪流切換顯示3位LED,每位數(shù)字的顯示時(shí)間間隔為18ms(<20ms),可以達(dá)到穩(wěn)定的視覺效果。計(jì)時(shí)中斷服務(wù)子程序包括正計(jì)時(shí)和倒計(jì)時(shí),其中倒計(jì)時(shí)又分為以min為單位計(jì)時(shí)和以s為單位計(jì)時(shí)。故障處理子程序完成的功能是關(guān)閉系統(tǒng)中斷、關(guān)閉加熱輸出、根據(jù)采樣溫度判斷并顯示故障的類型(短路、斷路以及溫度超標(biāo))、發(fā)出報(bào)警以及等待用戶確認(rèn)故障信息后程序自動(dòng)復(fù)位等功能。為了編程方便,本系統(tǒng)具體編制了按鍵檢測(cè)確認(rèn)子程序、從D轉(zhuǎn)換子程序、電壓\溫度轉(zhuǎn)換子程序、讀EEPROM以及寫EEPROM等子程序。
4 結(jié)束語
自動(dòng)煎藥機(jī)以其突出的優(yōu)越性受到了各大與制藥廠家的歡迎,當(dāng)然它也存在一些需要解決的,即:如何解決先煎、后下問題,增加濃縮功能等。這些問題有待于在進(jìn)一步的實(shí)踐中不斷完善。過程中發(fā)現(xiàn)傳統(tǒng)的模板更新對(duì)母親心電QRS波群變化的跟蹤能力不強(qiáng),某些情況下不能徹底濾除母親心電QRS波群,本系統(tǒng)改進(jìn)了該方法。系統(tǒng)初始化時(shí)建立一個(gè)容量為N的模板庫,將檢測(cè)到的母親心電QRS波群存入該庫中,替換最初入庫的母親心電QRS波群,即構(gòu)建一個(gè)母親心電QRS波群隊(duì)列,隨后按照新高舊低的優(yōu)先級(jí)原則進(jìn)行加權(quán)平均。各母親心電QRS波群的權(quán)系數(shù)。
用信號(hào)流圖的形式表示該算法。展示了系統(tǒng)對(duì)腹部電信號(hào)進(jìn)行匹配濾波處理后的效果,A為從腹部提取的電信號(hào);B為改進(jìn)模板更新方法后的胎兒心電信號(hào);C為采用傳統(tǒng)模板更新方法的胎兒心電信號(hào),*表示母親心電的殘余。
5 結(jié)論
本系統(tǒng)硬件無須另配電源,系統(tǒng)結(jié)構(gòu)更簡單。軟件采用LabView6.1進(jìn)行圖形化編程,直接使用NI公司提供的多種成熟的軟件模塊,因而大大節(jié)省系統(tǒng)開發(fā)時(shí)間和成本。本系統(tǒng)具有信號(hào)基線校正功能,改進(jìn)了傳統(tǒng)匹配濾波模板更新的方法,經(jīng)過近20例臨床測(cè)試,均取得良好效果。本系統(tǒng)在胎兒心電波群的識(shí)別上仍有改進(jìn)的空間。
更多醫(yī)療電子信息請(qǐng)關(guān)注:21ic醫(yī)療電子頻道