# MATLAB实现聚焦光束仿真
MATLAB实现聚焦光束仿真
一.基本概念
二. 实验仿真计算
聚焦光束的理论实现
聚焦光束的实现主要是由于基于Debye理论得到,聚焦光束由于其特殊的物理性质在现在科学中有着不可替代的作用,我们现在所熟知的光镊技术,其基础就在于适用聚焦光束对微纳粒子进行捕获操作,其光束的聚焦基本图示如下:
假设现在输入的光束的是一个径向极化的光束,此时在进行紧聚焦之后,根据Debye理论可以得到聚焦之后的电场表达式为
E(r)=−ikf2π∫0θmax∫02πA(θ,ϕ)exp(ik⋅r)sinθdϕdθ\boldsymbol{E}\left( \boldsymbol{r} \right) =-\frac{ikf}{2\pi}\int\limits_0^{\theta _{max}}{\int\limits_0^{2\pi}{\boldsymbol{A}\left( \theta ,\phi \right) \exp \left( i\boldsymbol{k}\cdot \boldsymbol{r} \right) \sin \theta d\phi d\theta}} E(r)=−2πikf0∫θmax0∫2πA(θ,ϕ)exp(ik⋅r)sinθdϕdθ
同样的,对于磁场的表达式,只需要根据麦克斯韦方程中的磁场和电场之间的关系就可以得到,这里我就不在列出(不要问我为什么还有磁场,因为光波是电磁场,包括电场和磁场分量)。
当我们完成上式的计算之后,我们就可以对公式进行仿真计算,这里我采用的是径向极化的高斯光束作为入射光束,当然还存在圆极化,线极化,方位角极化等情况,不同极化方式的光束只是在光束的表达式上存在差异,但是具体的推导过程都是一样的,所以不需要进行过多的考虑。
function [E_rho,E_phi,E_z]=opticalfield(m,phi,r,z) lambda0=1.064e-6; %入射光波波长 n_i=1.518; %折射率 NA=1.32; % power=0.1; % 入射光线的功率 f=1.2e-3; % 透镜的聚焦焦距 k0=2*pi/lambda0; %波数 k=k0*n_i; A=k*f/2; theta_min=0; theta_max=asin(NA/n_i); beta0=1.5; E_rho1=zeros(size(phi,1),size(phi,2)); %预分配内存 E_phi1=zeros(size(phi,1),size(phi,2)); E_z1=zeros(size(phi,1),size(phi,2));theta1=34.66*pi/180; theta2=43.88*pi/180; theta3=51.94*pi/180; theta4=57.89*pi/180; %角度系数% theta1=0; % theta2=0; % theta3=0; % theta4=0; %角度系数 theta_num=100; dtheta=(theta_max-theta_min)/theta_num; theta=theta_min:dtheta:theta_max; for i=1:length(theta)thetai=ones(size(phi))*theta(i);if (theta(i)>theta1&&theta(i)<=theta2)||(theta(i)>theta3&&theta(i)<=theta4)E_rho1(:,:,i)=-A.*1i^(m).*exp(1i*m*phi).*power.*sqrt(cos(thetai)).*sin(2*thetai).*exp(-beta0^2*(sin(thetai)).^2./(sin(theta_max))^2).*besselj(m,2*beta0*sin(thetai)/...sin(theta_max)).*exp(1i*k*z.*cos(thetai)).*(besselj(m+1,k*r.*sin(thetai))-besselj(m-1,k*r.*sin(thetai)));E_phi1(:,:,i)=A.*1i^(m+1).*exp(1i*m*phi).*power.*sqrt(cos(thetai)).*sin(thetai).*exp(-beta0^2*(sin(thetai)).^2./(sin(theta_max))^2).*besselj(m,2*beta0*sin(thetai)/...sin(theta_max)).*exp(1i*k*z.*cos(thetai)).*(besselj(m+1,k*r.*sin(thetai))+besselj(m-1,k*r.*sin(thetai)));E_z1(:,:,i)=-2*A.*1i^(m+1).*exp(1i*m*phi).*power.*sqrt(cos(thetai)).*(sin(thetai)).^2.*exp(-beta0^2*(sin(thetai)).^2./(sin(theta_max))^2).*besselj(m,2*beta0*sin(thetai)/...sin(theta_max)).*exp(1i*k*z.*cos(thetai)).*besselj(m,k*r.*sin(thetai));elseE_rho1(:,:,i)=A.*1i^(m).*exp(1i*m*phi).*power.*sqrt(cos(thetai)).*sin(2*thetai).*exp(-beta0^2*(sin(thetai)).^2./(sin(theta_max))^2).*besselj(m,2*beta0*sin(thetai)/...sin(theta_max)).*exp(1i*k*z.*cos(thetai)).*(besselj(m+1,k*r.*sin(thetai))-besselj(m-1,k*r.*sin(thetai)));E_phi1(:,:,i)=-A.*1i^(m+1).*exp(1i*m*phi).*power.*sqrt(cos(thetai)).*sin(thetai).*exp(-beta0^2*(sin(thetai)).^2./(sin(theta_max))^2).*besselj(m,2*beta0*sin(thetai)/...sin(theta_max)).*exp(1i*k*z.*cos(thetai)).*(besselj(m+1,k*r.*sin(thetai))+besselj(m-1,k*r.*sin(thetai)));E_z1(:,:,i)=2*A.*1i^(m+1).*exp(1i*m*phi).*power.*sqrt(cos(thetai)).*(sin(thetai)).^2.*exp(-beta0^2*(sin(thetai)).^2./(sin(theta_max))^2).*besselj(m,2*beta0*sin(thetai)/...sin(theta_max)).*exp(1i*k*z.*cos(thetai)).*besselj(m,k*r.*sin(thetai));end end content1=floor(theta1/dtheta); content2=floor(theta2/dtheta); content3=floor(theta3/dtheta); content4=floor(theta4/dtheta); E_rho=sum(E_rho1(:,:,[1:1:content1])*dtheta,3)+sum(E_rho1(:,:,[1:1:content2])*dtheta,3)+...sum(E_rho1(:,:,[1:1:content3])*dtheta,3)+sum(E_rho1(:,:,[1:1:content4])*dtheta,3)+sum(E_rho1*dtheta,3); E_phi=sum(E_phi1(:,:,[1:1:content1])*dtheta,3)+sum(E_phi1(:,:,[1:1:content2])*dtheta,3)+...sum(E_phi1(:,:,[1:1:content3])*dtheta,3)+sum(E_phi1(:,:,[1:1:content4])*dtheta,3)+sum(E_phi1*dtheta,3); E_z=sum(E_z1(:,:,[1:1:content1])*dtheta,3)+sum(E_z1(:,:,[1:1:content2])*dtheta,3)+...sum(E_z1(:,:,[1:1:content3])*dtheta,3)+sum(E_z1(:,:,[1:1:content4])*dtheta,3)+sum(E_z1*dtheta,3);%计算各个方向的光场 end
# MATLAB实现聚焦光束仿真相关推荐
- matlab用于激光光束质量分析,MATLAB用于激光光束质量分析
MATLAB用于激光光束质量分析 李 伦 巩马理 刘兴占 李振宇 王宇兴 (清华大学精密仪器系 ,北京 ,100084) 摘要 : 介绍了利用 CCD.计算机并基于 MATLAB 开发的激光光束质量分 ...
- 码分复用的matlab仿真,基于matlab的多路时分复用仿真.doc
基于matlab的多路时分复用仿真 通信系统原理综设实验报告 多路时分复用matlab仿真系统 教师评语: 引言 在实际的通信系统中,为了扩大通信链路的容量,提高通信系统的利用率,需要在一条链路上传输 ...
- matlab zp2,matlab用于控制系统数字仿真
matlab用于控制系统数字仿真 传递函数 n >>num=[6 12 6 10];den=[1 2 3 1 1]; n >>printsys(num,den) n 执行结果为 ...
- matlab基本杆组-运动学仿真,MATLAB基本杆组-运动学仿真.pdf
MATLAB基本杆组-运动学仿真 第5章 运动学仿真 --Simulink的使用 从基本杆组理论为基础建立模型 §5-1 曲柄的MATLAB运动学仿真模块 1.曲柄的运动学矩阵表达式 在复数坐标系中, ...
- matlab实现瑞利信道需要的步骤,基于Matlab的瑞利信道仿真.docx
移动通信期中论文 论文题目:基于Matlab的瑞利信道仿真Title:Rayleigh fading simulation based on Matlab 学院:信息学院专业:通信工程姓名:888 x ...
- 基于matlab编译码器的设计,基于MATLAB循环码编译码仿真
基于MATLAB循环码编译码仿真(论文11000字) 摘要:在具体了解循环码的编码理论的基础上,使用 M ATLA B 软件设计了循环码编译码器. 通过 M ATLAB 软件实现循环码的编译码 ,通过 ...
- 用matlab简单电路模型,基于MATLAB的电路模型仿真应用
基于MATLAB的电路模型仿真应用实验指导书 一.实验目的 1.掌握采用M文件及SIMULINK对电路进行仿真的方法. 2.熟悉POWERSYSTEM BLOCKSET 模块集的调用.设置方法. 3. ...
- 基于matlab的gps信号仿真123,MATLABGPS信号仿真完整源代码.doc
配套毕业设计论文见百度文库 请搜索 <基于MATLAB的GPS信号仿真123> 附录 仿真程序代码 数据码的产生 function datacode=data(x) y=rand(1,x) ...
- 潮流仿真分析matlab,基于MATLAB的电力系统潮流仿真与研究
DOI:10. 13888/j. cnki. jsie(ns). 2019. 02. 008 收稿日期:2018 - 07 - 17 基金项目:国家自然科学基金青年项目(61803271)作者简介:刘 ...
最新文章
- 使用read write 读写socket
- 人工神经网络背后的数学原理!
- NOT NULL列用IS NULL也能查到数据?
- 什么样的域名更利于优化?
- Redis AOF 全持久化
- php重定向 htaccess文件的编写
- Ubuntu14下搭建Web服务器
- 只安装python_AI帮你写Python,安装只需5步,还能任你调教 | 开源
- android触摸指纹会触发按键功能,Android P新特性:利用触摸指纹识别器能阻止手机息屏...
- 【Python CheckiO 题解】I Love Python!
- linux内核相关知识
- Python 连接开放航空交通数据,轻松构建航班跟踪应用!
- 反向传播(Back Propagation)与神经网络(Neural Network)
- 力软敏捷开发框架源码7.0.6旗舰版 JNPF开发平台3.3.3 3.4.1企业版/旗舰版框架
- 联想V480(扬天) EI Capitan 完美驱动教程
- 用springboot对接支付宝支付接口的详细开发步骤总结
- 28.earch in Rotated Sorted Array(排序旋转数组中查找)
- idea2020.1.1 窗口显示 Outdated version. 完美解决
- 363、Java中级18 -【JDBC - 增、删、改】 2020.06.28
- lstm实战,nlp情感分析(Kaggle)
热门文章
- 第一次的博客(写一点关于今天的数据库学习吧)
- RS232 RS485 TO ETH 常用指令
- TSM复现以及出现的错误
- 在 windows 上使用 gousb 开发 usb
- iOS 视频播放(AVPlayer、MPMoviePlayerController、MPMoviePlayerViewController 区别)
- C++ 拯救公主(自创小游戏)
- 前端案例--CSS3实现图片光影效果
- 【SpringMVC架构】SpringMVC入门实例,解析工作原理(二)
- 【cofface作品】中兴U880 recovery 5.0.2.8中文版
- 建造自己的「天空之城」,密歇根大学博士后的这项研究可以虚空造物、偷天换日...