本文基于光学原理,用Matlab实现理想涡旋光束产生仿真。
Project Code
% 作者:ZQJ% 日期:.7.24 星期六%***********************模拟理想的涡旋光束产生**************************% 方法:高斯光加螺旋相位传输clear,clc,close all;func_translight = f_Lightfield_transmission;% 基本参数输入*****************************L = 1;% 拓扑荷阶数 lamda = 1550e-9;w0 = 1e-3; % 束腰半径z0 = 0.2; % 光束传输距离light_length = 5e-3; % 光场边长N = 1024; % 矩阵像素[x0,y0] = meshgrid(linspace(-light_length/2,light_length/2,N),linspace(-light_length/2,light_length/2,N)); theta = atan2(y0,x0);gaussian_I = f_Gaussian_beams(w0,z0,lamda,light_length,light_length,N,N); E0 = gaussian_I.*exp(1i*L.*theta);E1 = func_translight.FFT_(lamda,E0,light_length,light_length,0.4); figure,imagesc(abs(E1).^2),colormap hot;
Appendix Code
高斯光产生函数,参看Matlab:实现高斯光束产生光场传输函数:参看Matlab:实现光场传输函数仿真结果图:
专栏内容供作者本人或大家学习使用,多多指教~
如果觉得《Matlab:实现理想涡旋光束产生》对你有帮助,请点赞、收藏,并留下你的观点哦!