江培海, 黃啟俊, 常 勝, 王 豪, 何 進
(武漢大學 物理科學與技術學院,湖北 武漢 430072)
?
基于SoC FPGA的心電信號檢測系統(tǒng)設計*
江培海, 黃啟俊, 常勝, 王豪, 何進
(武漢大學 物理科學與技術學院,湖北 武漢 430072)
摘要:設計實現(xiàn)了一種基于片上系統(tǒng)現(xiàn)場可編程門陣列(SoC FPGA)的心電信號(ECG)檢測系統(tǒng)。系統(tǒng)通過具有高輸入阻抗、高共模抑制比和低噪聲的前置采集放大電路,實現(xiàn)心電信號的拾取和預處理。通過基于SoC FPGA的硬件平臺和移植的嵌入式Linux開發(fā)環(huán)境的軟硬協(xié)同設計方式,完成了心電信號的A/D轉(zhuǎn)換、VGA顯示、Micro SD卡數(shù)據(jù)存儲和心電信號算法處理,能夠?qū)π碾娦盘栠M行小波分析和QRS波檢測,實現(xiàn)了對心電信號的采集、顯示、存儲和處理。
關鍵詞:片上系統(tǒng)現(xiàn)場可編程門陣列; 心電信號; Linux; 小波分析; QRS波檢測
0引言
心電信號(electrocardiogram,ECG) 能夠客觀反映心臟各部分的生理狀況,也是用來診斷心臟疾病的主要依據(jù),由于其具有易于檢測和有較好直觀性等特點,在臨床醫(yī)學中得到較為廣泛的研究與應用[1,2]。自1906年,第一臺心電圖儀用于臨床以來,各種形式的心電監(jiān)護儀相繼出現(xiàn)。傳統(tǒng)的心電圖檢測儀器多以單片機、PC為核心設計,系統(tǒng)笨重、檢測手段單一,不利于系統(tǒng)集成度的提高和小型化實現(xiàn),或造成系統(tǒng)的使用不便[3]。由于可穿戴設備和移動醫(yī)療的興起,心電監(jiān)護儀正向小型化、便攜式、智能化方向發(fā)展[4]。
本文設計了一種基于片上系統(tǒng)現(xiàn)場可編程門陣列(SoC FPGA)心電信號檢測處理系統(tǒng),通過A/D混合設計和軟硬協(xié)同設計的方法,實現(xiàn)了心電信號檢測系統(tǒng)。信號采集由模擬前端電路完成,利用SoC FPGA可重配置和軟硬協(xié)同設計等優(yōu)勢,通過軟件編程對信號進行A/D轉(zhuǎn)換、VGA顯示、數(shù)據(jù)存儲和算法處理,從而實現(xiàn)信號采集、顯示、存儲和處理等多功能集于一體的心電檢測處理系統(tǒng)。
1心電信號檢測系統(tǒng)設計
心電信號檢測監(jiān)護系統(tǒng)是一個模擬和數(shù)字的混合系統(tǒng),主要分為體表心電信號采集電路和以SoC FPGA為核心的心電信號數(shù)字處理系統(tǒng)。采集電路接入醫(yī)用導聯(lián)線通過貼片電極拾取心電信號,心電信號經(jīng)過采集電路放大和模擬濾波處理后進入SoC FPGA,先由HPS端ARM嵌入式硬核上基于Linux的應用程序控制進行A/D轉(zhuǎn)換,轉(zhuǎn)換為數(shù)字信號在FPGA端進行VGA顯示,同時將數(shù)字信號傳輸?shù)紿PS端,可以對數(shù)字信號進行算法處理和存儲到Micro SD卡上。SoC FPGA軟硬協(xié)同的開發(fā)方式對硬件設計和心電信號后續(xù)算法處理的軟件開發(fā)都極為方便。按功能模塊劃分系統(tǒng)整體架構如圖1所示。
圖1 系統(tǒng)框圖Fig 1 System block diagram
1.1體表心電信號采集電路
正常心電信號幅值范圍在10 μV~5 mV,典型值為1 mV,頻率范圍在0.05~100 Hz,同時心電信號對噪聲非常敏感。因此,心電信號采集電路需要具備高輸入阻抗、高共模抑制比、低噪聲和低漂移等方面性能。體表心電采集電路由前置放大電路和后級放大電路組成。
1.1.1前置放大電路
前置放大電路主要是對拾取到的心電信號進行初步放大和去噪,以利于后級放大和處理。心電信號中的噪聲主要有工頻干擾、肌電干擾、基線漂移和高頻噪聲。
1)前置放大電路設計
前置放大電路由前級放大電路、帶通濾波電路和50 Hz工頻陷波電路組成,其中,前級放大電路又包括輸入保護電路、右腿驅(qū)動電路和儀表運放放大電路組成,如圖2所示。
圖2 前置放大電路Fig 2 pre-amplifier circuit
由于系統(tǒng)要接到體表采集信號,需要考慮信號采集過程中人體保護的問題,系統(tǒng)中在采集電路的輸入級前端選擇加入耐壓值很高的瞬態(tài)電壓抑制(transient voltage suppressors,TVS)二極管來保護人體和電路。右腿驅(qū)動電路是在采集心電信號中用于接參考電極,可以有效地消除采集到信號中的共模干擾[5]。儀表運算放大電路完成心電信號的初級放大,同時還要具有高輸入阻抗、高共模抑制比、低噪聲和低漂移的特性。綜合考慮,選擇ADI公司的精密儀表運放AD8220芯片,為了防止出現(xiàn)飽和失真,前級增益設置為20倍[6]。
2)工頻干擾和基線漂移的消除
采集電路拾取的心電信號中有低頻的基線漂移和高頻干擾,還有在心電信號頻率范圍內(nèi)的50 Hz工頻干擾,這些噪聲對心電信號提取的影響非常大。設計了基于通用有源濾波模塊UAF42的帶通濾波器和50 Hz工頻陷波器。帶通濾波器電路的通頻帶為0.05~100 Hz,濾除了基線漂移等低頻干擾和高頻噪聲,工頻陷波器能有效濾除工頻噪聲。通過UAF42可以方便地設計出各種類型和頻率特性的濾波器,只需要計算出合適阻值的外接電阻器, 經(jīng)過簡單的連接就能很好地滿足設計要求,免去了在有源濾波器的設計當中對電容器、電阻器的選型和匹配的工作[7]。工頻陷波器電路圖如圖3所示。
圖3 工頻陷波電路Fig 3 Power frequency notch circuit
使用兩片UAF42芯片構成4階陷波器增加陷波深度,設計工頻陷波電路Q值為50,50 Hz陷波深度為-110 dB。相比于傳統(tǒng)的雙T陷波器,此陷波器中心頻率在設計時就可設置好,免去了陷波中心頻率的調(diào)試。此外,只需要連接設計時計算好電阻值的電阻器即可,免去了電容器的選型和匹配。
1.1.2后級放大電路
后級放大電路由二級放大電路、光電隔離電路和低通濾波器電路組成。由于在前置放大電路中,儀表運放的增益值和帶通濾波器的增益值都不能設得太高,避免噪聲竄入后幅值放大過大和產(chǎn)生振蕩而對有效信號干擾嚴重,所以,總體增益幅度為1 000~3 500,放大系統(tǒng)的增益將由多級增益電路實現(xiàn)。二級放大電路能夠?qū)⑾到y(tǒng)的增益達到設定值,由運放接成電壓負反饋的形式,控制整體電路的增益。光電隔離電路選用了一種低成本的精密電容線性光耦芯片ISO124,實現(xiàn)前后電路的電氣隔離而避免反饋噪聲的影響。低通濾波器主要是為了對由光電耦合引入的高頻噪聲進行消除,避免前級電路的高頻噪聲進入數(shù)字電路板。后級放大電路實現(xiàn)了模擬電路板和數(shù)字電路板的電氣隔離。
1.2心電信號SoC FPGA數(shù)字處理系統(tǒng)設計
1.2.1SoC FPGA的結構和特點
本文設計使用Altera公司推出的基于28 nm工藝的Cyclone V SoC FPGA作為硬件設計平臺,這種新型的 SoC FPGA 將兩個分立的不同類型的芯片結合在一起,將基于ARM的硬核處理器系統(tǒng)(hard processor system,HPS)集成在 FPGA架構中[8]。
使用Altera公司的嵌入式系統(tǒng)設計套裝(embedded design suite,EDS)SoC進行軟硬件的設計開發(fā)。用集成Quartus II中的新一代SOPC工具Qsys進行硬件模塊的設計,它能自動生成互聯(lián)邏輯,連接知識產(chǎn)權(IP)功能和子系統(tǒng),SoC EDS還提供了由Qsys 硬件系統(tǒng)信息轉(zhuǎn)換為軟件開發(fā)所需的工具,使得軟硬件設計銜接起來,支持 Linux應用開發(fā),借助于DS—5可完成從啟動代碼、內(nèi)核移植到Linux應用程序的軟件設計[9]。
1.2.2心電信號數(shù)字處理系統(tǒng)
數(shù)字系統(tǒng)包括A/D轉(zhuǎn)換模塊、VGA顯示模塊、數(shù)據(jù)存儲模塊和算法處理模塊。SoC FPGA中的HPS和其它的硬件模塊可以通過Qsys進行配置,用Quartus II進行硬件設計,Qsys和Quartus II編譯可以產(chǎn)生軟件設計所需的信息文件。移植嵌入式Linux系統(tǒng),下載sof文件,用DS—5進行基于Linux的系統(tǒng)軟件工程開發(fā)[10]。
系統(tǒng)的A/D轉(zhuǎn)換器采用的是ADI公司的8通道12位高精度低功耗A/D轉(zhuǎn)換芯片AD7928,轉(zhuǎn)換速率為1MSPS。美國心臟學會推薦的采樣率為500 Hz,但實際中不同應用有不同的采樣率,一般為125~1 000 Hz,監(jiān)護時多采用200 Hz或250 Hz,輔助分析時多用400~500 Hz,而心電HOLTER一般取125~200 Hz,本系統(tǒng)采用200 Hz。編寫程序控制A/D轉(zhuǎn)換和數(shù)據(jù)緩存,產(chǎn)生控制VGA需要的行同步信號與列同步信號,消隱信號、時鐘信號、RGB信號使屏幕正常工作。嵌入式Linux文件系統(tǒng)支持Micro SD卡數(shù)據(jù)的寫入和讀取,將數(shù)字信號通過AXI橋傳輸?shù)紿PS端,軟件工程實現(xiàn)心電信號的算法處理和Micro SD卡數(shù)據(jù)存儲。系統(tǒng)數(shù)字部分結構簡圖如圖4所示。
圖4 系統(tǒng)數(shù)字部分架構Fig 4 System digital part architecture
2系統(tǒng)測試
系統(tǒng)設計完成后對前端采集電路和整體系統(tǒng)進行調(diào)試和測試。采用三導聯(lián)方式安放醫(yī)用貼片式Ag/AgCl心電電極, 通過醫(yī)用導聯(lián)線連接到心電信號采集系統(tǒng)進行測試。
2.1模擬前端采集電路測試
受測者佩戴心電電極,用醫(yī)用導聯(lián)線接入到模擬前端采集電路,后端接入示波器,待信號穩(wěn)定后就可以在示波器上觀測到心電信號波形,圖5即為模擬前端電路實際測試波形圖。
圖5 模擬前端電路實際測試波形圖Fig 5 AFE circuit test waveform
2.2系統(tǒng)整體測試
接入整體系統(tǒng),運行軟件工程,系統(tǒng)存儲一段時間的心電信號,取出Micro SD卡,讀取存儲的數(shù)據(jù)還原后心電信號波形如圖6所示。
圖6 系統(tǒng)測試心電信號波形Fig 6 System test ECG waveform
3心電信號算法處理
心電信號算法處理隨著智能醫(yī)療的應用變得越來越廣泛。在健康監(jiān)護和疾病診斷等具體應用環(huán)境中,傳統(tǒng)的算法處理都是基于硬件實現(xiàn)的,基于硬件的實現(xiàn)方法一般難度比較大而且耗費資源,嵌入式Linux系統(tǒng)的移植大大方便了心電信號算法處理的軟件實現(xiàn)。在軟件工程中實現(xiàn)了心電信號的小波去噪和QRS波檢測。
3.1基于小波分析的心電信號去噪
采用小波分析的方法進行心電信號去噪。小波分析由于能同時在時域和頻域中對信號進行分析,具有多分辨分析的功能,所以,在不同的分解層上有效地區(qū)分信號的突變部分和噪聲。對含有噪聲的原始心電信號進行小波分解后,噪聲部分主要集中在高頻小波系數(shù)中,包含有用信號的小波系數(shù)幅值較大,但數(shù)目少;而噪聲對應的小波系數(shù)幅值小,數(shù)目較多?;谏鲜鎏攸c,選取無偏似然估計閾值對小波系數(shù)進行處理,然后對信號重構即可達到消噪的目的。圖7為心電信號小波去噪前后對比,信噪比可以達到121 dB。
圖7 心電信號小波去噪Fig 7 ECG wavelet denoise
3.2基于小波分析的QRS波檢測
根據(jù)小波變換的理論, 信號的奇異點對應于其小波變換的一個正模極大值和一個負模極大值對,其位置對應于正、負模極大值的過零點,具體算法是尋找小波變換的模最大值,當計算的信號模大于一定閾值時, 就判定為QRS波群。同時, 這個閾值也是隨著計算結果自適應更新,在判定為QRS波群后, 再檢測過零點則可判定具體的R波位置。圖8即為心電信號QRS波群檢測和R波峰定位。
圖8 心電信號QRS波群和R波峰檢測Fig 8 QRS wave group and R peak detcction of ECG signal
對心電信號進行小波分析檢測出R波波峰等特征點之后可以用提取到的特征值進行模式識別和分類,例如:利用BP神經(jīng)網(wǎng)絡對心電圖ST段波形進行形態(tài)分類[11]。
4結論
本文設計的基于SoC FPGA的心電信號檢測系統(tǒng)能夠很好地采集到心電信號,實現(xiàn)了對心電信號的提取、顯示、存儲和處理。測試表明:系統(tǒng)的模擬前端電路可以采集到比較清晰地放大到合適倍數(shù)的心電信號,系統(tǒng)整體的測試證明了設計的可行性。SoC FPGA軟硬結合的開發(fā)方式能夠?qū)崿F(xiàn)心電信號的算法處理,使設計更為靈活,為心電信號的處理和分析提供了便利,也為智能醫(yī)療的實現(xiàn)提供了可能性。
參考文獻:
[1]張大偉,王???,張斌.新型三導聯(lián)無線ECG 設計與其處理算法研究[J].傳感器與微系統(tǒng),2013,32(5):35-37.
[2]侯思羽.基于SOPC便攜式心電監(jiān)護系統(tǒng)的研究與設計[D].濟南:濟南大學,2011.
[3]賈延江,李振波,張大偉,等.低功耗無線心電圖檢測系統(tǒng)與QRS復波檢測算法研究[J].傳感器與微系統(tǒng),2013,32(7):32-38.
[4]Lee S Y,Wang L H,Fang Q.A low-power RFID integrated circuits for intelligent healthcare system[J].IEEE Transactions on Information Technology in Biomedicine,2010,14(6):1387-1396.
[5]王明,李在軍,鐘維,等.基于FPGA的多功能生物電信號檢測系統(tǒng)[J].電子技術應用,2013,39(6):34-39.
[6]鐘維,黃啟俊,常勝,等.基于SOPC的復合式生理信號檢測系統(tǒng)設計[J].傳感技術學報,2014,27(4):446-451.
[7]顏良,陳儒軍,劉石,等.基于UAF42通用濾波芯片的50Hz陷波器設計[J].儀器儀表學報,2006,27(8):927.
[8]白月明.基于SoC FPGA的視頻播放器設計[D].西安:西安電子科技大學,2014.
[9]劉杰.基于模型的設計——Qsys篇[M].北京:機械工業(yè)出版社,2012.
[10] 任愛鋒,羅豐,宋士權,等.基于FPGA的嵌入式系統(tǒng)設計——Altera SoC FPGA[M].西安:西安電子科技大學出版社,2014.
[11] 李在軍,王明,鐘維,等.基于SOPC的心電信號QRS波和ST段檢測與識別[J].武漢大學學報:理學版,2014,60(2):122-128.
Design of ECG detecting system based on SoC FPGA*
JIANG Pei-hai, HUANG Qi-jun, CHANG Sheng, WANG Hao, HE Jin
(School of Physics Science and Technology,Wuhan University,Wuhan 430072,China)
Abstract:Design and implement an electrocardiogram signal(ECG)detecting system based on system on chip field programmable gate array(SoC FPGA).ECG can be acquired and preprocessed by pre-acquisition amplifier circuit with high input impedance,high co-mode restrain ratio and low noise.Through design approach which combined hardware and software based on SoC FPGA hardware platform and embedded Linux development environment,complete analog to digital conversion of ECG,VGA display,data storage in Micro SD card and ECG process with algorithms,wavelet analysis and QRS wave detection on ECG can be completed,realize acquisition,display,storage and processing of ECG.
Key words:system on chip field programmable gate array(SoC FPGA); electrocardiogram (ECG); Linux; wavelet analysis; QRS wave detection
DOI:10.13873/J.1000—9787(2016)02—0074—04
收稿日期:2015—04—20
*基金項目:公益性行業(yè)科技專項項目(GYHY20106049—5)
中圖分類號:TN 710
文獻標識碼:A
文章編號:1000—9787(2016)02—0074—04
作者簡介:
江培海(1990-),湖北黃岡人,碩士研究生,主要研究方向為心電信號檢測處理與嵌入式系統(tǒng)開發(fā)。