unified_cg
第24章:全息显示与计算全息
章节概要
本章探讨全息术在计算机图形学中的应用,将传统的全息记录原理与现代计算方法相结合。我们将从物理全息的基本原理出发,发展到计算机生成全息图(CGH)的算法实现,并讨论如何将全息技术集成到现代渲染管线中。通过将全息术表述为体积渲染方程的特殊形式,我们建立了与前述章节的理论联系。
学习目标
完成本章后,您将能够:
理解全息记录与重建的物理原理及其数学表述
推导计算机生成全息图的各种算法
分析空间光调制器的工作原理与限制
实现相位恢复算法解决全息重建问题
设计完整的全息渲染管线并分析其计算复杂度
24.1 全息记录与重建原理
24.1.1 全息的物理基础
全息术基于光波的干涉与衍射原理。与传统成像只记录光的强度不同,全息同时记录光波的振幅和相位信息。考虑物光波 $U_o(\mathbf{x})$ 和参考光波 $U_r(\mathbf{x})$,在记录平面上的总光场为:
\[U_{total}(\mathbf{x}) = U_o(\mathbf{x}) + U_r(\mathbf{x})\]
记录介质响应光强度 $I(\mathbf{x}) =
U_{total}(\mathbf{x})
^2$:
\[I(\mathbf{x}) = |U_o|^2 + |U_r|^2 + U_o U_r^* + U_o^* U_r\]
其中后两项包含了物光波的相位信息,这是全息记录的关键。
将复振幅写成极坐标形式 $U =
U
e^{i\phi}$,干涉项展开为:
\[U_o U_r^* + U_o^* U_r = 2|U_o||U_r|\cos(\phi_o - \phi_r)\]
这表明干涉条纹的对比度由振幅乘积决定,条纹间距由相位差梯度决定:
\[\Lambda = \frac{2\pi}{|\nabla(\phi_o - \phi_r)|}\]
对于典型的离轴全息配置,参考光与物光夹角为 $\theta$,条纹间距约为:
\[\Lambda \approx \frac{\lambda}{2\sin(\theta/2)}\]
干涉条纹的形成机理:
当物光波和参考光波在记录介质上相遇时,空间各点的相位差决定了干涉强度。对于平面参考波 $U_r = A_r \exp(i\mathbf{k}_r \cdot \mathbf{x})$ 和来自点源的球面物波:
\[U_o = \frac{A_o}{r} \exp(ikr)\]
相位差为:
\(\Delta\phi = kr - \mathbf{k}_r \cdot \mathbf{x}\)
等相位面(亮条纹位置)满足 $\Delta\phi = 2\pi m$,形成三维驻波模式。
记录介质的响应特性:
全息记录材料的响应可用透过率调制度表征:
\[T(I) = T_0 + \beta I\]
其中 $\beta$ 是材料的响应系数。对于线性记录:
\[T(\mathbf{x}) = T_0 + \beta[|U_o|^2 + |U_r|^2 + 2|U_o||U_r|\cos(\phi_o - \phi_r)]\]
非线性响应会产生高阶衍射项,影响重建质量。常见记录材料包括:
卤化银乳胶:高灵敏度,分辨率>5000线/mm
光致聚合物:实时记录,动态范围大
光折变晶体:可擦写,适合动态全息
空间频率分析:
全息图可视为物光波的空间频谱载波调制。设物光波的频谱为 $\tilde{U}o(f_x, f_y)$,参考光引入载波频率 $(f{xr}, f_{yr})$:
\[\tilde{I}(f_x, f_y) = \tilde{U}_o \otimes \tilde{U}_o^* + \delta(f_x, f_y) + \tilde{U}_o(f_x - f_{xr}, f_y - f_{yr}) + \tilde{U}_o^*(-(f_x + f_{xr}), -(f_y + f_{yr}))\]
这解释了为什么离轴配置可以空间分离不同衍射级。载波频率必须满足:
\[f_{xr} > 3f_{x,max}, \quad f_{yr} > 3f_{y,max}\]
以避免频谱重叠。
24.1.2 菲涅尔全息图
对于菲涅尔全息,参考光为球面波。设参考点源位于 $\mathbf{r}_r$,则:
\[U_r(\mathbf{x}) = \frac{A_r}{|\mathbf{x} - \mathbf{r}_r|} \exp\left(ik|\mathbf{x} - \mathbf{r}_r|\right)\]
在近轴近似下,设全息平面位于 $z = 0$,参考源位于 $(x_r, y_r, z_r)$,则:
\[|\mathbf{x} - \mathbf{r}_r| \approx z_r + \frac{(x - x_r)^2 + (y - y_r)^2}{2z_r}\]
参考光相位在全息平面上的分布为:
\[\phi_r(x, y) = k\left[z_r + \frac{(x - x_r)^2 + (y - y_r)^2}{2z_r}\right]\]
记录的全息图模式为:
\[H(\mathbf{x}) = |U_o|^2 + |U_r|^2 + 2|U_o||U_r|\cos[\phi_o(\mathbf{x}) - \phi_r(\mathbf{x})]\]
当参考光远强于物光时($
U_r
»
U_o
$),可简化为:
\[H(\mathbf{x}) \approx |U_r|^2[1 + 2\frac{|U_o|}{|U_r|}\cos(\phi_o - \phi_r)]\]
这种线性记录条件下,全息图的调制深度正比于物光振幅。
24.1.3 重建过程
用相同的参考光照明全息图,透射光场为:
\[U_{trans}(\mathbf{x}) = H(\mathbf{x}) \cdot U_r(\mathbf{x})\]
将全息图透过率函数 $H(\mathbf{x}) = T_0 + \beta I(\mathbf{x})$ 代入:
\[U_{trans} = [T_0 + \beta(|U_o|^2 + |U_r|^2 + U_o U_r^* + U_o^* U_r)]U_r\]
展开后得到多项:
\[U_{trans} = T_0 U_r + \beta(|U_o|^2 + |U_r|^2)U_r + \beta U_o |U_r|^2 + \beta U_o^* U_r^2\]
各项的物理意义和空间分布:
零级衍射:$[T_0 + \beta(
U_o
^2 +
U_r
^2)]U_r$ - 直透光,沿参考光方向传播
+1级衍射:$\beta U_o
U_r
^2$ - 虚像(原始物光波的准确重现)
-1级衍射:$\beta U_o^* U_r^2$ - 实像(共轭波,产生赝像)
虚像的形成机理:
虚像项 $U_{virtual}(\mathbf{x}) = \beta U_o(\mathbf{x}) |U_r(\mathbf{x})|^2$ 准确重现原始物光波。当 $|U_r|$ 为常数(平面参考波)时:
\[U_{virtual} \propto U_o(\mathbf{x})\]
这解释了为什么虚像保持原始物体的所有光学特性,包括深度信息和视差。
实像的共轭性质:
实像项 $U_{real}(\mathbf{x}) = \beta U_o^*(\mathbf{x}) U_r^2(\mathbf{x})$ 产生相位共轭波。对于球面波物光:
\[U_o = \frac{A_o}{r_o} \exp(ikr_o) \Rightarrow U_o^* = \frac{A_o^*}{r_o} \exp(-ikr_o)\]
共轭波向内汇聚而非向外发散,形成实像。空间位置关系:
虚像位于原物体位置 $z = z_o$(保持原始深度)
实像位于 $z = -z_o + 2z_r$(相对于参考源的镜像位置)
角度分离条件:
离轴配置使不同衍射级在角度上分离。设参考光入射角为 $\theta_r$,物光平均出射角为 $\theta_o$,则:
零级:沿 $\theta_r$ 方向
+1级:沿 $\theta_o$ 方向
-1级:沿 $2\theta_r - \theta_o$ 方向
为避免重叠,需要:
\(|\theta_o - \theta_r| > \Delta\theta_{obj} + \Delta\theta_{ref}\)
其中 $\Delta\theta$ 是光束发散角。
衍射效率分析:
对于振幅全息图,一级衍射效率定义为:
\[\eta = \frac{|U_{+1}|^2}{|U_{incident}|^2} = \frac{|\beta U_o |U_r|^2|^2}{|U_r|^2}\]
在线性记录条件下($
U_o
«
U_r
$),且透过率调制度 $m = \beta
U_o
U_r
/T_0$:
\[\eta = \left(\frac{m T_0}{2}\right)^2\]
对于理想的正弦光栅($m = 1$),当 $T_0 = 0.5$ 时:
\(\eta_{max} = \left(\frac{1 \times 0.5}{2}\right)^2 = 0.0625 = 6.25\%\)
厚全息图的耦合波分析:
对于体积全息图,使用Kogelnik的耦合波理论。定义耦合参数:
\(\nu = \frac{\pi n_1 d}{\lambda \cos\theta_B}\)
透射型相位光栅的衍射效率:
\(\eta = \sin^2(\nu) = \sin^2\left(\frac{\pi n_1 d}{\lambda \cos\theta_B}\right)\)
当 $\nu = \pi/2$ 时达到100%效率,需要:
\(n_1 d = \frac{\lambda \cos\theta_B}{2}\)
反射型相位光栅:
\(\eta = \tanh^2(\nu) = \tanh^2\left(\frac{\pi n_1 d}{\lambda \cos\theta_B}\right)\)
大耦合强度下趋向100%。这解释了为什么相位全息图比振幅全息图效率更高。
像质评估:
重建像的质量受多种因素影响,可通过系统分析量化:
记录介质的MTF(调制传递函数):
\(MTF(f) = \frac{M_{out}(f)}{M_{in}(f)} = \frac{|H(f)|}{|H(0)|}\)
其中 $M$ 是调制度,$H(f)$ 是系统传递函数。对于典型的卤化银乳胶:
\(MTF(f) \approx \exp\left(-\frac{f^2}{2f_c^2}\right)\)
截止频率 $f_c \approx 3000-5000$ 线/mm。高频衰减导致细节损失,表现为边缘模糊。
参考光的相干性要求:
时间相干性:相干长度必须大于最大光程差
\(l_c = c\tau_c = \frac{\lambda^2}{\Delta\lambda} > \Delta_{max}\)
其中 $\Delta_{max} =
r_{o,max} - r_{o,min}
+
r_{r,max} - r_{r,min}
$。
对于He-Ne激光器($\lambda = 633nm$, $\Delta\lambda \approx 0.002nm$):
\(l_c \approx \frac{(633 \times 10^{-9})^2}{0.002 \times 10^{-9}} \approx 20cm\)
空间相干性:相干宽度决定干涉条纹可见度
\(w_c = \frac{\lambda D}{s}\)
其中 $D$ 是到光源的距离,$s$ 是光源尺寸。条纹可见度:
\(V = \frac{I_{max} - I_{min}}{I_{max} + I_{min}} = |\gamma_{12}|\)
其中 $\gamma_{12}$ 是复相干度。对于扩展光源:
\(\gamma_{12} = \frac{\sin(\pi s \sin\theta/\lambda)}{\pi s \sin\theta/\lambda}\)
记录几何的像差分析:
球面参考波引入的波前像差可展开为Zernike多项式:
\(W(\rho, \theta) = \sum_{n=0}^{\infty} \sum_{m=-n}^{n} a_{nm} Z_n^m(\rho, \theta)\)
主要像差项:
离焦($n=2, m=0$):$a_{20} = \frac{\Delta z}{8(f/#)^2}$
球差($n=4, m=0$):$a_{40} = \frac{1}{48(f/#)^4}$
彗差($n=3, m=1$):$a_{31} = \frac{\theta_{off}}{8(f/#)^3}$
其中 $f/#$ 是F数,$\theta_{off}$ 是离轴角。
Strehl比评估像质:
\(S = \exp\left(-\left(\frac{2\pi\sigma_W}{\lambda}\right)^2\right)\)
其中 $\sigma_W$ 是波前误差的RMS值。$S > 0.8$ 认为是衍射极限成像。
波长选择性与角度选择性:
重建时使用不同波长 $\lambda’$ 或不同角度 $\theta’$ 会导致像质变化:
波长变化的影响:
横向放大率:根据光栅方程
\(\sin\theta_d = \sin\theta_r + \frac{\lambda'}{\Lambda}\)
其中 $\Lambda$ 是干涉条纹间距。横向放大率:
\(M_x = \frac{\lambda'}{\lambda} \cdot \frac{\cos\theta_r}{\cos\theta_d}\)
轴向位置变化:
\(z_i' = z_i \cdot \frac{\lambda}{\lambda'}\)
色差:不同波长成像在不同深度,产生色散:
\(\Delta z_{chromatic} = z_i \left(1 - \frac{\lambda_{min}}{\lambda_{max}}\right)\)
角度变化的影响:
布拉格失配:偏离布拉格角 $\Delta\theta$ 导致效率下降
\(\eta(\Delta\theta) = \eta_0 \cdot \text{sinc}^2\left(\frac{\pi d \Delta\theta}{\Lambda}\right)\)
像差引入:主要是球差和彗差
\(W_{spherical} = \frac{(\Delta\theta)^2 \rho^4}{32(f/\#)^3}\)
\(W_{coma} = \frac{\Delta\theta \cdot \rho^3 \cos\phi}{8(f/\#)^2}\)
其中 $(\rho, \phi)$ 是归一化极坐标。
补偿方法:
预畸变:记录时引入相反的畸变
\(\phi_{comp}(x,y) = -\frac{2\pi}{\lambda}\left(\frac{\lambda'}{\lambda} - 1\right)\sqrt{x^2 + y^2 + z^2}\)
动态补偿:使用SLM实时校正波前误差
数字重建方法:
除了光学重建,可通过数值计算模拟重建过程,这在数字全息显微镜中尤其重要:
\[U_{recon}(\xi, \eta) = \iint H(x,y) U_r(x,y) h(x,y;\xi,\eta) dx dy\]
其中 $h$ 是从全息平面到重建平面的传播核。根据Rayleigh-Sommerfeld衍射理论:
\[h(x,y;\xi,\eta) = \frac{1}{i\lambda} \frac{\exp(ikr)}{r} \cos\theta\]
其中 $r = \sqrt{(\xi-x)^2 + (\eta-y)^2 + z^2}$,$\cos\theta = z/r$。
频域快速算法:
利用卷积定理和FFT加速计算:
\[U_{recon} = \mathcal{F}^{-1}\{\mathcal{F}\{H \cdot U_r\} \cdot \mathcal{F}\{h\}\}\]
对于Fresnel近似,传播传递函数简化为:
\(H_z(f_x, f_y) = \exp(ikz)\exp\left[-i\pi\lambda z(f_x^2 + f_y^2)\right]\)
数字聚焦技术:
通过改变传播距离 $z$ 实现后聚焦:
\(U(x,y,z) = \mathcal{F}^{-1}\{\mathcal{F}\{U(x,y,0)\} \cdot H_z(f_x,f_y)\}\)
搜索最佳聚焦平面的判据:
强度梯度最大化:$\max_z \sum
\nabla I(x,y,z)
^2$
频谱能量集中度:$\max_z \frac{\sum f^2
\tilde{I}(f)
^2}{\sum
\tilde{I}(f)
^2}$
Tamura系数:$\max_z \frac{\sigma_I^2}{\mu_I}$
数字像差补偿:
测量或计算系统像差后,引入补偿相位:
\(U_{corrected} = U_{recon} \cdot \exp[-i\phi_{aberration}]\)
常见补偿项:
倾斜:$\phi_{tilt} = k(x\sin\theta_x + y\sin\theta_y)$
离焦:$\phi_{defocus} = \frac{k(x^2+y^2)}{2R}$
球差:$\phi_{spherical} = \frac{k(x^2+y^2)^2}{8R^3}$
24.1.4 体积全息与布拉格条件
三维光栅的形成:
对于厚全息图(厚度 $d » \Lambda$,其中 $\Lambda$ 是条纹间距),需考虑体积内的布拉格衍射。记录时,干涉图样在整个体积内形成三维强度分布:
\[I(\mathbf{r}) = |U_o(\mathbf{r}) + U_r(\mathbf{r})|^2\]
对于线性记录材料,折射率调制正比于曝光强度:
\[n(\mathbf{r}) = n_0 + n_1 \cos(\mathbf{K} \cdot \mathbf{r} + \phi_0)\]
其中光栅矢量 $\mathbf{K} = \mathbf{k}_o - \mathbf{k}_r$ 决定了光栅的周期和方向。光栅周期:
\[\Lambda = \frac{2\pi}{|\mathbf{K}|} = \frac{\lambda}{2\sin(\theta/2)}\]
其中 $\theta$ 是物光和参考光的夹角。
体积光栅的类型:
透射型光栅:$\mathbf{K} \perp$ 表面,用于透射几何
反射型光栅:$\mathbf{K} \parallel$ 表面,用于反射几何
倾斜光栅:$\mathbf{K}$ 与表面成任意角,混合特性
布拉格条件要求入射光满足动量匹配:
\[\mathbf{k}_{in} + \mathbf{K} = \mathbf{k}_{out}\]
在标量形式下,对于对称几何(入射角等于衍射角),布拉格角为:
\[2d\sin\theta_B = m\lambda/n_0\]
其中 $d = 2\pi/
\mathbf{K}
$ 是光栅周期。
耦合波理论分析:
Kogelnik的耦合波理论提供了体积光栅衍射效率的解析解。定义耦合常数:
\[\kappa = \frac{\pi n_1}{\lambda \cos\theta_B}\]
和失谐参数(偏离布拉格条件):
\[\xi = \frac{\Delta\theta \cdot K d}{2\cos\theta_B}\]
透射型相位光栅:
衍射效率为:
\(\eta = \frac{\sin^2(\sqrt{\nu^2 + \xi^2})}{1 + \xi^2/\nu^2}\)
其中 $\nu = \kappa d = \frac{\pi n_1 d}{\lambda \cos\theta_B}$。布拉格条件下($\xi = 0$):
\[\eta = \sin^2(\nu) = \sin^2\left(\frac{\pi n_1 d}{\lambda \cos\theta_B}\right)\]
最大效率100%出现在 $\nu = \pi/2$。
反射型相位光栅:
衍射效率为:
\(\eta = \frac{\sinh^2(\sqrt{s^2 - \xi^2})}{1 + s^2/\xi^2}\)
其中 $s = \kappa d$。布拉格条件下:
\[\eta = \tanh^2(s) = \tanh^2\left(\frac{\pi n_1 d}{\lambda \cos\theta_B}\right)\]
大耦合强度下趋向100%。
Q参数与光栅分类:
Klein-Cook参数区分薄光栅和厚光栅:
\[Q = \frac{2\pi\lambda d}{n_0\Lambda^2}\]
$Q < 1$:Raman-Nath衍射(薄光栅),多级衍射
$Q > 10$:Bragg衍射(厚光栅),单级衍射
$1 < Q < 10$:过渡区域
选择性分析:
角度选择性(半高全宽):
对于透射光栅:
\(\Delta\theta = \frac{\lambda\cos\theta_B}{\pi d\sin\theta_B} \approx \frac{\Lambda}{d}\)
对于反射光栅:
\(\Delta\theta = \frac{\lambda}{2d\sin\theta_B}\)
角度选择性与光栅厚度成反比,厚光栅具有更高的角度选择性。
波长选择性:
布拉格波长偏移的容忍度:
\(\Delta\lambda = \frac{\lambda^2}{2nd\sin\theta_B}\)
对于垂直入射的反射光栅:
\(\Delta\lambda = \frac{\lambda^2}{2nd}\)
温度和应力效应:
温度变化引起的波长偏移:
\(\Delta\lambda_T = \lambda \left(\alpha + \frac{1}{n}\frac{dn}{dT}\right) \Delta T\)
其中 $\alpha$ 是热膨胀系数。应力引起的双折射:
\(\Delta n = C_{ij} \sigma_{ij}\)
其中 $C_{ij}$ 是光弹系数张量。
多重全息与复用技术:
利用选择性可在同一体积内记录多个全息图:
角度复用:不同角度记录 $N$ 个全息图
\(N_{angle} \approx \frac{\theta_{range}}{\Delta\theta} = \frac{\theta_{range} \cdot d}{\Lambda}\)
波长复用:不同波长记录
\(N_{wavelength} \approx \frac{\Delta\lambda_{source}}{\Delta\lambda} = \frac{\Delta\lambda_{source} \cdot 2nd}{\lambda^2}\)
空间复用:分区记录
相位编码复用:使用正交相位码
总存储容量:
\(C = N_{angle} \times N_{wavelength} \times N_{spatial} \times \frac{A}{(\Delta x)^2}\)
其中 $A$ 是全息图面积,$\Delta x$ 是空间分辨率。
24.2 计算机生成全息图(CGH)
24.2.1 从物理到计算
计算机生成全息图通过数值计算模拟物光波的传播和干涉过程。CGH的核心优势在于:
可以生成物理上不存在的物体的全息图
精确控制光波的振幅和相位分布
无需物理干涉系统,避免了振动和相干性要求
可以引入计算优化和预补偿
从连续到离散的表示:
对于连续3D场景,物光波为:
\(U_o(\mathbf{x}) = \iiint_{V} \rho(\mathbf{r}') G(\mathbf{x}, \mathbf{r}') d\mathbf{r}'\)
其中 $\rho(\mathbf{r}’)$ 是物体的复振幅分布,$G$ 是格林函数:
\(G(\mathbf{x}, \mathbf{r}') = \frac{\exp(ik|\mathbf{x} - \mathbf{r}'|)}{4\pi|\mathbf{x} - \mathbf{r}'|}\)
离散化后,使用点采样:
\(U_o(\mathbf{x}) \approx \sum_{j=1}^N A_j \frac{\exp(ik|\mathbf{x} - \mathbf{r}_j|)}{|\mathbf{x} - \mathbf{r}_j|}\)
其中 $A_j = \rho(\mathbf{r}_j) \Delta V$ 包含了体积元素。
光波传播的数学框架:
CGH计算基于标量衍射理论。根据不同近似程度:
Rayleigh-Sommerfeld衍射(最精确):
\(U(\mathbf{x}) = \frac{1}{i\lambda} \iint_{\Sigma} U_0(\mathbf{x}') \frac{\exp(ikr)}{r} \cos(\mathbf{n}, \mathbf{r}) d\mathbf{x}'\)
Fresnel衍射(近轴近似):
\(U(x,y,z) = \frac{\exp(ikz)}{i\lambda z} \iint U_0(x',y') \exp\left[\frac{ik}{2z}[(x-x')^2 + (y-y')^2]\right] dx'dy'\)
Fraunhofer衍射(远场近似):
\(U(x,y) = \frac{\exp(ikz)\exp\left[\frac{ik(x^2+y^2)}{2z}\right]}{i\lambda z} \mathcal{F}\{U_0\}\left(\frac{x}{\lambda z}, \frac{y}{\lambda z}\right)\)
在实际计算中,需要考虑多个约束条件:
采样要求:
横向采样(Nyquist准则):
\(\Delta x < \frac{\lambda z_{min}}{2L}\)
其中 $L$ 是物体横向尺寸,$z_{min}$ 是最近物点距离。
角谱采样:为避免混叠
\(\Delta u < \frac{1}{2L}, \quad \Delta v < \frac{1}{2L}\)
其中 $(u,v) = (\sin\theta_x/\lambda, \sin\theta_y/\lambda)$ 是方向余弦。
数值孔径与带宽限制:
系统的空间带宽受限于:
\(B_{spatial} = \frac{2NA}{\lambda} = \frac{2\sin\theta_{max}}{\lambda}\)
对应的最小可分辨特征:
\(\delta_{min} = \frac{\lambda}{2NA}\)
量化与噪声分析:
相位量化:$B$位量化产生量化噪声
\(\sigma_\phi^2 = \frac{(2\pi)^2}{12 \cdot 2^{2B}}\)
振幅量化:影响动态范围
\(SNR = 20\log_{10}\left(\frac{2^B - 1}{\sigma_n}\right) \text{ dB}\)
计算精度:浮点运算误差
\(\epsilon_{total} = \epsilon_{round} + N \cdot \epsilon_{accum}\)
其中 $N$ 是累加次数。
Rayleigh-Sommerfeld衍射理论基础:
CGH计算基于标量衍射理论。第一类Rayleigh-Sommerfeld积分给出:
\[U(\mathbf{x}) = \frac{1}{i\lambda} \iint_{\Sigma} U_0(\mathbf{x}') \frac{\exp(ikr)}{r} \cos(\mathbf{n}, \mathbf{r}) d\mathbf{x}'\]
其中 $r =
\mathbf{x} - \mathbf{x}’
$,$\cos(\mathbf{n}, \mathbf{r})$ 是倾斜因子。这是CGH算法的理论基础。
带限信号的完美重建条件:
根据Whittaker-Shannon采样定理,要完美重建带限信号,采样率必须满足:
\[f_s > 2B\]
其中 $B$ 是信号带宽。对于全息图,空间带宽由物体的角谱范围决定:
\[B_x = \frac{NA_x}{\lambda}, \quad B_y = \frac{NA_y}{\lambda}\]
因此全息图的采样间隔应满足:
\[\Delta x < \frac{\lambda}{2NA_x}, \quad \Delta y < \frac{\lambda}{2NA_y}\]
复数编码策略:
由于大多数空间光调制器只能调制振幅或相位,需要编码方法表示复数值:
Kinoform(纯相位编码):
忽略振幅,只编码相位:
\(H_{kino} = \exp(i\arg[U_o])\)
效率损失:$\eta =
\langle U_o, H_{kino} \rangle
^2 / |U_o|^2$
迭代傅里叶变换算法(IFTA):
交替投影在全息平面和重建平面约束间:
全息平面:$\phi_{holo}^{(k+1)} = \arg[U_{holo}^{(k)}]$
重建平面:$U_{image}^{(k+1)} = A_{target} \exp(i\arg[U_{image}^{(k)}])$
收敛速度:$O(1/\sqrt{k})$,其中 $k$ 是迭代次数。
双相位分解:
\(A e^{i\phi} = \frac{1}{2}[e^{i\phi_1} + e^{i\phi_2}]\)
求解约束:
\(\cos(\phi_1 - \phi) = \cos(\phi - \phi_2) = A\)
得到:$\phi_1 = \phi + \arccos(A)$,$\phi_2 = \phi - \arccos(A)$
限制:要求 $0 \leq A \leq 1$。
误差扩散编码:
将量化误差扩散到邻近像素:
\(e_{i,j} = U_{target} - U_{quantized}\)
\(U_{i+1,j} \leftarrow U_{i+1,j} + \alpha e_{i,j}\)
其中 $\alpha \approx 7/16$ 为Floyd-Steinberg权重。
张量分解方法:
将复振幅矩阵分解为低秩近似:
\(\mathbf{U} \approx \sum_{r=1}^R \sigma_r \mathbf{u}_r \mathbf{v}_r^T\)
每个分量可以独立编码。
计算精度与数值稳定性:
浮点运算的有限精度影响CGH质量,需要特殊处理:
相位卷绕处理:
大传播距离时相位迅速增长:
\(\phi = kr = \frac{2\pi}{\lambda}\sqrt{(x-x')^2 + (y-y')^2 + (z-z')^2}\)
使用双精度计算或相位展开:
\(\exp(ikr) = \exp(i\phi_{wrapped}) \cdot \exp(i2\pi m)\)
其中 $\phi_{wrapped} = \mod(kr, 2\pi)$,$m = \lfloor kr/2\pi \rfloor$。
近场奇异性处理:
当 $r \to 0$ 时,使用正则化:
\(G_{reg}(r) = \begin{cases}
\frac{\exp(ikr) - 1}{ikr} + 1/\epsilon & r < \epsilon \\
\frac{\exp(ikr)}{r} & r \geq \epsilon
\end{cases}\)
其中 $\epsilon = \lambda/100$ 避免除零。
FFT数值误差分析:
舆入误差:FFT的误差传播
\(\|\text{FFT}(x + \delta x) - \text{FFT}(x)\| \leq \sqrt{N} \|\delta x\|\)
累积误差:$N$点FFT的总误差
\(\epsilon_{total} \approx \sqrt{N\log_2 N} \cdot \epsilon_{machine}\)
对于 $N = 4096^2$:
单精度:$\epsilon \approx 10^{-4}$
双精度:$\epsilon \approx 10^{-13}$
数值稳定性优化:
预条件化:归一化坐标和振幅
\(\tilde{x} = x/L, \quad \tilde{U} = U/U_{max}\)
Kahan求和:减少累加误差
sum = 0; c = 0
for j in 1:N
y = a[j] - c
t = sum + y
c = (t - sum) - y
sum = t
分块计算:避免过大数组
24.2.2 点源法(Point Source Method)
基本原理:
点源法是最直观的CGH算法,基于惠更斯-菲涅尔原理。每个物点被视为次级球面波源:
\[U_j(\mathbf{x}) = A_j \frac{\exp(ik r_j)}{r_j} \cdot K(\theta_j)\]
其中:
$r_j =
\mathbf{x} - \mathbf{r}_j
= \sqrt{(x-x_j)^2 + (y-y_j)^2 + (z-z_j)^2}$
$K(\theta)$ 是倾斜因子,有多种选择:
倾斜因子的选择:
Kirchhoff倾斜因子:
\(K_{Kirchhoff}(\theta) = \frac{1 + \cos\theta}{2}\)
Rayleigh-Sommerfeld倾斜因子:
\(K_{RS}(\theta) = \cos\theta = \frac{z}{r}\)
无倾斜因子(近轴近似):
\(K_{paraxial}(\theta) = 1\)
对于大多数应用,Rayleigh-Sommerfeld因子给出最准确的结果。
全息图计算:
对于全息平面上的每个采样点 $\mathbf{x}_i$,计算总光场:
\[U_{total}(\mathbf{x}_i) = \sum_{j=1}^N A_j \frac{\exp(ik r_{ij})}{r_{ij}} K(\theta_{ij}) + U_r(\mathbf{x}_i)\]
其中 $r_{ij} =
\mathbf{x}_i - \mathbf{r}_j
$。
干涉图样的记录:
强度全息图:
\(H_I(\mathbf{x}_i) = |U_{total}(\mathbf{x}_i)|^2\)
相位全息图(Kinoform):
\(H_\phi(\mathbf{x}_i) = \arg[U_{total}(\mathbf{x}_i)]\)
复振幅全息图:
\(H_C(\mathbf{x}_i) = U_{total}(\mathbf{x}_i)\)
计算复杂度分析:
时间复杂度:$O(MN)$
$M = M_x \times M_y$ 是全息图像素数
$N$ 是场景点数
空间复杂度:$O(M + N)$
每像素计算:
距离计算:9次乘法,6次加法,1次平方根
相位计算:1次乘法
复数运算:2次三角函数
优化策略:
查找表(LUT)加速:
预计算常用函数值:
对于 r ∈ [r_min, r_max],步长 Δr
LUT[i] = exp(ik*r[i])/r[i]
内存需求:$N_{LUT} = (r_{max} - r_{min})/\Delta r$
精度权衡:$\Delta r < \lambda/10$ 保证相位精度
GPU并行加速:
每个线程计算一个全息像素
thread(i,j):
U = 0
for each object point k:
U += A[k] * G(x[i,j], r[k])
H[i,j] = |U + U_ref|^2
加速比:$S = N_{cores} \times \eta_{occupancy}$
典型值:$S \approx 100-1000$ 对于现代GPU
分层距离计算:
根据距离分组,使用不同精度:
近场($r < 10\lambda$):完整计算
中场($10\lambda < r < 1000\lambda$):Fresnel近似
远场($r > 1000\lambda$):Fraunhofer近似
空间划分优化:
使用八叉树或k-d树:
只计算影响显著的点
剪枝条件:$
A_j
/r_j^2 < \epsilon$
复杂度降低到:$O(M\log N)$
自适应精度控制:
根据局部相位梯度调整:
\(N_{local} = \max\left(N_{min}, \frac{|\nabla\phi|}{2\pi} \cdot N_{base}\right)\)
误差分析:
离散采样误差:
由于有限采样点表示连续物体:
\(\epsilon_{sampling} = \frac{\sigma_U}{\sqrt{N}} \approx \frac{\langle|A|\rangle}{\sqrt{N}}\)
其中 $\sigma_U$ 是光场标准差。
有限孔径误差:
全息图有限尺寸导致频谱截断:
\(\epsilon_{aperture} = \int_{|f| > f_{max}} |\tilde{U}(f)|^2 df\)
对于点源,近似为:
\(\epsilon_{aperture} \approx \frac{\lambda z}{\pi D} \cdot \frac{|A|}{r}\)
其中 $D$ 是全息图孔径。
量化误差:
数字表示的有限位数:
\(\epsilon_{quant} = \frac{\Delta}{2\sqrt{3}}\)
其中 $\Delta$ 是量化步长。
总误差估计:
假设各误差源独立:
\(\epsilon_{total} = \sqrt{\epsilon_{sampling}^2 + \epsilon_{aperture}^2 + \epsilon_{quant}^2 + \epsilon_{numeric}^2}\)
信噪比分析:
\(SNR = 10\log_{10}\left(\frac{\sum|U_{signal}|^2}{\sum|U_{noise}|^2}\right)\)
典型值:
单精度计算:SNR ≈ 40-50 dB
双精度计算:SNR ≈ 80-90 dB
8位量化:SNR ≈ 48 dB
24.2.3 多边形法(Polygon-based Method)
对于多边形物体,可通过解析积分提高效率。对于三角形面片 $T$,其贡献为:
\[U_T(\mathbf{x}) = \iint_T \frac{A(\mathbf{r}')\exp(ik|\mathbf{x} - \mathbf{r}'|)}{|\mathbf{x} - \mathbf{r}'|} d\mathbf{r}'\]
对于平面三角形,可使用解析方法。设三角形顶点为 $\mathbf{v}_1, \mathbf{v}_2, \mathbf{v}_3$,使用重心坐标:
\[\mathbf{r}'(u,v) = (1-u-v)\mathbf{v}_1 + u\mathbf{v}_2 + v\mathbf{v}_3\]
积分变换为:
\[U_T(\mathbf{x}) = 2A_{triangle} \int_0^1 \int_0^{1-u} \frac{A(u,v)\exp(ikr(u,v))}{r(u,v)} dv du\]
Babinet原理优化:
对于不透明多边形,可利用Babinet原理:
\[U_{polygon} = U_{aperture} - U_{background}\]
这将复杂形状的计算转化为简单孔径的计算。
近似方法:
恒定相位近似:当多边形远小于到观察点的距离时
\(U_T \approx \frac{A_{avg} \cdot S_T \exp(ikr_c)}{r_c}\)
其中 $r_c$ 是到多边形质心的距离,$S_T$ 是面积。
Fresnel近似:在近轴条件下使用二次相位展开
\(r \approx z + \frac{(x-x')^2 + (y-y')^2}{2z}\)
24.2.4 波前记录平面法(Wavefront Recording Plane)
WRP方法通过引入中间虚拟平面,将3D问题分解为多个2D传播问题,显著减少计算量。
基本原理:
在物体附近放置多个WRP
计算物点到最近WRP的短距离传播
计算WRP到全息平面的长距离传播
算法步骤:
物体到WRP的传播(使用Rayleigh-Sommerfeld积分):
\(U_{WRP}(\mathbf{u}) = \sum_{j} A_j \frac{\exp(ik\rho_j)}{\rho_j}\)
其中 $\rho_j = |\mathbf{u} - \mathbf{r}_j|$ 是物点到WRP的距离。
WRP到全息平面的传播(使用角谱方法):
\(U_h(\mathbf{x}) = \mathcal{F}^{-1}\{\mathcal{F}\{U_{WRP}\} \cdot H(f_x, f_y)\}\)
传播传递函数:
\(H(f_x, f_y) = \exp\left(ikd\sqrt{1 - \lambda^2(f_x^2 + f_y^2)}\right)\)
对于大传播距离,可使用Fresnel近似:
\(H(f_x, f_y) \approx \exp(ikd)\exp\left(-i\pi\lambda d(f_x^2 + f_y^2)\right)\)
优化考虑:
WRP位置选择:通常放置在物体的包围盒表面
WRP分辨率:由物体细节和传播距离决定
多WRP策略:对复杂物体使用多个WRP,每个负责一部分物点
计算复杂度:
从 $O(MN)$ 降低到 $O(M\log M + KN)$,其中 $K$ 是WRP像素数,通常 $K « M$。
24.2.5 层析法(Layer-based Method)
层析法将3D场景沿深度方向切片,特别适合体积数据和半透明物体的全息计算。
基本原理:
将3D场景分解为多个深度层,每层独立计算后叠加:
\[U_o(\mathbf{x}) = \sum_{l=1}^L U_l(\mathbf{x}) * h_{z_l}(\mathbf{x})\]
其中 $h_{z_l}$ 是从深度 $z_l$ 到全息平面的传播核。
Fresnel传播核:
\(h_z(\mathbf{x}) = \frac{\exp(ikz)}{i\lambda z}\exp\left(\frac{ik|\mathbf{x}|^2}{2z}\right)\)
频域实现(更高效):
\(U_o = \sum_{l=1}^L \mathcal{F}^{-1}\{\mathcal{F}\{U_l\} \cdot H_l\}\)
其中 $H_l(f_x, f_y) = \exp(ikz_l)\exp(-i\pi\lambda z_l(f_x^2 + f_y^2))$
层间距选择:
根据采样定理,层间距应满足:
\(\Delta z \leq \frac{\lambda}{2(NA)^2}\)
其中 NA 是系统数值孔径。这确保了轴向分辨率。
优化策略:
非均匀层分布:在物体密集区域使用更多层
自适应层数:根据场景复杂度动态调整
层间插值:使用三线性插值减少所需层数
遮挡处理:
对于不透明物体,需要考虑遮挡:
\(U_l(\mathbf{x}) = A_l(\mathbf{x}) \cdot V_l(\mathbf{x})\)
其中 $V_l(\mathbf{x})$ 是可见性函数,可通过深度缓冲或光线投射计算。
计算复杂度:
$O(LM\log M)$,其中 $L$ 是层数,利用FFT加速每层的传播计算。
24.3 空间光调制器显示技术
24.3.1 SLM的工作原理
空间光调制器(SLM)是实现动态全息显示的关键器件。主要类型包括:
液晶SLM(LC-SLM):通过电场控制液晶分子取向改变折射率
数字微镜器件(DMD):通过微镜阵列的机械偏转调制光
硅基液晶(LCoS):结合液晶和CMOS技术
对于相位型SLM,其传递函数为:
\[t_{SLM}(\mathbf{x}) = \exp[i\phi_{SLM}(\mathbf{x})]\]
其中 $\phi_{SLM} \in [0, 2\pi]$ 是可控相位延迟。
液晶SLM的物理机制:
向列型液晶的双折射特性使其折射率随分子取向变化:
\[\Delta n(\theta) = n_e \cos^2\theta + n_o \sin^2\theta - n_o\]
其中 $n_e$、$n_o$ 分别是非常光和寻常光折射率,$\theta$ 是液晶分子倾角。相位延迟为:
\[\phi = \frac{2\pi d \Delta n(\theta)}{\lambda}\]
其中 $d$ 是液晶层厚度。通过施加电压 $V$ 控制倾角:
\[\theta(V) = \begin{cases}
0 & V < V_{th} \\
\arcsin\sqrt{\frac{V^2 - V_{th}^2}{V^2}} & V > V_{th}
\end{cases}\]
DMD的工作特性:
DMD由微镜阵列组成,每个微镜可在 ±12° 间切换。其调制特性:
\[t_{DMD}(x,y) = \begin{cases}
1 & \text{镜子处于 ON 状态} \\
0 & \text{镜子处于 OFF 状态}
\end{cases}\]
通过脉宽调制(PWM)实现灰度:
\[t_{avg} = \frac{t_{ON}}{t_{ON} + t_{OFF}}\]
刷新率可达 22kHz,适合时分复用全息显示。
响应时间与带宽:
液晶SLM:响应时间 ~10ms,刷新率 60-120Hz
DMD:切换时间 ~10μs,二进制帧率 >20kHz
铁电液晶:响应时间 ~100μs,适合中速应用
24.3.2 像素化效应与衍射
SLM的像素结构导致额外的衍射效应。对于像素间距 $p$,衍射角由光栅方程给出:
\[\sin\theta_m = m\frac{\lambda}{p}\]
有效视场角(FOV)受限于:
\[\text{FOV} = 2\arcsin\left(\frac{\lambda}{2p}\right)\]
像素化的傅里叶分析:
SLM可建模为理想光场与像素函数的卷积:
\[t_{pixelated}(x,y) = t_{ideal}(x,y) \otimes \text{rect}\left(\frac{x}{w}, \frac{y}{w}\right) * \text{comb}\left(\frac{x}{p}, \frac{y}{p}\right)\]
其中 $w$ 是像素宽度(填充因子 $FF = w/p$)。频域表示:
\[\tilde{t}_{pixelated}(f_x, f_y) = \tilde{t}_{ideal}(f_x, f_y) \cdot \text{sinc}(wf_x, wf_y) \otimes \text{comb}(pf_x, pf_y)\]
这产生了多个衍射级,强度分布为:
\[I_m = I_0 \cdot \text{sinc}^2\left(\frac{m\lambda w}{p}\right)\]
串扰与对比度:
相邻像素间的串扰影响调制质量:
\[\text{Crosstalk} = \frac{I_{neighbor}}{I_{pixel}} = \exp\left(-\frac{2\pi^2 g^2}{\lambda^2}\right)\]
其中 $g$ 是像素间隙。对比度定义为:
\[\text{Contrast} = \frac{I_{max} - I_{min}}{I_{max} + I_{min}}\]
典型液晶SLM对比度 >1000:1,DMD >2000:1。
24.3.3 振幅与相位调制
纯相位SLM无法直接实现复数调制。常用编码方法包括:
双相位编码:
\(A\exp(i\phi) = \frac{1}{2}[\exp(i\phi_1) + \exp(i\phi_2)]\)
其中 $\phi_1 = \phi + \arccos(A)$,$\phi_2 = \phi - \arccos(A)$
误差扩散法:
将复数值量化到最近的可实现相位值,并将误差扩散到邻近像素
超像素编码方法:
使用多个物理像素编码一个复数值:
\[U_{target} = A e^{i\phi} \approx \frac{1}{N}\sum_{n=1}^N \exp(i\phi_n)\]
优化问题:
\(\min_{\{\phi_n\}} \left|A e^{i\phi} - \frac{1}{N}\sum_{n=1}^N \exp(i\phi_n)\right|^2\)
对于 $N=4$ 的 2×2 超像素,可实现约 85% 的调制精度。
迭代量化算法:
初始化:$\phi^{(0)} = \arg[U_{target}]$
量化:$\phi_q^{(k)} = Q[\phi^{(k)}]$,其中 $Q$ 是量化函数
误差计算:$e^{(k)} = U_{target} - \exp(i\phi_q^{(k)})$
更新:$\phi^{(k+1)} = \phi^{(k)} + \alpha \cdot \arg[e^{(k)}]$
收敛后的量化噪声约为:
\(\sigma_q^2 = \frac{\Delta^2}{12}\)
其中 $\Delta = 2\pi/L$ 是量化步长,$L$ 是量化级数。
24.3.4 时分复用与空分复用
提高显示质量的复用技术:
时分复用:快速切换多个全息图
\(H_{avg} = \frac{1}{T}\sum_{t=1}^T H_t\)
空分复用:将SLM分割为多个子区域
\(H_{total}(\mathbf{x}) = \sum_{k} W_k(\mathbf{x}) H_k(\mathbf{x})\)
其中 $W_k$ 是窗函数。
时分复用的视觉积分:
人眼的时间积分特性(~50ms)允许多帧融合:
\[I_{perceived} = \frac{1}{\tau} \int_0^\tau I(t) dt\]
对于 $N$ 个二值全息图的循环显示:
\[\langle U \rangle = \frac{1}{N}\sum_{n=1}^N U_n\]
斑点噪声降低因子:$\sqrt{N}$
空间复用的优化分配:
将SLM分为 $K$ 个区域,每个区域负责不同视角或颜色:
\[\text{minimize} \sum_{k=1}^K \|U_k - U_{target,k}\|^2\]
约束条件:
区域不重叠:$W_i \cap W_j = \emptyset$,$i \neq j$
完整覆盖:$\bigcup_{k=1}^K W_k = \Omega_{SLM}$
随机相位复用:
添加随机相位减少斑点:
\[H_{random} = |H| \exp[i(\arg[H] + \phi_{random})]\]
其中 $\phi_{random} \sim \mathcal{U}[0, 2\pi]$。多次平均后斑点对比度:
\[C_{speckle} = \frac{1}{\sqrt{M}}\]
其中 $M$ 是独立随机相位的数量。
24.4 相位恢复算法
24.4.1 相位恢复问题的数学表述
相位恢复是从强度测量中重建复数光场的逆问题。给定目标强度分布 $I_{target}(\mathbf{x}) =
U_{target}(\mathbf{x})
^2$,求解相位 $\phi(\mathbf{x})$ 使得:
\[U(\mathbf{x}) = \sqrt{I_{target}(\mathbf{x})} \exp[i\phi(\mathbf{x})]\]
这是一个非凸优化问题,存在多个局部最优解。
24.4.2 Gerchberg-Saxton算法
最经典的迭代相位恢复算法:
初始化随机相位:$\phi_0(\mathbf{x}) = \text{random}[0, 2\pi]$
迭代过程:
前向传播:$U_{far}^{(k)} = \mathcal{F}{A_{near}\exp(i\phi_{near}^{(k)})}$
施加远场约束:$U_{far}^{(k+1)} = A_{far}\exp(i\arg[U_{far}^{(k)}])$
逆向传播:$U_{near}^{(k+1)} = \mathcal{F}^{-1}{U_{far}^{(k+1)}}$
施加近场约束:$\phi_{near}^{(k+1)} = \arg[U_{near}^{(k+1)}]$
收敛条件:$|A_{far} -
U_{far}^{(k)}
|_2 < \epsilon$
24.4.3 加权Gerchberg-Saxton算法
引入权重因子改善收敛性:
\[U_{far}^{(k+1)} = w \cdot A_{far}\exp(i\arg[U_{far}^{(k)}]) + (1-w) \cdot U_{far}^{(k)}\]
其中 $w \in [0,1]$ 是混合权重。
24.4.4 梯度下降法
定义损失函数:
\[L = \int ||\mathcal{F}\{A_{near}\exp(i\phi)\}|^2 - I_{far}|^2 d\mathbf{x}\]
梯度更新:
\[\phi^{(k+1)} = \phi^{(k)} - \alpha \nabla_\phi L\]
其中梯度通过自动微分或解析推导获得。
24.4.5 相位多样性方法
使用多个测量约束提高重建质量:
\[L = \sum_{j=1}^J \||\mathcal{P}_j\{U\}|^2 - I_j\|^2\]
其中 $\mathcal{P}_j$ 是不同的传播算子(如不同距离或波长)。
24.5 全息渲染管线
24.5.1 从传统渲染到全息渲染
将传统图形管线扩展到全息领域需要考虑波动性质。全息渲染管线的主要阶段:
几何处理:与传统管线相同
光波计算:将几何转换为复数光场
传播模拟:计算光波传播
全息编码:生成SLM驱动信号
24.5.2 体积渲染方程的全息形式
将体积渲染方程扩展到复数域:
\[U(\mathbf{x}) = \int_V \sigma(\mathbf{r}) A(\mathbf{r}) \frac{\exp(ik|\mathbf{x} - \mathbf{r}|)}{|\mathbf{x} - \mathbf{r}|} d\mathbf{r}\]
其中 $\sigma(\mathbf{r})$ 是体密度,$A(\mathbf{r})$ 是复振幅。这与第3章的统一体积渲染方程形式一致,但在复数域工作。
24.5.3 加速结构与优化
八叉树加速:
\(U(\mathbf{x}) = \sum_{node} U_{node}(\mathbf{x}) \cdot \mathbb{1}_{visible}(node)\)
层次细节(LOD):
根据观察距离选择不同分辨率:
\(N_{samples} = \min\left(\frac{c}{\Delta\theta \cdot d}, N_{max}\right)\)
其中 $\Delta\theta$ 是角分辨率,$d$ 是距离。
GPU并行化:
利用FFT的并行性和光波传播的独立性
24.5.4 实时全息渲染
实现实时性能的关键技术:
查找表方法:
预计算传播核:
\(H_{LUT}[i,j] = \frac{\exp(ikr_{ij})}{r_{ij}}\)
稀疏表示:
只计算显著贡献的点:
\(U(\mathbf{x}) \approx \sum_{j \in S} A_j H_{LUT}[\mathbf{x}, \mathbf{r}_j]\)
其中 $S = {j :
A_j
> \epsilon}$
时间相干性利用:
\(U_t(\mathbf{x}) = \alpha U_{t-1}(\mathbf{x}) + (1-\alpha)\Delta U_t(\mathbf{x})\)
24.5.5 质量评估指标
全息重建质量的定量评估:
信噪比(SNR):
\(\text{SNR} = 10\log_{10}\frac{\sum|U_{target}|^2}{\sum|U_{recon} - U_{target}|^2}\)
结构相似性(SSIM):
应用于强度和相位分布
斑点对比度:
\(C = \frac{\sigma_I}{\langle I \rangle}\)
衡量相干噪声水平。
本章小结
本章建立了从物理全息到计算全息的完整理论框架:
全息原理:通过干涉记录振幅和相位,通过衍射重建原始光场
CGH算法:点源法、多边形法、WRP法和层析法,各有不同的效率-质量权衡
SLM技术:理解像素化、调制限制和复用技术对显示质量的影响
相位恢复:从强度约束反演相位的迭代算法
渲染集成:将全息计算纳入统一的体积渲染框架
关键数学工具:
菲涅尔-基尔霍夫衍射积分
快速傅里叶变换(FFT)
非凸优化与相位恢复
复数域的体积渲染方程
练习题
基础题
24.1 推导菲涅尔全息图的重建过程,说明为什么会产生孪生像。
提示
考虑 $H \cdot U_r$ 展开后的四项,分析每项的物理意义。
答案
展开 $H \cdot U_r = (|U_o|^2 + |U_r|^2)U_r + U_o|U_r|^2 + U_o^*U_r^2$。第三项重现原始物光波,第四项产生共轭波(孪生像),位于参考光源的镜像位置。
24.2 给定SLM像素间距 $p = 8\mu m$,波长 $\lambda = 633nm$,计算最大衍射角和视场角。
提示
使用光栅方程和FOV公式。
答案
最大衍射角:$\theta_{max} = \arcsin(\lambda/p) = \arcsin(633×10^{-9}/8×10^{-6}) = 4.54°$。
视场角:$FOV = 2\theta_{max} = 9.08°$。
24.3 证明Gerchberg-Saxton算法每次迭代不会增加误差。
提示
考虑投影算子的性质。
答案
G-S算法在近场和远场约束集之间交替投影。投影算子是非扩张的:$\|P(x) - P(y)\| \leq \|x - y\|$。因此误差单调递减。
挑战题
24.4 设计一个自适应采样算法for CGH,根据局部相位梯度调整采样密度。
提示
相位变化率与所需采样率相关。考虑奈奎斯特采样定理。
答案
局部空间频率 $f_{local} = \frac{1}{2\pi}|\nabla\phi|$。采样间隔应满足 $\Delta x < \frac{1}{2f_{local}}$。实现四叉树结构,当 $|\nabla\phi| > \frac{\pi}{\Delta x}$ 时细分。
24.5 推导使用两个正交偏振态同时编码两个独立全息图的方法。
提示
利用偏振的正交性和琼斯矢量表示。
答案
设两个全息图为 $H_1$, $H_2$,编码为:
$\mathbf{E} = H_1\hat{\mathbf{x}} + H_2\hat{\mathbf{y}}$。
使用偏振分束器分离:$I_x = |\hat{\mathbf{x}} \cdot \mathbf{E}|^2 = |H_1|^2$,$I_y = |\hat{\mathbf{y}} \cdot \mathbf{E}|^2 = |H_2|^2$。
24.6 分析层析CGH方法中层数 $L$ 与重建质量的关系,给出最优层数的估计。
提示
考虑深度分辨率、计算复杂度和衍射效应。
答案
层间距应小于景深:$\Delta z < \frac{\lambda}{NA^2}$。对于深度范围 $D$,最优层数 $L_{opt} = \frac{D \cdot NA^2}{\lambda}$。过多层数增加计算但不改善质量,因为衍射模糊了细节。
常见陷阱与错误
混淆强度全息与相位全息
错误:认为SLM可以直接显示强度全息图
正确:需要编码方法将强度信息转换为相位调制
忽略采样要求
错误:使用不足的采样率导致混叠
正确:确保采样满足奈奎斯特准则,特别是在高NA系统中
相位恢复的初值选择
错误:总是使用随机初始相位
正确:利用先验知识(如光滑性)选择更好的初值
忽略SLM的物理限制
错误:假设理想的相位调制范围和分辨率
正确:考虑量化误差、死区和串扰效应
计算效率问题
错误:直接计算所有点对的贡献
正确:使用FFT、查找表和自适应采样
最佳实践检查清单
算法选择
根据场景特性选择CGH算法(稀疏/密集)
评估实时性要求vs质量要求
考虑可用的硬件加速(GPU/FPGA)
系统设计
匹配SLM分辨率与目标应用
优化照明光源的相干性
设计合适的光学系统(f数、视场)
质量优化
实施迭代相位恢复提高图像质量
使用多重约束减少斑点噪声
应用预补偿校正系统像差
性能优化
利用对称性减少计算
实现多分辨率/LOD策略
使用时间相干性加速动态场景
验证测试
定量评估重建质量(SNR, SSIM)
测试不同观察角度和距离
验证实时性能指标