目录
1.程序功能描述
2.测试软件版本以及运行结果展示
3.核心程序
4.本算法原理
5.完整程序
1.程序功能描述
基于魏格纳函数和焦散线方法的自加速光束matlab模拟与仿真。通过魏格纳函数法,来产生多种自加速的光束,设计自加速光束方法,模拟出相应的图结果。
2.测试软件版本以及运行结果展示
MATLAB2022A版本运行
3.核心程序
...................................................................
figure;
subplot(121);
imshow(Phase2,[])
colorbar
title('Phase');
subplot(122);
imshow(Amp2,[])
colorbar
title('amplititude');
%保存图片
Phase2_save = imresize(Phase2,[1080,1080],'nearest');
Amp2_save = imresize(Amp2,[1080,1080],'nearest');
imwrite(Phase2_save,'Phase2_save.bmp','bmp');
imwrite(Amp2_save,'Amp2_save.bmp','bmp');
%%
%平面光场图,魏格纳函数
%W = Int(0..zmax){E(x+y)E(x-y)exp[2ixy]}
Wxkx = func_wigner(X');
%光场
amp = abs(sum(Wxkx,2));%根据魏格纳函数得到幅度,公式7
fai = (sum([t].*Wxkx,2))./sum(Wxkx,2);%根据魏格纳函数得到相位,公式7
E = amp'.*exp(sqrt(-1)*fai);
E = abs(E);%根据相位和幅度得到E
E = Zmax*[E/max(max(E))]';%E归一化
%计算光场
%根据公式11进行叠加
[s2,t2] = meshgrid(s,2*t);
%其实这里之前也没大问题,之前是用了这个sin代入了,其实只要把计算得到E代入就可以了,所以之前你才觉得去掉E还是不变这个问题
I = abs(airy(0, E-s2,1)+airy(0,-E+s2,1));%非凸轨迹
figure;
subplot(211);
surface(t2,s2,I)
shading interp
axis([min(t),max(t),-75,75]);
colormap(hot)
%%
%fit and xmax
%获得xmax值
[RR,CC] = size(I);
for i = 1:RR
[VV,II] = max(I(i,:));
ysamp(i) = (II-RR/2)/RR*max(s);
end
ysamp=ysamp-mean(ysamp);
%进行拟合
xdata = 2*Z;
ydata = ysamp;
x = lsqcurvefit(@myfun1,[3;1;1],xdata,ydata);%sin类型拟合
x
subplot(212);
plot(Z,x(1)*sin(x(2)*t+x(3)),'b');
hold on
plot(xdata(1:10:end),ysamp(1:10:end),'r.');
legend('拟合','主瓣位置');
axis([0,20,-8,8]);
grid on
xlabel('z/mm');
ylabel('x/um');
24_008m
4.本算法原理
魏纳函数(Wavelet函数)和焦线方法在自适应光束加速中起着重要作用,主要应用于光学成像、光操控和光束聚焦、光束整形等领域。这种方法利用纳函数的数学描述光场分布,并结合数值模拟技术来设计特定的光束形状和传播特性,从而实现对光束的精确控制。
光束通常可以展开为一系列基函数的线性组合,如高斯函数或拉普朗斯基尔德函数等。一个简化的例子是高斯展开:
通过调整光束相位分布(相位φ(x,y)可以改变光束传播特性,如聚焦或加速。一个典型方法是利用相位调制的光栅格:
魏函数 魈函数(U(x,y,z) 描述了光场的复振幅值在空间中的分布,x,y)位置坐标,z是沿光轴方向的传播距离。
光束加速 自适应性** 通过调整光束的相位相分布,可以实现光束聚焦、加速、束整形,甚至光束的自适应传播特性。
5.完整程序
VVV