智能健康监测床垫算法实现---基于EMD算法采集心跳和呼吸心率分离(附详细源代码)适用于PVDF传感器和其他压阻人体体征传感器

源代码: EMD分离心跳呼吸算法复现code.

智能健康监测床垫整体实现

床垫式生理信号监测系统的框图见图 1,薄垫中安装 PVDF压电传感器, 可以捕捉人体呼吸和心跳的微弱振动信号, 输出相应的电荷信号。电荷放大器对传感器的输出信号进行放大, 并转化为电压信号。低通滤波器用于滤除工频干扰和高频噪声。考虑到不同个体的生理信号强度不同, 在电路上增加可以自动调节增益的电压放大器, 使得输出信号的幅度在合适的范围。MCU (microcontroller unit)对模拟前端的输出信号进行处理和分析, 得到呼吸率和心率的计算结果。

使用无创传感器采集仰卧状态下的心跳信号易受以下3 类干扰: 1) 基线漂移噪声; 2) 翻身,抖动及心情干扰,频率约5~ 20 Hz; 3) 工频干扰( 50 Hz) 或其他白噪声。滤波算法可从原数字信号中提取各信号频段,实现信号与噪声分离。使用压电传感器得到的非平稳信号波动不明显、能量小,常用寻峰方式较难准确取峰。


床垫式生理信号监测系统框图

柔性传感器不仅是一项非凡的创新,在多种产品/解决方案中也都展现出广阔的发展前景。据麦姆斯咨询报道,医疗保健领域早采用该项技术,集成了柔性传感器的技术是远程监测和跟踪患者康复系统的组成部分。这种新型柔性传感器已被证实可通过良好的柔性与监测效果改善患者的治疗状况,从而得到更快速有效的康复。柔性传感器技术实时监测和跟踪骨科患者通过这项技术,无论是外科膝盖支架还是粘贴在皮肤上的装置,都可用于测量患者每秒数百次的动作细节。这使专业医疗人员和患者都能够实时掌握骨骼原位的发展情况。例如,在人工全膝关节置换术(TKA,Total Knee Arthroplasty)中康复的患者可以使用类似Claris Reflex这样的装置,让专业医疗人员可以远程监控患者术后恢复情况。该项解决方案使得治疗师在整个物理治疗过程中可提出对患者更有帮助的建议并随时调整治疗计划。

  1. 床垫实现呼吸监测为例,人体卧于床垫上时,数据采集单元中心音传感器开始进行参数采集,并将采集信息转化为电信号。经过放大电路,可以将电荷信号转化为电压信号,完成信号去噪后发送至A/D转换电路,并且将带有呼吸和心跳信号的混合电压信号进行去噪,分离出呼吸信号和心跳信号。电压信号经过A/D转换电路转换成数字信号,然后通过串行通信的方式将数据传输在单片机处理单元中进行数字处理,同时通过显示单元将计算到的呼吸率等信息实时显示。当有窒息情况放生时,控制扬声器发出报警信号。

  2. 用户可以智能化实现生命活动的感知记录:采用高感度传感器探测心跳、呼吸、体动等基础生命活动信息元素;采用数据模型分析计算及滤波分析分离出心跳、呼吸及异常体动事件。用户可以智能化实现生命活动的危机值监视与报警:系统可以设定心脏搏动正常值,并提供数据监视功能,在超出设定范围后报警;系统可以设定呼吸次数正常值,并提供数据监视功能,在超出设定范围后报警;系统可以记录各种可分析测定的传感状态及生命活动状态,并提供数据监视功能,在超出设定范围后报警。通过本文章所述的床垫,用户可以智能化实现基础生命活动事件的分析:测定正常活动状态:例如卧床;测定非活动状态:例如离床(符合离床预设方案);测定特异性非活动状态:例如生命活动消失(符合特异性非活动状态数据预设方案);测定为异常活动状态:例如持续咳嗽、翻滚等测定异常活动状态:例如摔床(符合摔床数据预设方案);测定异常活动状态:例如夜间频繁离床等。 通过本文章所述的床垫,用户可以智能化实现基础生命活动事件特殊状态报警:服务器/云平台可设定各种测定状态的阀值,将提供各种测定状态的通报、警示及报警功能,例如:离床报警:对部分不能离床的患者定义报警要求,在系统检测到状态为离床时报警用于防坠床;生命活动消失报警。特殊活动记录:系统对数据进行分析处理,分析并记录可能存在的活动状态,如心率异常、离床、翻滚等;夜间活动记录:将重点捕捉夜间生命活动事件,可以为临床医疗分析提供协助

  3. 因此可以智能化实现生理状况的监测,并基于监测结果实现反馈报警或睡眠建议反馈,从而有助于用户了解自身睡眠情况并改善自身睡眠质量。在数据采集单元进行数据采集的过程中,所有传感器不是同时进行数据采集,从而降低了床垫的服务器/云平台的数据处理压力。同时,所述数据采集单元中各传感器仅根据单片机处理单元的控制命令实现数据采集,而不必一直维持工作状态从而增加各个传感器的使用寿命,并降低了床垫能耗,减少了不必要的用电量。因此,本文章所述的床垫,不仅适用于医院、护理中心等场所,还适用于家庭,应用广泛。

EMD算法介绍

  1. 计算呼吸率的方法普遍为波形法,通过寻址呼吸波相邻的有效波峰和波谷计算周期,从而得到呼吸率。当前,诸多该领域研究集中在基于床垫式的生理信号监测系统,例如法国科学家J.MOLET在分析地震波时首先使用了小波变换。采用小波变换提取心跳及呼吸信号。小波是指具有一定的振幅、频率的震动波形。波形均值为零,幅值正负交替。而小波变换是这样一种变换:用不同频率的经过移位等变换的小波所形成的小波基来组成或分解时域信号。中心频率和带宽的比例不同决定了小波的差异。小波变换的过程和傅立叶变换十分相似。
  2. 例如美国学者Norden E.Huang等人提出了一种在时域上的非平稳信号处理方法-经验模态分解算法,简称EMD。任何复杂的数据序列都可以分解为有限个且通常是若干个固有模态函数(Intrinsic Mode Function,简称IMF)。这种方法具有很强的自适应和高效性,由于这种分解是基于数据时间尺度的局部特性,所以它适用于非线性和非稳定性的处理过程。固有模态函数的引出,使得瞬时频率的意义更加的突出。同时复杂数据序列的瞬时频率概念的引入,有效的避免了用杂散谐波来描述非线性和非稳定性信号的弊端。从信号处理的角度看,EMD是将信号逐步从高频到低频分解的过程。它体现了多分辨率的特性。无论是概念上还是信号分析方法上,都是对非平稳性信号处理的一个创新的突破,开辟了新的思路。与小波变换相比,EMD方法不需要选择基函数,而是针对于信号自身的特点,自适应的将信号分解成有限个频率从高到低的固有模态函数,同时不同的IMF分量也反映了信号在不同的时间尺度上的特征。通过对每一个IMF分量进行频谱分析和判断,再回到时域上分离和重构新生儿的呼吸及心跳信号,这样可以避免噪声和呼吸信号谐波等干扰。
  3. 本文章装置也可以通过小波算法或EMD算法实现用户呼吸率的统计。经过采样的信号为呼吸、心跳和体动等噪声的混合信号。信号含有不同频率的谐波分量,需进一步信号处理以获得准确的心跳、呼吸信号。采用EMD算法将信号分解成有限个固有模态函数之和,按照呼吸率和心率的频带范围来进行对呼吸和心跳波形的重构。首先对呼吸和心跳的混合信号进行快速傅里叶变换(Fast Fourier Transform,简称FFT),找出最大谱峰对应的频率,从而估算出呼吸的和心跳的频带范围。再对同一信号进行EMD,可以分解成若干个频率不同的谐波分量。有些谐波分量是呼吸或心跳信号的组成部分,通过对每个谐波分量进行FFT,计算出在呼吸和心跳频率范围内的能量占某个谐波分量的比例。当该比例大于60%(经验参数)时,可以认为是呼吸和心跳的组成成分。对所有的谐波分量进行计算后,可以重构呼吸和心跳信号。在分别对呼吸和心跳信号进行FFT,计算出最高谱峰对应的频率,即为呼吸率和心率。
  4. 基于不同人的呼吸、心跳频率会有很大的差别,同一个人不同时间段的呼吸、心率也各不相同,特殊情况下,呼吸率可高达150次/分钟(2.5Hz),这将与正常情况时的心率范围重合。因此通过设定固定的呼吸率和心率频带范围来进行呼吸信号和心跳信号分离往往无法准确地测量各种异常状况下的生理信息。由于在信号采集器采集的混合信号中心跳信号相对来说比较微弱,呼吸信号的能量最大。因此,首先对初始混合信号进行快速傅立叶变换,计算出能量最大的谱峰所对应的频率值,即为呼吸率的估计值fc。利用人体在同一时间内呼吸和心跳在频域范围内存在差异且心率一般要高于呼吸率的特点,选择以fc为中值、0.2Hz范围内的频率为呼吸信号的频带范围,fc+0.2Hz至3Hz为心跳信号的频带范围。通过动态选取的呼吸及心跳信号的滤波频带,可更准确地计算实时呼吸率和心率,不受被测者异常生理状况影响。

算法具体实现(程序搭建环境,附源代码)

在这里插入图片描述
在这里插入图片描述

本床垫把采集的数据经过WIFI和蓝牙上传到电脑中进行处理,我使用C++/C语言进行了算法的复现,软件IDE是VS2010中完成的,代码我也上传了,下边链接可以获取。

源代码: EMD分离心跳呼吸算法复现code.

扩展阅读:

心率呼吸率等体征参数能够很好地反映人体的睡眠状况,在相关领域引起了较大关注。使用聚偏氟乙烯( polyvinylidenefluoride,PVDF) 压电薄膜传感器进行人体生理信号的采集具有较大优势。压电薄膜具有频响范围宽,材质柔软,抗干扰度强,使用年限长的特点,非常适用于人体生理信号的监测。

矫正基线漂移是信号处理的关键。基线漂移近似为低频成分,利用小波基Sym8 对信号多尺度分解后对低频小波系数重构,即可得到基线漂移。在采样频率60 Hz 下,低频分量a8 频宽为0~ 0. 12 Hz,通过实验验证,对小波进行8 尺度分解即可去除基线漂移。

正常情况下心率为0. 9 ~ 2.5 Hz,呼吸率为0.13 ~0.45 Hz,噪声信号多为高频信号。呼吸和心跳信号由小波变换对应的低频部分构成。当分解层次变高时,去掉的低频成分越多,去噪效果虽更好,但失真度也在变大。经实验验证,对采样频率60 Hz 的信号,采用Sym8 小波基对小波9 阶分解即可。呼吸信号由6 阶小波重构信号去除基线漂移可得。心跳信号由3 阶与5 阶小波重构分量中间频段构成。图3 为由原始信号得到呼吸心跳原理。由于3 阶小波重构最多滤到3. 5 Hz 以下,再通过简单的零相移低通滤波可将心率滤波至2.5 Hz 以下。

时域寻峰算法

对时域呼吸心跳波形做寻峰处理,求出心率呼吸率:

1) 二阶差分寻峰判断心跳呼吸信号中单位时间内波峰数,并进行波谷检测与波形平均处理,处理后所得波峰数即为该时段内心跳或呼吸次数。

2) 由心率呼吸率有效范围设置阈值( 此处设为平均值) ,以阈值为基准,设定允许的偏移范围( 通过统计实验,取基准值的20 %) ,在平均值上下偏移量范围内的点认作有效波峰。求出信号中的有效波峰。

3) 对于伪峰值点采用两次筛选法,分别筛选出多采集的波峰及少采集的波峰点,进行删峰与补峰处理。

4) 计算呼吸率和心率。由Fs = 60fs /( n2 - n1) 。其中n2,n1分别为相邻的两个峰值点所在位置,fs为硬件采样频率,Fs为心率或呼吸率,即每分钟的心跳或呼吸次数。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值