快速中值滤波在心电图ECG中的应用

本文介绍了快速中值滤波算法在心电图ECG信号处理中的应用,包括滤除直流分量和基线漂移,以及算法的实现细节。虽然该算法在保留信号特征值方面表现出色,但面对较大基线漂移时效果有限。适用场景主要为提取低频干扰信号和系统漂移判断。
摘要由CSDN通过智能技术生成

1.算法介绍和实现

首先来搞明白,什么是快速中值滤波?

快速中值滤波非常简单,就是用过去连续N个数据,再对这N个数据进行排序,取排序后的中间那个数据,做为当前的输出,N即为窗口的长度。

算法实现:

1.设置一个缓存区1,用来缓存原始窗口数据,长度为N;再设置一样同样的缓存区2,用来放排序后的窗口数据

2.输入信号到缓存区1,缓存区1未满时,不断重复2过程,返回0。

3.缓存区1已满,复制全部数据到缓存区2,对缓存区2进行冒泡排序,返回中值。

4.取出最早进入缓冲区1中数据data,在缓存区2中找到这个数据,直接删除,找到新数据x合适的位置,插入新数据x,返回中值,循环4,直到全部信号已过算法。

这里实现的时候,用了一些小技巧,每次新数据来的时候,不用每次都对整个窗口去全部排序,那样计算量会非常大,而是直接删除掉一个最早的数据,直接把新数据插入到合适的位置(这里找位置要想高效也可以用二分法查找),这样一来计算量就非常小。

2.在心电图ECG上的应用

快速中值滤波第一个应用,是用来处理漂移非常小的ECG心电图信号,可以很好的保存波形的特征,基本可以做到无失真,做法是设置一个比较长的窗(一般为1~2秒采样的数据长度),将原始数据x输入到算法中,算法出来的基本是信号的直流分量或者频率超级低的基线漂移信号x1,将原始信号x减去算法得到的信号x1,即为想要的信号。

该应用的前提是ECG信号的干扰信号频率极低,但在实际应用中,心电图本身由于阻抗不稳定、肌肉紧张、呼吸等原因,都会导致心电图有较大的基线漂移,所以该应用实际用的不多。

快速中值滤波第二个应用,不是直接使用算法的输出结果,比如该算法能提取基本的基线漂移,我们可以使用这些数据来做一些判断,比如系统是不是漂移非常严重,或者配合其他算法,对结果进行二次运算,得到最终结果。

3.评价

该算法的特点是简单,运算量小,同时对于提取频率非常低的干扰信号非常有效,同时该算法最大的优势是带来的失真度极小,下图为在实际项目中使用快速中值滤波滤除基线漂移的效果:

图3 快速中值滤波滤基线漂移

可以看出,使用快速中值滤波滤基线漂移,出来的心电图ECG还是很容易漂移,但是很好的保留了信号的特征值,所以快速中值滤波适合处理提取频率非常低的干扰信号,或者对系统漂移情况进行快速判断。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值