Matlab:拉盖尔-高斯光束杨氏双缝干涉

代码:

clc
clear all
close all
%%  L-G光束双缝干涉
N = 300;            %取样点数
lambda = 632e-9;    %波长632nm
k = 2*pi/lambda;    %波数
x = linspace(-2e-5,2e-5,N);
y = linspace(-2e-5,2e-5,N);
[X,Y] = meshgrid(x,y);
[theta,r] = cart2pol(X,Y);
w0 = 3e-1;          %束腰
d = 2e-4;           %双缝间距200μm
D = 9e-4;           %双缝与观察屏之间的距离900μm
p = 1;
Z_R = pi*w0^2/lambda;      %瑞利长度
z = 0;
w_z = w0*sqrt(1+(z/Z_R)^2);%光束在z位置的半径
figure;
for m = -4:4
    E = sqrt(2*factorial(p)/pi/(p+factorial(abs(m))))*(1/w_z)*(sqrt(2)*r/w_z).^abs(m)...
        .*exp(-r.^2/w_z^2).*laguerre(p,abs(m),2*r.^2/w_z^2).*exp(-1i*m*theta).*exp(-1i*k*z)...
        .*exp(-1i*k*r.^2*z/2/(z^2+Z_R^2))*exp(-1i*(2*p+abs(m)+1)*atan(z/Z_R));
    I = E.*conj(E);
    I_1 = 4*I.*cos(pi*X*d/lambda/D+delta_phi(m,Y)/2);
    subplot(3,3,m+5)
    h1 = pcolor(X,Y,I_1);
    colorbar;
    set(h1,'edgecolor','none','facecolor','interp');
    title(['m = ',num2str(m)]);
    colormap(gray);
    axis square;
end
suptitle('拉盖尔-高斯光束双缝干涉')   %为图一添加总标题
%% delta_phi
function result = delta_phi(m,y)
    %delphs=@(L,y)L.*(2.*pi-2.*atan(a./y)).*(y>0&y<8)+L.*(2.*atan(-a./y)).*(y>-8&y<0);
    %m为拓扑荷数,改变拓扑荷数会使图形中的明暗条纹分布发生极大的改变
    result = m*2*(0.5*pi+atan(1e7*y));
end
%% 拉盖尔多项式(文献5中的公式)
function result = laguerre(p,l,x)
result = 0;
if p == 0
    result = 1;
elseif p == 1
    result = 1+abs(l)-x;
else
    result = (1/p)*((2*p+l-1-x).*laguerre(p-1,abs(l),x)-(p+l-1)*laguerre(p-2,abs(l),x));
end
end

运行结果:
Matlab:拉盖尔-高斯光束杨氏双缝干涉_第1张图片
△phi(y)那里我看的参考文献中只有phase-y图像,没有具体的关系式,这个△phi(y)公式是参考一位大佬的代码
博客连接
涡旋光及其部分干涉图样MATLAB模拟
参考文献:
[1]徐丽娟. 涡旋光束的产生及特性研究[D]. 浙江大学, 2014.
[2]Sztul H I , Alfano R R . Double-slit interference with Laguerre-Gaussian beams[J]. Optics Letters, 2006, 31(7):999-1001.
[3]陈志婷. 涡旋光束的特性研究[D]. 燕山大学, 2013.
[4]赵麒, 白忠臣, 周骅,等. 拉盖尔-高斯光束作用下熔石英温度及应力研究%Research of temperature and thermal stress of fused silica irradiated by Laguerre-Gaussian beam[J]. 激光技术, 2018, 042(001):121-126.
[5]石业娇. 面向Fredholm微分方程的广义拉盖尔多项式求解方法[J]. 湘潭大学自然科学学报, 2018, 040(001):31-35.

你可能感兴趣的:(matlab)