紧聚焦涡旋光束的matlab GUI设计
前言
先前说过使用matlab去实现紧聚焦涡旋光束的仿真,但是由于时间的问题,一直没有撰写博客,今天乘着晚上有点时间,将自己的完成结果进行上传,供小伙伴们一览
基本概念
对于涡旋光束的基本概念,大家感兴趣的可以看我这篇博客:
链接:涡旋光束基本概念介绍
但是最近时常有小伙伴向我询问紧聚焦涡旋光束仿真的问题,我之前的一篇博客已经分享过的我部分源代码,但是不是全部,所以很多小伙伴会有比较多的疑问,今天我将一篇论文里面的紧聚焦涡旋光束的公式进行仿真,利用MATLAB里面的appdesinger将所有的情况汇总在一起,以供大家使用。
界面介绍
首先看下我设计的界面,界面设计很简单,我主要想解释一下里面的部分东西
在这里插入图片描述
首先是我的光束类型(其实这里写错了,应该是光束的偏振类型):
- 线偏振
- 圆偏振
- 径向偏振
- 方位角偏振
** 第二个就是这个地方需要注意**
这里的NA必须小于介质折射率,其他的关于界面的东西我觉得都没有必要再去解释说明了,大家可以直接看懂,话不多说,咱们直接实操试一下
实际操作
首先选择线偏振
** 径向偏振**
后面咱们就不去实操了,大家有需要的可以联系我,向我寻求源代码
源码一览
if choicevalue == "线偏振"
E1=sqrt(cos(theta)).*sin(theta).*l.*exp(1i*k*z*cos(theta)).*((cos(theta)-1).*exp(1i*phi).*besselj(m+2,beta)+...
(cos(theta)-1).*exp(-1i*phi).*besselj(m-2,beta)-2*cos(phi).*(cos(theta)+1).*besselj(m,beta));
E2=sqrt(cos(theta)).*sin(theta).*l.*exp(1i*k*z*cos(theta)).*((cos(theta)-1).*exp(1i*phi).*besselj(m+2,beta)-...
(cos(theta)-1).*exp(-1i*phi).*besselj(m-2,beta)+2*1i*sin(phi).*(cos(theta)+1).*besselj(m,beta));
E3=sqrt(cos(theta)).*sin(theta).^2.*l.*exp(1i*k*z*cos(theta)).*(exp(1i*phi).*besselj(m+1,beta)-exp(-1i*phi).*besselj(m-1,beta));
%% 将符号变成函数
% E1=eval(['@(theta)',vectorize(E1)]);
% E2=eval(['@(theta)',vectorize(E2)]);
% E3=eval(['@(theta)',vectorize(E3)]);
Ex=A/2*1i^(m+1)*exp(1i*m*Phi).*sum(E1,3);
Ey=A/2*1i^(m)*exp(1i*m*Phi).*sum(E2,3);
Ez=-A*1i^(m)*exp(1i*m*Phi).*sum(E3,3);
I1 = Ex.*conj(Ex)+Ey.*conj(Ey)+Ez.*conj(Ez);
E = I1./max(max(I1));
end
if choicevalue =="圆偏振"
E1 = sqrt(cos(theta)).*sin(theta).*l.*exp(1i*k*z*cos(theta)).*((cos(theta)-1).*besselj(m+2,beta)-...
(cos(theta)+1).*besselj(m,beta));
E2 = sqrt(cos(theta)).*sin(theta).*l.*exp(1i*k*z*cos(theta)).*((cos(theta)-1).*besselj(m+2,beta)+...
(cos(theta)+1).*besselj(m,beta));
E3 = sqrt(cos(theta)).*sin(theta).^2.*l.*exp(1i*k*z*cos(theta)).*besselj(m+1,beta);
Ex = A/sqrt(2)*1i^(m+1).*exp(1i*(m+1)*Phi).*sum(E1,3);
Ey = A/sqrt(2)*1i^(m).*exp(1i*(m+1)*Phi).*sum(E2,3);
Ez = -sqrt(2)*A*1i^(m).*exp(1i*(m+1).*Phi).*sum(E3,3);
I1 = Ex.*conj(Ex)+Ey.*conj(Ey)+Ez.*conj(Ez);
E = I1./max(max(I1));
end
需要的话请联系,收藏点赞以及给我一点建议就更好啦