• Lumerical官方案例、FDTD时域有限差分法仿真学习(十七)——Y分支功分器


    官网链接:https://optics.ansys.com/hc/en-us/articles/360042800353-Y-branch

    使用 FDTD 计算 Y 分支的插入损耗、传输和 S 参数。 S 参数用于创建 INTERCONNECT 紧凑模型。

    在这里插入图片描述
    一、概述
    了解模拟工作流程和关键结果

    在这里插入图片描述
    y 分支以一系列 FDTD 模拟为特征。 每次仿真都会测量到输出端口的功率传输、插入损耗和 S 参数。 通常需要三个模拟; 一个用于设备的每个端口。 模拟的数量也随着测量中模式的数量而增加。 S 参数用于在 INTERCONNECT 中构建紧凑模型。

    第 1 步:初始模拟
    确保正确设置模拟并探索结果。

    第 2 步:S 参数扫描
    提取设备 S 参数,以在 INTERCONNECT 中创建紧凑模型。

    第 3 步:紧凑型模型
    导入 S 参数以在 INTERCONNECT 中创建紧凑模型

    有关优化 Y 分支几何的信息,请参阅 Y 分支粒子群优化 (PSO) 示例。

    二、运行和结果
    运行模型的说明和关键结果的讨论

    第 1 步:测量 Y 分支的性能
    1.在 FDTD 中打开 y_branch.fsp 文件并单击运行按钮。
    2.可以通过右键单击监视器并可视化感兴趣的量来手动探索结果。

    场分布
    频域场剖面监视器 (field_monitor) 显示设备中的稳态场剖面。 输入端口周围的场纹波是由于前向和后向传播场之间的干涉造成的。

    在这里插入图片描述
    第 2 步:S 参数矩阵扫描
    1.运行文件中的 s 参数扫描,以获取每个感兴趣的端口和模式的设备的 S 参数。
    2.通过右键单击扫描并可视化感兴趣的量,可以手动探索 S 参数扫描结果。
    3.通过右键单击扫描并选择“Export to INTERCONNECT”选项将 S 参数导出到文件。
    4.或者,如果相位和群延迟很关键,请使用 add_group_delay_FDTD_Spar.lsf 脚本文件在步骤 4 中生成的 S 参数文件中添加群延迟规范。
    5.运行脚本 y_branch_plot.lsf 以生成功率传输和插入损耗图。

    S参数

    S 参数是复振幅反射和透射系数,用于表征器件的输入/输出行为。有关详细信息,请参阅附录。下图绘制了在 TE 和 TM 模式下从端口 1 到端口 2 和端口 3 的归一化功率传输(s 参数的abs^2)。该图表明 Y 分支分光比约为 50-50 (S21 = S31),对波长不是很敏感。

    在这里插入图片描述
    插入损耗

    Y 分支的分离插入损耗测量从输入端口(端口 1)到每个输出端口(端口 2 和端口 3)插入 Y 分支的信号功率损耗。 插入损耗通常以 dB 为单位。 对于 Y 分支的优化结点,我们看到在宽工作带宽下插入损耗非常小,如下图所示
    在这里插入图片描述
    第 3 步:INTERCONNECT 紧凑型模型
    1.在 INTERCONNECT 中打开 y_branch.icp 文件。
    2.将步骤 1 中生成的 S 参数文件导入到 Optical N Port S 参数元素(Y 分支)。
    3.更改 ONA“正交标识符 orthogonal identifier”以激发 TE 或 TM 模式信号。
    4.运行模拟并可以在分析器的结果视图窗口中手动探索结果,方法是
    右键单击结果条目并选择“orthogonal identifier”或“orthogonal identifier.”
    双击结果条目

    功率传输

    正如预期的那样,在 INTERCONNECT 中测量的功率传输与在 FDTD 中测量的 s 参数功率传输相同。

    在这里插入图片描述
    三、重要的模型设置
    此模型中使用的重要对象和设置的描述

    端口对象
    端口充当模式源、场监视器和模式扩展监视器的组合。 确保端口对象跨度足够大以包含感兴趣的模式非常重要。 端口对象的紫色箭头表示将光注入模拟的活动端口。 源注入轴和方向可以在单个端口对象的“Modal Properties”选项卡中设置。 选择模场时,使用“fundamental TE”或“fundamental TM”选项来选择适当的模式。 可视化模式数据以确认找到正确的模式。

    在这里插入图片描述
    S参数矩阵扫描
    默认情况下,S 参数矩阵扫描包括所有端口的所有选定模式。 对于对称结构,用户可以选择不激发所有端口并映射来自其他端口的一些结果。 这可以通过取消选中“Excite all ports”选项并选择“Active”端口然后从活动端口映射非活动端口或使用“Active”按钮进行自动映射来完成。
    在这里插入图片描述
    S 参数导出:模式 ID 和位置
    使用“INTERCONNECT Export Setup”的“Custom define”选项来定义导出数据的模式 ID 和端口位置属性。
    在这里插入图片描述
    文件导出会自动为每个模式分配一个“Mode ID。 通常需要手动设置“模式 ID”,以便它们与 INTERCONNECT 使用的“orthogonal identifier”约定一致(见下一点)。 例如,INTERCONNECT 中的基本 TE 模式始终是“正交标识符 = 1”。

    根据设备的几何形状设置“Port location”字段,以便 INTERCONNECT 中的端口终端显示在元件的正确一侧。

    光网络分析仪 (ONA) 激发模式
    INTERCONNECT 中的 ONA 一次只能激发一种偏振光,它可以测量所有偏振/模式组合作为结果。 激励模式的设置是“波导Waveguide”部分中的“正交标识符orthogonal identifier”属性。 “正交标识符”=1表示TE0模式,“正交标识符”=2表示TM0模式,以此类推。

    在这里插入图片描述
    四、使用您的参数更新模型
    根据您的设备参数更新模型的说明

    1.设置感兴趣的源波长范围。
    2.更换或更新 Y 分支结构以匹配您的设备。 对象几何可以使用原始元素定义,也可以从文件中导入。
    3.在端口对象中选择感兴趣的模式。
    4.更新端口位置和大小。 端口应集中在每个波导上。 跨度应该足够大以覆盖感兴趣模式的整个范围。

    五、让模型更进一步
    为想要进一步定制模型的用户提供的信息和提示

    优化Y分支
    Y 支路的优化对于低损耗和波长不敏感的结结构至关重要。 请参阅 Y 分支 PSO 示例。

    六、个人学习

    6.1 建立结构

    通过查阅参考论文,其输入输出波导都是0.5μm。
    在这里插入图片描述
    检验结构设置,确实为0.5μm。
    在这里插入图片描述
    经测量,其锥度部分也为2μm
    在这里插入图片描述
    它这里的整个y分支应该是从GDS版图文件导入的。
    在这里插入图片描述
    在这里插入图片描述
    6.2 结果分析

    场监视器结果

    在这里插入图片描述
    S参数扫描
    在这里插入图片描述

    在这里插入图片描述
    先运行。因为有6项,所以总共运行6次。
    在这里插入图片描述
    运行完,有这些结果
    在这里插入图片描述

    看一看S matirx
    在这里插入图片描述
    它是选了某一波长下,然后根据6种状态分别入射出射,算得的功率传输。这里在所有波长下,有较大值的就是S31, S51, S42, S62, 以及对称的S13等(与传输方向有关)。

    S31应该指的是从端口1到端口2,TE模式的传输。
    S51应该指的是从端口1到端口3,TE模式的传输。
    S42应该指的是从端口1到端口2,TM模式的传输。
    S62应该指的是从端口1到端口3,TM模式的传输。
    在这里插入图片描述
    然后我们删除其他S parameters的结果,只看这四个,如下图所示。
    在这里插入图片描述
    S31=S51, S42=S62, 由此可见,该功分器是1:1分配的。

    画图代码

    S = getsweepresult("s-parameter sweep", "S parameters");
    S21_TE = pinch(abs(S.S31)^2); # 其实就是改个名字
    S31_TE = pinch(abs(S.S51)^2);
    S21_TM = pinch(abs(S.S42)^2);
    S31_TM = pinch(abs(S.S62)^2);
    lambda = S.lambda;
    
    Pin = ones(100, 1);
    IL1_TE = 10*log10(Pin/S21_TE);  # 这里是计算插入损耗
    IL2_TE = 10*log10(Pin/S31_TE); 
    IL1_TM = 10*log10(Pin/S21_TM); 
    IL2_TM = 10*log10(Pin/S31_TM); 
    
    plot(lambda*1e6, IL1_TE, "lambda (um)", "Insertion loss (dB)", "","linewidth = 5, pen = --");
    holdon;
    plot(lambda*1e6, IL2_TE, "lambda (um)", "Insertion loss (dB)", "","linewidth = 5, pen = -.");
    plot(lambda*1e6, IL1_TM, "lambda (um)", "Insertion loss (dB)", "","linewidth = 5, pen = --, color = pink");
    plot(lambda*1e6, IL2_TM, "lambda (um)", "Insertion loss (dB)", "","linewidth = 5, pen = -., color = black");
    holdoff;
    legend("IL port2 TE", "IL port3 TE", "IL port2 TM", "IL port3 TM");
    
    plot(lambda*1e6, S21_TE, "lambda (um)", "Normalized power transmission", "","linewidth = 5, pen = --");
    holdon;
    plot(lambda*1e6, S31_TE, "lambda (um)", "Normalized power transmission", "","linewidth = 5, pen = -.");
    plot(lambda*1e6, S21_TM, "lambda (um)", "Normalized power transmission", "","linewidth = 5, pen = --, color = pink");
    plot(lambda*1e6, S31_TM, "lambda (um)", "Normalized power transmission", "","linewidth = 5, pen = -., color = black");
    holdoff;
    legend("S21 TE (abs^2)", "S31 TE (abs^2)", "S21 TM (abs^2)", "S31 TM (abs^2)");
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    计算插入损耗(浙江大学《微纳光子集成》)
    在这里插入图片描述

    程序里面为啥用1除以传输率?

    这样前面就不用加-10而是10了

    画图结果:
    在这里插入图片描述
    跟正文一样。

    6.3 导出到INTERCONNECT

    在这里插入图片描述
    在这里插入图片描述
    这里显示元件y-branch来自.data的S参数数据文件
    在这里插入图片描述
    不太会用INTERCONNECT,以下是短暂地摸索取得的结果:

    这里设置正交标识符 orthogonal identifier为2,表示TM入射,然后运行。
    在这里插入图片描述

    在这里插入图片描述
    在左侧结果里面找到:input2的mode2的transmission结果,画图绘制,选abs^2.
    还有input3的mode2的transmission结果,添加到上一张图中。.

    在这里插入图片描述
    在这里插入图片描述
    这就是TM下的功率传输结果
    在这里插入图片描述
    然后同理,吧正交标识符换成1,TE入射。添加input2和input3的mode1进入结果图,如下图所示。符合正文中的结果。
    在这里插入图片描述
    这里,需要注意的是:在INTERCONNECT里面运行的文件,路径不能有中文!

    能运行成功的示意图:
    在这里插入图片描述
    不能运行的示意图:
    在这里插入图片描述

    6.4 接下来的学习内容

    1.S参数扫描
    2.PSO优化Y branch
    3.INTERCONNECTA的使用

    相关出版物
    Zhang, Yi, et al. “A compact and low loss Y-junction for submicron silicon waveguide.” Optics express 21.1 (2013): 1310-1316.

  • 相关阅读:
    代码随想录第45天|70. 爬楼梯,322. 零钱兑换,279.完全平方数
    mybatis-plus 报错记录
    HBase的逻辑结构与物理结构
    RT-Thread 快速上手(学习)
    【FPGA零基础学习之旅#16】嵌入式块RAM-双口ram的使用
    基于 Socket 网络编程
    pat basic 1084 外观数列
    【计算机网络】网络层:IP数据报首部
    视觉信息处理与FPGA实现第八次作业——verilog实现亮度调节
    python中开发页面的两种方法:Qt Designer(PyQt图形化界面拖拽开发App界面)以及Django(开发Web应用框架)
  • 原文地址:https://blog.csdn.net/weixin_45719141/article/details/127677696