本发明涉及心电信号处理技术领域,具体涉及一种动态心电信号的自动降噪方法。
背景技术:
随着holter等动态心电监测设备的广泛使用、尤其是近年来小型化的穿戴式、便携式心电监测终端的快速发展,具有实时预警功能的动态心电监测技术成为目前的医学领域的研究热点。由于在便携式动态心电监测环境下,外界环境的细微干扰会导致动态心电信号中含有大量较强的噪声,而且日常活动很容易导致信号的大幅改变,甚至完全不可辨认。
动态心电信号在采集过程中,用户不是静止的,不受时间、地点以及一些生理活动的限制,况且,心电信号本身就具有微弱、低频、高阻抗和随机性等特点,极易被噪声所干扰,特别是运动伪噪声。另外,医生对运动伪迹的判定是比较主观的,没有统一的准则,这是动态心电图领域运动伪噪声识别技术的一大难点,也是相关研究难以开展的主要原因。
技术实现要素:
本发明为了克服以上技术的不足,提供了一种根据生成对抗网络实现动态心电信号去噪的方法。
本发明克服其技术问题所采用的技术方案是:
一种动态心电信号的自动降噪方法,包括如下步骤:
a)将带噪声的心电信号表示为x(n)=s(n)+w(n),x(n)为带有运动伪噪声的混合心电信号,s(n)为干净的无噪声的心电信号,w(n)为运动伪噪声,式中0<n<n,n为带噪声的心电信号的长度;
b)将带有运动伪噪声的混合心电信号x(n)加上均值为0且方差为1的服从正态分布的随机高斯噪声z(n)后输入到对抗网络的生成器中生成混合信号y(n),即y(n)=x(n)+z(n),混合信号y(n)通过对抗网络的生成器生成对抗训练样本g(y(n),θg),其中θg为生成器的调整参数;
c)将从数据库得到真实无噪声的心电信号t(n)和生成器生产的g(y(n),θg)输入到对抗网络的判别器中,得到输出数据d(y(n)),d(y(n))为输入数据y(n)属于真实样本的概率;
d)当d(y(n))大于0.9则判定为已经实现了心电信号的去噪,如果d(y)小于等于0.9则判定为没有实现心电信号的去噪,并返回执行b)。
优选的,步骤b)中对抗网络的生成器中依次具有输入层、三个隐藏层和输出层,每一隐藏层的通过公式输出作为其下一层的输入,每一层通过激活函数f(a)产生新的样本数据后输入到下一隐藏层,其中f(a)=tanh(a),
优选的,步骤b)中对抗网络的生成器的损失函数为jg,其中jg=αj1+βj2+j3,其中α、β为权重系数,
j2=max(|s′1-s1|,|s'2-s2|,|s'3-s3|,.......,|s'n-sn|)
j3=log(1-d(g(x))),式中g(x)为,d(g(x))为。
优选的,步骤c)中对抗网络的判别器的损失函数为jd,jd=-[log(d(t))+log(1-d(g(y)))],式中d(t)为判别器判别信号t来自于原始干净心电信号的概率,d(g(y))为判别器判别信号y为生成期生成干净信号的概率。
本发明的有益效果是:通过生成器输入有噪声的心电信号,通过不断的训练学习后产生干净的无噪声的心电信号,并自定义了损失函数,判别器对生成最后输出的干净信号和原始干净的心电信号进行判别,如果信号一致则输出为真,否则输出假。最后通过不断的学习实现动态心电信号降噪的目的。可以从混有噪声的动态心电信号当中过滤噪声,获得干净的原始心电信号。通过建立动态心电信号噪声模型,实现了如何有效地去除动态心电数据存在的各种复杂噪声,保留信号中的有效成分,提高心电信号的质量。
附图说明
图1为本发明的流程示意图。
图2为本发明的对抗网络生成器的网络结构示意图。
具体实施方式
下面对本发明做进一步说明。
一种动态心电信号的自动降噪方法,包括如下步骤:
a)将带噪声的心电信号表示为x(n)=s(n)+w(n),x(n)为带有运动伪噪声的混合心电信号,s(n)为干净的无噪声的心电信号,w(n)为运动伪噪声,式中0<n<n,n为带噪声的心电信号的长度;
b)将带有运动伪噪声的混合心电信号x(n)加上均值为0且方差为1的服从正态分布的随机高斯噪声z(n)后输入到对抗网络的生成器中生成混合信号y(n),即y(n)=x(n)+z(n),混合信号y(n)通过对抗网络的生成器生成对抗训练样本g(y(n),θg),其中θg为生成器的调整参数;
c)将从数据库得到真实无噪声的心电信号t(n)和生成器生产的g(y(n),θg)输入到对抗网络的判别器中,得到输出数据d(y(n)),d(y(n))为输入数据y(n)属于真实样本的概率;
d)当d(y(n))大于0.9则判定为已经实现了心电信号的去噪,如果d(y)小于等于0.9则判定为没有实现心电信号的去噪,并返回执行b)。
通过生成器输入有噪声的心电信号,通过不断的训练学习后产生干净的无噪声的心电信号,并自定义了损失函数,判别器对生成最后输出的干净信号和原始干净的心电信号进行判别,如果信号一致则输出为真,否则输出假。最后通过不断的学习实现动态心电信号降噪的目的。可以从混有噪声的动态心电信号当中过滤噪声,获得干净的原始心电信号。通过建立动态心电信号噪声模型,实现了如何有效地去除动态心电数据存在的各种复杂噪声,保留信号中的有效成分,提高心电信号的质量,建立了一套适用于动态心电监护系统的实时性好、鲁棒性强、准确率高、具有自学习和自适应功能的动态心电信号分析处理算法,实现动态心电信号的智能分析。
步骤b)中对抗网络的生成器中依次具有输入层、三个隐藏层和输出层,每一隐藏层的通过公式输出作为其下一层的输入,每一层通过激活函数f(a)产生新的样本数据后输入到下一隐藏层,其中f(a)=tanh(a),
优选的,步骤c)中数据库为mit-bit数据库。
进一步的,步骤b)中对抗网络的生成器的损失函数为jg,其中jg=αj1+βj2+j3,其中α、β为权重系数,
j2=max(|s′1-s1|,|s'2-s2|,|s'3-s3|,.......,|s'n-sn|)
j3=log(1-d(g(x))),式中g(x)为,d(g(x))为。
判别器的主要功能在于与生成器形成对抗学习,不断提升自己的能力,以提高识别出真假样本的准确率。判别器有两种类型的输入,即生成器生成的心电信号以及无噪声的心电信号。
判别器主要由多层卷积层和反卷积层构成,负责特征提取,捕获心电信号内容的抽象信息,判断生成器最后输出的信号是否为真。步骤c)中对抗网络的判别器的损失函数为jd,jd=-[log(d(t))+log(1-d(g(y)))],式中d(t)为判别器判别信号t来自于原始干净心电信号的概率,d(g(y))为判别器判别信号y为生成期生成干净信号的概率。