分析高数值孔径物镜的聚焦特性

摘要

高数值孔径的物镜广泛用于光刻、显微等方面。 因此,在仿真聚焦时考虑光的矢量性质是至关重要的。VirtualLab可以支持此类透镜的光线和场追迹分析。通过场追迹分析,可以清楚地显示出由于矢量效应引起的非对称焦点。相机探测器和电磁场探测器可以方便地研究聚焦区域的场,也可以深入研究矢量效应。 
 


 

建模任务

概述

•案例系统已预先设置了高数值孔径物镜。

•接下来,我们演示如何按照VirtualLab中建议的工作流程在示例系统上执行仿真。

光线追迹仿真

•首先选择“光线追迹系统分析器”作为模拟引擎。

•单击go!

•获得了3D光线追迹结果。

光线追迹仿真

•然后,选择“光线追迹”作为模拟引擎。

•单击go!

•结果得到点图(二维光线追迹结果)。

场追迹仿真

•切换到场追迹,然后选择“第二代场追迹”作为模拟引擎。

•单击go!


 

场追迹仿真(相机探测器)

•上图仅显示Ex和Ey场分量积分的强度。

•下图显示Ex、Ey和Ez分量积分的强度:由于在高数值孔径情况下Ez分量相对较大,因此可见明显的不对称性。

场追迹仿真(电磁场探测器)

•使用电磁场探测器可获得所有电磁场分量。


 

场追迹仿真(电磁场探测器)
 

•使用电磁场探测器可获得所有电磁场分量。

文件信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,根据您提供的信息,我可以为您提供一个简单的MATLAB程序来模拟光束通过前后折射率失配的透镜后的聚焦效果。 首先,我们需要定义一些常数和变量: ```matlab % 物理常数 c = 299792458; % 真空中的光速(m/s) h = 6.62607015e-34; % 普朗克常数(J·s) hbar = h / (2 * pi); % 约化普朗克常数(J·s) epsilon0 = 8.8541878128e-12; % 真空介电常数(F/m) mu0 = pi * 4e-7; % 真空磁导率(H/m) lambda = 515e-9; % 光波长(m) k = 2 * pi / lambda; % 波矢量(m^-1) % 透镜参数 n1 = 1; % 透镜前介质的折射率 n2 = 1.5; % 透镜后介质的折射率 f = 0.01; % 透镜焦距(m) d = 0.01; % 透镜厚度(m) % 采样参数 zmin = -0.01; % 最小深度(m) zmax = 0.01; % 最大深度(m) dz = 1e-5; % 深度采样间隔(m) ``` 接下来,我们可以计算出透镜的曲率半径和球面折射率,并定义一个函数来计算透镜的相位调制函数: ```matlab % 计算透镜曲率半径和球面折射率 R = 2 * f * (n2 - n1) / (n2 * n1); n0 = n1 + (n2 - n1) * (R - d/2) / R; % 定义透镜相位调制函数 function phi = lens_phase(x, y) r2 = x.^2 + y.^2; phi = -2 * pi * n0 / lambda * sqrt(R^2 - r2) + 2 * pi * n2 / lambda * (d/2 - sqrt(R^2 - r2)); end ``` 现在,我们可以定义一个函数 `psf_z`,它将计算在给定深度 `z` 处的点扩散函数: ```matlab function [z, psf] = psf_z(zpos) % 采样点坐标 x = linspace(-1.25e-6, 1.25e-6, 256); y = linspace(-1.25e-6, 1.25e-6, 256); [X, Y] = meshgrid(x, y); % 光束振幅 A = exp(-1i * k * sqrt(X.^2 + Y.^2 + (zpos - zmin)^2)); % 透镜相位调制 phi = lens_phase(X, Y); % 透镜传输函数 H = exp(1i * phi); % 透镜后的光束 B = A .* H; % 聚焦区域采样点坐标 x_focus = linspace(-1.25e-8, 1.25e-8, 64); y_focus = linspace(-1.25e-8, 1.25e-8, 64); [X_focus, Y_focus] = meshgrid(x_focus, y_focus); % 聚焦区域光强 I = abs(B).^2; I_focus = interp2(X, Y, I, X_focus, Y_focus); % 点扩散函数 psf = sum(I_focus, 'all'); % 返回深度和点扩散函数 z = zpos; end ``` 最后,我们可以在所需的深度范围内调用 `psf_z` 函数,并将结果绘制成一个图: ```matlab % 计算点扩散函数在不同深度下的分布 z_values = zmin:dz:zmax; psf_values = zeros(size(z_values)); for i = 1:length(z_values) [z, psf] = psf_z(z_values(i)); psf_values(i) = psf; end % 绘制点扩散函数分布图 plot(z_values, psf_values); xlabel('深度(m)'); ylabel('点扩散函数'); title('透镜焦点在不同深度下的点扩散函数分布'); ``` 这个程序将计算在 `zmin` 到 `zmax` 范围内以 `dz` 间隔采样的深度下的点扩散函数,并将结果绘制成一个图。您可以根据需要调整采样参数和绘图选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值