光学测量 PPG
参考来源: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

光源波长

- 皮肤的黑色素会吸收大量波长较短的波
- 皮肤上的水份也会吸收大量的UV和IR部分的光
- 进入皮肤组织的绿光(500nm)-- 黄光(600nm)大部分会被红细胞吸收
- 红光和接近IR的光相比其他波长的光更容易穿过皮肤组织
- 血液要比其他组织吸收更多的光
- 相比红光,绿(绿-黄)光能被氧合血红蛋白和脱氧血红蛋白吸收
在光学系统中,光从皮肤表面投射出来。再由光电传感器测量红细胞吸收的光量。随着心脏跳动,不断变化的血容量使接收到的光量分散开来。在手指或耳垂上进行测量时,由于这些部位有相当多的动脉血,使用红光或红外光源可获得最佳精度。不过,手腕表层很少有动脉存在,腕部穿戴式设备必须通过皮肤表层下面的静脉和毛细血管来检测脉动分量,因此绿光效果会更好。
光学测量缺点
采集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的更多相关文章
- 心跳之旅—💗—iOS用手机摄像头检测心率(PPG)
[前情提要] 光阴似箭,日月如梭,最近几年,支持心率检测的设备愈发常见了,大家都在各种测空气测雪碧的,如火如荼,于是我也来凑一凑热闹.[0]这段时间,我完成了一个基于iOS的心率检测Demo,只要稳定 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- MySQL数据库的安装与密码配置
MySQL是由MySQL AB公司开发,后由Oracle公司收购 MySQL是一个关系型数据库管理系统 分为社区版和企业版 ...
- SQLite剖析之事务处理技术
前言 事务处理是DBMS中最关键的技术,对SQLite也一样,它涉及到并发控制,以及故障恢复等等.在数据库中使用事务可以保证数据的统一和完整性,同时也可以提高效率.假设需要在一张表内一次插入20个人的 ...
- iOS GCD NSOperation NSThread等多线程各种举例详解(拷贝)
2年多的iOS之路匆匆而过,期间也拜读来不少大神的博客,近来突然为自己一直做伸手党感到羞耻,是时候回馈社会.回想当年自己还是小白的时候,照着一些iOS多线程教程学,也只是照抄,只知其然.不知其所以然. ...
- background-position
在学习网页"换肤"效果时:对background-position的理解更深了. 这是我使用的一整张图片:
- {ICIP2014}{收录论文列表}
This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...
- Tomcat双向Https验证搭建,亲自实现与主流浏览器、Android/iOS移动客户端超安全通信
紧接着<Tomcat单向Https验证搭建,亲自实现与主流浏览器.Android/iOS移动客户端安全通信>,此处演示下更安全的双向Https认证的通信机制,为了清晰明了,以下进行单独描述 ...
- opencv 简单模糊和高斯模糊 cvSmooth
cv::Mat 是C++版OpenCV的新结构. cvSmooth() 是老版 C API. 没有把C接口与C + + 结合. 建议你们也可以花一些时间看一下介绍. 同样,你如果查看opencv/mo ...
- css3学习----transform
css 2D转换
随机推荐
- 【Unity3D】平面光罩特效
1 前言 屏幕深度和法线纹理简介中对深度和法线纹理的来源.使用及推导过程进行了讲解,激光雷达特效中讲述了一种重构屏幕像素点世界坐标的方法,本文将沿用激光雷达特效中重构像素点世界坐标的方法,实现平面 ...
- 一种基于ChatGPT的高效吃瓜方式的探索和研究。
你好呀,我是歪歪. 最近掌握了一个新的吃瓜方式,我觉得还行,给大家简单分享一下. 事情说来就话长了,还得从最近的一次"工业革命"开始,也就是从超导材料说起. 8 月 1 日的时候 ...
- C#中多线程的用法
1.在C#中使用多线程可以使用Thread 代码例子: public class ThreadExample { public static void ThreadProc() { for (int ...
- 1、MyBatis简介
1.1.MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁 移到了Google Code. ...
- TCP的可靠性之道:确认重传和流量控制
TCP 全称为 Transmission Control Protocol(传输控制协议),是一种面向连接的.可靠的.基于字节流的传输层通信协议,其中可靠性是相对于其他传输协议的优势点.TCP 为了确 ...
- ENVI+ERDAS实现Hyperion叶绿素含量反演:经验比值法、一阶微分法
本文介绍基于ENVI与ERDAS软件,依据Hyperion高光谱遥感影像,采用经验比值法.一阶微分法等,对叶绿素含量等地表参数加以反演的具体操作. 目录 1 前期准备与本文理论部分 1.1 几句闲谈 ...
- 【反反爬】使用Jsoup爬取数据保存Excel
本文主要使用Jsoup爬取XXX房屋信息,抓取一些房屋信息,比如房屋楼盘.户型.价格.地址等信息,然后保存到Excel,便于对比和筛选,选出符合预期的好房. 注意,有些网站有防爬取机制,需要设置动 ...
- 从软件工程师角度聊聊 Kubernetes
作为软件工程师,我们应该熟悉 K8s,尽管它有点像 DevOps,但它能让我们更好地了解幕后发生的事情,让我们与部署工作更密切相关,更有责任感.本文将从软件工程师的角度探讨 Kubernetes (K ...
- Azure Data Factory(七)数据集验证之用户托管凭证
一,引言 上一篇文章中,我们讲解了 Azure Data Factory 在设置数据集类型为 Dataverse 的时候,如何连接测试.今天我们继续讲解认证方式这一块内容,打开 Link Servi ...
- RabbitMQ入门实践
一.概述: 大多应用中,可通过消息服务中间件来提升系统异步通信.扩展解耦能力. 1.消息服务中两个重要概念: 消息代理(message broker)和目的地(destination)当消息发送者发送 ...