疾病专题:前列腺炎颈椎病高血压心内科糖尿病痛风冠心病宫颈疾病关节炎肝病癌症呼吸内科感冒神经内科分泌内科泌尿内科消化内科整形

数字血压计的软件系统研制

www.cnkang.com  2007-3-21 13:51:00  中华康网

  摘要: 本文介绍自行研制的一种多气阀袖套式数字血压计的软件系统,该软件系统基于Franklin C语言,采用模块化设计方式,运用平滑技术、FFT数字滤波,使该数字血压计克服了目前电子血压计精度差、重复性不好、测量范围窄等缺点,且具有开发周期短、良好的扩展性、移植性等特点。

  中图分类号: R318.6  文献标识码: A  文章编号: 1005-202X(2000)03-0150-02

The design of software system of oscillometric blood pressure monitor

TAN Xiao-dan, CHEN Ya-ming, DENG Qin-kai

  (Dept. Of BME. First Military Medical University, Guangzhou 510515, China)

  Abstract:A software system of the oscillometric blood pressure monitor is presented. Based on Franklin C and modular design, using smoothing technology and FFT digital signal processing, this software system has been proved to be short developing period, good extendibility and transplanting. As a result, the monitor is more stable and can be used to measure the blood pressure of adults and children.

  Key words:Franklin C;FFT;digital blood pressure monitor

  前言:一般单片机系统的软件设计都是基于汇编语言,开发周期长,源程序可读性差。作者在自行研制的数字血压计的软件系统中,运用Franklin C语言进行模块化开发设计,设计周期短,源程序可读性好,具有良好的扩展性和移植性。

  作者对目前电子血压计存在的测量误差大、重复性不好、测量范围窄等问题进行了大量的实验研究,在尽量不增加硬件电路的基础上,通过在软件上的改进,克服了以上问题,实现了高精度的电子血压测量。

  1 Franklin C简介

  Franklin C语言符合ANSI C规范。它除了提供全部ANSI C 关键字以外,还提供了一个特定面向通用的嵌入式程序设计系统和特定的单片机结构的扩展关键字集合,是用户在软件设计开发中,既能享受到高级语言的各种方便,又能享受到汇编语言在充分利用单片机硬件方面的便利。如:用户可在C源程序级访问单片机所特有的面向位指令;而实现中断服务程序,只需将其作为一C函数,再在函数说明中加入interrupt扩展关键字和一个数字来实现,该数字对应于中断程序的中断向量。

  一般库函数越丰富,开发设计者运用越方便,开发者也可自行设计一些库函数添加其中,方便开发工作。

  2 设计原理

  本数字血压计是基于示波法原理的单片机系统,其硬件系统结构参见参考文献1,其软件系统采用模块化设计,总流程如图1。整个软件系统的核心是脉动信号处理模块,静压力信号处理模块1、2,异常处理模块1、2。

  2.1 静压力信号处理模块

  静压力信号处理模块流程如图2a。本数字血压计采用80C552单片机,80C552本身带有8路10bitA/D,在此只取8bit即可达到精度上的要求,又节省CPU和RAM空间。由A/D转换的静压力信号temp (i )进行8点平滑处理以初步去除干扰,得到较干净的信号X(n):

 (1)

  选用8点平滑,单片机可用移位来实现除法,以节省处理时间,X(n)经过定标曲线转换成压力值送液晶显示。

  此模块的关键部分是成人、儿童判别模块。根据大量的实验研究,作者发现成人和儿童,以及成人中的瘦弱者和肥胖者,由于其胳膊粗细不同,肌肉组织的丰满程度不同,因而充气的速度不同,放气速度也不一样。如果测量中一视同仁,则所得脉搏波包络曲线不理想,测量误差大。根据这一情况,作者在软件中增加了成人、儿童判别模块。在开始充气以后,模块根据在一固定时间内所达的压力值的大小即充气速度来自动判断被测者是成人瘦弱者,或肥胖者、或儿童,选择相应的气阀放气以得到较理想的脉搏波包络曲线,提高测量精度和测量范围。

  2.2 脉动信号处理模块

  脉动信号处理模块流程见图2b。放气时所采集的脉动信号经过8点平滑如图3(a)。由于所得脉动信号较干净,在此无需用微分求极值等方法获取峰值点,可直接用比较法,设定两个状态,status=0,1,“0”状态对应每个脉搏波的上升阶段,“1”为下降阶段。在“0”状态,若有y(n)>y(n+1)则y (n)为峰值点,同时转为“1”状态。在“1”状态中,若有y(n)<y(n+1)则又回到”0”状态。以此获取其包络线如图3(b)。

  在试验中,作者发现,在放气的前期和后期,特别是儿童,由于身体或其他方面的原因会出现大的抖动,如图4(a),可以简单丢弃如图4(b)。但是在放气的中期,也会由于身体或其他方面的干扰使包络曲线的单调性受影响,或是不同测量过程的包络曲线差距过大如图4(b),从而使测量误差大,重复性不好。在此作者经过各种实验,最终采用FFT滤波去除这部分干扰得到如图4(c),从而使本数字血压计具有良好的重复性。FFT相应正、逆变换公式如下:

  2.3 异常处理模块

  在异常处理模块1中主要是从安全角度出发,如果充气一直不停,则系统马上报警并复位放气。

  在异常处理模块2中主要有两方面内容。一方面,如果发现所得包络曲线的数据点过少,即放气速度过快,则再一次充放气,同时减小放气速度,以便得到适量的数据点数;另一方面,如果测量过程中由于干扰过大或其他意外情况是测量结果不可取,则报错重新进行测量。

  整个系统可进行手动测量和连续测量,每次测量过程在1分钟内即可给出测量结果。

  作者简介:谭小丹(1970- ),女,湖南长沙人,第一军医大学生物医学工程系物理教研室讲师,从事医学仪器的研究。

  参考文献

  1,陈亚明,等. 多气阀数字血压计的研制[J]. 中国医学物理学杂志, 1998,15(3):174-175.

  2,齐颂扬. 医学仪器(上册)[M]. 高等教育出版社.

  3,刘琳,张丰. C51编译器使用指导与实例[M]. 学苑出版社.

  4,G.Drzewiecki,R.Hood,&H.Apple. Theory of the oscillometric maximum and the systolic and diastolic detection ratios[J]. Ann. Biomed. Eng.,1994,(22).

  • 两性
  • 男人
  • 女性
  • 母婴