可穿戴血压检测系统算法研究与设计

2022-07-05 05:42宇,何鸿,蒋
中国测试 2022年6期
关键词:袖带脉搏幅值

庞 宇,何 鸿,蒋 伟

(重庆邮电大学 光电信息感测与传输技术重庆市重点实验室,重庆 400065)

0 引 言

血压是作为评估心血管风险和疾病的重要体征参数之一,一段时间内的血压变化趋势通常反映着心血管和呼吸系统的健康状况,在评估心血管功能和风险方面起着重要作用[1]。血压包括收缩压和舒张压,正常成年人收缩压的范围一般是90~140 mmHg,也称为高压,若大于140 mmHg,则血压偏高。收缩压是与心脏收缩有关的压力,它表示心脏每搏一次将血液泵入动脉所需的最大压力。舒张压的正常范围一般是60~90 mmHg,也称为低压,舒张压表示心脏为了产生下一次心跳而必须克服的压力,偏高或者偏低的血压容易引发各类心血管疾病[2]。在无创测量血压中,示波法测血压往往是比较好的选择,由于其便携式、无创测量、无汞风险等优势,在测量血压方面得到了广大医护人员和研究者的认可[3]。

示波法测量血压是利用袖带线性或逐步放气时,人体脉搏波引起袖带内压力振荡形成振荡脉搏波,并根据波形的特征点,可计算出收缩压和舒张压。示波法测量血压在国内外也有较为广泛的研究,针对幅度系数法自适应能力差的问题,华斌等利用kmeans算法对包络唯一聚类,然后对各类包络分别采用梯度下降法获取一组最优比例系数,结果表明该方法能够提高血压测量精度[4]。温亮等采用2个高斯函数之和作为模型对脉搏波包络线进行拟合,拟合后的高斯函数参数作为输入,通过2个前端神经网络进行收缩压和舒张压的判定[5]。国外的Ahmadreza等提出基于人工智能的无创血压估计方法,该方法将血压估计方法转化为序列对序列的分类问题,通过小波包分解得到相应的细节部分和近似部分,并提取每一个分段的特征,从而形成一个分段序列,并在收缩压和舒张压之间设计一个BiLSTM循环神经网络来估计血压值[6]。上述示波法血压检测方法虽然能够提高测量精度,但是算法复杂度高,MCU(单片微型计算机)较难实现,难以做到小型化、可穿戴的特点。

综合以上分析,本文采用基于基波的方法实现振荡脉搏波信号幅值轮廓处理,通过数字滤波的方法提取出脉搏波信号,并结合一阶差分法完成脉搏波峰值点定位。对定位峰值序列进行拉格朗日差值运算,能够有效减少离散峰值匹配不均造成幅度系数匹配不良的问题。该算法在减少计算量的同时能够提高血压的测量精度,对可穿戴血压检测系统的研究具有较大意义。

1 血压测量原理

袖带式血压测量主要采用示波法测量,测量原理如图1所示[7]。通过确定振荡脉搏波的幅值和脉搏波最大幅值的比例关系(临床上判定幅值最大处对应压力值即为平均压)来确定收缩压和舒张压,如下式:

图1 示波法原理示意图

式中:AS、AM、AD——收缩压、平均压、舒张压对应的脉搏波幅度值;

K1、K2——变幅度系数。

结合系数K1,K2,系数是随平均压的变化而变化的,变幅度系数表如表1所示[8]。收缩压系数K1的取值范围一般是在0.52~0.64,舒张压系数K2的取值范围一般是0.50~0.85。

表1 变幅度系数表

2 信号采集硬件设计

系统电路硬件部分主要包括电源单元、血压信号采集单元、算法处理单元、人机交互单元等,其中血压信号采集单元主要由驱动电路、袖带、气泵(DQB030-A型)、电磁阀、压力传感器等部分,信号采集装置结构示意图如图2所示。

图2 信号采集装置结构示意图

采集过程为气泵对袖带进行充气,通过压力传感器采集袖带内的压力值,当压力上升至180 mmHg时,关闭气泵,然后通过PWM波控制电磁阀实现匀速放气,放气过程中,同样通过压力传感器采集袖带内的压力值,采样率为250 Hz,得到含有袖带静压力和振荡脉搏波的混合信号。

本文使用的压力传感器为飞思卡尔公司设计的MP3V5050,该传感器能够根据袖带内压力的变化而调整输出的电压值,通过单片机内置ADC采集压力传感器输出电压的AD值。袖带外接一个压力表,对袖带充气,记录AD采样值和压力表显示值,便可以得到AD采样值和压力的定量关系,AD采样值和压力值的关系如表2所示。

表2 AD采样值和压力值对应关系

它们的变化关系如图3所示。

图3 AD采样值和压力值的关系

可以看出,压力传感器输出的AD采样值和压力具有线性关系,对它们进行一次多项式拟合,得到压力传感器输出的AD采样值c和压力P的关系为:

3 血压信号处理设计

3.1 示波法信号提取

采集到的原始混合信号F(x)中主要包含了袖带静压力信号、示波法血压信号、高频噪声、基线漂移等[7],原始混合信号如图4(a)所示。主要的脉搏波信号即为示波法信号,频率一般是1~10 Hz左右分布,幅值远远小于袖带静压力信号的幅值,实验验证两者的幅值比例约为40∶1,故可以将混合信号平滑处理后来替代袖带压力信号,忽略脉搏波信号对压力信号的影响。

图4 原始信号的处理

考虑到袖带压力信号G(x)属于低频信号,本文采用移动平均滤波分离出袖带静压信号和示波法脉搏波信号,其计算公式为:

式中:n≥m,xn-m+1~xn——当前滑动窗口依次采集到的数据样本;

yn——算法滤波结果;

m——窗函数宽度。

可以将连续的采样数据看成一个长度固定为m的队列。

本算法选取的窗函数宽度为100,能够分离出频率在1 Hz以下的袖带静压信号和示波法脉搏波信号,分离后的袖带静压信号和脉搏波信号分别如图4(b)和图4(c)所示,提取出的振荡脉搏波信号即为示波法血压信号。

3.2 峰值振荡脉搏波分析

分离出来的振荡脉搏波信号如图5(a)所示,其信号的频域分析如图5(b)所示,主要频率分布在20 Hz以内。分离出的振荡脉搏波包含较多的干扰噪声,如高频噪声、基线漂移等,基线漂移主要是由于人体呼吸运动和袖带相对于皮肤的抖动引起[9]。基线漂移和高频干扰对脉搏波的幅值判定和峰值定位影响极大,从而导致血压特征点判断误差变大。经过研究,选用一维离散形态学进行基线漂移信号处理具有良好的效果,形态学主要运算有腐蚀和膨胀,两种运算能够组成开运算和闭运算,这四种运算相互结合使用可以用于信号的噪声处理、边缘识别及特征提取等。

图5 基线漂移信号处理

分离出来的振荡脉搏波信号为一维离散信号f(i),(i=0,1,2,···,n-1),结构元素为g(j),(j=0,1,2,···,m-1),其中n>m。腐蚀是取结构元素g(j)与脉搏波f(i)的最大相关点集,膨胀是取结构元素g(j)与脉搏波信号f(i)完全相关点所对应的中心原点,是腐蚀的逆运算,进行对偶运算即可,腐蚀和膨胀运算定义如下[10]:

膨胀和腐蚀可以组成开、闭运算,利用g(j)对f(i)做形态学开运算,其开运算定义式为:

利用g(j)对f(i)做形态学闭运算,其闭运算定义式为:

开闭运算具有等幂性,振荡脉搏波通过一次开闭运算就可以滤除所有的基于结构元素的噪声。上式计算只包含加、减等简单运算,运算速度较快。振荡脉搏波的采样频率为250 Hz,一个特征波宽度约为200,结构元素选用直线型,宽度设计为210,高度按经验取值为10。通过形态学滤波去除基线漂移后的信号如图5(c)所示,其频域分析如图5(d)所示,可以看出,该算法能够去除基线漂移,并且基本滤除20 Hz以上的高频噪声。

3.3 基波信号

考虑到采用的是振荡脉搏波的幅值比例方法测量血压,且脉搏波信号大多数处于低频范围,采用低通滤波器提取出振荡脉搏波中的基波信号。结合采集状态下脉搏波的频率,选择2 Hz窄频率带来选择基波主要信号,利用数字滤波来构建低通滤波器。本文通过将模拟低通滤波器转换为数字低通滤波器来实现滤波的目的,RC低通滤波器的微分方程为[11]:

式中:R——滤波电阻;

C——滤波电容;

ui——输入电压;

u0——输出电压。

将其转换为差分形式:

其中T为信号的采样周期,又由角频率 ω=1/RC,ω =2πfc得:

式中:ui(k)——当前输入数据;

u0(k)——处理后的输出数据;

u0(k-1)——上次处理后的输出数据;

a——低通滤波系数;

fc——截止频率。

即可实现对脉搏波信号的数字滤波。

实验发现,选取滤波系数a为0.025 12,血压信号中的基波信号近似正弦波信号,定位峰值过程中不容易识别干扰波,每个脉搏波的峰值更显著,有利于峰值定位。基波脉搏波振荡信号幅值轮廓更明确,且主要频率分布在1~2 Hz左右,如图6(a)所示。

图6 基波信号处理

振荡脉搏波峰值查找采用一阶差分法定位,主要是通过对相邻数据进行一阶差分运算。设需要处理的第i点处数据记为f(i),后向差分记为 ∇f(i),定义式为:

若y(i)为负,则判定n点为极值点,即只需判定∇f(i)的正负:若∇f(i)为正,则i点为波峰点,若∇f(i)为负,则i点为波谷点。依次完成整组数据的一阶差分定位,判断y(i)的正负,完成波峰值的定位,定位结果如图6(a)所示,频域分析结果如图6(b)所示。

3.4 插值法计算血压

振荡脉搏信号的基波信号幅值轮廓明显,无重搏波影响,峰值定位准确,对血压幅值判定计算有显著的帮助。通过离散峰值序列,需要找到对应幅值波峰,完成与袖带压匹配。本文采用拉格朗日插值法对脉搏波离散序列进行插值计算,匹配对应波峰幅值,来完成血压匹配计算。

设满足条件f(ai)=bi,(i=1,2,···,n+1)的次数不超过n的多项式f(x)=c0+c1x+c2x2+···+cnxn。可得一个以c0,c1,…cn为方程系数的n+1个线性方程,这个方程组的系数行列式D为[12]:

根据克莱姆法则知cj=Dj+1/D(j=0,1,···,n),b0,b1,···,bn替换行列式的第j+1列,如下:

将cj带入f(x)计算,可得:

上式为范德蒙行列式,计算可得:

代入上式f(x),可得拉格日插值公式:

通过拉格朗日插值法确定收缩压和舒张压的特征点坐标后,便可计算血压,血压计算原理如图7所示。

图7 血压计算原理

经综合测量,结合K1,K2的变幅度系数取值,振荡脉搏波峰值AM为离散序列中的最大值,收缩压和舒张压的特征幅值点通过拉格朗日插值法进行寻找,即图7峰值点序列中虚线通过的实心圆点,计算流程图如图8所示。

图8 血压计算流程

4 实验分析

本血压检测算法测量结果和听诊法(测量血压的金标准)进行对比,实验装置为腕式血压检测装置,如图9(a)所示,标准听诊法血压计如图9(b)所示。

图9 测量装置图

实验选取10名测试者,年龄20岁~30岁,测试要求实验前24 h内不酗酒、身体无不良反应以及身体状态良好。测试时要求测试对象静坐,手腕固定袖带,调整坐姿使手腕与心脏平齐,启动设备采集数据并计算血压值。

测量结果如图10所示,本文采用Bland-Altman分析两者数据的一致性,实验数据与标准数据的平均值作为横坐标,差值作为纵坐标,中间的虚线代表样本平均差值,一致性限值主要是由两组差值计算得到,为两组对比数据的差值均值的95%置信区间,如下图两端虚线。

图10 血压测量结果一致性分析

通过对测量结果的一致性分析可以得知,与听诊法相比,只有个别点分布在上下限值附近,其中收缩压最大限值为12.81 mmHg,舒张压最大限值为 12.98 mmHg,满足 ANSI/AAMI标准规定的(5±8 )mmHg要求[13],能够作为血压判定依据。

5 结束语

在可穿戴血压检测系统测量血压过程中,采集到的信号存在许多噪声,如信号混合叠加、高频、基线漂移等。所以对信号的处理尤为重要,这将直接影响到血压判定的准确性。本文通过对采集到的袖带式振荡脉搏波信号进行了研究与处理,主要创新点有以下几个部分:1)对特征轮廓不明显的脉搏波采用了基波信号处理,使得幅值轮廓明显,有利于幅度系数法的系数匹配计算;2)波峰离散序列中,采用拉格朗日插值法进行波峰坐标定位,减小了需要拟合的数据计算。在可穿戴血压检测系统中,此血压检测算法具有可实现性和工程价值。

猜你喜欢
袖带脉搏幅值
基于Duffing系统的微弱超声导波幅值检测方法研究
室温下7050铝合金循环变形研究
介绍一种防止股部止血袖带下滑的新方法
心电监护袖带反向缚扎法在慢性肝病患者中的应用研究
五步量出准确的血压
用心感受狗狗的脉搏
自己量血压,记住4句话
光电式脉搏波检测系统的研究
基于S变换的交流电网幅值检测系统计算机仿真研究
Prevention of aspiration of gastric contents during attempt in tracheal intubation in the semi-lateral and lateral positions