一种基于压电薄膜传感器的生命体征提取算法及系统的制作方法

文档序号:25602906发布日期:2021-06-25 12:34阅读:177来源:国知局
一种基于压电薄膜传感器的生命体征提取算法及系统的制作方法

1.本发明涉及智能传感领域,具体涉及一种实时且准确的测量心率及呼吸率的算法及系统。


背景技术:

2.随着物联网技术在国内的蓬勃发展,与物联网相关的产品逐渐进入人们的视线。伴随着柔性电子材料、智能传感器元件、低功耗处理器、通信技术和信号处理方法等的发展进步,医学检测仪器向更准确化、小型化、网络化、低成本化的方向发展。压电薄膜就是一种广泛应用于医疗仪器的传感器。基于压电薄膜的睡眠监测系统可以监测躺在铺有传感器的床上的测试者夜间睡眠状态下的心率、呼吸率和体动等生理特征。该技术具有许多重要应用,可以帮助用户改善睡眠质量,可以做好留守老人以及儿童的夜间监测,以及其他场景中(例如养老院、儿童福利院)的应用等等。本次发明的目标是设计一款高精度生命体征识别算法,能够应用于睡眠监测带项目中,具有一定的稳定性,并且能够不断的优化升级。
3.中国专利号(cn 106236041 a)名为“一种实时且准确的测量心率及呼吸率的算法及系统”,该技术包括在数据处理单元中,通过数字滤波器对包含心率的原始信号进行预处理,得到预处理的信号采用极大概率估算法以及拓展平滑算法得到合理的心率以及呼吸率周期。该发明不能检测体动信号,并且不能排除体动信号带来的心率以及呼吸率计算结果的影响。


技术实现要素:

4.本发明要解决的问题是提供一种高精度生命体征识别算法,能够应用于睡眠监测带中,能将其中的心跳信号与呼吸信号、体动信号分离开,使mcu能够方便的得出用户睡眠期间的生命体征参数。
5.为解决上述技术问题,本发明基于压电薄膜传感器技术基础的生命体征提取算法,其特征在于:包括下列步骤,
6.(1)将测得的原始混有体动信号的心跳和呼吸信号放大、滤波;
7.(2)将步骤(1)中得到的信号分成心跳、呼吸、体动三路信号;
8.(3)找出数据中的峰值点,求出对应的心率和呼吸率。
9.进一步的,所述步骤(3)中,通过差分寻峰算法确认峰值点,对步骤(2)得到的信号进行二阶差分,确定数据中峰值点的位置,当自变量从x变到x+1时,函数y=y(x)的二阶差分计算公式为:δ(δy(x))=δ(y(x+1)-y(x))=y(x+2)-2y(x+1)+y(x)。
10.进一步的,经步骤(2)后得到的信号具有主峰和副峰,给一个心跳设定一个时间段s,在此时间段s内,幅度最大的波峰视为主峰,其他的视为副峰。
11.进一步的,确定正常检测时的相邻两个呼吸或心跳的时间间隔h,检测步骤(2)得到的心跳和呼吸信号,如果检测到超过时间间隔h没有主峰,则补充上峰值信号。
12.进一步的,所述步骤(2)中首先将信号通过巴特沃斯带通滤波算法分成心跳、呼吸
两路,通带为0.2hz—0.8hz的信号为呼吸信号。2、通带为1hz—2.1hz的信号为心跳信号,设定一个电压阈值,电压阈值为呼吸与心跳信号可以达到的最大阈值,凡是电压在这个电压阈值之下的认定为非体动信号,超过改电压阈值的认定为体动信号,记录下体动信号。
13.本发明还涉及一种基于压电薄膜的睡眠监测系统,包括
[0014]-压电薄膜传感器,采集人体信号;
[0015]-信号处理电路,将传感器采集的信号进行放大;
[0016]-算法单元,运用权利要求1-5的算法分析各种人体信号并进行统计。
[0017]
本发明的基于压电薄膜的睡眠监测系统还包括智能设备端,将处理后的数据发送至智能设备端供用户查看。
[0018]
采用这样的结构后,用户睡眠期间睡在压电薄膜睡眠带上,该算法利用压电薄膜采集的人体睡眠期间的信号,将其中的心跳信号与呼吸信号、体动信号分离开,使mcu能够方便的得出用户睡眠期间的生命体征参数。采用补偿算法能够对没有采集到的心率以及呼吸进行补偿,使得计算结果更加的精准。体动时间的心跳以及呼吸率采用补偿算法,可以排除体动效果带来的心率以及呼吸数据测量不准的现象。本算法的算力要求低、对控制器的性能要求低,并且能够保持较高的精确度,排除体动对心率以及呼吸率计算结果的影响,从而可以在保证精确度的情况下降低功耗,节约成本、减小体积。
附图说明
[0019]
下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0020]
图1是本发明涉及的睡眠监测系统的系统流程图。
[0021]
图2是本发明的算法的流程图。
[0022]
图3是经过第一步处理过后的生命体征波形图
[0023]
图4是第2步得到的信号分为心跳信号、呼吸信号、体动信号三路利用labview转换成的波形图。
[0024]
图5是捕捉到的心跳波形。
[0025]
图6是主峰与副峰关系的示意图。
[0026]
图7是捕捉到的呼吸波形。
具体实施方式
[0027]
本发明设计中采用“压电薄膜”作为传感器,在睡眠期间放置在人体胸部下方,或者植入于智能服饰上。传感器搭配后端处理电路、本发明设计的生命体征识别算法、以及智能设备端,可以检测出用户的生命体征信号,图1是本发明涉及的睡眠监测系统的整个系统的流程图。
[0028]
在上述睡眠监测系统中,本发明主要针对于运用算法分析各种人体信号并进行统计层面,对传感器采集层面、硬件处理电路层面以及智能设备端不做解释,下面对算法实现过程进行详述。
[0029]
在硬件电路处理中,已经对传感器的信号进行了一定程度的放大与初步的过滤,将放大以及过滤后的信号发送至微处理器。在微处理器中要执行的操作即为算法实现。主要分为以下步骤:
[0030]
第(1)步:对图1中硬件处理过后的信号进行ad采集,人的心跳频率在1hz—2.1hz,呼吸频率在0.2hz—0.8hz(体动信号的频率随机性过大,此处暂不予考虑),因此选取采样频率为100hz,可以确保采集到的信号不失真。
[0031]
采用巴特沃斯高通滤波将信号中的0hz的直流信号过滤掉,以排除由于温度变化或者人体动作的缓慢变化给传感器带来的干扰。然后采用巴特沃斯低通滤波算法滤除10hz以上的信号,排除交流噪声带来的干扰。将处理过后的数据通过单片机串口发送到上位机,利用labview工具转换成波形图的方式显示出来,得到图3的波形图。
[0032]
图中可以看到起伏较大的是呼吸波形,承载在呼吸波形上的脉动波形是心跳波形(由于测试人员基本静止不动,所以看不出来体动信号)。在第(2)步中将这两种信号分开。
[0033]
第(2)步:这一步的目的是将第(1)步中的信号分成心跳、呼吸、体动三路信号,然后分开进行处理。具体做法如下:
[0034]
首先将信号通过巴特沃斯带通滤波算法分成心跳、呼吸两路。这两路信号分别是:1、通带为0.2hz—0.8hz的信号为呼吸信号。2、通带为1hz—2.1hz的信号为心跳信号,经过这样的处理,心跳信号(1hz—1.2hz)中滤除掉了呼吸信号(0.2hz—0.8hz),呼吸信号中滤除掉了心跳信号。
[0035]
由于体动信号的电压变化要比心跳信号与呼吸信号的电压变化大5—6倍,电压峰峰值的变化经过ad采样之后反映为数值的大小。所以又可以根据电压变化幅度的大小分辨体动信号与其他两种(心跳和呼吸)信号的区别,因此可以设定一个电压阈值,这个电压阈值等于呼吸与心跳信号可以达到的最大阈值,凡是电压在这个阈值之下的认定为非体动信号,超过此电压阈值的认定为体动信号。
[0036]
至此,算法第二步得到的信号可以分为心跳信号、呼吸信号、体动信号三路。经过处理之后的信号利用labview转换成波形,如图4所示。
[0037]
图4中,第一行显示的是第二步处理过后得到的信号,可以看到较大起伏的呼吸信号以及上面承载的心跳信号。
[0038]
第二行是提取出来的心跳信号,信号中已经将呼吸信号过滤掉,没有起伏较大的呼吸波形干扰,心跳信号变得十分清晰。
[0039]
第三行是提取出来的呼吸信号,在呼吸信号中,过滤掉的是心跳信号。信号中可以看到明显有规律的呼吸起伏。
[0040]
第四行是体动信号,由于心跳、呼吸信号相对于体动的变化幅度过小,在体动信号界面,可以利用增加纵轴数值显示范围的方法,直接将心跳、呼吸信号忽略掉,看到平稳的体动信号的波形。
[0041]
第(3)步:特征识别算法计算心率以及呼吸率。经过这一步,要实现的目标是在第(2)步的基础上得到心率、呼吸率以及体动时长。
[0042]
首先阐述心跳信号的识别以及心率的计算(呼吸信号同理)。
[0043]
差分寻峰算法:在数字信号处理中,对一段离散数列进行二阶差分能够确定这段数据中峰值点的位置,当自变量从x变到x+1时,函数y=y(x)的二阶差分计算公式为:
[0044]
δ(δy(x))=δ(y(x+1)-y(x))=y(x+2)-2y(x+1)+y(x)
[0045]
运用差分寻峰算法,可以找出一列离散数据中的峰值点。
[0046]
从图5中可以看到,经过差分寻峰算法处理,第三行是得到的一个计数的波形,可
以捕捉到每一次心跳的波峰。
[0047]
从图5中可以观察到心跳信号具有明显的波峰与波谷,一个心跳信号有一个明显的主峰与数个不太明显的副峰,如图6。
[0048]
主峰与副峰存在幅度上的明显差别,给一个心跳设定一个时间段s,在此时间段s内,幅度最大的波峰视为主峰,其他的视为副峰。
[0049]
然后统计这一列心跳信号中主峰的个数,记为n
心跳
,然后,把记录这n
心跳
个主峰的时间记为t
心跳
。可以运用如下公式得出心率heart:
[0050][0051]
呼吸率的计算同理,图7则是捕捉到的呼吸波形,可以看到每一次的呼吸都能被差分寻峰算法捕捉到。
[0052]
同理,可以得出呼吸率breath:
[0053][0054]
体动信号由于电压变化值较大,因此可以设定一个阈值,这个电压阈值等于呼吸与心跳信号可以达到的最大阈值,凡是电压在这个阈值之下的认定为非体动信号,超过此阈值的认定为此刻正在体动。然后利用定时器记录下体动的时长,即体动时长。
[0055]
第(4)步:在实际采集过程中,有可能因为测试人员的身体原因或者动作原因出现某一个心跳信号或者呼吸信号的主峰采集不到的现象,但此时测试人员的心跳以及呼吸确实存在。这种现象会对心率以及呼吸率计算结果的精度造成一定影响,因此采用补偿算法来最大限度的抵消这种影响。
[0056]
补偿算法:当算法正在连续识别测试人员的心跳或者呼吸信号时,由于体动原因,算法突然“采集不到主峰”,如果不进行补偿,算法会认为此时此刻没有心跳或者呼吸信号,但是在补偿算法中沿用最后检测到的两个心跳的时间间隔h,在没有检测到主峰的地方“补上”一个心跳信号,这样可以减小由于算法突然采集不到主峰而对精度造成的干扰。
[0057]
在算法计算心率以及呼吸率时,往往会受到体动的干扰,所以,在算法中计算心率以及呼吸率时,有意排除体动带来的干扰。在体动时,采集到的主峰有可能不是心跳造成的,而是体动造成的,因此,体动期间的心率以及呼吸率将采用以上所述的补偿算法进行补偿。
[0058]
为了验证算法的准确度,我们设计了实验,测量实验者心率(使用秒表、智能手环等工具),同时读出算法的测量结果,经过多次算法测量结果与实际测量结果相比较,我们得出以下表格。
[0059]
[0060][0061]
表:算法准确度测试表格可以看到算法测量的值与实际值高度拟合,达到了预先要求的精度。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1