血氧仪概述

大家好,我是老张。做嵌入式系统这么多年,血氧仪是我接触过最「接地气」的医疗设备之一。今天咱们就来聊聊这个小小的玩意儿——它怎么工作的?为什么能测出血氧?市场到底有多大?

说实话,我第一次接触血氧仪是在一个远程医疗项目里。当时甲方要求设备能实时监测病人的血氧数据,还要存下来做分析。我心想,这不就是个夹手指的小东西吗?后来深入研究才发现,里面的门道真不少。

血氧仪的工作原理

血氧仪的核心原理,说白了就是「看颜色」。血液里携带氧气的血红蛋白(氧合血红蛋白)和不带氧气的血红蛋白(脱氧血红蛋白),对光的吸收能力不一样。

具体怎么做的?

  • 发射两种光:红光(660nm)和红外光(940nm)。这两种光能穿透手指、耳垂这类薄组织。
  • 接收透射光:另一侧的光电探测器会接收穿过组织的光信号。
  • 分析吸收率:氧合血红蛋白对红外光吸收强,对红光吸收弱;脱氧血红蛋白正好相反。
  • 计算比值:通过两种光的吸收率比值,就能推算出血氧饱和度。

关键点:血氧仪测的不是绝对值,而是相对变化。它通过脉搏搏动时血管容积的变化,分离出动脉血的信号。这就是所谓的「脉搏血氧测量技术」。

我记得有一次调试,发现数据总是跳来跳去。查了半天,原来是手指没放稳,导致光路不稳定。嗯,这里要注意——测量时手指不能乱动,否则波形会失真。

血氧饱和度(SpO2)概念

血氧饱和度,英文叫 SpO2,指的是血液中氧合血红蛋白占全部血红蛋白的百分比。正常人在 95% 以上,低于 90% 就属于低氧血症了。

你想想看,这个指标有多重要?

  • 呼吸系统疾病:肺炎、慢阻肺患者需要持续监测
  • 睡眠呼吸暂停:夜间血氧下降是典型症状
  • 高原反应:海拔高了,血氧自然往下掉
  • 术后监护:麻醉后病人容易出现呼吸抑制

个人经验:我在做一款家用血氧仪时,发现很多用户不理解 SpO2 和心率的关系。其实两者是独立的——心率快不代表血氧好,心率慢也不代表血氧差。我建议在产品说明书里单独画个对比图,讲清楚这个区别。

脉搏血氧测量技术

脉搏血氧测量,英文叫 Photoplethysmography(PPG),就是通过光电容积描记法来获取脉搏波信号。这个技术最早用在医院监护仪上,后来才慢慢小型化、民用化。

它的核心步骤是这样的:

  1. 发射光信号:LED 交替发出红光和红外光
  2. 接收光信号:光电二极管检测透射光强度
  3. 分离直流分量:组织、骨骼、静脉血等固定成分的吸收
  4. 提取交流分量:动脉血搏动引起的周期性变化
  5. 计算比值 R:R = (AC_red / DC_red) / (AC_ir / DC_ir)
  6. 查表得到 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 波形的滤波、特征点提取、以及如何用单片机实现实时计算。到时候我会分享一个我踩过的坑——关于运动伪迹的消除,保证让你少走弯路。