本发明涉及医学数据处理技术领域,尤其涉及一种血压测量方法、终端和计算机可读存储介质。
背景技术:
随着科学技术的发展,医学数据处理的技术也逐渐发展,其中,血压是一种重要的生理参数,准确测量出血压对于医生的诊断具有重要的意义。
现在常用的血压测量方式有袖带血压计,使用起来并不是非常方便,为此,通过单导ecg(electrocardiogram,心电信号)信号和与之同步的ppg(photoplethysmography,脉搏信号)信号之间的关系来测量血压是很有前景的,单导ecg和ppg的测量相对简单,易于测量。
但是,现有的单导ecg和ppg的测量,一般需要测量大量次数,才能得到较为准确的结果,失去了便捷测量血压的初衷,若是测量次数不多,则会导致测量结果不准确。
技术实现要素:
本发明的主要目的在于提供一种血压测量方法、终端和计算机可读存储介质,旨在解决现有血压测量方式,需要测量次数较多,对血压的测量不够便捷,若是测量次数不够,会导致测量结果不准确的技术问题。
为实现上述目的,本发明提供一种血压测量方法,所述血压测量方法包括:
采集血压数据,以从血压数据中获取心电信号数据到脉搏信号数据的各个时间差;
测量预设次数的标定血压,并获取血压数据的心率,以根据心率、各个时间差和各个标定血压计算系数矩阵;
采用预设的滤波方程组对系数矩阵进行递归计算,得到多个系数矩阵;
将多个系数矩阵输入到预设的血压值计算公式中,得到多个血压值。
可选地,所述从血压数据中获取心电信号数据到脉搏信号数据的各个时间差的步骤包括:
获取心电信号数据的波峰点,并获取脉搏信号数据的起始点、波峰点以及起始点与波峰点之间的中点;
计算心电信号数据的波峰点到脉搏信号数据的起始点的第一时间差;
计算心电信号数据的波峰点到脉搏信号数据的中点的第二时间差;
计算心电信号数据的波峰点到脉搏信号数据的波峰点的第三时间差。
可选地,所述根据心率、各个时间差和各个标定血压计算系数矩阵的步骤包括:
基于心率和各个时间差得到常数矩阵;
获取常数矩阵的转置矩阵,并根据常数矩阵和转置矩阵得到对称阵;
计算对称阵的矩阵条件数;
根据矩阵条件数的值,确定矩阵参数;
根据对称阵、矩阵参数、单位矩阵以及各个标定血压,计算系数矩阵。
可选地,所述计算对称阵的矩阵条件数的公式包括:
γ(x*xt)=||x*xt||*||x*xt-1||
其中,γ(x*xt)是对称阵的条件数。
可选地,所述根据对称阵、矩阵参数、单位矩阵以及各个标定血压,计算系数矩阵的公式包括:
其中,c是系数矩阵,x*xt是对称阵,
可选地,所述采用预设的滤波方程组对系数矩阵进行递归计算,得到多个系数矩阵的步骤包括:
将计算出来的系数矩阵代入预设的血压值计算公式中,得到实际血压值;
计算实际血压值与标定血压的误差对应的方差;
将方差、系数矩阵、系数矩阵的协方差以及校准的血压值输入到预设的滤波方程组中,以对系数矩阵进行递归计算,得到多个系数矩阵,其中,预设的滤波方程组包括:
其中,
可选地,所述将计算出来的系数矩阵代入预设的血压值计算公式中,得到实际血压值的步骤包括:
将计算出来的系数矩阵代入预设的血压值计算公式中,得到各个时间差对应的血压值;
在各个时间差对应的血压值中,确定各个血压值与标定血压之间的误差,并获取误差向量,以根据误差向量计算各个期望值;
在各个期望值中确定出最小期望值,根据最小期望值,获取所述最小期望值对应的血压值作为实际血压值。
可选地,所述将多个系数矩阵输入到预设的血压值计算公式中,得到多个血压值的步骤包括:
将多个系数矩阵c输入到sbp=xtc中,得到多个血压值,其中,xt是常数矩阵的转置矩阵。
此外,为实现上述目的,本发明还提供一种终端,所述终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的血压测量程序,所述血压测量程序被所述处理器执行时实现如上文所述的血压测量方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有血压测量程序,所述血压测量程序被处理器执行时实现如上文所述的血压测量方法的步骤。
本发明提出的血压测量方法,对血压的测量,是先获取预设次数的标定血压,以结合心率和各个时间差计算系数矩阵,再根据该系数矩阵计算实际血压值,从而降低时间差对血压测量的误差,此外,通过滤波方程组对系数矩阵进行递归计算以拓展出多个系数矩阵,后续直接将多个系数矩阵输入到预设的血压值计算公式中,即可得到多个血压值,即使标定血压的测量次数较少,也可得到较为准确的测量结果,达到了便捷测量血压的效果。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明血压测量方法第一实施例的流程示意图;
图3为图2中步骤s20的细化流程示意图;
图4为图2中步骤s30的细化流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:采集血压数据,以从血压数据中获取心电信号数据到脉搏信号数据的各个时间差;测量预设次数的标定血压,并获取血压数据的心率,以根据心率、各个时间差和各个标定血压计算系数矩阵;采用预设的滤波方程组对系数矩阵进行递归计算,得到多个系数矩阵;将多个系数矩阵输入到预设的血压值计算公式中,得到多个血压值。以解决现有血压测量方式,便捷性较低,测量结果不准确的问题。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端是用于血压测量的医学测量设备。
如图1所示,该终端可以包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口(例如用于连接有线键盘、有线鼠标等)和/或无线接口(例如用于连接无线键盘、无线鼠标)。网络接口1004可选的可以包括标准的有线接口(用于连接有线网络)、无线接口(如wi-fi接口、蓝牙接口、红外线接口、探针接口、3g/4g/5g联网通信接口等,用于连接无线网络)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及血压测量程序。其中,操作系统是管理和控制终端与软件资源的程序,支持网络通信模块、用户接口模块、血压测量程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的终端中,网络接口1004主要用于连接服务器或外接设备,与服务器或外接设备进行数据通信;用户接口1003主要用于连接显示界面;所述终端通过处理器1001调用存储器1005中存储的血压测量程序,以实现以下步骤:
采集血压数据,以从血压数据中获取心电信号数据到脉搏信号数据的各个时间差;
测量预设次数的标定血压,并获取血压数据的心率,以根据心率、各个时间差和各个标定血压计算系数矩阵;
采用预设的滤波方程组对系数矩阵进行递归计算,得到多个系数矩阵;
将多个系数矩阵输入到预设的血压值计算公式中,得到多个血压值。
进一步地,所述终端通过处理器1001调用存储器1005中存储的血压测量程序,以实现从血压数据中获取心电信号数据到脉搏信号数据的各个时间差的步骤:
获取心电信号数据的波峰点,并获取脉搏信号数据的起始点、波峰点以及起始点与波峰点之间的中点;
计算心电信号数据的波峰点到脉搏信号数据的起始点的第一时间差;
计算心电信号数据的波峰点到脉搏信号数据的中点的第二时间差;
计算心电信号数据的波峰点到脉搏信号数据的波峰点的第三时间差。
进一步地,所述终端通过处理器1001调用存储器1005中存储的血压测量程序,以实现根据心率、各个时间差和各个标定血压计算系数矩阵的步骤:
基于心率和各个时间差得到常数矩阵;
获取常数矩阵的转置矩阵,并根据常数矩阵和转置矩阵得到对称阵;
计算对称阵的矩阵条件数;
根据矩阵条件数的值,确定矩阵参数;
根据对称阵、矩阵参数、单位矩阵以及各个标定血压,计算系数矩阵。
进一步地,计算对称阵的矩阵条件数的公式包括:
γ(x*xt)=||x*xt||*||x*xt-1||
其中,γ(x*xt)是对称阵的条件数。
进一步地,所述根据对称阵、矩阵参数、单位矩阵以及各个标定血压,计算系数矩阵的公式包括:
其中,c是系数矩阵,x*xt是对称阵,
进一步地,所述终端通过处理器1001调用存储器1005中存储的血压测量程序,以实现采用预设的滤波方程组对系数矩阵进行递归计算,得到多个系数矩阵的步骤:
将计算出来的系数矩阵代入预设的血压值计算公式中,得到实际血压值;
计算实际血压值与标定血压的误差对应的方差;
将方差、系数矩阵、系数矩阵的协方差以及校准的血压值输入到预设的滤波方程组中,以对系数矩阵进行递归计算,得到多个系数矩阵,其中,预设的滤波方程组包括:
其中,
进一步地,所述终端通过处理器1001调用存储器1005中存储的血压测量程序,以实现将计算出来的系数矩阵代入预设的血压值计算公式中,得到实际血压值的步骤:
将计算出来的系数矩阵代入预设的血压值计算公式中,得到各个时间差对应的血压值;
在各个时间差对应的血压值中,确定各个血压值与标定血压之间的误差,并获取误差向量,以根据误差向量计算各个期望值;
在各个期望值中确定出最小期望值,根据最小期望值,获取所述最小期望值对应的血压值作为实际血压值。
进一步地,所述终端通过处理器1001调用存储器1005中存储的血压测量程序,以实现将多个系数矩阵输入到预设的血压值计算公式中,得到多个血压值的步骤:
将多个系数矩阵c输入到sbp=xtc中,得到多个血压值,其中,xt是常数矩阵的转置矩阵。
基于上述终端硬件结构,提出本发明血压测量方法的各个实施例。
参照图2,图2为本发明血压测量方法第一实施例的流程示意图。
在本实施例中,所述血压测量方法包括:
步骤s10,采集血压数据,以从血压数据中获取心电信号数据到脉搏信号数据的各个时间差;
步骤s20,测量预设次数的标定血压,并获取血压数据的心率,以根据心率、各个时间差和各个标定血压计算系数矩阵;
步骤s30,采用预设的滤波方程组对系数矩阵进行递归计算,得到多个系数矩阵;
步骤s40,将多个系数矩阵输入到预设的血压值计算公式中,得到多个血压值。
在本实施例中,所述血压测量方法可选应用于终端,所述终端可选为图1所述的终端。所述终端为测量设备,所述测量设备连接有袖带,袖带用于监测血压,测量设备用于获取袖带测量的血压数据。
以下详细介绍本方案中实现血压测量的具体步骤:
步骤s10,采集血压数据,以从血压数据中获取心电信号数据到脉搏信号数据的各个时间差;
在本实施例中,终端采集血压数据的方式可选为:终端通过连接的袖带采集血压数据,应当理解的是,终端连接袖带的情况下,通过袖带获取袖带放气曲线,在获取到袖带放气曲线的情况下,对袖带放气曲线去除线性成分,以得到示波信号,在示波信号中提取出心电信号数据和脉搏信号数据,该心电信号数据和脉搏信号数据记为血压数据。
具体地,所述“从血压数据中获取心电信号数据到脉搏信号数据的各个时间差”的步骤包括:
步骤a,获取心电信号数据的波峰点,并获取脉搏信号数据的起始点、波峰点以及起始点与波峰点之间的中点;
步骤b,计算心电信号数据的波峰点到脉搏信号数据的起始点的第一时间差;
步骤c,计算心电信号数据的波峰点到脉搏信号数据的中点的第二时间差;
步骤d,计算心电信号数据的波峰点到脉搏信号数据的波峰点的第三时间差。
在本实施例中,获取心电信号数据的波峰点(用r点表示),然后获取脉搏信号数据的起始点(用ps点表示)、波峰点(用pp点表示)以及起始点与波峰点之间的中点(用pm点表示),之后,计算心电信号数据的波峰点到脉搏信号数据的起始点的第一时间差,即计算心电信号数据的r点到脉搏信号数据的ps点的第一时间差ptt1,并计算心电信号数据的波峰点到脉搏信号数据的起始点的第二时间差,即计算心电信号数据的r点到脉搏信号数据的pm点的第二时间差ptt2,此外,计算心电信号数据的波峰点到脉搏信号数据的波峰点的第三时间差,即计算心电信号数据的r点到脉搏信号数据的pp点的第三时间差ptt3。
步骤s20,测量预设次数的标定血压,并获取血压数据的心率,以根据心率、各个时间差和各个标定血压计算系数矩阵;
在计算出心电信号数据到脉搏信号数据的各个时间差之后,测量预设次数的标定血压,以通过预设次数的标定血压初始化系数矩阵,其中,所述预设次数的具体数值不做限定,根据实际需要设置,需要说明的是,所述预设次数的具体数值小于第一定值,以表示标定血压的测量次数较少时,也可以实现后续的血压值计算过程,所述第一定值可选为10次。
在本实施例中,血压数据的心率(用hr表示)对应的计算公式包括:hr=(numberofpeaksinomw)/t,其中,omw表示示波信号。
在测量预设次数的标定血压,并获取血压数据的心率之后,根据心率、各个时间差和各个标定血压计算系数矩阵,具体地,参照图3,所述步骤s20包括:
步骤s21,基于心率和各个时间差得到常数矩阵;
步骤s22,获取常数矩阵的转置矩阵,并根据常数矩阵和转置矩阵得到对称阵;
步骤s23,计算对称阵的矩阵条件数;
步骤s24,根据矩阵条件数的值,确定矩阵参数;
步骤s25,根据对称阵、矩阵参数、单位矩阵以及各个标定血压,计算系数矩阵。
在本实施例中,先介绍血压值计算公式sbp=c1*ptt+c2*hr+c3,定义系数矩阵为c=[c1,c2,c3]t,常数矩阵x=[ptt,hr,1]t,则血压值计算公式可简化为:sbp=xtc,其中,sbp为计算的血压值,x为常数矩阵,xt为常数矩阵的转置矩阵,c为系数矩阵,需要说明的是,血压值sbp和系数矩阵c是待计算的值,即血压值sbp和系数矩阵c是待计算的值是未知量。
由于心率hr和各个时间差ptt在上文已经计算出来了,因此常数矩阵x=[ptt,hr,1]t的值可直接得到。在基于心率和各个时间差得到常数矩阵之后,获取常数矩阵的转置矩阵,转置矩阵即xt,在得到转置矩阵之后,根据常数矩阵和转置矩阵得到对称阵,其中,所述对称阵=[x*xt]。
之后,计算对称阵的矩阵条件数,本实施例中,计算对称阵的矩阵条件数的公式包括:
γ(x*xt)=||x*xt||*||x*xt-1||,其中,γ(x*xt)是对称阵的条件数。
在计算出对称阵的矩阵条件数之后,根据矩阵条件数的值,确定矩阵参数,所述矩阵参数可选用
在根据对称阵的矩阵条件数确定矩阵参数之后,根据对称阵、矩阵参数、单位矩阵以及各个标定血压,计算系数矩阵,具体地,所述计算公式包括:
其中,c是系数矩阵,x*xt是对称阵,
本实施例中,由于系数矩阵c中包括c1、c2和c3,因此需要通过三个方程式才能最终确定出系数矩阵c,那么三个方程式可分别为c1、c2和c3表示,对于c1,常数矩阵x中的ptt分量是ptt1,对于c2,常数矩阵x中的ptt分量是ptt2,对于c3,常数矩阵x中的ptt分量是ptt3。
也就是说,在第一次测量到标定血压时,则sbpi为sbp1,则ppt为ptt1;第一次测量到标定血压时,sbpi为sbp2,ppt为ptt2;第三次测量到标定血压时,sbpi为sbp3,ppt为ptt3,那么可得到三个系数矩阵c1、c2和c3,通过上述三个系数矩阵,即可计算出最终的系数矩阵c的值。需要说明的是,上述系数矩阵的计算公式计算出的c用c0表示。
步骤s30,采用预设的滤波方程组对系数矩阵进行递归计算,得到多个系数矩阵;
在本实施例中,在计算出系数矩阵之后,采用预设的滤波方程组对系数矩阵进行递归计算,以得到多个系数矩阵,具体地,参照图4,所述步骤s30包括:
步骤s31,将计算出来的系数矩阵代入预设的血压值计算公式中,得到实际血压值;
步骤s32,计算实际血压值与标定血压的误差对应的方差;
步骤s33,将方差、系数矩阵、系数矩阵的协方差以及校准的血压值输入到预设的滤波方程组中,以对系数矩阵进行递归计算,得到多个系数矩阵,其中,预设的滤波方程组包括:
其中,
在本实施例中,先将上述计算出的系数矩阵c(c0)代入到血压值计算公式sbp=xtc中,得到实际血压值。
接着,计算实际血压值与标定血压的误差对应的方差,再将方差、系数矩阵、系数矩阵的协方差以及校准的血压值输入到预设的滤波方程组中,以对系数矩阵进行递归计算,得到多个系数矩阵,具体的计算公式如:
需要说明的是,通过该计算公式,可计算出新的系数矩阵c1、c2等等,从而得到多个系数矩阵,这个过程,相当于是对系数矩阵c进行调整,以使系数矩阵c的值通过调整更加准确,后续计算出的血压值也会更加准确。
步骤s40,将多个系数矩阵输入到预设的血压值计算公式中,即可得到多个血压值。
之后,将多个系数矩阵输入到预设的血压值计算公式中,得到多个血压值,即将多个系数矩阵输入到血压值计算公式sbp=xtc中,以得到多个血压值,如sbp1、sbp2、sbp3,应当理解,xt是常数矩阵的转置矩阵。
应当理解,通过上述的处理方式,只要在最开始测量几次标定血压计算出系数矩阵c的值之后,后续即可得到新的血压值,无须再测量标定血压也能得到正确的结果,使得血压的测量非常便捷,
现有技术中的血压测量方式,未考虑到血压数据的心率,仅仅考虑时间差,对血压的测量结果存在较大误差,并且在测量血压时,需要测量大量的标定血压,才能计算出血压值,使得血压的测量过程较为繁琐。
本实施例提出的血压测量方法,对血压的测量,是先获取预设次数的标定血压,以结合心率和各个时间差计算系数矩阵,再根据该系数矩阵计算实际血压值,从而降低时间差对血压测量的误差,此外,通过滤波方程组对系数矩阵进行递归计算以拓展出多个系数矩阵,后续直接将多个系数矩阵输入到预设的血压值计算公式中,即可得到多个血压值,即使标定血压的测量次数较少,也可得到较为准确的测量结果,达到了便捷测量血压的效果。
进一步地,为了提高血压值计算的准确性,基于第一实施例提出本发明血压测量方法的第二实施例。
血压测量方法的第二实施例和血压测量方法的第一实施例的区别在于,所述步骤s31包括:
步骤e,将计算出来的系数矩阵代入预设的血压值计算公式中,得到各个时间差对应的血压值;
步骤f,在各个时间差对应的血压值中,确定各个血压值与标定血压之间的误差,并获取误差向量,以根据误差向量计算各个期望值;
步骤g,在各个期望值中确定出最小期望值,根据最小期望值,获取所述最小期望值对应的血压值作为实际血压值。
在本实施例中,计算心电信号数据到脉搏信号数据的时间差时,是计算出三个时间差,因此,最后得到的血压值也能得到三个血压值,分别为sbp1,sbp2,sbp3。在得到三个血压值之后,先确定各个血压值与标定血压之间的误差,并获取误差向量,以根据误差向量计算各个期望值,以在各个期望值中确定出最小期望值,最终根据最小期望值,获取所述最小期望值对应的血压值作为实际血压值。即:
其中,ei=e(e*et),e表示实际血压值和标定血压的误差向量,e表示期望。
在本实施例中,针对ptt定义不明确的问题,计算3种ptt的情况下,对使用卡尔曼滤波计算的3种血压值进行融合,得到最优的血压估计值,从而提高血压测量的准确性。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有血压测量程序,所述血压测量程序被处理器执行时实现如上文所述的血压测量方法的步骤。
计算机可读存储介质的具体实施方式与上述血压测量方法的各个实施方式基本一致,此处不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是固定终端,如物联网智能设备,包括智能空调、智能电灯、智能电源、智能路由器等智能家居;也可以是移动终端,包括智能手机、可穿戴的联网ar/vr装置、智能音箱、自动驾驶汽车等诸多联网设备)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。