动态范围

为什么有的痕量分析仪,量程范围可以非常广,既可以测量小量程,又可以测量大量程。这台机器是如何做到:既能看清一只蚂蚁的腿毛(ppb 级痕量),又能看清一头大象(ppm 级常量),而且用的是同一双眼睛(PMT)

这个魔法的核心在于:可变增益链 (Variable Gain Chain)。在电路实现上,主要依靠 TIA(跨阻放大器)的量程切换和 PGA(可编程增益放大器)。我把这个过程比作显微镜的换镜头(或者说电子变速箱)

一、 核心矛盾:ADC 的分辨率瓶颈

首先,我们要明白为什么要调整增益。现在的仪器最终都要把模拟信号变成数字信号(ADC,模数转换)。

假设你的 ADC 是 0~5V 输入范围。

  1. 如果不调增益(固定量程):
    • 为了测 100 ppm (大信号),你设定 5V = 100 ppm。
    • 那么 1 ppb (0.001 ppm) 对应的电压就是 $0.00005\text{V}$ (50 微伏)。
    • 后果: 50 微伏的有用信号早就被电路板上的白噪声底噪淹没了,根本测不出来。
  2. 解决思路:
    • 测大信号时:把倍数调低(5V = 100 ppm)。
    • 测小信号时:把倍数放大 1000 倍(5V = 100 ppb)。这样 1 ppb 的信号就变成了 0.05V (50 毫伏),这就能测准了!

二、 硬件实现:三级放大策略

在紫外荧光法 $\text{SO}_2$ 分析仪中,电路通常分为三级来处理 PMT 输出的微弱电流。

第一级:I/V 转换(跨阻放大器 TIA)—— 最关键的“电阻切换”

PMT 输出的是电流 ($I_{pmt}$),通常在 皮安 (pA, $10^{-12}$) 到 微安 ($\mu\text{A}, 10^{-6}$) 级别。我们需要把它变成电压 ($V$) 给 ADC 读。

公式:$V_{out} = I_{pmt} \times R_f$ (反馈电阻)

这是物理层面的量程切换,也是最常用的一招。

  • 低量程模式 (Trace Mode):
    • 我们需要极大的放大倍数。
    • 电路会自动接通一个 1G$\Omega$ ($10^9$ 欧姆) 的超大电阻。
    • 哪怕只有 1pA 的电流,也能产生 $1\text{pA} \times 1\text{G}\Omega = 1\text{mV}$ 的电压。
  • 高量程模式 (High Range):
    • 电流太大了,用大电阻会瞬间让电压“爆表”(超过 5V)。
    • 电路通过继电器或模拟开关,切换成一个 1M$\Omega$ ($10^6$ 欧姆) 的电阻。
    • 倍数瞬间缩小了 1000 倍。

第二级:PGA (可编程增益放大器) —— 精细微调

TIA 负责粗调(比如 x1, x100, x1000),PGA 负责细调(x1, x2, x4, x8…)。这是一个集成芯片,CPU 可以通过发指令,瞬间改变它的放大倍数。它的作用是把第一级出来的电压,尽可能拉伸到 ADC 的最佳工作区(比如 2V~4V)。

第三级:PMT 高压调整 (HV Adjustment) —— 终极武器

如果光强实在太强了,把电阻换到最小、PGA 设为 1 还是爆表怎么办?

降低 PMT 的供电电压(负高压)。

  • PMT 的增益对高压极其敏感。高压从 -800V 降到 -600V,PMT 输出的电流可能直接衰减 10 倍。
  • 注:这种方法响应慢,通常不用于快速量程切换,只用于基准设定。

三、 算法逻辑:自动量程 (Auto-Ranging) 的“傻瓜”逻辑

硬件准备好了,软件(算法)是怎么指挥的呢?这就涉及到了阈值判定滞回。CPU 会在一个循环里不断监视 ADC 的读数(假设 ADC 满量程是 65535):

1. 向上切换 (Upscale):防止爆表

  • 逻辑: 如果 ADC 读数连续 N 次超过 90% (比如 > 59000)。
  • 判断: “危险!信号快到顶了,要被削顶了!”
  • 动作:
    1. 命令 PGA 增益 除以 10(或者切换 TIA 电阻)。
    2. 软件内部记录:现在的 硬件放大倍数 (Gain Factor) 变了。
    3. 丢弃切换瞬间不稳定的那几个数据。

2. 向下切换 (Downscale):防止丢失精度

  • 逻辑: 如果 ADC 读数连续 N 次低于 10% (比如 < 6500)。
  • 判断: “信号太小了,分辨率不够用了,我要放大看细节!”
  • 动作:
    1. 命令 PGA 增益 乘以 10。
    2. 等待电路稳定。

3. 核心算法:滞回区间 (Hysteresis) —— 避免“抽风”

这是一个非常重要的工程经验。

  • 如果你设定: >90% 升档,<90% 降档。
  • 后果: 如果读数刚好在 90% 附近跳动,继电器就会“咔哒咔哒”疯狂切换,系统就崩溃了。
  • 做法:
    • 升档阈值设为 95%
    • 降档阈值设为 15%
    • 中间这巨大的空白区,保持当前量程不动。

四、 数据还原:这一步最容易被忽视

硬件切换了,电压变了,那屏幕上显示的浓度数值会不会突然跳变?当然不能跳! 软件必须把电压归一化。 $$\text{最终显示浓度} = \frac{\text{ADC读数电压}}{\text{当前的硬件总增益}} \times \text{校准系数}$$

  • 场景 A(低量程):
    • ADC 读到 4.0V。
    • 当前增益是 x1000。
    • 反算原始信号:$4.0 / 1000 = 0.004$。
  • 场景 B(高量程):
    • 切换后,硬件增益变成了 x1。
    • 同样的浓度,ADC 读数变成了 0.004V。
    • 反算原始信号:$0.004 / 1 = 0.004$。

结果: 虽然 ADC 读到的电压天差地别,但经过软件除以增益后,最终算出来的浓度是平滑连接的。

痕量仪与常量仪

那按照上面的思路,分析仪就可以通过电路的调整来实现量程的扩大了,不是吗?那为什么现实中很多分析仪并没有这么做。为什么大量程小量程不能用一台机器“通吃”?

这么做,电路的瓶颈确实被打破了,但物理和化学的瓶颈还在

死敌一:光学饱和效应 —— 堵车了

这是紫外荧光法($\text{SO}_2$)和化学发光法($\text{NO}_x$)无法测量高浓度的最主要原因。

场景类比:

  • 低浓度(正常): 广场上站着 10 个人($\text{SO}_2$)。我用一束光照过去,每个人都能被照到,每个人都发光。光强 $\propto$ 人数。线性很好。
  • 超高浓度(扩大量程后): 广场上密密麻麻挤了 10,000 个人。
    • 问题来了: 我手电筒的光,只能照亮最前面那几排人。
    • 后面的人: 被前面的人挡住了(阴影区),根本没受到激发,不发光
    • 发出的光: 甚至发出来的荧光,在飞向 PMT 的过程中,又被旁边没发光的人给“吸收”了(自吸收)。 结果(非线性):即使电路能读数,但你会发现:浓度 1000 ppm 时读数是 1V;浓度 5000 ppm 时读数可能只有 1.2V。曲线趴下了。 这时候算法再怎么拟合也救不回来。

死敌二:探测器的生理极限 —— “亮瞎眼”

即使我们假设气体没有自吸收,发出了巨大的光,PMT(光电倍增管)也受不了。

  • PMT 的原理: 一个光子进来,变成 100 万个电子出去。
  • 高浓度下: 进来的光子太多了。
    • 电流限制: PMT 内部的倍增极(Dynode)电流是有上限的。电子云太密集,空间电荷效应会排斥后续的电子。
    • 不可逆损伤: 如果你强行用痕量仪去测高浓度(比如锅炉爆表),巨大的阳极电流会把 PMT 的最后一级“烧坏”,导致灵敏度永久下降。

电路能调增益,但救不了探测器的命。 就像你能把照片亮度调低,但不能让你的视网膜盯着太阳看。

死敌三:系统的“记忆效应” —— “洗不干净”

这是机械和气路设计的痛。

痕量分析仪(比如测 ppb 级的)为了追求灵敏度,其管路、反应室材料虽然也是特氟龙或不锈钢,但只要接触过一次高浓度气体(比如 1% 的 $\text{SO}_2$):

  1. 吸附: 高浓度的气体会深深“钻”进管路表面的微孔里。
  2. 清洗: 当你切回测量低浓度(ppb)时,那些钻进去的气体开始慢慢释放。
  3. 后果: 你的背景噪声(本底)会变得极高。原本能测 1 ppb,现在因为管路脏了,起步就是 50 ppb。

结论:测过一次高浓度,这台“痕量仪”就废了,可能需要吹扫几天几夜才能恢复“视力”。

工程师的“作弊”手段:如果非要测,怎么办?

1. 物理衰减器 (Physical Attenuator) / 光圈

  • 原理: 既然光太强会“亮瞎眼”,那我就戴墨镜。
  • 做法: 在 PMT 前面加一个带小孔的金属片(光阑)或者中性密度滤光片。
  • 代价: 牺牲了低浓度的检出限(看不清微量了),但把量程上限扩大了 100 倍。

2. 双光路 / 双气室 (Dual Bench)

  • 原理: 既然不能通吃,那我就装两套系统。
  • 结构:
    • 长气室: 光程长,灵敏度高,用来测低浓度。
    • 短气室: 光程极短(比如只有 1mm),专门测高浓度(避免光学饱和)。
  • 切换: 很多 NDIR 分析仪里,你会看到一个切光轮上同时有长短两个气室,CPU 自动判断:浓度高了就读短的,浓度低了就读长的。

3. 稀释采样 (Dilution)

这就回到了我们最开始聊的。既然仪器测不了高浓度,那我就在进气口把它稀释 100 倍再送进去。这是最彻底的解决办法。

总结

在纯信号处理领域,通过可变增益链确实可以非常“简单”的扩大量程 (比如数字万用表,靠切电阻就能从 mV 测到 kV),但在分析仪器领域,我们要处理的是物质和光:

  • 光会饱和(非线性)。
  • 物质会吸附(污染)。
  • 器件会损坏(PMT 过载)。

所以,分析仪厂家才会把产品严格分为 “环境级(Ambient / Trace, ppb)” 和 “污染源级(Source / Emission, ppm)。这不仅仅是软件设置的不同,而是光路长度、气室体积、管路材质、甚至探测器选型的全方位物理差异

Licensed under CC BY-NC-SA 4.0