血压计算法
来源:互联网 发布:c语言程序 点菜 编辑:程序博客网 时间:2024/04/29 03:17
1.1 动脉平均压的计算
动脉平均压(MAP)是血压波(P(t))形在一个周期内的积分除以周期T,其定义如下:
均压反映了动脉血压的数值和波形。从试波法原理的两条基本原则,振荡波包络线呈现出近似抛物线的形态,脉搏振荡波振幅最大对应的袖带压力为平均压,可以顺利推导出平均压的计算方法。
1.2 收缩压与舒张压的计算
基于试波法这一原理,可以直接计算出平均压,收缩压与舒张压是不能直接测量出来的,但是可以通过他们与平均压的关系或者包络线的特征可以计算出收缩压与舒张压。目前血压计开发商都在研究这一块,其具体算法每一家都有细微的差别,比如幅度系数法,波形特征法,小波分析等等。
幅值系数法,是利用压力波的最大幅值的比例关系进行识别收缩压合舒张压。目前电子血压计的产品,绝大部分都是基于这个方法的计算出血压。此方法已经得到医学界的认可,在临床上得到运用。幅度系数的法的原理,参考下图(图1-1)。可以看到脉搏波的幅值随压力的变化而变化,幅值最大那个脉搏波为Pmax,收缩压对应的脉搏波为SBP,舒张压对应的脉搏波为DBP,他们之间的函数关系:
SBP = a * Pmax ( 0.4 < a < 0.7 )
DBP = b * Pmax ( 0.4 < b < 0.8 )
每一个脉搏波都会有一个对应的压力,所以根据这个公式,就可以计算出收缩压和舒张压。
图1-1
波形特征法,是观察脉搏波幅值突变的点,来辨别收缩压合舒张压。收缩压判别点在脉搏波幅度有明显增加,舒张压判别点在脉搏波幅度有明显减少,根据差分算法,求相邻脉搏波幅度的差值,认为差值最大的为突变点。
小波分析,即通过对包络线的拐点辨别,求出收缩压和舒张压。压力包络线拐点在理论上是可行的,但是实际应用时,因为器件的工艺,放大后的信号误差比较大,拐点并不明显,并且容易受到外部干扰,产生假的脉搏拐点,这也使得压力波包络线拐点的确定非常困难。
1.3 心率的计算
心率是指心脏每分钟跳动的次数。因为心脏与脉搏具有一致的跳动频率,所以可以直接根据脉搏的波形来测定,因为测量的时间限制,不可能测量1min,所以只能通过几个波形,估算出心率。
设t秒内N个波形,计算出的心率为F(次/分)
F = 60 N/t
1.4 动脉硬化的计算
动脉弹性是反映人体心血管系统功能的重压指标,反映了心血管系统功能的好坏。从大量的实践数据可以看出,放气过程中脉搏波幅值的变化趋势从一个侧面反映了动脉弹性的好坏。
动脉弹性越好,其对应脉搏曲线具有越陡峭的峰值变化,动脉弹性越差,对应脉搏曲线的峰值变化越平缓。从弹性理论的观点解释:即血管壁弹性越好,越容易在释放压力后恢复到院里的位置。
动脉硬化一般是在线性减压时过程中,计算从最大压力峰值的0.8倍附近对应的脉搏曲线的宽度作为动脉弹性指数。
1.5 打气与漏气控制
加压或减压采用PID的算法,采用PID的优势,可以线性控制气体压力线性变化,线性变化可以提高血压数值的可靠性。
采用增量式PID计算公式,对应PID的解释如下:
基本偏差e(t),表示设定目标值与当前测量值的差值,设定目标值为被减数,结果可以为正或负,正数表示没有达到,负数表示已经超过了设定值。这是面向比例项用的变动数据。
积分偏差Int(e(t)),表示每次测量的偏差值的代数总和,必须考虑到他的正负符号的运算。这是面向积分项的一个变动数据。
相对偏差dif(e(t)),用本次的基本偏差减去上一次的基本偏差。这是面向微分项的一个变动数据。
三个基本参数:Kp、Ki、Kd,分别称为比例常数、积分常数、微分常数。
标准的直接计算公式:
△Pout = Kp * e(t) + Ki * Int(e(t)) + Kd * dif(e(t))
三个基本参数Kp、Ki、Kd在实际控制器中的作用:
比例调节的作用:按比例反应系统的偏差,系统一旦出现偏差,比例调节立即产生调试作用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。
积分调节作用:使系统消除稳态误差,提高无误差度。因为有误差,积分调节就进行,直至无误差。加入积分调节可使系统稳定性下降,动态响应变慢。
微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差没有形成之前已被微分调节作用消除。加入微分调节可改善系统的动态性能,减少超调,减少调节时间。
电路有两路PWM分别控制加压与减压,通过PID计算PWM调制的改变量△Pout,新的PWM输出值 = 上次PWM的输出值 + △Pout
采用PID控制大气,线性可以完全控制,对脉搏波无明显影响,控制后的波形如下图(图1-2,图1-3):
图1-2
- 血压计算法
- 蓝牙-电子血压计
- 接触血压计板
- 血压计板子问题分析
- 电子血压计并非人人适用
- 电子血压计遇到的问题
- NEC开发新型可穿戴轻触血压计
- 血压计代码学习笔记2017.6.2
- 血压计调板学习笔记2017.6.9
- Java实现的模拟进度计量器(模拟血压计实例)
- 电子血压计是使用电池好还是使用电源好
- 血压计准吗?一张图告诉你正确的使用方法
- 开发低功耗蓝牙4.0血压计连接与收发数据
- mumu血压计“拼团”开启,百度与厂商打造双赢
- 解决血压计板子只充气的调试过程
- mumu血压计母亲节“拼团”盛大开启,百度与厂商打造双赢局面
- 算法
- 算法
- ios开发中@property的属性介绍
- ubuntu 10.04vim7.3使用系统剪贴板
- iOS通过http post上传图片(转自BorisSun)
- 基于MSP430的脉搏血氧仪设计解决方案
- BinCrypt
- 血压计算法
- 如何在C/C++中动态分配二维数组
- iPhone/Mac Objective-C内存管理教程和原理剖析
- android的URI学习
- ORACLE JDBC的getGeneratedKeys
- 也谈Flash mmorpg地图问题
- 阻止保存要求重新创建表的更改
- 将类的声明和实现分离
- 基于 mini2440 电阻式触摸屏(二):S3C2440 电阻式触摸屏接口、内部ADC结构