心電信號(Electrocardiogram, ECG)是臨床診斷心臟疾病的重要依據,其中 QRS 波群的準確檢測對于心率分析、心律失常診斷及自動化心電分析系統具有核心意義。本文設計并實現了一套基于 MATLAB GUI 的心電信號處理與分析系統,集成了數據導入、信號預處理、QRS 波群檢測、心率計算及結果可視化等功能。系統在預處理階段采用高通與低通濾波相結合的帶通濾波方法,有效去除基線漂移與高頻噪聲;隨后利用差分濾波、閾值判決與形態學約束方法對 Q、R、S 波進行逐一檢測;最后計算 RR 間期并推導心率。為增強用戶體驗,本文基于 MATLAB GUIDE 構建了交互式圖形界面,實現了信號波形展示、檢測結果標注及頻譜分析等功能。實驗表明,本系統能夠對不同采樣率與噪聲條件下的 ECG 數據進行穩定檢測,具有較好的準確性和可視化效果,可為心電信號自動分析的教學與科研提供參考。
作者:張家梁(自研改進)
引言
心電信號(ECG)是臨床醫學和生物醫學工程研究中應用最為廣泛的生理信號之一。通過記錄心臟在一次搏動周期中的電活動變化,心電圖能夠為心臟疾病的診斷與監測提供重要依據。在 ECG 波形中,P 波、QRS 波群和 T 波具有明確的生理學意義,其中 QRS 波群反映心室去極化過程,其形態與時間特征對于心率計算、心律失常檢測及心臟功能評估至關重要。因此,如何在復雜環境和噪聲干擾下實現 QRS 波群的準確檢測,一直是心電信號自動處理的研究熱點。
近年來,隨著計算機技術與信號處理算法的不斷發展,基于數字濾波、差分運算、閾值檢測及人工智能方法的 QRS 檢測算法層出不窮。在傳統的 Pan–Tompkins 算法基礎上,學者們通過引入自適應閾值、改進的濾波器組以及多尺度分析等方法,有效提升了檢測精度。然而,在實際教學與應用中,研究人員和學生不僅需要算法本身,還需要一個直觀的可視化平臺,以便快速驗證方法、展示檢測效果并進行交互操作。
本文面向這一需求,設計并實現了一個基于 MATLAB GUI 的 ECG QRS 檢測與心率分析系統。系統融合了濾波預處理、差分運算、QRS 波群檢測、RR 間期計算及頻譜分析等功能,并通過交互式界面實現信號加載、參數設置與檢測結果展示。與單純的算法實現相比,該系統具有可操作性強、可視化效果直觀的特點,適用于教學演示、實驗驗證以及科研輔助分析。
系統架構
1.系統概述
本系統基于MATLAB平臺,面向心電信號QRS波群檢測與心率分析實驗設計,主要實現對ECG信號的預處理、Q/R/S波檢測、RR間期與心率計算,并通過GUI界面實現信號可視化與結果導出。系統由 參數設置模塊、數據讀入模塊、信號預處理模塊、QRS檢測模塊、心率分析模塊、結果可視化模塊與結果導出模塊 構成。
參數設置模塊:初始化系統關鍵參數,包括采樣頻率 (Fs)、高通與低通截止頻率、是否啟用陷波濾波、平滑窗口大小及檢測閾值規則,為后續處理提供統一配置。
數據讀入模塊:支持加載實驗數據文件(如 Time.mat 與 V1.mat),自動校驗時間序列與電壓信號長度一致性,并在 GUI 中展示原始 ECG 波形。
信號預處理模塊:采用帶通濾波(0.5–40 Hz)、可選工頻陷波及輕量平滑,抑制基線漂移與高頻噪聲,確保后續 QRS 檢測的穩定性與準確性。
QRS檢測模塊:利用差分濾波與自適應閾值方法,首先檢測 R 峰位置,再在限定時間窗內定位 Q 波和 S 波,實現完整 QRS 波群識別。
心率分析模塊:基于檢測到的 R 波序列計算 RR 間期,得到平均心率與逐拍心率序列,并估計 QRS 寬度等關鍵參數。
結果可視化模塊:在 GUI 界面直觀展示原始與預處理信號、Q/R/S 標記位置及心率趨勢曲線,并支持功率譜繪制以輔助頻域分析。
結果導出模塊:支持一鍵生成檢測結果圖與心率曲線圖,同時繪制 ECG 信號功率譜,方便結果保存與后續報告撰寫。
系統設計目標是實現一個 完整、可復現、可擴展的 ECG QRS 檢測與心率分析實驗平臺,既能用于 心電信號處理與檢測方法的研究,也可作為 醫學信號處理課程教學與工程應用的參考工具。
2.系統流程圖
研究方法
研究方法概括為:本系統依次經過數據加載、信號預處理、差分增強、QRS 波群檢測、心率與 QRS 寬度計算,并通過 GUI 界面實現可視化與結果導出。
實驗結果
實驗結果表明:本系統能夠在預處理后準確完成 QRS 波群檢測與心率分析,所提取的心率、RR 間期和 QRS 寬度均符合正常生理范圍,驗證了系統的有效性與可靠性。
運行ProjectGui.m
圖 1 原始心電信號顯示界面
分析:系統加載 Time.mat 與 V1.mat 后,在 GUI 界面顯示原始 ECG 波形。從圖中可以看出,信號存在明顯的基線漂移與高頻噪聲,這會干擾 QRS 波群的識別。因此必須經過預處理環節,以保證后續檢測的準確性。檢測結果區(下方編輯框)顯示當前采樣率為 250 Hz,而心率、RR 間期和 QRS 寬度尚未計算。
圖 2 預處理后心電信號顯示界面
分析:系統對原始信號進行帶通濾波(0.5–40 Hz)、可選陷波與輕度平滑后,基線漂移得到明顯抑制,高頻噪聲也大幅減少,波形更加清晰。雖然整體振幅有所降低,但 QRS 波群的形態更加突出,為檢測算法提供了更穩定的輸入。此時檢測結果區仍未顯示心率與 QRS 寬度,說明僅完成信號預處理。
圖 3 QRS 檢測與心率分析界面
分析:在預處理信號基礎上,系統調用 QRS 檢測模塊完成 Q、R、S 波的定位:紅圈標記 Q 波,綠色星標記 R 波,黃色加號標記 S 波。下方曲線展示了基于 RR 間期計算得到的逐拍心率變化趨勢。檢測結果區顯示平均心率約為 75.7 次/分,RR 間期為 793 ms,平均 QRS 寬度為 85.4 ms,均處于正常生理范圍。由此表明系統能夠準確提取 QRS 波群并進行心率計算與可視化。
系統實現
本系統完全基于MATLAB平臺開發,主要集成以下腳本與模塊:
研究結論
本研究基于 MATLAB 平臺實現了軟閾值、硬閾值及軟硬折衷閾值三種小波語音降噪方法,并通過 GUI 界面對處理過程與結果進行了可視化展示。實驗結果表明,軟閾值方法能夠有效平滑語音波形但存在幅值偏差,硬閾值方法在去噪同時更好地保留了語音細節且取得最高的信噪比與最低的均方根誤差,而折衷閾值方法則兼顧了平滑性與保真度,在多方面表現出較好的綜合性能。總體來看,小波閾值方法能夠顯著改善語音信號質量,其中不同閾值策略各有優劣,適合在不同應用場景中選擇使用,本系統為語音降噪算法的研究、教學與工程應用提供了有益的實驗平臺。
實驗環境
硬件配置如表:實驗所用硬件平臺為惠普(HP)暗影精靈10臺式機整機,運行 Windows 11 64 位操作系統,作為模型訓練與測試的主要計算平臺,能夠良好支持Matlab的開發需求。
官方聲明
實驗環境真實性與合規性聲明:
本研究所使用的硬件與軟件環境均為真實可復現的配置,未采用虛構實驗平臺或虛擬模擬環境。實驗平臺為作者自主購買的惠普(HP)暗影精靈 10 臺式整機,具體硬件參數詳見表。軟件環境涵蓋操作系統、開發工具、深度學習框架、MATLAB工具等,具體配置詳見表,所有軟件組件均來源于官方渠道或開源社區,并按照其許可協議合法安裝與使用。
研究過程中嚴格遵循學術誠信和實驗可復現性要求,確保所有實驗數據、訓練過程與結果均可在相同環境下被重復驗證,符合科研規范與工程實踐標準。
版權聲明:
本算法改進中涉及的文字、圖片、表格、程序代碼及實驗數據,除特別注明外,均由7zcode.張家梁獨立完成。未經7zcode官方書面許可,任何單位或個人不得擅自復制、傳播、修改、轉發或用于商業用途。如需引用本研究內容,請遵循學術規范,注明出處,并不得歪曲或誤用相關結論。
本研究所使用的第三方開源工具、框架及數據資源均已在文中明確標注,并嚴格遵守其相應的開源許可協議。使用過程中無違反知識產權相關法規,且全部用于非商業性學術研究用途。