高斯光束涡旋光束slm matlab代码
时间: 2023-05-18 18:01:21 浏览: 251
SLM(反射式空间光调制器)MATLAB控制代码
5星 · 资源好评率100%
高斯光束是一种常见的光束类型,因其具有束腰较小、光强分布呈高斯分布等特点而受到广泛应用。而涡旋光束则具有角动量,可以应用于光学制备、光学信道等领域。在光学实验中,我们经常需要对不同类型的光束进行控制和调节,而液晶空间光调制器(SLM)可用于调制光束的相位,从而实现对光束的控制和调节。
在MATLAB中,我们可以使用SLM仿真工具箱来模拟高斯光束和涡旋光束。具体的代码如下:
生成高斯光束
%% Initial Parameters
w0 = 2*10^-3;
z = 100;
k=2*pi/(633*10^-9);
f=0.5;
L1=10*10^-3;
L2=10*10^-3;
lambda = 633 * 10^-9;
%% Grid
N=512;
Lmax=5*w0;
delta=Lmax/N;
x=-Lmax/2:delta:Lmax/2-delta;
y=-Lmax/2:delta:Lmax/2-delta;
[X,Y]=meshgrid(x,y);
%% Gaussian Beam
u0=w0/(sqrt(2*log(2)));
I0=2/((2*pi)^(3/2)*u0^2);
u = exp(-(X.^2+Y.^2)/(2*u0^2)).*exp(-1i.*k.*X.^2./(2.*z)).*exp(1i.*k.*z);
figure;imagesc(x,y,abs(u).^2);title('Intensity of Gaussian Beam (z=0)');colorbar
生成涡旋光束
%% Initial Parameters
w0 = 2*10^-3;
z = 100;
k=2*pi/(633*10^-9);
p=5;
%% Grid
N=512;
Lmax=1;
delta=Lmax/N;
x=-Lmax/2:delta:Lmax/2-delta;
y=-Lmax/2:delta:Lmax/2-delta;
[X,Y]=meshgrid(x,y);
r=sqrt(X.^2+Y.^2);
%% vortex phase
phi0=p*angle(X+i*Y);
%% Beam
u=(r/w0).^p.*exp(-r.^2/(2*w0^2)).*exp(1i.*phi0).*exp(-1i.*k.*r.^2./(2.*z)).*exp(1i.*k.*z);
figure;h=imagesc(x,y,angle(u));title('Phase of Vortex Beam (z=0)');colorbar
通过以上代码,我们可以生成高斯光束和涡旋光束的强度和相位分布图像。在这里,我们可以通过改变光束的初参数,如光束腰半径、工作距离、波长等来实现不同的光束类型和特性。此外,我们还可以通过SLM来对光束的相位进行调制,以实现更精细的光束控制和调节。
阅读全文