1、血氧测量原理:光电容积脉搏波描记法(PPG)基础、朗伯-比尔定律在血氧中的应用、红光与红外光的双波长测量原理
大家好,我是你们的老朋友。今天咱们来聊聊血氧仪最核心的东西——测量原理。说实话,我当年刚入行时,觉得这东西不就是两个LED灯一照,一个光电管一收,数据就出来了?后来踩了坑才知道,这里面的门道深着呢。
嗯,咱们先从最基础的讲起。
1.1 光电容积脉搏波描记法(PPG)基础
PPG,全称是Photoplethysmography。名字挺长,说白了就是「用光来测血管里的血容量变化」。你想想看,心脏每跳一次,血液就被泵到全身,手指尖的毛细血管就会跟着鼓起来、瘪下去。这个鼓瘪的过程,就是容积变化。
我习惯把PPG信号分成两部分:
- 直流分量(DC):皮肤、骨骼、肌肉这些不动的组织吸收的光。这部分基本不变。
- 交流分量(AC):动脉血随心跳脉动带来的光吸收变化。这才是我们真正关心的。
我在项目中遇到过一个问题:刚开始做血氧仪原型时,PPG信号噪声大得离谱。后来发现是手指没固定好,微小的抖动都被放大了。所以啊,机械结构设计对PPG信号质量的影响,有时候比电路还大。
关键点:PPG信号的信噪比直接决定了血氧计算的精度。AC分量通常只有DC分量的1%-2%,所以前端模拟电路的设计非常关键。
1.2 朗伯-比尔定律在血氧中的应用
朗伯-比尔定律,大学物理化学课上都学过。公式很简单:
A = ε × c × L
其中A是吸光度,ε是摩尔吸光系数,c是物质浓度,L是光程长度。
但应用到人体上,情况就复杂了。人体不是均匀的溶液,而是多层组织。光在手指里走的路程也不是直线,而是散射的。我刚开始做算法时,直接用这个公式算,结果误差大得吓人。
为什么会这样?因为朗伯-比尔定律假设的是单色光、均匀介质、无散射。而人体组织恰恰相反——散射严重,介质不均匀,而且我们用的LED也不是纯单色光。
所以实际工程中,我们用的是修正的朗伯-比尔定律:
A = ε × c × L × DPF + G
DPF是差分路径因子,G是散射损失。这两个参数需要通过实验标定。我建议你在做产品时,不要直接套用文献里的DPF值,因为不同人群、不同测量部位,DPF差异很大。
实战技巧:我在做一款腕式血氧仪时,发现DPF值比指尖式大了将近1.5倍。这是因为手腕处组织更厚,光散射更严重。所以,不同产品形态必须单独标定。
1.3 红光与红外光的双波长测量原理
好了,重头戏来了。为什么一定要用两个波长?
因为我们需要区分两种血红蛋白:
- 氧合血红蛋白(HbO₂):携带氧气的,颜色鲜红
- 脱氧血红蛋白(Hb):不携带氧气的,颜色暗红
这两种血红蛋白对不同波长的光吸收特性完全不同。我整理了一个表格,你一看就明白:
| 波长 | HbO₂吸光系数 | Hb吸光系数 | 典型LED |
|---|---|---|---|
| 660nm(红光) | 较低 | 较高 | 红光LED |
| 940nm(红外光) | 较高 | 较低 | 红外LED |
你看,在660nm处,Hb的吸收远高于HbO₂;而在940nm处,情况正好反过来。利用这个差异,我们就可以算出血氧饱和度。
具体怎么算?我们测量两个波长的PPG信号,提取各自的AC和DC分量,然后计算比值R:
R = (AC_red / DC_red) / (AC_ir / DC_ir)
然后通过一个经验公式,把R值映射到血氧饱和度SpO₂:
SpO₂ = A - B × R
这里的A和B是校准系数。我曾经踩过一个坑:直接用了某芯片厂商给的默认系数,结果在低血氧段(80%以下)误差高达5%以上。后来自己做了人体缺氧实验,重新拟合了系数,才把误差控制在2%以内。
注意:这个线性公式只在70%-100%范围内有效。低于70%时,R值与SpO₂的关系会变成非线性。如果你做的是医用级血氧仪,必须考虑全量程的非线性校准。
1.4 实际工程中的几个坑
讲完原理,我分享几个实际项目中遇到的坑,希望能帮你少走弯路:
- 运动伪影:PPG信号对运动极其敏感。我见过一个方案,用了加速度传感器做运动补偿,效果还不错。
- 环境光干扰:强光环境下,光电二极管的输出会饱和。我习惯在LED关闭时采样环境光,然后做差分消除。
- LED驱动电流:电流太大,手指会发热;电流太小,信号太弱。一般控制在10-50mA,具体要看你的光电二极管灵敏度。
- 采样率选择:心率一般在0.5-4Hz,但PPG信号需要更高的采样率来捕捉波形细节。我建议至少100Hz,最好200Hz以上。
总结一下:血氧测量的核心,就是利用双波长PPG信号,通过修正的朗伯-比尔定律,计算出组织中的血氧饱和度。原理听起来简单,但要做好一个产品,需要解决信号采集、噪声抑制、运动补偿、校准标定等一系列工程问题。
嗯,今天就先聊到这儿。下一章咱们会深入讲讲PPG信号的前端模拟电路设计,包括怎么选光电二极管、怎么设计跨阻放大器、怎么滤除工频干扰。这些都是我在项目里反复调试过的经验,到时候咱们细聊。