基于示波法的电子血压计系统设计
时间:01-13
来源:互联网
点击:
2.2.2 驱动电路设计
图6为气路驱动电路。HLPM30A气泵和HLV01A电磁阀的工作驱动电流分别为450 mA和75 mA,控制气泵和电磁阀工作的信号由LM3S1138控制器发出,而LM3S1138控制器的数字I/O输出电流不能满足要求。因此,为给气泵和电磁阀提供合适的驱动电流,采用可输出500 mA电流的达林顿管ULN2803驱动电路来驱动气泵和电磁阀工作,分别利用ULN2803的第1路、第2路来驱动电磁阀和气泵。
2.2.3 滤波放大电路
从压力传感器出来的信号是脉搏信号和静压信号的混合信号,还夹杂着来自外界的高频干扰和直流或低频分量。静压信号属低频信号,频率小于或等于0.04 Hz,脉搏信号频率一般约为1 Hz。虽然所选的压力传感器具有放大功能,但是对脉搏振荡信号的放大有限,因此主要是静压信号。将混合信号分为两部分接入LM3S1138控制器,一路直接连接A/D转换器进行模/数转换,得到静压信号数据;另一路通过带通滤波放大电路后进行模/数转换,得到放大的脉搏信号数据。
如图7所示,滤波器由2个决定截止频率的RC网络组成。这两个截止频率由以下公式计算。
考虑到低血压患者的血压、心率比正常人低,又要保证滤除干扰分量,故这里设定脉搏波频率为0.5~5 Hz,因此取R1=1 kΩ,C1=33μF,R3=1 MΩ,C2=0.33μF。
此电路不仅可以提取出所需的脉搏信号,还对微弱的脉搏信号进行了放大。脉搏信号的强度因人而异,但一般范围为1~3 mmHg。根据压力传感器MPXV5050GP的传递函数,这个压力信号转换的电压信号为12~36 mV。由于滤波器在1 Hz信号处衰减10 dB,因此振荡波信号变成3.8~11.4 mV。经过试验测试,将放大器的放大倍数设定为150,使得信号变化范围定位在LM3S1138的A/D转换灵敏度较高的区域,可以提高数据采集的精度。
3 系统软件设计
3.1系统工作主流程
系统工作主流程如图8所示,其中测量工作模式为默认模式。
血压测量模式下,完成血压的测量显示,并对测得的血压数据进行分析,若有异常(血压偏高、血压偏低、心率较慢、心率较快、错误测量等),立即进行报警提示。报警条件:
①收缩压>145 mmHg或收缩压<95 mmHg;
②舒张压>90 mmHg或舒张压<45 mmHg;
③心率>105或心率<45。
测量完毕后,提示是否保存数据。系统最多可以对16组数据资料进行存储,每组可存331条记录。
查看记录操作模式下,可以调出16组血压数据列表或生成日、周、月血压情况的折线图,便于对某一段时期血压变化情况进一步的观察和分析。
3.2血压测量流程
血压测量采集和处理过程中,有以下几组重要的序列和数据。设原始静压信号序列为{statk_BP[ i],i=0,1,…,n-1),脉搏信号序列{pluse_BP[ i],i=0,1,…,n-1}。经过归一化后,峰值序列{peak_BP[ i],i=0,1,…,n-1},峰值包络中最大值为max_peak。峰值时间间隔序列为{time_peak[ i],i=0,1,…,n-1)。
如图9所示,测量模式下,气泵自动加压进行充气,当袖带中压力至大于或等于200 mmHg,无脉搏信号出现时,停止充气,袖带中气体缓慢释放。每隔5 ms采集1次脉搏信号值,在检测到第1个峰值后,以周期为5 ms采集脉搏信号值和静压信号值,分别获得静压信号序列static_BP[ i]和脉搏信号序列pluse_BP[ i],并判断采集的脉搏信号值是否为峰值。若是峰值,则记录此时的脉搏信号值和静压信号值,以及从上一个峰值到当前时刻的时间差,分别生成序峰值序列peak_BP[ i]和峰值时间间隔序列time_peak[ i]。一般,当袖带压力Pc≤60 mmHg时,脉搏信号峰值消失,当连续4 s内检测不到脉搏信号峰值,系统退出本次血压测量。
3.3血压和心率计算流程
示波法血压测量没有完善的理论推导,使得特征点的确定只能依赖采集样本的统计归纳,因而示波法测量血压是基于统计的方法,有一定的离散性。如图10所示,数据处理过程主要包括滤波处理、心跳周期的计算、平均压力位置的确定、收缩压和舒张压的计算4个重要部分。
滤波处理主要用于对峰值序列peak_BP[ i]中相邻跳变较大的数据进行滤除噪点处理优化,增加原始数据的线性度。
心跳周期,指2个脉搏波峰值的时间间隔。为提高结果的准确性,对放气过程中的峰值时间间隔序列time_peak[ i]取算数平均值,得到平均周期Ta,则心率为R=1/Ta。
平均压力值,指脉搏信号的包络的峰值位置对应的静压值。通过对滤波处理的峰值序列相邻数据进行比较,可以得到脉搏信号包络的峰值max_peak=peak_BP[a],则血压的平均压力值Pm=static__BP[a]。
根据幅值系数法原则,Ps/Pm=Ks和Pd/Pm=Kd。由于收缩压和舒张压在静压曲线中位置由脉搏信号峰值包络确定,可得出:peak_BP[ b]/max_peak=Ks和peak_BP[c]/max_peak=Kd。对应的b和c的值,就是收缩压和舒张压在静压序列中的位置,即收缩压Ps=static_BP[ b]和舒张压Pd=static_BP[c]。其中,医学临床普遍采用的幅度系数数值,即Ks=0.48,Kd=0.58。
图6为气路驱动电路。HLPM30A气泵和HLV01A电磁阀的工作驱动电流分别为450 mA和75 mA,控制气泵和电磁阀工作的信号由LM3S1138控制器发出,而LM3S1138控制器的数字I/O输出电流不能满足要求。因此,为给气泵和电磁阀提供合适的驱动电流,采用可输出500 mA电流的达林顿管ULN2803驱动电路来驱动气泵和电磁阀工作,分别利用ULN2803的第1路、第2路来驱动电磁阀和气泵。
2.2.3 滤波放大电路
从压力传感器出来的信号是脉搏信号和静压信号的混合信号,还夹杂着来自外界的高频干扰和直流或低频分量。静压信号属低频信号,频率小于或等于0.04 Hz,脉搏信号频率一般约为1 Hz。虽然所选的压力传感器具有放大功能,但是对脉搏振荡信号的放大有限,因此主要是静压信号。将混合信号分为两部分接入LM3S1138控制器,一路直接连接A/D转换器进行模/数转换,得到静压信号数据;另一路通过带通滤波放大电路后进行模/数转换,得到放大的脉搏信号数据。
如图7所示,滤波器由2个决定截止频率的RC网络组成。这两个截止频率由以下公式计算。
考虑到低血压患者的血压、心率比正常人低,又要保证滤除干扰分量,故这里设定脉搏波频率为0.5~5 Hz,因此取R1=1 kΩ,C1=33μF,R3=1 MΩ,C2=0.33μF。
此电路不仅可以提取出所需的脉搏信号,还对微弱的脉搏信号进行了放大。脉搏信号的强度因人而异,但一般范围为1~3 mmHg。根据压力传感器MPXV5050GP的传递函数,这个压力信号转换的电压信号为12~36 mV。由于滤波器在1 Hz信号处衰减10 dB,因此振荡波信号变成3.8~11.4 mV。经过试验测试,将放大器的放大倍数设定为150,使得信号变化范围定位在LM3S1138的A/D转换灵敏度较高的区域,可以提高数据采集的精度。
3 系统软件设计
3.1系统工作主流程
系统工作主流程如图8所示,其中测量工作模式为默认模式。
血压测量模式下,完成血压的测量显示,并对测得的血压数据进行分析,若有异常(血压偏高、血压偏低、心率较慢、心率较快、错误测量等),立即进行报警提示。报警条件:
①收缩压>145 mmHg或收缩压<95 mmHg;
②舒张压>90 mmHg或舒张压<45 mmHg;
③心率>105或心率<45。
测量完毕后,提示是否保存数据。系统最多可以对16组数据资料进行存储,每组可存331条记录。
查看记录操作模式下,可以调出16组血压数据列表或生成日、周、月血压情况的折线图,便于对某一段时期血压变化情况进一步的观察和分析。
3.2血压测量流程
血压测量采集和处理过程中,有以下几组重要的序列和数据。设原始静压信号序列为{statk_BP[ i],i=0,1,…,n-1),脉搏信号序列{pluse_BP[ i],i=0,1,…,n-1}。经过归一化后,峰值序列{peak_BP[ i],i=0,1,…,n-1},峰值包络中最大值为max_peak。峰值时间间隔序列为{time_peak[ i],i=0,1,…,n-1)。
如图9所示,测量模式下,气泵自动加压进行充气,当袖带中压力至大于或等于200 mmHg,无脉搏信号出现时,停止充气,袖带中气体缓慢释放。每隔5 ms采集1次脉搏信号值,在检测到第1个峰值后,以周期为5 ms采集脉搏信号值和静压信号值,分别获得静压信号序列static_BP[ i]和脉搏信号序列pluse_BP[ i],并判断采集的脉搏信号值是否为峰值。若是峰值,则记录此时的脉搏信号值和静压信号值,以及从上一个峰值到当前时刻的时间差,分别生成序峰值序列peak_BP[ i]和峰值时间间隔序列time_peak[ i]。一般,当袖带压力Pc≤60 mmHg时,脉搏信号峰值消失,当连续4 s内检测不到脉搏信号峰值,系统退出本次血压测量。
3.3血压和心率计算流程
示波法血压测量没有完善的理论推导,使得特征点的确定只能依赖采集样本的统计归纳,因而示波法测量血压是基于统计的方法,有一定的离散性。如图10所示,数据处理过程主要包括滤波处理、心跳周期的计算、平均压力位置的确定、收缩压和舒张压的计算4个重要部分。
滤波处理主要用于对峰值序列peak_BP[ i]中相邻跳变较大的数据进行滤除噪点处理优化,增加原始数据的线性度。
心跳周期,指2个脉搏波峰值的时间间隔。为提高结果的准确性,对放气过程中的峰值时间间隔序列time_peak[ i]取算数平均值,得到平均周期Ta,则心率为R=1/Ta。
平均压力值,指脉搏信号的包络的峰值位置对应的静压值。通过对滤波处理的峰值序列相邻数据进行比较,可以得到脉搏信号包络的峰值max_peak=peak_BP[a],则血压的平均压力值Pm=static__BP[a]。
根据幅值系数法原则,Ps/Pm=Ks和Pd/Pm=Kd。由于收缩压和舒张压在静压曲线中位置由脉搏信号峰值包络确定,可得出:peak_BP[ b]/max_peak=Ks和peak_BP[c]/max_peak=Kd。对应的b和c的值,就是收缩压和舒张压在静压序列中的位置,即收缩压Ps=static_BP[ b]和舒张压Pd=static_BP[c]。其中,医学临床普遍采用的幅度系数数值,即Ks=0.48,Kd=0.58。
电子 自动化 传感器 电路 压力传感器 电压 半导体 电流 滤波器 放大器 相关文章:
- 基于中颖SH79F164单片机的电子血压计应用(07-01)
- 医疗电子发展方向(04-17)
- 世界首个固态量子处理器问世(07-13)
- 医疗电子技术大会折射行业发展方向(04-18)
- 医疗电子:梦想与现实的巨大鸿沟(07-16)
- “聪明的药丸”(07-20)