首页 > 解决方案 > 镜头与成像 > Code V 使用技 Code V 使用技巧:以误差函数分量确定优化中的权重

Code V 使用技巧:以误差函数分量确定优化中的权重

胡理策,Cybernet Taiwan,应用工程师

除了像差分量外,优化中的误差函数也可同时包含许多不同的分量。当设定的约束条件中具有权重(如WTC或PTC),那误差函数中也会包含约束条件的分量。如果您在优化中,开启公差灵敏度的控制(SAB),那误差函数中则也会包含公差灵敏度的分量。身为一个设计者,您可以也应该为了最佳的结果而调整这些分量的相对权重。但问题是,应该在哪里找到这些分量的信息呢?


您可以在[自动化设计→输出/结果控制]中,开启[建立误差函数与循环图]来画出这些误差函数的分量,对于指令惯用者则可使用指令EFP。在自动化设计结果的对话框中,文字栏内也显示每一次计算的误差函数分析。

 




了解不同误差函数分量的贡献可以帮助您在优化时选择适合的分量权重,例如:设定约束条件分量的权重与像差分量的权重相似,如此可确保在优化一开始时会对这两种分量给予相同的重视。若还有公差灵敏度的误差函数(SAB),您可能会希望用不同的分量比例来开始优化。


您可以调整优化选项,用以求得现有结构的误差函数(在[自动化设计→输出结果控制]中,设定[优化周期数→最大值]为 0)。如此便可以确认不同误差函数分量的起始贡献,进而调整这些分量的权重。


例如,使用指令:


AUT; MXC 0; SAB FA 1; EFL = (efl); DIY FY = 0; WTC 1; GO


可以产生误差函数的内容:


CYCLE NUMBER 0:


ABERR F.   = 1407.08283001

SAB F. = 588.84811418

CONST F.   = 173.50310670

ERR. F.    = 2169.43405088


为了有效地得到不同分量间最好的比例,可以用宏来尝试几个不同的比例。您可以使用AUT.ERF数据来得到最优化后的误差函数。但是如果要得到误差函数的分量,则需将优化的结果储存到buffer中,再从buffer中撷取您想要的数据。上述之宏语法如以下所示:


BUF Y   !把输出结果记录到buffer B0中


AUT; MXC 0; SAB FA 1; EFL = (efl); DIY FL = 0; WTC 1; GO

!只求得现有结构的误差函数


BUF N   !停止记录到B0中


BUF FND B0 “SAB F.”   !寻找B0中的字符串“SAB F.”


^AUTSAB == (BUF.NUM B0 IC JL)   !储存为变量^AUTSAB


WRI^AUTSAB   !此将显示^AUTSAB = 588.848


您可以使用^AUTSAB/(AUT.ERF)的比值来决定合适的公差灵敏度(SAB)权重。要注意的是,如果您改变了权重的参数,对误差函数的贡献将会是权重的平方。例如:将上面范例的SAB权重改成2,则公差灵敏度的贡献会变成2355,也就是权重是1时的四倍。


关于 Synopsys OSG
Synopsys 公司为全球知名IP半导体设计、验证与制造大厂,于2010年10月并购Optical Research Associates公司之后正式跨足光学设计领域,成立光学解决方案部继续光学产品CODE V / LightTools以及RSoft的开发作业。
 
新闻联络人
莎益博工程系统开发(上海)有限公司
市场部 Winnie Qian
Tel: (021) 64227122 ext.621
Email: winnieqian@cybernet.sh.cn