2. 光计算基本原理

做光计算芯片的人,绕不开三个词:干涉、衍射、傅里叶光学。
说白了,它们是光计算的"数学语言"和"物理引擎"。

我在接触光计算之前,一直用电子思路做卷积——乘加、累加、移位。后来发现,光天生就会做这些操作,而且快得离谱。怎么做到的?答案就在这三个原理里。

一句话先记住:干涉做权重,衍射做卷积,傅里叶光学做频域变换。三者合在一起,就是光学卷积加速的底层逻辑。

2.1 干涉——光波的"乘法器"

两束光相遇,不是简单的亮度相加。
相位相同的地方变亮,相位相反的地方变暗。这就是干涉。

数学上很简单:

I = I₁ + I₂ + 2√(I₁I₂)·cos(Δφ)

你看,最后一项 2√(I₁I₂)·cos(Δφ) 就是"交叉项"。它把相位差 Δφ 变成了强度变化。这就是光的乘法能力——用相位控制幅度。

我记得第一次在实验室看到干涉条纹时,心里想的是——这不就是一个模拟乘法器吗?

光计算视角:干涉是权重调制的物理基础。硅光芯片里的 MZI(马赫-曾德尔干涉仪)就是靠这个原理,把输入光分成两路、调相位、再合束,实现权重值从 -1 到 +1 连续可调。

我在项目中遇到过相位漂移的问题。热光调相器刚上电时,温度还没稳定,权重值一直往下掉。后来加了一个闭环锁定电路,才把精度拉回来。嗯,做干涉调制,温度控制是必修课。

下面是一段 Python 模拟双光束干涉的代码,你可以看看干涉条纹是怎么算出来的:

import numpy as np

# 双光束干涉 — 强度分布计算
lam = 632.8e-9      # 波长 632.8 nm
d   = 1e-3          # 双缝间距 1 mm
L   = 1.0           # 观察屏距离 1 m
x   = np.linspace(-5e-3, 5e-3, 1000)  # 屏上位置

k = 2 * np.pi / lam
delta_phi = k * d * x / L       # 相位差
I = 4 * np.cos(delta_phi / 2)**2  # 归一化光强

# 找干涉亮纹位置
peaks = x[np.abs(I - 4) < 1e-6]
print(f"干涉条纹峰值位置(前5个): {peaks[:5]}")

这个代码跑出来的条纹间距是 λL/d ,和实验完全吻合。你调调 d 或者 λ,条纹密度马上变。

避坑指南:我曾经吃过一次亏——仿真时用的理想相干光,结果流片回来发现光源相干长度不够,干涉对比度只有理论值的60%。选光源时一定看相干长度,别只看功率。

2.2 衍射——光的"卷积核"

光通过一个小孔或狭缝后,不会直直地走,它会"扩散"开来。这就是衍射。

夫琅禾费衍射的数学形式长这样:

U(θ) ∝ ∫ E(x) · exp(-i·k·x·sinθ) dx

你仔细看看这个式子——它和卷积的数学形式几乎一模一样!
输入 E(x) 乘上一个相位因子,再积分。光学系统天然就在做"乘法 + 累加"。

我刚开始做光栅卷积核时,踩过一个坑:光栅的占空比没优化好,导致零级衍射太强,高级次能量不够。卷积核的"权重分布"完全偏了。后来刷了三天文献,发现占空比调到 50% 左右时,±1 级衍射效率最均衡。

光计算视角:光栅衍射的各个级次,就是卷积核的"权重系数"。你用光栅设计工具调一下槽深、周期、占空比,就能定制想要的卷积核形状。这不就是"光学卷积"吗?

衍射是实现空间卷积的天然路径。
你想想看,电子芯片做 3×3 卷积要 9 次乘加,光路里一次衍射就完成了。这就是加速的来源。


2.3 傅里叶光学——频域视角的"翻译器"

透镜为什么能做傅里叶变换?
因为光经过透镜后,每个点的相位延迟和位置呈二次关系,恰好就是傅里叶变换的核函数。

公式长这样:

F(u, v) = ∬ f(x, y) · exp[-i·2π(ux + vy)] dx dy

在光学里,透镜的前焦面放输入图像,后焦面看到的就是它的二维频谱。这就是 4f 系统——光学的频域处理平台。

我做系统集成时,最头疼的就是透镜对准。稍微偏一点,频谱就歪了,重建出来的图像全是鬼影。后来我学了一招:用 alignment 光栅做基准,先把透镜调到 Airy 斑对称,再装芯片。省了不少时间。

原理 物理本质 数学工具 光计算角色
干涉 两束光叠加,相位差→强度变化 I = I₁ + I₂ + 2√(I₁I₂)cos(Δφ) MZI 权重调制
衍射 光通过狭缝/光栅后空间扩散 U(θ) ∝ ∫ E(x)·exp(-ikxsinθ)dx 光栅卷积核
傅里叶光学 透镜实现二维傅里叶变换 F(u,v) = ∬ f·exp[-i2π(ux+vy)]dxdy 频域加速处理
核心观点:干涉和衍射是"物理层",傅里叶光学是"数学层"。物理层提供高速并行的乘加操作,数学层告诉你怎样设计这些操作才能完成卷积。两者缺一不可。

2.4 三者协同——一张图讲清楚

这三个原理不是孤立的。
在光学卷积加速芯片里,它们配合得很默契:

  • 干涉 给每个权重赋值(相位调制 → 幅度加权)
  • 衍射 把权重和输入图像"卷"在一起(空间卷积)
  • 傅里叶光学 提供频域视角,让你可以直接在频谱上做滤波

下面这张图把三者的关系画在了一起:

图2-1 光计算基本原理与卷积加速关系 光学卷积加速 干 涉 衍 射 傅里叶光学 权重调制 卷积核实现 频域处理 高效卷积输出 ← 上一章 📖 返回目录 下一章 →