首页/文章/ 详情

【Lumerical系列】无源器件-复用器件(2)

1月前浏览1585


本期是Lumerical系列中无源器件专题-复用器件的第二期,主要内容为波分复用器的设计与仿真,并以典型的级联微环(MRR)型波分复用器为例进行仿真实操。首先简述了微环谐振器作为波分复用器的工作原理,然后使用Lumerical软件中的MODE模块进行了双微环级联的仿真实操,最后使用INTERCONNECT模块进行四微环级联的仿真实操。

工作原理

MRR是一种由环形波导构成的谐振腔结构,当光从输入端耦合进MRR后,会被限制在环形谐振腔内循环传输,对于一些特定波长的光,其在MRR中传输一周之后的相位变化量是2π的整数倍,使得该光会与输入光发生相长干涉,当光不断输入MRR后,光能在MRR中稳定分布,传输和贮存,这就是MRR的谐振态。而其他波长的光无法与输入光发生相长干涉,使其无法在MRR中稳定传输,这就是非谐振态。由相长干涉的条件可知,对于谐振态的光,其会满足下式:
式中neff表示波导的有效折射率;L为环形谐振腔的长度;m为整数。
传统的上下载型MRR的基本结构如图1(a)所示,它由两个直波导和一个环形谐振腔构成。在耦合区1中,假设直波导在耦合前后的电场强度的分别为 A1和A2,而环形波导中的电场分别为B1和B2。在耦合区2中,直波导两侧的电场强度分别为A4和A3,对应的环形波导中的电场分别为B4和B3。定义其耦合系数为k;透过系数为t;环形波导内的损耗系数为a;而光在环形波导中传输一周所积累的相位为φ=2πLneff/λ,其中L表示环形波导的周长。通过传输矩阵法可将MRR描述为下式:
 
其中,B2和B3,B1和B4的关系可表示为下式:
 
通过以上关系式计算可得直通端和下载端的传输响应分别表示为下式:
 
 
图1(a)微环结构示意图;(b)传输谱图
因此,上下载型MRR直通端和下载端的传输谱可表示为图1(b)。由图可知,MRR的下载端能分离出处于谐振态的波长,因此该结构具有波长选择性,只需级联多个不同环形谐振腔长度的MRR,就能实现波分复用功能。  

双微环级联的仿真实操

通过上述分析可知,要想实现双通道的波分复用功能,就需在总线波导上级联两个谐振波长不同(即环形谐振腔周长不同)的MRR。本次使用的是Lumerical软件中MODE模块中的varFDTD求解器进行双微环级联的仿真实操。首先是构建仿真模型,其结构如图2所示。输入波导(总线波导)被设计在两个环形谐振腔之间,λ1和λ2分别为MRR1和MRR2的谐振波长,输出端口1和输出端口2分别是MRR1和MRR2的下载端。因此,当光从输入端口进入时,波长为λ1的光信号将从输出端口1输出,而波长为λ2的光信号将从输出端口2输出,这样就实现了波长的解复用。

图2 双微环级联结构示意图
仿真步骤:

1)建立模型,包括SIO2包层和SI芯层;

2)选择varFDTD求解器,设置仿真区域;

3)加入光源和监视器;

4)运行和优化仿真。
为了使两个MRR的谐振波长不同,并且互不影响,在其耦合长度相同的条件下需改变其半径,故设置两个MRR的半径分别为5 μm和5.05 μm。当波长范围为1545-1570 nm时,仿真可得其传输谱如图3所示。结果显示λ1=1550.82 nm,而λ2=1562.02 nm。

图3 双微环级联的传输谱图

四微环级联的仿真实操

在使用varFDTD求解器进行MRR仿真时,由于光会在环形谐振腔中不停谐振,因此会花费大量仿真时间,如果将4个MRR级联,仿真时间更是成倍增加,不利于器件的设计和优化,故本次仿真将采用INTERCONNECT模块进行仿真。
该模块中有两种方法实现本次仿真,第一种是在元件库中选择Waveguide→Resonators→ Double Bus Ring Resonator,其流程如图4(a)所示,该方法是对波导的模式属性、总线波导之间功率“耦合系数”和“环形谐振腔周长”进行参数化。第二种是在元件库中选择S parameters→Optical→Optical N Port S-Parameter,其流程如图4(b)所示,该方法是先使用FDTD求解器对单个MRR进行仿真,然后导出其S参数,最后将该S参数导入INTERCONNECT中选择的元件中,不需要设置其他参数。本次仿真采用第一种设计方法。

图4(a)Double Bus Ring Resonator的选择流程图;(b)Optical N Port S-Parameter的选择流程图
仿真步骤:
1)选择光谱分析仪以及4个Double Bus Ring Resonator ;

2)设置相关参数,包括光谱分析仪的频率范围、Double Bus Ring Resonator的模式属性、耦合系数、环形谐振腔周长等参数;

3)连接各个元件。将光谱仪的输出端接到第一个MRR的输入端,再将MRR的直通端连接下一个MRR的输入端,并且每个MRR的下载端都连接光谱分析仪的输入端;

4)运行仿真。

为了实现4个MRR的谐振波长不同,分别设置其环形谐振腔周长为30 μm、30.5 μm、31 μm和31.5 μm。将4个MRR进行级联,其结构示意图如图5所示。

图5 四微环级联的结构示意图

当波长范围为1548-1564 nm nm时,仿真可得其传输谱如图6所示。结果显示λ1=1553.4 nm、λ2=1555.4 nm、λ3=1557.4 nm、λ4=1559.4 nm。

图6 四微环级联的传输谱图
本期文章以级联微环型波分复用器为例进行了仿真实操。简单讲解了MRR的工作原理,分别用varFDTD求解器和INTERCONNECT进行了双微环级联以及四微环级联的仿真实操,下一期文章我们将进行其他类型复用器件的仿真实操,欢迎大家持续关注公 众号的更新。
- END -



来源:摩尔芯创
Optical半导体光学电力电子UM电场CSTLumerical
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-29
最近编辑:1月前
摩尔芯创
光学仿真、光学培训、硅基光电子
获赞 6粉丝 5文章 36课程 0
点赞
收藏
作者推荐

Lumerical Python API (二) - 初始配置

Lumerical各仿真软件 (如FDTD, DEVICE, INTERCONNECT) 与Python编程语言的交互,依靠仿真软件预留的接口Python API实现,这种接口具体而言就是一个叫做lumapi的Python库。导入lumapi库并初始化会话即可实现仿真软件与Python的交互,该过程需要GUI lisence。Lumerical的求解器附带了一个基本的Python 3发行版供用户使用[1],可以直接从软件安装路径中的\Lumerical\v221\python-3.6.8-embed-amd64\打开python.exe并导入lumapi库:import lumapipython的开发工具很多,个人习惯用pyCharm写代码,接下来以pyCharm为例,介绍使用Lumerical自带的Python配置新工程的过程。新建pyCharm工程时,在图1中黄圈位置,选择Lumerical自带Python作为解释器,在安装路径"Lumerical\\v221\\python-3.6.8-embed-amd64\\"下选python.exe即可 (不同版本的路径可能略有不同)。这样建立的工程,可以用pip等工具安装和管理包。图一 使用Lumerical自带Python配置pyCharm工程如果不使用Lumerical自带的Python作为解释器,用户想用自己配置的anaconda环境来使用Python,那就需要将lumapi的父目录附在当前目录上。用append()函数添加带有接口包的路径,让import类可以成功检索到lumapi模块:import sys, ossys.path.append("C:\\Lumerical\v221\\api\\python\\") #Win默认路径sys.path.append(os.path.dirname(__file__))import lumapifdtd = lumapi.FDTD() #开启FDTD会话使用append( )函数添加的路径,只在程序运行时生效。如果想直接从其他路径导入lumapi.py文件,可以使用load_source( )函数: import impapipath = 'C:\\Lumerical\v221\\api\\python\\lumapi.py' #Win默认路径imp.load_source('lumapi', apipath)import lumapifdtd = lumapi.FDTD() #开启FDTD会话这里需要注意的是,用anaconda搭建环境时,只能选择python的版本,不能具体指定使用哪个python解释器,如图2所示。图2 用conda环境配置PyCharm工程所以在用anaconda作为新建工程的环境时,推荐将python版本设置为相同的3.6,如图2红框所示。以Lumerical 2022 R1版本为例,在安装路径Lumerical\\v221\\python-3.6.8-embed-amd64\\python.exe下,有其自带python,版本为3.6.8。如果选用其他版本,例如3.7、3.8等,可能会出现缺乏依赖报错等问题,例如常见的一个情况就是找不到interopapi.dll:FileNotFoundError: Could not find module 'interopapi.dll' (or one of its dependencies). Try using the full path with constructor syntax.如果只是简单地将该dll文件复 制到anaconda环境的路径下,是无法和python关联起来的,运行依然会报错。这种由于版本不同导致的问题,解决起来比较麻烦,不如在配置的时候选用版本相同的python作为解释器,避免这类问题出现。当然,正如图1处介绍的,也可以不使用anaconda搭建环境,在新建工程时直接用Lumerical自带的python作为解释器。本节总结了Python API的初始配置技巧,后续文章会继续介绍会话管理、数据传递等,最终用实际的例子展示该过程。[1]https://support.lumerical.com/hc/en-us/articles/360041873053-Session-management-Python-API来源:摩尔芯创

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈