2777747J
Subscriber

谢谢回复,问题已解决。

farfield函数将监视器的分布分解为不同角度的平面波并传播至1m远,因此远场结果与监视器高度无关。

且远场相位出现位移为 mod(1m,wavelength)/wavelength*2pi ,例如波长为600nm时,其远场相位为

mod(1,6*10^7)/(6*10^7)*2pi=240°

而czt函数反算回近场时,似乎也会出现-pi/2的相位位移。

 

因此最终通过脚本计算的光场z0=0时即为坐标高度为z=0时的光场。

其相位会比直接从z=0处监视器中探测到的相位多出mod(1m,wavelength)/wavelength*2pi - pi/2

在光源相位中减去这个位移的相位,即可获得相位一致的结果