计算器背后用于计算 DMD 衍射模式和光学设计效率的 MATLAB 代码利用非同轴标量衍射理论,如 Dr. James Harvey 所演示[1]。这种方法近似于更严格的电磁 (EM) 方法,并且与测量结果非常吻合。对于接近镜片尺寸的较长波长,其精度会降低,可能需要更严格的方法[1]。在设计基于 DMD 的光学系统以正确处理散射效应时,使用该模型非常重要。
用户输入关键的 DMD 和光学参数,然后将这些参数转换为傅里叶变换空间中的方向余弦。该方法通过照明锥角迭代,并从每个离散采样位置发射平面波。DMD 的行为与 2D 闪跃衍射光栅类似。当平面波与 DMD 相互作用时,会在每次的波相互作用时生成一系列衍射阶数。然后获取傅里叶变换平方的幅度,并为每个入射波存储所产生的衍射模式。模型在波长和源范围内无条理地进行积分。衍射效率根据投影透镜孔径内的分数功率计算得出。输出与输入光功率的比率被视为衍射效率。
应用程序完成每次计算后,将显示各种输出。2D 和 3D 的衍射模式与衍射效率图一起显示。将创建一个 excel 文件,其中包含整个波长光谱范围内存储的衍射效率值。显示平均衍射效率并根据明视曲线进行加权,然后将输出记录为明视衍射效率。如果用户选中“Save Diffraction Pattern Data?”复选框,则可以将衍射模式能量分布保存到 excel 文件中。