血氧仪是如何得出血氧饱和度值的?
目录
一、血氧饱和度概念
二、血氧饱和度监测意义
三、血氧饱和度的监测方式
四、容积脉搏波计算血氧饱和度原理
五、容积脉搏波波形的测量电路方案
1)光源和光电探测器的集成测量模块:SFH7050—反射式
2)模拟前端
六、市面上血氧仪类型
参考文献
一、血氧饱和度概念
测量血氧饱和度可以评估血液中氧气所占的比重,人体红细胞中的血红蛋白是氧气的载体,血红蛋白进一步分为氧合血红蛋白HbO2和还原血红蛋白Hb,氧合血红蛋白表示血红蛋白可以和氧气结合,还原血红蛋白表示血红蛋白不能和氧气结合。血氧饱和度表示为氧合血红蛋白浓度和总血红蛋白浓度之比,如下式所示:
其中的CHbO2为氧合血红蛋白浓度,CHb为还原血红蛋白浓度,SO2分为动脉血氧饱和度SaO2(oxygen saturation in arterial blood)-通过有创方式获得,经皮动脉血氧饱和度SPO2(percutaneous arterial oxygen saturation)-通常在指端通过无创方式测量获得。
二、血氧饱和度监测意义
依据血氧饱和度的值能够对人体的呼吸状况和心肺功能进行判别,常用于睡眠呼吸暂停综合征监测、慢性阻塞性疾病发作、疾病重症度判断等。
一般情况下健康正常人的血氧饱和度值大于等于95%
《新型冠状病毒肺炎诊疗方案(试行第九版)》中显示,静息状态下,吸气时血氧饱和度低于93%是判定重症新冠肺炎的指标之一
三、血氧饱和度的监测方式
有创方式:穿刺获得动脉血液,并通过血气分析仪/分光计获得血氧饱和度值
无创方式:光电容积脉搏波法,分为透射式和反射式—目前市面上常见的指夹式血氧仪
四、容积脉搏波计算血氧饱和度原理
心脏的跳动,使得血管中的血液量呈现周期性变化,当用一定波长的光照射组织时,由于血液量的周期性变化使得光的吸收量不同,光电探测器读出的信号呈现周期性变化,该周期性变化的信号为容积脉搏波波形,通过计算脉搏波波形的特征点,结合公式计算出血氧饱和度值。(另一种通过压力传感器测量动脉血液压力随着心脏波动得出的信号波形为压力脉搏波波形)
透射式测量脉搏波波形
以手指为例,手指端的组织分为静态组织和动态组织,其中的动态组织为由于心脏搏动引起血液量变化的动脉。人体不同组织对光的吸收量不同,动态组织部分引起光的吸收量显现周期性变化,当血管中脉动血液量增多时,透射光最弱,当血管中脉动血液量减少时,透射光最强,因此上图中的出射光显示周期性变化。朗伯比尔定律反映了在一定波长光照射下,溶液的吸光度和浓度成正比,因此只要测量动脉血管的吸光度就能反映动脉血管中血液的浓度情况。
从血氧饱和度的概念,我们知道为了计算出血氧饱和度,需要测量氧合血红蛋白浓度和还原血红蛋白的浓度,下图所示为两种血红蛋白在不同波长光下的吸收系数情况。
选择两种波长(红光660nm 、红外光900-940nm)的光照射人体检测部位,获得两组方程(求解变量:两种血红蛋白各自的吸光度(通过该值可计算血氧饱和度)、已知变量:两种波长、两种波长下总吸光度)
应用朗伯-比尔定律并假定脉动血液中只存在两种血红蛋白,可推导出血氧饱和度的计算公式:
其中的λ1为红光波长、λ2为红外光波长
将获得的脉搏波波形的特征点:红光照射下获得脉搏波波形的峰值、谷值
、红外光照射下获得脉搏波波形的峰值
、谷值
,带入上式可计算出血氧饱和度值。
其中的A和B系数可通过标定得出该系数值,推荐经验值为A=110,B=25;
五、容积脉搏波波形的测量电路方案
1)光源和光电探测器的集成测量模块:SFH7050—反射式
发射光源:
ELM-4000
660nm的红光波长 3种红外波长可选:880nm、940nm、905nm
EPM-4001
光谱响应特性曲线范围400-1100nm
2)模拟前端
AFE4400:集成LED发射光驱动、高动态范围的接收通道、ADC单元、持续控制器、集成发射和接收的错误诊断单元
六、市面上血氧仪类型
指夹式血氧仪:
透射式,测量部位手指,
腕表:
反射式,测量位置为腕部,容易受到环境光干扰
参考文献
[1] SpO2、SaO2、PaO2、低氧血症概念及标准的总结_teresa_zp的博客-CSDN博客
[2] 韩帅. 血氧饱和度监测仪的设计与应用研究[D]. 天津工业大学, 2016.
[3]徐玉菁. 基于MSP430单片机的便携式血氧仪的设计与实现[D]. 东南大学.
[4] 基于 AFE4400 的反射式血氧饱和度检测系统
相关文章:

血氧仪是如何得出血氧饱和度值的?
目录 一、血氧饱和度概念 二、血氧饱和度监测意义 三、血氧饱和度的监测方式 四、容积脉搏波计算血氧饱和度原理 五、容积脉搏波波形的测量电路方案 1)光源和光电探测器的集成测量模块:SFH7050—反射式 2)模拟前端 六、市面上血氧仪类型…...
Java全栈知识(3)接口和抽象类
1、抽象类 抽象类就是由abstract修饰的类,其中没有只声明没有实现的方法就是抽象方法,抽象类中可以有0个或者多个抽象方法。 1.1、抽象类的语法 抽象类不能被final修饰 因为抽象类是一种类似于工程中未完成的中间件。需要有子类进行继承完善其功能,所…...
JavaScript == === Object.is()
文章目录JavaScript & & Object.is() 相等运算符 全等运算符Object.is() 值比较JavaScript & & Object.is() 相等运算符 相等运算符,会先进行类型转换,将2个操作数转为相同的类型,再比较2个值。 console.log("10&…...

GPT4论文翻译 by GPT4 and Human
GPT-4技术报告解读 文章目录GPT-4技术报告解读前言:摘要1 引言2 技术报告的范围和局限性3 可预测的扩展性3.1 损失预测3.2 人类评估能力的扩展4 能力评估4.1 视觉输入 !!!5 限制6 风险与缓解:7 结论前言: 这篇报告内容太多了!&am…...

inode和软硬链接
文章目录:一、理解文件系统1.1 什么是inode1.2 磁盘了解1.2.1磁盘的硬件结构1.2.2 磁盘的分区1.2.3 EXT2文件系统二、软硬链接2.1 软链接2.2 硬链接一、理解文件系统 1.1 什么是inode inodes 是文件系统中存储文件元数据的数据结构。每个文件或目录都有一个唯一的 …...

简单分析Linux内核基础篇——initcall
写过Linux驱动的人都知道module_init宏,因为它声明了一个驱动的入口函数。 除了module_init宏,你会发现在Linux内核中有许多的驱动并没有使用module_init宏来声明入口函数,而是看到了许多诸如以下的声明: static int __init qco…...

硬件速攻-AT24CXX存储器
AT24C02是什么? AT24CXX是存储芯片,驱动方式为IIC协议 实物图? 引脚介绍? A0 地址设置角 可连接高电平或低电平 A1 地址设置角 可连接高电平或低电平 A2 地址设置角 可连接高电平或低电平 1010是设备前四位固定地址 …...
C# tuple元组详解
概念 本质就是个数据结构,它是将多个数据元素分组成一个轻型数据结构。 如何声明元组变量(针对.net framework 4.7 和 .net core 2.0) 不带字段名称元组 ## t1就是个变量 它的类型是元组类型 ## 左侧括号定义的是参数列表 等于号右侧就是个t1赋值 #…...

1、Linux初级——linux命令
下载镜像:http://cn.ubuntu.com/dowload 一、基本命令 1、alias(给命令取别名) 例如:alias clls -la(只是临时的) 2、配置文件$ vim ~/.bashrc $ vim ~/.bashrc // 使用vim打开配置文件 (1)在配置文件…...

ChatGPT助力校招----面试问题分享(四)
1 ChatGPT每日一题:电阻如何选型 问题:电阻如何选型 ChatGPT:电阻的选型通常需要考虑以下几个方面: 额定功率:电阻的额定功率是指电阻能够承受的最大功率。在选型时,需要根据电路中所需要的功率确定所选…...

【设计模式】创建型设计模式
文章目录1. 基础①如何学习设计模式② 类模型③ 类关系2. 设计原则3. 模板方法① 定义②背景③ 要点④ 本质⑤ 结构图⑥ 样例代码4. 观察者模式① 定义②背景③ 要点④ 本质⑤ 结构图⑥ 样例代码5. 策略模式① 定义②背景③ 要点④ 本质⑤ 结构图⑥ 样例代码1. 基础 ①如何学习…...

Linux 信号(signal):信号的理解
目录一、理解信号1.信号是什么2.信号的种类二、简单理解信号的生命周期一、理解信号 1.信号是什么 Linux中的信号其实和日常生活中的信号还是挺像的,LInux中的信号是一种事件通知机制,通知进程发生了某个事件。进程接收到信号后,就会中断当前…...

Vulnhub项目:Web Machine(N7)
靶机地址:Web Machine(N7)渗透过程:kali ip:192.168.56.104,靶机ip,使用arp-scan进行查看靶机地址:192.168.56.128收集靶机开放端口:nmap -sS -sV -T5 -A 192.168.56.128开放了80端口࿰…...

Qt基础之三十三:海量网络数据实时显示
开发中我们可能会遇到接收的网络数据来不及显示的问题。最基础的做法是限制UI中加载的数据行数,这样一来可以防止内存一直涨,二来数据刷新非常快,加载再多也来不及看。此时UI能看到数据当前处理到什么阶段就行,实时性更加重要,要做数据分析的话还得查看日志文件。 这里给出…...
linux console快捷键
Ctrl C:终止当前正在运行的程序。Ctrl D:关闭当前终端会话。Ctrl Z:将当前程序放入后台运行。Ctrl L:清除当前屏幕并重新显示命令提示符。Ctrl R:在历史命令中进行逆向搜索。Ctrl A:将光标移动到行首…...
弗洛伊德龟兔赛跑算法(弗洛伊德判圈算法)
弗洛伊德( 罗伯特・弗洛伊德)判圈算法(Floyd Cycle Detection Algorithm),又称龟兔赛跑算法(Tortoise and Hare Algorithm),是一个可以在有限状态机、迭代函数或者链表上判断是否存在环,以及判断环的起点与长度的算法。昨晚刷到一个视频&…...

nodejs篇 express(1)
文章目录前言express介绍安装RESTful接口规范express的简单使用一个最简单的服务器,仅仅只需要几行代码便可以实现。restful规范的五种接口类型请求信息req的获取响应信息res的设置中间件的使用自定义中间件解决跨域nodejs相关其它内容前言 express作为nodejs必学的…...

Java实习生------Redis常见面试题汇总(AOF持久化、RDB快照、分布式锁、缓存一致性)⭐⭐⭐
“年轻人,就要勇敢追梦”🌹 参考资料:图解redis 目录 谈谈你对AOF持久化的理解? redis的三种写回策略是什么? 谈谈你对AOF重写机制的理解?AOF重写机制的具体过程? 谈谈你对RDB快照的理解&a…...

seata服务搭建
它支持两种存储模式,一个是文件,一个是数据库,下面我们分别介绍一下这两种配置nacos存储配置,注意如果registry.conf中注册和配置使用的是file,就会去读取file.config的配置,如果是nacos则通过nacos动态读取…...

Kafka和RabbitMQ有哪些区别,各自适合什么场景?
目录标题1. 消息的顺序2. 消息的匹配3. 消息的超时4. 消息的保持5. 消息的错误处理6. 消息的吞吐量总结1. 消息的顺序 有这样一个需求:当订单状态变化的时候,把订单状态变化的消息发送给所有关心订单变化的系统。 订单会有创建成功、待付款、已支付、已…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
32位寻址与64位寻址
32位寻址与64位寻址 32位寻址是什么? 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元(地址),其核心含义与能力如下: 1. 核心定义 地址位宽:CPU或内存控制器用32位…...
StarRocks 全面向量化执行引擎深度解析
StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计,相比传统行式处理引擎(如MySQL),性能可提升 5-10倍。以下是分层拆解: 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...

C++中vector类型的介绍和使用
文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...
比特币:固若金汤的数字堡垒与它的四道防线
第一道防线:机密信函——无法破解的哈希加密 将每一笔比特币交易比作一封在堡垒内部传递的机密信函。 解释“哈希”(Hashing)就是一种军事级的加密术(SHA-256),能将信函内容(交易细节…...