目录
[隐藏]

用CODE V设计一个数码相机镜头

                                                    Doffery 2003-11-24

一个简单的数码相机镜头

数码相机现在已经很普通,最近的百万像素典范有高解析度的CCD阵列和光电子学。但是不要担心,那些都不是您用CODE V的第一任务。相反,你将设计一个还算简单的定焦的数码相机物镜。这仍需要一些光学设计,但是它是一个相对简单的题目,一个两片或三片居中的玻璃或是塑胶折射镜头组件。

这里是你将在本章所学的:

  • 说明一个简单镜头的一般设计规格
  • 利用这些信息来确定一个起始点
  • 修改起始点来达到设计要求
  • 做一个简单的分析,和规格进行比较确定一个优化指导性方向

在下一节您将利用本节所得到的结果作为起始点来:

  • 优化镜头
  • 确定设计中的问题,发掘潜力
设计规格

有时您会接到某人关于一个镜头的规格而且您需要输入到CODE V中,分析它,可能需要优化它。这些都是直截了当的。另外,一个设计问题可能开始于一个规格,或一些说明信息,怎样完成镜头,形成一个指导性的思想,你必需找到一个起始点,建立它,分析它并优化它。

对于这个数码相机镜头,规格是来自于CODE V的消费者产品。问题是:“如果你想做一个低价位,定焦的VGA数码相机,你将怎样描述它?”

定焦数码VGA相机物镜规格

少数元件(1-3)普通光学玻璃或塑料

解析度

640X480有效像素

像素大小

7.4X7.4microns

像面大小

4.74X3.55mm2(对角线6mm)

图像传感器(基线是Agilent FDCS-2020)

物镜

定焦,景深

焦点

0.75M~Infinity

焦距

定焦,6mm

几何畸变

<4%

F/# 

定孔径,F/3.5

锐度
MTF离焦范围(中心区域为CCD内3mm)

低频,17LP/mm (中心)>85%边缘高频,51LP/mm >中心),>25%(边缘)

渐晕

角落相对照度>60%

透过率

单镜片>80% 400~700nm

IR滤光片

1mm厚肖特IR-638或HOYA的CM500

以上规格的意义

首先,这些意味着它将是一个比较小的镜头系统,传感器的大小和焦距的大小均为6mm(大约1/4英寸)。传感器的大小和有效焦距的大小就决定了视场角的大小(FOV),根据无穷远物距关系:h = f tan θ或像高=EFL*tan(semi-FOV)

在这个案子中,像高为3mm(为传感器对角线的一半),并且EFL=6mm,所以可以解出Semi-FOV为26.5°,假设你想用少量的组件,这就是所有的起始点所需要的信息。

CODE V拥有分析组件允许对其它规格进行评价(畸变、MTF、相对照度、透过率)。我们将在稍后介绍这些功能,当它们需要时,但是认为锐度是一瞬间的。锐度通常用MTF来表示,它将镜头对空间频率的成像量化成函数。最大的锐度用MTF表示则其值为1.0。最小锐度出现时,其MTF为0。高的空间频率代表了细节用每毫米有多少线对来度量。我们将在稍后对MTF和其它的评价方法作更进一步的讨论。

一个数码相机中使用的CCD阵列是由许多很小的但是大小有限的单元构成的,这些单元称之为像素(每个单元实际上是由三个有色像素构成,但是出于设计考虑,我们认为每个单元是由一个像素构成的)。规格上指出像素的大小为7.4mm2,则阵列的最大的空间频率可以由2倍的像素大小的倒数来计算出来,1/(2*0.0074)=67.6LP/mm。用这块CCD阵列,则任何比这个高的空间频率将不能分辨。不管这些,光学系统在CCD的截止频率时MTF不能为零。这就使合成的MTF与CCD的截止频率形成对应关系。这就是前面提到的锐度的意义。

新镜头向导

开始一个新镜头

新镜头向导是一个从已存在的设计(例子,专利,或是您自己保存的最爱镜头)建立新光学系统模型或是从草图开始。它帮助您寻找适合的起始点并定义相应的您所需要的规格的参数(如孔径大小,视场,波长等)。运行CODE V并使用新镜头向导:

选择File->New菜单.

点击欢迎屏幕中的Next按钮.

选择Patent Lens 并按Next按钮.

clip_image001

clip_image002

专利数据库

在用于演示CODE V30个例子镜头外,CODE V 还包含一个拥有2400个过期专利的镜头数据库(主要是用于各种不同系统的轴对称的光学系统)。您可以用新镜头向导或是专利搜索功能来访问和搜索这个数据库,并可以使用过滤器指定您所需要的各种属性。在下面的过程中当中,您将继续使用新镜头向导来选择一个专利镜头:

1.在新镜头向导中点击过滤器(FILTER)按钮。

在过滤器对话框出现,它可以缩小您的搜索起始点的范围。在这个数码相机案例中,您需要一个相对比较快的(小的)F/#和一个相对比较大的视场角(26.5为半视场角,它对应3mm的CCD阵列的半对角线高度)。您也需要它比较经济,所以它的元件数不能超过3。您可以在过滤器中填入这些条件开始搜索。适当地扩大范围是一个很好的想法,因为您经常需要进行一些细微的修改和优化以达到您所需要的规格。如果您使搜索的范围太过狭窄,那么您将错过一些有潜力的设计。

clip_image003

2.点击复选框并填入相应的MIN/MAX

· F/#(试着输入1~4),目标为3.5

· 视场角(实际上是半视场角,试着输入20~33),目标为26.5

· 元件数目(试着输入1~3),目标是越少越好,越低成本

3.点击OK。

新镜头向导将返回给您一个专利列表,这12个专利符合了您的需要。

您可以试用几个不同的起始点,但是要注意的是要扩大视场角是比较困难的,所以稍大视场的起始点会比较好。镜头名称为or02248看上去比较有潜力-它具有27.5的FOV,小的F/#并且比我们期望要高(2.4,通常大一点的F/#会使像质变的更好)。

clip_image004

4.点击专利列表中的名字为or02248的镜头。

5.点击NEXT按钮进入孔径光阑页。

定义系统数据

现在您已经通过新镜头向导完全地进入了镜头。下面的几个屏幕将要问您一些关于如何使用这个镜头的问题,这些属性在CODE V中称之为系统数据(System Data)。注意这里的主要目的是获得一个可以被修改并优化以达到最终规格要求的工作模型。将需要进行更进一步的改变。

1.在新镜头向导中,您应该是在孔径光阑页里。从下拉列表中选取Image F/Number,并输入3.5。

clip_image005

F/Number 是一个比值,当镜头被缩放时它将不会被改变(大多数情况下镜头是需要被缩放的)。

2.点击NEXT按钮进入波长设定页,把绿光(589.0)的权重改为2。

这将使该波长在后面的优化占更主要的地位。

3.点击NEXT按钮进入参考波长页,但是不要改变默认值。

这个波长是用来做近轴光和参考光线追迹,默认值是正好的。

4.点击NEXT按钮进入视场设定页。选中第二视场然后右键菜单点击INSERT插入一个新的视场角度,然后键入0, 11, 19和26.5作为四个视场的Y方向角度。

clip_image006

这个镜头相对来讲是比较广角的,所以在多插入一个中间的视场是一个比较好的想法,这为后来的优化和分析带来了便捷。一般的习惯是最少要有0,0.7和全视场.多加入一个中间的视场对控制视场相关的带状像差是有帮助的,如像散。

5.点击NEXT进入新镜头向导的最后一页。

6.点击完成(DONE)钮。

操作表面

镜头数据管理表格

CODE V的最基本的操作就是光线追迹-基本上所有的事情都是通过追迹一条或更多条光线并对它们进行一些计算来完成的。在大多数系统中,光线是按顺序地穿过您所定义的一系列光学表面。这些表面的属性决定了光线如何被追迹的。这些和系统数据集成在一起就构成了光学系统的模型。

由于表面是光学模型的核心,所以您得花大部分的时间在LDM表格上。它总是呈现在用户界面中(当您不想看它时,可以改变它的大小或最小化,但是您不能关闭它)。

clip_image007

LDM表格就像其它程序的数据表格一样,您可以改变它的行宽,列宽,选择单元格或是合并单元格并可以在单元格中输入数据。注意一些灰色的单元格不能被输入数据(因为它们所包含的数据是由程序计算出来的不能被直接地改变)。您可以在除了灰色的单元格以外的其它的任何单元格上使用右键单击来调出右键菜单。右键单击是一个很平常的操作,它可以快速地访问一个单元格中可以用到的操作。

小技巧:要看任何显示数值的全部数值可以将鼠标指针停在该数值上不动(不要单击)。要改变界面中数值显示的精度,可以选择Tool>Customize菜单进入用户定制对话框中的Format Cell选项卡(在这本向导中的精度为小数点后五位)。您不能设定独立的单元格的数值精度。

同样我们在下面的讨论也认为LDM窗口是针对旋转对称的光学系统而言的。它可能隐藏了一些空的列(在单元格的表头右键)(如:球面或折射;选择Tools->Preferences菜单进入参数选择对话框中的UI选项卡可以改变这些)。如果是非旋转对称的系统LDM将为几个X值或Y值增加相应的列。

表面的细节

任何镜头模型都是以物面开始像面(它只是最后一个面,因为并不是很有的镜头模型都会在那里成像)结束。您可能也注意到总是有一个表面被标记了STOP,这个表面就是光阑面。是用来限制轴上光线的。,只要您不加载主光线对准(这个只在少数不平常的情况下使用),那么任何视场的主光线都会被重复地通过光阑面的中心(x=0,y=0)。

LDM每一行都有一个表面编号(Surface Number)和表面名称(Surface Name)(可以是任意的,但是在比较复杂的系统中是很有用的)。要选择一个实体表面(显示为一行),点击表面编号。下面一个是表面类型,它是一个可以下拉的选单(双击它可以显示出一个表面类型的列表),默认的是球面(Sphere)。Y Radius是曲率半径,是曲率的倒数。球面和其它旋转对称的表面都只有一个曲率,用Y方向的表示(诸如环形表面具有X,Y两个曲率)。您也可以选择显示Y曲率(半径的倒数,单位是1/mm)。可以看下面的小技巧。

小技巧:您可以通过在Edit->Use Radius Mode左边打勾或不打勾在用曲率半径或曲率之间切换。

厚度被定义为到下一表面之间的距离。通过当前表面Z方向来测量(是共轴系统的光轴,如本系统)。注意表面6的厚度(空气间隔)是灰色的,并且旁边还有一个小S。这个厚度是通过Paraxial image(PIM) solve得到的,其近轴边缘光线在下一表面的高度为0。它设定了近轴像的位置,这里近似于镜头的焦点位置。这可能不是最佳焦点,因此像面的厚度是用来对PIM求解后进行离焦的(整个像面距离是这两个表面厚度之和)。通常用优化来得到最佳的离焦位置(在大多数的光学系统中,一般推荐PIM和离焦变量配合使用)。

玻璃(Glass)单元格包含了表面之后的材料的名称,如果为空则表示为空气。玻璃决定了折射率,它是光线追迹的基础。有几种玻璃名字的形式:玻璃制造商提供的名字,只是为自己镜头使用而定义的(私有玻璃),或是虚拟玻璃,它折射率和阿贝数都可以被设成变量并在优化中使用,在例子中我将使用(这里提供了一个宏,glassfit.seq可以帮助您将虚拟玻璃转换成您可以购买的实际玻璃)。折射方式(Refract Mode)决定了表面的最基本的行为,是折射或反射(双击该单元格可看到选择)。

最后一列标记为Y方向半孔径(Y Semi-Aperture)代表该表面的光学有效通光。默认为这是轴对称的,是通过程序计算出所有视场的参考光线和所有的ZOOM位置通过的光线的孔径。您可以通过以下几种方法来自定义通光:最简单的方法就是通过右键选择菜单项中的Change to …选项。您 现在可以接受默认的光学孔径,可是后面您将会学到通光、瞳孔大小及渐晕因子之间的关系。

改变并提交数据

在LDM中修改数据是很简单的,只要在非灰色的单元格中单击然后键入新的数值即可。您 也可以双击单元格来编辑整个数值(有时会显示一个可以被选择项的列表)。如果您修改错了可以使用Edit->Undo菜单来修复(要确保数据表或命令窗口是处于当前的;如果图形窗口或对话框窗口处于当前时,Undo功能是不可用的)。注意一些单元格的旁边具有一个小的符号或是浮雕状的东西时说明该单元格具有特殊的状态(如:求解、变量或是ZOOM)。

要改变任何单元格的状态(包括灰色的单元格),在其上面右键看菜单选项(如:要把求解状态变为变量状态要先取消求解状态才允许您直接改变数值,确定您确实想要这么做,因为求解放在这里可能是有原因的)。

在任何表面的数据项的右键菜单中都有一个Surface Properties项。选取该项时将会打开一个大的窗口,它可以直接访问表面的所有的属性,也包括任何没有在LDM数据表格中出现过的。我们将在后面讨论表面属性。

您也可以通过在CODE V的命令窗口中输入适当的命令来改变LDM中的数据。这需要知道可以使用的命令及它的语法(如:THI S5 2.3将改变表面5的厚度为2.3)。当您按这种方法输入命令并按下回车时,您将看到LDM数据表格中相应数据的变化或表面属性窗口的更新。

不要害怕提交

在CODE V中我们通过提交改变来将我们在用户界面(如数据表或对话框)中的数据传递给CODE V内部的镜头数据库。通常数据提交是立即进行的-当您键入或是在另外一个单元格、数据区域或窗口中单击时。除了您可以同时看到在命令窗口中的命令显示外,这和其它的程序如EXCEL很相似。

可是,在一些时候如在小数据表中的一行的需要输入几个数据才能构成一个命令(如表面属性对话框中的通光)。这时,只有一行中所有数据都被输入时数据才能被提交。

在处理一个不同类型的窗口时事情将变的一团糟。CODE V中的窗口有两种基本类型,一种是具有OK和CANCEL的,另一种则没有(典型的例子是表面属性窗口和系统数据窗口)。只要不点OK按钮,带有OK的对话框在返回时不会提交任何数据(包括CODE V中的选项中的对话框如MTF)。如果您点了CANCEL,那么事实上没有任何东西被改变。而在表面属性和系统数据窗口(和一些别的,都是跟LDM有关系的),当您在其它窗口中操作时,可以保持它们的打开状态或是点击窗口右上角的X来关闭它们。当这些窗口发生改变时会被立即提交,就像LDM数据表格一样。可是,您可以单击Commit Changes按钮来确保数据是被提交了。您可以在命令窗口中看到什么数据是被提交了,并且显示了由这一操作所产生的命令。

不要担心太多,万一您做了一个不太在意的改变,您总是可以用Undo功能来把您的改变恢复至早时的状态。当您做了一个有意义的改变时,把您的镜头保存为一个文件是个好办法(File->Save Lens As菜单)。

画图

现在您已经了解了LDM数据表格,但是正如人们常说的:一幅图片胜过上千个数字。所以您一有可能就画出该镜头的图片是个好的想法。很多问题都可以在镜头图片中比较容易地找到。这里有几个可以画出镜头的方法,包括比较灵活的VIEW选项(Display>View Lens菜单),但是现在有一个比较快捷的方法。

点击工具栏上标记为Quick 2D的图标:

clip_image008

它是一个中间有镜片和铅笔的顺着铅笔的方向有字母Q和L(将鼠标停在上面可以看到工具提示信息”Quick 2D-Labeled”)。把获得结果窗口保留作为您的工作窗口。当您做了一些改变时,点击窗口上最左上角的的执行按钮重新绘出镜头的图片。

clip_image009

在分析这个镜头之前,您最好先把它缩放到需要的焦距(EFL)。

表面操作:缩放镜头

虽然您已经在新镜头向导中设定了您所期望的F/#,和视场角,但是您需要保证这个镜头的有效焦距为6mm。有一个方法可以来确定这些,那就是显示一个一阶(近轴)属性的窗口。

1.选择Display->List Lens Data>First Order Data菜单,并把输出的窗口重新摆放和改变大小以便观察。

注意在这个窗口当中的EFL值(0.9528mm)。这和我们的应用比是不对的,而缩放镜头数据是一个常用的方法来修正这个错误。

小技巧:您可以把EFL和其它镜头的各种属性放在CODE V的工作空间最下的状态栏内。这可以让你随时监视这些属性值的变化。选择Tools->Customize 菜单进入用户定制对话框的状态栏选项卡来访问这些功能。

2.选中LDM数据管理窗口中的表面1至像面(点中表面编号然后拖至像面)。

3.选择Edit>Scale菜单来打开一个对话框(注意表面范围是从1至像面(Image))。

4.点中标记为Scale Effective Focal Length,然后在标记为Scale Value区域输入6.0。

clip_image011 clip_image013

5.点击OK 来缩放镜头。

6.点击重新计算按钮 clip_image015 来更新窗口中的First Order Data。

clip_image016

注意现在的EFL为期望的6.0mm,近轴像高(Paraxial image Height)也变成了2.99mm和(跟期望的3.0mm已经很接近了)。

7.现在更新镜头图片窗口如下:
新标题和开始:保存镜头

到现在为止,一直很好。但是在继续进行之前,你应该为你所有的工作成果做一个标记并保存。注意这是一个过期的专利它将要被优化而改变,您可以给镜头一个新的名字并保存以作为起始点。

v 选择Lens->System Data菜单并点选系统数据窗口中导航树中System  Settings。

在系统数据窗口中可以对大部分非表面相关的数据进行察看和修改。最基本的系统数据在新镜头向导中已经定义好了,但是您仍可以通过系统数据对话来察看和修改它们。

v 选取标题区域并把它修改成如:Dig Cam. VGA:start(您最多可以输入80个字符,但是不包括引用或省略字符)。跳到或点在下一个区域把数据提交给CODE V的镜头数据库。

clip_image017

v 选择File->Save Lens As菜单并键入一个像DigCamStart.len的文件名,然后点击保存。

分析起始方案

在CODE V当中有许多分析功能,但是只需要一小部分可以确定是否符合您的规格。这些结果对优化的设置也有导向作用(如果需要的话)。

Ø 一阶要求(近轴光学)(在做完焦距缩放后,详见表面操作:缩放镜头,缩放后的镜头已经有了正确的一阶(近轴)焦距和像高)

Ø 畸变(场曲和/或网格畸变)

Ø 锐度(衍射MTF,通过分析不同物距时的MTF也可以确定焦深)

Ø 渐晕/照度(透过率分析)

另外,你也可以配合快速分析功能作为参考(点列图和光线像差曲线)。我们现在将解释一下分析选项。更多的信息和评价功能将在后面的章节中覆盖。这里要针对起始点做有几件事情,起始点没有完全地符合规格要求,所以要进行可行性分析。

假设某人想最终要加工这个镜头,那么就需要实际输出。那么是不是元件太小或太大以致加工困难?在实际制作时是不是太薄或太厚?它们是不是易于装配组装?玻璃是不是实际的,贵不贵?这些都是一些基本的问题,要根据基本的镜头数据和一些知道的经验来进行比较(您可能要做一些计算或是请教设计过或是制造过相似光学系统的人)。

还有一些技术上比较复杂的可行性分析。其中之一就是公差分析,我们将在后面介绍。这关系到如何加工制造和装配而保持其品质。另外一个就是热学分析,但不包括在此(尽管CODE V可以帮助我们观察温度改变时其性能所发生的变化)。

快速像差曲线

观察光线像差曲线对找到光线追迹数据所引起的问题很有帮助。横向的光线像差是以同一视场点发出的特殊光线与参考乐线在像面的交点之间的距离来度量。(对于完美透镜,同一视场点出来的所有光线都将是零)。这些都将作为以瞳孔为座标的函数。

您首先看到的是一个大的偏离,不同波长的光线是分开的(色差)。您也可以看到比较不同的曲线代表了像散与彗差还有其它的基本像差。经验可以告诉您这些像差产生的原因,暗示您如何来校正可能要加入额外的元件或非球面。

快速像差曲线是一个单击的版本,您只需要点击上面显示的快速像差曲线工具栏(对于一般的应用,可以选择Analysis>Diagnostics>Ray Aberration Curve菜单,选项的名字为RIM,用来对准光线)。快速版本实际上是由宏来实现的并且具有自动决定比例(它也提供一个像差的文本页,是由ANA选项产生的)。注意下面的图形只显示了经过放大变摆放后的最大视场角的快速像差曲线窗口。

clip_image019

起始点不能显示出总的像差的符号,您只能看一下比例多少并知道哪一项比较大。在这里的自动缩放比例为0.023mm,23微米。为了比较,艾利斑的直径(对于完美是衍射的点列图的大小)是2.44*波长*F/#,对于F/3.5来说大约为0.004mm.这个镜头还没有达到衍射极限(也不是希望您能够达到),但是它的像差是艾利斑大小的六倍.

小技巧:总是用图形工具中的放大和缩小工具来改变图形的显示比例.自动比例虽然可以使镜头看上去比较好看,但是比例是较大的.

快速点列图

一个点列图并不是规格所需要的一部分,但是它可以快捷并容易地给出该镜头的成像质量的图片.基本地说,就是每个视场点发出许多光线通过系统,在入瞳处形成一个方形的网格.在像面上形成一个散开的光线位置的图形,每个图形代表一个视场,用颜色编码代表各波长,给出了一个理想的彩色像差。而绘图的比例自动适合点列图的大小,所以在做任何分析时都要检查一下比例的大小。

要运行该项,单击快速点列图按钮(一般应用:Analysis>Geometrical>Spot Diagram,选项的名字叫SPOT)。对于这个镜头,所有的视场的点的大小大致相同,但是形状不同。比例条显示为.050mm,50微米。

clip_image021

小技巧:系统提供的宏spotdet.seq可以在点列图上显示一个具有一定大小的方形或圆形来表现接收器或艾利斑。在选择Tools->Macro菜单下的Sample Macros/Geometrical Analysis中选取。注意您必需输入一些需要的数据才能运行这个宏。

畸变

近轴像高是和视场角相关联的,h=f*sinθ。如果真实的像高和近轴像高不一致的话,那么就是有畸变。所以畸变是视场相关的像差,并且它经常和另外一种视场相关的像差:像散画在一起。场曲可以通过选择Analysis>Diagnostics>Field Curves菜单或是点击工具栏中的快速视场绘图按钮来显示。

畸变曲线是以视场角度为纵坐标,畸变的百分数为横坐标的。它显示了这个镜头的畸变在规格要求的4%以内。事实上它在整个视场中小于±1%,但是它在中间视场具有带状的残留畸变。

clip_image023

一个畸变网格可能会使观察畸变变的更直观。在这个案例中,您可以看到矩形的网格代表了理想(近轴)像高,而畸变网格则迭加在其之上。由于这个镜头的视场被定义为角度,所以您需要将CCD的水平和垂直的尺寸按公式h=f*tanθ换算成视场角度(我们用3mm的角落定义为最大的视场,但是在这里我们想看一下真正的视场的格式)。从规格中我们回想一下传感器的尺寸是3.55mm*4.74mm。通过公式我们可以得到最大Y角度和X角度(16.48和21.55)。

1.选择Analysis>Diagnostics>Distortion Grid菜单。

2.在X FOV Semi-field中输入21.55,在Y FOV Semi-field中输入16.48。并选择Fiducial Marks Only作为参考网格。然后点击执行(Excute)。

clip_image025

这个畸变非常小,所以您需要放大一个区域来察看,基准网格标记代表了近轴光线的位置。因此在畸变较小的看上去会有一点儿混乱。

MTF(锐度)

对于任何类型的相机,我们所关心的是它的质量如锐度或分辨率。光学设计者把这些质量与MTF或调制传递函数关联。调制能力本质上说是对比度,用1.0代表理想的对比度(完全的黑和白,没有中间灰度)。对于大的特征(低的空间频率),即使一个很差的镜头也具有好的对比度,但是对于高的空间频率(精确的细节),由于像差或衍射等使亮的地方和暗的地方混在一起了。如果您想看一下并绘出对于所有视场及全范围内的空间频率的关系,您就可以用一个非常紧凑的表格来定义一个镜头的锐度了。

1.选择Analysis>Diffraction>MTF菜单。

注意这里有一个快速MTF按钮,但是我们想要详细的空间频率,而快速版本并不支持。

2.在Frequecy/Calculation(频率/计算)选项卡,输入68作为最大频率(Maximum frequency)和17作为频率增量(Increment in frequency)。

注意当您改变了选项卡中的一个值时,一个红色的星号*(叫做改变指示器)会出现在该选项卡标题的旁边。

3.在图形选项卡(Graphics)中输入68作为最大绘图频率(Maximum Plot frequency),然后点OK。

回想一下CCD阵列具有的最大分辨频率大约为67LP/mm,结合17和68(4*17)可以使这个分析工作做的更好。

clip_image027

小技巧:您可以用画线或文本工具在任何窗口中添加注释来帮助您读懂或解释图形。添加到图形上的东西会在重绘时消失,但是如果您想将注释的图形保存下来,您可以选择File>Save Windows As菜单。

clip_image029

它显示了这个起始方案具有一个很好的MTF特性,所有视场的所有方位角的高频的锐度均达到了要求(MTF会随着不同的方向的改变而改变,通常只有两个互相垂直的方向的MTF被计算,就是径向和切向(TS))。

在MTF0.25处的水平线是通过使用直线工具手工绘上去的。注意我们还没有考核景深,就是需要镜头在物距为750mm时的MTF规格和现在的“INFINITY”时的MTF一样好,我们将在第三章里讨论,在优化中被覆盖。

渐晕与照明

规格中要求在视场的角落里的相对照度最小为60%(系统数据里的全视场)。这包含了渐晕的影响(离轴光线在通过光学表面时被光阑面以外的其它表的通光所拦掉)和角度的影响(余弦四次方定律是众所周知的相对照度与角度的关系)。本程序将建立瞳孔大小(或F/#),表面通光,还有所谓的渐晕因子这间的关系。

系统处理这些是比较灵活的,但是稍复杂的将在第十章中更详细的解释。这里是比较简明的。渐晕因子决定了参考的光束,又因此决定了缺省的通光。这些也决定了参与MTF或其它的计算所用的光束。您可以直接改变渐晕因子来扩展或缩小离轴的光束,因而缺省的通光也被随之调整。在这个专利中,Y全视场的上渐晕和下渐晕分别为0.21和0.11。那么是怎样处理相对照度的呢?

这里有两种途径可以查看,其中一个已经做好了。

点击您在上一节里建立的MTF输出窗口的TEXT选项页,滚到输出表中的最后一个视场(0.0,26.5度)。

clip_image031

注意在每个视场的表格排列的MTF数据以外还有另外的附加信息。在这里尤其是相对照度很有用,它是58.4%,只是比规格要求的60%低了一点(注意(cos26.5**4=0.64)。您可以试着摆弄一下渐晕因子(在系统数据窗口的视场/渐晕页)看一看是不是能提高这个值,但是由于这个和规格比较接近了,所以您也可以放下渐晕,看是不是能在优化的过程中提高它。

另外一个可以查看照度的地方是Transmission Analysis选项(Analysis>system 菜单),那里可以提供更详细的照度信息,可以包括镀膜产生的影响或者更多。CODE V假设每个表面都镀了1/4λ的减反膜,除非您删除这些镀膜或是用自己定义的膜层。

可行性分析

考虑到您只是根据一些要求来找了一个老的专利,然后把它缩放了一下,这个镜头看上去很不错了。您是不是已经完成了呢?考虑一下元件的大小和厚度吧。虽然制作和装配非常小的镜头元件是可能的,但是这些元件实在是太小了。

原始的专利可能出于专利的目的(它可能是一个比较大的镜头,如35MM相机,对于这个视场角,有43mm的焦距)而被缩放成了焦距单位1mm。在EFL=6时,中间的元间外径为1.5而厚度只有0.126—126微米(在43mm时,这个元件有0.9mm厚)。为了给您一个视觉是的印像下面是大概实际比例的图形:

clip_image033

为了使其可以被处理加工,您需要合理的中心厚度和边缘厚度,或许中心厚度为0.9mm,边缘厚度为0.8mm。这意味着尽管这个设计看上去不错了,但是您的任务还是没有完成。您需要利用约束优化(自动设计或AUTO选项)来重新设计这个镜头以使它达到所有的要求。

这里有一个实际性的问题,就是玻璃的选择。在专利中的三个虚拟玻璃都具有高的折射率(1.786,1.717,1.835)。太高或太低的折射率(如 >1.65或<1.45)比中间范围折射率玻璃要贵许多。您可以利用glassfit.seq宏来将这些玻璃转换成实际接近的等价玻璃(选择Tools>Macro菜单,然后运行glassfit.seq,可以在Sample Macros/Material Information中找到)。这个宏在命令窗口中运行时是交互的(问答形式)。选择SCHOTT玻璃然后自动替代,您将得到以下结果:

clip_image035

注意只有SF1是首选的(普通)玻璃,而NLASF41是查询的(特种)。LAFN28列出了价格为$315/磅($693/Kg),是最普能的玻璃BK7的19倍。这些对于一个低成本的数码相机来说不是最好的选择,尽管这些元件都很小(注意您可以用COST选项来计算玻璃的重量和估价;选择Analysis>Fabrication Support>Cost Analysis菜单)。当然我们可以想到试着约束玻璃使其在低的折射率和便宜的玻璃图区域。这个在AUTO里面可以做到。

总结

ü 现将本章您所学到的东西罗列如下:

ü 解释了一个数码相机镜头的设计规格

ü 用新镜头向导在过期的专利数据库中找一个合适的起始解

ü 为了应用缩放镜头

ü 通过分析起始解来决定优化的策略

如果您还没有保存您的工作,现在应该做一下。它可以在这个向导的随后的章节中用到。选择File>Save Lens As菜单并给文件起一个名字如DigCamStart.len。在下一章我们将用这个起始解来优化并使它达到可以接受的光学性能还有可加工性。

关于优化

目的

优化的目的是在一定的物理的或其它的条件约束下产生一个可能达到的最好的光学系统。这里的“最好”是以对误差函数而言的,它把像差数据合成一个数字,我们尝试把这个数字变的尽可能的小。CODE V的已经预定义好了误差函数结构,可是您可以方便地加入各种控制或权重并可以随意地修改。它也可以使用一个完全的自定义的误差函数,可是这个比较难事实上很少需要这么做。

方法规则

CODE V的优化功能称为自动设计,AUTO为缩略词。AUTO使用最小阻尼二乘法来改变变量的值以改善系统。约束对寻找最适合解确定了边界条件。当需要的时候AUTO引入Lagrangian(拉格朗日)乘数来引入约束。当误差函数本身不包括需要的约束的时候这允许强制约束,通常很快就会有结果,在约束的范围求解区域内收敛而得到一个最合适的解。

默认

AUTO里面缺省的值使您不用过多的关注或注意误差函数的构成细节并且最小限度的输入要求。同时具有很多光学控制、权重控制、约束等,这使得当您需要进行不平常的设计或是调整设计时具有极大的灵活性。

AUTO过程

虽然您可以把AUTO作为一个黑匣子,通过它您可以得到结果,但是您可能对它的一些内在的轮廓流程感兴趣。下面的图表显示了一个设计流程,包括了AUTO处理的部分。当我们做一个例子问题的时候,各种各样的置的意义将变的明确。

在线帮助CODE V Reference Manual的第三章对自动设计选项作了比较详细地描述。其中”Discussion of Input and Computations”(P352)一节对了解AUTO是怎样工作具有特殊的价值。

clip_image037 clip_image039

局部VS.全局

如果您把误差函数比作一个有多维空间的山和山谷,那么目标就是找到可能是最低的山谷。在局优化中,您只能找到距您的起始解最近的山谷。而全局优化会离开起始解向更深层去寻找最深的山谷或是全局的最优解。CODE V的全局优化功能GS,是一个极好的全局优化器,事实上可以从任何起始点产生多种结果。

游戏规则

看上去这一章会有很多步骤,但是这里真的只有一点外加一些说明性的文字。为了使您可见一斑,这里是优化这个镜头的游戏规则的轮廓。这几个步骤都是在AUTO选项的对话框中完成的(Optimization菜单),除了定义变量是在LDM中完成以外。分析检查需要在MTF和FILED选项中完成。

  • 把所有曲率半径、厚度和玻璃都设为变量,然后保存。
  • 确保所有的玻璃元件都有足够的中心厚度(一般约束General Constrain)。
  • 确保所有的玻璃的折射率都不要太高(同上)
  • 把当前的EFL=6加入约束(特殊约束Specific Constrains)
  • 在每一次循环都绘出镜头图(输出控制Output Control)
  • 使用默认的点列图(Transverse ray aberration)误差函数,但是追迹更多的光线网格(Error Function Definitions and Controls)
  • 通过重复先前的评价(点击上一章里面窗口的更新按钮,主要是VIEW,MTF和视场选项)
  • 修改AUTO设置,来优化结果(Error Function Weights)

现在让我们进入细节!

变量

定义变量

当优化您的镜头时,您需要告诉CODE V哪些量是自由的可以变化的。变量是在LDM中定义的,并且当您保存镜头时也会跟着被保存。决定变量变不总是很容易的事情,但是对于共轴系统通常是所有玻璃表面的曲率半径(但是不可以是像面,因为您通常想要的是一个平的胶片或接收器),所有的空气间隔还有玻璃元件的厚度(为了允许程序保持镜片的好的边缘厚度则不要对曲率进行太多的限制),玻璃通常也被设为变量(折射率和色散)。这就需要CODE V中的一个特殊的变量“虚拟玻璃”,因为玻璃库中的玻璃的属性是固定的没法被直接改变。

使用LDM

变量是在LDM中定义的。默认时所有的量在开始的状态都是固定的。要将一个曲率半径或厚度设为变量,将光标移到LDM窗口里的相应的项目上右键单击,从快捷菜单中选取Vary。这个参数的旁边将显示出一个小的V,指示它是一个变量。如果您的变量设置错了,在参数上右键选取快捷菜单上的Freeze来移除V。您也可以同时选中多个不同类型的参数值,然后从右键菜单中选取Vary即可。

如果这个镜头还没有打开,那么您需要打开在上一章中所建立的6mm,F/3.5数码相机镜头。

1.选择File>Open菜单,找到您在上一章中所创建的数码相机镜头文件(DigCamStart.len或者是您所命名的别的名字),然后OK。

如果您从File菜保存了一个镜头文件然后再打开,那么在保存时的任何分析窗口在重新打开时也将被恢复。注意如果您是从命令行用RES( Restore)命令打开的话,这些将不会发生。在这里,这个镜头被恢复时其它的窗口并没有发生变化。

2.在LDM数据表窗口中选中表面1至6的Y Radius.

3.在选中区域内的任何单元格中右键并选取Vary,如下:

clip_image041

4.厚度也执行同样的操作(选中表面1至表面5的厚度并设为变量,然后单独选取像面厚度并把它设为变量;不要包含表面6,否则会把PIM求解去掉)。

在后面将显示设置完所有变量后的LDM窗口,现在我们来讨论一下虚拟玻璃。

虚拟玻璃

把玻璃变量时可能要包括额外的步骤,因为玻璃的折射率和色散均可以被设为变量。为了使其能在AUTO中作为变量来使用,必需把一个材料变成虚拟玻璃。如果是要把一个玻璃库中的玻璃作为变量它将会被变成等价的虚拟玻璃(一个最终的设计里被优化的虚拟玻璃要被和它比较接近的真实玻璃所替代, glassfit.seq宏可以帮助我们将虚拟玻璃变成实际玻璃)。虚拟玻璃有一个特殊的格式。对于一个玻璃折射率为1.62阿贝数为60.3,,则虚拟玻璃的名字为620.603(前面说过这是假想玻璃),它的另外一种格式为:1.620:60.3也可以被CODE V接受,并允许n>2.0且V>100。

在这个数码相机例子里,专利中已经是虚拟玻璃了,可是它是固定的。您可能也注意到了,三个片子的折射率都比较高(从1.7到1.8),通常这也表示了是一种比较贵的玻璃。你将要将玻璃设为变量,并在AUTO中对其折射率进行约束(将在下一节介绍)。

1.将表面1的玻璃设为变量,在LDM中玻璃名称上右键选取快捷菜单上面的VARY。

V字将在玻璃名称的旁边出现,指示了它是变量了。对于一个多色(多波长)系统,我们通常将折射率和阿贝数均设为变量,缺省的设置也是这样的。但是对于玻璃还有其它的情况。

2.左键单击表面1玻璃旁边的V(或右键单击选择Couple)。

这将显示一个耦合编辑器对话框。耦合是将变量联接在一起的一种方法,但只用于玻璃变量。它也可以访问变量的折射率和色散。

3.在表面1上面的Index and Dispersion单元格中双击.

clip_image043

注意您可以单独地将折射率或色散设为变量,也可以同时。因为这是一个多波长系统,所以将折射率和色散均设为变量。色散边界是一个玻璃图中的多边形边界,它决定了允许的玻璃类型的范围。这个将在下一节当中的一般约束中讨论。

4.点Cancel。

5.对表面3和表面5执行同样的操作将其设为变量。

当您完成这些时,您将看到LDM如下所示:

6.选择File->Save lens菜单将该镜头保存为一个定义了变量的新的版本文件。

自动设计设置

现在您已经准备好做自动设计,定义一些设置将指导该镜头如何优化。

clip_image045

选择Optimization>Automatic Design菜单打开AUTO对话框。

注意:在没有结束本节之前不要点自动对话框中的OK按钮。

在您点OK来运行AUTO之前需要对几个选项页的设置进行改变。如果您错误地点了OK,不用担心,您可以使用Edit>Undo功能来把镜头恢复成刚才的状态,然后点AUTO的输出窗口中的Settings(设置)来恢复。

AUTO是一个非常强大的功能,在输入对话框中各种不同设置并分到了九个选项卡中。

clip_image047

大多数设置确定了一些参数:如特殊行为里的权重,标志等;或在优化的每一次循环结束后绘出镜头的图像。有两个类别是用来定义边界条件和约束的。

第一个边界条件类别称之为一般约束(General Constrain)。这些边界条件控制了中心厚度和玻璃图边界线以保证您的设计是现实可行的。厚度约束可以保证不会出现负的中心厚度或边缘厚度样的问题,或者元件重迭在一起。玻璃边界可以使程序不考虑本身不存在的折射率或色散。一般约束条件总是存在的,它仅对所有ZOOM中的所有表面适用。您可以设定这些值的界限,通过重新对单独的表面进行设定来指定特别的约束。

第二个边界条件的类别是特殊约束(Specific Constraints)。特殊约束可以允许您对您的需求进行更细的设置,但是您必须注意不要对系统进行重复约束,这有碍于系统的潜力的提高。

一般性约束
一般厚度约束

对于小的镜头,您必须保证元件具有足够的厚度以便于加工和处理。按照制作方面的专家的意见,在这里推荐的值是合理的,可是这种尺寸的元件的厚度可能达到0.5mm。通过一般厚度约束是一个比较好的处理方法。另外,我们注意到在上一节的专利中都是比较高折射率的玻璃。玻璃图约束可以限制被优化的玻璃是在低折射率的,便宜的玻璃区域。这里假设您已经打开了AUTO对话框:

  1. 点中一般约束选项卡。
  2. 在最小中心厚度区域输入0.9
  3. 在最小边缘厚度区域输入0.8
玻璃图约束

在AUTO中所用到的玻璃图是Nd vs. (NF-NC)。下面显示的图摘自于在线文档CODE V Reference Manual中的第三章(自动设计)。它显示了缺省的玻璃图的四个边界。注意SCHOTT对一些特殊玻璃做了一个点标记。而缺省的边界范围包含了大部分普通的合理的玻璃。要注意的是AUTO只能将变量玻璃连续地变化而不是寻找不连续的实际玻璃.您在优化之后必须将虚拟玻璃变成实际的玻璃来分析最终性能和制作的可能性(用glassfit.seq宏)。

clip_image049

玻璃图可以被3到5个实际的边约束,依次标记为A~E(它必须是一个凸的多边形;详见参考手册)。它显示SF2定义了三角形玻璃区域的一个顶点,保持最大的折射率在1.65以下(期望在优化后的结果是一个比较便宜的玻璃)。注意玻璃图边界的改变缺省时作用于所有表面,如果需要的话您也可以对每一个表面定义一个玻璃边界。

1.在AUTO对话框里的一般约束选项卡里,在位于对话框下方的玻璃图边界数据表里MAP4单元格SF4上单击然后按DEL键删除(CTRL+X)移除第四个边界。

2.单击MAP3单元格输入SF2作为三角形边界的新角点。

您的一般约束选项卡将如下所示:

clip_image051

特殊约束

当您需要定义优化的边界条件里有许多选项可以被约束。这些包括物理的和光不属性(总长,焦距,畸变,真实光线属性,近轴光线属性等)。有以下几种约束形式:包括等号,大于号和/或小于号,最小(不直接约束,但是根据目标值求最小)。您也可以只指明约束是显示(在每次循环时被计算并显示,但是不进行任何控制)。约束及约束的形式在在线文档的第三章有详细的阐述。

对大部分镜头而言,至少得有一个特殊约束来保持系统的比例。这可以是在像面上的近轴或实际光线高度,近轴光线的斜度或真实光线的方向余弦。但是最平常的是近轴有效焦距(EFL),在这里您将用到它。

1.选中AUTO对话框中的特殊约束选项卡。这个表格开始出来的时候是空的(没有缺省的特殊约束被定义)。

2.点插入特殊约束按钮(Insert Specific Constraint),位于对话框的最下面。

编辑约束对话框被显示(Edit Constraint),有效焦距(Effective Focal length)是缺省的约束(因为这是最普通的应用)。对这一项您可能只需要点OK即可,但是首先要注意的是在上方的左边您可以选择几个类别,每个类别在上方的右边都有一个单独的约束列表。有效焦距是光学定义里面的第一项。

3.在约束目标值区域点一下并输入10.0(注意这是一个错误的值;可是,这里只是一个演示,因为6才是您想要的)。

4.点击计算缺省值按钮。

注意6要重新回来了。这个按钮为评价该项约束的当前值提供了方便。您不需要保留它,但是在这里它是正确的。

clip_image053

5.点OK加入这个约束。

小技巧:当输入一个约束时,在选完约束后要保证在数据区域点一下,这样才能允许程序显示该项约束所需要的数据。如果它是基于表面的或是基于视场的约束,要保证选择了期望的表面或视场(如果是ZOOM系统的话,则是ZOOM位置)。计算缺省目标值可以显示当前约束项的值,可以帮助您确定一个好的目标。

其它特殊约束:

在许多情形,可能需要一些另外的特殊约束,但是在您没有做过一次优化测试时您并不知道是哪一项。通常要限制特殊约束的数量,在设计时这是非常重要的。对于这个镜头,您的规格要求畸变小于4%,您可以很容易地加入这条(它在光学定义类别,标记为Distortion Fraction Y;命令为DIY)。如果您加入了它,您需要选择您想控制的视场(通常是最后一个或最大的视场),并且您通常不会对多个视场进行控制。这个镜头的起始方案的畸变较小,所以您一开始的时候可以不去控制它(在Edit Constraint对话框里,你可以只显示和监视它(Display Only))。如果畸变已成为问题了,那以您可以加入它(可能是两次,表示正负界限)。

Image Clearance(后焦)是另外一个通常要约束的对象,可是一个数码相机镜头不像一些焦片相机那需要安装反射镜或棱镜的空间。数码相机里风景是从一个分离的取景器或是LCD显示屏。别的常用的约束是加工包装类,如镜头总长。

“约束:问题和解决方法”在后面有一节描述了常见问题和解决途径。

输出控制

一个镜头有许多表面,您可能想限制显示的表面数量。您可能也想看一下变量表,在这里,您可以接受默认的设置,但是看一下每次循环后镜头图可能对您会有帮助。您还需要修改一下AUTO的设置(快要结束了!)。

1.在自动设计对话框里,点输出控制选项卡(Output Control)。

2.在标记为Draw system at each cycle(每一次循环重画系统)。

clip_image055

这样做的结果是每次循环后都会在AUTO的输出窗口中多出一页。并标以评价函数的值。

误差函数定义和控制

clip_image057

在自动设计对话框中首先出现误差函数定义与控制选项卡。这里您可以定义一般的方法(如误差函数的类型,全局综合)。您可以接受缺省的误差函数类型(transverse ray aberration,本质上说是RMS点列图大小),但是对于这个例子您应该改变一下网格采样间隔的值。

1.在自动设计对话框里选Error Function Definitions and Controls选项卡。

2.在Ray Grid Control里的Ray interval中输入0.22。

保存您的设置并执行优化

只要AUTO窗口打开着,那么在自动设计对话框中的设置就会一直被CODE V保留,并允许您修改设置重新执行多次。但是为了在后面使用您的设置,您需要保存它们。这些做起来很容易,免去了后面的麻烦。

1.点自动设计对话在框中的最左下角的Option Set按钮。

2.点另存为按钮。

3.为保存的AUTO设置起一个名字然后OK。

4.点OPTION SET对话框中的CLOSE关闭对话框。

clip_image059

5.对自动设计对话框中点OK。

这将使用您在AUTO中输入的设置创建多页输出。通常驻它会运行几个循环,直到不能对该镜头提高时(在AUTO退出控制选项(EXIT CONTROL)里决定什么时候停止)。

理解自动设计的输出

当您点OK按钮时,AUTO开始运行,并且示了多页输出(TOW)和一个带有STOP按钮的控制对话框。在多页输出中总是有一个文本页面包括了大部分输出。如果您要求了每循环输出一个镜头图的话,那么您也可以看到多页绘图。您可能也可以看到一个错误页如果有警告和错误产生的话。

控制对话框显示了当前的循环是第几次和误码率差函数值。注意如果您点了STOP按钮,AUTO不会马上停止。它试着结束当前的循环交确保在停止之前镜头是正确的。

clip_image061 clip_image063

误差函数

误差函数是在AUTO运行时所产生的一个最有用的信息。这个数字代表了镜头像质的好坏,如果为零的话则代表了镜头无像差。缺省的误差函数是由光线在X,Y方向的传播像差的平方之和,近似于所有视场和ZOOM的RMS点半径的平方。缺省的几个误差函数还有波前差,乐纤耦合效率和MTF。它们对误差函数的值的解释是不同的,但是遵循越小越好的定义,零表示理想状态(几乎不可能达到)。一个用户自定义的误差函数也可以被使用。

CODE V是通光对所有的视场和ZOOM位置追迹一个光线格子计算出来的。格子的定义是假想入瞳为归一化半径,光线之间的间隔称为瞳孔光线片断间隔(命令:DEL)。有一宏是用来看指定不同DEL值时所形成的光线网格图案的(AUTOGRID.SEQ,可以在Tools>Macro菜单,Sample Macro/Optimization列表中找到)。在这里我们取DEL=0.22,其图案如下图所示。(注意当AUTO对话框或其它任何选项对话框是打开状态时,你运行不了这个宏。)

这些光线中的每条光线的X,Y传播像差是在像面上被计算的,在每次优化循环中根据这些像差的平方和的大小与权重相乘确定误差函数的值。权重是为通光位置,波长和视场(X、Y)定义的。对于误差函数的的处理细节及数学原理可以参考在线文档中的技术注解(Technical Nots)

AUTO输出的标题

现在让我们看一下AUTO的文本输出,输出开始于称为输出标题,它显示了计算时输入及缺省的使用。这些标记了使用项的命令。

clip_image065

标题所显示的命令是通过您的设置所产生的(EFL,DEL等)。那么它可能激活潜在的特殊约束,这里只有EFL。“潜在激活”表示AUTO动态地决定在每次循环时约束是否需要加入,尽可能的把变量用来调整像差。一般约束在后面列出;命令也不是太难理解(MNE最小边厚,MXT最大中心厚度等)。

小技巧:要看一个种类输入的命令,可以在自动设计对话框中点感兴趣的选项卡(如一般约束General Constrains)并按F1。这将显示出一个帮助页描述了输入和它们的CODE V命令的名字。

误差函数构成告诉您不同组件的权重,如在光线追迹网格中的DEL一样有用。收敛控制(Convergence Control)显示了退出条件(MXC最大循环次数,MNC最小循环次数,TAR误码差函数的目标值,IMP则是每一次循环所要提高的目标)。输出控制(Output Control)这里只包括镜头绘图命令(DRA)。在其后面则列出了变量的数目,这里有18个(6个半径,6个厚度,6个玻璃值,3个玻璃中每个玻璃都有两个量:折射率,色散)

小技巧:您通过在输出控制中的变量表的地方点打印循环值(Print Cycle Value)按钮,获得变量的列表。显示了每次循环后变量的值。

最后,标题文字告诉您18个可以被激活的约束,谢谢这18个变量。这上面的到此如止。事实上您希望被激活的约束越少越好,这意味着更多的“自由度”(如变量)可以被应用于提高像质。

AUTO的每次循环的输出

AUTO中的一次循环是一个粗略的迭代,误差函数和约束被显示。事实上每次循环包括几次小的循环,它们尝试不同的参数,添加约束或取消约束以使当前的配置有最大程度的提高。

clip_image067

每一次循环的开始和结尾是误差函数的值,标记为ERR.F。随后显示的是每个视场的X,Y量,您可以看到哪一个视场或方向对误码差函数的贡献较大,虽然误差函数值也包含了权重因子(如第四视场有一个大的X量,如果WTX F4的权重因子较小,它不会对误差函数有太大的贡献)。表面数据列在后面,跟随着一阶系统的属性(EFL,REDU或缩小率(即放大倍率),PIM或近轴像距,OAL或镜头总长(所有元件加起来的长度),EN/EX PUP或入瞳/出瞳距)。

最后是激活的约束表(在这部分循环里为10)。EFL和它的目标值首先被列出,当前值及和目标值之差。只给出了特殊约束,其它的约束呢?它们是一般约束,AUTO决定了在这部分循环中是否需要进行控制。GL A S1是一个玻璃边界约束(回想一下这里的玻璃边界标记为A、B、C)。Mn ET S1是表面1的最小边厚。

约束贡献

在一次循环中程序动态决定约束是否要被加入,基于拉格朗日(Largrange)乘数的值被列在COST列。什么叫做“COST”?当一个边界条件被控制了,限制了程序的求解空间(变量集的值),阻碍了误差函数减小。这个限制”COST”了误差函数可以达到的最优点的项(如果它被释放,则误差函数会变小)。

一些约束可能把别的更难约束,并且这些约束有在数量级的消耗(COST)。尽管您不能直接比较不同类型的约束项的COST,但是大的值比小的值带来的影响要大。如果您看到了非常大的值(任何正的值,如1E02),这个约束引起了一个较大的问题。你需要移除它,或是提供另外的变量来使它比较容易达到。拉格朗日乘数的值和符号和其它的程序数据被用来确定一次循环中哪一个约束需要被控制。剩下的变量(18-10或8在本次循环中)可以用来试着改善像质。

分析结果并修改权重

如果您还保留着建立镜头时的分析窗口的话,那么您只需要简单地更新这些窗口就可以看到优化的效果了。

1.找到前面分析时的MTF输出窗口。

2.用鼠标将多页输出的中的MTF图形从窗口中拖出一个原始MTF的复本(这是可以选择的,但是这个方法方便前后的比较)。

3.点MTF窗口左上角的执行(重新计算即更新)按钮,重新计算看一下新的MTF结果。

clip_image069

这处图形显示了大多数视场和方向的MTF是好的(T,R分别代表子午和弧矢,对应于Y,X),但是有一对径向(X虚线)的曲线比较低。您可以与AUTO的输出作一下比较,它们之间是比较对应的。点击AUTO输出窗口中的TEXT页,并滚到最底部。

clip_image071

注意到最大的误差函数成份是F3和F4的X方向值另外还有F3的Y方向。这些值对应的是比较低的MTF曲线。因为问题出现在部分视场的X分量,在优化过程中您可以修改AUTO的设置,增加这些位置的权重。

1. 点击AUTO输出窗口中的修改设置按钮。 clip_image073

2. 点选AUTO对话框中的Error Function Weights选项卡。

缺省的视场的权重来自于LDM数据,您在System Data窗口中的Fields/Vignetting页中可以看到都为1(Lens>System Data).作为示例:您可以试着将F3和F4的X方向权重增加为1.2。

3.选中X像差权重表格里的第一行,双击第一个单元格选中Field 3(F3)。

4.在这一行的Value区域内输入1.2。

5.点击空白行并对F4重复上面的过程。

clip_image075

6.点击OK,利用新的权重重新运行AUTO。

7.点击MTF窗口的重算按钮,重新分析。

clip_image077

现的的径向曲线(点,S)提高了,但是F3的T方向仍然很低,需要更多的权重。您可以快速地改变不同视场的X和Y方向的权重,甚至于降低具有高的MTF的轴上F1和0.4视场F2的权重。虽然您现在可以转到MTF优化了,但定义MTF优化的目标值可能比交互式地改变权重要花费更多的时间,重复AUTO和MTF。

顺便说一句,另一方向MTF也是一个非常便利的工具,因为它同时包括了每个视场的相对亮度及畸变(文本输出窗口)。当您执行MTF的时候,您可以注意到离规格的要求有多远。

最后的优化是注意事项

在一系列的试验之后,您可以找到一组合适的权重(WTX,WTY),这此允许镜头达到MTF要求并满足其它的规格要求。下面显示的是一组权重(这些是经过前面的缺省的权重修改而得到的。用UNDO功能可以回到最开始的状态)。

根据起始点和权重,您可能不能达到同样的解,但是您的解应该具有相似的水准。当您得到一个好的解时,您应该设置一个新的标题并保存这个镜头文件(选择File>Save Lens As)。

下面的图形显示了快最后得到的镜头的快速二维图,MTF和LDM中的表面数据。

clip_image079

clip_image081

要获得其它的最后分析结果,只要重新计算早前做过的分析窗口即可(如果您已经关闭了它们,那么就重新运行一次)。对于这个解,我们得到:

  • MTF在17LP时达到了规格要求,并在68LP时接近了规格要求在51LP的MTF值,给出了一定的余量。
  • 在场曲曲线中最差的畸变为-1.7%(Analysis>Diagnostics)。
  • 在全视场处的相对亮度为67.3%(从MTF选项中得到)。透过率分析(Transmission Analysis,Analysis>system)更准确,在F4时相对亮度为63.2%,仍然高于规格要求的60%。
  • 在同样的TRA报告中,在全视场时的平均透过率为88.2%,如果没有指定的话,CODE V默认为单层MGF2减反膜。如果所有的镀膜都去掉(Lens>Surface Properties,Cement/Coating页,在每个表面的镀膜去掉(NONE),透过率减小为66%。别的镀膜也可以赋予,但是您得在任可镜头说明书中检查细节要求。

事实上,在这个镜头可以被加工前还有许多事情要去处理。

关于真实玻璃

一个关键的问题是要将虚拟玻离变成真实的玻璃,这将在第二章结束时讨论。这通常还要进行一些辅助的优化,因为真实的玻璃并不能完全地与虚拟玻璃相匹配。系统提供的Glassfit.seq是非常有用的,但是您不能总是用”Fit all glasses automatically”。对于这个镜头来说,用SCHOTT玻璃库自动替代的结果是第一个面和最后一个面的材料(620.603)是NSK16,它是一个”可疑”的材料(不常用或不存在)。SK16是给出的是一个好的解,但是它是一个“首选”的材料(可用,便宜)。这显示了SCHOTT的一些中间过程,当然您也可以使用其它制造商可以提供的材料。

这里的关键点是您可以运行GLASSFIT的几种模式之一,包括为每个表面列出五种最接近的材料。这允许您选择基于其它条件的玻璃另外使折射率与色散尽可能的匹配。

关于焦深

对于这个定焦镜头的规格中的焦深这一项,我们还没有涉及到。它在0.75M到无穷远应该达到要求的MTF,但是我们只是按无穷远时设计和分析的。要评估这一项:

1.在LDM数据表窗口中,在表面6的厚度上右键(这个单元格所包含的数据是灰色的)并选取Delete Solve。

这将移除PIM求解,当我们改变物距时,不会被重新调焦。

2.将物距从无穷远变为0.75M。

3.重新计算MTF和其它的期望的分析。