本文基于光學原理,用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:實作光場傳輸函數
仿真結果圖:
專欄内容供作者本人或大家學習使用,多多指教 ~