無錫職業技術學院 周 明 潘 健 黃 越
基于Arduino設計一套心電檢測系統。采用ADS1292模塊采集人體心電信號,采集的信號經卡爾曼濾波算法對數據進行處理。利用Q波、R波、S波的波群特征進行計算,以此為依據對心律異常進行判斷,心律異常蜂鳴器報警提醒。心電圖和心律檢測結果通過WIFI模塊發送到手機APP上顯示,心律異常狀態APP會對用戶進行提醒,整個系統能夠對人體心電狀況進行監護。
隨著我國人口老齡化以及快節奏的生活方式,心血管疾病患者人數居高不下,我國每年猝死的人中有五分之四的心源性猝死與心律失常有關。心電圖是心臟周期性變化所產生的電流變化,通過連續曲線的形式記錄下來,是診斷心血管疾病的一個重要依據。本文采用ADS1292模塊,結合Arduino開發板和WIFI模塊設計一款心電檢測系統。
本系統主要有主控模塊、心電檢測模塊、WIFI模塊、安卓APP和顯示模塊組成,心電檢測系統結構示意圖如圖1所示。
主控模塊:主控模塊主要由Arduino開發板構成,負責心電信息采集,并對心電數據進行解析分析和計算得到心電圖數據,主控模塊負責通過串口將這些信息發送給本地的OLED液晶屏顯示,同時通過WIFI模塊傳給手機端顯示,當檢測到數據不正常,例如發現心律不齊等情況,蜂鳴器將會報警提醒。

圖1 系統結構框圖

圖2 心電檢測位置示意圖
心電檢測模塊:采用ADS1292模塊獲取人體的心電數據并轉換成電壓信號傳送給主控模塊處理。
WIFI模塊:將主控模塊處理后的心電數據上傳手機app顯示。WIFI模塊需要燒錄對應版本的固件后,就可以通過Arduino開發板串口輸出建立網絡的AT指令,從而建立網絡,與手機建立通信,將數據發送至手機APP。
手機APP接收到心電數據,將數據進行處理分析后,顯示出心電圖和診斷結果,用戶可以查看歷史數據和實時監測自己的心電狀態。
心電檢測選用的ADS1292模塊,是采用德州儀器(TI)的ADS1292R芯片設計的,是多通道同步采樣24位Δ-Σ模數轉換器,它具有內置可編程增益放大器(PGA)、內部基準與板載振蕩器,低功耗,成本低,使用方便。
正常人的心電圖一般有5個波,分別為P、Q、R、S、T波。P波:指的是心房開始收縮,即第0s;Q波:指的是心室開始收縮,即第0.1s;R波:指的是心室收縮到了最大,即大約第0.25s;S波:指的是心室結束收縮,即第0.4s結束;T波:指的是心室開始舒張,即第0.5s開始。
如圖2所示,心電測量位置可以三點靠近貼在左胸,也可以參照全導聯心電圖LA:左鎖骨下;RA:右鎖骨下;RL:右腹部下。
心電圖是呈周期性的,其中Q波、R波、S波的特征最顯著,是心律異常診斷的重要依據。通過對Q波、R波、S波的“寬與窄”、“快與慢”等數據進行分析,可以對一些常見的心律異常進行診斷。
先把所有心電信號值存入數組bo[110],再分析數組每一個值的變化,得到變化波動較大且異于平均波動的一次波動,記為R波,使用while()循環來獲取遞增和遞減的第一個值和最后一個值,記為Q波和S波。同時函數millis()記錄每次R波和S波出現的時間,相減即可獲取R、S兩點的時間間隔。之后在心電圖上標注Q、R、S三點,得到R、S兩點的時間間隔。心電檢測模塊還可以分析計算使用者的心律,且心律測量相對精準,其誤差不大于5%。該模塊在心律不齊時蜂鳴器會報警提醒。心電檢測流程圖如圖3所示。

圖3 心電檢測流程圖

圖4 卡爾曼濾波算法流程圖
在采集心電信號期間,會受到多種噪音干擾,心電信號采集過程中產生的主要影響是工頻干擾和基線漂移,為了確保后面對心電信號特征點進行數據分析時的準確性,需要將檢測到的心電數據進行數據處理,去掉工頻干擾和基線漂移的影響,使檢測效果達到最優。
將心電檢測模塊得到的數據發送到OLED顯示屏上進行顯示,發現工頻干擾表現在心電圖像上的“毛刺”,基線漂移表現為整個心電曲線呈現出似正弦曲線的波動曲線,使心電圖中等電位線的幅值產生誤差,本文采用卡爾曼濾波算法對數據進行處理,使心電信號更加平滑,心電波形保持在同一基線上,處理后的波形顯示如圖4所示。
卡爾曼濾波器是一個最優化回歸數據處理算法。卡爾曼濾波器處理的是隨機信號,其算法的核心思想是先建立信號與噪聲的狀態空間模型,然后根據此刻的“檢測值”與上一刻的“預測值”和“誤差”,計算出當前的最優值和下一刻的“預測值”。其中的“誤差”是獨立存在的,分為預測誤差和測量誤差,不受測量數據的影響。
濾波就是在諸多信號中提取出需要的信號,這個過程既可以通過硬件實現,也可以通過軟件實現,卡爾曼濾波屬于軟件濾波。
運用卡爾曼濾波算法,首先建立離散控制過程的系統模型。由K-1時刻到K時刻的系統預測方程為:X(k)=AX(k-1)+B U(k)+W(k)
系統狀態觀測方程:Z(k)=H X(k)+V(k)
在上述兩式子中,X(k)是k時刻該系統的狀態,U(k)是k時刻系統輸入量。A是狀態轉移矩陣,B是輸入增益矩陣。Z(k)是k時刻的測量值,H是系統的測量矩陣,W(k)均值為0,協方差矩陣為Q,且服從正態分布的過程噪聲,V(k)均值為0,協方差矩陣為R,且服從正態分布的測量噪聲。滿足上面的條件,卡爾曼濾波器是最佳的信息處理器。
心電檢測系統的設計制作完成,心電檢測使用ADS1292心電模塊,耳機口導聯線線序按照紅色RL,黃色LA,綠色RA連接于SKX-2000心電信號模擬儀器。首先獲取心電信號值,計算心率,分析獲取其中Q,R,S波,計算R,S波之間的時間,記錄R波出現時間,捕獲出現心率不齊現象,觸發蜂鳴器報警。手機APP上可以實時顯示心電信號。將心電檢測系統連接上位機測試,顯示效果如圖5所示。
結束語:本文系統實現了人體心電信號的檢測及顯示,可以根據心電圖分析被測者的心律是否正常,異常進行報警提醒,具有響應速度快、使用方便、成本低等特點,可以為用戶心電檢測或醫療機構心電監護提供幫助。隨著心血管疾病發病率的不斷上升,心電圖檢測儀器也正向多通道、新型記錄方式、數字智能型、網絡共享型等方向發展,我國新型的心電圖機也將運用數字化技術不斷提高工作效率并加快描記時效性,這都將明顯提高心血管疾病診斷的準確性。

圖5 上位機心電信號顯示