MCM520 ← 资料站首页 碳化硅外延层厚度的确定(2025 国赛 B)优秀范文(一) 打开交互阅读器 →

碳化硅外延层厚度的确定(2025 国赛 B)优秀范文(一)

摘要

题目要求由外延片在 400–1000 nm 波段测得的反射率谱 R(λ)R(\lambda) 反演碳化硅(4H-SiC)外延层的厚度 dd,并给出结果的精度与不确定度。本文建立空气 / 外延层 / 衬底三层薄膜的双程干涉正演模型,用菲涅尔方程与特征矩阵给出总反射率 R(λ)=∣r∣2R(\lambda)=|r|^2;在此基础上,先用包络法由反射率极值波长间距给出厚度的闭式初值,再指出折射率—厚度的耦合会令联合反演病态,故将色散常数 BB 锚定文献先验、仅反演 (d,A)(d,A),并以"全局粗扫定位条纹周期对应 basin + Nelder-Mead 精修"克服初值敏感与相邻周期伪解。整个流程不依赖商业拟合软件,全部由标准库实现,便于在复现与教学中直接使用。最终反演得 d=3.1971 μmd=3.1971\ \mu\text{m}、A=2.5706A=2.5706(固定 B=0.015B=0.015),均方根残差 RMSE=0.00547\text{RMSE}=0.00547,与真值 3.20 μm3.20\ \mu\text{m} 相对误差仅 0.09%0.09\%。蒙特卡洛 220 次重复给出 d=3.2000±0.00336 μmd=3.2000\pm0.00336\ \mu\text{m}(95% 置信区间 [3.1932,3.2059][3.1932,3.2059]),偏差近零;不确定度随测量噪声 σ\sigma 近似线性增长。整套方法物理清晰、数值稳健,可为半导体外延质检提供可复现的厚度测定流程。

一、问题重述

给定一片在蓝宝石/硅衬底上外延生长的 4H-SiC 外延片,已测得其反射率随波长变化的曲线 R(λ)R(\lambda)(波长范围 400–1000 nm,采样 201 点,步长 3 nm)。衬底 4H-SiC 的折射率 n2=2.70n_2=2.70 视为已知,空气折射率 n0=1n_0=1。需要由该光谱反演出外延层的物理厚度 dd,并对结果的可靠性做出量化评估。问题本质上是由观测光谱反演薄膜光学参数的不适定反问题:同一厚度会对应一条具有周期性干涉条纹的反射谱,而折射率色散未知时厚度与折射率之间存在强耦合,因此必须借助合理的物理建模与稳健的数值策略才能得到可信解。

二、模型假设

为将问题转化为可计算的数学模型,作如下假设:

  1. 单层均匀膜假设:外延层为一层厚度均匀、各向同性的介质薄膜,膜内折射率仅随波长变化,不随位置变化。
  2. 界面理想:膜—空气、膜—衬底两个界面平整、无表面粗糙度与散射,可用特征矩阵精确描述。
  3. 无吸收:在所考波段外延层与衬底均视为无吸收介质,反射仅由折射率失配引起。
  4. 色散形式:外延层折射率采用 Cauchy 经验式 n1(λ)=A+B/λ2n_1(\lambda)=A+B/\lambda^2(λ\lambda 取微米),其中 A,BA,B 为待定色散常数。
  5. 衬底与空气折射率已知:n0=1.0n_0=1.0,n2=2.70n_2=2.70 作为先验固定。
  6. 测量噪声:实测反射率由无噪模型叠加加性高斯白噪声得到,标准差取 σ=0.006\sigma=0.006。

三、符号说明

符号 含义 取值/单位
λ\lambda 波长 400–1000 nm
n0,n1,n2n_0,n_1,n_2 空气/外延层/衬底折射率 1.0 / 未知 / 2.70
dd 外延层厚度(反演目标) μm\mu\text{m}
A,BA,B 外延层 Cauchy 色散常数 A≈2.57, B=0.015A\approx2.57,\ B=0.015
δ\delta 单程相位厚度 δ=2πn1d/λ\delta=2\pi n_1 d/\lambda
RR 总反射率 R=∣r∣2∈[0,1]R=|r|^2\in[0,1]
σ\sigma 测量噪声标准差 0.006

四、模型建立

4.1 三层薄膜正演模型

将体系视为空气 (n0n_0) / 外延层 (n1n_1) / 衬底 (n2n_2) 三层结构。光垂直入射时,膜层上下界面的菲涅尔振幅反射系数分别为

r01=n0−n1n0+n1,r12=n1−n2n1+n2.r_{01}=\frac{n_0-n_1}{n_0+n_1},\qquad r_{12}=\frac{n_1-n_2}{n_1+n_2}.

外延层引入单程相位厚度 δ=2πn1(λ)d/λ\delta=2\pi n_1(\lambda)d/\lambda。由特征矩阵可得总反射振幅

r=r01+r12e−2iδ1+r01r12e−2iδ,r = \frac{r_{01}+r_{12}e^{-2i\delta}}{1+r_{01}r_{12}e^{-2i\delta}},

总反射率即为 R(λ)=∣r∣2R(\lambda)=|r|^2。由于 δ\delta 随 λ\lambda 单调变化,反射率在相邻波长处取得极大与极小,形成规则的干涉条纹。

4.2 包络法初值

对无吸收薄膜,相邻两次反射率极值对应的波长 λi,λj\lambda_i,\lambda_j 满足相位差 π\pi,由此可导得厚度与极值波长间距 Δλ=λj−λi\Delta\lambda=\lambda_j-\lambda_i 的闭式关系

d≈λiλj2 n1(λˉ) Δλ,d \approx \frac{\lambda_i\lambda_j}{2\,n_1(\bar\lambda)\,\Delta\lambda},

其中 λˉ=(λi+λj)/2\bar\lambda=(\lambda_i+\lambda_j)/2。该式给出由光谱条纹直接估计厚度的"包络法"初值,计算快、无需迭代,但抗噪能力弱(见第五节)。

4.3 反演目标函数

给定实测谱 R^i=R(λi)+εi\hat R_i=R(\lambda_i)+\varepsilon_i,定义最小二乘代价

S(d,A)=∑i[Rmodel(λi;d,A,B0)−R^i]2,S(d,A)=\sum_{i}\bigl[R_{\text{model}}(\lambda_i;d,A,B_0)-\hat R_i\bigr]^2,

其中色散常数 BB 固定为文献先验 B0=0.015B_0=0.015,仅反演 (d,A)(d,A),以避免 nn–dd 的强耦合导致病态。

4.4 条纹周期别名与初值敏感性

由于相位厚度 δ\delta 以 2π2\pi 为周期,厚度为 dd 与 d+m⋅λ/n1(λ)d+m\cdot\lambda/n_1(\lambda)(mm 为整数)的样品会产生几乎相同的干涉条纹间距,这就是"厚度别名"现象。若仅用包络法或单一初值做局部优化,极易收敛到相邻周期的伪解(如含噪时初值漂至 3.83 μm3.83\ \mu\text{m} 即落入错误 basin)。因此反演不能依赖单点初值,而必须先用全局粗扫锁定真实周期对应的 basin,再做局部精修——这正是第五节求解流程的设计动机。

五、模型求解与结果分析

5.1 求解流程

  1. 正演验证:代入真值 d=3.20 μm,A=2.57,B=0.015d=3.20\ \mu\text{m},A=2.57,B=0.015,模型反射率在 [0.1806,0.2111][0.1806,0.2111] 间振荡,呈现清晰的干涉条纹(图 1)。
  2. 包络初值:在无噪数据上包络法给出 d0=3.2296 μmd_0=3.2296\ \mu\text{m},已十分接近真值;但在含噪实测上包络法受噪声扰动给出 d0=3.8268 μmd_0=3.8268\ \mu\text{m},偏差显著(图 3),说明包络法不可直接作为最终解,仅宜作粗定位。
  3. 全局粗扫 + 精修:固定 A=A0A=A_0 时,代价 S(d)S(d) 对 dd 具有唯一全局极小(条纹间距唯一确定 dd),故在 1.00∼8.00 μm1.00\sim8.00\ \mu\text{m} 以 0.04 μm\mu\text{m} 步长粗扫定位 basin,再以 Nelder-Mead 单纯形法精修 (d,A)(d,A)。该组合稳健避开相邻周期别名伪解,对初值不敏感。
  4. 反演结果:得 d=3.1971 μmd=3.1971\ \mu\text{m}、A=2.5706A=2.5706、RMSE=0.00547\text{RMSE}=0.00547、迭代 34 步收敛(图 4、图 6)。为验证稳健性,对含噪实测重复以不同随机扰动初始化,结果均收敛至同一 basin,说明该解是真正的全局最优而非局部陷阱。

图1 正演反射率曲线 R(λ)(Air/epi/substrate 三层干涉模型)

图2 实测(含高斯噪声)与无噪模型曲线对比

图3 包络法初值:上下包络与反射率极值(含噪初值 3.83 μm 明显偏移)

图4 非线性最小二乘反演拟合结果(实测 vs 模型,d=3.1971 μm)

5.2 残差检验

反演模型与实测之差(残差)在 ±0.012\pm0.012 内随机波动,无明显波长相关的系统结构(图 5),说明正演模型与反演策略已充分解释了观测数据,未遗漏主要物理效应。残差标准差约为 0.00550.0055,与人为注入的噪声水平 σ=0.006\sigma=0.006 同量级,符合"拟合已逼近噪声地板、未过拟合"的预期;若残差仍含低频或周期性结构,则提示模型假设(如无吸收、单层均匀)需要修正。

图5 拟合残差 R_model − R_meas(应无明显结构)

图6 Nelder-Mead 收敛轨迹(目标函数随迭代下降)

六、灵敏度分析

6.1 蒙特卡洛不确定度

以固定种子生成 220 组独立加噪实测谱,逐组反演得到厚度估计的分布(图 7)。统计得均值 dˉ=3.2000 μm\bar d=3.2000\ \mu\text{m}、标准差 0.00336 μm0.00336\ \mu\text{m}、95% 置信区间 [3.1932,3.2059] μm[3.1932,3.2059]\ \mu\text{m}、相对真值偏差 0.00001 μm0.00001\ \mu\text{m},色散均值 Amean=2.5700A_{\text{mean}}=2.5700。结果表明反演无系统偏差,且精度优于 0.1%0.1\%。由图 7 可见,220 次估计近似呈以真值为中心的正态分布,未出现双峰或长尾,进一步佐证反演结果的可靠性与单 basin 收敛特性;若分布出现多峰,则说明数据中存在别名伪解风险,需回检初值策略。

图7 蒙特卡洛反演厚度 d 的分布(220 次重复拟合)

6.2 噪声水平影响

考察不同测量噪声 σ∈{0.003,0.006,0.009,0.012}\sigma\in\{0.003,0.006,0.009,0.012\} 下的厚度标准差,得到 σ→std(d)\sigma\to\text{std}(d) 近似线性关系:

σ\sigma 0.003 0.006 0.009 0.012
std(d)\text{std}(d) 0.00175 0.00330 0.00495 0.00676

即噪声每增大一倍,厚度不确定度近乎同倍增大(图 8)。这提示在实际质检中,提升光谱信噪比是降低厚度测定不确定度最直接有效的途径;若受硬件限制无法降低 σ\sigma,则可通过增加波长采样密度或多次测量平均来抑制单次随机误差,但无法突破由 σ\sigma 决定的固有不确定度下限。

图8 噪声水平对厚度不确定度的影响(σ → std(d))

七、模型评价

优点:(1) 物理模型严谨,三层特征矩阵精确刻画干涉条纹;(2) 包络法提供闭式初值,计算廉价且可解释;(3) 全局粗扫 + Nelder-Mead 精修兼具稳健性与精度,有效规避别名伪解,对初值不敏感;(4) 蒙特卡洛给出可量化的不确定度,便于工程决策与质控阈值设定;(5) 全部计算仅依赖标准库,无需商业拟合软件,复现成本低。

局限:(1) 依赖衬底折射率 n2n_2 与色散常数 BB 的先验;若 BB 未知,与 dd 的耦合会使联合反演严重病态(本文以固定 BB 化解);(2) 包络法抗噪差,须以最小二乘校正;(3) 假设无吸收、界面理想,对高粗糙或吸收样品需引入额外损耗项;(4) 当外延层过薄(仅含个别条纹)时,包络法初值精度下降,宜改用全谱最小二乘直接反演。

八、结论

本文以外延层厚度测定为对象,建立了"正演建模—包络初值—非线性最小二乘反演—蒙特卡洛不确定度量化"的完整链条。在固定色散先验下,反演厚度 d=3.1971 μmd=3.1971\ \mu\text{m},与真值相对误差仅 0.09%0.09\%;蒙特卡洛表明测定精度优于 0.1%0.1\%,且不确定度随测量噪声近似线性增长。与单纯依赖包络法相比,本文以全局粗扫克服别名伪解、以最小二乘校正噪声,显著提升了结果的稳健性与可信度。方法物理清晰、数值稳健、可完全复现,可直接迁移至蓝宝石、氮化镓、砷化镓等其他外延体系的膜厚测定,亦可推广到折射率色散联合反演(在光谱较宽、条纹充足时)与多层膜的逐层解析。

九、参考文献

[1] 全国大学生数学建模竞赛组委会. 2025 高教社杯全国大学生数学建模竞赛 B 题:碳化硅外延层厚度的确定[R]. 2025.

[2] Tompkins H G, Irene E A. Handbook of Ellipsometry[M]. William Andrew, 2005.

[3] Born M, Wolf E. Principles of Optics[M]. 7th ed. Cambridge University Press, 1999.

[4] Heavens O S. Optical Properties of Thin Solid Films[M]. Dover, 1965.

附录:核心 Python 实现

import os, sys, math, random
# 定位并导入真源模块(与配图同源,四路一致)
try:
    _HERE = os.path.dirname(os.path.abspath(__file__))
except NameError:
    _HERE = os.getcwd()
sys.path.insert(0, os.path.abspath(os.path.join(_HERE, "..", "..", "..", "tools")))
import gen_cumcm2025b as G

# ---- 复算关键数字 ----
# 1) 重建固定实测数据并反演 (d, A),B 固定文献先验
Rmeas, clean = G.build_meas()
x, f, it = G.fit(Rmeas, G.LAM, seed=2026)
d, A = x
rmse = G.rmse(Rmeas, d, A, G.B0)
print("反演:d=%.4f μm  A=%.4f  RMSE=%.5f  迭代=%d" % (d, A, rmse, it))

# 2) 蒙特卡洛不确定度(220 次重复)
est, mean, std, lo, hi, bias, Amean = G.monte_carlo()
print("MC(%d): mean=%.4f std=%.5f CI=[%.4f,%.4f] bias=%.5f A_mean=%.4f"
      % (len(est), mean, std, lo, hi, bias, Amean))

# 3) 噪声灵敏度
sens = G.sensitivity()
print("灵敏度 σ→std: " + ", ".join("σ=%.3f→%.5f" % (s, v) for s, v in sens))