自从LCOS-SLM(空间光调制器)算法与应用方案直播报告推出之后,小编在后台收到了众多小伙伴的询问:
所以小编在此为大家来一场SLM源代码免费大放送,识别下图二维码跳转下载链接。
滨松SLM自带的软件SLMcontrol3可以生成各种常见的相位图,如闪耀光栅相位,菲涅尔透镜相位等。但是对于一些需要加入反馈的应用,大家需要自己编写程序生成一些常见的相位图。为了方便大家的使用与学习,小编在这里为大家提供了以下常见相位图的MATLAB源代码。建议先收藏。
axicon.m
生成锥透镜相位图,主要是用来生成贝塞尔光束。贝塞尔光束可以显著地提高焦点的焦深,从而可以用于诸如激光加工打孔,light sheet显微等应用中。此外因为本相位图是圆环形相位,所以也常用于基于SLM的光路调整。
blazegrating.m
主要是用于生成闪耀光栅相位,闪耀光栅相位会将激光衍射到一级光方向,从而常用于激光加工中消除零级光、快速生成点阵、时域脉冲整形中用于更改整体脉冲的延迟。
关于零级光产生的原因以及其他消除零级光的方法,大家还可以查看此条视频了解详情:滨松工程师教你三招消除SLM零级光的影响。
divide.m
用于生成分屏类的相位。左右分别是不同的灰度。
fresnellens.m
用于生成菲涅尔透镜相位,可以将SLM模拟为一个透镜,一般用于消除激光加工中零级光的影响(通过叠加菲涅尔透镜将零级光和衍射光在轴向上分开),可以用于快速SLM的验收等。
GScode.m
使用Gerchberg-Saxton(GS)算法,计算生成目标图像所需要的相位图。是SLM中最常见的算法。SLMcontrol3中calculate CGH就是基于的GS算法。
注意:本方法计算,是假设入射光强分布确定,衍射图像强度分布确定,衍射图像(傅里叶平面)的相位分布为自由值,从而求出入射光所需要的相位分布(即SLM上加载的相位图),所以对于使用GS算法生成平顶光,会由于傅里叶平面的相位的随机分布,导致结果是充满了散斑噪声的平顶光。
randomimage.m
主要是用于生成随机相位,在激光加工中,比如光斑中只有一部分的光想要使用,其它部分光可以照射在这种随机相位分布上,通过搭配光阑使用,照射在随机分布的相位上的光会被衍射出去而不被探测器接收到。
sinegrating.m
用于生成正弦光栅,主要是用于生成点阵,或用于时间脉冲整形中生成脉冲序列。
vortex.m
生成涡旋光相位,涡旋光相位常用于量子通信,生成“甜甜圈”型焦点等应用中。
关于常见相位图代码的分享与介绍就到这里啦,小伙伴们如果还有其他疑问可以在评论区留言,大家非常熟悉的产品技术工程师“梓爷”看到之后会第一时间为大家解答。
THE END
编辑:又又&▼
小编传送门
更多精彩内容
如何消除空间光调制器零级光的影响?
想成为SLM算法小能手,这些知识你一定得了解
SLM应用与算法匹配不起来该怎么办?(选择恐惧症要犯了
基于USB连接的空间光调制器二次开发
基于DVI连接的空间光调制器二次开发