本发明属于光谱信号处理技术领域,具体涉及一种光谱去噪方法。
背景技术:
利用紫外可见光谱法检测高浓度比背景下的痕量重金属离子时,所测得的吸收光谱信号往往含有大量的干扰信息。痕量多重金属离子的光谱信号幅值相对于高浓度锌的光谱信号幅值微小,极易受到噪声干扰。因此,去噪对数据处理和分析非常重要,直接影响到后续的定量分析和信息挖掘。选择合适的去噪方法时提高光谱分析精度和提高光谱分析能力的关键。
现在常用的光谱滤波算法主要有小波变换算法、savitzky-golay(sg)去噪算法、卡尔曼滤波算法等。但是这些滤波算法许多参数都需要人为确定,并不能自适应的达到去噪效果。标准的lms算法虽然可以根据最小均方误差准则来动态地调整滤波器系数,达到自适应去噪的目的,但是收敛速度不够快,参数选择不适当容易出现过拟合现象。
技术实现要素:
本发明的目的是提供一种光谱去噪方法,其采用正则化方式对参数进行约束,提出了改进的最小均方误差函数,提高了模型抗噪性能和泛化能力,使其相较于常规的lms算法更不容易出现过拟合现象,同时结合adam算法使滤波器系数可以自适应调整,收敛速度更快,两者结合起来获得最优的滤波器系数,提高滤波效果。
一种光谱去噪方法,包括如下步骤:
s1:获取若干组光谱信号,并将光谱信号加长后作为样本,不同光谱信号为添加了不同信噪比白噪声的同一环境条件下同一类光谱信号;
加长过程为:在光谱信号两端分别延长m个波长点;
s2:设置自适应滤波器的阶数以及正则化系数并选择最小均方误差函数作为滤波器的优化目标函数,并将样本作为滤波器的输入信号得到输出信号;
其中,所述最小均方误差函数如下所示:
式中,j(w)表示k个样本输入信号中n位置对应的最小均方误差函数,u(n)(i)表示k个样本中第i个样本输入信号中n位置对应偏差量,是根据n位置对应的输出信号与参考吸收光谱信号中n位置信号计算得到,所述参考吸收光谱信号为标准无噪声的同一环境条件下同一类光谱信号;m、λ分别表示自适应滤波器的阶数以及正则化系数,w(j)表示自适应滤波器在第j个波长点对应的权系数;
输出信号与输入信号的关系如下:
y(n)=w(n)t·x(n)
x(n)=[x(n+m),x(n+m-1),…,x(n),…,x(n-m)]t
w(n)=[w(n+m),w(n+m-1),…,w(n),…,w(n-m)]t
式中,y(n)表示输入信号中n位置对应的输出信号,x(n)表示n位置对应的输入信号矢量,x(n+m)是样本输入信号中第n+m个波长点的吸光度,w(n)表示n位置对应的自适应滤波器的权系数向量,w(n+m)是自适应滤波器在第n+m个波长点的权系数,n的取值范围为[m+1,d+m],d为样本输入信号未加长之前的长度;
s3:基于k个样本中同一位置n对应的最小均方误差函数采用adam算法得到自适应滤波器的权系数向量w;
其中,权系数向量w由每个波长点的权系数组成,
s4:计算当前自适应滤波器下的信噪比;
s5:在阶数与正则化系数的预设范围内更新自适应滤波器的阶数以及正则化系数,并基于更新的阶数更新样本,再重复步骤s2-s5直至获取到阶数与正则化系数每种组合下自适应滤波器的信噪比,并选择信噪比最大时对应的自适应滤波器;
s6:利用步骤s5选择的自适应滤波器对同一环境条件下同一类光谱信号进行滤波去噪。
本发明为了保证局部最优解同时也是全局最优解,运用类交叉熵损失函数,将非凸问题转化为凸优化问题,对噪声信号引起的偏差量u(n)优化改写为
进一步优选,步骤s3中自适应滤波器的权系数向量w的获取过程如下:
s31:初始化δ,矩估计的指数衰减速率β1、β2,常数∈,最大迭代次数tmax,最小均方误差函数梯度的二阶矩估计v、自适应滤波器权系数初始向量:w=[0,0,…,0]t;
s32:随机选择一个位置n,并计算k个样本中位置n对应的最小均方误差函数,基于最小均方误差函数进行一次迭代计算;
迭代过程如下:
首先,计算最小均方误差函数梯度的一阶矩估计,并修正所述一阶矩估计;
式中,p、
然后,计算最小均方误差函数梯度的二阶矩估计,并修改所述二阶矩估计;
式中,v、
最后,基于修改的一阶矩估计、二阶矩估计更新自适应滤波器的权系数向量;
s33:判断迭代次数是否达到最大迭代次数tmax或者自适应滤波器的权系数向量是否收敛,若达到最大迭代次数tmax或者自适应滤波器的权系数向量收敛,输出权系数向量;否则,返回步骤s32进行下一次迭代;
其中,自适应滤波器的权系数向量收敛条件为权系数向量不变。
进一步优选,所述最小均方误差函数中样本输入信号中n位置对应偏差量u(n)的计算公式如下:
式中,s(n)表示参考吸收光谱信号中n位置的吸光度。
本发明噪声信号引起的真实偏差量e(n)=y(n)-s(n),为了降低算法对噪声的敏感性,本发明利用sigmoid函数
进一步优选,步骤s4中信噪比的计算公式如下:
式中,snr为信噪比,y(t)表示在波长点t处的自适应滤波器输出值,s(t)表示参考吸收光谱信号在波长点t处的吸光度。
进一步优选,步骤s5中选择信噪比最大时对应的自适应滤波器的过程如下;
首先,选择信噪比最大时对应一组阶数与正则化系数;
然后,再随机选择k组样本作为滤波器的输入信号得到输出信号,并执行步骤s3得到权系数向量;
基于得到权系数向量以及信噪比最大时对应一组阶数与正则化系数构建的自适应滤波器为步骤s5中选择的自适应滤波器。
进一步优选,步骤s1中光谱信号的获取过程如下:
s11:在相同环境条件下重复采集一组试样在预设波长范围内的光谱信号,并基于采集的光谱信号利用中心极限定理得到参考吸收光谱信号;
s12:在所述参考吸收光谱信号上添加不同信噪比的高斯随机白噪声得到不同仿真光谱信号,所述仿真光谱信号为步骤s1中的光谱信号。
进一步优选,步骤s1中光谱信号进行加长时,前段延长的波长点的吸光度与原光谱信号的第一个波长点的吸光度相同,后端延长的波长点的吸光度与最后一个波长点的吸光度相同。
进一步优选,自适应滤波器的阶段m的预设范围为m={3,5,…2i+1,…,29},i={1,2,…16};
自适应滤波器的正则化系数λ的预设范围为:λ={0.001,0.005,0.01,0.1,1,2,3,6,9,15,20}。
有益效果
1、本发明在常规的最小均方误差函数上进行了改进,得到了本发明的最小均方误差函数,其将非凸问题转化为凸优化问题,保证局部最优解同时也是全局最优解,同时对常规的最小均方误差函数进行参数约束,提高了模型抗噪性能和泛化能力,相较于常规lms算法更不容易出现过拟合现象,进而求得最优的滤波器系数,使滤波效果达到最好。
2、本发明利用adam算法使滤波器系数可以得到自适应调整,相较于标准的lms算法可以大大提高收敛速度。
3、本发明利用sigmoid函数
附图说明
图1是标准lms算法结构的示意图;
图2是本发明提供的一种光谱去噪方法的流程示意图;
图3是一次采样过程中的吸收光谱信号;
图4为根据中心极限定理统计获得的吸收光谱信号;
图5为本发明提供的一种光谱去噪方法对实测光谱数据降噪效果。
具体实施方式
下面将结合实施例对本发明做进一步的说明。
本发明提供了一种光谱去噪方法,该方法在处理吸收光谱信号过程中比标准的lms算法去噪效果更优,收敛速度更快。如图2所示,该一种光谱去噪方法包括如下步骤:
s1:获取若干组光谱信号,并将光谱信号加长后作为样本。其具体过程如下:
s11:在相同环境条件下重复采集一组试样在预设波长范围内的光谱信号,并基于采集的光谱信号利用中心极限定理得到参考吸收光谱信号;如图3所示为采样得到的光谱信号示意图,图4为参考吸收光谱信号示意图。
其中,利用中心极限定理得到参考吸收光谱信号为现有技术实现过程,本发明对此不进行具体的阐述,得到的参考吸收光谱信号为无噪声的同一环境下同一类光谱信号。应当理解,不同试样是对应不同类光谱信号。本实施例中以锌湿法冶炼为背景,实验配置锌、镍、钴、铜离子浓度分别为16g/l、0.3mg/l、0.8mg/l、1.4mg/l的混合标准溶液。微型光谱仪的采样积分时间选择3ms,采样积分间隔为500ms,在200nm至1032nm波长处重复采集4000次试样的光谱信号。
s12:在所述参考吸收光谱信号上添加不同信噪比的高斯随机白噪声得到不同仿真光谱信号,所述仿真光谱信号为步骤s1中的光谱信号。
在参考吸收光谱信号基础上分别添加不同信噪比的高斯随机白噪声,单位为db,进而得到含有不同信噪比的仿真光谱信号。
s13:将仿真光谱信号进行加长,加长过程为:在光谱信号两端分别延长m个波长点。前段延长的波长点的吸光度与原光谱信号的第一个波长点的吸光度相同,后端延长的波长点的吸光度与最后一个波长点的吸光度相同。同理,参考吸收光谱信号也采取相同方式延长。
s2:设置自适应滤波器的阶数m以及正则化系数λ并选择最小均方误差函数作为滤波器的优化目标函数,并将样本作为滤波器的输入信号得到输出信号。
本实施例中将获取的所有样本按照70%、30%随机划分为训练集、验证集。训练集和验证集的样本均是作为滤波器的输入信号,并得到输出信号。
其中,以样本输入信号中第n个波长点为例,输入信号与输出信号的关系如下:
y(n)=w(n)t·x(n)
x(n)=[x(n+m),x(n+m-1),…,x(n),…,x(n-m)]t
w(n)=[w(n+m),w(n+m-1),…,w(n),…,w(n-m)]t
式中,y(n)表示输入信号中n位置对应的输出信号,x(n)表示n位置对应的输入信号矢量,其是由一段波长中每个波长点的吸光度构成的,x(n+m)是样本输入信号中第n+m个波长点的吸光度。w(n)表示n位置对应的自适应滤波器的权系数向量,其也是由一段波长中每个波长点的权系数构成,w(n+m)是自适应滤波器在第n+m个波长点的权系数。在权系数获取过程中n的取值范围为[m+1,d-m-1],d为样本输入信号的长度。
其中,自适应滤波器的阶数m以及正则化系数λ是根据本发明设定的阶数m以及正则化系数λ的预设范围来设定的,本实施例中,自适应滤波器的阶段m、正则化系数λ的预设范围为:
m={3,5,…2i+1,…,29}i={1,2,…16}
λ={0.001,0.005,0.01,0.1,1,2,3,6,9,15,20}
本发明将最小均方误差函数作为滤波器的优化目标函数,下述将对其获取过程进行描述。本发明得到n位置对应的输出信号后,噪声信号引起的真实偏差量e(n)如下:
e(n)=y(n)-s(n)
应当理解,真实偏差量e(n)是将输出信号与参考吸收光谱信号中n位置的吸光度,利用sigmoid函数
根据上述约束后的偏差量u(n),本发明若对k个样本上同一位置n的信号进行计算得到最小均方误差函数,如下所示:
式中,j(w)表示k个样本输入信号中n位置对应的最小均方误差函数,u(n)(i)表示k个样本中第i个样本输入信号中n位置对应偏差量,是根据n位置对应的输出信号与参考吸收光谱信号中n位置信号计算得到,所述参考吸收光谱信号为标准无噪声的同一环境条件下同一类光谱信号;m、λ分别表示自适应滤波器的阶数以及正则化系数,w(j)表示自适应滤波器在第j个波长点对应的权系数。本发明中,λ>0时,可以保证j(w)为一个强凸函数。
从上述公式可知,利用k个样本的计算出一个最小均方误差函数。
s3:基于k个样本中同一位置n对应的最小均方误差函数采用adam算法得到自适应滤波器的权系数向量w。具体过程如下:
s31:初始化δ,矩估计的指数衰减速率β1、β2,常数∈,最大迭代次数tmax,自适应滤波器权系数初始向量:w=[0,0,…,0]。本实施例中,初始化步长δ=0.001,矩估计的指数衰减速率β1=0.9,β2=0.999,用于数值稳定的小常数∈=10-8,一阶矩变量的初值p=0,二阶矩变量的初值v=0。
s32:随机选择一个位置n,并计算k个样本中位置n对应的最小均方误差函数,基于最小均方误差函数进行一次迭代计算。
本实施例中训练集中样本的数量为k,即利用训练集中k个样本并在[m+1,d-m-1]随机选择一个n位置计算最小均方误差函数,进而进行一次迭代计算。
迭代过程如下:
首先,计算最小均方误差函数梯度的一阶矩估计,并修正所述一阶矩估计;
式中,p、
然后,计算最小均方误差函数梯度的二阶矩估计,并修改所述二阶矩估计;
式中,v、
最后,基于修改的一阶矩估计、二阶矩估计更新自适应滤波器的权系数向量;
应当理解,每一次迭代过程对权系数向量进行了一次更新,另一次迭代过程是重新利用训练集中k个样本的另一个n位置的数据进行计算。
s33:判断迭代次数是否达到最大迭代次数tmax或者自适应滤波器的权系数向量是否收敛,若达到最大迭代次数tmax或者自适应滤波器的权系数向量收敛,输出权系数向量;否则,返回步骤s32进行下一次迭代;其中,自适应滤波器的权系数向量收敛条件为权系数向量不变。
s4:计算当前自适应滤波器下的信噪比。
执行了步骤s3后得到当前阶数m以及正则化系数λ以及权系数向量的自适应滤波器。再按照如下公式计算当前自适应滤波器下的信噪比:
式中,snr为信噪比,y(t)表示在波长点t处的自适应滤波器输出值,s(t)表示参考吸收光谱信号在波长点t处的吸光度。
s5:在阶数与正则化系数的预设范围内更新自适应滤波器的阶数以及正则化系数,并基于更新的阶数更新样本,重复步骤s2-s5直至获取到阶数与正则化系数每种组合下自适应滤波器的信噪比,并选择信噪比最大时对应的自适应滤波器。
在预设范围更新阶数以及正则化系数。在重复上述步骤重新构建另一个自适应滤波器,从中选择信噪比最大的值,进而得到一组阶数以及正则化系数。本实施例中,在从训练集和测试集中随机选取k个样本重复上述计算权系数向量的步骤得到最佳权系数向量,进而确定本发明最终的自适应滤波器。其他可行的实施例中,也可以直接利用得到信噪比最大时构建的自适应滤波器。应当理解,阶数m更新后,光谱信号加长得到的样本应当也相应更新。
s6:利用步骤s5选择的自适应滤波器对同一环境条件下同一类光谱信号进行滤波去噪。
应当理解,构建的自适应滤波器对同一环境条件下同一试样的光谱信号是具有最佳的滤波去噪效果的。
利用上述方法对实测吸光度光谱信号进行去噪处理,去噪效果如图4所示,改进型lms算法有效的消除了强噪声的干扰,同时也保留了高浓度比背景下痕量多重金属离子的原始吸收光谱信号真实特征。
需要强调的是,本发明所述的实例是说明性的,而不是限定性的,因此本发明不限于具体实施方式中所述的实例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,不脱离本发明宗旨和范围的,不论是修改还是替换,同样属于本发明的保护范围。