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πikf​0∫θmax​​0∫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实现聚焦光束仿真相关推荐

  1. matlab用于激光光束质量分析,MATLAB用于激光光束质量分析

    MATLAB用于激光光束质量分析 李 伦 巩马理 刘兴占 李振宇 王宇兴 (清华大学精密仪器系 ,北京 ,100084) 摘要 : 介绍了利用 CCD.计算机并基于 MATLAB 开发的激光光束质量分 ...

  2. 码分复用的matlab仿真,基于matlab的多路时分复用仿真.doc

    基于matlab的多路时分复用仿真 通信系统原理综设实验报告 多路时分复用matlab仿真系统 教师评语: 引言 在实际的通信系统中,为了扩大通信链路的容量,提高通信系统的利用率,需要在一条链路上传输 ...

  3. matlab zp2,matlab用于控制系统数字仿真

    matlab用于控制系统数字仿真 传递函数 n >>num=[6 12 6 10];den=[1 2 3 1 1]; n >>printsys(num,den) n 执行结果为 ...

  4. matlab基本杆组-运动学仿真,MATLAB基本杆组-运动学仿真.pdf

    MATLAB基本杆组-运动学仿真 第5章 运动学仿真 --Simulink的使用 从基本杆组理论为基础建立模型 §5-1 曲柄的MATLAB运动学仿真模块 1.曲柄的运动学矩阵表达式 在复数坐标系中, ...

  5. matlab实现瑞利信道需要的步骤,基于Matlab的瑞利信道仿真.docx

    移动通信期中论文 论文题目:基于Matlab的瑞利信道仿真Title:Rayleigh fading simulation based on Matlab 学院:信息学院专业:通信工程姓名:888 x ...

  6. 基于matlab编译码器的设计,基于MATLAB循环码编译码仿真

    基于MATLAB循环码编译码仿真(论文11000字) 摘要:在具体了解循环码的编码理论的基础上,使用 M ATLA B 软件设计了循环码编译码器. 通过 M ATLAB 软件实现循环码的编译码 ,通过 ...

  7. 用matlab简单电路模型,基于MATLAB的电路模型仿真应用

    基于MATLAB的电路模型仿真应用实验指导书 一.实验目的 1.掌握采用M文件及SIMULINK对电路进行仿真的方法. 2.熟悉POWERSYSTEM BLOCKSET 模块集的调用.设置方法. 3. ...

  8. 基于matlab的gps信号仿真123,MATLABGPS信号仿真完整源代码.doc

    配套毕业设计论文见百度文库 请搜索 <基于MATLAB的GPS信号仿真123> 附录 仿真程序代码 数据码的产生 function datacode=data(x) y=rand(1,x) ...

  9. 潮流仿真分析matlab,基于MATLAB的电力系统潮流仿真与研究

    DOI:10. 13888/j. cnki. jsie(ns). 2019. 02. 008 收稿日期:2018 - 07 - 17 基金项目:国家自然科学基金青年项目(61803271)作者简介:刘 ...

最新文章

  1. 使用read write 读写socket
  2. 人工神经网络背后的数学原理!
  3. NOT NULL列用IS NULL也能查到数据?
  4. 什么样的域名更利于优化?
  5. Redis AOF 全持久化
  6. php重定向 htaccess文件的编写
  7. Ubuntu14下搭建Web服务器
  8. 只安装python_AI帮你写Python,安装只需5步,还能任你调教 | 开源
  9. android触摸指纹会触发按键功能,Android P新特性:利用触摸指纹识别器能阻止手机息屏...
  10. 【Python CheckiO 题解】I Love Python!
  11. linux内核相关知识
  12. Python 连接开放航空交通数据,轻松构建航班跟踪应用!
  13. 反向传播(Back Propagation)与神经网络(Neural Network)
  14. 力软敏捷开发框架源码7.0.6旗舰版 JNPF开发平台3.3.3 3.4.1企业版/旗舰版框架
  15. 联想V480(扬天) EI Capitan 完美驱动教程
  16. 用springboot对接支付宝支付接口的详细开发步骤总结
  17. 28.earch in Rotated Sorted Array(排序旋转数组中查找)
  18. idea2020.1.1 窗口显示 Outdated version. 完美解决
  19. 363、Java中级18 -【JDBC - 增、删、改】 2020.06.28
  20. lstm实战,nlp情感分析(Kaggle)

热门文章

  1. 第一次的博客(写一点关于今天的数据库学习吧)
  2. RS232 RS485 TO ETH 常用指令
  3. TSM复现以及出现的错误
  4. 在 windows 上使用 gousb 开发 usb
  5. iOS 视频播放(AVPlayer、MPMoviePlayerController、MPMoviePlayerViewController 区别)
  6. C++ 拯救公主(自创小游戏)
  7. 前端案例--CSS3实现图片光影效果
  8. 【SpringMVC架构】SpringMVC入门实例,解析工作原理(二)
  9. 【cofface作品】中兴U880 recovery 5.0.2.8中文版
  10. 建造自己的「天空之城」,密歇根大学博士后的这项研究可以虚空造物、偷天换日...