Enrique Company-Bosch 和 Eckart Hartmann
心電圖(ECG)是心臟在體表產(chǎn)生的電活動(dòng)的記錄。心電圖測量信息由放置在身體指定位置的皮膚電極收集。ECG信號(hào)的特征是六個(gè)峰谷,用字母P,Q,R,S,T和U的連續(xù)字母標(biāo)記(圖1)。
圖1.心電圖信號(hào)的形式。
本文提出了一些低成本實(shí)施ECG監(jiān)護(hù)儀的想法。1它的配置設(shè)想用于個(gè)人計(jì)算機(jī)(PC)。盡管本文在編寫時(shí)考慮了患者安全,但提出的任何想法本身并不一定符合所有系統(tǒng)安全要求;任何使用這些想法的人都必須確保在特定設(shè)計(jì)中,整個(gè)設(shè)計(jì)符合所需的安全標(biāo)準(zhǔn)。
首先,我們概述了典型的模擬ECG拓?fù)浣Y(jié)構(gòu)。然后提出了一種電路,該電路執(zhí)行模數(shù)轉(zhuǎn)換、數(shù)字濾波和數(shù)字放大——所有這些都通過使用微轉(zhuǎn)換器——一個(gè)集成的“片上系統(tǒng)”,結(jié)合了A/D轉(zhuǎn)換器、微控制器和閃存。本文繼續(xù)討論微轉(zhuǎn)換器的組件選擇和編程方面的考慮因素。
心電圖儀的要求
ECG的前端必須能夠處理0.5 mV至5.0 mV的極弱信號(hào),再加上高達(dá)±300 mV的直流分量(由電極-皮膚接觸產(chǎn)生)以及高達(dá)1.5 V的共模分量(由電極和接地之間的電位產(chǎn)生)。ECG 信號(hào)的有用帶寬(取決于應(yīng)用)范圍為 0.5 Hz 至 50 Hz(對于重癥監(jiān)護(hù)病房的監(jiān)測應(yīng)用)——高達(dá) 1 kHz(對于后期電位測量(起搏器檢測)。標(biāo)準(zhǔn)臨床心電圖應(yīng)用的帶寬為 0.05 Hz 至 100 Hz。
心電圖信號(hào)可能會(huì)被各種噪聲破壞。噪音的主要來源是:
電力線干擾:來自電源的 50–60 Hz 拾音和諧波
電極接觸噪聲:電極與皮膚之間的接觸可變,導(dǎo)致基線漂移
運(yùn)動(dòng)偽像:電極-皮膚阻抗變化引起的基線偏移
肌肉收縮:產(chǎn)生肌電圖型信號(hào)(EMG)并與ECG信號(hào)混合
呼吸,導(dǎo)致基線漂移
從其他電子設(shè)備耦合的噪聲,通常是高頻。
為了進(jìn)行有意義和準(zhǔn)確的檢測,必須采取措施過濾掉或丟棄所有這些噪聲源。
典型ECG信號(hào)鏈
圖2顯示了典型單通道心電圖儀的框圖。在該鏈中,很明顯,所有濾波都是在模擬域中完成的,而微處理器、微控制器或DSP主要用于通信和其他下游目的。因此,數(shù)字內(nèi)核的強(qiáng)大計(jì)算特性并不容易用于處理本質(zhì)上原始狀態(tài)的信號(hào)。此外,精密模擬濾波器由于不靈活,以及所需的空間、成本和功耗,對整體設(shè)計(jì)來說可能成本高昂。
圖2.典型的單通道心電圖儀。
建議的電路
使用ADuC842微轉(zhuǎn)換器可以簡化信號(hào)鏈,該轉(zhuǎn)換器允許將ADC、濾波器和微處理器組合在一個(gè)集成電路中。其他優(yōu)點(diǎn)是濾波器實(shí)施的靈活性和數(shù)字域中的隔離。建議的系統(tǒng)設(shè)計(jì)如圖3所示。
模擬輸入處理
模擬前端采用儀表放大器(IA)和右臂共模反饋運(yùn)算放大器的典型方法。IA是一款低成本、高精度儀表放大器AD620,具有出色的直流性能:CMR>>100 dB至近1 kHz、50 μV最大失調(diào)電壓、低輸入偏置電流(最大值1 nA)和低輸入電壓噪聲(0.28 Hz至0 Hz時(shí)為1.10 μV)。
AD620只需要一個(gè)外部增益設(shè)置電阻,RG.電阻R2和R3將正常增益公式更改為[增益= 1 + 49.4 k/RG+ (49.4 千米/2)/22 千米]。為避免輸出飽和,可用增益受輸出擺幅和IA最大輸入電壓的限制。采用±5 V電源時(shí),AD620的輸出擺幅約為±3.8 V;最大輸入為 ±5 mV,外加高達(dá) ±300 mV 的可變正常模式直流失調(diào),最大增益為 12.45。在這里,增益保守設(shè)置為 8 (±1%),使用RG= 8.45 kΩ。
右臂共模反饋電路中使用的運(yùn)算放大器是OP97,這是一款低功耗、高精度運(yùn)算放大器,具有極高的共模抑制(最小114 dB)。該電路將共模干擾的反轉(zhuǎn)版本應(yīng)用于主體的右腿,目的是消除干擾。運(yùn)算放大器在共模電壓下具有91 [即R4/(R2 ||R3) = 1 MΩ/11 kΩ],滾降為 1.6 Hz,低通截止頻率約為 160 Hz,以確保穩(wěn)定性 [f– 3 分貝= 1/(2π × (10 kΩ × 0.1 μF)]。
數(shù)字隔離
數(shù)字隔離是 PC RS232 接口的核心,在本例中建議用于顯示器。隔離器是ADuM1301,這是一款基于ADI公司的雙向數(shù)字隔離器我耦合?技術(shù)——一種消除通常與光耦合器相關(guān)的設(shè)計(jì)困難(不確定的傳流比、非線性傳遞函數(shù)等)的技術(shù)。
與光耦合器相比,它還能夠以更低的功耗實(shí)現(xiàn)高數(shù)據(jù)速率。ADuM1301具有三個(gè)獨(dú)立的隔離通道,其中兩個(gè)用于發(fā)送數(shù)據(jù),另一個(gè)用于接收數(shù)據(jù)。(ADuM1301的另一個(gè)功能(此處不需要)是啟用/禁用輸入/輸出數(shù)據(jù)的能力。ADuM1301測量側(cè)的電源取自ADP3607-5升壓器/穩(wěn)壓器,后者提供固定的5 V輸出。PC端的電源與電路完全隔離。它可以從 PC 獲?。ㄈ绱颂帲┗驈钠渌麃碓传@取。
安全電源
隔離電源由電池提供,不使用時(shí)在充電站中充電。為了處理雙極性輸入信號(hào),AD5和OP620需要±97 V雙電源。ADP3607-5升壓/穩(wěn)壓器和ADP3605逆變器用作穩(wěn)壓雙電源,采用單節(jié)3 V電池提供正負(fù)穩(wěn)壓電壓。
ADP3607是一款穩(wěn)壓輸出開關(guān)電容倍壓器,能夠提供高達(dá)50 mA的電流。該器件能夠在低至3 V的輸入電壓下工作,提供穩(wěn)壓固定為5 V的版本(ADP3607-5),即此處使用的版本。(也可通過外部電阻器在 3V 至 9V 范圍內(nèi)進(jìn)行調(diào)節(jié)。它可以通過由無源元件組成的外部泵級產(chǎn)生更大的正電壓。
ADP3605開關(guān)電容電壓逆變器具有穩(wěn)定的輸出電壓,能夠提供高達(dá)120 mA的電流。該器件提供固定在–3 V (ADP3605-3)的調(diào)節(jié),或通過外部電阻在–3 V至–6 V范圍內(nèi)進(jìn)行調(diào)節(jié)。(與ADP3607一樣,通過增加一個(gè)外部泵級可以實(shí)現(xiàn)更大的負(fù)電壓。需要–5 V電源,輸入電壓為+5 V,因此R設(shè)置為31.6 kΩ (±1%),使用公式:在外= –1.5 R/9.5 kΩ。
兩種電源電壓(±5 V)均由電容式電荷泵產(chǎn)生,即使在故障條件下也不會(huì)產(chǎn)生不安全的電壓,因?yàn)樗鼈儾恍枰魏?a target="_blank">電感器。這些器件還具有關(guān)斷模式,允許微轉(zhuǎn)換器在系統(tǒng)不使用時(shí)關(guān)閉器件的電源。
圖3.建議的心電圖配置。
患者安全
除了數(shù)字隔離和安全電源外,串聯(lián)電阻Rx1、Rx2和Rx3還為患者提供保護(hù),以符合AAMI(醫(yī)療儀器促進(jìn)協(xié)會(huì))的安全電流水平標(biāo)準(zhǔn)(參見參考文獻(xiàn))。這些標(biāo)準(zhǔn)要求來自電子器件的均方根接地電流或故障電流必須小于50 μA。
信號(hào)處理
ADuC842微轉(zhuǎn)換器非常適合主要信號(hào)處理任務(wù)。它具有一個(gè)快速的12位ADC和其他高性能模擬外設(shè)、一個(gè)快速的8052微處理器內(nèi)核、用于代碼的集成62KB閃存以及其他幾個(gè)有用的外設(shè),如圖4所示。
圖4.ADuC842原理框圖
用于此設(shè)計(jì)的微轉(zhuǎn)換器的關(guān)鍵組件是ADC和8052內(nèi)核。ADC將儀表放大器的模擬輸出轉(zhuǎn)換為數(shù)字信號(hào)。為 8052 內(nèi)核編寫的軟件處理數(shù)字化信號(hào),以生成最終 ECG 軌跡的數(shù)據(jù)。與許多 MicroConverter 設(shè)計(jì)一樣,該軟件既包括用 C 語言編寫的復(fù)雜高級代碼,也包括用匯編代碼編寫的時(shí)間敏感例程。在這種情況下,帶通濾波器和陷波濾波器的實(shí)現(xiàn)采用C語言,而ADC由匯編代碼控制。匯編代碼與轉(zhuǎn)換器速度相結(jié)合,可以累積多個(gè)樣本,從而將ADC的有效分辨率提高到遠(yuǎn)遠(yuǎn)超過其正常的12位。
圖5很好地說明了微轉(zhuǎn)換器的有效性。頂部跡線是來自應(yīng)用于ADC的儀表放大器的信號(hào)。中間跟蹤僅顯示使用 C 代碼篩選實(shí)現(xiàn)的初始結(jié)果,而底部跟蹤顯示使用匯編代碼處理多個(gè)轉(zhuǎn)換后的最終結(jié)果。
圖5.示波器跡線。
C 代碼中的篩選器
采集的信號(hào)通過微轉(zhuǎn)換器中的數(shù)字濾波進(jìn)行處理。為此,我們設(shè)計(jì)了兩個(gè)基于500 Hz采樣頻率的二階數(shù)字無限脈沖響應(yīng)(IIR)濾波器。陷波濾波器設(shè)計(jì)用于抑制50 Hz干擾。選擇的設(shè)計(jì)程序是極點(diǎn)零點(diǎn)放置方法,陷波頻率為50 Hz,陷波寬度為10 Hz。為此,需要以下傳遞函數(shù):
傳遞函數(shù)可以轉(zhuǎn)換為可編程遞歸算法:
在這個(gè)等式中,子索引 k 表示當(dāng)前值,k-1 表示前一個(gè)時(shí)刻的值,依此類推。
我們現(xiàn)在需要將這個(gè)等式轉(zhuǎn)換為代碼。C 編碼是這種算術(shù)密集型處理的自動(dòng)選擇,因?yàn)樵趨R編中對其進(jìn)行編程太耗時(shí)了。使用ADuC842直接實(shí)現(xiàn)濾波器方程效率低下,因?yàn)樗皇菫楦↑c(diǎn)計(jì)算量身定制的。幸運(yùn)的是,我們可以縮放系數(shù)(例如按 4096)并將陷波代碼實(shí)現(xiàn)為:
iNOut = (4096L*iNIn-6627L*iNIn1+4096L*iNIn2+6211L*iNOut1-3598L*iNOut2)/4096;
這實(shí)現(xiàn)了二階濾波器。雖然我們可以計(jì)算高階濾波器,但在實(shí)踐中,簡單地級聯(lián)二階濾波器似乎是可行的。
第二個(gè)濾波器是巴特沃茲通帶濾波器,具有0.05 Hz的低截止頻率和100 Hz的高截止頻率。傳遞函數(shù)和遞歸算法為:
這是通過以下方式在 C 代碼中實(shí)現(xiàn)的:
iBOut = (1723L*iBIn-1723L*iBIn2+4745L*iBOut1-650L*iBOut2)/4096;
請注意,只需更改輸入的系數(shù)即可縮放輸出。另請注意,為了提高效率(如果信號(hào)都是正數(shù)),最后通過向右移動(dòng) 4096 來完成 12 的除法。
圖6所示的實(shí)現(xiàn)方案適用于4個(gè)帶通濾波器和12個(gè)陷波濾波器的級聯(lián)。信號(hào)在第一和第二帶通濾波器中按4096倍放大。<> 位右移完成 <> 分頻。
圖6.C 代碼的重要組成部分。
請注意 if (iAdc00>24000)iDac-= 1 和 if(iAdc00<8000)iDac += 1,這些行調(diào)整 ADuC842 的 DAC 輸出以驅(qū)動(dòng) AD620 的電平轉(zhuǎn)換輸入,從而將 AD620 輸出轉(zhuǎn)換為微轉(zhuǎn)換器 ADC 輸入的舒適值。 這是可取的,以減少由于電極施加到皮膚的方式略有不同而導(dǎo)致的可變直流偏移的影響。類似的技術(shù)用于確保輸出電壓在輸出范圍內(nèi)居中。
在匯編代碼中處理
匯編代碼的主要功能是定期測量輸入信號(hào),并確保以每秒 500 次所需的速率重復(fù) C 代碼計(jì)算。首先,我們將 Timer0 編程為連續(xù)運(yùn)行,并以 1 毫秒的間隔生成中斷。每個(gè)中斷重新啟動(dòng) Timer0,獲得一個(gè) ADC 轉(zhuǎn)換結(jié)果,并遞增一個(gè)變量 c2ms,用于同步 C 代碼。在代碼開發(fā)的這個(gè)階段,C 代碼的前幾行是:
而(c2ms<2);用于第一階段。
c2ms = 0;
iAdc00 = iAdc0;
最初,c2ms 為 0,C 代碼將在 while(c2ms<2);1 毫秒后,發(fā)生 Timer0 中斷,c2ms 遞增到 1。再過 1 毫秒后,c2ms 遞增到 2。現(xiàn)在雖然(c2ms<2);不再滿足,C 代碼通過將計(jì)數(shù)器 c2ms 重置為 0 并執(zhí)行過濾器計(jì)算來繼續(xù)。此后,C 代碼將結(jié)果沿變量鏈向下移動(dòng),這些變量表示為下一次循環(huán)迭代準(zhǔn)備的各種延遲結(jié)果。循環(huán)的最后一部分是printf(...),它將結(jié)果發(fā)送到PC進(jìn)行顯示。在 PC 上處理數(shù)據(jù)(超出本文的范圍)可以像將其導(dǎo)入電子表格進(jìn)行圖形顯示一樣簡單,也可以像設(shè)計(jì)人員希望的那樣復(fù)雜。該解決方案產(chǎn)生了圖5的中間跡線。
為了改善結(jié)果,Timer0中斷率縮短到1/32 ms,并將數(shù)據(jù)累積在iAdc0中,以使用多個(gè)測量而不是單個(gè)測量。同時(shí),while 更改為 while(c2ms<64),以便 C 代碼在執(zhí)行每個(gè)濾波器循環(huán)之前等待累積 64 個(gè)測量值。iAdc0 中的值保存在 iAdc00 中以供進(jìn)一步處理,然后清除 iAdc0 — 準(zhǔn)備累積接下來的 64 次測量。圖 7 顯示了程序集代碼。這種改進(jìn)的解決方案產(chǎn)生了圖5的下跡線。
圖7.程序集代碼。
獲得
信號(hào)增益始終是ECG信號(hào)鏈中的一個(gè)重要考慮因素。在上述設(shè)計(jì)中,它取決于許多因素。如前所述,模擬增益設(shè)置為8×。接下來,通過累積該信號(hào)的64次測量結(jié)果,獲得64×的增益。接下來,代碼iBIn = iAdc8>>0;的信號(hào)損失為3×,最后,前兩個(gè)帶通濾波器方程的縮放增益為4×兩倍。這導(dǎo)致總增益為 G = (8 × 64/8) × 4 × 4 = 1024,這是模擬 ECG 電路的典型值。
圖8.實(shí)際測量圖表。
結(jié)論
圖8顯示了以埃因托芬導(dǎo)聯(lián)線I配置連接的受試者的結(jié)果??梢钥闯觯M管使用的電子硬件很簡單,但仍取得了良好的效果。本文表明,通過簡單的硬件結(jié)合對軟件的關(guān)注,可以實(shí)現(xiàn)顯著的改進(jìn)。此示例中的改進(jìn)絕不是最佳水平;專門的設(shè)計(jì)師應(yīng)該有可能顯著改善結(jié)果。如果要實(shí)現(xiàn)具有不同濾波器頻率或其他特殊特性的代碼,則可以進(jìn)行其他改進(jìn)。ADuC842的代碼存儲(chǔ)器基于閃存,允許在使用該產(chǎn)品的產(chǎn)品制造后進(jìn)行此類定制,甚至可以在患者需求發(fā)生變化時(shí)進(jìn)行此類定制。最終的結(jié)果可能是為潛在的大批量市場提供緊湊、廉價(jià)的心電圖。
審核編輯:郭婷
-
濾波器
+關(guān)注
關(guān)注
161文章
7795瀏覽量
177993 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7484瀏覽量
163762 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7488瀏覽量
87849
發(fā)布評論請先 登錄
相關(guān)推薦
評論