摘要

近年来随着土壤重金属污染的加剧,和人们环境意识的逐渐提高,科研人员对快速检测土壤重金属含量方法的研究正在不断深化。目前,X射线荧光分析法(XRF)是广泛应用于土壤重金属污染检测的方法。但由于X射线荧光光谱仪的能量分辨率有限,而一些重金属元素的荧光产额较低,一些元素的相邻谱峰出现了重叠现象。针对XRF法中元素相邻谱峰的重叠问题,提出了一种基于麻雀搜索算法(SSA)的光谱重叠峰解析方法。首先,将从河北保定地区采样得到的土壤,制备出不同含水率、不同重金属元素含量的样本并用X射线荧光光谱仪获取原始光谱数据。接着,对光谱数据进行预处理,采用谱聚类算法剔除异常光谱样本,采用Savitzky-Golay五点二次去噪法和线性本底法完成对光谱的去噪和本底扣除,并对光谱净计数用随机数法生成大量模拟光谱数据,以备后续算法使用。然后,用期望最大化法(EM)对重叠峰进行初步解析,首先设置EM算法的初始参数,并将生成的模拟光谱数据代入EM算法,当达到迭代次数时,即可初步得到高斯混合模型(GMM)中各高斯峰的期望、方差和权重参数。但由于EM算法容易受初始参数设置的影响,且易陷入局部最优而导致结果不准确,还需对EM算法进一步优化。本研究采用SSA对GMM的各参数进行全局优化,在设置SSA算法的基本参数后,将100组由EM算法得到的参数作为该算法的初始种群,并设置合适的适应度函数,通过迭代,最终得到全局最优参数,实现了重叠峰的分解。SSA受参数设置的影响较小,相比于一些传统的优化算法,如遗传算法(GA)、蚁群算法(ACO)、粒子群算法(PSO)等,具有收敛速度快、不易陷入局部最优的特点,因此,采用此算法,可以达到较好的优化效果。通过对重叠峰解析结果的分析表明,该算法可在较少的迭代次数下得到较准确的解析结果,可广泛应用于能谱重叠峰解析。