散斑在大多数人眼里是噪声,但在光纤成像里,它是信息。多模光纤(MMF)能把一束光打散成看似随机的散斑,本质上是传输过程中发生了剧烈的模式耦合、模式色散和偏振混叠,而这种混乱关系恰恰可以用一张复矩阵来描述,也就是传输矩阵。浙江大学杨青教授团队提出的 Cascaded adaptive aberration-eliminating multimode fiber 方案,最让我觉得反常识的地方是“无参考光”四个字——要知道传输矩阵是复矩阵,幅度和相位都是信息,没有参考光,相位从哪里来?这篇笔记不是论文的逐页翻译,而是我拿到标题后,按自己的理解把整条推导链路拆开重推了一遍。适合正在做计算成像、光纤内窥、散斑成像或相位恢复相关工作的朋友参考。
1. 为什么说无参考光测传输矩阵是个“反常识”的目标
1.1 传统测量为什么非要有参考光不可
我最早接触传输矩阵测量是在散射介质成像的课题里。那时候的标准做法是马赫-曾德尔干涉仪:一束光分成两路,一路经过待测样品,另一路作为参考光,两路在探测器面上干涉,形成干涉条纹。通过相移干涉法,比如四步相移,依次把参考臂相位设置为 0、π/2、π、3π/2,就能从四张干涉图中解出信号光的复振幅。
这套逻辑的核心是:一个复数由实部和虚部组成,探测器只能记录光强,光强是复振幅的模平方,相位信息丢失了。参考光的存在相当于给每个像素提供了一个已知相位的“参照系”,让丢失的相位可以被干涉条纹重新编码进强度里。去掉参考光,就相当于把所有像素的相位信息全部扔掉。
很多人第一次听到“无参考光测传输矩阵”会觉得不可能,因为信息量账面上就不够。传输矩阵里有 N 个输入模式、M 个输出模式,每个矩阵元是一个复数,需要 2MN 个实数;而一次强度测量只给 M 个实数约束,缺口非常大。所以杨青团队这个工作第一个打破的,就是“必须靠干涉补相位”这个思维定式。
1.2 无参考光背后的数学缺口
把问题写得更通用一点。输入光场记为向量 (a \in \mathbb{C}^N),输出散斑场记为 (b \in \mathbb{C}^M),传输矩阵为 (T \in \mathbb{C}^{M \times N}),则:
$$
b = T a
$$
探测器只能测强度 (|b|^2),也就是 (|T a|^2)。如果输入 (a) 已知,测到 (|T a|^2) 后,我们只知道每个输出通道的幅度 (|b_i|),不知道相位 (\arg(b_i))。这就是典型的相位恢复问题。
从信息论角度,一次强度测量给出 N 个实数约束(把 M 和 N 看作同一量级),而 (T) 有 2N² 个独立实数参数,单次测量远远不够。用 K 组不同的输入 (a_1,\dots,a_K),约束总数变成 (KN) 个,要满足:
$$
KN \ge 2N^2 \quad \Rightarrow \quad K \ge 2N
$$
虽然这个估计忽略了边界条件和噪声,但它说明了一条出路:只要输入样本数足够多,强度信息的总量是有可能撑起复传输矩阵的恢复的。关键问题从“能不能测”变成了“怎么从一堆强度图里把相位找回来”。
这个转变是整个推导框架的起点。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 传输矩阵的完整建模与反向传输矩阵的物理意义
2.1 多模光纤的传输矩阵长什么样
要推导,先要把模型定清楚。多模光纤里传输的光场可以用模式叠加来表示。取光纤的前 N 个传播模式作为基底,输入端光场可以展开为模式系数向量 (a),输出端对应系数向量 (b),传输矩阵 (T) 就是模式基底之间的线性映射。
严格来说,(T) 不是任意的复矩阵。无源无增益的光纤系统满足能量约束:
$$
|b|^2 \le |a|^2
$$
在忽略损耗的理想情况下,能量守恒,此时如果 (M=N),(T) 是一个酉矩阵:
$$
T^\dagger T = I
$$
但实际光纤有损耗和模式依赖的衰减,(T) 只能算“近似酉”,更准确地说是一个列近似正交的矩阵。这个性质在后面的正则化推导里很重要——如果 (T) 真酉,求逆非常简单;如果不是,直接求逆就会放大噪声。
还要注意,实际测量中“模式”不一定是光纤本征模。很多人用空间光调制器在入射端面上逐像素编码,再把输出端散斑逐像素采样,这时传输矩阵是“像素到像素”的离散表示。两种理解在数学上是一样的,都是复线性映射,只是基底不同,推导通用。
2.2 反向传输矩阵不是简单求逆
“反向传输矩阵”这个名字容易让人误解为直接把 (T) 求逆。实际用的时候,它指的是从输出端恢复输入端的逆映射,也就是伪逆(Moore-Penrose pseudo-inverse):
$$
T^+ = (T^\dagger T)^{-1} T^\dagger
$$
或者用奇异值分解(SVD)表示。设:
$$
T = U \Sigma V^\dagger
$$
其中 (U) 是 (M \times M) 酉矩阵,(V) 是 (N \times N) 酉矩阵,(\Sigma) 是对角阵,对角线元素是奇异值 (\sigma_1 \ge \sigma_2 \ge \dots \ge \sigma_N \ge 0)。伪逆为:
$$
T^+ = V \Sigma^+ U^\dagger
$$
(\Sigma^+) 的对角线元素在 (\sigma_r > 0) 处取 (1/\sigma_r),在 (\sigma_r = 0) 处取 0。
为什么要用伪逆?因为传输矩阵在真实系统中几乎总是秩亏或病态的。以 MMF 为例,高次模损耗大,部分模式在传输几厘米后已经衰减到噪声底以下,这些模式对应的奇异值接近零,直接求逆会把这些通道里的噪声无限放大。伪逆的意义是:在最小二乘意义下找到最接近真实输入的解,同时忽略不可信的子空间。
2.3 无参考光场景下的反问题表述
在无参考光框架里,我们面对的是两级反问题。
第一级:从强度测量 ({I_k}) 恢复复输出场 ({b_k})。这个阶段得到的是“输出端的复振幅”,但它不是一次性得到的,而是通过级联多平面强度约束逐步重建出来的。
第二级:从输入序列 ({a_k}) 和重建的输出序列 ({b_k}) 估计传输矩阵 (\hat{T}),再算 (\hat{T}^+)。这一步是线性最小二乘问题,理论上很简单:
$$
\hat{T} = \arg\min_T \sum_{k=1}^{K} | T a_k - b_k |^2
$$
但要注意,这里的 ({b_k}) 本身是上一级相位恢复的结果,它带有重建误差。所以两级误差会互相叠加,这也是为什么第一级的重建质量几乎决定了整个方法的成败。
3. 级联多平面强度约束:补足相位信息的关键一步
3.1 一个输出面的信息量为什么不够
先看最朴素的无参考光方案:只测输出端的散斑强度,然后用相位恢复算法去猜输出场的相位。这在只有一个输出面的情况下,数学上基本是无解的,原因有二。
第一,信息量不足。对单个输入 (a),输出场 (b) 有 (N) 个复振幅,也就是 (2N) 个实数未知量,而强度测量只给 (N) 个实数约束。未知量是约束量的两倍,方程组欠定。
第二,即使数据量足够,单平面相位恢复有严重的“平凡歧义”问题。如果 (b) 是某个解,那么 (b' = b \cdot e^{j\theta}) 对所有像素乘同一个常数相位,给出的强度完全一样,但相位完全不一样。在离散采样足够细的情况下还有其他更隐蔽的歧义,比如某些变换下的强度不变性。这些问题在单平面设置下难以消除。
3.2 多平面强度传播模型与约束方程
“级联”就是在光路不同位置放多个强度测量面。设一共有 L 个测量面,第 i 个面的复场为 (w_i),测得强度为 (I_i)。相邻两个测量面之间的传播线性算符记为 (U_i),也就是:
$$
w_{i+1} = U_i w_i
$$
这个 (U_i) 在自由空间里就是角谱传播算符,在光纤里可以是由模式色散决定的传播算符。如果级联的是多段光纤,那么每个传播段还可以包含一段未知的散射介质,用额外的像差屏参数表示。
于是整个系统的约束方程有两类:
$$
\left| w_i(x) \right|^2 = I_i(x), \quad i = 1, 2, \dots, L
$$
$$
w_{i+1} = U_i w_i, \quad i = 1, 2, \dots, L-1
$$
第一类是强度约束,第二类是传播一致性约束。当 L 足够大时,约束总数 (L \times N) 超过未知量总数,相位信息就被这些冗余约束“夹”出来了。这就像你站在一栋楼的多个窗口拍同一个街角,每一张照片都只有亮度,但多张照片之间的视差关系足够让你反推出街角物体的三维位置和反光特性。
3.3 交替投影迭代的推导
求解多平面相位恢复的标准算法是交替投影,也叫迭代投影(Projection onto Constraint Sets, POCS)。它把每一类约束定义成一个集合,然后在集合之间来回投影。
定义两个投影算符:
强度投影:
$$
\mathcal{P}_{I_i}(w_i) = \sqrt{I_i(x)} \cdot \frac{w_i(x)}{|w_i(x)|}
$$
这个操作的含义是:保持当前场的相位不变,把幅度替换成实测幅度的平方根。这是相位恢复里最核心的一步——用已知的强度信息去修正场的幅度。
传播投影:
$$
\mathcal{P}_{U_i}(w_i) = U_i w_i
$$
把场的分布按光传播模型推到下一个测量面。
整个迭代过程是这样的:
- 在第一个测量面给一个随机初始相位猜测,与实测幅度合成初始复场 (w_1^{(0)})。
- 正向传播:(w_2' = U_1 w_1^{(0)})。
- 在第二个面施加强度投影:(w_2^{(1)} = \mathcal{P}_{I_2}(w_2'))。
- 继续向下一面传播并施加强度投影,直到最后一个测量面。
- 反向传播回来,同样在每个面施加强度投影。
- 重复以上正向-反向过程,直到强度误差收敛。
这个过程在数学上可以看作最小化代价函数:
$$
C = \sum_{i=1}^{L} \sum_x \left[ \left| w_i(x) \right|^2 - I_i(x) \right]^2
$$
交替投影不一定保证全局最优收敛,但对多平面构型,经验上只要约束面足够多、信噪比足够高,收敛到正确解的概率非常大。实际推导时需要配合一些技巧:初始相位用随机相位可以避免对称性陷阱;迭代过程中可以给强度投影加一个松弛因子,比如混合输入输出(HIO)策略;如果某些平面强度动态范围太大,需要先做对数域归一化再做投影。
4. 自适应像差消除的数学图像
4.1 把模式耦合理解为高阶像差
“Cascaded adaptive aberration-eliminating”这个短语里,最关键的是把多模光纤对光的扰动理解为一种广义像差。在传统成像系统里,像差是透镜的相位畸变,可以用泽尼克多项式展开。但在 MMF 里,光的畸变远非线性像差——模式耦合是剧烈、随机、空间非局域的。
不过从传播算子角度看,每一段光纤的作用可以抽象为一个部分未知的线性算符。假设第 i 段传播可以写成已知传播模型与一个未知相位屏的组合:
$$
w_{i+1} = U_i \left( e^{j\phi_i(x)} w_i(x) \right)
$$
其中 $\phi_i(x)$ 代表第 i 段中未被模型覆盖的相位畸变,也就是“残余像差”。整个级联系统的任务,就是在多平面强度约束的基础上,把这些 $\phi_i$ 也一并估计出来,并在迭代中逐步消除。
这个建模方式妙的地方在于:它把“未知的传输矩阵测量问题”分解成“已知传播模型 + 有限个像差屏参数”的结构化反问题。未知参数从 $2N^2$ 个矩阵元大幅减少为若干个像差屏的相位分布,求解难度大幅下降。
4.2 级联像差模型的梯度推导
怎么估计这些像差屏?一个很自然的方案是用梯度下降。代价函数仍然是所有测量面的强度残差:
$$
C(\phi) = \sum_{i=1}^{L} \sum_x \left[ \left| w_i(x; \phi) \right|^2 - I_i(x) \right]^2
$$
其中 $w_i$ 依赖所有经过的像差屏参数。直接对 $\phi_i$ 求梯度比较复杂,因为它要通过正向传播链传递,而且我前文说过,逐点相位变化对下游强度的依赖不是简单的一阶线性关系。实际操作里更稳定的是自适应光学里常用的随机并行梯度下降(SPGD):
对每个像差屏的第 i 个自由度施加一个随机小扰动 $\delta \phi_i$,分别计算正向和负向扰动后的代价函数值 $C^+$ 和 $C^-$,然后更新:
$$
\phi_i \leftarrow \phi_i - \gamma \frac{C^+ - C^-}{2} \delta \phi_i
$$
其中 $\gamma$ 是学习率。这个方法的优点是只需要正向传播和强度误差计算,不需要反向传播解析梯度,工程上实现简单、鲁棒性好。
我把这套逻辑和传统相位恢复对比过,区别非常明显。传统交替投影里的相位是“隐变量”,只通过强度投影间接修正;而这里的像差屏是“显式参数”,通过代价函数直接优化。前者等效于把像差当作完全未知的黑盒处理,后者则把像差建模为可解释的相位屏,并主动去拟合它。这就是“adaptive”和“aberration-eliminating”两个词的数学含义。
4.3 自适应迭代与普通相位恢复的区别
普通多平面相位恢复假设传播模型完全已知,迭代里只更新场分布。自适应像差消除则多了一层自由度和一个交替步骤:在传播模型的每一次正向/反向迭代之间,插入一次像差屏更新,使得模型本身也逐步向真实系统靠近。
整个过程可以看成两层循环:
外层循环:更新每一段光纤的等效像差屏 $\phi_i$。
内层循环:在固定像差屏的情况下,用标准多平面相位恢复重建所有 $w_i$。
内外层交替进行,直到强度残差和像差屏参数都收敛。
这个处理思路在工程上很像“联合估计”,和传统散射介质成像里先标定后成像的“两步法”不同,它把标定和重建融进了一个迭代框架。好处是不需要单独拿已知目标去做标定;代价是迭代的收敛性分析更复杂,对初值更敏感。
5. 反向传输矩阵求解与正则化的完整推导
5.1 从强度重建到传输矩阵拟合
假设多平面迭代已经完成了,手里有一组输入向量 $a_k$ 和重建出的对应输出复场 $\hat{b}_k$,$k=1,2,\dots,K$。接下来的问题是:怎么从这组对应关系里估计传输矩阵。
把输入排成矩阵 (A = [a_1, a_2, \dots, a_K] \in \mathbb{C}^{N \times K}),输出排成矩阵 (B = [\hat{b}_1, \hat{b}_2, \dots, \hat{b}_K] \in \mathbb{C}^{M \times K}),则要求解:
$$
T = B A^+
$$
其中 (A^+) 是 (A) 的伪逆。如果输入采用正交完备基,比如 Hadamard 基或傅里叶基,满足 $A A^\dagger = I$,则:
$$
T = B A^\dagger
$$
这个情况最简单,每个输入模式的贡献是正交解耦的,矩阵估计误差主要来自 $\hat{b}_k$ 的重建噪声。
需要注意一个实际操作问题:输入模式数 (N) 如果达到几千甚至上万,输出端重建场 (\hat{b}_k) 的像素数也对应增长,矩阵乘法运算量不小;而且相位恢复的误差会直接进入 (B),导致估计出的 (\hat{T}) 带系统偏差。所以多平面迭代的质量直接决定了传输矩阵的精度,这一步每一步都要盯住强度残差。
5.2 病态矩阵与Tikhonov正则化
拿到 (\hat{T}) 之后,直接算它的伪逆还不够。前面说了实际光纤的传输矩阵奇异值分布是衰减的,存在大量很小的奇异值。假设输出端有噪声 (n),重建输入:
$$
a_{\text{est}} = T^+ (T a + n) = a + T^+ n
$$
用 SVD 展开 (T^+ n = V \Sigma^+ U^\dagger n),第 (r) 个分量的噪声贡献为 ((U^\dagger n)_r / \sigma_r)。当 (\sigma_r) 很小时,噪声被放大了 (1/\sigma_r) 倍,这会毁掉整个重建结果。
解决办法是 Tikhonov 正则化。目标函数改为:
$$
J(a) = | b - T a |^2 + \lambda | a |^2
$$
对 (a) 求梯度并令其为零:
$$
\nabla_a J = -2 T^\dagger (b - T a) + 2\lambda a = 0
$$
整理得:
$$
(T^\dagger T + \lambda I) a = T^\dagger b
$$
所以正则化解为:
$$
a_{\lambda} = (T^\dagger T + \lambda I)^{-1} T^\dagger b
$$
这个式子相当于把奇异值从 (1/\sigma_r) 修正为 (\sigma_r / (\sigma_r^2 + \lambda))。当 (\sigma_r \gg \sqrt{\lambda}) 时,近似等于 (1/\sigma_r),保留信息;当 (\sigma_r \ll \sqrt{\lambda}) 时,近似等于 (\sigma_r / \lambda),趋向于零而不是趋向无穷,噪声被压制。
(\lambda) 怎么选?经验法则是用 L 曲线法:以 (\lambda) 为参数,画出 (|\hat{a}|^2) 和 (|b - T\hat{a}|^2) 的关系曲线,取拐角处的 (\lambda)。或者用交叉验证法:一部分输入用来拟合,另一部分用来验证,选验证误差最小的 (\lambda)。实操中,瑞利商谱分布如果大致知道,可以按最大奇异值的 (10^{-2}) 到 (10^{-3}) 来初始化,再调。
5.3 用反向传输矩阵重建输入场的推导
最后一步是应用。拿到 (\hat{T}^+) 或正则化算子 ((T^\dagger T + \lambda I)^{-1} T^\dagger) 后,对任意输出散斑场 (b),输入端的重建场为:
$$
a_{\text{est}} = W b
$$
其中:
$$
W = (T^\dagger T + \lambda I)^{-1} T^\dagger
$$
这个算子就是整个方法要测量的“反向传输矩阵”,或者说反向传输算子的正则化版本。
在成像场景里,这个式子有两个直接用途。一个是图像重建:从 MMF 输出端的散斑强度恢复输入端的物体场。另一个是波前整形:想在输出端某个位置得到聚焦光斑,只需从反向传输矩阵里取对应列,取其共轭相位作为输入波前。这两类应用本质上都是线性逆问题,区别只是约束条件不同。
从推导角度,要特别提醒:这个 (W) 是在特定基底、特定波长、特定光纤状态下估计的。光纤的弯曲、温度变化、波长漂移都会让真实传输矩阵发生变化,导致 (W) 失效。这也是所有传输矩阵类方法最大的工程瓶颈。
6. 推导之外:仿真验证、实验前提与我的几点判断
6.1 仿真框架怎么搭
我每次推导完一个光学逆问题,都会先在仿真里跑一遍,确认信息量和算法逻辑没毛病。这个项目对应的仿真可以做得很简单:先生成一个随机复数矩阵作为 (T),生成若干输入模式,传播得到多个平面的强度图,然后丢给多平面交替投影算法重建,再算 (T) 的估计误差和反向重建误差。
关键仿真参数有四个:
| 参数 | 推荐初始值 | 说明 |
|---|---|---|
| 模式数 $N$ | 64 | 太小容易收敛,太大容易暴露病态 |
| 平面数 $L$ | 3~5 | 太少相位恢复不收敛,太多仿真变慢 |
| 信噪比 SNR | 20~30 dB | 实际探测器水平,低于 20dB 要降阶 |
| 输入样本数 $K$ | 4N | 经验值,保证约束数充足 |
仿真里最容易出现的现象是:平面数少于 3 时,交替投影怎么跑都停在局部极小;平面数到 4 以后,收敛概率显著上升。这和信息量的直觉是一致的——约束多了,解空间被压缩。
还有一个隐藏坑:随机生成的 (T) 严格说是病态的,奇异值分布平缓;真实光纤的奇异值衰减更快,所以仿真里如果只用随机矩阵,会低估正则化的必要性。建议用模式色散模型生成 (T),或者至少在随机矩阵基础上乘一个对角衰减矩阵。
6.2 实验上最容易被忽略的前提条件
推导归推导,实验里这套方案至少有四个前提,任何一个不满足都会直接翻车。
第一,光路稳定性。相位恢复类算法的共同弱点是位相漂移敏感。多平面强度图如果是在不同时间采集的,光纤中间一点的形变或温度漂移都会让前后两张图失去一致性,迭代不可能收敛。所以实验要么保证系统在采集期间高度稳定,要么在算法里加入针对漂移的校正自由度。
第二,级联面的物理实现。多平面强度测量说起来容易,做起来难。最常见方案是在多段光纤中间插入采样元件;另一类方案是使用光纤不同纵向位置的背向散射信号来构造等效强度面;还有用空间光调制器在不同深度做虚拟测量面的尝试。每一种都有自己的工程代价,不是简单把光纤截成几段就能解决的。这个点我在推导时没有深究,因为推导只依赖“存在 L 个强度测量面”这个抽象前提,但实际做实验的人必须认真选型。
第三,输入模式的正交性和完备性。输入样本集 (A) 必须满秩,最好接近正交。Hadamard 基和随机相位基都是好选择。需要避开的是只用少数几个固定输入模式组合,容易导致后面算伪逆时 (A A^\dagger) 条件数过大。
第四,偏振控制。多模光纤中偏振耦合严重,完整传输矩阵其实包含四个偏振通道。推导里如果忽略了偏振,相当于把一个 2N 维的问题压到 N 维,看似能收敛,重建结果却会带系统误差。仿真可以先忽略偏振验证算法,实验设计必须把偏振纳入考量。
6.3 这套方案适用边界的个人见解
推导完整套框架,我对“无参考光”的适用边界有了更具体的判断。它并不是在所有场景都能替代参考光方案,而是在某些场景下比参考光更有优势。
优势最明显的是那些不方便搭参考臂的场景。比如内窥式成像,光纤深入体内,外部很难同时布置一个稳定的干涉参考臂;或者对系统体积有苛刻要求的便携设备,无参考光意味着光路大幅简化。单根 MMF 直径可以做到几百微米,加上无参考光这种简化的测量结构,小型化和临床转化的想象空间很大。
代价也确实存在。多平面迭代的运算量远大于直接干涉解调,测量面的机械精度要求也很高;而且像差屏模型里每个屏的自由度数如果太多,优化会变得不稳定,如果太少又无法覆盖真实系统的复杂模式耦合。这个模型误差的折中,可能是实际工程里最难处理的部分。
我自己的判断是:这套方案在模式数 (N) 小于 1000、平面数 4~6、系统稳定性足够的环境下,实用价值很高;一旦模式数上万,纯软件相位恢复的收敛难度会急剧上升,到时候可能还是需要参考光或者部分参考信息来帮忙。这个边界不是理论极限,而是当前算法的实际水平,未来如果迭代算法和算力有突破,边界还会往后推。
推导到这里,我最大的体会是:无参考光测传输矩阵,本质上不是找到了比干涉更好的测相位方法,而是用“空间冗余”换掉了“参考光”。物理上相位信息没有凭空出现,它只是从多个测量面的相互约束里被重新榨了出来。这个思路本身,比公式推导更值得记住。
