本文基于光学原理,用Matlab实现菲涅尔圆孔衍射现象仿真。


以下使用了两种菲涅尔衍射的数值计算方法:

  • 菲涅尔衍射积分的离散求和
  • 菲涅尔衍射FFT法
Project Code
% 作者:ZQJ
% 日期:2021.7.22 星期四%**********************基于光场传输模拟菲涅尔圆孔衍射*************************
%% 菲涅尔衍射积分*******************************************
clear,clc,close all;
allmasks = f_Masks;
func_translight = f_Lightfield_transmission;
% ********************** 系统参数设定
lamda = 1550e-9;     % 波长
N = 200;             % 一边像素数目
x_length = 0.01;     % 矩阵长度
w0 = 1e-3;           % 高斯光束腰半径
Gs_z = 1e-3;         % 高斯光传输距离
% ********************** 菲涅尔衍射
mask_hole = allmasks.circle_hole(x_length/N,N,0.08/N);
figure; subplot(1,2,1), imagesc(mask_hole); colormap gray;Gaussian_I = f_Gaussian_beams(w0,Gs_z,lamda,x_length,x_length,N,N);
subplot(1,2,2),imagesc(Gaussian_I), colormap hot;E0 = Gaussian_I.*mask_hole;
E1 = func_translight.Fresnel_integrate(lamda,E0,x_length,x_length,x_length,x_length,N,N,0.5);
figure,imagesc(abs(E1)), colormap hot;%% 菲涅尔衍射FFT法******************************************
clear,clc,close all;
allmasks = f_Masks;
func_translight = f_Lightfield_transmission;
% ********************** 系统参数设定
lamda = 1550e-9;     % 波长
N = 200;             % 一边像素数目
x_length = 0.01;     % 矩阵长度
w0 = 1e-3;           % 高斯光束腰半径
Gs_z = 1e-3;         % 高斯光传输距离
% ********************** 菲涅尔衍射
mask_hole = allmasks.circle_hole(x_length/N,N,0.08/N);
figure; subplot(1,2,1), imagesc(mask_hole); colormap gray;Gaussian_I = f_Gaussian_beams(w0,Gs_z,lamda,x_length,x_length,N,N);
subplot(1,2,2),imagesc(Gaussian_I), colormap hot;E0 = Gaussian_I.*mask_hole;
E1 = func_translight.FFT_(lamda,E0,x_length,x_length,0.5);
figure,imagesc(abs(E1)), colormap hot;
Appendix Code
  • 圆孔掩膜产生函数,参看Matlab:产生“几何图形掩膜”函数
  • 高斯光产生函数,参看Matlab:实现高斯光束产生
  • 菲涅尔积分算法函数:参看Matlab:实现光场传输函数
仿真结果图:
  • 衍射前:
  • 菲涅尔圆孔衍射光强图:

专栏内容供作者本人或大家学习使用,多多指教 ~

Matlab:实现菲涅尔圆孔衍射仿真相关推荐

  1. MATLAB利用菲涅尔公式仿真光的折射

    从空气进入石英玻璃,计算振幅反射率.透射率和对应的绝对值: clear; close all;n1 = 1; %空气折射率 n2 = 1.45;%平板玻璃折射率 theta = 0:0.1:90;%角 ...

  2. 【光学】基于matlab GUI菲涅尔系数计算【含Matlab源码 1165期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI菲涅尔系数计算[含Matlab源码 1165期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  3. MATLAB:菲涅尔公式(反射/透射公式)

    目录 案例1:光疏到光密介质 案例2:光密到光疏介质 案例1:光疏到光密介质 平面光波从空气(折射率为)入射到石英玻璃中(折射率为),用 MATLAB作出p.s分量的振幅反射率和振幅透射率以及它们的绝 ...

  4. 基于Matlab模拟菲涅尔公式

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

  5. matlab拟合菲涅尔曲面,matlab-对菲涅尔公式画图

    (3)反射系数r,反射率R与入射角x和折射率之比n的关系 clear; clc; clf; [n,zeta1]=meshgrid(0.6:0.05:1.5,0:pi/50:pi/2); zeta2=r ...

  6. Matlab 菲涅尔系数计算

    1 简介 Matlab 菲涅尔系数计算​ 2 部分代码 function varargout = Fresnel(varargin) % FRESNEL MATLAB code for Fresnel ...

  7. 菲涅尔定理及MATLAB实现

    ** 菲涅尔定理及MATLAB实现   本文是学习胡章芳<MATLAB仿真及其在光学课程中的应用>和赵凯华<光学>这两本书时所做笔记. 1. 菲尼尔反射与折射公式   一般来说 ...

  8. matlab菲涅尔衍射_有问必答——SYNOPSYS安装体验课堂——可以设计菲涅尔透镜吗?...

    问:SYNOPSYS可以设计菲涅尔透镜吗? 答:在USS中有多种菲涅尔面型,用户输入参数即可. 问:SYNOPSYS中具有的输入方式? 答:大家总是有个误区,以为SYNOPSYS需要输入命令运行,其实 ...

  9. 基于Matlab——夫琅禾夫衍射以及菲涅尔衍射

            我以往在学习F分析的时候,编写了一个作业代码,在此附上供大家学习交流. 引言:     在傅里叶光学信息基础中,主要研究的是光在传播过程携带的信息如何去检测得到.如果光在自由空间(均匀 ...

  10. matlab 菲涅尔环,菲涅耳区讨论 - 通信原理与基础 - 通信人家园 - Powered by C114

    1.菲涅耳区 当需要计算传播主区的几何尺寸时,要应用惠更斯-菲涅尔原理.惠更斯-菲涅尔原理认为,波在传播过程中,波面上的每一点都是一个进行二次辐射球面波(子波)的波源,而下一个波面,就是前一个波面所辐 ...

最新文章

  1. VMWARE 之 ESXI 主机标准安装
  2. 基于Mybatis,处理多表联合获取
  3. SQL Server数据库损坏、检测以及简单的修复办法
  4. intel lock汇编指令保障有序性
  5. python比较日期大小_Python日期的处理——datetime模块
  6. python的if语句例句_Python入门之if条件语句
  7. [渝粤教育] 潍坊职业学院 化工安全技术 参考 资料
  8. OFD文件结构--Signature.xml
  9. 61 SD配置-科目分配-分配税收确定的交货工厂
  10. 7、Ktor学习-配置服务器;
  11. c#获取本地ip地址网关子网掩码_C#设置本地网络如DNS、网关、子网掩码、IP等等...
  12. (2)安装宝塔与docker及docker镜像下载加速
  13. 世界首块10层3D打印PCB电路板问世!
  14. 诗歌集《触摸世界》30首摘录,对未来我是认真的
  15. VMware下装Ubuntu
  16. Bootstrap3【上手教程】
  17. 关于idea无法使用搜狗输入法打出汉字的解决方案(转)
  18. verilog hdl高级数字设计(一)
  19. 用python画卡通图_需要用Python和OpenCV制作一张卡通漫画版的图片
  20. SKLEARN实例:【泰坦尼克号生存者预测】

热门文章

  1. spearman相关系数(斯皮尔曼相关系数是什么意思)
  2. otool介绍(转http://www.mc2lab.com/?p=68)
  3. 华为主题包hwt下载_emui主题打包下载-emui主题打包 v1.0_手机乐园
  4. 工业机器人编程用c语言吗,工业机器人编程语言,工业机器人的编程方式
  5. .gpx文件转geojson
  6. 打不开malloc和free函数
  7. Killer网卡驱动导致蓝屏修复方法
  8. 介绍一款网页翻译插件
  9. 税务大比武网络攻防复习(完整版)
  10. Abaqus 子结构分析 实例