一、什么是分峰拟合
在光谱分析中,我们经常遇到一种情况:实验测得的高分辨谱图在某个能量区间呈现为一个宽化、不对称的信号包络,但它实际上由多个独立的谱峰叠加而成。这些独立的谱峰分别对应样品中不同的化学组分、化学态或结构环境。分峰拟合(Peak Fitting / Peak Deconvolution)就是通过数学方法,从这条复杂的实测谱线中反向解析出各独立子峰的峰位、峰宽和强度信息,从而揭示谱线背后隐藏的物理化学信息。
这项技术的核心思想可以用一句话概括:假设实测谱线 Y ( x ) 是一组参数化峰函数 fᵢ ( x;Pᵢ ) 与背景函数 B ( x ) 的叠加,即:
其中Pᵢ 是第 i 个子峰的参数向量。分峰拟合的任务就是找到一组最优参数,使模型与实验数据的偏差最小。XPS 谱峰拟合并不是简单的数值运算,而是需要对光电子信号的多个基本要素做合理的关联与约束,使得拟合后的总包络线与原始谱线尽量吻合,并且各分谱都具有明确的物理化学意义。
分峰拟合广泛应用于 X 射线光电子能谱、X 射线衍射、拉曼光谱、红外光谱、色谱和热重分析等分析手段中。不同技术的物理背景各异,但数学框架是共通的:给定一条复杂谱线,找到一组具有物理意义的子峰,使叠加尽可能逼近实验数据。
二、为什么需要分峰拟合
化学态区分的需要。当同一元素以不同化学态存在时,其光电子峰的结合能差异往往仅有零点几到几个电子伏特。以 Fe 2p 为例,Fe²⁺ 和 Fe³⁺ 的 2p₃/₂ 峰位仅相差约 12 eV,在仪器能量分辨率约 1.01.5 eV 的条件下,两个峰严重重叠,呈现为一个宽化的不对称包络。对于存在混合价态的元素,分峰拟合是拆分不同化学态信号的最直接方法。
定量分析的需要。分峰后,每个子峰的面积与其对应化学组分的含量成正比。通过分峰拟合,可以精确计算各化学态的相对含量或原子百分比。传统的切线法和垂直切割法虽然快速,但在重叠严重的情况下无法准确反映各子峰的真实面积。
揭示隐藏信号的需要。分峰拟合能够识别重叠区中“隐蔽”的吸收峰。例如在碳材料的拉曼光谱中,D 峰和 G 峰严重重叠,只有通过分峰拟合才能将二者分离,进而分析碳结构的有序度演化。
三、分峰拟合的数学与算法基础
分峰拟合在数学上被形式化为非线性最小二乘问题。由于洛伦兹函数、高斯函数及其混合形式中的参数(峰位、峰宽、幅度)之间存在非线性关系,无法通过线性代数直接求解,必须采用迭代优化算法。
3.1 目标函数:加权残差平方和
设实验数据包含 m 个数据点 ( yᵢ, xᵢ ),模型函数为 ŷ ( xᵢ;P) ,其中P= ( p₁, p₂, …, pₙ ) 是待优化的 n 个参数。拟合的目标是使加权残差平方和最小:
其中 σᵧᵢ 是第 i 个数据点的测量误差。对于 XPS 数据,噪声通常服从泊松分布,此时 σᵧᵢ = √yᵢ,即权重矩阵 Wᵢᵢ = 1/yᵢ。
将上述表达式写成矩阵形式:
其中W是对角权重矩阵,Wᵢᵢ = 1/σᵧᵢ²。当各数据点误差相同时,W简化为单位矩阵的倍数,目标函数退化为普通残差平方和。
3.2 迭代优化的核心逻辑
非线性最小二乘问题的求解是迭代进行的。基本流程如下:第一步,设定初始参数猜测。给定一组初始参数P₀,使得模型函数 ŷ ( xᵢ;P₀ ) 可以在所有测量点上计算。第二步,计算参数扰动方向。求解一个线性化子问题,得到参数扰动量h。参数的更新规则为P←P+h。第三步,判断是否改善。如果更新后的参数使 χ² 减小,则接受扰动;否则调整策略。第四步,判断收敛。重复上述过程,直到满足收敛条件(如 χ² 的相对变化小于阈值、参数变化量小于阈值、或达到最大迭代次数)。
关键在于第二步中扰动方向的计算方法。不同的算法在这里采用不同的策略,这也是分峰拟合中最核心的算法差异所在。
3.3 Levenberg-Marquardt 算法:梯度下降与高斯-牛顿法的融合
Levenberg-Marquardt(LM)算法是分峰拟合中应用最广泛的非线性最小二乘优化算法。它的核心思想是在梯度下降法和高斯-牛顿法之间自适应切换,从而兼顾两种方法的优势。
梯度下降法在远离最优解时表现良好。它沿着目标函数梯度的反方向更新参数:
其中 α 是步长,J是雅可比矩阵,Jᵢⱼ = ∂ŷᵢ / ∂pⱼ。梯度下降法的问题在于:当接近最优解时,梯度趋于零,步长自动缩小,收敛速度显著减慢。
高斯-牛顿法在接近最优解时收敛极快。它通过一阶泰勒展开近似模型函数:
ŷ(P+h) ≈ŷ(P) +J h
代入 χ² 的表达式并令其关于h的导数为零,可得正规方程:
高斯-牛顿法在最优解附近具有二次收敛速度,但当初始猜测远离最优解时,JᵀWJ可能接近奇异,导致求解不稳定甚至发散。
LM 算法的精妙之处在于引入了一个阻尼参数 λ,构造如下的修正正规方程:
λ 的取值策略是自适应的:当当前参数远离最优解时,λ 取较大值,方程退化为梯度下降形式,保证大范围搜索的稳定性;当参数接近最优解时,λ 取较小值,方程趋近于高斯-牛顿法,保证快速收敛。这种自适应切换机制使得 LM 算法既能处理复杂的多参数拟合问题,又能保持可靠的收敛行为。
在实际软件实现中,LM 算法通常以信赖域(Trust Region)的形式呈现。信赖域方法不直接限制步长大小,而是限制每一步的搜索范围在一个“可信赖”的区域内。信赖域反射算法进一步处理参数边界约束:当信赖域解落在边界之外时,算法会沿边界面“反射”搜索方向,确保所有参数始终在物理合理的范围内。MATLAB 的lsqcurvefit函数和 Python 的scipy.optimize.curve_fit在设置参数边界时均采用此算法。
3.4 参数不确定度的估计
拟合完成后,参数的不确定度可以通过协方差矩阵估计。协方差矩阵由雅可比矩阵和残差方差构造:
其中
是残差方差,N 为数据点数,k 为参数个数。每个参数的标准误差为其协方差矩阵对角元素的平方根。在 XPS 分析中,峰位的不确定度通常约为 0.2%,FWHM 约为 3.5%,峰面积约为 5.0%。
对于更严格的误差分析,CasaXPS 采用蒙特卡洛方法模拟噪声对拟合参数的影响,通过 400 次模拟获得参数的分布和置信区间。这种方法的优势在于它不依赖线性近似,能够捕捉参数之间的非线性相关性,尤其适用于低强度峰的不确定度评估。
四、分峰拟合的完整流程
分峰拟合是数据预处理、物理约束施加、迭代优化和结果检验的系统性过程。以下详细展开每个步骤。
4.1 荷电校正
在 XPS 分析中,绝缘样品的表面在光电子发射后会积累正电荷,导致所有谱峰向高结合能方向偏移。荷电校正是分峰拟合的前提步骤。通常以 C 1s 污染碳峰的 284.8 eV(或 284.3 eV,视实验室约定)为参考,将整个谱图平移,使所有峰的峰位落在正确的结合能坐标上。
4.2 数据预处理与平滑
对于信噪比不理想的谱图,可进行轻度平滑处理。常用的方法包括 Savitzky-Golay 滤波和移动平均。需注意,过度平滑会扭曲峰形、降低分辨率,反而影响拟合结果的可靠性。此外,谱图荷电校正、能量刻度校准等工作应在平滑之前完成。
4.3 背景扣除
背景扣除是分峰拟合中最关键也最容易被忽视的步骤之一。XPS 中光电子在离开样品表面之前可能经历非弹性散射,形成随动能降低而逐渐增强的背景信号。常用的背景模型包括:
- Shirley 背景:假设背景与高动能侧的峰面积成正比,计算简便,适用于绝缘体和半导体材料,是 XPS 分析中应用最广泛的背景类型。
- 线性背景:适用于非弹性散射较低的情况,如 C、N、O 等轻元素组成的物质。
- Tougaard 背景:基于介电响应理论,物理意义明确,在金属材料中表现较好,但计算较为复杂。
背景参数与峰参数之间存在相关性。一项严格的不确定度分析研究表明,在评估峰参数的不确定度时,必须考虑背景参数的协方差贡献,否则会低估误差范围。
4.4 峰形函数的选择与构建
峰形函数的选择直接影响拟合的物理合理性。XPS 峰形的展宽来源包括:自然展宽(核心空穴寿命,洛伦兹型)、仪器展宽(高斯型)以及固态效应(声子耦合、终态效应等)。
常用的峰形函数包括:
高斯函数描述仪器分辨率和光源引起的展宽,峰形对称,尾部衰减快。
洛伦兹函数源于核心空穴寿命的自然展宽,尾部衰减慢,能更好地描述非对称峰。
Voigt 函数是高斯函数和洛伦兹函数的卷积,物理意义最完备,被认为是最适合 XPS 峰拟合的函数类型。
在实际应用中,Voigt 函数的精确计算涉及 Faddeeva 函数,计算成本较高。因此常用高斯-洛伦兹混合函数作为近似。混合函数有两种形式:GLS(Sum形式)和GLP(Product形式)。混合参数 η 控制高斯和洛伦兹成分的权重(0 ≤ η ≤ 1),η 越大则洛伦兹成分越多,峰形越不对称。在 XPS 峰拟合中,常见的混合比例为 70% 高斯 + 30% 洛伦兹(即 SGL 70% Gaussian, 30% Lorentzian),具体比例应根据仪器特性和样品类型调整。
对于金属等具有不对称峰形的谱峰(源于导带电子与核心空穴的相互作用),还可使用Doniach-Šunjić 函数或非对称高斯-洛伦兹函数。
4.5 参数约束的设定
参数约束是将物理知识注入数学拟合的关键环节。没有约束的纯数学拟合可能产生物理上无意义的结果。常见的约束类型包括:自旋-轨道分裂约束。对于 p、d、f 轨道,光电子峰呈双峰结构。双峰的间距(自旋-轨道分裂能)和面积比由量子力学决定,不随化学环境改变。例如 Ag 3d 双峰的间距为 6.0 eV,面积比为 0.67。在拟合中,应将这两个参数设为固定值或允许在极小的范围内调整。
半峰宽一致性约束。同一化学态在不同轨道上的半峰宽应保持合理的一致性。从低结合能端到高结合能端,半峰宽通常依次增加,采用 Al Kα 源时一般设置在 0.3~1.7 eV 范围内。
峰间距约束。同一化学态不同轨道的峰间距应保持一致。可以通过数学表达式实现,例如在 CasaXPS 中,在 Pos. Constr. 框中输入A+1.5表示该峰位于峰 A 上方 1.5 eV 处。
CasaXPS 支持通过约束框输入数值范围或数学公式来限制峰参数之间的关系。例如,设置自旋-轨道双峰的宽度和面积关系时,可在 Area Constr. 框中输入A*0.5,表示该峰面积为峰 A 的一半。对于更复杂的约束,如“将所有组分的 FWHM 统一”,可使用关键词link all实现。
4.6 初始值设定与迭代优化
初始值设定是影响拟合收敛的关键因素。合理的初始参数应基于已知化学态的标准结合能数据、同类型材料的文献报道以及谱图的直观特征。初始峰位可从谱图的一阶导数或二阶导数极值点估计,初始峰宽可从孤立峰的 FWHM 估计。
设置好初始参数和约束条件后,启动 LM 优化迭代。软件将持续调整自由参数,直至 χ² 值收敛。在 XPS 拟合中,理想的收敛 χ² 值通常小于 1.5。SpectraFit XPS 在 LM 迭代中设置了早停条件:当某次迭代对残差平方和的改善小于 10⁻⁶ 时终止迭代。
4.7 拟合质量的评估与模型选择
拟合质量不能仅凭 χ² 或 R² 判断。残差分布的随机性是更重要的指标——如果残差呈现系统性偏离(如周期性波动或趋势性偏差),说明模型结构存在缺陷。
对于“应该拟合几个峰”这一根本性问题,信息准则提供了定量判断依据。AIC平衡模型拟合优度与参数数量,BIC对参数数量施加更强的惩罚,更倾向于选择简约模型。两者都定义为:
其中 k 为参数个数,N 为数据点数,L 为最大似然值。较低的 AIC 或 BIC 值表示更好的模型。在实际操作中,可以先从较少的峰数开始拟合,逐步增加峰数并观察 AIC/BIC 的变化。当增加峰数不再显著降低 AIC/BIC 时,说明已达到最优模型复杂度。
物理验证是不可替代的最终检验。每个子峰的峰位应与已知化学态的标准结合能数据相符,峰宽应在合理范围内,自旋-轨道分裂和面积比应符合理论值。只有同时满足数学拟合质量和物理合理性的结果,才是可靠的分峰结果。
五、各软件的分峰拟合实现
5.1 CasaXPS
CasaXPS 是 XPS 领域使用最广泛的第三方分析软件。其分峰拟合的核心流程为:在 Regions 面板创建峰区域并设定背景类型(Shirley、线性或 Tougaard),在 Components 面板创建组分峰并调整 Area、FWHM 和 Position 参数,设置约束条件后点击 Fit Components 按钮执行非线性优化。软件使用非线性优化方法自动调整组分峰参数,以优化残差标准偏差(RSD)等品质因数。CasaXPS 的优势在于约束系统极为灵活,支持通过数学表达式定义峰间关系,适合需要精细控制拟合参数的高级用户。误差估计采用蒙特卡洛方法,假设噪声服从泊松分布。
5.2 Avantage
Avantage 是 Thermo Fisher 公司开发的 XPS 数据处理软件,核心特色是非线性最小二乘法拟合功能。该方法以纯物质的标准谱作为参考,通过构建具有确切物理意义的峰形函数进行拟合,能量损失峰、卫星峰、多重分裂峰等均包含在谱图中,处理混合化学态共存的谱图时简单可靠。
5.3 XPS Peak41
XPS Peak41 功能简洁,操作流程清晰:导入数据后先扣除背景(通常选择 Shirley 类型),然后添加峰并手动调整参数进行初步拟合,最后使用自动优化功能迭代拟合直至达到最小 χ² 值。软件支持 s、p、d、f 轨道峰的类型选择和自旋-轨道分裂约束设置。不足之处在于界面陈旧,批量处理能力有限。
5.4 Origin
Origin 通过 Analysis 菜单下的 Multi-peak Fit 或 Peak Analyzer 工具实现多峰拟合。Peak Analyzer 提供从基线创建、峰发现到拟合的完整向导流程。Origin 支持 Gauss、Lorentz 等多种峰函数,操作直观,适合已熟悉 Origin 的用户。其局限在于对完全重合峰的拟合能力有限。
5.5 PeakFit
PeakFit 是专业的色谱及光谱分析软件,使用非线性曲线拟合检测、分离和量化隐藏峰。其优势在于拟合准确性高,可自动放置峰函数并调整参数,直观地给出峰位置、面积、宽度和拟合误差等信息,在红外光谱和 XRD 分析中应用广泛。
5.6 KherveFitting / SpectraFit XPS(开源方案)
KherveFitting 是一款基于 Python 的开源 XPS 拟合软件,通过 lmfit 库实现非线性最小二乘拟合,支持多种背景扣除方法和峰形模型,并提供自动化多峰拟合和可定制约束功能。SpectraFit XPS 则是其浏览器版本,集成了交互式 Levenberg-Marquardt 拟合引擎,支持真 Voigt、Doniach-Šunjić 和高斯-洛伦兹求和等多种线形,以及基于表达式定义的峰间约束。
5.7 各软件特点对比
| 软件 | 峰形函数 | 背景模型 | 约束能力 | 误差估计 | 适用场景 |
|---|---|---|---|---|---|
| CasaXPS | GL混合、Voigt、非对称 | Shirley、线性、Tougaard | 极强(表达式约束) | 蒙特卡洛 | 专业XPS分析 |
| Avantage | GL混合、NLLSF | Shirley、线性 | 强 | 协方差矩阵 | Thermo仪器用户 |
| XPS Peak41 | GL混合 | Shirley、线性 | 中等 | 协方差矩阵 | 基础XPS分析 |
| Origin | Gauss、Lorentz | 多种 | 中等 | 协方差矩阵 | 通用分析 |
| PeakFit | Gauss、Lorentz、Voigt | 多种 | 强 | 协方差矩阵 | 色谱、红外、XRD |
| KherveFitting | GL混合、Voigt、D-S | Shirley、线性、Tougaard | 强(表达式约束) | 协方差矩阵 | 开源替代方案 |
六、注意事项与常见误区
分峰拟合虽然功能强大,但存在显著的人为因素影响。以下是最常见的误区:误区一:以拟合质量代替物理合理性。高 R² 或低 χ² 并不保证结果正确。如果原始谱信噪比不高,即使拟合质量指标很漂亮,也不可能得到可靠性高的定量结果。残差分布的系统性偏离是模型缺陷的预警信号。
误区二:忽略自旋-轨道分裂约束。对于 p、d、f 轨道,如果不约束自旋-轨道分裂参数,拟合可能产生物理上不可能的双峰间距和面积比。
误区三:添加过多合成峰。为了追求低 χ² 而不断增加峰数,会产生过拟合。AIC 和 BIC 为此提供了定量判据:当增加峰数不再显著降低 AIC/BIC 时,继续增加峰数只会引入噪声拟合。
误区四:半峰宽设置过小。半峰宽受仪器分辨率和物理效应的限制,不能随意设小。对于特定仪器和元素,半峰宽有合理的下限。
误区五:忽略背景参数的不确定度。背景参数与峰参数存在相关性,在评估峰面积的不确定度时必须考虑这一因素,否则会低估误差。
分峰拟合的本质是在数学拟合与物理意义之间寻找平衡。合理的做法是:建立在对谱峰结构充分理解的基础上,合理选择峰形函数、设定约束条件、评估拟合结果,并将最终结果与独立证据(如标准物质谱图、理论计算)进行交叉验证。