作者简介: 李德浩, 1998生, 安徽工业大学微电子与数据科学学院硕士研究生 e-mail: iopenli@163.com
腔衰荡光谱技术(CRDS)是一种高灵敏度的痕量气体浓度测量技术, 其中衰荡时间的处理尤为重要。 为减小由采集和实时测量过程中的噪声影响而引入的衰荡信号测量误差, 采用了卡尔曼(Kalman)滤波处理腔衰荡光谱。 该方法通过传统滤波方法预处理获取卡尔曼滤波参数观测噪声协方差
Cavity Ring-Down Spectroscopy (CRDS) is a highly sensitive trace gas concentration measurement technique in which the processing of ring-down time is crucial. This paper adopts the Kalman filter to process the cavity ring-down spectroscopy to reduce the measurement error introduced by noise during the collection and real-time measurement process. This method preprocesses with the traditional filtering method to obtain the observation noise covariance
近年来, 腔衰荡光谱(cavity ring-down spectroscopy, CRDS)技术已发展成为新一代的精密光谱技术, 并在分析化学的许多具有挑战性的分支和光谱计量学方面取得了突破[1, 2, 3]。 研究表明, CRDS技术具有灵敏度高、 准确度高、 结构简单、 体积小等优点[4], 被广泛应用于大气痕量气体浓度检测中[5], 最低检测限可达10-12级[6]。 腔衰荡信号在传输过程中, 由于光子数目的涨落会产生量子噪声[7]。 同一波段内除被测物质外, 其他物质之间的吸收和反应会产生分子噪声[8]。 另外, 由于外部环境的振动和电子器件的热效应也会产生许多随机噪声。 上述的噪声对测量结果带来了较大的不确定性和误差。 通过腔设计、 光源和探测器的改进, 以及数据处理和应用拓展方面的改进, 可以进一步提高腔衰荡光谱的测量灵敏度、 选择性和应用范围。 因此, 对腔衰荡光谱的后续处理, 使检测系统的精度和稳定性得到进一步提高显得非常必要。
目前有许多滤波技术可以用于测量结果的后续处理, 比如中值滤波、 均值平滑滤波、 高斯滤波、 小波变换和卡尔曼(Kalman)滤波等, 但只有少数技术能够在降噪的同时保留实时性。 其中, 卡尔曼滤波将先验信息和观测数据结合起来, 得到更准确的状态估计值, 具有较高的估计精度和较好的实时性能[9]。 2000年, Montgomery等用卡尔曼滤波技术确定了外部影响的时间相关系数, 很好地解释了PM10浓度的时间序列的气象变化过程[10]。 2008年, 沈小燕等将卡尔曼滤波应用到气体状态空间浓度反演, 在噪声统计信息未知的情况下, 整个系统在信噪比较低的情况下也能取得较好的反演精度[11]。 2012年, De Ridder K利用卡尔曼滤波为基础的自适应回归方法, 实现了对确定性空气质量预测的校正[12]。 2022年, 李金义等重点对卡尔曼滤波算法中的测量噪声协方差
本工作应用卡尔曼滤波处理CRDS技术的气体浓度检测光谱, 其中观测噪声与过程激励噪声服从正态分布。 首先获取含有一定噪声水平的模拟衰荡信号, 对拟合出的本底衰荡时间, 以及具有实时变化特征的衰荡时间进行卡尔曼滤波处理。 通过调整不同的过程激励噪声协方差
在腔衰荡光谱技术[14, 15]中, 光线在含有两高反镜的腔体中来回反射, 并由于气体吸收等损耗逐渐衰减; 由后腔高反镜透射出的光谱来确定腔内气体的浓度信息。 其中强度变化可用Beer-Lambert定律描述, 即
式(1)中, In是n次反射后后腔高反镜透射出的脉冲光强, I0为第一次透射出的脉冲光强, R是高反镜的反射率, d是气体在腔体中填充的长度, α 是腔内气体的吸收系数。 经过多次反射接收到的光强序列, 便是呈指数变化离散的衰荡信号。 若腔内处于零空气状态, 出射光强衰减为初始的1/e所消耗的时间为本底衰荡时间τ o; 若存在样气, 则为衰荡时间τ 。 由此可得
式(2)中, cA为气体浓度, c是光速, σ A是气体的吸收截面, RL是总腔长与样气存在时长度的比值。 CRDS系统的探测灵敏度主要取决于系统的本底衰荡时间及其标准偏差, 系统探测灵敏度[16]可表示为
式(3)中, [A]min为可探测的气体最小浓度值, 即最低检测限, σ (τ 0)是τ 0的标准偏差。
卡尔曼滤波以多个衰荡信号拟合出的衰荡时间作为处理对象, 预处理估计其中的噪声分量, 预测衰荡时间并且根据状态变化进行校正[17]。 这种通过将先验信息和观测数据相结合, 并对系统状态进行递推, 可以获得更准确的状态估计值, 从而实现更高的估计精度。 将真实的气体浓度和测得的气体浓度结合起来的表达式为
式(4)和式(5)中, xn-1为气体的真实浓度值, xn为后一时刻值, wn-1为气体的过程激励噪声分量, Zn为测得的浓度值, vn为观测噪声分量。 所以, 卡尔曼滤波器可分为两个部分: 预测和校正。 这两个部分是一直循环更新的动态过程, 其中包括五个核心步骤方程[18, 19], 预测部分方程的具体形式
$\hat{x}_{n}=\hat{x}_{n-1}$ (6)
为更新先验估计, 式中
$\hat{P}_{n}=P_{n-1}+\sigma_{w}^{2}$ (7)
为更新先验估计误差协方差, 式中Pn-1为初始时刻的误差协方差,
$K_{n}=\hat{P}_{n} /\left(\hat{P}_{n}+\sigma_{v}^{2}\right)$(8)
$\hat{x}_{n}=\hat{x}_{n}+K_{n} * \left(Z_{n}-\hat{x}_{n}^{-}\right)$(9)
$P_{n}=\left(1-K_{n}\right) * \hat{P}_{n}$(10)
式中, Kn为后一时刻卡尔曼增益,
$p(w) \sim N(0, Q)$(11)
所以, 过程激励噪声协方差
对于R, 由于受测量噪声影响较大, 可以利用测量结果进行噪声滤波预处理获取。 利用中值滤波和高斯滤波将测量结果中的噪声分量滤出, 求取方差来得到R的估计值。 本工作着重在得到R的估计值后, 对Q取值的效果从不同方面比较、 分析和评定。
在CRDS系统中, 接收到的信号是呈指数衰减的离散强度值, 由于一些不稳定因素, 信号曲线会产生噪声抖动。 如图1所示, 模拟的衰荡信号设置信号参数如下: 采样频率为1 MHz, 采样点数为250个, 拟合起始点为第3到200个, 衰荡时间真值为22.5 μ s。 添加均匀白噪声, 噪声水平为0.05。
对衰荡信号采用线性回归总和法(LRS)进行拟合[23], 获取10 000个含5%噪声水平拟合出的本底衰荡时间。 预处理的R值为0.27, Q值分别取0.1、 0.001和1× 10-10进行卡尔曼滤波处理。 从图2滤波前后对比可以看出, 滤波前的噪声波动较大, 而滤波后明显减小, 存在明显的降噪作用。 随Q值的变化滤波后的波动也会发生改变, 三者比较发现, Q值越小, 滤波后的波动也越小, 并且与真值结果趋于重合。 从表1可以看出, 在不同Q值下过滤后的相对误差较小, 并且标准偏差也有减小趋势。 根据式(3)可以得到, CRDS系统测量气体浓度时, 降低本底衰荡时间的标准偏差可以提高系统检测灵敏度, 这对评估系统的性能十分重要。
![]() | 图2 本底衰荡时间滤波前后与真值对比Fig.2 Comparison of background ring-down time before and after filtering with true value |
![]() | 表1 卡尔曼滤波前后的相对误差和标准偏差 Table 1 Relative errors and standard deviations before and after Kalman filtering |
为进一步探究卡尔曼滤波对本底衰荡时间的处理效果, 以10进制中的不同数量级获取不同Q值, 相对误差和标准偏差比较和分析滤波结果, 如图3所示。 过滤后Q值在大于1× 10-7时相对误差会有增大趋势, Q值大于1× 10-3后变化平缓, 但基本都在0.2%以下。 Q值大于1× 10-7时标准偏差呈指数上升趋势, Q值小于1× 10-7则基本稳定在0.02, 与过滤前的0.53相比, 检测限可提升约26倍。 实际测量中, 由于噪声水平分量的不同, 滤波后的效果也会不同。
与本底衰荡时间不同的是, 衰荡时间是反映实时浓度变化的重要参数, 此时的衰荡信号在噪声水平不变的前提下, 有一定的实时响应的幅度变化。 如图4所示, 模拟出2 000个噪声水平为0.05、 有变化梯度的衰荡信号的衰荡时间。 选取Q值为0.01的卡尔曼滤波后, 明显减小了噪声抖动, 前后响应基本一致。
在上述本底衰荡时间通过卡尔曼过滤的基础下, 衰荡时间滤波同样需要确定合适的Q值。 而对于效果评定, 可以将调Q滤波处理后的衰荡时间值与无噪声的相减, 获取残差序列, 通过其标准偏差大小来比较。 残差的标准偏差(RMSE)公式为
式(13)中, yi是滤波后的衰荡时间,
基于CRDS系统搭建了测量NO2浓度实验系统, 如图6所示。 实验平台包括二极管激光器、 高反镜、 光电倍增管和数据采集卡等硬件设施。 采用LabVIEW设计了全自动软件, 可实时采集衰荡信号及显示拟合出的衰荡时间和浓度等波形数据。 其中二极管激光器稳定输出的是405 nm的蓝紫光, 根据HITRAN数据库, NO2在此波长有较强的吸收作用。 调制器为函数发生器, 使二极管激光器稳定输出频率为2 kHz, 占空比为50%的脉冲波。 激光通过光隔离器, 经两个45° 平面镜反射后进入腔体。 腔体两端有高反镜, 反射率达99.99%以上, 光在腔内可有效进行多次来回反射。 在后腔体一端装有光电倍增管(PMT), 用于将光信号转化为电信号, 最后通过数据采集卡采集。
实验时间为2023年6月20日16时, 地点位于安徽省马鞍山市安徽工业大学数理楼二楼(距地面约5 m), 实验装置如图7所示。 系统采用抽气采样方式, 样气流速控制在1.5 L· min-1。 同时采用质量流量计控制N2吹扫高反镜, 流速为100 mL· min-1, 目的是防止高反镜被污染。 实际测量时, 随着电磁阀的通路切换, 腔内压强会产生一定的突变, 造成信号抖动。 另外, 实验平台的机械振动也会对信号传输和采集造成影响。 所以, 对测量结果中的实际噪声影响往往难以估计, 而卡尔曼滤波可以一定程度上实现降噪并提高系统性能。
利用实验系统获取了1 000个本底衰荡时间, 采用模拟信号分析结果, 由上述模拟结果Q值可取10-10进行卡尔曼滤波处理, 如图8(a)所示, 可以看出明显的滤波效果。 其中, 本底衰荡时间的时间分辨率为1 s, 为对40次衰荡信号平均所得。 针对实验室真实采集衰荡信号, 我们进行了滤波前后均值, 标准偏差和最低检测限分析。 由表2可以看出, 本底衰荡时间滤波前后的均值基本不变, 保证了测量的准确性。 卡尔曼滤波后标准偏差明显减小, 相应的检测限提高9.12倍。 对比滤波前, 必须进行多次衰荡信号的平均, 降低时间分辨率而提高检测限。 卡尔曼滤波弥补了这一不足, 因此提高了系统性能。
![]() | 表2 卡尔曼滤波评价 Table 2 Kalman filtering before and after evaluations |
时间分辨率不变, 获取了2 000个衰荡时间, 应用Q值为0.001进行滤波, 结果如图8(b)所示。 衰荡时间的滤波前后的时间响应无明显改变, 噪声抖动减小, 可以达到明显的降噪作用。 结合上述1 000个本底衰荡时间均值, 代入式(2)得到的图8(c)是滤波前后的NO2浓度结果对比。 与图8(c)的变化趋势相反, 浓度结果可反映衰荡时间的实时变化信息。 最终, 实验结果验证了模拟过程中卡尔曼滤波的有效性。
对CRDS技术测量气体浓度运用卡尔曼滤波方法进行光谱优化, 重点对卡尔曼滤波的初始参数过程激励噪声协方差Q进行研究。 通过模拟衰荡信号获取本底衰荡时间和衰荡时间, 从相对误差, 标准偏差, 残差的标准偏差(RMSE)和不同噪声水平四个方面来评估不同Q值的滤波效果, 从而选择Q值小于1× 10-7处理本底衰荡时间和Q值为0.001处理衰荡时间。 根据模拟结果, 卡尔曼滤波可以提高测量精度, 保持实时响应, 并提升稳定性和抗噪能力。 将选定的Q值应用于实际CRDS装置测量NO2气体浓度中, 系统的最低检测限提高约9.12倍, 最终的浓度结果与过滤前相比有明显的滤波效果。 因此, 经过调Q后的卡尔曼滤波, 在处理CRDS技术测量过程可以有效提高系统性能, 并实现测量结果的优化。 卡尔曼滤波方法在CRDS气体测量方面具有很好的实用性, 并为其他气体测量结果的优化提供了方法和参考依据。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|
[21] |
|
[22] |
|
[23] |
|