本文基于光学原理,用Matlab实现理想涡旋光束产生仿真。
Project Code
% 作者:ZQJ
% 日期:2021.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:实现光场传输函数
仿真结果图:
专栏内容供作者本人或大家学习使用,多多指教 ~