MATLAB实现二氧化硅和硅光纤的单模光波特性与仿真

一.二氧化硅和硅光纤的单模光波特性

利用麦克斯方程的精确解研究二氧化硅和硅亚波长直径导线的单模光波特性。研究了单模条件、模场。

二氧化硅光纤导线是圆形截面,包层是空气包层,阶梯型变化的折射率,导线线径D非常小长度足够长,因此介电常数(ε)和磁导率(µ)可以用来描述介电介质对入射电磁场的响应。

1.基于该条件,将麦克斯韦方程简化为亥姆霍斯方程

波矢:k=2π/λ,β是传播常数。

光在导线内的传播模式分析

光在导线中传播,存在导模和基模HEvm、EHvm、TE0m、TH0m四种模式,模式特征方程:

主要研究的TE0m模式和TH0m模式:

其中Jv为第一类贝塞尔函数,Kv为第二类修正贝塞尔函数,

2.求二氧化硅和硅的折射率:

空气折射率n2等于1.0,利用sellmeier型色散公式求解:

对于二氧化硅:

对于硅:

(1)线径D和V参数,以及波长下传播常数(β)之间的关系,最后是所在波长下单模工作的的临界直径DSM。

基本模型建立

数值求解beta(β)-D

流程图:

hold on
%-------------------------TM01------------------------
clear
format long
%光纤参数
lambda = 1.5;%波长,单位微米
% lambda = 0.633;%波长,单位微米
n2 = 1;%空气包层折射率
N1 = 11.6858+(0.939816./(lambda.^2))+0.000993358./((lambda.^2)-1.22567);
% N1 = ((0.6961663*(lambda^2))/((lambda^2)-(0.0684043)^2))+((0.4079426*(lambda^2))./((lambda^2)-(0.1162414)^2))+((0.8974794*(lambda^2))./((lambda^2)-9.86161^2))+1;
n1 = sqrt(N1);%光纤纤芯折射率;
k = (2*pi)/(lambda*1e-6);
% delta1 = (n1^2-n2^2)/(2*(n1^2));%相对折射率
% delta2 = (n1^2+n2^2)/(2*(n1^2));
D = 0:0.001:0.8;%纤芯线径,单位微米
% D = 0:0.001:1;%纤芯线径,单位微米
Dprint = zeros();
V = zeros();%归一化折射率数组初始化
betaTM = zeros(0);%传播常数数组初始化
TMi = 1;
z = 1;
n = n2;
% Vcut = 0;
TM01 = zeros();
for Dvalue = 1:length(D)DLigth = D(Dvalue)*(1e-6);Dr = (1/2)*DLigth%V2(Dvalue) = (pi/lambda)*(D(Dvalue)^2)*2*delta1V(Dvalue) =k*Dr*sqrt((n1^2)-(n2^2));% for Value = Vcut:0.01:V(Dvalue)for BeiTa = n+0.00001:0.00001:n1U2 = (Dr^2 * k^2) * n1^2 - Dr^2 * k^2 * BeiTa^2;U = sqrt(U2);W2 = Dr^2 * k^2 * BeiTa^2 - (Dr^2 * k^2) * n2^2;W = sqrt(W2);Dprint(Dvalue) = sqrt(U2+W2);if(U == 0 || W == 0)z = z+1;break;elseJU = besselj(1,U)/(U*besselj(0,U));KW = besselk(1,W)/(W*besselk(0,W));if(abs(JU+KW)<0.1)TM01(TMi) = D(Dvalue)*1000;betaTM(TMi) = BeiTa;TMi = TMi+1;% Vcut = V(Dvalue);n = BeiTa;break;endendend
end
figure
plot(TM01,betaTM,'b')

 

(a)(b)

 

(c)(d)

图1(a)(b)是SiO2在入射波长633nm(c)(d)是Si在波长1500nm下传播常数β与线径D和归一化频率V之间的关系

得出线径D和V参数,以及波长下传播常数(β)之间的关系,最后是所在波长下单模工作的的临界直径DSM。

二.单模和基模的分析

单模分析:

空气包覆线波导的单模条件:

因此空气包层二氧化硅和硅导波的单模条件

% hold on
%HE11
clear
format long
%光纤参数
% lambda1 = 6.63;
lambda = 0.2:0.001:3;%波长,单位um
n2 = 1;%空气包层折射率
Sin1 = zeros();
SiN1 = zeros();
SiO2n1 = zeros();
SiO2N1 = zeros();
kSi = zeros();
DSi = zeros();
LSi = zeros();
DSiO2 = zeros();
LSiO2 = zeros();
Si_lambda = zeros();
SiO2_lambda = zeros();
Si = 1;
SiO2 = 1;
for LValue = 1:length(lambda)SiN1(LValue) = 11.6858+(0.939816/(lambda(LValue)^2))+0.000993358/((lambda(LValue)^2)-1.22567);Sin1(LValue) = sqrt(SiN1(LValue));%Si光纤纤芯折射率;SiO2N1(LValue) = ((0.6961663*(lambda(LValue)^2))/((lambda(LValue)^2)-(0.0684043)^2))+((0.4079426*(lambda(LValue)^2))/((lambda(LValue)^2)-(0.1162414)^2))+((0.8974794*(lambda(LValue)^2))/((lambda(LValue)^2)-9.86161^2))+1;SiO2n1(LValue) = sqrt(SiO2N1(LValue));%SiO2光纤纤芯折射率;kSi(LValue) = (2*pi)/(lambda(LValue)*1e-6);% D(LValue) = 2.405*lambda(LValue)/(pi*sqrt(n1(LValue)^2 - n2^2));% Si_lambda = lambda(LValue)/n1(LValue);if(lambda(LValue)>=1.2)LSi(Si) = lambda(LValue)*1000;Si_lambda(Si) = lambda(LValue)/Sin1(LValue)*1000;DSi(Si) = 2.405*lambda(LValue)/(pi*sqrt(Sin1(LValue)^2 - n2^2))*1000;Si = Si + 1;endif(lambda(LValue)>= 0.2 && lambda(LValue)<=3)LSiO2(SiO2) = lambda(LValue)*1000;SiO2_lambda(SiO2) = lambda(LValue)/SiO2n1(LValue)*1000;DSiO2(SiO2) = 2.405*lambda(LValue)/(pi*sqrt(SiO2n1(LValue)^2 - n2^2))*1000;SiO2 = SiO2 + 1;endend
figure(2)
plot(LSi,DSi,'r',LSi,Si_lambda,'--m',LSiO2,DSiO2,'b',LSiO2,SiO2_lambda,'--g')
datacursormode(figure(2), 'on');
axis equal
axis([0 3000 0 2000])
xlabel('Wavelength in Air (nm)')
ylabel({'Wire Diameter (nm)';'Wavelength in Media (nm)'})
title('空气包覆二氧化硅和硅线的单模态')
legend('Silicon_D','Silicon_W','Silica_D','Silica_W')

图2单模条件

从图中可以得出以下的分析:

亚波长直径的二氧化硅线波导始终是单模,而亚波长直径的硅线波导需要在直径低于图中

实线时才是单模。

二氧化硅和硅的边缘波长分别是200nm和1200nm,响应的最小临界直径(DSM)为

129nm和272nm。

参考文献

亚波长直径二氧化硅和硅的单模波导特性

(廖延彪. 光纤光学——原理与应用 [M]. 北京: 清华大学出版社, 2010.)

具体代码

https://download.csdn.net/download/m0_62501117/90752169

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/79379.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux系统】第二节—基础指令(2)

hello ~ 好久不见 自己想要的快乐要自己好好争取&#xff01; 云边有个稻草人-个人主页 Linux—本篇文章所属专栏—欢迎订阅—持续更新中 目录 本节课核心指令知识点总结 本节基本指令详解 07.man 指令 08.cp 指令 09.mv 指令 10.cat 指令 11.more 指令 12.less 指令 …

为了结合后端而学习前端的学习日志——【黑洞光标特效】

前端设计专栏 今天给大家带来一个超酷的前端特效——黑洞光标&#xff01;让你的鼠标变成一个会吞噬光粒子的迷你黑洞&#xff0c;点击时还会喷射出绿色能量粒子&#xff01;&#x1f320; &#x1f680; 效果预览 想象一下&#xff1a;你的鼠标变成一个旋转的黑洞&#xff0…

[硬件电路-11]:模拟电路常见元器件 - 什么是阻抗、什么是输入阻抗、什么是输出阻抗?阻抗、输入阻抗与输出阻抗的全面解析

1. 阻抗&#xff08;Impedance&#xff09; 定义&#xff1a;阻抗是电路或元件对交流信号&#xff08;AC&#xff09;流动的阻碍能力&#xff0c;用符号Z表示&#xff0c;单位为欧姆&#xff08;Ω&#xff09;。它综合了电阻&#xff08;R&#xff09;、电感&#xff08;L&am…

机器学习和深度学习的对比

深度 数据经过深层网络后&#xff0c;语义信息表征能力强&#xff0c;对几何细节信息表征能力弱。 数据依赖性 深度学习算法需要大量的数据来训练&#xff0c;而传统的机器学习使用制定的规则。所以&#xff0c;当数据量少时&#xff0c;深度学习的性能差于机器学习&#xf…

Kubernetes 安装 minikube

安装 minikube 在 Ubuntu 上安装 minikube minikube 是一个工具&#xff0c;它可以在本地快速运行一个单节点的 Kubernetes 集群。它主要用于&#xff1a;本地学习 Kubernetes、测试和开发 Kubernetes 应用程序、快速尝试 Kubernetes 的功能。 系统配置最低要求如下 CPU&#…

【学习笔记】深度学习:典型应用

作者选择了由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 三位大佬撰写的《Deep Learning》(人工智能领域的经典教程&#xff0c;深度学习领域研究生必读教材),开始深度学习领域学习&#xff0c;深入全面的理解深度学习的理论知识。 之前的文章参考下面的链接&#xf…

ComputeShader绘制全屏纯色纹理

参考 Getting Started With Compute Shaders In Unity 环境 Win10 Unity20194.40 全屏纯色纹理示例 使用ComputerShader逐个像素设置颜色 ComputeShader脚本 设置纹理颜色 #pragma kernel CSMainRWTexture2D<float4> Result;//纹理 half4 solidColor;//颜色[numth…

数学实验(Matlab语言环境和线性代数实验)

一、Matlab语言环境和线性代数实验 1.Matlab语言环境 Matlab简介 Matlab&#xff1a;Matrix Laboratry 矩阵实验室 Matlab 提供了强大的科学计算、灵活的程序设计流程、高质量的图形可视化与界面设计等功能&#xff0c;被广泛应用于科学计算、控制系统、信息处理等领域的分…

Android面试总结之GC算法篇

一、GC 机制核心原理与算法 面试题 1&#xff1a;Android 中为什么采用分代回收&#xff1f;分代策略如何优化 GC 效率&#xff1f; 标准答案&#xff1a; 分代回收基于对象生命周期的差异&#xff0c;将堆分为年轻代&#xff08;Young Gen&#xff09;和老年代&#xff08;Ol…

仿腾讯会议——注册登录UI

1、加载素材 2、新添加资源类 3、加载图片 4、添加左侧图片 在左侧添加一个标签 选择图片 选择图片 勾选保证图片不变形 5、修改组件名称 6、设置密码输入框 5、切换 6、编辑提示框 7、定义提交和清空的槽函数 8、设置页面标题和最先显示页面 9、清空登录信息函数实现 10、清空…

Kotlin 常见问题

以下从基础、中级、高级三个难度等级为你提供 Kotlin 面试题及参考答案&#xff1a; 基础难度 1. Kotlin 中 val 和 var 的区别是什么&#xff1f; 答案要点&#xff1a;val 用于声明不可变变量&#xff0c;类似于 Java 中的 final 变量&#xff0c;一旦赋值后就不能再重新赋…

高频数据冲击数据库的技术解析与应对方案

目录 前言一、问题现象与影响分析1.1 典型场景表现1.2 核心问题分类 二、失效根源深度剖析2.1 架构设计缺陷2.2 缓存策略缺陷 三、解决方案与最佳实践3.1 缓存架构设计3.1.1 分层缓存架构3.1.2 热点数据识别 3.2 缓存策略优化3.2.1 动态过期时间算法3.2.2 缓存更新策略对比 3.3…

[Spring] Sentinel详解

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

清除浮动的重要性及解决办法

由于父级盒子很多情况下&#xff0c;不方便给高度&#xff0c;但是子盒子浮动又不占有位置&#xff0c;最后父级盒子高度为0时&#xff0c;就会影响下面的标准流盒子。 一、为什么要清除浮动 父元素高度塌陷&#xff1a; 如果父元素内部的所有子元素都浮动了&#xff0c;并且没…

域名与官网的迷思:数字身份认证的全球困境与实践解方-优雅草卓伊凡

域名与官网的迷思&#xff1a;数字身份认证的全球困境与实践解方-优雅草卓伊凡 一、官网概念的法律与技术界定 1.1 官网的实质定义 当卓伊凡被问及”公司域名就是官网吗”这一问题时&#xff0c;他首先指出&#xff1a;”这相当于问’印着某公司logo的建筑就是该公司总部吗’…

kotlin flatMap 变换函数的特点和使用场景

Kotlin 中的 flatMap 是一个非常常用的函数&#xff0c;尤其在处理集合&#xff08;如 List、Set 等&#xff09;时。它结合了 map 和 flatten 的功能&#xff0c;常用于将多个集合扁平化为一个单一的集合。 一、flatMap 函数的特点 转换 扁平化&#xff1a; 对集合中的每个元…

java学习之数据结构:二、链表

本节介绍链表 目录 1.什么是链表 1.1链表定义 1.2链表分类 2.链表实现 2.1创建链表 1&#xff09;手动创建 2&#xff09;创建链表类进行管理链表的相关操作 2.2添加元素 1&#xff09;头插法 2&#xff09;尾插法 3&#xff09;任意位置插入 2.3删除 2.4查找 1&…

【计算机网络-应用层】解析HTTP会话保持:Cookie与Session的原理与实践

&#x1f4da; 博主的专栏 &#x1f427; Linux | &#x1f5a5;️ C | &#x1f4ca; 数据结构 | &#x1f4a1;C 算法 | &#x1f152; C 语言 | &#x1f310; 计算机网络 上篇文章&#xff1a;实现HTTP服务器 下篇文章&#xff1a;传输层协议-UDP 文章摘要&…

[ Qt ] | 第一个Qt程序

1. 创建Qt项目 我们打开Qt Create工具&#xff0c;左上角“文件”&#xff0c;新建文件。 --- --- --- --- 这个是我们的APP“走出国门”的时候&#xff0c;要关注的&#xff0c;这里就不说了。 后面这两个直接默认&#xff0c;下一步就行~~。 2. 项目默认内容 下面就是Qt C…

影刀RPA中新增自己的自定义指令

入门到实战明细 1. 影刀RPA自定义指令概述 1.1 定义与作用 影刀RPA的自定义指令是一种强大的功能&#xff0c;旨在提高流程复用率&#xff0c;让用户能够个性化定制指令&#xff0c;实现流程在不同应用之间的相互调用。通过自定义指令&#xff0c;用户可以将常用的、具有独立…