本发明涉及信号处理和压缩领域,尤其涉及一种心电脉搏信号在线压缩方法、系统及存储介质。
背景技术:
1、心电脉搏信号中含有人体丰富的生理和病理信息,用于监测血氧饱和度、心率、心率变异性、血压等临床生理参数。目前,一些可穿戴设备,如智能手表,手环,从脉搏信号中提取脉律,用于日常生活状态下人体健康状况的评估。长时间的数据采集会产生海量的数据,对存储容量和处理速度有限的可穿戴设备来说,大量的数据给系统的传输、储存和处理等问题带来了沉重的负担。因此,目前,考虑到可穿戴设备存储空间有限、cpu处理速度及数据传输量、电池容量等因素,可穿戴设备只能进行脉率或血氧饱和度的计算及远传,而不长时间存储原始心电脉搏信号。然而,原始心电脉搏信号中还有大量有关人体健康的信息。因此,缓存并远传原始心电脉搏信号十分重要。
2、目前生物医学数据压缩技术分为三种:直接压缩法、基于变换的压缩技术、基于参数提取的压缩技术。直接压缩法压缩数据耗费的时间较长且压缩比较低;基于变换的压缩技术往往需要复杂的计算,且直接压缩技术和基于变换的压缩技术两种方法压缩后的数据不能直接处理,需要在解压恢复后才能处理;基于参数提取的压缩技术易受噪声的影响,同时,参数的选择对压缩结果影响很大。
技术实现思路
1、本技术实施例通过提供一种心电脉搏信号在线压缩方法、系统及存储介质,解决了现有技术中可穿戴设备的心电脉搏信号数据其高压缩比和压缩结果准确难以兼具的技术问题,实现了心电脉搏信号在经过高压缩比处理后,其压缩结果受压缩影响程度小,仍可准确使用。
2、一种心电脉搏信号在线压缩方法,包括以下步骤:
3、s01:采集心电信号和脉搏信号,对信号进行模数转换,获取人体体表处的心电脉搏信号;
4、s02:设计自适应滤波器,改进现有的自适应滤波器,增加高频噪声估计部分;
5、s03:在线自适应滤波,将微处理器系统缓存区内的数据更新过程与自适应滤波原理相结合,采用滑窗迭代的方式进行计算,实现对心电脉搏信号的实时滤波;
6、s04:对心电脉搏信号的压缩及编码,将心电脉搏信号中的极值点和拐点统称为关键点,对心电脉搏信号的关键点在线提取,实现对心电脉搏信号的压缩;心电脉搏信号的压缩过程如下:根据极值点的定义确定极值,通过拉格朗日中值定理对相邻两个极值点间的直线进行计算,将心电脉搏信号与直线作差,得到差值曲线,提取差值曲线的极值点,实现对心电脉搏信号的压缩;对压缩后的心电脉搏信号编码,心电脉搏信号编码过程如下:将心电脉搏信号关键参数对应的位置和幅值根据微处理器的传输规则进行编码,保证编码后的数据长度是1个字节的整数倍,如果一个数据点的长度不是1个字节的整数倍,则给数据高位补0,直至满足条件。对于电压分辨率是10位的微处理器,编码后的每一个关键参数对应的位置和幅值占用3个字节,按照先位置后幅值的顺序对编码后的数据进行发送;
7、s05:解码与恢复,对压缩后的心电脉搏信号解码,心电脉搏信号解码过程如下:根据包头包尾的位置对接收到的数据进行提取划分,每3个字节的数据对应一个关键参数,其中,第1个字节对应的是关键参数的位置,第2个字节对应的是关键参数幅值的高8位,第3个字节对应的是关键参数幅值的低8位;根据高8位和低8位的信息对关键参数的幅值进行恢复,实现对心电脉搏信号的解码;所述的对心电脉搏信号恢复:采用三次样条插值的方法,对解码后的心电脉搏信号关键参数进行插值,实现对心电脉搏信号的恢复;
8、s06:对算法性能进行评估并对算法进行应用,采用均方根误差和压缩比对算法的性能进行评估,同时基于提取到的关键点,计算出脉搏主波波峰和脉搏波的主波间期,对心率进行计算。
9、优选的,步骤s02中对信号进行高频噪声估计,包括:根据均值滤波可以有效滤除信号中高频噪声的特点,将均值滤波和微处理器数据更新过程相结合,当缓存区长度为m时,去除当前缓存区的最大值和最小值,对剩余的m-2个数据计算均值完成对信号中的高频噪声估计。
10、优选的,步骤s03在线自适应滤波,将微处理器系统缓存区的数据更新过程与自适应滤波原理相结合,采用滑窗迭代的方式进行计算,实现对心电脉搏信号的实时滤波,具体为:
11、基于滑窗迭代,将对数据的实时滤波转化为对当前整个缓存区的滤波;当新的采样点滑入数据缓存区时,缓存区内的数据完成更新,在原有的m-1个采样点的基础上完成对新采样点的数据处理。
12、优选的,在线自适应滤波,具体包括,初始化过程和迭代过程:
13、初始化过程:当前数据采样点小于等于数据缓存区的长度时(0≤n≤m-1),每个最新的采样点放在缓存区的第n个字节;然后,将数据缓存区内的采样值按升序的方式排列,计算均值对数据进行高频噪声估计;高频噪声估计结果记为[0,…,x0,…,xn];将滤除高频噪声后的输出作为自适应滤波器的参考输入端xn,进一步对数据进行在线自适应滤波运算,结果记为[0,…,y0,…,yn];然后,对滤波器的系数进行更新,直至采样点n=m-1时,完成初始化过程;
14、迭代过程:当前数据采样点大于数据缓存区的长度时(n>m),缓存区内的数据均左移一位,每个最新的采样点放在缓存区的第m个字节;然后,将数据缓存区内的采样值按升序的方式排列,计算均值对数据进行高频噪声估计;高频噪声估计结果记为[xn(n-m+1),…,xn(m),…,xn(n)];将滤除高频噪声后的输出作为自适应滤波器的参考输入端xn,进一步对数据进行在线自适应滤波运算,结果记为[yn(n-m+1),…,yn(m),…,yn(n)];然后,对滤波器的系数进行更新,直至采样结束,完成迭代过程。
15、优选的步骤s04中对心电脉搏信号的压缩是通过提取信号中的关键点来实现的:
16、信号中的关键点由极值点和拐点组成;根据极值点的定义,至少通过三个点来判断极值;将当前数据缓存区记为buffer,如果buffer(m-2)均大于buffer(m-1)和buffer(m-3),则buffer(m-2)为极大值;如果buffer(m-2)均小于buffer(m-1)和buffer(m-3),则buffer(m-2)为极小值;设置两个数组e和l分别来存储极值点对应的幅值和位置;buffer(j)是已知的极值点,其中,buffer(j)的幅值和位置分别被存储在e(3)和l(3)中;在数据不断采集处理的过程中,如果buffer(m-2)不是极值点,则上一个极值点buffer(j)的幅值e(3)保持不变,位置l(3)减1;如果buffer(m-2)是极值点,则上一个极值点buffer(j)的幅值e(3)左移三位被存储在e(0),位置l(3)左移三位被存储在l(0),当前极值点buffer(m-2)的幅值和位置被存储在e(3)和l(3)中;
17、拐点的提取过程如下,极值点确定后,通过拉格朗日中值定理对相邻两个极值点间的直线进行计算,将心电脉搏信号与直线作差,得到差值曲线,对插值曲线的极值点进行计算,即为心电脉搏信号的拐点,其对应的参数存储在e(1)、e(2)以及l(1)、l(2)中。
18、优选的,微处理器是按照1个字节的整数倍对数据进行传输发送的,在编码过程中,要保证编码后的数据是1个字节的整数倍,如果一个数据的长度不是1个字节的整数倍,则给高位补零,直至满足条件;心电脉搏信号在微处理器中经过滤波处理后,数据类型变成了浮点型,强制将数据类型转为整型,进一步对数据进行关键参数提取;对于输入电压分辨率是10位的微处理器来说,编码后的每一个关键参数的位置和幅值占用3个字节,其中,第1个字节对应的是关键参数的位置,后两个字节对应的是关键参数的幅值。
19、优选的,微处理器将编码后的关键参数按照先位置后幅值的顺序进行发送与接收,根据包头包尾的位置对接收到的数据进行划分,每3个字节对应一个关键点的特征参数;设置数组d和数组p来存储解码后关键点的位置和幅值,其中,第1个字节对应的关键参数的位置被存储在d(m-1),第2个字节对应的是关键参数幅值的高8位,第3个字节对应的是关键参数幅值的低8位,根据高8位和低8位的信息对关键参数的幅值进行恢复,恢复后的关键参数的幅值被存储在p(m-1)。
20、一种心电脉搏信号在线压缩系统,包括:数据采集模块,可完成心电信号和脉搏信号的采集;滤波处理模块,对信号进行自适应滤波;压缩模块,进行信号压缩、编码并发送;解压缩模块,对信号进行接收、储存、解码。
21、优选的,滤波处理模块包括:高频噪声估计模块、自适应滤波算法模块、滤波器模块。
22、一种计算机存储介质,其上存储有计算机程序,计算机程序被执行时实现上述的心电脉搏信号在线压缩方法。
23、本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
24、1、不依赖于任何复杂的数学变换,算法速度快;采用心电脉搏信号对所提出的算法进行验证,用时间作为衡量速度的标准,所提出的方法有望用于手环、手表等实时性要求较高的只能可穿戴设备。
25、2、根据心电脉搏信号的波形特征,提出一种基于时域特征的压缩方法;压缩后的信号保持原始信号中的关键特征(极值和拐点),通过这些特征可以衍生出更多的特征信息,如脉搏波传播时间、脉搏波传播速度等。这些特征信息包含了心率、脉率、波高、面积等关键信号参数。
26、3、将微处理器系统缓存区的数据更新过程与自适应滤波原理相结合,采用滑窗迭代的方式进行计算,实现对心电脉搏信号的实时滤波。对心电脉搏信号的特征参数在线提取,提高了压缩比,且压缩后的数据影响较小,在恢复数据与原始数据可接受的误差范围内。