2、操作数详解(上):基本操作数、像差操作数与边界操作数

各位同学,欢迎来到操作数详解的第一部分。

说实话,Zemax 的优化函数,核心就是操作数。你设计得再好,最后都得靠这些操作数告诉软件:「我要什么」。今天咱们先啃下最常用的一批:基本操作数、像差操作数,还有那些管着结构别「跑偏」的边界操作数。

2.1 基本操作数:EFFL、TOTR、CTGT

这三个是我个人用得最频繁的「三板斧」。它们不直接管像质,但管着系统的「骨架」。

2.1.1 EFFL —— 有效焦距

EFFL 的全称是 Effective Focal Length。说白了,就是告诉你系统在像空间的有效焦距是多少。

我在设计一个 100mm 定焦镜头时,第一件事就是把 EFFL 的目标值设为 100,权重给到 1。为什么?因为焦距是系统最根本的规格,焦距不对,后面全白搭。

使用要点:
  • EFFL 计算的是近轴有效焦距,不是边缘光线焦距。
  • 如果你用 EFFL 控制焦距,记得配合 DIST 或 RAID 控制像面位置,否则系统可能「偷焦距」。
  • 权重一般设 1 即可,除非你同时有多个焦距要求。

2.1.2 TOTR —— 总光程

TOTR 是 Total Optical Track Length,从物面到像面的总光程长度。注意,是光程,不是几何长度。

嗯,这里要注意:TOTR 在非序列模式下不适用。我刚开始用的时候就在非序列里试了半天,怎么都不出数,后来才发现自己搞混了。

操作数 含义 典型应用场景
EFFL 有效焦距 定焦镜头、变焦镜头各焦段控制
TOTR 总光程 手机镜头、内窥镜等紧凑系统
CTGT 中心厚度大于 防止镜片太薄无法加工

2.1.3 CTGT —— 中心厚度大于

CTGT 是 Center Thickness Greater Than。它是个边界操作数,但我习惯把它和基本操作数放一起讲,因为太常用了。

你想想看,优化过程中镜片中心厚度可能变成 0.1mm,甚至负值。加工厂看到这种数据直接就把图纸退回来了。CTGT 就是用来设下限的。

我的习惯:
  • 玻璃镜片中心厚度下限设 1.5mm 以上。
  • 塑料镜片可以薄一些,但至少 0.8mm。
  • 胶合镜片要注意总厚度,别把胶层厚度算进去。

2.2 像差操作数:SPHA、COMA、ASTI

像差操作数是优化函数里的「质检员」。它们直接告诉你某个像差有多大。

2.2.1 SPHA —— 球差

SPHA 计算的是球差系数。在 Zemax 里,它用的是 Seidel 像差系数中的球差项。

我曾经设计过一个高数值孔径的显微物镜,球差怎么都压不下去。后来发现是 SPHA 的权重设得太低,优化器根本不在乎。把权重从 1 提到 10,两轮优化就收敛了。

避坑指南:
  • SPHA 是近轴近似,对于大孔径系统,建议同时用 RAY 操作数追迹实际光线来验证。
  • 不要只压 SPHA 而不管其他像差,否则可能换来更大的彗差或像散。
  • SPHA 的符号代表球差方向,正值表示边缘光线焦点比近轴光线更靠近透镜。

2.2.2 COMA —— 彗差

COMA 是彗差系数。彗差这东西,说白了就是轴外点成像时,光线在像面上形成一个彗星状的光斑。

我记得有一次做一款广角镜头,中心视场像质很好,但边缘视场像质一塌糊涂。打开 Seidel 图一看,COMA 值大得离谱。后来在优化函数里加了 COMA 操作数,把边缘视场的彗差压下去,整个像场就均匀多了。

2.2.3 ASTI —— 像散

ASTI 是像散系数。像散的表现是:子午方向和弧矢方向的焦点不在同一个平面上。

你想想看,如果像散很大,你拍出来的照片,水平线条清晰,垂直线条模糊,或者反过来。这在成像系统里是致命的。

! 一个典型的像差控制优化函数片段
EFFL  1 1 100        ! 控制焦距为100mm
SPHA  1 1 0.01       ! 控制球差系数小于0.01
COMA  1 1 0.005      ! 控制彗差系数小于0.005
ASTI  1 1 0.005      ! 控制像散系数小于0.005
CTGT  1 2 1.5        ! 第1面到第2面中心厚度大于1.5mm
MXCG  1 2 8.0        ! 第1面到第2面中心厚度小于8.0mm

2.3 边界操作数:MNCG、MXCG、MNCA

边界操作数不直接优化像质,但它们管着「能不能做出来」。没有它们,优化器会放飞自我。

2.3.1 MNCG —— 最小中心厚度

MNCG 是 Minimum Center Thickness Global。它和 CTGT 类似,但 MNCG 是全局约束,可以一次对所有面设定最小中心厚度。

我个人习惯用 MNCG 做全局下限,再用 CTGT 对个别敏感面做单独控制。这样既省事又精准。

2.3.2 MXCG —— 最大中心厚度

MXCG 是 Maximum Center Thickness Global。它控制中心厚度的上限。

为什么需要上限?因为镜片太厚了,一是浪费材料,二是系统总长会超标。我在设计手机镜头时,MXCG 是必加的操作数,否则优化器会把镜片越做越厚。

2.3.3 MNCA —— 最小中心空气间隔

MNCA 是 Minimum Center Air Gap。它控制镜片之间的最小空气间隔。

嗯,这个特别重要。如果没有 MNCA,两个镜片可能会「撞在一起」,甚至互相穿透。我曾经见过一个新手设计的系统,两个镜片中心厚度加起来比空气间隔还大,结果镜片「重叠」了。加工厂看到这种设计直接笑出声。

边界操作数推荐设置:
  • MNCG:玻璃 1.5mm,塑料 0.8mm
  • MXCG:根据系统总长限制,一般设 8-12mm
  • MNCA:至少 0.3mm,有装配公差要求时建议 0.5mm 以上

2.4 知识结构图

下面这张图帮你理清今天讲的操作数分类和关系:

操作数分类体系(上) 基本操作数 像差操作数 边界操作数 EFFL - 有效焦距 TOTR - 总光程 CTGT - 中心厚度大于 SPHA - 球差 COMA - 彗差 ASTI - 像散 MNCG - 最小中心厚度 MXCG - 最大中心厚度 MNCA - 最小空气间隔 核心原则 基本操作数定「骨架」,像差操作数管「像质」 边界操作数保「工艺」——三者缺一不可

2.5 实战建议

最后,分享几个我这些年积累下来的经验:

  1. 先加边界,再加像差。 我习惯先把 MNCG、MXCG、MNCA 设好,防止优化过程中结构跑飞。然后再加 EFFL 定焦距,最后加 SPHA、COMA 这些像差操作数来提升像质。
  2. 权重不要贪大。 很多人觉得权重越大越好,其实不是。权重太大,优化器会死磕这一个目标,其他指标全崩了。我一般从 1 开始,效果不明显再慢慢加。
  3. 定期检查 Seidel 图。 操作数告诉你数值,但 Seidel 图告诉你像差在整个视场和孔径上的分布。两者结合,才能做出好设计。
小技巧: 在优化函数编辑器里,可以用 Ctrl+C 和 Ctrl+V 快速复制操作数行。对于多视场、多波长的系统,这个操作能省不少时间。