跳到主要内容
Sandbox Physics

光学 055 · 干涉、相干、光腔与精密测量

Moiré 与条纹计量

粗大的条纹怎样显示出微小位移或表面形状? 两块相近的光栅叠在一起,会出现粗大的 Moiré 条带,它挪动的距离比引起它的微小位移大得多。测表面形状时,把条纹投到物体上,做相移后从相位读出高度。镜面不能这样测:要看它反射出的屏幕图案,根据每条光线来自屏上哪一点算出斜率,再积分成高度。

用 Moiré 拍纹放大微小的光栅位移。从采集到的相移条纹恢复漫反射曲面,看看展开在台阶处怎样出错,再由反射屏坐标积分出镜面轮廓。

交互模型Moiré 与条纹计量
拍纹尺度/带符号增益,或采集条纹周期 PM,Mn;pf,pcP_M,M_n;p_f,p_c0.500.50
光栅行程/拍纹行程,或记录数/照明比例 d,Δsn;N,ηd,\Delta s_n;N,\eta50%50\%
强度透射乘积,或已知样品高度检验 T12;ϵsp,ϵcfT_{12};\epsilon_{\mathrm{sp}},\epsilon_{\mathrm{cf}}0.00π0.00\pi
模型适用区间模型适用\text{模型适用}

物理教程

检验Moiré 与条纹计量的物理过程

背景不靠相干干涉,图案也能放大运动。两层透射光栅产生 T12=T1T2T_{12}=T_1T_2。宽大的拍纹来自差频项。投影法和反射法用同样的相移强度测量,记录的却是不同的几何量。

为什么值得理解粗大的条纹怎样显示出微小位移或表面形状?

先抓重点

核心问题
粗大的条纹怎样显示出微小位移或表面形状?
一句话直觉
投影光平行且已标定、沿竖直方向收集时,高度给出 Δϕ=2πhtan⁡θpf\Delta\phi=\frac{2\pi h\tan\theta}{p_f}。镜面则不同:它改变的是相机看到屏上哪一点。先恢复这个屏坐标,才能推出斜率,再积分得到高度。

核心数学模型

几何 Moiré,不是波干涉

Tj=12(1+cos⁡φj)T12=T1T2fM=f1−f2PM=1/∣fM∣\begin{aligned}T_j&=\tfrac12(1+\cos\varphi_j)\\T_{12}&=T_1T_2\\\mathbf f_M&=\mathbf f_1-\mathbf f_2\\P_M&=1/|\mathbf f_M|\end{aligned}

在接触极限下,两层的强度透射率相乘。原始乘积里有两个载频,还有它们的和频与差频。另一个解析拍纹面板只画常数加差频项,没有标成从采集数据中滤出的图。旋转改变第二层的空间频率矢量。80 乘 60 毫米的有限重叠区是从更大的上层光栅上裁出来的。装置中的间隙画得夸大了,衍射和视差都不考虑。

微小平移带来带符号的放大行程

p2=p1(1+ϵp)Mn=−1p2∣fM∣Δsn=Mnd\begin{aligned}p_2&=p_1(1+\epsilon_p)\\M_n&=-\frac{1}{p_2|\mathbf f_M|}\\\Delta s_n&=M_nd\end{aligned}

上层光栅沿自身法线平移,拍纹的移动沿差矢量的法线报告,所以增益带符号;周期失配反向时,这个法线方向本身也会翻转。两层光栅平行时,拍纹周期等于两个周期之积除以二者之差的绝对值。周期相等且不旋转时,拍纹周期不是有限值,法线也没有定义,模型不会随便把它截成一个巨大的数。上层光栅每移动一个周期,图案就重复一次。显示的行程沿连续的数学分支,不是从单张图测出的绝对位移。

四次独立曝光恢复相位

Iδ=a+bcos⁡(φ+δ)S=I3π/2−Iπ/2C=I0−Iπφ=atan2⁡(S,C)Δφw=wrap(φo−φr)\begin{aligned}I_\delta&=a+b\cos(\varphi+\delta)\\S&=I_{3\pi/2}-I_{\pi/2}\\C&=I_0-I_\pi\\\varphi&=\operatorname{atan2}(S,C)\\\Delta\varphi_w&=\mathrm{wrap}(\varphi_o-\varphi_r)\end{aligned}

双参数反正切能分辨象限。相对的两次曝光相减,就去掉了背景。样品和平面参考各在细、粗两种周期下采集,一共十六张;减去参考就去掉了载频。调制度为零的像素标为缺失,不赋相位值。方法假设几何静止、每步正好四分之一圈,并且强度是线性的。

投影几何测的是高度

q=x+htan⁡θΔφ=2πhtan⁡θpfh^=pfΔφ2πtan⁡θ\begin{aligned}q&=x+h\tan\theta\\\Delta\varphi&=\frac{2\pi h\tan\theta}{p_f}\\\widehat h&=\frac{p_f\Delta\varphi}{2\pi\tan\theta}\end{aligned}

坐标和长度以毫米计,高度向上为正。入射的图案光向右下方传播;收集光先竖直向上,再由部分反射片折转。投影角从竖直方向量起。把光线反向追到图案平面,就得到移位后的坐标。在允许的参数范围内,光滑隆起不会给自己投下阴影。不透明平台在右边缘之后投下几何阴影,这一块在重建图里始终缺失。网格曲面、光线和记录的条纹都用同一个高度。

靠邻点展开,或再采一个尺度

∣Δφadj∣<πk=round ⁣((pc/pf)φc−φf2π)φcf=φf+2πk\begin{aligned}|\Delta\varphi_{\mathrm{adj}}|&<\pi\\k&=\mathrm{round}\!\left(\frac{(p_c/p_f)\varphi_c-\varphi_f}{2\pi}\right)\\\varphi_{\mathrm{cf}}&=\varphi_f+2\pi k\end{aligned}

空间展开从已标定的平坦左边缘开始,逐点累加相邻像素的主值相位差。如果中间藏着一个看不到的大相位跳变,这个假设就失效,结果可能看着光滑却是错的。粗细法用采集到的粗相位,为每个细条纹单独选出级次,跨过台阶也行;粗周期为 512 毫米,带符号的坐标偏移必须小于半个周期。它补不了阴影造成的缺口。细周期越窄,灵敏度越高,空间展开的余量却越小。模型不模拟噪声和频率配准误差。

反射测斜率,求高度还需要边界值

Δxs=−2s(D−h)1−s2s=−tan⁡ ⁣[12arctan⁡ ⁣ΔxsD−h]h′=s,h(−40)=0\begin{aligned}\Delta x_s&=-\frac{2s(D-h)}{1-s^2}\\s&=-\tan\!\left[\tfrac12\arctan\!\frac{\Delta x_s}{D-h}\right]\\h'&=s,\quad h(-40)=0\end{aligned}

镜面是一个光滑的一维隆起,沿横向不变地延伸。把竖直的相机光线反向追踪,按真实表面法线反射,再与发光屏相交。部分反射片把向上的接收光侧向送到相机;不透明的镜面绝不让它透过。恢复出的屏偏移输入 Runge–Kutta 积分,积分只用已知的屏距和左边缘高度。预设的样品高度只用于金色对照,不参与反演。剩下的小误差来自有限采样的积分,不代表实验室精度。一般的二维斜率、未知的绝对高度和折射率场都不在模型范围内。

常见难点

形状看着合理,不等于测量正确

容易误解任何包裹的条纹相位都能还原成原来的曲面。

正确理解相位每转一圈就重复。空间连续性、额外采集的频率和标定过的几何,各自补上不同的缺失信息。没照到光的地方,数据始终缺失。和已知形状比对在模拟里有用,却不能替真实实验作证明。

动手实验

  1. 01

    场景 1:Moiré 位移放大器

    平移、旋转上层光栅,把原始乘积和单独标出的解析拍纹对比。

    你会看到: Moiré 把运动放大了,周期歧义却还在:相差整周期的位移看起来一样。
  2. 02

    场景 2:漫反射隆起/条纹投影

    把漫反射隆起升高,跟着四次相移曝光一路看到恢复出的高度。

    你会看到: 相机拍到的强度本身不是高度图,还需要标定过的相位和几何。
  3. 03

    场景 3:不透明台阶/展开失效

    切到不透明台阶,对比紫色的空间展开结果和薄荷色的粗细法结果,再看缺失的阴影区。

    你会看到: 粗条纹采集能恢复台阶处的条纹级次,但没照到光的地方,数据补不回来。
  4. 04

    场景 4:镜面隆起/偏折测量

    在偏折测量中改变屏距和样品峰高。查看光源、样品和接收面,再把恢复出的中央轮廓和单独的对照曲线比较。

    你会看到: 反射测的是方向;要积分出高度,还需要标定过的几何和边界值。
反馈这个页面有错误、看不明白,或者缺了什么?告诉我们
反馈类型

提交时会附带本页地址、Lab ID、网站语言和设备类型。请不要填写个人信息。反馈最多保存 12 个月。隐私政策