天天看點

Matlab:實作理想渦旋光束産生

本文基于光學原理,用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:實作光場傳輸函數
仿真結果圖:
Matlab:實作理想渦旋光束産生

專欄内容供作者本人或大家學習使用,多多指教 ~

繼續閱讀