一种实时的无束缚检测心率和心跳间隔的方法与流程

文档序号:16268105发布日期:2018-12-14 22:03阅读:416来源:国知局
一种实时的无束缚检测心率和心跳间隔的方法与流程

本发明涉及智能居家技术领域,具体涉及一种实时的无束缚检测心率和心跳间隔的方法。

背景技术

心率是重要的生理信号之一,心跳间隔往往反映人体的病态体征。实时、准确的心跳间隔是分析心率变异性的基础,也是用来检测睡眠质量的标准之一,所以对心率的日常监测有着重要的意义。日常监测可以通过心冲击测量心率,心冲击是心脏跳动以及心肌的血液排出产生的振动,振动可以通过放在与人接触的载体(床、椅子等)上的传感器中测得,从而间接得到心率。

目前基于心冲击提取心率的算法,比较准确的是模板匹配测心率[张先文,张丽岩,丁力超等.基于心冲击信号的心率检测[j].清华大学学报自然科学版,2017,57(7):736-767],或将心冲击信号看成近似周期信号,然后通过傅立叶变换转换到频域,找到频域中的最大值,最大值对应的频率近似为心率。模板匹配的方法需要准确的模板,可以通过训练学习的方法获得模板,但在无监督的情况下,呼吸、噪声、体颤可能导致模板计算错误,从而影响后续计算。而将心冲击转换到频域,只能近似估计心跳间隔,从频域中得到的结果是心跳间隔的平均值,而且在振动信号较小的情况下,谐波导致频域中最大值对应的频率比期望的频率大3-4倍。



技术实现要素:

针对现有技术的不足,本发明拟解决的技术问题是,提供一种实时的无束缚检测心率和心跳间隔的方法。该方法利用放在床侧的加速度传感器测量心跳引起的床体振动,由数据采集设备采集加速度传感器数据,送到上位机中对数据处理。该方法能自动判断人是否在床上,并且在人保持静止时,实时检测心率,且不受睡姿影响。此方法不需要训练学习,计算量较小,实时性好,而且准确度高,不仅能够得到心率,也能够得到每次心跳间隔。

本发明解决所述技术问题采用的技术方案如下:

一种实时的无束缚检测心率和心跳间隔的方法,利用安装在人体下肢范围内的床侧的加速度传感器测量心跳引起的床体振动,该方法包括以下步骤:

第一步、状态判断:

工控机通过数据采集设备实时采集加速度传感器数据,计算每一秒的实时数据的标准差,设定阈值范围为[3.5e-4,8e-4],若采集到的数据的标准差不在该阈值范围内,则不进行心率计算,此时床上可能没有人或者床上有人但人此时不处于静置状态,记为状态1;若采集到的标准差在该阈值范围内,则说明人躺在床上并处于静止状态,记为状态2;连续采集m秒数据段的数据,若m秒数据段的连续数据均处于状态2,则进入第二步,若连续采集的m秒数据段中出现状态1,则需要等到状态2出现,而且需要重新组成连续的m秒数据段;所述m=10~15;

第二步、信号预处理:

将第一步采集的处于状态2的m秒数据段进行预处理,具体预处理过程为去趋势、去噪声、去高频干扰;

第三步、波峰检测和心跳间隔估计:

经第二步预处理后的信号,使用labview中的峰值检测检测m秒数据段中所有大于零的波峰,并将所在位置假设为心跳位置;分别按照公式(1)、(2)、(3)计算位置在1.5~m-1.5秒数据段内的每个位置的短时自相关函数p1(n)、短时平均幅度差函数p2(n)和最大峰值对函数p3(n),将以上三函数结果分别归一化后相乘,相乘结果的最大值所对应的n,即该波峰位置估计的心跳间隔,这样得到1.5~m-1.5秒数据段内所有大于零的波峰所估计的心跳间隔,将间隔中值滤波后取中值作为m秒数据段的心跳间隔估计t0,用60f除以t0得到心率,f是采样速率;

其中,x是经过预处理的信号;n是1.5~m-1.5秒数据段内大于零波峰所在位置,n取值范围0~n;n表示在大于零的波峰所在位置向前和向后截取信号的长度,n的取值范围为0.4f~1.5f,f为采样速率;

第四步、动态规划提取每次心跳间隔:

找出当前m秒数据段内的最大波峰值,该最大波峰值位置t0必是心跳所在位置;根据第三步中得到心跳间隔估计t0,分别在[t0-1.35t0,t0-0.65t0]和[t0+0.65t0,t0+1.35t0]区间内以t0为中心向左右两边寻找心跳的候选值,在每个搜索区间内选择两个候选值,两个候选值分别为该搜索区间中最大和第二大的波峰值,记录候选值所对应的位置,将t0更新到每个区间中两个候选值中最大的波峰值所对应的位置,重复以上,逐步扩展到整个m秒数据段;由以上得到m秒数据段内所有满足条件的区间,以及每个区间内的两个候选值及位置;根据不同区间中候选值所对应的位置大小,对区间进行排序,候选值对应的位置最小的区间为第一区间,候选值对应的位置第二小的区间为第二区间,以此类推,对以上m秒数据段所有区间进行排序;对排序后的区间中候选值以及候选值所对应的位置组成的矩阵经过动态规划求取最佳路径;

根据最佳路径,选出每个区间的两个候选值的最优一个,对m秒数据段所有区间中的两个候选值进行最优选择,得到当前1秒和前m-1秒的心跳波峰值,波峰值对应的位置即是心跳位置,相邻心跳位置做差,得到每次心跳间隔;

由第一步至第四步,可以根据当前m秒数据段估计出心率,得到m秒数据段的每次心跳间隔;

第五步、实时测量:

用每秒采集的加速度传感器数据,对m秒数据段进行更新,重复第一步至第四步以实时测心率和每次心跳间隔。

一种上述方法的应用系统,该系统包括:加速度传感器、数据采集设备和工控机及床;加速度传感器安装在人体下肢范围内的床侧,加速度传感器与通过数据采集设备连接工控机,使用者躺在床上,工控机与局域网连接。

与现有技术比较,本发明的有益效果是:

1.本发明系统通过放在床侧的加速度传感器测量由心跳引起床体振动,避免了传感器与身体接触,减小了身体对采集信号质量的影响,在局域网中设备可以查看所测的心率和心跳间隔。该方法不需要训练学习,计算量较小,能保证实时性,所需设置的阈值较少,适用性更广,抗干扰能力强。在与专业检测设备emblan7000的心电图模块相比较,心率误差率在3%以下,每次心跳间隔相比较,时间差保持在±30ms之内,具有很高的准确度。

2.本发明方法中在估计心跳间隔时,将公式(1)、(2)、(3)中的n取短时,限制n值范围为0.4f~1.5f,f是采样速率,对应时间是0.4~1.5秒,对应心率150次/每分钟-40次/每分钟,对每个大于零的波峰都计算短时自相关函数p1(n)、短时平均幅度差函数p2(n)和最大峰值对函数p3(n),将公式(1)、(2)中的预处理信号进行平方处理,增大了相似信号的幅值,减小不相似信号的幅值,并且通过引入公式(3),减少了倍频和半频。将三者归一化相乘的最大值所对应的位置即是所估计的间隔,即使某个波峰发生倍频或者半频,但将整个数据段的间隔中值滤波后取中值,作为心跳间隔间隔估计,这样不受个别波峰倍频或半频的影响,使周期估计更准确,从而得到正确的周期估计。

附图说明

图1为本发明系统的布局图;图中,1、加速度传感器,2、工控机和数据采集设备,3、床,4、使用者。

图2为本发明方法的流程图;

图3实施例1进行信号预处理后的波形图;

图4提取大于零的波峰示意图;

图5某一大于零的波峰所对应的位置的间隔估计示意图;

图6动态规划提取心跳的结果示意图;

图7心电图模块提取心跳的结果示意图。

具体实施方式

为了使本发明实现上述的功能,下面结合附图与实施例对本发明进一步说明,本发明的实施方式包括下列实例,但并不以此作为对本申请保护范围的限定。

本发明一种实时的无束缚检测心率和心跳间隔的方法(简称方法)利用安装在人体下肢范围内的床侧的加速度传感器测量心跳引起的床体振动,该方法包括以下步骤:

第一步、状态判断:

工控机通过数据采集设备实时采集加速度传感器数据,计算每一秒的实时数据的标准差,设定阈值范围为[3.5e-4,8e-4],若采集到的数据的标准差不在该阈值范围内,则不进行心率计算,此时床上可能没有人或者床上有人但人此时不处于静置状态,记为状态1;若采集到的标准差在该阈值范围内,则说明人躺在床上并处于静止状态,记为状态2;连续采集m秒数据段的数据,若m秒数据段的连续数据均处于状态2,则进入第二步,若连续采集的m秒数据段中出现状态1,则需要等到状态2出现,而且需要重新组成连续的m秒数据段;所述m=10~15。

第二步、信号预处理:

将第一步采集的处于状态2的m秒数据段进行预处理,具体预处理过程为去趋势、去噪声、去高频干扰,即使用labview中小波去趋势去除趋势,将去趋势的信号使用小波去噪去除噪声,去噪后信号通过低通滤波器去除高频干扰;具体预处理的过程为常规技术。

第三步、波峰检测和心跳间隔估计:

经第二步预处理后的信号,心跳出现在大于零的波峰位置,使用labview中的峰值检测检测m秒数据段中所有大于零的波峰,并将所在位置假设为心跳位置;分别按照公式(1)、(2)、(3)计算位置在1.5~m-1.5秒数据段内的每个位置的短时自相关函数p1(n)、短时平均幅度差函数p2(n)和最大峰值对函数p3(n),将以上三函数结果分别归一化后相乘,相乘结果的最大值所对应的n,即该波峰位置估计的心跳间隔,这样得到1.5~m-1.5秒数据段内所有大于零的波峰所估计的心跳间隔,将间隔中值滤波后取中值作为m秒数据段的心跳间隔估计t0,用60f除以t0得到心率(心率是心脏一分钟跳动的次数);

其中,x是经过预处理的信号;n是1.5~m-1.5秒数据段内大于零波峰所在位置,n取值范围0~n;n表示在大于零的波峰所在位置向前和向后截取信号的长度,取值范围与数据采集设备的采样速率有关,如果采样速率为f,则n的取值范围为0.4f~1.5f。例如采样速率1k每秒,则数据采集设备每秒采集1000个数,即1000个数对应1秒。此时,n取值范围为400~1500,对应0.4~1.5秒。n反映心跳间隔,心跳间隔0.4秒对应心率150次每分钟,1.5秒对应心率40次每分钟。即n取值范围为400~1500,对应心率150次每分钟~40次每分钟。

第四步、动态规划提取每次心跳间隔:

找出当前m秒数据段内的最大波峰值,该最大波峰值位置t0必是心跳所在位置;根据第三步中得到心跳间隔估计t0,分别在[t0-1.35t0,t0-0.65t0]和[t0+0.65t0,t0+1.35t0]区间内以t0为中心向左右两边寻找心跳的候选值,在每个搜索区间内选择两个候选值(最大和第二大的波峰值),记录候选值所对应的位置,将t0更新到每个区间中两个候选值中最大的波峰值所对应的位置,重复以上,逐步扩展到整个m秒数据段;由以上得到m秒数据段内所有满足条件的区间,以及每个区间内的两个候选值及位置;根据不同区间中候选值所对应的位置大小,对区间进行排序,候选值对应的位置最小的区间为第一区间,候选值对应的位置第二小的区间为第二区间,以此类推,对以上m秒数据段所有区间进行排序;对排序后的区间中候选值以及候选值所对应的位置组成的矩阵经过动态规划求取最佳路径;具体动态规划求取最佳路径的过程是:

4-1按照公式(4)计算每个区间的区间概率si(j)。区间概率是计算两个候选值在所在区间所占比例,如果候选值大,则在区间概率越大。

式中,i为候选值所在第i个区间;j为第i个区间候选值个数(j=1,2);hi(j)为候选值,hmax和hmin为区间中最大值和最小值,α用于调节si(j)的重要性,由实验得α=0.9。

4-2按照公式(5)计算转移概率ti(j,j′)。转移概率是计算两个相邻区间中的候选值所在位置的差值,并将差值与t0比较,差值与t0越接近,转移概率越大。

式中,i为候选值所在第i个区间,j为第i个区间候选值个数(j=1,2),j′为第i-1个区间的候选值个数(j′=1,2),t0为心跳间隔估计,djj′为第i个区间第j个候选值所在位置与第i-1个区间第j′个候选值所在位置的差值;β用于t0和djj′接近程度的微调,γ用于调节ti(j,j′)的重要性,由实验得β=0.7,γ=0.1。

4-3动态规划求取最佳路径。动态规划从m秒数据段内第一区间开始,计算第一区间候选值的区间概率s1(j′),按照公式(6)取对数后记为p(1,j′)。将p(1,j′)和第一、二区间中的候选值的转移概率t2(j,j′)取对数后相加取最大值,最大值反映第二区间第j个候选值与第一区间第j′个候选值之间的最佳路径,将最大值和第二区间候选值的区间概率s2(j)取对数后相加,记为累加概率p(2,j)。以此类推,按照公式(7)计算得到的累加概率p(i,j),同样也得到j条路径;对最后一个区间计算的累加概率取最大,最大对应的路径即为最佳路径。

p(i,j)=log10si(j)i=1(6)

式中,i为候选值所在第i个区间,j为第i个区间候选值个数(j=1,2),j′为第i-1个区间的候选值个数(j′=1,2),i=1时,p(i,j)是第一区间的区间概率,i≥2时候,p(i,j)为从第一区间到第i个区间的累加概率,p(i-1,j′)为从第一区间到第i-1个区间的累加概率。

根据最佳路径,选出每个区间的两个候选值的最优一个,对m秒数据段所有区间中的两个候选值进行最优选择,得到当前1秒和前m-1秒的心跳波峰值,波峰值对应的位置即是心跳位置。相邻心跳位置做差,得到每次心跳间隔(每次心脏跳动的时间间隔)。

由第一步至第四步,可以根据当前m秒数据段估计出心率,得到m秒数据段的每次心跳间隔;

第五步、实时测量:

用每秒采集的加速度传感器数据,对m秒数据段进行更新,重复第一步至第四步以实时测心率和每次心跳间隔。

本发明方法所应用的系统(参见图1)包括:加速度传感器1、数据采集设备和工控机2及床3;利用安装在人体下肢范围内的床侧的加速度传感器测量心跳引起的床体振动;加速度传感器与通过数据采集设备连接工控机,使用者4躺在床3上,加速度传感器采集的心跳引起的振动信号由数据采集设备采集,然后在工控机利用labview对信号处理,调用本发明提出的方法(参见图2)提取心率和每次心跳间隔,可以通过工控机将心率和每次心跳间隔发布在局域网中以供其他设备查看。

本发明中所用的加速度传感器为高灵敏度、低噪声的加速度传感器,数据采集设备为基于pxi的高精度、高速度的数据采集卡,加速度传感器所放位置经过实验得到和验证,如果放在上肢部分的床侧,在左侧卧的时候,身体和床耦合影响心跳信号的采集的质量,所以本发明对加速度传感器放置的位置进行了限制。

本发明中1.35和0.65是关键参数,间隔估计得到数据段中心跳间隔的中值,在数据段中每次心跳间隔基本上都在[t0-1.35t0,t0-0.65t0]和[t0+0.65t0,t0+1.35t0]区间范围内。m秒数据段不能太长,或太短,最好在10~15秒之间,如果太短心跳间隔估计(周期估计)出现错误(半频或者倍频),而且心跳幅值被体颤和呼吸调制,导致数据段中波峰值最大的不是心跳引起的。太长会导致每次心跳间隔计算出现错误,心跳间隔是准周期信号,间隔估计得到的结果是数据段中心跳间隔的中值,如果数据段太长,有的间隔会不在[t0-1.35t0,t0-0.65t0]和[t0+0.65t0,t0+1.35t0]范围中。

本发明中数据段的意思是:将采集的1秒的加速度传感器数据保存,下1秒采集的数据和上1秒采集的数据组成2秒数据段,再下1秒采集的数据,与上2秒采集的数据组成3秒数据段,以此类推,构成m秒数据段。m秒数据段构成后,新采集的1秒数据对m秒的数据段进行更新,即前一秒组成的m秒数据段中1~m秒数据和新采集的1秒的数据组成新的m秒数据段,以实现实时测心率和心跳间隔。m秒数据段中都是状态2下1秒数据组成的,如果在m秒中出现状态1,则需要等到状态2出现,而且需要重新组成m秒数据段。

实施例

本实施例实时的无束缚检测心率和心跳间隔的方法,该方法包括以下步骤:

第一步、状态判断:

工控机通过数据采集设备以每秒1k的采样速率,实时采集加速度传感器数据,计算每一秒的实时数据的标准差,设定阈值范围为[3.5e-4,8e-4],若采集到的数据的标准差不在该阈值范围内,则不进行心率计算,此时床上可能没有人或者床上有人但人此时不处于静置状态,记为状态1;若采集到的标准差在该阈值范围内,则说明人躺在床上并处于静止状态,记为状态2;连续采集10秒数据段的数据,若10秒数据段的连续数据均处于状态2,则进入第二步,若连续采集的10秒数据段中出现状态1,则需要等到状态2出现,而且需要重新组成连续的10秒数据段;

第二步、信号预处理:

将第一步采集的处于状态2的10秒数据段进行预处理(参见图3),具体预处理过程为去趋势、去噪声、去高频干扰,即使用labview中小波去趋势去除趋势,小波去趋势的阈值频率设置为1e-3,小波基选择sym8。将去趋势的信号使用小波去噪去除噪声,小波类型选择连续小波变换,小波基选择sym8,分解尺度为7,使用软阈值去噪。去噪后信号通过低通滤波器去除高频干扰,低通滤波器选择4阶巴特沃斯低通滤波器,设置截止为15hz;

第三步、波峰检测和心跳间隔估计:

经第二步预处理后的信号,心跳出现在大于零的波峰位置,使用labview中的峰值检测检测m秒数据段中所有大于零的波峰(参见图4),并将所在位置假设为心跳位置;分别按照公式(1)、(2)、(3)计算位置在1.5~8.5秒数据段内的每个位置的短时自相关函数p1(n)、短时平均幅度差函数p2(n)和最大峰值对函数p3(n),将以上三函数结果分别归一化后相乘(参见图5),相乘结果的最大值所对应的n,即该波峰位置估计的心跳间隔,这样得到1.5~8.5秒数据段内所有大于零的波峰所估计的心跳间隔,将间隔中值滤波后取中值作为10秒数据段的心跳间隔估计t0,用60f除以t0得到心率;

其中,x是经过预处理的信号;n是1.5~8.5秒数据段内大于零波峰所在位置,n取值范围0~n;采样速率为1k,所以n取值范围为400~1500。

第四步、动态规划提取每次心跳间隔:

找出当前10秒数据段内的最大波峰值,该最大波峰值位置t0必是心跳所在位置;根据第三步中得到心跳间隔估计t0,分别在[t0-1.35t0,t0-0.65t0]和[t0+0.65t0,t0+1.35t0]区间内以t0为中心向左右两边寻找心跳的候选值,在每个搜索区间内选择两个候选值(最大和第二大的波峰值),记录候选值所对应的位置,将t0更新到每个区间中两个候选值中最大的波峰值所对应的位置,重复以上,逐步扩展到整个10秒数据段;由以上得到10秒数据段内所有满足条件的区间,以及每个区间内的两个候选值及位置;根据不同区间中候选值所对应的位置大小对区间进行排序,候选值对应的位置最小的区间为第一区间,候选值对应的位置第二小的区间为第二区间,以此类推,对以上10秒数据段所有区间进行排序。对排序后的区间中候选值以及候选值所对应的位置组成的矩阵经过动态规划求取最佳路径(参见图6);具体动态规划求取最佳路径的过程是:

4-1按照公式(4)计算每个区间的区间概率si(j)。区间概率是计算两个候选值在所在区间所占比例,如果候选值大,则在区间概率越大。

式中,i为候选值所在第i个区间;j为第i个区间候选值个数(j=1,2);hi(j)为候选值,hmax和hmin为区间中最大值和最小值,α用于调节si(j)的重要性,由实验得α=0.9。

4-2按照公式(5)计算转移概率ti(j,j′)。转移概率是计算两个相邻区间中的候选值所在位置的差值,并将差值与t0比较,差值与t0越接近,转移概率越大。

式中,i为候选值所在第i个区间,j为第i个区间候选值个数(j=1,2),j′为第i-1个区间的候选值个数(j′=1,2),t0为心跳间隔估计,djj′为第i个区间第j个候选值所在位置与第i-1个区间第j′个候选值所在位置的差值;β用于t0和djj′接近程度的微调,γ用于调节ti(j,j′)的重要性,由实验得β=0.7,γ=0.1。

4-3动态规划求取最佳路径。动态规划从10秒数据段内第一区间开始,计算第一区间候选值的区间概率s1(j′),按照公式(6)取对数后记为p(1,j′)。将p(1,j′)和第一、二区间中的候选值的转移概率t2(j,j′)取对数后相加取最大值,最大值反映第二区间第j个候选值与第一区间第j′个候选值之间的最佳路径,将最大值和第二区间候选值的区间概率s2(j)取对数后相加,记为累加概率p(2,j)。以此类推,按照公式(7)计算得到的累加概率p(i,j),同样也得到j条路径;对最后一个区间计算的累加概率取最大,最大对应的路径即为最佳路径。

p(i,j)=log10si(j)i=1(6)

式中,i为候选值所在第i个区间,j为第i个区间候选值个数(j=1,2),j′为第i-1个区间的候选值个数(j′=1,2),i=1时,p(i,j)是第一区间的区间概率,i≥2时候,p(i,j)为从第一区间到第i个区间的累加概率,p(i-1,j′)为从第一区间到第i-1个区间的累加概率。

根据最佳路径,选出每个区间的两个候选值的最优一个,对m秒数据段所有区间中的两个候选值进行最优选择,得到当前1秒和前9秒的心跳波峰值,波峰值对应的位置即是心跳位置。相邻心跳位置做差,得到每次心跳间隔(每次心脏跳动的时间间隔)。

由第一步至第四步,可以根据当前10秒数据段估计出心率,得到10秒数据段的每次心跳间隔;

第五步、实时测量:

用每秒采集的加速度传感器数据,对10秒数据段进行更新,重复第一步至第四步以实现实时测心率和每次心跳间隔。

本实施例加入了专业心率测量仪器的对比实验,专业心率测量仪器为emblan7000多导睡眠仪的心电图模块。实验条件是在实验室环境,周围没有人走动,将加速度传感器放在床侧,人躺在床上静止,同时将心电图模块的电极贴在人的左右胸肌部位用以测得标准的心率和心跳间隔,实验过程中本申请所用系统和心电图模块同时测量。

本申请所用系统通过数据采集设备采集加速度传感器数据,并将数据保存。对保存的数据使用本实施例方法,得到数据中的心跳位置,计算汇总得出心率和心跳间隔。

对心电图模块得到的数据保存,使用阈值的方法,得到数据中的心跳位置,计算汇总得出心率和心跳间隔。

人为将两个系统得到的心跳位置对齐后,比较两个系统得到的心率和心跳间隔。本实施例方法(参见图6)与心电图模块(采样频率200/s)(参见图7)相比较,心率误差率在3%以下,该方法测得的每次心跳间隔与心电图模块得到每次心跳间隔相比较,时间差保持在±30ms之内,具有很高的准确度。

本发明未述及之处适用于现有技术。

以上对本发明的实施进行了详细说明,只是本发明的较佳实施过程,不能被认为用于限定本申请权利要求的保护范围。凡以本发明申请权利要求范围所做的均等变化与改进,均应归属于本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1