ecgpuwave算法P波检测失败原因

	用ecgpuwave算法对CSE数据进行ecg波形测量时发现P波不能有效定位,一开始以为是ecg没有转换成uV为单位(转换成uV后确实会提检测出一部分p波),后面仔细看了p波边界计算pbound.m源码,发现源码中有bug,P波检测中首先利用算法检测出了P波未知Pp,和P波边界P1和P2,但是最后还做了噪声判定,如果P波的幅度低于噪声的1.5倍,则认为P波无效,但是算法在做噪声计算用的是滤波前的X,而计算P波幅度是用的滤波且归一化后的Xpb,所以这里是错误的,改成如下即可:
Xaux=Xpb(ibw:iew);%Xaux=X(ibw:iew);
ruido=noiselevel(Xaux);
if abs(Xpb(Pp)-Xpb(P2))<=(1.5*ruido)
   Pex=0; P1=[]; Pp=[]; P2=[]; type=2;
end

而对于fortran语言则把punts.f中改成如下即可:

call busca_soroll(ibw,iew,ecgpb,soroll)
其实这个算法大致还是成熟的,但有一些小bug
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值