• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签: MATLAB  Bessel  SLM  

资源简介

利用空间光调制器产生相位调制生成贝塞尔光束,并通过衍射积分验证。

资源截图

代码片段和文件信息


clear;
x = 1:1272;
y = 1:1024;%像素数量
[XY] = meshgrid(xy);
r_0 = 3e-3;
lambda = 800e-9;
k = 2*pi/lambda;
z = 0.5;
r_FWHM=3e-3;
phase_max = 11*pi; %最大相位差
phase = 1-sqrt(((X-636).^2+(Y-512).^2)/((1272-636)^2+(1024-512)^2));%归一化,且中心相位最大
phase = phase*phase_max; %映射到0-phase_max
phase = phase-floor(phase/pi/2)*2*pi;%映射到0—2piarrayfun(@(a)a-2*pi*sum((a-(1:floor(a))*2*pi)>0)phase)
phase_0=phase;
phase = uint8(phase/pi*255/2.3);%映射到0—2pi的灰度图
imshow(phase);
% string = [‘Bessl_‘ num2str(phase_max/pi) ‘pi.bmp‘];
% imwrite(uint8(phase)string);
disp(‘零阶Bessel光中心光斑半径(最大值到零)‘);
disp([‘r = ‘ num2str( 2.405*12.5e-6*512/phase_max) ‘ m‘]);
disp(‘Bessel光束持续长度‘);
disp([‘z_max = ‘ num2str((2*pi/phase_max*512*12.5e-6)*r_FWHM/lamb

评论

共有 条评论