Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 人工智能 > 进化计算
进化计算 A discussion board for Evolutionary Computation.
回复
 
主题工具 显示模式
旧 2011-11-30, 20:13   #1
winston
初级会员
 
注册日期: 2011-11-30
年龄: 37
帖子: 1
声望力: 0
winston 正向着好的方向发展
默认 单纯形法 遗传算法 人工神经网络法 模拟退火算法 光学常数的测定

全光谱拟合法计算薄膜的光学常数

已知:薄膜透过率的测量值Texp,
目的:编程计算薄膜相关参数:(1)膜厚d;(2)折射率n;(3)消光系数k

大致方法:
垂直入射时,透过率的理论值Tcalc(λ)的计算公式如下:

, 其中Ts已知,表示无薄膜时衬底的透过率。

图1
很显然,透过率的理论计算值是d, n, k, λ(波长)的函数,即有:


由测量已知的透过率数据,确定薄膜光学常数n, k和厚度d是一个反演工程,根据上述公式,可以计算各个波长处的透过率,最小化理论计算值与测量的透过率之差,就能获得薄膜的光学常数和厚度,因此目标优化函数取为:

上式中,为测量的透过率(已知);是理论计算得到的数值,利用公式可计算获得。

另外,待定物理量的探索范围(限制条件)为:
(1)薄膜厚度d=50~1500 nm;
(2)在所有波长范围内(400~1000 nm),折射率n = 1~4,消光系数k =0~2;
(3)在所有波长范围内(400~1000 nm),折射率n和消光系数k均为减函数。

要求输出的数据有:
粗搜和细搜时,目标优化函数 f 随搜索膜厚的变化曲线(类似图2);
薄膜的折射率 n 随波长 λ 的变化曲线;
薄膜的消光系数 k 随波长 λ 的变化曲线;
计算获得的透过率 Tcalc 随波长 λ 的变化,并作在测量的透过率图(Tmeas_Ts_Figs.fig)中进行比较。
对于给定的搜索范围(膜厚d=50~1500 nm,折射率n = 1~4,消光系数k =0~2),进行多次搜索,即先粗搜,再细搜,这样就能搜到较为精确的解。
粗搜时,假设较大的膜厚范围(如50~1500 nm),这里膜厚的扫描步长可稍大些(如5 nm),初步估计膜厚的值(见下2图中的左图,根据误差-膜厚数据图,估计大致厚度);然后,利用初步估计的膜厚数值,缩小膜厚的搜索范围,在其附近位置进一步细搜(这时膜厚扫描步设为1 nm),根据误差-膜厚数据确定测量的膜厚(见下2图中的右图)。
确定膜厚后,再优化计算其它光学参数:折射率n、消光系数k。


图2

附:相关数据文件

文件2:Tmeas_Ts_data(Matlab data file: 实验测量数据文件)
Name Size   Bytes Class
Tmeas  1x601 4808 double array(Tmeas:透过率的测量值)
Ts 1x601 4808 double array(Ts:用于计算衬底的折射率 s)
lambda 1x601 4808 double array(波长 λ,范围为400~1000 nm,间隔为1 nm)

衬底的折射率为:clear all; load Tmeas_Ts_data; s=(1+sqrt(1-Ts.^2))./Ts;

文件3:Tmeas_Ts_Figs.fig(Matlab figure file: 实验测量数据作图)



[可参考文献1,文献2中的“全光谱拟合法”]

主要求解方法有:
1.单纯形法
2.遗传算法
3.人工神经网络法
4.模拟退火算法
winston 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 19:13


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.