張亞君,余永紀,洪 明
(杭州電子科技大學電子信息學院, 杭州310018)
心血管疾病是威脅人類生命的主要疾病之一,心電圖(ECG)則是評價心臟功能的主要依據(jù)。而目前具有心電檢測、分析功能的設備價格不菲,而且主要是在醫(yī)院等醫(yī)療場所才有,個人監(jiān)護使用很不方便。也有針對個人的便攜式產(chǎn)品,但一般僅能記錄、存儲心電數(shù)據(jù)而不帶分析功能[1-2]。
隨著電子技術的發(fā)展,器件性能大大提高,使開發(fā)一種便攜式、功耗低、容量大、具有分析能力的心電檢測設備成為可能。本文利用ARM Cortex-M3內(nèi)核的32 bit單片機作為處理器,采用大容量SD卡作為存儲單元,開發(fā)出一套具有分析功能、性能強的心電檢測系統(tǒng)。
系統(tǒng)主要分為三個部分,包括心電信號采集模塊、數(shù)據(jù)存儲模塊和心電數(shù)據(jù)分析處理模塊。系統(tǒng)框圖如圖1所示。心電信號采集模塊主要由心電采集電路、信號放大電路、濾波電路和AD采樣電路組成。心電信號微弱且有較多干擾,因此對這一模塊的硬件和軟件設計都提出了更高的要求。
圖1 系統(tǒng)框圖
數(shù)據(jù)管理模塊主要完成數(shù)據(jù)的存儲與回調(diào),采用大容量的SD卡來設計,并嵌入FAT文件系統(tǒng)。萬年歷時鐘給用戶提供時間信息,心電數(shù)據(jù)采集后以文件的形式存入以當前時間為命名的TXT文件中,這樣便于讀取和傳輸。心電分析處理模塊主要完成心電信號預處理、QRS波檢測及常見疾病分析,實時顯示處理結果及實現(xiàn)病情報警。用戶可通過鍵盤與LCD顯示與系統(tǒng)實現(xiàn)人機交互。
心電信號經(jīng)放大電路和濾波電路處理后,由單片機完成AD采樣。放大電路采用TI公司的儀用放大器INA128設計,可以過到較高的共模抑制比。
心電信號進行軟件濾波和數(shù)據(jù)分析處理時的運算相當復雜,不僅要求運算速度快而且要求計算的精度高,這就使得CPU處理器的選擇顯得尤為重要。本系統(tǒng)選用Luminary Micro公司的LM3S1138單片機芯片作為CPU。該芯片是基于ARM Cortex-M 3內(nèi)核哈佛結構,采用ARMv7-M架構的32 bit處理器,它擁有硬件除法單周期乘法的32 bit RSIC,運算速度快。內(nèi)部有64 K單周期Flash, 16 KB單周期訪問的SRAM,可以在50 MHz的工作頻率下運行,這對提高數(shù)據(jù)運算的速度,實現(xiàn)算法的實時性有很大幫助。而且該芯片價格便宜、功耗低,片上外設豐富,不用另外設計電路便可以完成心電信號的AD采樣。
數(shù)據(jù)存儲模塊是整個系統(tǒng)的重要組成部分之一,本系統(tǒng)選用大容量SD卡作為存儲媒介,它讀寫速度快、尺寸小、而且安全性高[3],能夠達到長時間監(jiān)測的要求。 SD卡與單片機的接口電路如圖2所示。 SD卡的數(shù)據(jù)輸入、輸出管腳與單片機的SPI口相連,并由單片機提供SPI時鐘信號,用于同步單片機SPI與 SD卡之間的數(shù)據(jù)傳輸。檢測信號線CARD_INSER用于檢測卡是否插入。 SD卡的供電方式采用可控方式,其作用是為了防止SD卡進入不確定狀態(tài)時,可通過對卡重新上電使卡復位而無須撥出??煽仉娐凡捎肞型場效應晶體管2SJ355,由CPU與CARD_POWER相接的管腳進行控制。
圖2 SD卡與單片機的接口電路圖
本監(jiān)測儀接口較多,功能性強,軟件設計采用模塊化的設計思想。整個系統(tǒng)軟件包括系統(tǒng)初始化與自學習、濾波處理、QRS波檢測、心律失常檢測、SD卡讀寫和文件系統(tǒng)、波形結果顯示和界面設置等等。監(jiān)測主程序流程圖如圖3所示。
圖3 主程序流程圖
設備上電后,首先要進行初始化。初始化過程包括CPU工作頻率、采樣頻率、SPI模塊、I2C模塊和AD模塊的設置等。此時信號采集模塊并未開啟,用戶可以通過管理界面對系統(tǒng)進行設置和數(shù)據(jù)管理。當需要進行心電采集時,再打開采電路,這樣可以大大降低功耗。心電檢測開啟后,在5 ~10 s內(nèi)完成自學習。自學習是對個人心電特征參數(shù)的提取,包括心率、R波幅度等信息。這一過程與心電采集過程基本相同,都要完成AD采樣、濾波、數(shù)據(jù)處理及存儲等過程,只是不作疾病分析。自學習得到的心電特征參數(shù)將在以后的采樣、數(shù)據(jù)分析處理過程中不斷修正,使參數(shù)與實際特征參數(shù)相近。
數(shù)據(jù)處理部分主要是完成QRS波的檢測和心律失常判斷。QRS波檢測的方法有很多,比較常用的有小波分析法與神經(jīng)網(wǎng)絡法等[4],但這種方法計算復雜,且實時性不易實現(xiàn)。經(jīng)過計算心電數(shù)據(jù)的一階、二階差分發(fā)現(xiàn)[5-6]:ECG信號中一階差分的向下過零點和二階差分的極小值點與ECG信號中的R波是相對應的。在一階差分信號中, R波在一階差分信號中為QRS波群所對應的向下過零點,其值為負;Q波應為R波所在位置向前的第一個向上過零點,其值為正;S波為R波所在的位置向后的第一個過零點,其值為正。本系統(tǒng)是根據(jù)這一相對應的關系來設計的算法。
檢測算法實現(xiàn)的基本過程如下:信號采集后,對信號進行預處理,采用低通、高通濾波器組成帶通濾波器濾除基線干擾和工頻干擾。然后對該組數(shù)據(jù)進行一階差分和二階差分,找到二階差分極小值點,根據(jù)二階差分與 R波點的對應關系便可以定位出CEG信號的R波點。當然,第一次定位出的R波點不一定十分準確,可能存點噪聲點或漏檢點。為此,系統(tǒng)根據(jù)兩次心跳的時間不應小于200 ms和兩次心跳的時間不應大于平均心率的1.5倍進行去噪查漏檢測,然后根據(jù)QRS波幅值條件確定噪聲點和漏檢點。定位出R波點后,根據(jù)一階差分與QRS波的對應關系對CEG信號的QRS波進行精確定位。
為實現(xiàn)實時處理和保證數(shù)據(jù)分析處理期間AD采樣能夠實時響應,本系統(tǒng)建立了兩個數(shù)據(jù)緩沖區(qū),以5 s為一個周期采用中斷的方式對兩個緩沖區(qū)數(shù)據(jù)進行輪番處理。采用這種方法會使數(shù)據(jù)分析有所滯后,但在判斷心律失常時需要與前后的心搏相結合,所以本心電檢測系統(tǒng)還是符合實時要求的。為了檢驗所設計的心電檢測算法的準確性,運用美國麻省理工的MIT-BIH心電數(shù)據(jù)庫進行了測試[8],QRS波檢測平均準確率在99.5 %以上,說明算法的準確性是很高,能符合實際檢測的要求。
3.3.1 文件系統(tǒng)
根據(jù)FAT文件系統(tǒng)的需要, SD卡上的數(shù)據(jù)按照其不同的特點和作用大致可分為5個不同的數(shù)據(jù)結構[7],即主引導記錄(MBR)區(qū)、系統(tǒng)引導記錄(DBR)區(qū)、文件分配(FAT)表、文件目錄(FDT)表和數(shù)據(jù)(DATA)區(qū)。文件系統(tǒng)存儲的原理可用圖4來表示。系統(tǒng)以簇為基本單位為文件分配存儲空間,在創(chuàng)建文件時,自動為該文件創(chuàng)建一個由簇號組成的索引鏈,并以FF為結束標志。在讀寫文件時,在目錄項中查找與文件名相對應索引鏈的首簇號,在簇號對應的數(shù)據(jù)區(qū)讀取或寫人數(shù)據(jù),然后通過查詢FAT區(qū)確定下一簇的簇號,直到文件結束。
圖4 文件存儲原理圖
3.3.2 數(shù)據(jù)文件管理
本系統(tǒng)的數(shù)據(jù)存儲、文件管理過程的流程圖如圖5所示。
圖5 文件管理流程圖
系統(tǒng)上電后,進行SD卡初始化和文件系統(tǒng)初始化,對文件系統(tǒng)進行掛載,然后通過底層驅動程序在SD卡上進行創(chuàng)建文件、讀寫文件和刪除文件等操作,從而實現(xiàn)文件的管理。在存儲數(shù)據(jù)時,以當前時間為文件名建立TXT文件,然后往SD卡寫數(shù)據(jù)進行數(shù)據(jù)存儲,從文件名便可以得到這段心電數(shù)據(jù)的時間信息,為醫(yī)療人員的進一步分析、病情掌握作參考。心電波形回調(diào)時,先讀取SD卡磁盤中的文件名,然后選擇要回調(diào)的文件進行讀數(shù)據(jù)操作,并可通過開始/暫停、停止鍵來控制波形回放的過程。刪除文件時選擇要刪除的文件后,系統(tǒng)自動尋找目標定位進行刪除操作。
除了利用數(shù)據(jù)庫進行測試外,在一定范圍內(nèi)還進行了實際檢測測試。本文以處于如安靜、慢走和慢跑不同狀態(tài)下的測試者為對象進行測試,將監(jiān)測儀的測試結果與計算機上的測試結果進行對比分析。由于并未出現(xiàn)象MIT數(shù)據(jù)庫中那種極端的數(shù)據(jù),即使包含了小跑,準確率也達到了99.87%。處于安靜和慢走狀態(tài)下沒有誤檢,檢測效果令人滿意。實測數(shù)據(jù)如表1所示。
表1 實測ECG信號結果
本文所設計的便攜式心電檢測儀,具有運算速度快、功耗低、實時準確的特點。采用大容量SD卡作為存儲媒介,嵌入文件系統(tǒng)將數(shù)據(jù)以文件的形式存儲,既能滿足用戶長時間監(jiān)護的要求,同時又使數(shù)據(jù)移植處理更為方便。
算法通過 MIT-BIH心電數(shù)據(jù)庫以及實際的CEG數(shù)據(jù)檢測,平均準確率均能達到99 %以上,在一定范圍內(nèi)還進行的實際檢測測試中,準確率也達到了99.87%,由此可見,所設計的監(jiān)測儀滿足了心電實時、準確的檢測的要求。
[ 1] 楊俊春, 趙國良.便攜式心電圖儀的設計[ J] .應用科技,2003:37-39.
[ 2]Jose J.Segura, David Cuesta-Frau, Luis Samblas-Pena Mateo Aboy.A Microcontroller-Based Portable Electro-cardiograph Recorder[ J] .IEEE Transaction on Biomedical Engineering, 2004,51(9):1686-1690.
[ 3] 曾鶴瓊.氣壓與心電相關數(shù)據(jù)采集系統(tǒng)的設計[ D] .中南民族大學, 2008:21-24.
[ 4] LIC, ZHENG C, TAIC.Detection of ECG Characteristic Points UsingWavelet Transforms[ J] .IEEE.
[ 5] 朱凌云,吳寶明.一種實時的動態(tài)心電圖R波檢測算法[ J] .中國醫(yī)療器械雜志, 2004, 28(2):89-93.
[ 6] Hong Ming, Zhang Yajun.Portable ECG Measurement Device Based on MSP430 MCU[ C] //2008 International Conference on BioMedical Engineering and Informatics, 2008:667-671.
[ 7] 鄧劍,楊曉非,廖俊卿.FAT文件系統(tǒng)原理與實現(xiàn)[ J] .計算機與數(shù)學工程, 2005, (9):105-108.
[ 8] 宋喜國,鄧親愷.MIT-BIH心率失常數(shù)據(jù)庫的識讀及應用[ J] .中國醫(yī)學物理學雜志, 2004, (4):230-232.