PPG信号

一、光电容积脉搏波描记法PPG介绍

  1. 光学心率传感器,例如我们的手环测量心率。当LED光射向皮肤,透过皮肤组织反射回的光被光敏传感器接受并转换成电信号再经过AD转换成数字信号,简化过程:光--> 电 --> 数字信号。大多数传感器采用绿光。
  2. 为什么大多数传感器都是采用的绿光呢?

我们先看看光谱的特点,从紫外线到红外线的波长是越来越长的。

之所以选择绿光作为光源是考虑到以下几个特点:

1. 皮肤的黑色素会吸收大量波长较短的波(紫光等);——不建议

2. 皮肤上的水份也会吸收大量的UV和IR部分的光(红外和紫外光谱);——不建议

3. 进入皮肤组织的绿光(500nm)-- 黄光(600nm)大部分会被红细胞吸收;——建议

4. 红光和接近IR的光相比其他波长的光更容易穿过皮肤组织;——建议

5. 血液要比其他组织吸收更多的光。

6. 相比红光,绿(绿-黄)光能被氧合血红蛋白和脱氧血红蛋白吸收(首选)

总体来说,绿光-- 红光能作为测量光源。早起多数采用红光为光源,随着进一步的研究和对比, 绿光作为光源得到的信号更好,信噪比也比其他光源好些,所以现在大部分穿戴设备采用绿光为光源。但是考虑到皮肤情况的不用(肤色、汗水),高端产品会根据情况自动使用换绿光、红光和IR多种光源。

  1. 虽然知道了上面的几个特点,但是还不足以弄清楚为什么通过光照就能测出心率、血氧等参数呢?

下图就解释了核心原理

光照透过皮肤组织再反射到光敏传感器光照有一定的衰减的。像肌肉、骨骼、静脉和其他连接组 织等等对光的吸收是基本不变的(前提是测量部位没有大幅度的运动),但是血液不同,由于动脉里有血液的流动,那么对光的吸收自然也有所变化。当我们把光转换成电信号时,正是由于动脉对光的吸收有变化而其他组织对光的吸收基本不变,得到的信号就可以分为直流DC信号交流AC信号提取其中的AC信号,就能反应出血液流动的特点。我们把这种技术叫做光电容积脉搏波描记法PPG

下图是PPG信号和ECG信号的对比

实际测量手指的PPG信号如下:

  

所以,只要测得到的PPG信号比较理想算出心率也不算什么难事。但是事实总是残酷的,由于测量部位的移动、自然光、日光灯等等其他的干扰,最终测到的信号可能是下面的这种,所以要通过很多方法进行滤波处理

对于PPG信号的处理,目前我知道的有两种方法。一种是时域分析,即算出一定时间内PPG信号的波峰个数,另一种是通过对PPG信号进行FFT变换得到频域的特点。

二、PPG信号处理时域方法:

通过对原始的PPG信号进行滤波处理,得到一定时间内的波峰个数,然后即可算出心率值。

假设连续采样5秒的时间,在5s内的波峰个数为N,那么心率就是N*12

三、PPG信号处理频域分析:

上面分析过,我们把血液流动对光吸收转变成了AC信号(交流信号),如果对于进行FFT变换,那么就能看到频域的特点。如下图就是对PPG信号的FFT转变:

上图中的频域图,0Hz的信号很强,这部分是骨骼、肌肉等组织的DC信号(直流信号),在1Hz附近有个相对比较突出的信号就是血液流动转变的AC信号。假设测得到的频率f = 1.2Hz

那么心率HeartRate HR = f x60 = 1.2 x 60 = 72

最后再简单提一下血氧的测量,相比心率血氧测量难度较大而且精度不算太高。测量血氧的原理图下图所示

由于血液中含有的氧合血红蛋白HbO2和血红蛋白Hb存在一定的比例,简单说也就是含氧量吧。上面的图表示了氧合血红蛋白HbO2和血红蛋白Hb对波长600~1000nm的光吸收特性,从图中可以看出上600~800nm间Hb的吸收系数更高,800~1000之间HbO2的吸收系数更高。所以可以利用红光(600~800nm)和接近IR(800~1000nm)的光分别检测HbO2和Hb的PPG信号,然后通过程序处理算出相应的比值,这样就得到了血氧值。

但是由于光源不同,直接利用红光和接近IR的光进行信号对比是不可靠的,因为红光和IR透过皮肤组织也会产生不同的吸收。下图是红光和IR透过皮肤的原始信号示意图

上面分析说过,DC部分是光透过皮肤组织转换成的直流信号,AC是血液流动产生转换成的交流信号。由于皮肤组织对红光和IR的吸收程度不同,DC部分自然也就不一样。为了能共“公平对待”两种光源的PPG信号,所以需要对原始信号处理一下。下图示意了处理后的信号(DC部分相等)

通过一定的比例计算,公平对待Red和IR的PPG信号。这样计算出来的Hb和HbO2比例才可靠。

### 回答1: Matlab是一种常用的科学计算软件,在处理PPG信号方面也有很多研究者使用。PPG信号是通过光电传感器检测皮肤反射光强度变化而得到的脉搏波信号,与心脏跳动有关。 首先,需要采集PPG信号。采集时应注意环境噪声和运动伪影的影响,可使用臂带或手指夹来固定和稳定信号采集。采集到的PPG信号通常是一段连续的时间序列数据。 接着,需要进行信号预处理。预处理可包括去除运动伪影、去噪、滤波等步骤。去除运动伪影可通过采用合适的固定方法来避免。去噪可通过基于阈值的方法或基于小波变换的方法来处理。滤波可采用常见的数字滤波器如低通滤波器、带通滤波器等。 在预处理完成后,可进行信号特征提取。常见的特征包括脉搏波峰值、脉搏波宽度、脉搏波上升时间、脉搏波下降时间等。可使用Matlab中的工具如“findpeaks”来找到脉搏波峰值。 最后,可将特征用于心率检测、血压检测等方面的研究。可使用Matlab中的相关算法如线性回归、支持向量机等来进行分析。此外,也可使用Matlab中的Simulink来建立模型来分析PPG信号。 总之,Matlab是一种常见的科学计算软件,可应用于PPG信号的处理与分析,提取信号特征用于心率检测、血压检测等方面的研究。 ### 回答2: MATLAB是一款研究和处理信号的强大工具,可以对心率信号PPG)进行很多处理和分析。 首先,我们需要将PPG信号导入MATLAB软件中。可以使用MATLAB的Signal Processing Toolbox来加载PPG数据,该工具箱可以轻松地加载和处理各种类型的信号数据。 一旦我们将PPG信号导入了MATLAB,接下来的步骤是对信号进行预处理和滤波,以去除任何可能的噪声或干扰。我们可以使用各种MATLAB函数和工具箱来进行这些处理,如Butterworth滤波器、Median滤波器、Wavelet transforms等。 接下来,我们可以进行PPG信号的特征提取和分析。其中一个常用的分析是心率变异性(HRV)的分析。HRV是描述心率偏差的一种统计量,用于评估患者自主神经系统的功能状态。MATLAB有许多函数和工具包,可以计算HRV指标,例如SDNN、RMSSD、pNN50等指标。 此外,我们可以使用MATLAB实现频域分析,例如快速傅里叶变换(FFT)和功率谱密度(PSD)分析等,用于进一步研究PPG信号的特征和频率信息。 总结来说,MATLAB可以用来处理PPG信号的预处理、特征提取和分析以及频率域分析等方面。这些功能可以帮助医学研究人员和临床医生更好地了解患者的生理状态和疾病进展。 ### 回答3: PPG信号是通过测量皮肤表面的反射光线来获取的,它可以提供有关心率、血压和血氧水平等生理参数的信息。为了有效地处理PPG信号,可以使用Matlab软件进行分析和处理。 首先,我们需要读取PPG信号数据,并对其进行预处理。预处理步骤包括去除噪声、滤波和信号增强,以便在信号中提取出有用的信息。在Matlab中,可以使用各种数字滤波器来进行滤波处理,以去除高频噪声和低频干扰。 然后,我们可以使用不同的算法来提取PPG信号中的信息。其中,最常用的算法包括峰值检测、波形拟合和功率谱分析。这些算法通过提取信号的特征来计算心率、血压和血氧水平等生理参数。 最后,我们可以使用Matlab的可视化工具来显示和分析PPG数据及其结果。Matlab提供了丰富的图形用户界面,可以方便地将数据可视化,并制作各种图表来探索数据和结果。 需要注意的是,处理PPG信号需要一定的信号处理和生理学知识。因此,我们建议在使用Matlab进行PPG信号处理之前,先了解相关的基本概念和方法,以确保正确地处理和分析数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值