You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用角谱法(ASM)模拟光学图像放大?现有实现遇畸变问题

问题分析与修正建议

核心问题定位

角谱法模拟球面波照明的菲涅耳传播时,畸变和放大失效通常源于采样匹配问题、球面波曲率与传播距离的物理关联错误,或是角谱传递函数推导遗漏了球面波的相位影响。

关键修正点

1. 球面波曲率的物理约束

你使用的球面波表达式 $u_{inp}=\exp(i\beta{(x2+y2)})$ 中,$\beta$ 不能随意调整,它与实际传播距离 $z$ 存在严格物理关联:
$$\beta = \frac{1}{\lambda z}$$
手动调整 $\beta$ 会打破采样与传播的物理匹配,直接导致畸变。正确做法是通过调整传播距离 $z$ 间接控制球面波曲率,进而实现放大。

2. 角谱传递函数的正确推导

菲涅耳衍射的角谱传递函数为:
$$H(f_x, f_y) = \exp\left(i \pi \lambda z \left(f_x^2 + f_y^2\right)\right)$$
当输入为球面波照明时,需先将输入场与球面波相乘,再计算角谱并乘以菲涅耳传递函数,避免相位叠加或抵消错误。

3. 采样与放大的匹配逻辑

测试参数中,物面尺寸 $L = N_{pixels} \times p = 200\mu m$,频域采样间隔 $\Delta f = 1/L$。传播后的空域采样间隔为 $p' = \lambda z / L$,要实现放大需满足 $p' < p$(即 $z > L^2/\lambda \approx 0.057m$,进入菲涅耳远场区域),同时需保证输出采样点数足够,避免混叠。

代码修改示例(适配你的测试参数)

import numpy as np
import matplotlib.pyplot as plt

# 参数设置
p = 1e-6       # 像素尺寸(m)
N = 200        # 像素数
lam = 700e-9   # 波长(m)
L = N * p      # 物面尺寸(m)

# 生成测试线图像
u_in = np.zeros((N, N))
u_in[:, N//2] = 1

# 定义传播距离z(通过z控制放大倍数,需大于0.057m)
z = 0.1  

# 计算空域坐标
x = np.linspace(-L/2, L/2, N)
y = np.linspace(-L/2, L/2, N)
X, Y = np.meshgrid(x, y)

# 生成符合物理约束的球面波照明
beta = 1 / (lam * z)
u_in_spherical = u_in * np.exp(1j * beta * (X**2 + Y**2))

# 计算输入场的角谱
U_in = np.fft.fftshift(np.fft.fft2(np.fft.ifftshift(u_in_spherical)))

# 计算频域坐标
fx = np.linspace(-1/(2*p), 1/(2*p), N)
fy = np.linspace(-1/(2*p), 1/(2*p), N)
Fx, Fy = np.meshgrid(fx, fy)

# 菲涅耳角谱传递函数
H = np.exp(1j * np.pi * lam * z * (Fx**2 + Fy**2))

# 计算传播后的角谱
U_out = U_in * H

# 逆傅里叶变换得到输出场
u_out = np.fft.fftshift(np.fft.ifft2(np.fft.ifftshift(U_out)))

# 可视化结果
plt.figure(figsize=(10,5))
plt.subplot(121)
plt.imshow(np.abs(u_in), cmap='gray')
plt.title('输入线图像')
plt.subplot(122)
plt.imshow(np.abs(u_out), cmap='gray')
plt.title(f'放大输出(z={z}m)')
plt.show()

额外注意事项

  • 若需精准控制放大倍数,可在传播后对输出场进行重采样,匹配目标像素尺寸,避免采样间隔过大导致的畸变。
  • 对比4F系统:4F系统的采样匹配由透镜焦距和物像距严格保证,而角谱法的采样依赖传播距离,必须严格遵循空域-频域的采样关系,否则极易出现混叠和畸变。

内容的提问来源于stack exchange,提问作者Samyak Marathe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 09:57:33