滨松的空间光调制器(SLM)自带的软件LcosControl可以直接载入相位图,或者使用IFTA算法计算得到为生成目标全息投影所需要的相位图等功能,具有操作简便,可以直接在主屏幕的软件内部操作控制SLM等优点。但是,客户在实际使用过程中,可能会对软件有更多的功能需求,比如软件可以生成一些常见的相位图等等。为了解决这个问题,我们编写了一套功能更为全面的SLM控制软件SLMphase。下面将介绍这款软件的特色功能,以及软件常见功能的具体使用方法。
一,可以灵活的消除0级衍射光的影响
SLM的使用过程中,由于SLM表层玻璃,SLM像素间隔无法对入射的光进行相位调制,他们只能直接反射光。这些被直接反射的光就是我们平常所说的0级光。0级光斑会存在于全息投影的中心,降低调制的效果。为了消除0级光的影响,我们的SLMphase软件提供了叠加菲涅尔透镜相位或者叠加闪耀光栅的两种方法。
SLMphase可以通过叠加闪耀光栅相位或菲涅尔透镜相位来消除0级光
其中叠加菲涅尔透镜是使全息投影所在的平面在纵向Z轴移动,而0级衍射光斑由于不受到相位调制,焦平面位置不变,从而降低了光斑的影响。通过SLMphase软件,可以设置叠加菲涅尔透镜的焦距,从而调节0级光的压制效果,也可以微调全息投影的焦平面位置,辅助调节光路。
通过叠加菲尼尔透镜相位来降低0级衍射光斑的影响,左图为没有叠加,右图为有叠加
而叠加闪耀光栅可以使全息投影在x方向或者y方向发生移动,使全息投影与0级衍射光斑分离,从而消除0级衍射光斑的影响。SLMphase软件是可以设置闪耀光栅的周期,从而设置全息投影与0级衍射光斑的分离程度。
通过叠加闪耀光栅分离全息投影与0级衍射光斑,左图为没有叠加,右图为有叠加
二,根据客户需求扩展软件功能
SLMphase是基于MATLAB软件编写。MATLAB本身具有强大的数据计算,图像处理,硬件控制等功能,因此可以根据客户的需求定制编写软件工具包,比如生成特殊的SLM相位图,统一控制SLM与相机等。
生成纠正球差的相位图的工具包
三,可生成多种常见全息相位
使用SLMphase可以生成多种在实验中会经常使用到的全息相位,且每种全息相位都可以设置其具体参数。具体可以生成的相位以及其应用如下:
• 涡旋光相位:主要是用在量子通信,光学微操控等领域。
• 正弦光栅:可以用在比如结构光照明显微(SIM)等领域中。
• 闪耀光栅:相比于正弦光栅,光能量会被集中到一级的衍射上,因此主要是用于0级光衍射影响的消除,光斑位置的移动等应用。
• 菲尼尔透镜:等效于在光路上放置了一个透镜,透镜焦距参数可调。一般也是用来消除0级光。
• Axicon lens:可以用来模拟锥透镜的相位,生成贝塞尔光束。贝塞尔光束是一种非衍射光束,可以用在光学微控制,原子光学,激光加工等领域。
方块内显示可以生成的相位列表,右面是使用SLMphase软件生成拓扑l=3的涡旋光相位
四,相位图平移
在空间光调制器的实际使用过程中,为了达到理想的实验效果,需要让入射光斑的中心与SLM上全息相位图重合。通过手动调整光斑位置进行调整,精度有限,不容易达到理想的效果。而SLMphase软件可以像素为单位调节全息相位图在SLM上的位置,可以非常方便的进行优化以达到理想的全息投影图案,此外由于相位图的移动不涉及到机械的调节,震动,有利于保持整个光路的稳定性。
相位图向右和向下分别移动了100个像素
五,软件的基本使用
SLMphase软件页面十分直观,许多功能基本都可以简单的通过点击按钮,调节滑块来实现。下面主要介绍下生成常见相位图、载入其它软件生成的相位图、使用IFTA算法生成目标全息投影所需的CGH,消除0级光衍射等几种功能的使用方法。
1,消除零级光衍射
SLMphase提供了两种消除零级光衍射的方式:一种是叠加闪耀光栅相位在xy方向上分离全息投影与0级衍射光斑,另外一种是叠加菲尼尔透镜在z方向上分离全息投影与0级衍射光斑。具体使用方法如下
1.1 在SLM上载入/生成所需要全息相位图(具体操作步骤请根据实际应用选择上面相应的功能介绍);
1.2 在“消除0级衍射光”下拉列表选择要消除零级光的方式,具体针对每种方式,有如下参数可以设置;
• x方向闪耀光栅:叠加x方向上的闪耀光栅,可以设置的参数是光栅的周期(像素为单位),通过滚动条调节具体的周期,也可以按左右的按钮进行微调;
• y方向闪耀光栅:叠加y方向上的闪耀光栅,可以设置的参数是光栅的周期(像素为单位),通过滚动条调节具体的周期,也可以按左右的按钮进行微调;
• 菲尼尔透镜:叠加菲涅尔透镜相位,可以设置的参数是菲尼尔透镜的焦距,焦距为负等价于光束经过一个凸透镜,因此全息投影会沿着z轴向靠近SLM的方向移动,焦距为正等价于光束经过一个凹面镜,全息投影会沿着z轴向远离SLM的方向移动。通过滚动条调节具体的焦距,也可以按左右的按钮进行微调。
2,生成常见的相位图
2.1 在SLM型号下拉列表中选择使用SLM的型号;
2.2 设置生成2pi相位对应的像素值(出厂报告中有)以及入射光的波长;
2.3 选择想要生成的相位类型;
2.4 设置相位的主要参数,具体针对每个相位,有如下参数可以设置;
• 涡旋光相位:可以设置的参数是涡旋光的拓扑荷值;
• 正弦光栅:可以设置的参数包括正弦光栅的周期,以及光栅的角度;
• 闪耀光栅:可以设置的参数是闪耀光栅的周期和,以及光栅的角度;
• 菲尼尔透镜:可以设置的参数是菲涅尔透镜的焦距;
• Axicon lens;可以设置的参数是中心锥形区域的直径,决定了锥透镜的偏转角度。
2.5 点击“生成相位”按钮,则相应的全息相位图就被载入到SLM上。在载入全息相位图完成以后,也可以点击“保存相位”将生成的全息相位图保存为8bit的bmp格式文件,可以供滨松自带的SLM控制软件或者其它程序调用。
3,载入通过其它软件生成的全息相位图
3.1 在SLM型号下拉列表中选择使用SLM的型号;
3.2 设置生成2pi相位所对应的像素值(出厂报告中有)以及入射光的波长;
3.3 点击“载入相位”按钮,在弹出的对话框中载入要选择的全息相位图。注意,全息相位图格式要求是8bit的bmp文件;
3.4 此时全息相位图会被载入到SLM上,如果全息相位图的分辨率小于SLM的分辨率,则全息相位图会居中显示。
4,使用IFTA算法生成CGH
4.1 在SLM型号下拉列表中选择使用SLM的型号;
4.2 设置生成2pi相位所对应的灰度值(出厂报告中有)以及入射光的波长;
4.3 点击“载入相位”按钮,在弹出的对话框中载入目标生成的全息投影图案,注意,全息相位图格式要求是8bit的bmp文件;
4.4 点击“产生CGH”按钮,则软件会使用IFTA算法自动计算得到生成目标全息投影图案所需要的全息相位图。并且载入到SLM上;
4.5 注意本算法是首先生成与目标全息投影图案同分辨率大小的全息相位图,然后在把全息相位图平铺到SLM上。
计算得到的全息相位图在SLM上排布方式