一种适用于电子血压测量装置的压力控制方法与流程

文档序号:16373182发布日期:2018-12-22 08:52阅读:420来源:国知局
一种适用于电子血压测量装置的压力控制方法与流程

本发明适用于各种降压电子血压测量装置,如电子血压计、动脉硬化血压测量等。

背景技术

高血压是最常见的慢性病,也是心脑血管病最主要的危险因素;脑卒中、心肌梗死、心力衰竭及慢性肾脏病是其主要并发症。国内外的实践证明,高血压是可以预防和控制的疾病,降低高血压患者的血压水平,可明显减少脑卒中及心脏病事件,显著改善患者的生存质量,有效降低疾病负担。所以,对于日常对血压的监控显得尤为重要。

目前市场上的电子血压计分为升压测量和降压测量,其中绝大多数都是降压测量,因为降压测量对电子元器件指标要求更低、成本低、并且测量精度高。

而目前市场上的降压电子血压计的压力控制方法有2种。

1、充气-闭气方法。这种方法是从一定的压力开始每个一段压力停止充气并取得波形,这种压力控制方法缺点是测量时间长,需要充气-闭气来回很多次才能准确计算当前患者所需的最大压力值;

2、基于上次测量的压力。这种方法计算最高压力是基于上次测量患者的血压情况来确定本次的压力。这种压力控制方法的缺点是测量精度低,需要重测几次才能准确的测量出真实的血压,例如上次测量的患者是低血压而本次测量的患者为高血压,则最高充气压力达不到本次患者的高压时就测量不到患者的高压。



技术实现要素:

本发明是为了克服现有技术存在的不足之处,提出一种电子血压测量装置的压力控制方法,以期能通过二次充气来精确的控制血压测量时的最高充气压力,缩短整个测量周期时间并提高测量精度,从而能弥补现有方法测量时间长和精度低的问题。

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

本发明一种适用于电子血压测量装置的压力控制方法,所述电子血压测量装置包含充气阀、慢速放气阀和快速放气阀;其特点是,所述压力控制方法是按如下步骤进行:

步骤1、设置所述电子血压测量装置第一次充气放气的压力区间为[pn,pm];设置第二次充气的最高压力为premax;设置测量结束时的放气压力为premin;设置所述电子血压测量装置的最高压力为premaxvalue,且pm≤premaxvalue/2;定义压力递减常数为p;定义压力控制系数为precoefficient;

步骤2、在所述电子血压测量装置测量开始时,利用所述充气阀进行第一次充气,并在充气压力达到压力上限pm时停止充气,再利用所述慢速放气阀进行放气并记录实时压力数据predata1及其对应的脉搏波形数据wdata1;

步骤3、当放气后的压力达到压力下限pn时,根据记录的脉搏波形数据wdata1计算脉搏波振幅的最大值wmax及其波峰对应的压力值pre,以及脉搏波形数据wdata1在第一个周期内的波峰对应的压力prestart和最后一个周期内的波峰对应的压力preend;

步骤4、分别比较pre与prestart和preend的大小;

如果pre>preend且pre<prestart,则令premax=pre×precoefficient,premin=pre/precoefficient,并执行步骤5;

如果pre≥prestart,则令premax=premaxvalue,premin=pre/precoefficient,并执行步骤5;

如果pre≤preend,则继续记录脉搏波形数据wdata1和实时压力数据predata1,并执行步骤6;

步骤5、启动所述充气阀进行第二次充气,并在充气压力达到premax时停止充气,再利用所述慢速放气阀进行放气并记录脉搏波形数据wdata2和实时压力数据predata2后,再执行步骤7;

步骤6、令pn-p赋值给pn后,重新计算压力值pre、第一个周期内的波峰对应的压力prestart和最后一个周期内的波峰对应的压力preend,并判断pre>preend是否成立,若成立,则令premin=pre/precoefficient,执行步骤7;否则,执行步骤6;

步骤7、当放气压力达到premin时,停止记录脉搏波形数据,并利用所述快速放气阀进行放气,同时根据所记录的脉搏波形数据计算相应血压。

本发明所述的适用于电子血压测量装置的压力控制方法的特点也在于,所述步骤3按如下过程进行:

步骤3.1、计算脉搏波形数据wdata1的极值点序号:

步骤3.1.1对脉搏波形数据wdata1进行差分计算,得到差分数据dx;

步骤3.1.2定义变量i,并初始化i=1;

步骤3.1.3取差分数据dx中的第i个数据存入变量updata中;

步骤3.1.4取差分数据dx中的第i+1个数据存入变量downdata中;

步骤3.1.5如果updata×downdata<0,则将第i个数据的序号i存入极值点序号的数组xpoint中,并执行步骤3.1.6;否则,执行步骤3.1.7;

步骤3.1.6如果updata<0,则表示第i个数据为极大值,否则,表示第i个数据为极小值;

步骤3.1.7将downdata赋值给updata;

步骤3.1.8将i+1赋值i;判断i>len(dx)是否成立,若成立,则表示得到脉搏波数据wdata1的极值点序号的数组xpoint;否则,返回步骤3.1.3;其中,len(dx)表示差分数据dx的长度;

步骤3.2、计算脉搏波振幅:

步骤3.2.1获取所述极值点序号的数组xpoint中各个序号在脉搏波数据wdata1中对应的极值点存入数组arr[]中,并从数组arr[]中找到最大值;再将数组arr[]中所有小于最大值m倍的极值点均赋值为0;

步骤3.2.2定义变量j,并初始化j=1;

步骤3.2.3如果arr[j]>0,则将xpoint[j]存入在脉搏波周期序号的数组tpoint中;

步骤3.2.4将j+1赋值j;判断j>len(arr)是否成立,若成立,则执行步骤2.2.5;否则执行步骤3.2.3;

步骤3.2.5将脉搏波周期序号的数组tpoint中相邻两个序号作为一个周期,计算脉搏波在任意第k个周期内的最大值tmaxvalue_k和最小值tminvalue_k,并得到第k个周期内的波形振幅a_k=tmaxvalue_k-tminvalue_k,从而得到脉搏波在所有周期内的波形振幅并存入数组a中;

步骤3.3取数组a中的最大值记为wmax,并在脉搏波周期序号的数组tpoint中取得最大值wmax所对应的位置wmaxpoint,则最大值wmax的波峰对应的压力值pre=predata1[wmaxpoint],并获取脉搏波形数据wdata1在第一个周期内波峰对应的压力prestart和最后一个周期内波峰对应的压力preend,即prestart=predata1[tpoint[1]],preend=predata1[tpoint[len(tpoint)]]。

与已有技术相比,本发明的有益效果体现在:

本发明通过二次充气来精确的控制血压测量时的最高充气压力,当测试者血压较低时只需一次充气即可完成测量,当测试者血压较高时只需进行第二次充气到适当的压力即可完成测量。并且能有效减少对测量者肢体压迫的时间,大幅提高了用户体验和测量精度,缩短了整个测量周期时间,从而弥补了现有方法测量时间长和精度低的问题,对于体检中心或需要集中测量血压的应用场景更加实用。

附图说明

图1为本发明方法流程图;

图2为本发明压力控制效果图;

图3为本发明脉搏波形识别效果图;

图4为本发明振幅压力柱状图。

具体实施方式

本实施例中,一种适用于电子血压测量装置的压力控制方法,其中电子血压测量装置包含充气阀、慢速放气阀和快速放气阀;其原理为设计一个第一次充气放气的压力区间设为[pn,pm],设置所述电子血压测量装置的最高压力为premaxvalue,且pm≤premaxvalue/2;

测量开始时第一次充气到pm时停止充气,并开始慢速放气并记录脉搏波形数据wdata,到压力达到pn时计算脉搏波形振幅的最大值wmax,并且计算wmax对应的波峰的压力值pre,脉搏波形在第一个周期内的波峰对应的压力prestart和最后一个周期内的波峰对应的压力preend。

比较pre与prestart和preend;

如果preend<pre<prestart,令第二次充气的最高压力premax=pre×precoefficient;测量结束放气压力premin=pre/precoefficient;其中precoefficient为压力控制系数;

如果pre≥prestart,令premax=premaxvalue;premin=pre/precoefficient;

启动第二次充气,当压力达到premax时停止充气,开启慢气阀进行放气并记录脉搏波形数据wdata;

如果pre≤preend,重复执行步骤pn=pn-p,计算pre,prestart和preend,直到pre>preend为止并令premin=pre/precoefficient;其中,p为压力递减常数;

当压力达到premin时停止记录脉搏波形数据wdata并快速放气,同时根据wdata计算血压。具体的说,如图1所示,该方法是按如下步骤进行:

步骤1、设置电子血压测量装置第一次充气放气的压力区间为[pn,pm];本实施例中,[pn,pm]=[80,140];设置第二次充气的最高压力为premax;设置测量结束时的放气压力为premin;设置电子血压测量装置的最高压力为premaxvalue=300,且pm≤premaxvalue/2;定义压力递减常数为p=10;定义压力控制系数为precoefficient,且precoefficient∈[1.5,2];本实施例中,precoefficient=2;

步骤2、在电子血压测量装置测量开始时,利用充气阀进行第一次充气,并在充气压力达到压力上限pm时停止充气,再利用慢速放气阀进行放气并记录实时压力数据predata1及其对应的脉搏波形数据wdata1;

步骤3、当放气后的压力达到压力下限pn时,如图2所示,根据记录的脉搏波形数据wdata1计算脉搏波振幅的最大值wmax及其波峰对应的压力值pre,以及脉搏波形数据wdata1在第一个周期内的波峰对应的压力prestart和最后一个周期内的波峰对应的压力preend;

本实施例中,

wdata1=[77,66,54,49,45,44,48,53,57,60,76,66,53,47,43,41,46,51,56,60,77,66,51,45,40,38,45,51,56,61,81,68,50,42,37,36,41,50,57,64,88,70,49,38,33,33,40,50,58,66,93,73,48,37,30,31,38,50,59,69,98,74,47,34,26,28,37,50,60,71,104,77,46,30,23,26,36,49,60,74,110,79,46,28,19,23,34,50,61,76,115,81,45,25,14,19,33,49,62,79,120,83,44,23,13,18,31,49,63,81,124,84,43,21,12,17,31,50,64,83,129,85,42,18,9,14,29,49,65,86,132,86,41,16,7,13,29,49,66,88,137,87,40,13,4,10,28,50,66,91,140,88,39,13,3,9,28,49,67,93,143,89,38,10,0,8,27,49,68,95,146,89,37,8,1,7,27,50,68,97,147,89,37,8,1,7,27,50,68,98,146,88,36,8,1,7,27,51,69,94,140,86,38,12,3,11,30,51,67,92,130,81,40,18,9,16,33,51,66,86,117,76,42,24];

predata1=[140,139,136,136,135,135,134,134,133,133,133,132,132,132,131,131,131,130,129,129,129,128,128,128,127,127,127,126,126,126,126,125,125,125,124,124,123,122,123,122,123,123,122,122,121,121,120,120,120,119,120,120,119,119,118,118,118,117,117,116,117,117,116,116,116,115,115,114,114,114,114,114,114,113,113,112,112,111,111,111,112,112,111,111,110,110,109,109,109,109,109,109,109,108,108,107,107,106,106,106,107,107,106,106,105,105,104,104,104,104,105,104,104,103,103,102,102,101,101,101,102,102,102,101,101,100,100,99,98,99,100,101,99,99,98,98,97,97,97,97,98,98,97,97,96,96,95,95,94,94,96,96,95,95,94,93,93,92,92,92,93,93,93,93,92,91,91,90,90,90,91,91,91,90,90,89,89,87,88,88,89,89,89,89,88,87,87,86,86,86,87,87,87,87,86,85,85,84,84,84,85,85,85,84,84,83,82,81,82,82,82,82,83,82,82,81,81,81,80,80,81,81,81,80];如图3中的压力和脉搏波形所示。

步骤3.1、计算脉搏波形数据wdata1的极值点序号:

步骤3.1.1对脉搏波形数据wdata1进行差分计算,得到差分数据dx;本实施例中,dx=[-11,-12,-5,-4,-1,4,5,4,3,16,-10,-13,-6,-4,-2,5,5,5,4,17,-11,-15,-6,-5,-2,7,6,5,5,20,-13,-18,-8,-5,-1,5,9,7,7,24,-18,-21,-11,-5,0,7,10,8,8,27,-20,-25,-11,-7,1,7,12,9,10,29,-24,-27,-13,-8,2,9,13,10,11,33,-27,-31,-16,-7,3,10,13,11,14,36,-31,-33,-18,-9,4,11,16,11,15,39,-34,-36,-20,-11,5,14,16,13,17,41,-37,-39,-21,-10,5,13,18,14,18,43,-40,-41,-22,-9,5,14,19,14,19,46,-44,-43,-24,-9,5,15,20,16,21,46,-46,-45,-25,-9,6,16,20,17,22,49,-50,-47,-27,-9,6,18,22,16,25,49,-52,-49,-26,-10,6,19,21,18,26,50,-54,-51,-28,-10,8,19,22,19,27,51,-57,-52,-29,-7,6,20,23,18,29,50,-58,-52,-29,-7,6,20,23,18,30,48,-58,-52,-28,-7,6,20,24,18,25,46,-54,-48,-26,-9,8,19,21,16,25,38,-49,-41,-22,-9,7,17,18,15];

步骤3.1.2定义变量i,并初始化i=1;

步骤3.1.3取差分数据dx中的第i个数据存入变量updata=dx[1]=-11中;

步骤3.1.4取差分数据dx中的第i+1个数据存入变量downdata=dx[2]=-12中;

步骤3.1.5如果updata×downdata<0,则将第i个数据的序号i存入极值点序号的数组xpoint中,并执行步骤3.1.6;否则,执行步骤3.1.7;

步骤3.1.6如果updata<0,则表示第i个数据为极大值,否则,表示第i个数据为极小值;

步骤3.1.7将downdata赋值给updata;

步骤3.1.8将i+1赋值i;判断i>len(dx)是否成立,若成立,则表示得到脉搏波数据wdata1的极值点序号的数组xpoint;否则,返回步骤3.1.3;其中,len(dx)表示差分数据dx的长度;

本实施例中,

xpoint=[11,16,21,26,31,36,41,45,51,55,61,65,71,75,81,85,91,95,101,105,111,115,121,125,131,135,141,145,151,155,161,165,171,175,181,185,191,195,201,205,211,215];

步骤3.2、计算脉搏波振幅:

步骤3.2.1获取极值点序号的数组xpoint中各个序号在脉搏波数据wdata1中对应的极值点存入数组arr[]中,并从数组arr[]中找到最大值;再将数组arr[]中所有小于最大值m倍的极值点均赋值为0;m∈(0.5,1);本实施例中,m=0.6;得到arr=[76,0,77,0,81,0,93,0,98,0,104,0,110,0,115,0,120,0,124,0,129,0,132,0,137,0,140,0,143,0,146,0,147,0,146,0,140];

步骤3.2.2定义变量j,并初始化j=1;

步骤3.2.3如果arr[j]>0,则将xpoint[j]存入在脉搏波周期序号的数组tpoint中;步骤3.2.4将j+1赋值j;判断j>len(arr)是否成立,若成立,则执行步骤3.2.5;否则执行步骤3.2.3;

步骤3.2.5通过步骤2.2.3和2.2.4的循环计算得到:

tpoint=[11,21,31,41,51,61,71,81,91,101,111,121,131,141,151,161,171,181,191,201,211];如图3中的脉搏波形序号所示。将脉搏波周期序号的数组tpoint中相邻两个序号作为一个周期,计算脉搏波在任意第k个周期内的最大值tmaxvalue_k和最小值tminvalue_k,并得到第k个周期内的波形振幅a_k=tmaxvalue_k-tminvalue_k,从而得到脉搏波在所有周期内的波形振幅并存入数组a中;

本实施例中,

a=[35,39,45,55,63,72,81,91,101,107,112,120,125,133,137,143,145,146,145,137,121],如图4所示。

步骤3.3取数组a中的最大值记为wmax,并在脉搏波周期序号的数组tpoint中取得最大值wmax所对应的位置wmaxpoint,则最大值wmax的波峰对应的压力值pre=predata1[wmaxpoint],并获取脉搏波形数据wdata1在第一个周期内波峰对应的压力prestart和最后一个周期内波峰对应的压力preend,即prestart=predata1[tpoint[1]],preend=predata1[tpoint[len(tpoint)]]。通过计算得到wmax=146,pre=90,prestart=133,preend=80;

步骤4、分别比较pre与prestart和preend的大小;

如果pre>preend且pre<prestart,则令premax=pre×precoefficient,premin=pre/precoefficient,并执行步骤5;本实施例中,premax=pre×precoefficient=89×2=178,premin=pre/precoefficient=90/2=45;

如果pre≥prestart,则令premax=premaxvalue,premin=pre/precoefficient,并执行步骤5;

如果pre≤preend,则继续记录脉搏波形数据wdata1和实时压力数据predata1,并执行步骤6;

步骤5、启动充气阀进行第二次充气,并在充气压力达到premax=180时停止充气,再利用慢速放气阀进行放气并记录脉搏波形数据wdata2和实时压力数据predata2后,再执行步骤7;

步骤6、令pn-p赋值给pn后,当压力再次达到pn时,如图2所示,重新计算压力值pre,prestart,preend,并判断pre>preend是否成立,若成立,则令premin=pre/precoefficient,执行步骤7;否则,执行步骤6;

步骤7、当放气压力达到premin=45时,停止记录脉搏波形数据,并利用快速放气阀进行放气,同时根据所记录的脉搏波形数据计算相应血压。

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