本技术涉及心率检测,尤其是涉及一种心率计算方法、装置、设备及介质。
背景技术:
1、光电测量脉搏波(photoplethysmography,ppg)信号是一种反映人体心跳和微循环的光学信号,ppg信号是通过将一个光源和一个光敏探测器放置在皮肤上,测量光源被皮肤组织反射或透射后的光强变化得到的。当心脏收缩时,由于动脉血管的扩张和收缩,皮肤组织的血流量也会随之变化,导致ppg信号的振幅和波形发生变化,因此ppg信号可以用于心率、心律等生理指标的监测,目前ppg信号已经广泛应用于医疗、健康监测、运动监测等领域。
2、在ppg信号中,运动伪影是一种常见的噪声源,会导致心率提取的误差,为了去除运动伪影,研究者们提出了多种算法,例如基于峰值检测的方法、基于自适应滤波的方法、基于独立成分分析的方法等。有些算法仅适用于特定的运动模式和运动强度,对于不同的运动类型和运动强度可能无法准确地去除运动伪影,导致心率计算的误差较大。
技术实现思路
1、为了解决运动伪影导致的心率计算误差较大的问题,本技术提供了一种心率计算方法、装置、设备及介质。
2、第一方面,本技术提供一种心率计算方法,采用如下的技术方案:
3、一种心率计算方法,包括:
4、根据目标用户的手腕在当地水平坐标系下的加速度数据和第一角速度数据进行融合,获得所述手腕在惯性测量单元imu坐标系下的第一角度数据;所述第一角度数据包括所述手腕在imu坐标系下绕y轴旋转的俯仰角;
5、判断所述第一角度数据中的俯仰角是否小于第一阈值或者大于第二阈值;所述第一阈值小于所述第二阈值;
6、若是,则将基线心率确定为所述目标用户的心率计算结果;若否,则判断光电测量脉搏波ppg信号中的脉搏信号与所述手腕的运动伪影是否相互独立;
7、若是,则对所述ppg信号进行滤波,获得所述脉搏信号,根据所述脉搏信号获得所述目标用户的心率计算结果;若否,则对所述ppg信号进行奇异谱分析,获得所述目标用户的心率计算结果。
8、通过采用上述技术方案,根据加速度数据和第一角速度数据进行融合,使获得的俯仰角更加准确,从而保证后续基于俯仰角的判断结果的准确性,进而提高心率计算的准确性。当俯仰角小于第一阈值或者大于第二阈值,直接将基线心率确定为目标用户的心率计算结果,可以提高心率计算的效率。当俯仰角大于或等于第一阈值且小于或等于第二阈值时,判断ppg信号中的脉搏信号与手腕的运动伪影是否相互独立,若独立,采用滤波算法计算心率,若不独立,采用奇异谱分析技术计算心率。针对运动伪影的不同特性给出了不同的心率计算方法,在提高心率计算的效率的同时,可以提高心率计算的准确性。
9、可选的,根据目标用户的手腕在当地水平坐标系下的加速度数据和第一角速度数据进行融合,获得所述手腕在imu坐标系下的第一角度数据,包括:
10、根据所述加速度数据,获得所述手腕在imu坐标系下的第二角度数据;所述第二角度数据包括所述手腕在imu坐标系下绕x轴旋转的横滚角和绕y轴旋转的俯仰角;
11、根据所述第一角速度数据和所述第二角度数据,获得所述手腕在所述imu坐标系下的第二角速度数据;所述第一角速度数据包括所述手腕在当地水平坐标系下分别绕x轴、y轴和z轴旋转的角速度;所述第二角速度数据包括所述手腕在imu坐标系下分别绕x轴、y轴和z轴旋转的角速度;
12、根据所述第二角速度数据和所述第二角度数据进行融合,获得所述第一角度数据;所述第一角度数据还包括所述手腕在imu坐标系下绕x轴旋转的横滚角。
13、可选的,根据所述第二角速度数据和所述第二角度数据进行融合,获得所述第一角度数据,包括:
14、通过卡尔曼滤波方程获得所述第一角度数据,计算公式如下:
15、
16、其中,k表示时刻,xk,k为滤波后k时刻的状态,即所述第一角度数据,rk为k时刻的横滚角,即所述第一角度数据中的横滚角,pk为k时刻的俯仰角,即所述第一角度数据中的俯仰角,xk,k-1表示由k-1时刻的状态推导出的k时刻的状态,状态外推方程为:
17、
18、rk+1为k+1时刻的横滚角,pk+1为k+1时刻的俯仰角,[rk,pk]初始值设为[0,0];dr/dt为所述第二角速度数据中绕x轴旋转的角速度,dp/dt为所述第二角速度数据中绕y轴旋转的角速度;kk为卡尔曼滤波矩阵;zk为观测方程,公式为:racc为所述第二角度数据中的横滚角,pacc为所述第二角度数据中的俯仰角。
19、通过采用上述技术方案,通过设计卡尔曼滤波方程,是滤波后的横滚角和俯仰角更加准确,后续基于俯仰角的判断结果也会更加准确,进而提高后续心率计算结果的准确性。
20、可选的,判断所述ppg信号中的脉搏信号与所述手腕的运动伪影是否相互独立,包括:
21、对所述ppg信号进行离散傅里叶变换和归一化处理,得到ppg信号的归一化波形图;
22、对手腕运动程度的波形图进行离散傅里叶变换和归一化处理,得到手腕运动程度的归一化波形图;所述手腕运动程度的波形图用于指示所述手腕在各个时刻的运动幅度;
23、根据所述ppg信号的归一化波形图和所述手腕运动程度的归一化波形图,判断所述ppg信号中的脉搏信号与所述手腕的运动伪影是否相互独立。
24、通过采用上述技术方案,通过离散傅里叶变换和归一化处理,根据ppg信号的归一化波形图和手腕运动程度的归一化波形图,可以准确地判断ppg信号中的脉搏信号与手腕的运动伪影是否独立,进而提高后续心率计算结果的准确性。
25、可选的,判断所述ppg信号的归一化波形图和所述手腕运动程度的归一化波形图,确定所述ppg信号中的脉搏信号与所述手腕的运动伪影是否相互独立,包括:
26、从所述ppg信号的归一化波形图中确定峰值最大的频率分量对应的第一心率值,以及从所述手腕运动程度的归一化波形图中确定峰值最大的频率分量对应的第二心率值;
27、判断所述第一心率值与所述第二心率值之间的差值的绝对值是否大于或等于第三阈值;
28、若是,则确定所述ppg信号中的脉搏信号与所述手腕的运动伪影相互独立;若否,则确定所述ppg信号中的脉搏信号与所述手腕的运动伪影不相互独立。
29、通过采用上述技术方案,根据ppg信号的归一化波形图中峰值最大的频率分量对应的第一心率值,以及手腕运动程度的归一化波形图中峰值最大的频率分量对应的第二心率值,可以准确地判断ppg信号中的脉搏信号与手腕的运动伪影是否独立,进而提高后续心率计算结果的准确性。
30、可选的,其特征在于,所述手腕运动程度的波形图是通过如下步骤获得的:
31、根据所述第二角速度数据,根据所述第二角速度数据,计算所述手腕在imu坐标系下分别绕x轴、y轴和z轴旋转的角速度的平方和;
32、将所述平方和确定为所述手腕在每个时刻的运动幅度值;
33、根据所述手腕在每个时刻的运动幅度值,拟合获得所述手腕运动程度的波形图。
34、可选的,对所述ppg信号进行奇异谱分析,获得所述目标用户的心率计算结果,包括:
35、将所述ppg信号的归一化波形图转换为轨迹矩阵,对所述轨迹矩阵进行奇异值分解,获得所述轨迹矩阵的不同模式组;
36、对所述不同模式组进行反对角线均值化处理,获得多个长度相同的模式序列;
37、根据所述多个长度相同的模式序列,获得重构后的ppg信号,对所述重构的ppg信号进行离散傅里叶变换,将变换后的ppg信号的主频率确定为所述目标用户的心率计算结果。
38、通过采用上述技术方案,采用奇异谱分析技术可以准确从ppg信号中去除运动伪影的成分,基于重构后的ppg信号可以获得更加准确的心率计算结果。
39、第二方面,本技术提供一种心率计算装置,采用如下的技术方案:
40、一种心率计算装置,包括:
41、获得模块,用于:根据目标用户的手腕在当地水平坐标系下的加速度数据和第一角速度数据,获得所述手腕在惯性测量单元imu坐标系下的第一角度数据;所述第一角度数据包括所述手腕在imu坐标系下绕y轴旋转的俯仰角;
42、判断模块,用于:判断所述第一角度数据中的俯仰角是否小于第一阈值或者大于第二阈值;所述第一阈值小于所述第二阈值;
43、心率计算模块,用于:若所述第一角度数据中的俯仰角小于第一阈值或者大于第二阈值,则将基线心率确定为所述目标用户的心率计算结果;
44、所述判断模块,还用于:若所述第一角度数据中的俯仰角大于或等于第一阈值且小于或等于第二阈值,则判断光电测量脉搏波ppg信号中的脉搏信号与所述手腕的运动伪影是否相互独立;
45、所述心率计算模块,还用于若所述ppg信号中的脉搏信号与所述手腕的运动伪影相互独立,则对所述ppg信号进行滤波,获得所述脉搏信号,根据所述脉搏信号获得所述目标用户的心率计算结果;若所述ppg信号中的脉搏信号与所述手腕的运动伪影不相互独立,则对所述ppg信号进行奇异谱分析,获得所述目标用户的心率计算结果。
46、第三方面,本技术提供一种计算机设备,采用如下的技术方案:
47、一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法。
48、第四方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:
49、一种计算机可读存储介质,存储有能够被处理器加载并执行如第一方面中任一种方法的计算机程序。
50、综上所述,本技术包括以下至少一种有益技术效果:
51、本技术针对俯仰角的大小和运动伪影的不同特性给出了不同的心率计算方法,当俯仰角过小或过大时,将基线心率确定为目标用户的心率计算结果,当俯仰角在合适范围内时,考虑运动伪影的特性,当运动伪影与心脏搏动频率不相关时,采用滤波算法计算心率,当运动伪影与心脏搏动频率相关时,采用奇异谱分析技术计算心率。根据实际情况采用不同的心率计算方法,在提高心率计算的效率的同时,可以提高心率计算的准确性。且本技术根据目标用户的手腕在当地水平坐标系下的加速度数据和第一角速度数据进行融合,保证了滤波后的俯仰角的准确性,进一步提高后续心率计算的准确性。