最近爆火的电子血氧仪的基本原理

简介: 最近爆火的电子血氧仪的基本原理

继口罩、抗原、药品之后,最近电子血氧仪的价格也开始水涨船高。从一个多月前的100多元,暴涨到了300多元。

那么,这类家用的电子血氧仪是如何工作的呢?测量数据到底准不准?今天就带大家来分析一下。

一、血氧仪工作原理

血氧仪是一种监测脉搏、血氧饱和度等指标的医疗器械,常见的家用型血氧仪,主要有指夹式、腕表式等形式。

一般大家最关注的是血氧饱和度(oxygen saturation简写为SpO2),它是指在全部血容量中被结合O2容量占全部可结合的O2容量的百分比,是人体携带氧气能力的重要参考值。人体正常的SpO2应该不小于95%,长期低于93%时需要就医。

SpO2 一般由以下公式计算:

其中CHbO2是氧合血红蛋白浓度,CHb是还原血红蛋白浓度。

一方面,这两种血红蛋白对不同波长的光有不同的吸收度;另一方面,当动脉跳动时,动脉中的血液量会发生变化,可以区分出皮肤、肌肉、静脉血等对光的吸收影响(这些组织对光的吸收可以认为固定不变)。因此,利用两种不同波长的光,经透射或反射后,采集数据综合处理,就能计算出血氧饱和度。

现在市面上最常见的,都是光电式的血氧仪,如下图所示,有透射式和反射式两种实现方法。

常见的指夹式血氧仪就是透射式,智能手环或手表就是反射式,原理是差不多的。

而LED光源的选择,与血红蛋白对不同光波长的吸收率有关,下图是两种血红蛋白对不同波长的光的消光系数图:

可以看到,两种血红蛋白对波长为660nm左右光的吸收差别最大,而对波长为800nm左右光的吸收基本相等。

从理论上说,使用660nm和800nm波长的光作为光源是最合适的,但由于在800nm左右时,二者的消光系数斜率相差较大,光波长偏差一点就会引起较大的吸收率变化,这对LED的制造工艺要求太高。所以,工程实现时,一般不用800nm波长的LED,而选择波长为860nm~920nm的LED作为另一个光源,这个区间的消光系数斜率基本一样,而且变化平缓。

至此,硬件部分的实现我们已经了解大概了,其实核心就是要使用两个LED作为光源,一个660nm波长的红外光,一个900nm左右波长的红光。两束光分别通过透射(或反射)皮肤后,到达光电接收管,再采集光电接收管的值。

那么,采集到两个光源的值后,又该如何处理呢?这里由于有比较多的公式推导,我们直接略过,给出下面的公式:

这里的实现需要三步:

第一步,我们采集的两个LED光源的值,需要分离出直流分量和交流分量,也就是:红光的交流分量ACred、红光的直流分量DCred、红外光的交流分量ACired、红外光的直流分量DCired;

第二步,用采集到的四个值,计算出R;

第三步,用R计算SpO2,这个计算公式中a、b、c是三个需要校准的参数。需要大量的试验数据去拟合出来。

二、血氧仪的制作

有了以上的理论基础,我们可以自己动手DIY一个血氧仪。

Maxim公司有一款集成芯片,可以实现大部分的硬件功能,就是MAX30100、MAX30102系列芯片。MAX30100已停产,新设计中不推荐使用,MAX30102是新一代产品。

目前价格还没有太离谱:

MAX30102集成了一个660nm红光LED、880nm红外光LED、光电检测器,以及带环境光抑制的低噪声电子电路。芯片内部含18bit ADC采集电路。对外是I2C接口。基本上单芯片就能实现光源信号的采集。

要注意,MAX30102的输出值,只是两个LED光源的采集值。后续还需要软件去实现交流、直流分离,R的求解、SpO2的求解。顺带也可以求解出脉搏数据。

使用max30102很简单,用I2C接口访问,初始化代码如下:

max30102_Bus_Write(REG_INTR_ENABLE_1,0xc0);  // INTR settingmax30102_Bus_Write(REG_INTR_ENABLE_2,0x00);max30102_Bus_Write(REG_FIFO_WR_PTR,0x00);    //FIFO_WR_PTR[4:0]max30102_Bus_Write(REG_OVF_COUNTER,0x00);    //OVF_COUNTER[4:0]max30102_Bus_Write(REG_FIFO_RD_PTR,0x00);    //FIFO_RD_PTR[4:0]max30102_Bus_Write(REG_FIFO_CONFIG,0x0f);    //sample avg = 1, fifo rollover=false, fifo almost full = 17max30102_Bus_Write(REG_MODE_CONFIG,0x03);    //0x02 for Red only, 0x03 for SpO2 mode 0x07 multimode LEDmax30102_Bus_Write(REG_SPO2_CONFIG,0x
目录
相关文章
|
7月前
|
算法 量子技术 vr&ar
【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 详细建模过程解析及代码实现
本文详细介绍了2023年第十三届MathorCup高校数学建模挑战赛A题的解题过程,包括量子计算机在信用评分卡组合优化中的应用,提供了详细的建模方案、QUBO模型的构建方法以及相应的代码实现。
240 3
【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 详细建模过程解析及代码实现
|
7月前
|
机器学习/深度学习 算法 搜索推荐
"震撼揭秘!阿里云AIGC智能图像识别:黑科技如何颠覆你的视界,让图像识别秒变超能力,生活工作全面革新!"
【8月更文挑战第12天】在数字化浪潮中,图像数据激增,高效准确处理成为关键。阿里云智能图像识别服务(AIGC)应运而生,依托深度学习与计算机视觉技术,实现图像特征精确提取与理解。通过大规模数据训练及优化算法,AIGC在图像分类、目标检测等方面表现出色。其应用场景广泛,从电商的商品识别到内容安全审核,再到智能交通和医疗影像分析,均展现出巨大潜力。示例代码展示了AIGC图像生成的基本流程,彰显其技术实力与未来前景。
183 1
|
7月前
|
算法 量子技术 决策智能
【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 42页论文及代码
本文介绍了2023年第十三届MathorCup高校数学建模挑战赛A题的解决方案,深入探讨了量子计算机在信用评分卡组合优化中的应用,提供了详细的建模过程、QUBO模型构建方法以及相应的Python代码实现,并在42页的论文中详细阐述了研究成果。
105 0
【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 42页论文及代码
|
自动驾驶 安全 数据挖掘
自动驾驶汽车如何解决复杂交互问题?清华联合MIT提出M2I方案
自动驾驶汽车如何解决复杂交互问题?清华联合MIT提出M2I方案
136 0
|
机器学习/深度学习 人机交互
|
传感器 人工智能 自然语言处理
Paper之ACMCH&UIST&ICUC&IJHC:2009年~2019年人机交互技术(计算系统人为因素会议&用户界面软件&计算国际会议&国际人类计算机研究&人机交互的交易)历年最佳论文简介及其解读
Paper之ACMCH&UIST&ICUC&IJHC:2009年~2019年人机交互技术(计算系统人为因素会议&用户界面软件&计算国际会议&国际人类计算机研究&人机交互的交易)历年最佳论文简介及其解读
Paper之ACMCH&UIST&ICUC&IJHC:2009年~2019年人机交互技术(计算系统人为因素会议&用户界面软件&计算国际会议&国际人类计算机研究&人机交互的交易)历年最佳论文简介及其解读
|
机器学习/深度学习 人工智能 达摩院
「百图生科」再添虎将,国际机器学习大牛宋乐加入李彦宏生物计算军团
近日,百图生科首席 AI 科学家宋乐接受了机器之心专访。作为世界知名机器学习专家,他领导着百图生科 AI 算法团队,为独具特色的生物计算引擎研发提供技术动力。他眼中的生物计算未来,在于「高通量干湿实验闭环」。
261 0
「百图生科」再添虎将,国际机器学习大牛宋乐加入李彦宏生物计算军团
|
机器学习/深度学习 人工智能 算法
百度语音识别新算法准确率提升超30%,鸿鹄芯片彰显AI落地新打法
今年 7 月,在开发者大会上,百度公布了其在 AI 技术上的进展。而短短四个月后,在昨日的百度语音能力引擎论坛上,百度在语音领域再次公开了最新的算法成果。同样引人关注的还有百度鸿鹄芯片的最新进展。
487 0
百度语音识别新算法准确率提升超30%,鸿鹄芯片彰显AI落地新打法
|
人工智能 计算机视觉
大讲堂 | HiPU设计简介--DAC19目标检测设计竞赛FPGA赛道亚军方案介绍
团队设计了单目标检测的深度学习算法ShuffleDet,和面向Xilinx ZU3的AI硬件加速器,获得了FPGA赛道的第二名
1316 0