(11 min 26 s reading) Rbkg 选起来快,但是选错了就是灾难性的……

视频:《Rbkg | XAFS数据处理参数讨论》 Bilibili, YouTube



阅读提示1:该文只用于参考和建议,非标准。各个课题遭遇的数据差异巨大,我的建议不一定适合你的数据处理,请谨慎使用。

阅读提示2:回答仅代表我一个人的看法,不代表正确解决问题的办法。我有不知道答案的问题,也有不懂回答错误的问题。如果我有讲错地方,请告诉我还有其他人。




太长不看速读

    今天来聊聊关于 Rbkg 的问题, 它的选择只建议三种(按使用频率从高到低排列):

  1. Rbkg = 1.0 Å
  2. Rbkg = 在 R 空间中第一个峰距离(也就是对应的R数值)÷ 2
  3. 选项 1 和 2 中间的数值

如果 R 空间中第一层峰距离比较短 (< 1.8 Å),倾向选项 2,但更有可能选 1 和 2 是一样的。

    除此之外,没有其他选择



InkedMainwindow_l.jpg

Figure 1.Athena 界面中 Rbkg 的位置。(红线)



接下来是正文


设置 Rbkg 的初衷

    虽然我在之前教程里面讲过 Rbkg 里面所处的功能区是负责对原始实验数据进行归一化和扣除背景。理论来说在这一步,只会出现 "μ\mu(E) → XANES"处理,也就是从原始数据到归一化后的数据。这其中不应该出现关于 R 空间里面的相关参数,那么这是为什么呢?

    严格来讲,Rbkg 这个参数是通过调整 μ\mu(E) 的背景函数而影响最终 R 空间里面峰的形状。之所以取名是为了让使用者对这个参数的感知更加形象,毕竟到最后在 Athena 里面使用,视觉上直观会关联出来“这个 Rbkg 的选项是为了过滤(or 消除)在 R 空间中低于 Rbkg 的峰”的结论。所以也就是为什么在一个调整 μ\mu(E) 的功能区里面蹦出来一个“不和谐”的 R 空间相关参数。

    既然要讲 Rbkg 是如何影响背景函数,那就得从背景函数的意义开始说起来了……



扣除背景是为了得到 EXAFS 信息

    第一步要先讲明白扣除背景 (aka. background removal)。同步辐射精细吸收谱 (XAFS) 是通过X射线打到样品上,样品中的中心元素吸收X射线之后吸收后发出光电子到邻近原子再散射回来。通过检测中心元素的吸收谱来获得邻近原子的数量和距离信息(也就是 EXAFS)。

    举个不太恰当的例子,假设你在一个会议室里站在台上,下面坐了一些观众。这时候你从外面抱回来一筐乒乓球(100 个),接着开始把乒乓球往观众扔过去,扔完为止。结果大致有两种:1. 你扔出去的乒乓球到了某个观众的手上。观众有可能把这个乒乓球仍回到你这里并且你也接住了(60 个 );2. 你扔出去的乒乓球没有人接住,就掉到了地上(40 个)。
    我作为旁观者,看不到你手上还剩多少乒乓球。只知道你开始拿进去的一筐乒乓球(100 个)和地上留下来的乒乓球(40 个),问:统计你从观众那里得到的乒乓球有多少。
    正确做法就是:一开始总共的(100 个)- 地上留下(60 个)= 你手头上还剩下的乒乓球数量 (40 个)

    EXAFS 中扣除背景的原理跟这个类似,因为 EXAFS 解决的问题是中心原子和邻近原子之间的相互作用,从而得到其数量和距离。中心原子(你本人)吸收X射线后激发内层电子跃迁到中心原子以外成为光电子(乒乓球),如果光电子到了邻近原子之后(台下的观众)激发再把光电子散射回来后,作为中心原子收到了这部分光电子就包含了 EXAFS 表征所需要的信息。然而在实际测试中,我们测得的是中心原子的所有信息,包含了最终回到中心原子的电子以及没能够回到中心原子的部分。那么我们只需要前者的话,就要扣除掉后者。

    “扣除没有回到中心原子的电子”办法就是假设这个中心原子周围没有任何邻近原子的时候收到X射线发生内层电子跃迁,这样光电子行动时没有任何阻拦,也不存在回到中心原子的考虑,这就是背景。但是这样的条件真实情况下发生吗?要知道,一个原子在常压环境下(常压和真空下的电子行动模式是不一样的)周围不存在任何邻近原子是不可能的事情。为了消除消除背景,只可能通过理论数学公式来解决。

χ(E)=μ(E)μ0(E)μ0(E) \chi (E) = \frac{\mu (E) - \mu_{0}(E)}{\mu_{0}(E)}

Equation 1. μ\mu0(E) 孤立中心原子的吸收,通过 Spline 函数来计算。



利用 Spline 函数作为背景方程

    在 Athena 软件中,作者选用了 Spline 函数来模拟孤立原子发出光电子的谱图。Spline 函数(中文:样条函数)是一个非常流行的非线性拟合方程。根据 Wikipedia 的一段描述:

    样条一词来源于工程绘图人员为了将一些指定点连接成一条光顺曲线所使用的工具,即富有弹性的细木条或薄钢条。由这样的样条形成的曲线在连接点处具有连续的坡度与曲率。分段低次多项式、在分段处具有一定光滑性的函数插值就是模拟以上原理发展起来的,它克服了高次多项式插值可能出现的振荡现象,具有较好的数值稳定性和收敛性,由这种插值过程产生的函数就是多项式样条函数。

    大白话:Spline 函数可以分段拟合数据(毕竟 XANES 和 EXAFS 机制不一样),并且可以得到一条光滑的曲线。与多项式拟合比起来优势很大,尤其是在限制拟合函数的变量上。对于在 Athena 中的 Spline 函数,需要考虑只有三个变量:函数级数 (polynomial order 非“真多项式”的级数)、 节点 (knot) 和所需要拟合数据范围 (range)。

    Rbkg 的作用就是控制节点 (knots) 的数量上限,如下方程所示。节点代表了实验数据里抽取的点用于拟合 Spline 函数。节点越多,Spline 方程就可以变得更加贴近实验曲折的数据,反之方程的线条越直。

Nknots=2RbkgΔkπN_{knots} = \frac{2R_{bkg}\Delta k}{\pi}

Equation 2. Spline 函数中的节点数量上限表达式。除了 Rbkg,选择 k 空间的范围 (Spline range in k or E, Figure 1.) 也会影响节点数量的上限。


02Rbkg.png

Figure 2. 选择 Rbkg = 0.2 时背景函数非常直(节点数量少)。


20Rbkg.png

Figure 3. 选择 Rbkg = 2.0 时背景函数曲折(节点数量多)。



背景曲线的曲折程度影响 k 空间和 R 空间

    我们知道在 EXAFS 区间上下波动的信号便是邻近原子返回中心原子的信号,如果背景函数 (Spline function) 波动过大(Rbkg 大,节点数量多),那么会把本属于真正邻近原子的波动信号给纳入背景函数中;反之,如果背景函数太直(Rbkg 小,节点数量少),就不能把本属于孤立中心原子发出的信号(真正的背景)摘干净。在这一步,Rbkg 影响到了 k 空间里面的图像。

kspace.png

Figure 4. 对同一样品 Fe_lepidocrocite(纤铁矿)取不同的 Rbkg 数值在 k 空间对比。(蓝线 1.0 Å,红线 0.2 Å,绿线 2.0 Å)


    对比 Rbkg = 1.0 Å(蓝线)和 Rbkg = 0.2 Å(红线),可以看到的是 k 空间中的图像信号基本上在同相位的(一起上一起下),但是 Rbkg = 0.2 Å 的图像可以看到 k 空间中的”峰都会宽一些“。

    对比 Rbkg = 1.0 Å(蓝线)和 Rbkg = 2.0 Å(绿线),在 k = 9 Å-1 以下,两者曲线差别大,尤其是绿线的信号小了不少。在 k = 9 Å-1 之后,两者图像基本吻合。


rspace.png
Figure 5. 对同一样品 Fe_lepidocrocite(纤铁矿)取不同的 Rbkg 数值在 R 空间对比。(蓝线 1.0 Å,红线 0.2 Å,绿线 2.0 Å)


    老生常谈的概念:R 空间是对 k 空间做傅里叶变换得到的,R 空间中 x 轴也就是 k 空间里面的频率(这里看不懂的去看这个视频)。那么既然 k 空间的数据已经改变,R 空间图像也会有所改变。可以看到的是选 Rbkg = 0.2 Å(红线)会比选 Rbkg = 1.0 Å(蓝线)多出来了在 0.5 Å 的峰,一个 artificial signal。而 Rbkg = 2.0 Å(绿线)基本上抹去了在 1.5 Å 的信号,我们知道这个样品里面有 Fe-O path,选择大的 Rbkg 直接消除了原本样品真实存在的信号


08Rbkg.png
Figure 6. 对同一样品 Fe_lepidocrocite(纤铁矿)取 Rbkg = 1 和 0.8 在 k 空间对比。(完全一样)

这也就是为什么 Rbkg 的选择非常固定:1.0 Å 或者 R 空间第一层信号的一半距离。选低了,小于 1.0 Å 的地方 R 空间会冒出来非真实的信号;选高了,会把你真实 EXAFS 信号给抹去。



Rbkg 影响在 ArtemisRmin 下限

Inkedartemi_L.jpg

Figure 7. ArtemisRmin 的位置。(红线)


    Artemis 里面 Rmin 的值必须要大于等于在 Athena 中的 Rbkg。假设在一开始选择了 Rbkg = 1.0 Å,那么 Artemis 拟合 EXAFS 时只可能从 R = 1.0 Å 起拟合。假设强行把 Rmin设置为 0.2 Å,就会得到如下报错。要解决这个问题要不然调高 Rmin 要不然回到 Athena 重新设置 Rbkg 再加载修改后的 .prj 文件到 Artemis 中。

wrong.png

Figure 8.Rmin 小于 Rbkg 时。





参考阅读

  1. Athena 官方教程 4.2 章节:The AUTOBK Algorithm and the Rbkg Parameter
  2. AUTOBK 算法原始文献:Phys. Rev. B,1993 47:14126–14131
  3. 样条函数维基百科:中文英文




希望我讲清楚了这个点,感谢你的阅读。