请问这种涡旋光干涉图样应该怎么仿真出来呢?涡旋光自干涉,拓扑荷数相反,会生成花瓣状干涉纹,但是如果想要生成如图所示的这种清晰模糊相间的花瓣状干涉纹,应该如何调整?

已知拓扑荷数相反的涡旋光自干涉可得到如图所示干涉纹

clc
close all
clear all; tic;
lambda=532.8e-9; % 入射波长
k=2*pi/lambda;
%% 2 空域与频域
Num0=pow2(12); % 空域采样点数(20mm面积,>=11)
Num0F=pow2(12); % 频域采样点数(>=11)
xo=20e-3;
yo=20e-3; % 空域尺寸
% 空域坐标系
X1=linspace(-xo/2,xo/2,Num0);
Y1=(linspace(-yo/2,yo/2,Num0))';
deltax=xo/(Num0-1);
deltay=yo/(Num0-1);
x=ones(size(Y1))*X1;
y=Y1*ones(size(X1));
% 频域坐标系
fxo=1/deltax;
fyo=1/deltay;
dfxo=fxo/Num0F;
dfyo=fyo/Num0F;
fx1=((-Num0F/2):(Num0F/2-1))*dfxo;
fy1=((-Num0F/2):(Num0F/2-1))'*dfyo;
fx=ones(size(fy1))*fx1;
fy=fy1*ones(size(fx1));
%% 3 高斯涡旋光束E0、E1
Width0 = 1e-3; % 束宽
Topo0 = 16; % 拓扑荷数
Z0 = k*(Width0/2)^2/2; % 瑞利长度
z0 = 0.001; % 轴向传输距离
Width0z = Width0*sqrt(1+(z0/Z0)^2); % z处束宽
R0 = Z0*(z0/Z0+Z0/z0); % 等相面曲率半径
Amp0 = 1/sqrt(1+(z0/Z0)^2)*(sqrt(x.*x+y.*y)/Width0z).^abs(Topo0).*exp(-(x.*x+y.*y)/Width0z^2); % 第一束涡旋光的振幅
Phase0 = exp(1i*Topo0*atan2(y,x)+1i*k*z0+1i*(1+abs(Topo0))*atan(z0/Z0)-1i*k*(x.*x+y.*y)/2/R0); % 第一束涡旋光的相位
E0 = Amp0.*Phase0; % 第一束涡旋光的场强
Width0 = 1e-3; % 束宽
Z0 = k*(Width0/2)^2/2; % 瑞利长度
z0 = 0.001; % 轴向传输距离
Width0z = Width0*sqrt(1+(z0/Z0)^2); % z处束宽
R0 = Z0*(z0/Z0+Z0/z0); % 等相面曲率半径
Topo1 = -16; % 第二束涡旋光的拓扑荷数,与第一束涡旋光相反
Amp1 = 1/sqrt(1+(z0/Z0)^2)*(sqrt(x.*x+y.*y)/Width0z).^abs(Topo1).*exp(-(x.*x+y.*y)/Width0z^2); % 第二束涡旋光的振幅
Phase1 = exp(1i*Topo1*atan2(y,x)+5i*k*z0+1i*(1+abs(Topo1))*atan(z0/Z0)-1i*k*(x.*x+y.*y)/2/R0); % 第二束涡旋光的相位
E1 = Amp1.*Phase1; % 第二束涡旋光的场强
c0 = E1+E0;
E_3 = c0.*conj(c0);
h3 = pcolor(x,y,E_3);
set(h3,'edgecolor','none','facecolor','interp');
%mesh(x*1000,y*1000,abs(c0.*conj(c0)));axis equal;view(2);%axis([-2 2 -2 2]);title('E0拓扑荷数为16');
toc;
```clc
