簡介
心電圖(ECG)是心臟產生的體表電活動的記錄。通過放置在身體上指定位置的皮膚電極收集ECG測量信息。 ECG信號的特征是六個峰和谷標有字母P,Q,R,S,T和U的連續字母(圖1)。
本文提出了一些想法用于低成本實施心電監護儀。 1 其配置設想用于個人計算機(PC)。盡管本文是在考慮患者安全的情況下編寫的,但所提出的任何想法本身并不一定與所有系統安全要求兼容;任何使用這些想法的人都必須確保在特定設計中,整個設計符合要求的安全標準。
首先,我們概述了典型的模擬心電圖拓撲結構。然后提出了一種執行模數轉換,數字濾波和數字放大的電路 - 所有這些都是通過使用MicroConverter集成的“片上系統”,它結合了A / D轉換器,微控制器和閃存。本文接著討論了MicroConverter組件選擇和編程的注意事項。
心電圖儀的要求
心電圖的前端必須能夠處理極弱信號范圍為0.5 mV至5.0 mV,結合直流分量高達±300 mV - 由電極 - 皮膚接觸產生 - 加上共模分量高達1.5 V,由電極和地之間的電位產生。根據應用的不同,ECG信號的有用帶寬范圍為0.5 Hz至50 Hz,適用于重癥監護室的監測應用 - 最高1 kHz用于后期潛在測量(起搏器檢測)。標準臨床ECG應用的帶寬為0.05 Hz至100 Hz。
ECG信號可能被各種噪聲破壞。噪聲的主要來源是:
- 電力線干擾:50-60 Hz拾音器和來自電源的諧波
- 電極接觸噪聲:電極和電極之間的可變接觸皮膚,導致基線漂移
- 運動偽影:由電極 - 皮膚阻抗變化引起的基線偏移
- 肌肉收縮:肌電圖型信號(EMG)產生并混合心電圖信號
- 呼吸,引起基線漂移
- 來自其他電子設備的電磁干擾,電極線用作天線,
- 噪聲耦合來自其他電子設備,通常是高頻率。
為了進行有意義和準確的檢測,必須采取措施過濾掉或丟棄所有這些噪聲源。
典型ECG信號鏈
圖2顯示了典型的單通道心電圖儀的框圖。在該鏈中,顯然所有濾波都在模擬域中完成,而微處理器,微控制器或DSP主要用于通信和其他下游目的。因此,數字核心的強大計算屬性不易于處理其基本原始狀態的信號。此外,復雜的模擬濾波器由于其不靈活性以及所需的空間,成本和功率而對整體設計來說成本高昂。
建議電路
通過使用ADuC842 MicroConverter可以簡化信號鏈,該器件允許將ADC,濾波器和微處理器組合在一個集成電路中。其他優點是濾波器實現的靈活性和數字域中的隔離。擬議的系統設計如圖3所示。
模擬輸入處理
模擬前端采用典型方法,儀表放大器(IA)和右腿共模反饋運算放大器。 IA是AD620,一款低成本,高精度儀表放大器,具有出色的直流性能:CMR >> 100 dB至近1 kHz,最大偏移電壓50μV,低輸入偏置電流(最大1 nA),輸入低電壓噪聲(0.28μV,0.1 Hz至10 Hz)。
AD620只需要一個外部增益設置電阻 R G 。電阻器R2和R3將正常增益公式更改為[增益 = 1 + 49.4 k / R G +(49.4 k / 2)/ 22 K]。為避免輸出飽和,可用增益受到輸出擺幅和IA的最大輸入電壓的限制。采用±5V電源,AD620的輸出擺幅約為±3.8 V;最大輸入為±5 mV加上可變的正常模式直流偏移,最高可達±300 mV,最大增益為12.45。這里,使用 R G =8.45kΩ,將增益保守設置為8(±1%)。
右側使用的運算放大器-46共模反饋電路是OP97,一款低功耗,高精度運算放大器,具有極高的共模抑制性能(最小值為114 dB)。該電路將共模干擾的反相版本應用于受試者的右腿,目的是消除干擾。運算放大器的共模電壓為91 [ viz 。,R4 /(R2 || R3)=1MΩ/11kΩ],電壓增益為1.6 Hz,具有1.6 Hz的衰減和低通截止頻率約為160 Hz,穩定性[ f - 3 dB = 1 /(2π×(10kΩ×0.1μF)]。
數字隔離
數字隔離是PC的RS232接口的核心,在本例中建議用于顯示器。隔離器是ADuM1301,一個基于ADI公司的雙向數字隔離器 i 耦合器? 技術 - 消除了與光耦合器相關的設計難題(不確定的電流傳輸比,非線性傳遞函數等)。
與光耦合器相比,它還實現了高數據速率和更低的功耗。 ADuM1301有三個獨立的隔離通道,其中兩個用于此處 - 一個用于發送,另一個用于接收數據。 (此處不需要ADuM1301的另一個功能 - 能夠啟用/禁用輸入/輸出數據。)ADuM1301測量側的電源取自ADP3607-5升壓器/穩壓器,它提供了一個固定的5 V輸出。 PC側的電源完全與電路隔離。它可以從PC(就像在這里)或從不同的來源獲取。
安全電源
隔離電源由電池供電,電池在充電時充電車站不使用時。要處理雙極性輸入信號,AD620和OP97需要±5 V雙電源。 ADP3607-5升壓/穩壓器和ADP3605逆變器用作穩壓雙電源,可通過單個3 V電池提供正負調節電壓。
ADP3607是穩壓輸出開關電容電壓倍頻器可提供高達50 mA的電流。它能夠在低至3 V的輸入電壓下工作,提供固定電壓為5 V(ADP3607-5)的版本 - 此處使用的版本。 (它還可通過外部電阻以3 V至9 V范圍內的形式提供。它可以產生更大的正電壓,外部泵級由無源元件組成。)
ADP3605開關電容電壓逆變器具有穩定的輸出電壓,能夠提供高達120 mA的電流。它提供穩定在-3 V(ADP3605-3)的調節,或通過外部電阻在-3 V至-6 V范圍內調節。 (與ADP3607一樣,通過增加外部泵級可以實現更大的負電壓。)需要-5 V電源,輸入電壓為+5 V,因此R設置為31.6kΩ(±1) %),使用公式, V OUT = -1.5 R /9.5kΩ。
兩個電源電壓(±5 V)均由電容式電荷泵產生,即使在故障條件下也不會產生不安全的電壓 - 因為它們不需要任何電感器。這些設備還具有關閉模式,允許MicroConverter在系統不使用時關閉設備。
患者安全
< p>除數字隔離和安全電源外,串聯電阻Rx1,Rx2和Rx3為患者提供保護,以符合AAMI(醫療器械促進協會)安全電流標準等級(見參考文獻)。這些標準要求rms地電流或來自電子設備的故障電流必須小于50μA。
信號處理
ADuC842 MicroConverter非常適合主要的信號處理任務。它具有快速的12位ADC和其他高性能模擬外設,快速8052微處理器內核,集成62KB閃存代碼以及其他幾種有用的外設,如圖4所示。
此設計的MicroConverter的關鍵組件是ADC和8052內核。 ADC將儀表放大器的模擬輸出轉換為數字信號。為8052核心編寫的軟件處理數字化信號,以產生最終ECG跡線的數據。與許多MicroConverter設計一樣,該軟件包括用C編寫的復雜高級代碼和用匯編代碼編寫的時間敏感例程。在這種情況下,帶通濾波器和陷波濾波器的實現在C中,而ADC由匯編代碼控制。匯編代碼與轉換器速度相結合,可以累積多個采樣,從而提高ADC的有效分辨率,遠遠超出正常的12位。
圖5給出了MicroConverter有效性的良好指示。頂部跡線是來自應用于ADC的儀表放大器的信號。中間跟蹤顯示僅使用C代碼過濾實現的初始結果,而底部跟蹤顯示使用匯編代碼處理多次轉換后的最終結果。
C代碼中的過濾器
通過MicroConverter中的數字濾波處理采集的信號。為此,我們基于500 Hz的采樣頻率設計了兩個二階數字無限脈沖響應(IIR)濾波器。陷波濾波器設計用于抑制50 Hz干擾。所選擇的設計程序是零極點放置方法,陷波頻率為50 Hz,陷波寬度為10 Hz。為實現這一目標,需要以下傳遞函數:
傳遞函數可以轉換為可編程遞歸算法:
在此等式中子索引,< em> k ,表示當前值, k -1表示前一瞬間的值,依此類推。
我們現在需要將此等式轉換為代碼。 C編碼是這種算術密集型處理的自動選擇,因為在匯編中對它進行編程會非常耗時。使用ADuC842直接實現濾波器方程效率很低,因為它不適合浮點計算。幸運的是,我們可以縮放系數(例如4096)并將陷波代碼實現為:
iNOut =(4096L * iNIn-6627L * iNIn1 + 4096L * iNIn2 + 6211L * iNOut1-3598L * iNOut2)/ 4096;
這實現了二階濾波器。雖然我們可以計算更高階的濾波器,但實際上簡單地級聯二階濾波器似乎是可行的。
第二個濾波器是Butterworth通帶濾波器,具有0.05 Hz的低截止頻率和100- Hz高截止頻率。傳遞函數和遞歸算法是:
這是用C代碼實現的:
iBOut =(1723L * iBIn-1723L * iBIn2 + 4745L * iBOut1-650L * iBOut2)/ 4096 ;
請注意,只需更改輸入系數即可縮放輸出。還要注意,為了提高效率(如果信號都是正數),最后通過右移12來完成4096的除法。
圖6所示的實現是針對五個級聯的級聯 - 通過濾波器和兩個陷波濾波器。在第一和第二帶通濾波器的每一個中,信號按比例放大4倍。 12位右移實現了4096的分頻。
注意行 if(iAdc00> 24000)iDac- = 1, 和 if(iAdc00 <8000)iDac + = 1,,調節ADuC842的DAC輸出,驅動AD620的電平轉換輸入,將AD620輸出轉換為MicroConverter ADC輸入的舒適值。這對于減小由于電極施加到皮膚的方式的微小差異而導致的可變dc偏移的影響是期望的。類似的技術用于確保輸出電壓在輸出范圍內居中。
匯編代碼中的處理
匯編代碼的主要功能是定期測量輸入信號并確保以每秒500次的要求速率重復C代碼計算。在第一種情況下,我們將Timer0編程為連續運行并以1 ms的間隔生成中斷。每次中斷都會重啟Timer0,獲得ADC轉換結果,并遞增一個變量c2ms,用于同步C代碼。在代碼開發的這個階段,C代碼的前幾行是:
而(c2ms <2); //在第一階段使用。
c2ms = 0;
iAdc00 = iAdc0;
最初,c2ms為0,C代碼將在行等待而(c2ms <2); 。 1 ms后,發生Timer0中斷,c2ms增加為1.再經過1 ms后,c2ms增加為2. 現在,當(c2ms <2); 不再滿足時,通過將計數器c2ms重置為0并進行濾波器計算,C代碼繼續運行。此后,C代碼將結果向下移動表示為循環的下一次迭代準備好的各種延遲結果的變量鏈。循環的最后一部分是 printf(...),它將結果發送到PC進行顯示。超出本文范圍的處理PC上的數據可以簡單到將其導入電子表格以進行圖形顯示 - 或者像設計者希望的那樣復雜。該解決方案產生了圖5的中間軌跡。
為了改善結果,Timer0中斷速率縮短為1/32 ms,數據在iAdc0中累加,以便使用多次測量而不是單次測量。同時, while 更改為而(c2ms <64),以便C代碼在執行每個過濾器循環之前等待64次測量。 iAdc0中的值保存在iAdc00中以進行進一步處理,然后iAdc0被清除 - 準備好累積接下來的64次測量。圖7顯示了匯編代碼。這種改進的解決方案產生了圖5的下部跡線。
增益
信號增益始終是ECG信號鏈中的重要考慮因素。在上述設計中,它取決于許多因素。如前所述,模擬增益設置為8×。接下來,通過累積該信號的64次測量得到64倍的增益。接下來,從代碼iBIn = iAdc0 >> 3;開始信號丟失8倍,最后,從前兩個帶通濾波器方程的縮放得到4倍的增益。這導致總增益G =(8×64/8)×4×4 = 1024,這是典型的模擬ECG電路。
結論
圖8顯示了在Einthoven lead I配置中連接的主題的結果。可以看出,盡管使用的電子硬件簡單,但仍獲得了良好的結果。該文章表明,通過簡單的硬件和對軟件的關注,可以實現重大改進。這個例子的改進絕不是最佳水平;專業設計師應該可以顯著改善結果。如果要實現具有不同濾波器頻率或其他特殊特性的代碼,則可以進行其他改進。 ADuC842的代碼存儲器基于閃存,允許在制造使用它的產品后進行此類定制 - 或者甚至在患者需求發生變化時進行。對于潛在的大批量市場而言,最終的結果可能是緊湊,廉價的ECG。
-
濾波器
+關注
關注
161文章
7858瀏覽量
178675 -
心電圖
+關注
關注
1文章
79瀏覽量
25348 -
ECG
+關注
關注
4文章
126瀏覽量
52279
發布評論請先 登錄
相關推薦
評論