参考来源:ADI官网技术文章、知乎(hxl695822705、KingPo-张超、深圳加1健康科技 )

现状

PPG测量心率、血氧的技术距今发展快100年,影响心率、血氧测量准确度的因素主要有心率传感器的光学结构设计和算法,心率传感器的供应商有Maxim、ADI、AMS、Osram、Partron、TI、Pixart,汇顶等,算法公司有firstBeat(被Garmin收购)、Gomore、LifeQ等公司,可以评估参数包括健康生活指标类、训练期间评估类、训练管理类。

工作原理

不同位置对采集的影响

当血流动力发生变化时,例如血脉搏率(心率)或血容积(心输出量)发生变化时,进入人体的光会发生可预见的散射。当我们把光转换成电信号时,正是由于动脉对光的吸收有变化而其他组织对光的吸收基本不变,得到的信号就可以分为直流DC信号和交流AC信号。提取其中的AC信号,就能反应出血液流动的特点。

  • 直流DC信号:当光照透过皮肤组织然后再反射到光敏传感器时光照有一定的衰减的。像肌肉、骨骼、静脉和其他连接组织等等对光的吸收是基本不变的(前提是测量部位没有大幅度的运动),
  • 交流AC信号:由于动脉里有血液的流动,那么对光的吸收自然也有所变化。



PPG信号特征提取

PPG脉冲:出现通常分为两个阶段:

  • 脉冲的上升边缘:收缩期
  • 脉冲的下降边缘:舒张期

时域分析、频域分析

PPG原始波形→VPG一阶导数波形→APG二阶导数波形

组成结构

  • 光发射器(通常是几种LED):用于生成光信号,按波长分为红外光IR、红光R、绿光G、
  • 光电二极管PD:将光信号转化为模拟电信号(光电流),响应必须具备足够的灵敏度和线性度。
  • 多通道模拟前端AFE:用于控制LED、对模拟电信号(光电流)的放大TIA、滤波BPF、采样ADC

光源波长

  1. 皮肤的黑色素会吸收大量波长较短的波
  2. 皮肤上的水份也会吸收大量的UV和IR部分的光
  3. 进入皮肤组织的绿光(500nm)-- 黄光(600nm)大部分会被红细胞吸收
  4. 红光和接近IR的光相比其他波长的光更容易穿过皮肤组织
  5. 血液要比其他组织吸收更多的光
  6. 相比红光,绿(绿-黄)光能被氧合血红蛋白和脱氧血红蛋白吸收

在光学系统中,光从皮肤表面投射出来。再由光电传感器测量红细胞吸收的光量。随着心脏跳动,不断变化的血容量使接收到的光量分散开来。在手指或耳垂上进行测量时,由于这些部位有相当多的动脉血,使用红光或红外光源可获得最佳精度。不过,手腕表层很少有动脉存在,腕部穿戴式设备必须通过皮肤表层下面的静脉和毛细血管来检测脉动分量,因此绿光效果会更好。

光学测量缺点

  • 采集PPG信号的光学噪声:PPG信号的去噪处理,特别是将生理信号与噪声信号分离(运动过程中产生的噪声),是该技术目前面临的最大障碍。阳光产生的直流误差相对而言比较容易消除,但日光灯和节能灯发出的光线都带有可引起交流误差的频率分量。模拟前端使用两种结构来抑制DC 至100 kHz 的干扰信号。模拟信号经过调理后,14 位逐次逼近型数模转换器(ADC)将信号数字化,再通过I2C 接口发送到微处理器进行最终后处理。同步发送路径与光接收器并行集成在一起。其独立的电流源可驱动两个单独的LED,电流电平最多可编程至250 mA。LED 电流是脉冲电流,脉冲长度在微秒级,因此可保持较低的平均功耗,从而最大程度地延长电池使用寿命。LED 驱动电路是动态电路且可即时配置,因此不受各种环境条件影响,例如环境光、穿戴者皮肤和头发的色泽或传感器和皮肤之间的汗液,这些都会降低灵敏度。激励LED 配置非常方便,可用于构建自适应系统。所有时序和同步均由模拟前端处理,因此不会增加系统处理器的任何开销。

  • 运动产生的干扰:当光学心率监护仪用于睡眠研究时,这可能不是问题,但如果在锻炼期间穿戴,运动腕表和护腕将很难消除运动伪像。光学传感器(LED 和光电检测器)和皮肤之间的相对运动会降低光信号的灵敏度。此外,运动的频率分量也可能会被视为心率测量,因此,必须测量该运动并进行补偿。设备与人体相贴越紧密,这种影响就越小,但采用机械方式消除这种影响几乎是不可能的。我们可使用多种方法来测量运动。其中一种是光学方法,即使用多个LED 波长。共模信号表示运动,而差分信号用来检测心率。不过,最好是使用真正的运动传感器。该传感器不仅可准确测量应用于可穿戴设备的运动,而且还可用于提供其他功能,例如跟踪活动、计算步数或者在检测到特定g 值时启动某个应用。对于在检测到运动时启动某个应用的情况,则无需进行高速采样,因此可将数据速率降至6 Hz,此时平均功耗为300 nA。因而,对于低功耗应用和不易更换电池的植入式设备来说,此传感器非常有吸引力。

  • PPG传感器的安装位置:市面上大多数的光学心率传感器是佩戴在三个部位:耳朵(耳塞式耳机)、手臂(佩戴在手臂较高或较低位置的臂带)、手腕(智能手表或是健身追踪腕带)。手腕是准确进行PPG心率量测的最差部位之一,而皮肤表面血管密度较高的前臂,被认为是较好的位置,耳朵则是迄今在人体放置光学心率监测器的最佳位置。

  • 周期交叉问题:周期性活动所产生的光学噪声(慢跑时),心率与步伐速度彼此交错

  • 低灌注流量:灌流是人体推送血液到微血管床(capillary bed)的过程,如同肤色,血液灌流程度在不同人之间有高度差异,可能受到肥胖、糖尿病或心脏动脉疾病的影响,使得血液灌流量降低。低灌流量─特别是在人体四肢,会对光学心率监测器带来挑战,因为信噪比可能会显著降低,而较低的灌流量与较低的血流信号相关联。

  • 肤色的吸收率:PPG传感器中光电二极管(PD)采集到的信号强度取决于穿戴者的肤色。影响因素有:黑皮肤、黄皮肤、白皮肤、有无纹身、有无伤疤

PPG的预处理

处理来自AFE和加速计的信号,然后将处理后的信号叠加到PPG波形上,由此可生成持续的、运动容错心率数据和其他生物计量数据。

PPG信号估算心率

心率监测一般优选波长约为540 nm的绿光LED。它的调制指数高于红光或IR LED,因而能产生优质PPG信号。它还提供不错的CTR水平,因此功耗不会太高。

AC SNR是一个关系信号质量的参数,可以通过DC SNR乘以调制指数来计算。例如,调制指数为1%时,95 dB DC SNR相当于55 dB AC SNR。

PPG信号时域分析:

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

PPG信号频域分析:

把血液流动对光吸收转变成了AC信号,如果对于进行FFT变换,那么就能看到频域的特点。如下图就是对PPG信号的FFT转变



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

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

补充:脉搏与心率

每一次的收缩力都是不一样的,如果收缩力大,就形成脉搏,有的时候收缩力度小,而且时间短,心输出量就很少,就会导致没有脉搏的形成,脉率就比心率小。在记录房颤患者的脉率时,不应简单的把心率数写成脉率。

PPG信号估算血氧

脉搏血氧测定使用红光(通常为660 nm波长)和红外(IR) LED(通常为940 nm波长)。由于血液中含有的氧合血红蛋白HbO2和血红蛋白Hb存在一定的比例,下图表示了氧合血红蛋白HbO2和血红蛋白Hb对波长600~1000nm的光吸收特性,脱氧血红蛋白主要吸收660 nm波长的光,而氧合血红蛋白主要吸收940 nm波长的光。



光电二极管感知未被吸收的光,然后将感知到的信号分为直流分量和交流分量。直流分量代表组织、静脉血和非搏动性动脉血引起的光吸收。交流分量代表搏动性动脉血。然后按照下式计算SpO2的百分比:

%SpO2 = (ACred/DCred)/(ACIR/DCIR)

光学测量 PPG的更多相关文章

  1. 心跳之旅—💗—iOS用手机摄像头检测心率(PPG)

    [前情提要] 光阴似箭,日月如梭,最近几年,支持心率检测的设备愈发常见了,大家都在各种测空气测雪碧的,如火如荼,于是我也来凑一凑热闹.[0]这段时间,我完成了一个基于iOS的心率检测Demo,只要稳定 ...

  2. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

  3. MySQL数据库的安装与密码配置

                      MySQL是由MySQL AB公司开发,后由Oracle公司收购     MySQL是一个关系型数据库管理系统       分为社区版和企业版            ...

  4. SQLite剖析之事务处理技术

    前言 事务处理是DBMS中最关键的技术,对SQLite也一样,它涉及到并发控制,以及故障恢复等等.在数据库中使用事务可以保证数据的统一和完整性,同时也可以提高效率.假设需要在一张表内一次插入20个人的 ...

  5. iOS GCD NSOperation NSThread等多线程各种举例详解(拷贝)

    2年多的iOS之路匆匆而过,期间也拜读来不少大神的博客,近来突然为自己一直做伸手党感到羞耻,是时候回馈社会.回想当年自己还是小白的时候,照着一些iOS多线程教程学,也只是照抄,只知其然.不知其所以然. ...

  6. background-position

    在学习网页"换肤"效果时:对background-position的理解更深了. 这是我使用的一整张图片:

  7. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  8. Tomcat双向Https验证搭建,亲自实现与主流浏览器、Android/iOS移动客户端超安全通信

    紧接着<Tomcat单向Https验证搭建,亲自实现与主流浏览器.Android/iOS移动客户端安全通信>,此处演示下更安全的双向Https认证的通信机制,为了清晰明了,以下进行单独描述 ...

  9. opencv 简单模糊和高斯模糊 cvSmooth

    cv::Mat 是C++版OpenCV的新结构. cvSmooth() 是老版 C API. 没有把C接口与C + + 结合. 建议你们也可以花一些时间看一下介绍. 同样,你如果查看opencv/mo ...

  10. css3学习----transform

    css 2D转换

随机推荐

  1. NOIP 2022 VP游记

    总结:挂大分. HA NOIP没初中生的份,VP. CSP-S 图论专场 NOIP 数数专场. CCF 我服你. T1 看完之后,感觉不难,瞎搞了 40min+,过了大样例. 对拍不会写. T2 猜不 ...

  2. 2023-08-22:请用go语言编写。给定一个长度为N的正数数组,还有一个正数K, 返回有多少子序列的最大公约数为K。 结果可能很大,对1000000007取模。 1 <= N <= 10^5, 1

    2023-08-22:请用go语言编写.给定一个长度为N的正数数组,还有一个正数K, 返回有多少子序列的最大公约数为K. 结果可能很大,对1000000007取模. 1 <= N <= 1 ...

  3. 质量管理 | QC、QA、QM,去QA化与降本增效

    现在国内职业的质量管理都是从 CMMI 和 ISO 质量体系演化过来的,但是能做真正的质量管理的公司很少.质量管理的 QC 偏测试,对最终的产品负责:QA 偏过程,从过程把控质量:QM 偏体系,类似于 ...

  4. 程序员视角下的API数据接口对接指南

    ​ 在当今互联网时代,许多应用程序和网站都需要使用第三方的API接口来获取数据.API(Application Programming Interface)允许不同的应用程序之间进行数据交互,从而提高 ...

  5. 分布式环境下Session共享问题解决和原理讲解

    1.分布式环境下Session共享问题: 2.几种解决方法 3.通过后端统一存储方法在实际项目中问题的体现: 当session的作用域只限于auth.gulimall.com时,在auth.gulim ...

  6. 集群部署专题之一:详解集群间SSH无密码登录配置步骤

    一.SSH简介 SSH(Secure Shell)是一种网络安全协议,通过加密和认证机制实现安全访问和文件传输等业务.传统远程登录和文件传输方式有Telnet或FTP,这两种方式都使用明文传输数据,存 ...

  7. SpringBoot + Redis + Token 解决接口幂等性问题

    前言 SpringBoot实现接口幂等性的方案有很多,其中最常用的一种就是 token + redis 方式来实现. 下面我就通过一个案例代码,帮大家理解这种实现逻辑. 原理 前端获取服务端getTo ...

  8. day01 java 数据类型

    数据类型   1. 数值型:整数类型 byte   short   int   long 浮点类型 double float 基本数据类型:2.字符型:char 3.布尔型:boolean    1. ...

  9. 《流畅的Python》 读书笔记 230926

    写在最前面的话 缘由 关于Python的资料市面上非常多,好的其实并不太多. 个人认为,基础的,下面的都还算可以 B站小甲鱼 黑马的视频 刘江的博客 廖雪峰的Python课程 进阶的更少,<流畅 ...

  10. SQL函数升序Asc,降序Desc使用总结

    关键字-升序Asc及降序Desc的使用语法 对某一结果集按列进行升序或降序排列即:结果集 Order by 列名/数字 Asc/Desc. 一.Asc,Desc排序讲以下5点 1.不写关键字Asc/D ...