隨著心電圖技術(shù)的臨床應(yīng)用和電子技術(shù)的發(fā)展,心電圖作為生物醫(yī)學(xué)測量中一項較成熟,、應(yīng)用較廣泛的技術(shù),,已逐漸成為一種常規(guī)臨床檢查的手段,,并在心臟疾病的診斷、監(jiān)護以及藥效分析等方面發(fā)揮著十分重要的作用,。目前常用的心電檢測電路多為雙電源供電,,這種方案需要很多的電源器件和較大面積的布局布線,而這些都將增加產(chǎn)品的成本,。
本文給出的設(shè)計采用單電源供電,,可以解決上述問題并降低產(chǎn)品成本,同時該設(shè)計還在基于ARM核的嵌入式系統(tǒng)中采用了簡單實用的算法,,能快速準確定位QRS復(fù)波(即計算人的心率),。該設(shè)計面向廣大家庭用戶而設(shè)計,體積較小,,只需要一臺個人電腦與之連接,,便可實時地操作、觀測心電信號,。
心電信號采集系統(tǒng)的基本架構(gòu)如圖1所示,。人體的心電信號經(jīng)電極和專用導(dǎo)聯(lián)線從人體送至系統(tǒng)。通過濾波和放大調(diào)節(jié)電路,,微弱的心電信號被放大到合適的幅值,,并處于A/D轉(zhuǎn)換范圍之內(nèi)。
系統(tǒng)的控制和數(shù)據(jù)的處理由ADI公司基于ARM7 TDMI核的MCU ADuC7020來完成,。這款芯片有豐富的片內(nèi)外圍電路,,處理速度高達40MIPS,A/D轉(zhuǎn)換速度可達1MSPS,,具有很高的性價比,。最后將結(jié)果由 ADuC7020通過UART口送至計算機,由計算機通過由LabVIEW編寫的界面將結(jié)果直觀地顯示出來或存儲下來,。圖2是基本的硬件電路圖,。
圖1:心電信號采集系統(tǒng)的基本架構(gòu)。
從人體或是心電信號發(fā)生器上采集到的心電信號幅值在0.05~5mV之間(一般為2mV),,頻率在0.05Hz~75Hz之間,。心電信號要經(jīng)過緩沖、匹配電阻網(wǎng)絡(luò),、電壓放大和濾波等幾級電路,。
心電信號首先經(jīng)過一個兩級的RC低通濾波電路,進入緩沖級,。信號進入系統(tǒng)之前,,需要除去高頻分量,因此這里設(shè)計了一個截止頻率為300Hz的低通濾波器,,以保證0.05~75Hz的微弱心電信號不會被衰減,。緩沖級由電壓跟隨器組成,,它可以提高整個放大電路的輸入阻抗,降低輸出阻抗,。為保證差分信號的一致性,,應(yīng)選用集成在芯片上的放大器。匹配電阻網(wǎng)絡(luò)通常采用威爾遜電中心端網(wǎng)絡(luò),,它通過特定的電阻網(wǎng)絡(luò)獲得威爾遜電中心端作為整個ECG系統(tǒng)的參考點,。
濾波放大電路的前級采用負反饋差分放大電路,這里使用ADI公司可調(diào)增益高共模抑制比的儀表放大器AD8221作為前級放大器,。放大倍數(shù)設(shè)為8倍,,由公式G=49.4kΩ/RG+1計算得到,其中RG是AD8221兩個RG管腳之間的電阻值,。
圖2:基本的硬件電路,。
這個電阻應(yīng)當(dāng)選用高精度、低溫漂的金屬膜電阻,,以保證AD8221的低噪聲性能,。AD8221的REF管腳沒有接地,而是和一個低通濾波器構(gòu)成負反饋回路,,以便能有效地濾除直流分量,,從而使U1處的電壓始終箝位在1.25V。因為是單電源供電,,而不同導(dǎo)聯(lián)的心電信號電壓有正有負,,所以一定要提供一個合適的箝位電壓。ADuC7020的AD轉(zhuǎn)換模式下電壓輸入范圍是0-2.5V,,這里就選擇中間值1.25V作為箝位電壓,。
AD8221輸出的單端信號幅值非常小,其中還混有大量干擾,,無法進行數(shù)據(jù)處理。后級濾波放大電路由一個增益較大的有源低通組成,,增益可調(diào),。不同人的心電信號強弱不一樣,考慮到有衰減,,一般將該增益設(shè)為150倍,。系統(tǒng)的傳遞函數(shù)為:
這兩個低通濾波器都要求具有低電壓偏移、低溫漂和低噪聲特性,,ADI公司的軌到軌輸入輸出雙運放AD8607能夠很好地滿足這些要求,。由于第二級放大器是反相端輸入,所以最后得到的信號是反相的,,這可以在軟件中再作處理,。
從保護病人和提高系統(tǒng)的共模抑制比兩方面考慮,,必須將共模信號反相并放大后,再反饋給人體,,這樣系統(tǒng)和人體就共同構(gòu)成了一個電壓并聯(lián)負反饋網(wǎng)絡(luò),,即通常所說的右腿驅(qū)動電路。由ADuC7020對處理后的心電信號進行AD轉(zhuǎn)換,,選擇定時器控制的ADC采樣模式,。一次A/D轉(zhuǎn)換結(jié)束,觸發(fā)ADC中斷,,在中斷服務(wù)程序中對數(shù)字信號進行處理,。
圖3:數(shù)據(jù)處理的基本步驟。
處理心電數(shù)字信號的關(guān)鍵是對心電信號中QRS復(fù)波的精確識別,。正常人的QRS波群的寬度為0.06至0.10秒,,且不受心律變化的影響。針對R波很尖銳的特點,,我們通過一個滑動時間窗判斷信號峰,、谷是否滿足要求,同時確認其是否在時間窗內(nèi),。對信號幅值的閾值采用雙可變閾值法,,即對波形設(shè)置波峰閾值和波谷閾值。如果峰閾值和谷閾值在一段適當(dāng)時間內(nèi)有較大變化,,則重新設(shè)置峰閾值和谷閾值,。下面我們將對QRS復(fù)波定位和心律計算進行討論。對起始一段時間的信號只進行反相和濾波處理,,這是為了將倒置的心電信號恢復(fù)過來,,并避免信號初期的波動影響閾值。然后在一定的時期內(nèi),,根據(jù)采樣得到的數(shù)據(jù)設(shè)置峰閾值Thpeak 和谷閾值THtrough,,然后對QRS波進行定位。最后,,按以下步驟(見圖3)進行數(shù)據(jù)處理,。
讀取新采樣點Ni:
1)判斷采樣的信號點幅值是否大于峰閾值Thpeak。如果不滿足,,則回到第1)步,。
2)如果滿足條件,則開始計數(shù)n=1,,并記錄n值為peaktime1,。將時間窗的起始邊滑至此處。
3)繼續(xù)采樣Ni+1,,每采樣一次則n+1,。
4)判斷新的采樣點Ni+1是否小于谷閾值,。如果不滿足,則回到第4)步,。
5)如果滿足采樣點小于谷閾值Thtrough,,則記錄該點的n值為troughtime1。
6判斷這兩次滿足幅值要求的信號點時刻troughtime1和peaktime1之差是否在時間窗內(nèi),,即是否小于窗寬度THtime,。如果不小于THtime,則回到第1)步,。
7)如果滿足,,則這段信號被認為是一個QRS波群。Peaktime1就被定位為一個R波,。
有了定位的R波,,就可以在此基礎(chǔ)上按以下步驟統(tǒng)計心率:1)找到第一個R波,并記錄n值為peaktime1,;2)找到第二個R波,,并記錄n值為peaktime2;3)按照以下公式計算心律,。
實踐證明,,采用這種算法計算得到的心律準確率高、計算簡便,、易于實現(xiàn),,并最終在PC機上觀察到心電信號波形和心律值。