血氧仪概述
大家好,我是老张。做嵌入式系统这么多年,血氧仪是我接触过最「接地气」的医疗设备之一。今天咱们就来聊聊这个小小的玩意儿——它怎么工作的?为什么能测出血氧?市场到底有多大?
说实话,我第一次接触血氧仪是在一个远程医疗项目里。当时甲方要求设备能实时监测病人的血氧数据,还要存下来做分析。我心想,这不就是个夹手指的小东西吗?后来深入研究才发现,里面的门道真不少。
血氧仪的工作原理
血氧仪的核心原理,说白了就是「看颜色」。血液里携带氧气的血红蛋白(氧合血红蛋白)和不带氧气的血红蛋白(脱氧血红蛋白),对光的吸收能力不一样。
具体怎么做的?
- 发射两种光:红光(660nm)和红外光(940nm)。这两种光能穿透手指、耳垂这类薄组织。
- 接收透射光:另一侧的光电探测器会接收穿过组织的光信号。
- 分析吸收率:氧合血红蛋白对红外光吸收强,对红光吸收弱;脱氧血红蛋白正好相反。
- 计算比值:通过两种光的吸收率比值,就能推算出血氧饱和度。
关键点:血氧仪测的不是绝对值,而是相对变化。它通过脉搏搏动时血管容积的变化,分离出动脉血的信号。这就是所谓的「脉搏血氧测量技术」。
我记得有一次调试,发现数据总是跳来跳去。查了半天,原来是手指没放稳,导致光路不稳定。嗯,这里要注意——测量时手指不能乱动,否则波形会失真。
血氧饱和度(SpO2)概念
血氧饱和度,英文叫 SpO2,指的是血液中氧合血红蛋白占全部血红蛋白的百分比。正常人在 95% 以上,低于 90% 就属于低氧血症了。
你想想看,这个指标有多重要?
- 呼吸系统疾病:肺炎、慢阻肺患者需要持续监测
- 睡眠呼吸暂停:夜间血氧下降是典型症状
- 高原反应:海拔高了,血氧自然往下掉
- 术后监护:麻醉后病人容易出现呼吸抑制
个人经验:我在做一款家用血氧仪时,发现很多用户不理解 SpO2 和心率的关系。其实两者是独立的——心率快不代表血氧好,心率慢也不代表血氧差。我建议在产品说明书里单独画个对比图,讲清楚这个区别。
脉搏血氧测量技术
脉搏血氧测量,英文叫 Photoplethysmography(PPG),就是通过光电容积描记法来获取脉搏波信号。这个技术最早用在医院监护仪上,后来才慢慢小型化、民用化。
它的核心步骤是这样的:
- 发射光信号:LED 交替发出红光和红外光
- 接收光信号:光电二极管检测透射光强度
- 分离直流分量:组织、骨骼、静脉血等固定成分的吸收
- 提取交流分量:动脉血搏动引起的周期性变化
- 计算比值 R:R = (AC_red / DC_red) / (AC_ir / DC_ir)
- 查表得到 SpO2:通过经验公式或查找表转换
避坑指南:我曾经在一个项目中直接用理论公式计算 SpO2,结果误差很大。后来才发现,不同厂家的 LED 波长有偏差,必须用标准血氧模拟器校准。说白了,理论归理论,实际还得靠标定。
这里给个简单的伪代码,展示一下核心计算逻辑:
// 伪代码:血氧饱和度计算
float calculate_spo2(float ac_red, float dc_red,
float ac_ir, float dc_ir) {
float R = (ac_red / dc_red) / (ac_ir / dc_ir);
// 经验公式:SpO2 = 110 - 25 * R
float spo2 = 110.0 - 25.0 * R;
// 限幅处理
if (spo2 > 100) spo2 = 100;
if (spo2 < 0) spo2 = 0;
return spo2;
}
当然,实际产品里不会用这么简单的公式。一般会做曲线拟合,或者直接用查表法。我见过有些方案用 256 点的查找表,精度能做到 ±2% 以内。
血氧仪的应用场景与市场现状
血氧仪的应用场景,比你想象的要广得多。
| 应用场景 | 典型用户 | 关键需求 |
|---|---|---|
| 医院监护 | ICU、手术室、急诊 | 高精度、连续监测、报警 |
| 家庭健康 | 慢性病患者、老年人 | 便携、易用、数据记录 |
| 运动健身 | 运动员、高原训练者 | 实时反馈、防水防汗 |
| 睡眠监测 | 打鼾人群、失眠患者 | 整夜记录、低功耗 |
| 高原旅行 | 登山者、高原工作者 | 轻便、电池续航长 |
市场现状怎么样?我简单说几个数据:
- 全球市场规模:2023 年约 25 亿美元,预计 2030 年达到 40 亿美元
- 年复合增长率:约 7% 左右
- 主要玩家:Masimo、Nonin、迈瑞、鱼跃等
- 技术趋势:可穿戴化、低功耗、无线传输、AI 辅助诊断
我的观察:疫情之后,家用血氧仪的需求暴涨。很多原本不做医疗电子的公司也冲进来做。但说实话,市面上很多产品精度堪忧。我拆过几款便宜的,LED 波长偏差大,算法也粗糙。做产品,还是得对生命负责。
嗯,这一章的内容差不多就这些。血氧仪看着简单,但要做好、做准,需要光学、模拟电路、数字信号处理、嵌入式软件等多方面的知识。后面几章,我会带着大家一步步搭建一个完整的血氧仪数据存储与日志系统。
记住一句话:数据是死的,但用好数据能救命。咱们做嵌入式系统的,不仅要让设备跑起来,还要让数据存得住、查得到、用得着。
下章预告:第二章我会讲血氧仪的数据采集与信号处理,包括 PPG 波形的滤波、特征点提取、以及如何用单片机实现实时计算。到时候我会分享一个我踩过的坑——关于运动伪迹的消除,保证让你少走弯路。