APP下载

基于卡尔曼滤波算法的嵌入式光纤光栅解调系统∗

2023-11-29王日东宋浩霖靳宝全

传感技术学报 2023年10期
关键词:恒温温度传感器光栅

王日东,刘 丽∗,宋浩霖,王 宇,白 清,刘 昕,靳宝全,2

(1.太原理工大学新型传感器与智能控制教育部与山西省重点实验室,山西 太原 030024;2.煤与煤层气共采国家重点实验室,山西 晋城 048012)

光纤布拉格光栅传感器作为市面上使用频次最高、应用范围最广的光纤传感器,其本身具有不易被腐蚀、传输效率高、抗电磁干扰、耐久性好、安全稳定等优点,被广泛应用于航空工程[1]、能源化工[2]、电力监测[3]、建筑工程[4-5]以及结构健康状态监测[6-8]等领域。

在实际工程应用中,易携带、成本低廉、快速准确解调已经成为光纤光栅解调系统发展的关键。已有学者就提升光纤光栅解调系统的解调精度、稳定性和实现快速解调等方面做出相应的研究。2020年翟新伟等[9]针对低速率解调仪采样获得FBG 反射光谱解调精度低的缺点进行研究,设计了一种基于小波变换的高斯(WTG)曲线拟合方法,提高了解调精度。2020 年江虹等[10]就被采样的超弱光纤光栅反射光谱含有干扰噪声的问题进行研究,提出一种应用于大容量超弱传感网络的高速寻峰算法,实现抗噪声干扰高精度寻峰。2016 年Giuseppe 等[11]为了计算光纤布拉格光栅的中心波长的偏移,提出一种基于快速傅里叶变换的互相关函数算法,在计算精度和实时性方面有显著的提高。2016 年Yang等[12]提出了一种精确的自适应多峰检测算法,用于处理分布式光纤光栅传感器系统的光谱信号解调,在多峰频谱信号的检测精度和稳定性方面均优于传统算法。上述研究工作虽为提升光纤光栅解调系统的解调精度、稳定性和实现快速解调等提供了较好的思路,但其波长解调方法大多是将FBG 反射光谱采集回来,再通过PC 端进行数据解调,其实时性、便携性较差,成本较高。针对以上问题,本文设计了一种基于卡尔曼滤波算法的嵌入式光纤光栅解调系统,在STM32 嵌入式平台上采用卡尔曼滤波算法、趋势判断算法实现了FBG 中心波长的快速解调。为光纤光栅解调系统小型化、低成本、工程化提供了很好的参考。

1 光纤光栅原理及解调系统原理

1.1 光纤光栅传感原理

光纤光栅本质上是一种无源滤波器,其折射率在光纤纤芯内呈周期性调制。当作用在光纤光栅上的待测物理量状态发生改变时,会使得光纤光栅折射率调制周期和光纤纤芯的有效折射率发生改变,进而使得光纤光栅反射波长发生改变。激光器发出的光经过FBG 后,波长为λB的光波被光栅反射,其他波长的光仍沿着原来传播方向继续传播不发生反射[13]。根据耦合理论,满足FBG 条件λB的波长可表示为:

式中:λB为FBG 的中心波长,neff为光纤纤芯的有效折射率,Λ为FBG 的折射率调制周期。对式(1)进行微分运算,可以解得FBG 传感器在待测物理量发生改变后,其中心波长漂移变化量为:

由上式可知,当neff或Λ的大小发生改变时,都会导致反射中心波长的值发生相应的改变,而neff和Λ又因外界待测物理量的变化而变化。因此解调系统可以通过FBG 反射中心波长的改变量ΔλB,来得到被测物理量的大小[14-15]。

1.2 光纤光栅解调系统原理

基于嵌入式的光纤光栅解调系统原理如图1 所示,从扫描激光器发出的光先经过分路器,之后分别进入1×2 耦合器。进入耦合器的光,一路射入光纤光栅传感场,当作用在FBG 传感器上的外界被测物理量状态发生改变时,FBG 传感器中心波长会发生对应的改变。另一路将光纤光栅传感场中的FBG传感器反射光谱经光电转换模块转化为数字信号后,被STM32 所采集。然后在STM32 上实现阈值分割、数字滤波、快速寻峰处理,实现对FBG 传感器中心波长的解调。

图1 解调系统原理图

2 嵌入式软件设计

2.1 数据采集及处理

通过STM32 对FBG 传感器反射信号处理和采集,过程如下:首先对STM32 时钟和ADC 控制器进行初始化设置,然后通过ADC 对经过光电转换模块的FBG 传感器反射信号进行A/D 转换。当STM32识别到激光器发出的触发信号时,同时对A/D 转换后的数据进行采集,并通过DMA 方式将数据传输至运算单元上进行处理。

2.2 嵌入式算法设计

本文采用了卡尔曼滤波与趋势判断结合的算法对FBG 传感器中心波长进行解调。在实际寻峰过程中,只需少量数据点即可寻找到波峰位置,因此在寻峰运算前,需对信号进行预处理,通过对信号设定合适的阈值以消除冗余数据点,减少系统运算量。阈值下方的数据点为冗余数据点,阈值上方的数据点为待处理数据点,阈值设定示意图见图2。

图2 阈值设定示意图

采用滤波算法可减少甚至消除光电器件的系统噪声造成的扰动,卡尔曼滤波算法相比目前光纤光栅解调系统中常用的滤波算法,时间与空间复杂度较低,适用于嵌入式系统。因此本系统采用卡尔曼滤波算法,同时为了提高系统寻峰速度,本系统采用趋势判断法。卡尔曼滤波具体实现原理为:从高于阈值的点开始进行卡尔曼滤波处理,使期望输出值和实际输出值的均方根误差随时间逐渐缩小,最终达到滤波效果。通过对系统信号分析可知,系统在t时刻的值与t时刻前一刻的值存在相关关系,因此可以建立模型:

式中:W(t)代表t时刻系统的过程噪声。A是系统自身参数,式(4)代表系统的实际测量值,即:

式中:Z(t)代表t时刻的测量值,H代表系统测量参数值,V(t)代表系统噪声的测量值。在本系统中V(t)通常为高斯分布,方差分别用Q和R来表示。依据卡尔曼滤波原理,结合Q和R代表的方差值可以对系统最佳输出值进行估算。

式中:X(t|t-1)代表在前一时刻状态值已知的情况下,预测的当前时刻的结果值,X(t-1 |t-1)代表上一状态最佳的结果。由式(5)可以看出,系统结果已经得到了更新,下一步继续更新系统方差,这里假设方差由P表示:

式中:P(t|t-1)和P(t-1 ∣t-1)分别代表状态X(t|t-1)和X(t-1 |t-1)对应时刻下的方差,A′是A的转置矩阵,Q代表的是系统过程噪声的协方差。由式(5)和式(6)即可对系统进行较为完整的预测。根据上式中得到的预测值,结合当前系统采集的真实值,可以根据式(7)求得t时刻时的最佳状态值X(t|t)即:

式中:Kg 为卡尔曼增益:

该过程中需要不断更新t时刻下状态的方差值:

卡尔曼滤波前后效果如图3 所示。

图3 滤波前后效果图

从图3 中可以看出,经卡尔曼滤波后的波形相比滤波前的波形更为平滑,有效地减少了噪声对寻峰精度的影响。对经过卡尔曼滤波运算后的数据点进行趋势判断,具体实现原理为:采集奇数个数据点,进行相邻值作差运算,差值记为Di:

设S+记录Di为正时的数量,S-记录Di为负时的数量。当S+>S-时,有上升的趋势,反之则有下降的趋势。对于波峰信号只需要判断是否同时满足存在上升沿和下降沿。具体实现为从卡尔曼滤波后的第一个数据点开始,依次递推进行N次作差处理。若S+

3 实验分析

3.1 解调线性度实验

按照图1 搭建实验平台并调试,首先进行单个FBG 温度传感器线性度实验。本实验采用初始波长为1 564.095 nm(17.24 ℃)的FBG 温度传感器,在室温24 ℃下,将FBG 温度传感器标准中心波长与通过光谱仪检测到的FBG 温度传感器中心波长进行对比,检验FBG 温度传感器是否可以正常使用。确认正常后,将FBG 温度传感器接入图1 系统,并将FBG 温度传感器放置于恒温水箱中。设定恒温水箱温度区间为40 ℃~58 ℃,以2 ℃为阶梯,进行升温实验。为了减少实验误差,在恒温水箱温度稳定30 min 后,记录下各个温度对应的波长值,将采集到的波长值与相应的温度做线性拟合处理,可以得到温度与波长变化的相关系数,达到0.998以上。实验结果如图4 所示。

图4 FBG 单光栅温度波长拟合曲线

其次对系统解调线性度进行进一步测试,在一路FBG 传感通道上串联接入四个FBG 温度传感器,分别为FBG1、FBG2、FBG3、FBG4。在35 ℃下FBG1、FBG2、FBG3、FBG4 的参考波长分别为:1 530.459 nm、1 564.666 nm、1 538.676 nm、1 556.920 nm,将上述四个FBG 温度传感器置于同一实验环境下,避免FBG 温度传感器受到应变及其他外界因素的影响。将四个FBG 温度传感器同时放入恒温水箱中,设置恒温水箱的温度区间为35 ℃~56 ℃,以3 ℃为阶梯,进行升温实验。为了减少实验误差,在恒温水箱温度稳定30 min 后,记录下各个温度对应的波长值,将采集到的波长值与相应的温度做线性拟合处理,可以得到温度与波长变化的相关系数,达到0.998 以上,实验结果如图5 所示。

图5 FBG 多光栅温度波长拟合曲线

3.2 解调系统重复性实验

对系统的解调性能进行测试,相同实验重复进行3 次,设置恒温水箱的温度区间为25 ℃~65 ℃,以5℃为阶梯,进行升温实验。在恒温水箱温度稳定后保持15 min,记录不同时刻下的温度。实验结果如图6所示。与实际测量温度进行对比,3 次解调的温度误差均在±0.1 ℃内,实验结果如图7 所示。

图6 重复性实验

图7 误差结果图

3.3 解调系统稳定性与精度

对解调系统的稳定性进行测试,首先将FBG 温度传感器接入光谱仪,在不同温度下进行标定,得到FBG 温度传感器的实际波长值,再将FBG 温度传感器置于恒温水箱中,分别设定温度值为35 ℃,60 ℃。当恒温水箱温度稳定后,每隔15 min 记下系统解调出来的波长值,各设定温度下分别得到10 个波长值。实验结果如图8 所示,通过将系统得到的波长值与对应温度下FBG 温度传感器实际波长值进行对比,可以得出系统解调的波长漂移均小于±3 pm。

图8 35 ℃和60 ℃稳定性实验

对系统的精度进行进一步验证,将中心波长为1542.637 nm(39.06 ℃)的FBG 温度传感器置于恒温水箱中,设置恒温水箱的温度区间为33 ℃~34 ℃,以0.1 ℃为阶梯,进行升温实验。在33 ℃、33.5 ℃、34 ℃对应的温度下,当恒温水箱温度稳定后每隔10 min 记录下对应时刻的波长值,对解调数据与实际波长值进行对比分析,从图9 中可以看出,在温度为33 ℃、33.5 ℃和34 ℃时,与标准值对比,本系统解调的中心波长值均在±3 pm 范围内波动。通过查阅实验光栅温度敏感系数0.029 nm/℃,可得该光栅在1 ℃温度区间变化时,其对应的光栅中心波长变化区间大小为29 pm,通过公式计算可以得到系统测量精度达到±0.1 ℃,证明本系统测温精度较好。图9 为测量精度结果对比图。

图9 33 ℃至34 ℃测温精度结果对比图

对系统多峰解调稳定性进行测试,在单路FBG传感通道上将三个FBG 温度传感器串联,分别为FBG1、FBG2、FBG3。将上述三个FBG 温度传感器同时放入恒温水箱中,设定温度值为38 ℃。当恒温水箱温度稳定后,每隔30 min 记下系统解调出来的波长值,各设定温度下分别得到4 个波长值。实验结果如表1 所示,通过将系统得到的波长值与对应温度下FBG 温度传感器实际波长值进行对比,可以得出系统解调的波长漂移均小于±3 pm。

表1 多峰测量稳定性结果对比表

5 结论

本文依据光纤光栅传感机理,设计了一种基于卡尔曼滤波算法的嵌入式光纤光栅解调系统。本系统在STM32 嵌入式平台上采用卡尔曼滤波算法,结合趋势判断算法实现了FBG 中心波长的快速解调。一定程度解决了当前光纤光栅解调系统算法复杂、需要借助上位机进行解调的不足。通过实验表明,系统的测温精度可达±0.1 ℃,对FBG 温度传感器中心波长的解调稳定性可达到±3 pm,温度与波长线性变化的拟合度达到0.998 以上,达到了系统的预期目标,能够满足实际工程应用。

猜你喜欢

恒温温度传感器光栅
基于PLC及组态技术的恒温控制系统开发探讨
基于PID控制的一体化恒温激光器系统设计
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
XTR105电流变送器在温度传感器中的应用
理想气体恒温可逆和绝热可逆过程功的比较与应用
基于单片机的恒温自动控制系统
CDIO教学模式在超声光栅实验教学中的实践
基于LabView的光栅衍射虚拟实验研究
温度传感器在笔记本电脑散热系统中的应用