基于MATLAB 的脉搏信号处理软件系统.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB 的脉搏信号处理软件系统
摘要: 本文根据在实验室里测得的脉搏数据,基于MATLBA设计一个脉搏信号的GUI处理界面,并利用MATLAB强大数字信号处理功能还原脉搏波形,并对波形的特征信息进行提取及存储。原始信号进行了去除基线漂移、通过巴特沃斯带通滤波器以及二阶切比雪夫滤波器去除50HZ工频干扰,并且能计算实时的脉率并更新,显示脉率变化趋势曲线,进行频谱分析和输出文档。
此软件有两个GUI界面,第一个为密码登陆界面,第二个为脉搏信号处理系统GUI界面。第二个GUI界面主要分为五大模块:1.打开与退出模块包括打开数据和退出系统;2.信号回放模块包括对原信号和滤波信号的回放、暂停回放、继续回放、关闭窗口;3.信号放大与缩小模块包括对信号的X轴和Y轴的放大、缩小处理;信号快进退模块包括对信号的快进、慢进、快退、慢退处理;4.脉率实时处理模块包括输出脉率曲线、暂停回放、输出脉搏信息、脉搏频谱分析、清除波形、输出文档;5.脉率信号输出模块包括输出实时的脉率更新、以及脉搏数据的信息,诸如脉搏采样频率、采样时间、最大脉率值、最小脉率等。
关键词:脉搏;脉率;Matlab ;GUI ;
1 引言
人体内部各个生理系统之间(如循环系统、呼吸系统等)是相互耦合的。反映人身体健康状态相对最重要、最全面的是心脏血液循环系统,因此通过采集脉搏波进而分析心脏循环系统功能,能从一个方面较全面反映人体的健康情况。从脉搏波中提取人体的生理病理信息作为临床诊断和治疗的依据,历来都受到中外医学界的重视。几乎世界上所有的民族都用过“摸脉”作为诊断疾病的手段。脉搏波所呈现出的形态(波形)、强度(波幅)、速率(波速)和节律(周期)等方面的综合信息,在很大程度上反映出人体心血管系统中许多生理病理的血流特征,因此对脉搏波采集和处理具有很高的医学价值和应用前景。目前脉搏信息的研究已经应用于以下几个方面:(1)中医脉象信息的检测与识别;(2)血压的临床检测;(3)心率稳定性的一种简便估计方法;(4)心输出量的一种测量方法;(5)血管功能的一种早期、无创检测方法。
MATLAB(Matrix Laboratory,矩阵实验室)是由美国MathWorks公司开发的一种功能强、效率高、简单易学的可视化软件,覆盖面包括控制、通讯、金融、图像处理、建筑、生物学等几乎所有的行业与科学领域。除了经典的一些算法外,MATLAB
还提供了丰富的数据分析和处理功能模块,如神经网络、小波分析、信号处理、图
像处理、自动控制、模糊控制、系统仿真等,因此MATLAB是一种高效的编程软件。本文介绍利用MATLAB软件作为技术平台,实现对统脉搏波快速、准确实时显示,而
且实现方法简单有效,有一定的实用性。
2 软件总体界面与总体设计思路
2.1密码登陆系统
图2.1 未运行前密码登陆界面
图2.2 运行后输入错误的密码登陆界面
图2.3 运行后输入正确的密码登陆界面
2.2 脉搏信号处理系统界面
图2.4 未运行前的脉搏信号处理系统界面
图2.4运行后的脉搏原信号与滤波信号回放
图2.6运行后的脉率曲线回放与判断脉率正常、输出脉搏信息
图2.7运行后的频谱分析
2.3 软件总体设计思路
3 信号回放模块设计
3.1 脉搏波信号滤波
脉搏信号是强干扰下的微弱信号,脉搏信号幅度很小,大约是微伏到毫伏的数量级范围,其主要频带范围在0~20Hz之间。一般情况下为1Hz左右,脉搏信号可看成一个准直流信号,也可看成是一个甚低频交变信号。根据脉搏功率谱能量分析,健康人脉搏能量绝大多数分布于0.5~5Hz,而病人脉搏在1Hz以下和较高频段(如5Hz以上或10Hz以上)仍有相当一部分的能量分布。脉搏信号极容易引入干扰,一般情况下,由体表检测到的脉搏波主要有三种干扰:基线漂移,高频随机干扰和运动伪差噪声,还有一些干扰,比如工频干扰,等,这些干扰较之前三种干扰比较小,而且很容易去掉]。
1).基线漂移:这种噪声是由于被测对象的呼吸运动和身体移位而产生的,呼吸的频率分量通常在0.8Hz以下,每个人的呼吸频率也不同;身体移位也可以用低频分量来表征,因此基线漂移基本上都是趋势分量和低频分量。
2).高频随机干扰:脉搏信号的采集过程中有好多随机噪声和环境干扰的影响,这些噪声都表现为高频噪声,在5Hz以上。
3).运动伪差噪声:由于对病人进行血氧检测时,病人手指(或脚趾)经常会发生运动,使手指(或脚趾)与传感器之间的距离发生位移,从而得到导致测量的病人脉搏波形很不稳定的一种噪声,这种噪声和信号在同一个频带范围内,是脉搏信号去噪的一个重点和难点。
所以,为了对信号做准确的分析,在分析处理之前必须做一些必要的预处理。针对信号中存在噪声的特点,基线漂移和呼吸等低频干扰在1Hz 以下,而脉搏信号主要在低频范围,所以可以设计让信号先通过一个巴特沃斯带通滤波器,借以滤除基线漂移、呼吸引起的干扰(考虑到不丢失太多的其他信息,通带截止频率设置为Wp=[0.9,50],阻带截止频率设置为Ws=[0.3,140],通带波纹系数Rp=3,阻带波纹系数Rs=10),如图3.2,然后再通过一个切比雪夫二型滤波器滤除固定的工频干扰(通带截止频率设置为Wp=[30,65],阻带截止频率Ws=[45,55],通带波纹系数Rp=3,阻带波纹系数Rs=60),如图3.3。
由于Butterworth滤波器通带内有最大的平滑特性,信号经过后衰减小,因此我们选用Butterworth带通滤波器滤除基线漂移和呼吸等引起的干扰,但由于IIR 滤波器本身固有的缺点,信号通过Butterworth带通滤波器后相位会失真,故我们可设计零相位Butterworth带通滤波器去噪。50Hz固定工频在频域中是一个点,因而要求设计的带阻滤波器有好的截止特性,而切比雪夫II型滤波器有较好的截止
特性,并且在其通带内单调,故而设计零相位切比雪夫II型滤波器滤除工频干扰。流程图如下:
Load命令读取脉
搏信号TXT文件
去除基线漂移
通过Buttord和butter命令组
成的巴特沃斯带通滤波器
通过cheb2ord和cheby命令构
成的切比雪夫二阶滤波器
原信号回放滤波信号回放
图3.1 脉搏信号滤波流程图
图3.2 巴特沃斯带通滤波器图3.3 带阻切比雪夫II型滤波器3.2 脉搏信号回放按钮设计思路
信号回放模块设计如图3.4,考虑到用户使用的方便性,信号回放过程中才可对信号进行放大与缩小操作,或者快进退操作,在回放过程中,退出系统按钮处于不激活状态,关闭窗口和继续回放也处于不激活状态,只有当信号暂停时,才使前面三个按钮激活,或者进行下一步,输出脉率曲线功能。