matlab:光场传输的各种算法

本文探讨了光场传输在光学领域的应用,如超分辨、激光相干合束等,重点介绍了矩阵相乘算法在光场传输中的实现,对比了积分算法和快速傅里叶变换算法,展示了算法的具体MATLAB实现代码及运行结果。

随着计算机的飞速发展,数值仿真在许多光学领域都有重要的应用。比如:
1、在研究超分辨时需得到光场经特定结构后精确的聚焦情况
2、研究激光相干合束时需计算阵列光束远场合束光斑的能量分布情况
3、在设计衍射光学元件时需循环计算光场经衍射元件后的远场分布
4、在设计激光谐振腔时需计算腔内光束经过多次反射后的稳定光场分布
在这些研究中,普遍包含光场传输这一最基本的物理过程,因此研究光场传输快速、准确的实现方法具有重要意义。
目前,关于光场传输的算法,主要有两种:
1、基于菲涅尔衍射积分公式的离散化求和,即积分算法
优点:直观,易实现,计算结果准确
缺点:计算速度慢
2、快速傅里叶变换算法(FFT)
优点:计算速度快
缺点:不能得到较为精细的光场分布
3、矩阵相乘算法
优点:计算速度快,并且可以得到准确的光场分布
这里我们使用论文中所述的矩阵相乘算法。

该论文的matlab实现:

clc
close all
clear all
%% 光源部分
No = 200;           %取样点数
N  = 128;
lambda = 1064e-6;   %波长1064nm
k = 2*pi/lambda;    %波矢
w = 3;              %高斯光束的束宽
d = 1000;           %传输距离1000mm
[x0,y0] = meshgrid(linspace(-1.5*w,1.5*w,No));
E0 = exp(-(x0.^2+y0.^2)/w^2);           %高斯光束
I0 = E0.*conj(E0);   I0 = I0/max(max(I0));
figure;mesh(x0,y0,I0)
set
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值