APP下载

脉搏检测分析系统的设计与实现

2015-02-01赵阳徐秀林

生物医学工程学进展 2015年4期
关键词:串口通信数据库传感器

赵阳, 徐秀林

上海理工大学 医疗器械与食品学院(上海, 200093)



脉搏检测分析系统的设计与实现

赵阳, 徐秀林

上海理工大学 医疗器械与食品学院(上海, 200093)

【摘要】该文设计一种脉搏信号采集系统, 系统实现了对人体脉搏的采集、 放大、 滤波和通过串口进行数据传输, 在上位机实现了数据接收, 波形显示及数据的存储与读取。系统由PVDF脉搏传感器模块、 数字采集电路模块、 串口通讯模块、 软件模块等部分构成, 具有结构简单、 操作方便、 便携、 功耗低等特点。该系统既可用于防止中医诊断“切脉”时医生主观影响, 使中医脉象诊断客观化; 也可用于心血管疾病的诊断及预防。

【关键词】传感器; 人体脉搏; 串口通信; 数据库

0引言

脉搏信号的监测在传统中医诊断中起到相当重要的作用, 心血管疾病的病理状态也能在患者的脉搏波形和波速度上表现出来[1]。脉搏波所表现出来的形态、 强度、 速率与节律等方面的综合信息在相当程度上反映出人体心血管系统的生理和病理特征, 因此采用正确的方法获得人体脉搏波显得非常重要[2]。脉搏信号采集系统能安全方便地获取脉搏信号, 通过分析较早发现病情并进行治疗。为从脉搏波形中获取丰富的信息, 首先要以较高的采样频率实现脉搏信号的准确检测; 同时要求上位机实时显示脉搏波形图, 使医生能够方便地选择记录有效的波形曲线。国内外常用采集脉搏波的方法是利用电极或传感器接触人体的探测部位, 再经过模拟信号放大、 滤波、 信号处理得出人体的生理信号。本文采用压力脉搏传感器来进行脉搏信号的测量。

1总体设计方案

本设计的人体脉搏波采集系统是通过PVDF压电薄膜脉搏传感器采集脉搏信号, 微弱的脉搏信号经过脉搏传感器输出后传送至放大电路, 放大电路在单片机控制下, 把接收到的模拟电压信号进行放大处理, 之后把放大电路输出的模拟信号送给内部集成A/D转换器的单片机D/A转换接口, 此A/D转换器在单片机的控制下, 对输入的模拟信号进行模数转换, 同时设定采样频率等一些必要的参数。在接收端接收始发端的信号, 再把A/D转换后得到的数字信号通过单片机的异步通用串行收发器传送到上位机, 上位机是用C++语言在Visual Studio 2010中进行编程, 在上位机就能实现脉搏信号的实时采集、 显示和保存, 得到准确的脉搏信号。系统还通过SQL Server2008数据库建立个人病历系统, 在检测个人脉搏数据之前建立患者信息数据库, 把病人基本信息存入数据库。患者信息系统有查询的功能, 通过姓名和编号二者进行模糊查询。系统还拥有登陆功能和密码修改功能, 在保证操作简捷的前提下确保了系统的安全性, 系统结构如图1所示。

图1脉搏监测分析系统结构图

Fig.1Analysis system structure diagram of pulse monitor

2硬件的设计与实现

脉搏测量系统的硬件部分主要由PVDF压电传感器、 信号放大滤波电路以及上位机处理系统组成。利用脉搏传感器获取人体手腕处桡动脉的脉搏信号, 将桡动脉处的脉搏压力信号转变为电压信号, 该信号经过放大、 滤波调理电路, 得到适合A/D转换需要的电压信号, A/D 转换器将模拟电压信号转换为数字信号, 经过单片机处理后由数据采集控制单元通过串口通信与计算机连接, 将数字信号传送到上位机, 利用上位机的软件对脉搏信号进行采集并绘制曲线, 可进行必要的处理和分析。

2.1脉搏传感器

基本功能是将挠动脉搏动压力和切脉压力等物理量转换成便于测量的电信号, 用于人体脉搏的临床测量。本文采用合肥华科电子技术研究所研制开发的基于PVDF(聚偏氟乙烯)压电膜的HK-2000C型集成化脉搏传感器。它是一种软接触式的无创伤脉搏传感器。由于传感器提取信号较弱, 易受周围环境的干扰, 因此必须对信号滤波和放大, 电路包含电荷放大电路和高通滤波电路[3]。

2.2放大电路

人体生理信号的基本特征是信噪比低、 信号弱、 频率低, 所以对测量放大电路的要求比较高, 本研究采用的信号放大电路系统如图2所示。 整个电路工作于 3.3 V 电源电压下, 接在电源上的电阻R3和传感器, 完成传感器供电和波动信号的输出。 由于人体脉搏信号是弱信号, 传感器输出的信号比较微弱(几十毫伏), 不能直接用单片机来进行处理[4]。用两级运放(U1和U2)构成的同相比例放大电路来对信号进行放大, 用同相放大电路来做一个基线调整, 即在放大器的输入端另加一个输入量, 通过改变R2和R5、 R1和R4的比例来设置放大倍数, 把电压信号放大到 1 ~3.3 V。这样在上位机对脉搏波形进行还原时, 可以显示所有脉搏波, 不会部分丢失。

图2放大电路图

Fig.2Amplifier circuit diagram

2.3滤波电路

由于人体脉搏信号的频率主要分布在0.5~10 Hz之间, 这样容易引入干扰信号, 主要包括:

(1)基线漂移、 人体呼吸等低频干扰, 频率小于1 Hz;

(2)工频干扰, 是固定频率的干扰, 频率为50 Hz;

(3)其他干扰信号, 主要是高于60 Hz的高频干扰[5]。

系统通过R9、 C4、 R6、 C3构成低通滤波器滤掉高频噪声, 再通过一个二阶有源带阻陷波器来滤掉 50 Hz 的工频信号。如图3所示为双 T 型 50 Hz 陷波器, 通过改变R13可以调节品质因素Q的值, 中心点越往上调, Q 值越大, 反之则越小。在双T电路中, 取R11=R12=2×R14=R, C9=C10=1/2C11=C, 则陷波点f 0=1/(2 RC)=50 Hz。

使用STM32单片机通过ADC模块采集经过放大滤波过后的模拟信号转换成数字信号(Vout1接在ADC_IN0引脚上)。数字信号通过单片机经过简单的平滑滤波处理后通过串口发送给上位机, 由于计算机串口是RS232电平, 所以电路中通过PL2303芯片进行转换。

系统用PL2303HXD串口转USB实现了数据向上位机的传输, 脉搏模拟信号通过A/D转换后进入单片机, 再通过串口通讯发送给数字信号到上位机。

图3滤波电路图

Fig.3Filter circuit diagram

3软件的设计与实现

软件部分的功能是对脉搏信号采集之后的数据进行采集显示以及实现数据存储、 传输等基本操作; 并建立病人数据库, 存储病人信息。操作流程如图4所示。

图4软件部分操作流程图

Fig.4Software part operation flow chart

软件的开发环境为 Visual Studio2010, 开发语言为C++。软件部分主要包括串口通讯编程; 脉搏信号实时采集、 显示、 存储(以TXT文档进行存储); 动态链接库的编写; 数据库的应用。具体包括编写进行串口控制和通讯的类, 实现串口参数设置、 数据发送和接收; 设置相应数据结构, 保存脉搏数据, 使用数据文件保存采样数据; 实现采样数据实时显示, 波形可缩放; 可以调整基线; 使程序通过可调节的采样频率和采样信号进行准确的采样; 实现数据文件播放显示; 通过算法实现脉搏特征参数的计算(幅度、 频率)。本系统选用SQL Server 2008数据库, 为每一个受试者建立相关信息数据库。需要查询时, 可根据受试者的姓名和编号进行数据的模糊查询。为了便于数据操作, 系统还设计了数据库的添加、 删除、 修改功能。

3.1串口协议的编写

数据采集和显示主要通过串口编程实现。本系统可以方便地进行脉搏采集通道、 波特率、 数据位、 校验位、 停止位的设置。采集的脉搏波以时间作横轴、 幅度为纵轴, 进行实时显示。

为在脉搏采集系统中实现数据的多路高频采集, 防止串口读写速度与CPU速度不匹配引起程序效率的下降, 建立了一个基于多线程的Windows API串口控制和通讯类, 通过同步使工作线程在实现串口设备参数设置、 打开和关闭的同时, 主线程还能控制指令发送、 接收和数据解码操作、 实时绘图等[6]。

系统编写了CSerialPort类(类的封装使程序有较强的可扩展性和可移植性)来实现实现串口参数设置、 数据发送和接收, 并添加了多线程控制函数CommThread(), 发送数据函数SendData(), 延时监测函数GetCommTimeOuts(), GetWriteBufferSize()和数据写入函数WriteToPort(); 然后生成CSerialPort类的实例: m_bIsSuspened, m_CommTimeouts, m_nWriteSize, m_Thread, 并通过套接字m_hWriteEvent, m_szWriteBuffer建立数据的传输。串口通讯参数设置包括: USB 或 232接口; 采样频率: 200~1 000 Hz; 采集精度: 8位; 10级硬件幅度调整。

3.2数据采集部分的设计与实现

系统编写了CPulseDlg类来实现数据的实时显示, 主界面如图5所示, 添加了OnDeltaposSpinBaseline()函数调整基线, Replay()函数来实现脉搏波形的回放, OnBnClickedBtnOpenFile()函数使采集脉搏数据以文件形式保存。

图5脉搏采集分析系统主界面

Fig.5 Main interface of pulse acquisition and analysis system

程序可以设置相应数据结构; 实现数据TXT文件播放显示, 记录人体的脉搏波并实时显示, 脉搏波形由升支A和降支K构成。升支反映心室快速射血内动脉的被动扩张, 降支反映射血后期的回缩。脉搏波的形状, 因循环系统的情况改变而不同。如主动脉瓣是否健全, 心搏节律是否正常, 动脉管的弹性影响等, 都可根据脉搏波形的变化进行诊断。进行脉搏特征数据的计算(幅度、 频率), 并实现脉搏数据文件播放显示和脉搏文件数据的回放。

3.3用户登录和信息录入

该模块用来录入被测试者基本信息, 包括姓名、 性别、 出生年月、 身高、 体重、 收缩压、 舒张压等, 由Pluse数据库中的dbo.Patients控制, 主要包含CPatients类和CPatientRecordSet类, 使用ADO的方式操作数据库, 利用ADO对象来操作数据库中的数据[7], 该模块使用_ConnectionPt型指针m_pConnection来创建数据库连接, 使用_RecordsetPtr型指针m_pRecordset执行数据库命令, 打开和关闭数据库。通过CPatientDlg类的成员函数OnNew()、 OnModify()、 OnDelete()、 OnLookUp()来实现对被采集者基本信息的新建、 修改、 删除、 查询。

该模块主要负责用户身份验证, 由Pluse数据库中的dbo.Doctors控制, 添加了用户编号、 用户账号和用户密码这三个字段。该模块主要包含CLogin和CChangePassword两个类, 两个类共有的变量是m_Username和m_Password, 登陆时输入账号和密码, 点击登陆, 系统开始与Doctors表里面的字段匹配, 若用户名和密码都正确, 则成功登陆, 若有一个不正确, 弹出登录失败消息提示。CChangePassword还包括了m_NewPassword1和m_NewPassword2两个变量, 以保证修改密码的严密性, 修改密码必须按照规定的步骤, 填错用户名, 新旧密码或者两次新密码的输入不相同时, 都会报错并提示重新输入, 操作界面如图6所示。

图6患者信息模块主界面

Fig.6Main interface of patient information module

4可靠性测试

选取10名健康的正常人, 年龄为25±2岁, 在实验室进行脉搏信号的采集与评估, 设定9 600的波特率, 200 Hz的采样频率, 将其进行两倍的放大, 并与临床在用的麦邦公司的MB-3000脉搏测量仪器的结果进行对比, 将对比记录存入文件, 经过一周后, 在同样的测试条件下进行实验, 将二者测试的结果进行分析, 以判断系统的可靠性[8], 操作流程如图7所示。

测试结束后, 将保存在TXT里的实验数据导入SPSS数据分析软件, 得出关于两组脉搏信号的组内相关系数(ICC值), ICC是衡量和评价测试仪器的信度的系数指标, 等于个体的变异度除以总的变异度, 其值在0~1之间, 0表示不可信, 1表示完全可信。一般认为ICC小于0.4表示信度较差, 0.6~0.75之间表示信度较好, 大于0.75表示信度极好。测试结果显示, 一周前的数据与一周后的数据组内相关系数(ICC值)均大于0.6, 说明该系统有很好的可靠性。

图7系统调试流程图

Fig.7System debug flow chart

5结论与展望

脉搏是反映人体循环系统功能重要的生理参数, 它包含了人体心率变化等重要信息。市场上的脉象采集仪器虽然采集脉象清楚、 准确, 但是这类仪器价格昂贵、 大型笨重, 不便于小医院或家庭使用, 本文设计的脉搏检测分析系统便携、 功耗低, 能对脉搏准确测量, 在临床应用上具有重要的意义。系统编写了专门进行串口控制和通讯的类, 实现串口参数设置、 数据发送和接收, 由于类的较强密封性和可移植性, 此串口通讯类可以用于其他程序, 比如人体其他生理参数测量的串口通讯类, 为其他带有串口通讯类设备的开发提供了方便。

目前, 系统尚需要增加波形分析模块, 通过上位机直接对波形进行分析。在数据库方面可以实现病人的脉搏波形存入数据库, 在查询病人信息的同时显示历史记录波形。在其他方面也需要进一步开发研究。

参考文献:

[1] 景军, 牛英勃, 景桂芳.基于无线传输技术的人体脉搏采集分析系统[J].微处理机,2009,(6):114-115.

[2] 陈静,唐军胜,付敬奇,等. 基于 ZigBee 可穿戴传感器的医疗监护系统[J].仪表技术,2014,(11):5-6.

[3] 任程诚,董维杰.基于PVDF压电薄膜的脉搏传感器的设计[D].大连:大连理工大学,2011.

[4] 袁将,繆克华.基于CC2430远程医疗监护系统的设计研究[D].厦门:厦门大学,2014:25-26.

[5] He JJ, Zhang M. Inter-comparison of seasonal variability and nonlinear trend between AERONET aerosol optical depth and PM10 mass concentrations in Hong Kong[J]. Sci Chin,2014,2:3-5.

[6] 孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.

[7] 毕思,王聪. 基于MFC的心肌缺血辅助检测系统的心电信息管理[D].广州:华南理工大学,2014:25-28.

[8] Xu YH, Zhang J. Generation and amplifying of 100 ps UV ultrashort pluse laser[J]. Ann Report Chin Inst Atom Energy,2013,11:95-96.

Design and Implementation of the System of Pulse Detection and Analysis

ZHAO Yang, XU Xiulin

School of Medical Instrument and Food Engineering,

University of Shanghai for Science and Technology(Shanghai, 200093)

【Abstract】In this paper, a pulse signal acquisition system is designed. The system realizes the collection, amplification, filtering and data transmission through serial port. The data is received, the waveform is displayed and the data is stored and read in upper computer. The system consists of PVDF pulse sensor module, digital acquisition circuit module, serial communication module, software module and so on. The system has the advantages of simple structure, convenient operation, easy to carry and low power consumption. The system not only can be used to prevent subjective diagnostics of trditional Chinese medicine "pulse" doctor's pulse-taking, to achieve objective pulse diagnosis; but also be used for the diagnosis and prevention of cardiovascular disease.

【Key words】sensor, human pulse, serial communication, database

收稿日期:(2015-06-20)

【文献标识码】【中国分类号】R496 A

文章编号:1674-1242(2015)04-0196-05

通信作者:徐秀林,E-mail: xxlin100@163.com

作者简介:E-mail:49877066@qq.com

基金项目:上海市科学技术委员会科研计划项目(14441905100)

doi:10.3969/j.issn.1674-1242.2015.04.002

猜你喜欢

串口通信数据库传感器
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
跟踪导练(三)2
数据库
基于Qt和Flash的嵌入式Linux软件架构设计
串口通信在智能家居监控系统中的应用
基于OpenCV的室内照明智能控制系统设计与实现
数据库
数据库