「ECG信號處理——(22)Pan-Tompkins Findpeak 閾值檢測 差分閾值算法——三種R波檢測算法對比分析」2025年8月8日

目錄

1、引言

2、算法原理

(1)Pan-Tompkins 算法(方法1)

(2)Findpeak 閾值檢測算法(方法2)

(3)差分閾值算法(方法3)

3、算法性能評估

(1)評估指標

(2)實驗結果對比

(3)綜合分析與結論

1、引言

????????心電圖(ECG)是臨床診斷心臟疾病的重要工具,R波檢測作為其中的關鍵步驟,其準確性直接影響后續的心律失常分析等診斷過程。本文檔介紹三種 R 波檢測算法及其性能評估。

2、算法原理

(1)Pan-Tompkins 算法(方法1)

相關內容詳情見我博客👇

「ECG信號處理——(10)Pan-Tompkins算法(R峰檢測)」2025年3月17日-CSDN博客

(2)Findpeak 閾值檢測算法(方法2)

??基于信號局部極大值特性,通過雙閾值約束實現R波定位。其核心思想是找到信號中滿足特定條件的局部極大值點。通過設置最小峰間距(MinPeakDistance)和最小峰高(MinPeakHeight)兩個關鍵參數來篩選潛在的 R 波位置。

  • 幅值閾值:設置最小峰值高度MinPeakDistance=round(0.2×fs),過濾低幅噪聲。

  • 位置閾值:設置最小峰間距MinPeakHeight=0.5(對應最大心率300bpm)。

????????其中,fs 表示采樣頻率,MinPeakDistance是為了確保 R-R 間隔至少為 0.2 秒,MinPeakHeight是根據信號幅度設定的最小閾值。

(3)差分閾值算法(方法3)

????????該方法通過信號微分和動態閾值調整來檢測 R 波。基本流程如下:

  • 信號微分處理:對原始 ECG 信號進行微分操作,突出信號的突變部分,公式為:

diff_ecg=diff(ecg)

  • 移動平均濾波:對微分后的信號取絕對值并進行移動平均平滑處理,窗口長度設為 0.12 秒對應的采樣點數,公式為:

smoothed=movmean(∣diff_ecg∣,window_length)

  • 動態閾值調整:在信號的前 10 秒學習階段內,計算平滑信號的最大值并乘以 0.6 作為初始閾值,公式為:

threshold=0.6×max(smoothed(1:learning_phase))

  • 閾值檢測與峰值確認:通過比較平滑信號與閾值確定潛在 R 波區間,并在每個區間內找到原始信號的最大值點作為 R 波位置。

3、算法性能評估

(1)評估指標

  • 靈敏度(Sen):衡量實際 R 波被正確檢測的比例,公式為:

Sen=TP?/(TP+FN)×100%

  • 陽性預測值(PPV):衡量檢測到的 R 波中實際正確的比例,公式為:

PPV=TP?/(TP+FP)×100%

  • 準確率(Acc):衡量整體檢測的準確程度,公式為:

Acc=TP?/(TP+FP+FN)×100%

????????其中,TP 表示真陽性數量,FN 表示假陰性數量,FP 表示假陽性數量。

(2)實驗結果對比

????????以下是上述三種R波檢測算法在MIT-BIH心律失常數據庫\mit-bih-arrhythmia-database-1.0.0上的性能評估結果。

圖1:波檢測示例1

圖2:R波檢測示例2

表1:MIT-BIH心律失常數據庫部分數據結果對比

整體性能對比:

評價指標1、Pan-Tompkins法2、Findpeaks法3、差分閾值法
平均靈敏度(Se)94.94%99.94%99.91%
平均PPV95.32%94.21%84.97%
平均準確率(Acc)91.66%94.00%84.89%
平均位置偏差0.45±1.382.12±1.400.45±1.33
平均幅值偏差0.07±0.08-0.99±0.170.06±0.07

靈敏度對比:

  • Findpeaks與差分閾值法表現相當(99.94% vs 99.91%)

  • Pan-Tompkins法在記錄106出現嚴重漏檢(Sen=65.56%)

  • 極端案例:記錄106中差分閾值法保持100%靈敏度,而Pan-Tompkins降至65.56%

定位精度
  • 差分閾值法定位最精準(平均偏差0.45樣本點)

  • Findpeaks法存在系統定位延遲(平均+2.12樣本點)

  • 記錄102中Findpeaks定位偏差最大(5.44±5.42樣本點)

幅值估計
  • Findpeaks法存在顯著幅值低估(平均-0.99mV)

  • 差分閾值法幅值偏差最小(0.06±0.07mV)

  • 記錄107中Findpeaks幅值偏差達-1.51±0.25mV

(3)綜合分析與結論

????????方法3(差分閾值法)在多數數據集上表現最佳,具有較高的靈敏度和最佳的檢測精度;方法1在時間準確性上表現較好,但在幅值準確性上稍差;方法2在某些數據集上表現優異,但在其他數據集上存在不穩定性。

????????根據具體應用場景的需求:

  • 對靈敏度和檢測精度要求極高時,選擇方法3(差分閾值法);

  • 更注重時間準確性時,選擇方法1(Pan-Tompkins法);

  • 需要在不同數據集上保持較好的穩定性時,選擇方法3(差分閾值法)。

Tips:下一講,我們將進一步探討,心電信號處理與應用的其他部分。

以上就是Pan-Tompkins & Findpeak 閾值檢測 & 差分閾值算法——三種R波檢測算法對比分析的全部內容啦~

我們下期再見,拜拜(?v?) ~

(Ps:有代碼實現需求,請見主頁信息,謝謝支持!~)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918204.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918204.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918204.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qdrant Filtering:must / should / must_not 全解析(含 Python 實操)

在向量搜索中,過濾(Filtering) 是保證結果精準性和業務契合度的關鍵手段。Qdrant 的過濾機制不僅能在向量相似度檢索的基礎上疊加結構化條件,還提供了靈活的布爾邏輯組合,讓我們可以像寫數據庫查詢一樣,精準…

五、RuoYi-Cloud-Plus 前端項目部署以及如何改后端請求地址。

1.前情描述 前面的文章我們介紹了RuoYi-Cloud-Plus的nocos的配置內容,已經啟動其他服務要注意什么東西。 專欄內容在這,感興趣可以看看。 https://blog.csdn.net/weixin_42868605/category_13023920.html 2.前端項目部署。 官網地址:plus…

工作量評估

工作量評估 API 工作量評估: 得分 入參個數 * 0.2 業務規則 * 0.5 改動的庫表個數 * 0.3 得分(1-2):簡單API-5人天 得分(3-8):中等API-8人天 得分(8-15):復…

籃球運動(動態規劃)

題目描述小明建造了一個籃球場,他請來了2行n列的人,想讓他們進行比賽。每一個人都有一個能力值,第一行分別為h11,h12,…,h1n,第二行為h21,h22,…,h2n。現在小…

區塊鏈與大數據分析技術深度解析

目錄 區塊鏈與大數據分析技術深度解析 1. 引言:當區塊鏈遇見大數據 2. 區塊鏈數據特性 2.1 數據結構差異 2.2 區塊鏈數據層級 3. 數據獲取技術 3.1 節點直連方案 3.2 鏈上數據湖架構 4. 數據分析關鍵技術 4.1 交易圖譜分析 4.2 地址聚類算法 5. 鏈上分析應用場景 5.1 反洗錢(A…

網絡基礎——網絡層級

OSI七層模型OSI七層模型名稱功能協議應用層直接為用戶應用程序(如瀏覽器、郵件客戶端)提供網絡服務接口。HTTP/HTTPS(網頁瀏覽)FTP(文件傳輸)SMTP/POP3(郵件)DNS(域名解析…

【Redis】hash哈希,List列表

目錄 一. hash哈希 1.1.常用命令 1.1.1.HSET 1.1.2.HGET 1.1.3.HEXISTS 1.1.4.HDEL 1.1.5.HKEYS 1.1.6.HVALS 1.1.7.HGETALL 1.1.8.HMGET 1.1.9.HLEN 1.1.10.HSETNX 1.1.11.HINCRBY 1.1.12.HINCRBYFLOAT 1.2. 內部編碼 1.3. 使用場景 1.4…

MySQL相關概念和易錯知識點(4)(分組查詢、連接查詢、合并查詢、子查詢)

目錄1.分組查詢(1)聚合函數(2)group by子句(3)having2.連接查詢(1)內連接(笛卡爾積)(2)外連接(3)內外連接的區…

【Python 高頻 API 速學 ①】

一、為什么先學它們? 在真實代碼里,90 % 的 bug 都源于「拿到的是 A 類型,卻當成 B 類型用」。 把「不確定」變成「確定」——這就是類型轉換三兄弟的核心價值。二、三兄弟速覽函數一句話定位常見輸入失敗會怎樣int(x)把 x 變成整數‘42’, 3…

FFmpeg 視頻旋轉信息處理:3.4 vs 7.0.2

1. 概述 FFmpeg 在處理視頻旋轉信息方面經歷了重要的架構變化。本文檔詳細對比了 FFmpeg 3.4 和 7.0.2 在封裝(muxing)和解封裝(demuxing)視頻旋轉信息時的差異,并提供兼容性解決方案。文檔內容由Claude Sonnet 4輔助撰…

《Resolving tissue complexity by multimodal spatial omics modeling with MISO》

概念多模態空間組學:簡單來說,就是同時研究生物組織里的多種分子信息(比如基因表達、蛋白質、代謝物、表觀遺傳標記等),而且這些信息還帶有空間位置。MISO(MultI-modal Spatial Omics)是這篇論文…

三階段提交(3PC)協議的全面解析:理論、機制與實踐局限性

第一部分:非阻塞提交的起源:從兩階段提交(2PC)的缺陷到三階段提交(3PC)的構想在分布式計算領域,確保跨多個獨立節點執行的事務的完整性是一項至關重要的挑戰。這些節點或站點可能在地理上分散&a…

衰減器的計算

pi型衰減器,如下圖所示。 它適用于輸入輸出阻抗匹配的情況下,還能進行衰減。 不過當輸入輸出阻抗不匹配時,2個R1也會不相等。 已知特性阻抗Z0,衰減比AVin/Vout,怎么計算R1、R2? 1、電阻分壓。 Vout Vi…

Day02 員工管理,分類管理

新增員工需求分析和設計產品原型:接口設計:本項目約定:管理端發出的請求,統一使用 /admin 作為前綴用戶端發出的請求,統一使用 /user 作為前綴數據庫表設計:代碼開發根據新增員工接口設計對應的 DTO&#x…

[SC]SystemC 常見的編譯/語法錯誤與解法(三)

SystemC 常見的編譯/語法錯誤與解法(三) 摘要:下面按“現象/編譯信息 → 成因 → 解決方案”的結構,歸納 SystemC 建模在 SoC 驗證中常見的“編譯期/語法層面”問題,并補充如何根據編譯信息快速定位與如何在流程上避免這些問題。 一、SystemC 常見的編譯/語法錯誤與…

06-docker容器常用命令

文章目錄一.docker容器相關指令概述二.生產環境中常用的 docker容器相關指令1.創建容器(create)2.查看已創建的容器(ps,ls,list)3.運行一個已創建的容器(start)4.停止一個正在運行的容器(stop)5.重啟容器(restart)6.創建并啟動一個容器(run,等…

Xiphos Q8 攝像頭板 高性能圖像處理板

我們的高性能圖像處理板設計用于與具有兩個 Camera Link 接口(2x Base 或 1x Medium)的 Q8 混合處理器卡配合使用。接口: 2個Camera Link接口 4個SpaceWire接口 4個USB 2.0主端口 串行接口和 GPIO 多個 Vcc 輸出(5.0、3.3 和 1.8V…

Rocky Linux 10 搭建 NFS 服務詳細步驟

1.NFS描述 NFS,全稱為Network File System,即網絡文件系統,是一種分布式文件系統協議,允許一個系統在網絡上與他人共享目錄和文件。通過NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件。以下是NFS的一些主…

Android MediaMetadataRetriever取視頻封面,Kotlin(1)

Android MediaMetadataRetriever取視頻封面&#xff0c;Kotlin&#xff08;1&#xff09; <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE&qu…

qt的元對象系統詳解

Qt 的元對象系統&#xff08;Meta-Object System&#xff09;&#xff0c;這是 Qt 框架最核心、最強大的特性之一。 1.什么是 Qt 的元對象系統&#xff1f; Qt 的元對象系統&#xff08;Meta-Object System&#xff09;是 Qt 在標準 C 基礎上擴展的一套機制&#xff0c;它為 C …