基于matlab模拟Gabor-Beynon波带片

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

Gabor波带片是一种理想的单级聚焦光学元件,但制备困难.本文采用聚焦离子束直写技术成功制备出30环,20扇区的二值化Beynon-Gabor波带片,其有效面积半径为700μm,第一环半径90μm.

⛄ 完整代码

%% Beynon zone plate

% OPTICS LETTERS / Vol. 17, No. 7 / April 1, 1992

%

% This file generates the Beynon zone plate, which behaves exactly like 

% Gabor zone plate with a single focus. In contrast to Gabor plate, 

% the Beynon plate has binary transmittance function, 

% this makes it attractive for practical applications where continuous 

% analog functions are difficult to use.

%

close all;

% clear all;

clc;

N = 40;                     % number of angular Sectors (technically you can input small numbers, but for your own responsibility)

lambda = .6328;             % light wavelength [um]

f = 5000;                   % focal length [um]

D = 500;                   % zone plate diameter [um] (aperture)

%% Some precalculations

R = D/2;                    % zone plate outer radius [um] 

r = sqrt(lambda*f);         % fist zone radius

rhores = R*10;              % radial resolution

phires = 3600;            % angular resolution

halfalpha = pi/N;           % half-angle of sector

rho = linspace(0,R,rhores);         % polar coordinates (radial)

phi = linspace(0,2*pi,phires);      % polar coordinates (angular)

theta = halfalpha * sin(pi*(rho/r).^2/2).^2; % transmittance function in polar coordinates

theta(rhores) = 0;          % by this string last value forced to zero, that required for polymesh generation (small negligible error occur)

X=rho.*cos(theta);          % return to Cartesian coordinates

Y=rho.*sin(theta);          % return to Cartesian coordinates

                  

%% Drawing of the Beynon zone plate with aperture 2*R, N-number of angular sectors and with f-foci distance 

 figure('name','Beynon','color','white');clf;

pgon1 = polyshape(X,Y);         % upper halfsector

pgon2 = polyshape(X,-Y);        % lower halfsector

sector = union(pgon1,pgon2);    % one complite sector

alpha =360/N;                   % angle in degrees between conjugated sectors 

for n1=1:(N+1)*2

sector = rotate(sector,alpha);

plot(sector,'FaceColor','k','FaceAlpha',1,'LineStyle','none');

axis equal;

hold on

end

grid('off');

axis('off');

title('Beynon zone plate');

% exportgraphics(gcf,'Beynon.tiff','Resolution',600);

% saveas(gcf,'Beynon.png')

⛄ 运行结果

⛄ 参考文献

[1]李兆国, 孟令彪, 周民杰,等. 自支撑二值化Beynon-Gabor波带片的制备及其单级聚焦特性[J]. 物理学报, 2016(12):7.

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值