✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
高阶贝塞尔-高斯(Bessel-Gauss)光束在一定条件下呈现"无衍射"特性,是一种具有广阔应用前景的空心光束.
⛄ 部分代码
function [U1]=frt(U,lambda,a,z)
% U: 入射波前
% lambda: 波长
% a: 输入面图像的宽度
% z: 输入面到输出面的距离
% U1: 输出光场分布
k=2*pi/lambda; %波矢
[M,N] = size(U);
pix = a; %空域的采样间隔;
A = fftshift(fft2(fftshift(U)));
deltaf = 1/(M*pix); % 频域的采样间隔
FX =deltaf*(-M/2:M/2-1); % 观察平面X轴方向的坐标
FY = deltaf*(-N/2:N/2-1); % 观察平面Y轴方向的坐标
[fx, fy]=meshgrid(FX,FY); % 观察平面的二维坐标
H=exp(1i*k*z*(1-(lambda*lambda*(fx.*fx+fy.*fy))).^(0.5)); %传递函数
A0=(A.*H'); %观察平面的角谱
U1=ifftshift(ifft2(ifftshift(A0))); %入射平面光场分布
⛄ 运行结果
⛄ 参考文献
[1]靳李丽, 朱艳英, 魏勇,等. 高阶Bessel-Gauss光束的产生方法[J]. 激光与红外, 2012, 42(3):7.