阅读本文需要的基础知识包括:PSF、点列图、复数运算、傅里叶变换)
为了帮人梳理MTF的概念,我常会出这道思考题“MTF的lp/mm是在物方空间,还是像方空间的?”这个问题出现错的答案的几率还是比较高的。答案是:像方。
为什么呢?这得从MTF的定义与计算方式讲起。
MTF的定义与算法核心可以总结为一句话:
对于非相干系统,某个视场点的PSF强度的傅里叶变化为OTF,OTF取模为MTF。由于PSF是个像方概念,显然MTF也是像方概念。符号化表达一下:MTF = abs(OTF), where OTF = FFT(PSF).
我们可以拿Zemax的案例文件举个例子:
首先来看PSF (field 2,wavelength 3, pupil sampling 128, image sampling 256),可以认为形象地认为PSF就是一座小山,数值上,就是在XY平面内每个点上有一个复振幅,他是个二维分布的概念。
根据FFT的定义我们不难想象,得出的MTF也应该是一座小山,是个二维分布的概念。如果你拿MATLAB对上述PSF做个二维FFT且取模再归一化的话,应该会看到如下的样子:
(注意abs(fft2(PSF))得出的分布应该是中间为零,四个角是峰值。为什么是这样呢?可以从FFT的定义出发容易想明白。本图对数据进行了平移,以使得峰值在图中央,便于观察。)
由于几何像差中有些只和Y方向相关,X方向上为零,所以点列/PSF在Y方向上往往拉得比较长,这也是为何子午方向的MTF往往低于弧矢方向MTF的原因。(在Zemax中,子午Tangential的定义就是Y方向,而弧矢Sagittal的定义就是X方向。)
回顾一下,MTF的定义就是PSF的FFT取模,在子午或者弧矢方向上陈列数据就好。到了这一步,应该就已经把MTF的标准算法内核说清楚了。
但我们知道在Zemax里,存在FFT MTF, Huygens MTF, Geometric MTF三种,这又是怎么回事呢?这里的三种算法,本质上是获取PSF的方式。
那为什么我们平时看到MTF曲线就是条线呢?本质上就是在这个MTF小山上取了两个方向(分别为子午和弧矢)并且把从山峰沿着这特定方向往下走的MTF数据读了出来而已。
我们知道PSF的算法有FFT和Huygens两种,后者慢但更准。这两种都可以认为是衍射算法。而Geometric MTF的意思是,认为当系统像差较大的情况下,衍射效应带来的PSF会被几何像差覆盖掉,可以认为几何光点列图就是PSF。
仔细对比一下上述点列与PSF,肉眼可见二者之间是有明显的相似性的。当像差变得更大时,相似性更加明显。左边点列图中间有个小圆圈,是表征衍射极限的艾里斑。当点列远大于艾里斑时,应该直接用Geometric算法来计算MTF,因为此时衍射算法需要极高的采样率变得极慢,而Geometric算法的速度不受像差大小影响,且有足够的精度。而当点列小于艾里斑或者差不多大时,衍射效应不可忽略,那么不可以使用Geometric MTF。
上面讲的都是单色光,那么复色光的MTF是怎么计算的呢?很简单,本来讨论的就是非相干的光学(线性)系统,直接把不同波长的PSF的强度(incoherently)叠加起来得到复色光PSF,然后再算MTF就好了。
以上就是经典的从PSF到MTF的算法了。
但MTF在算法层面上就不止一种方法。傅里叶光学告诉我们,光瞳位置上的空间位置对应了像面的频域位置。形象地说,在出瞳位置上,光瞳函数错开一定距离后,做自相关(autocorrelation)计算,得到的便是对应频率的OTF,即OTF∝P(x,y)**P'(x,y)。(相关理论如果不熟悉的话,几乎可以从任何一本物理光学或者傅里叶光学的教科书上找到。文末参考资料中提到的两本都是极好的参照。)
当光瞳错开足够远,不再有交叠的时候,对应的就是MTF的截止频率。这也很形象地解释了为什么光瞳越大,MTF的截止频率也越高的原因。而且很显然这种方式计算MTF可以直接针对某个频率进行计算,不必经过PSF > MTF这个流程,计算量会小很多。
在Zemax的评价函数里有MTF操作数MTFT、MTFS、MTFA等,这些操作数默认的计算方法就是上述的自相关法,主要就是快。所以如果偶尔算出来和FFT MTF给出的数值略有一点细微的差异,也就不必惊讶。(这些操作数有个mode flag,可以切换成经典的PSF > MTF的算法)
我们说OTF∝P(x,y)**P'(x,y),那么何时某个空间频率的MTF最高呢?先不考虑强度影响的话,显然是P(x,y)和错开一定距离的P'(x,y)在重叠区域的相位一致的时候,自相关计算可以取到最大值。因此,只要考察出瞳上的相位分布就可以获取最终MTF的大小。做系统MTF优化的时候,可以直接对波前的相位做数学处理就可以了。这便是所有MTF优化方法中计算负荷最小的一种。2018年以后的Zemax OpticStudio版本中就加入了这种优化MTF的方式,称为对比度优化(Contrast Optimization)。
到这里为止,我们梳理了光瞳函数自相关法来计算MTF,这是除了经典的PSF > MTF之外,同样广泛应用于光学设计软件的算法。
参考资料:
Zemax OpticStudio 20.1.1 用户手册
《物理光学》第4版 梁铨廷 编著
转载《年光》微信公众号