MATLAB-光纤光栅-均匀光纤布拉格光栅模式耦合方程及求解与仿真
1 普遍的耦合模方程及说明
普遍的耦合模方程可由麦克斯韦方程组推导得出:
(1)
(2)
其中,表示横向(及光纤截面方向),表示纵向(及光纤传播方向),为模式序数。和为模式的前向(沿z方向)和后向(沿-z方向)传输的横向模场分量的幅值;和为模式的前向和后向传输的横向模场分量的幅值;和为模式和的传播常数,,,为真空中的波数,为波长,为有效折射率,和分别是模式和之间的横向和纵向分量的耦合系数。和分别为:
(3)
(4)
其中,为光波的角频率;和分别为模式和的电场横向矢量分量;为光波导中由于扰动引起的介电常数改变量,,为未受扰动时的折射率,为折射率改变量。比小得多,通常可以忽略。式(1)和式(2)为普遍的耦合模方程,大多数情况下,可以得以简化。
2 均匀光纤布拉格光栅耦合模方程及求解
均匀光纤布拉格光栅(FBG)的图示如下:
图1 均匀布拉格光栅示意图
光纤布拉格光栅使沿z轴传播的纤芯模和沿-z轴方向传播的纤芯模产生耦合。耦合模方程为:
(5)
(6)
其中,;前行模和后行模的自耦合系数相等,统一记为。
紫外光刻写的均匀正弦光纤布拉格光栅,折射率该变量为:
(7)
其中为光栅的周期,为折射率调制的缓变包络,通常称为切趾或切趾函数。实际制作的光栅的折射率分布接近方波分布,这里相当于只取傅里叶展开的第一项。折射率改变量:
(8)
其中。
将折射率该变量(8)式带入横向耦合系数(3)式,得到:
(9)
其中:
(10)
这里,,和分别为真空中磁导率和介电常数;当下标相同时,为自耦合系数,不同时为互耦合系数;表示有效折射率该变量,反映折射率调制深度,定义为:
(11)
可以看出当波长一定,折射率调制深度越大,耦合系数越大。对于均匀光纤光栅,只有纤芯模间的耦合,对单模光纤,。把带入耦合模方程(5)和(6)并利用欧拉公式,会出现项。在耦合模方程中,只有当指数项为0时才会出现强耦合,因此只取指数项会为0的项,得到简化后的耦合模方程:
(12)
(13)
其中:
起主要作用的是第二项,自耦合系数可以忽略,得到:
(14)
(15)
设栅区分布在0~L,将(14)和(15)式化为两个二阶常微分方程,取边界条件时,;时,,可以得到方程的解和,解方程过程下一篇讲述。
当时,
(16)
(17)
其中,。对一般情况可以取,,则得到均匀光纤布拉格光栅的反射率和透射率:
(18)
(19)
当时,
(20)
(21)
(22)
(23)
均匀光纤布拉格光栅中的两个模为相反方向传输的纤芯模,相位匹配条件为,则:
(24)
利用则可以将(24)式写为:
(25)
3 均匀光纤布拉格光栅反射谱和透射谱的MATLAB数值仿真
根据(18)、(19)、(22)和(23)式,获得反射率和透射率的MATLAB计算函数如下:
function [R, R_max, kl] = FBGreflectivity(n_eff, L, lambda_Brag, delta_neff, lambda)%-------------输入变量--------------------------------% n_eff ---------------有效折射率% L -------------------栅区长度% lambda_Brag ---------光栅中心波长% delta_neff ----------折射率变化量% lambda --------------波长%-------------输出变量-------------------------------% R -------------------反射率% R_max ---------------反射率最大值% kl ------------------互耦合系数与栅区长度的乘积%----------------------------------------------------beta = (2 * pi ./ lambda) * n_eff; % 传播常数disp("周期:" + (lambda_Brag / (2 * n_eff)));delta = beta - (pi / (lambda_Brag / (2 * n_eff)));kappa = pi ./ lambda * delta_neff; % 互耦合系数if (kappa.^2 > delta.^2)s = sqrt(kappa.^2 - delta.^2);R = (kappa .* conj(kappa) .* sinh(s .* L).^2) ./ ((s.^2) .* cosh(s .* L).^2 + delta.^2 .* sinh(s .* L).^2);elses = sqrt(delta.^2 - kappa.^2);R = (kappa .* conj(kappa) .* sin(s .* L).^2) ./ ((s.^2) .* cos(s .* L).^2 + delta.^2 .* sin(s .* L).^2);endkl = kappa * L;R_max = tanh(kl);
end
function [T, T_max, kl] = FBGtransmission(n_eff, L, lambda_Brag, delta_neff, lambda)%-------------输入变量--------------------------------% n_eff ---------------有效折射率% L -------------------栅区长度% lambda_Brag ---------光栅中心波长% delta_neff ----------折射率变化量% lambda --------------波长%-------------输出变量-------------------------------% R -------------------反射率% R_max ---------------反射率最大值% kl ------------------互耦合系数与栅区长度的乘积%----------------------------------------------------beta = (2 * pi ./ lambda) * n_eff; % 传播常数disp("周期:" + (lambda_Brag / (2 * n_eff)));delta = beta - (pi / (lambda_Brag / (2 * n_eff)));kappa = pi ./ lambda * delta_neff; % 互耦合系数if (kappa.^2 > delta.^2)s = sqrt(kappa.^2 - delta.^2);T = s.^2 ./ ((s.^2) .* cosh(s .* L).^2 + delta.^2 .* sinh(s .* L).^2);elses = sqrt(delta.^2 - kappa.^2);T = s.^2 ./ ((s.^2) .* cos(s .* L).^2 + delta.^2 .* sin(s .* L).^2);endkl = kappa * L;T_max = tanh(kl);
end
主程序代码如下:
clear all;
clc;n_eff = 1.5; % 光栅有效折射率
L = 2e-2; % 光栅长度
lambda_Brag = 1550e-9; % 光栅中心波长
delta_neff = 1.2e-4; % 有效折射率该变量
lambda = linspace(1548e-9, 1552e-9, 10000); % 波长范围[R1, R1_max] = FBGreflectivity(n_eff, L, lambda_Brag, delta_neff, lambda);
[T1, T1_max] = FBGtransmission(n_eff, L, lambda_Brag, delta_neff, lambda);n_eff = 1.5; % 光栅有效折射率
L = 2e-3; % 光栅长度
lambda_Brag = 1550e-9; % 光栅中心波长
delta_neff = 1.2e-3; % 有效折射率该变量
lambda = linspace(1548e-9, 1552e-9, 10000); % 波长范围[R2, R2_max] = FBGreflectivity(n_eff, L, lambda_Brag, delta_neff, lambda);
[T2, T2_max] = FBGtransmission(n_eff, L, lambda_Brag, delta_neff, lambda);% 绘制图形
figure(1);
subplot(2, 1, 1);
plot(lambda, real(R1), 'b');
xlabel('波长/m');
ylabel('反射率');
title('均匀光纤布拉格光栅反射率');
subplot(2, 1, 2);
plot(lambda, real(R2), 'b');
xlabel('波长/m');
ylabel('反射率');
title('均匀光纤布拉格光栅反射率');
grid on;figure(2);
subplot(2, 1, 1);
plot(lambda, real(T1), 'R');
xlabel('波长/m');
ylabel('反射率');
title('均匀光纤布拉格光栅透射率');
subplot(2, 1, 2);
plot(lambda, real(T2), 'R');
xlabel('波长/m');
ylabel('反射率');
title('均匀光纤布拉格光栅透射率');
grid on;
注意,主程序中各参数得到赋值时需要将单位转化为同一量纲。绘出的FBG反射率和透射率图如下:
图2 MATLAB绘制的均匀FBG反射率图
图3 MATLAB绘制的均匀FBG透射率图
参考文献:《光纤光栅基础理论与传感技术》 张自嘉 著.北京科学出版社.2009
欢迎在评论区批评指正,谢谢观看,要是有个赞就更好了╭ ( `∀´ )╯
MATLAB-光纤光栅-均匀光纤布拉格光栅模式耦合方程及求解与仿真相关推荐
- 光纤布拉格光栅(FBG)笔记【1】:波导结构和布拉格波长推导
引言 本文是光纤布拉格光栅(FBG)的笔记[1],主要介绍了光纤布拉格光栅的波导结构,并且利用动量和能量守恒推导了光纤布拉格波长的表达式 普通光纤中让折射率发生周期性变化就是结构最简单的均匀光纤布拉格 ...
- 【光学】基于matlab光纤布拉格光栅FBG反射谱和透射谱仿真【含Matlab源码 2654期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab光纤布拉格光栅FBG反射谱和透射谱仿真[含Matlab源码 2654期] 点击上面蓝色字体,直接付费下载,即可. ...
- Ansys Lumerical | 光纤布拉格光栅温度传感器的仿真模拟
说明 该示例演示了一种基于光纤布拉格光栅(FBG)的温度传感器,因为光纤折射率会随温度而变化,导致其布拉格波长发生偏移,所以可以被用作温度的测量.(联系我们获取文章附件) 综述 在本示例中要考虑的光纤 ...
- 光纤布拉格光栅(FBG)笔记【2】:反射率
引言 本文是光纤布拉格光栅(FBG)的笔记[2],主要介绍了光纤布拉格光栅的反射率. 光纤布拉格光栅纤芯的平均折射率是n0n_0n0,光栅结构周期为Λ\LambdaΛ(折射率周期性变化故而称为光栅) ...
- 2022-2028年全球及中国光纤布拉格光栅(FBG)加速度计行业投资前景分析
本文研究全球与中国市场光纤布拉格光栅(FBG)加速度计的发展现状及未来发展趋势,分别从生产和消费的角度分析光纤布拉格光栅(FBG)加速度计的主要生产地区.主要消费地区以及主要的生产商.重点分析全球与中 ...
- 全球与中国无热封装光纤布拉格光栅市场现状及未来发展趋势
根据QYR(恒州博智)的统计及预测,2021年全球无热封装光纤布拉格光栅市场销售额达到了 亿美元,预计2028年将达到 亿美元,年复合增长率(CAGR)为 %(2022-2028).地区层面来看,中国 ...
- 2021-2027全球与中国光纤布拉格光栅放大器市场现状及未来发展趋势
本报告研究全球与中国市场光纤布拉格光栅放大器的产能.产量.销量.销售额.价格及未来趋势.重点分析全球与中国市场的主要厂商产品特点.产品规格.价格.销量.销售收入及全球和中国市场主要生产商的市场份额.历 ...
- 光纤布拉格光栅传感器的工作原理解析
近几十年以来,电气传感器一直作为测量物理与机械现象的标准设备发挥着它的作用.尽管它们在测试测量中无处不在,但作为电气化的设备,他们有着与生俱来的缺陷,例如信号传输过程中的损耗,容易受电磁噪声的干扰等等 ...
- 分峰截幅c语言算法,光纤布拉格光栅传感解调中的寻峰算法.docx
第 35 卷第 6 期 2008 年 6 月 中 国 激 光 C H IN ESE J OU RNAL O F L A SERS Vol . 35 , No . 6 J une , 2008 文章编号 ...
最新文章
- spring jdbc设计与实现
- SSM整合及CRUD实现
- CodeForces - 1366E Two Arrays(组合数学+思维)
- [Css] 使用css如何拉伸字体?
- 实际应用中带头节点的线性链表
- Linux命令-关机,重启
- 特斯拉要退市!马斯克内部信:不受华尔街摆布;股价大涨10%
- uni-app路由的封装
- 移动端拖拽(模块化开发,触摸事件,webpack)
- 推荐写代码的软件(IDE)——VS code的安装与使用,VS code中运行C语言、C++、Java、Python
- 计算机网络——局域网网络结构以及 VLAN 划分
- 老宇哥带你玩转 ESP32:14 亲自动手做一个双向通讯的无线遥控器(一)
- 【UCIe】初识 UCIe
- html+css新手入门:圆角的使用方法详情,常见工作场景;
- 分布式网页爬虫系统 设计和实现
- ORA-ALL Oracle连接报错
- c226打印机驱动安装_打印机驱动怎么装?网络打印机驱动的安装方法
- 实战 Vue 之实现添加和删除常用应用功能
- 华北科技学院计算机专业录取分数线,华北科技学院录取分数线2021是多少分(附历年录取分数线)...
- Geospatial Data Science (8): OpenStreetMap and OSMnx
热门文章
- 名侦探柯南剧情精简版[转载]
- 基于博弈理论的入侵检测与响应模型综述
- 【LangChain】LLM
- Python实效编程02 -- 东北方言朗读
- sap 双计量单位_金蝶K3,使用双计量单位,基本计量单位来盘点
- SQLSEVER中的存储过程
- 编写itoa函数,该函数为itoi函数的逆函数。将一个整数转化为字符串的形式。
- requirejs加载顺序_【requireJS源码学习03】细究requireJS的加载流程
- 学习UI设计必知的防雷小知识:11例UI设计规范模板
- html中查看必应地图,必应地图显示点击事件经纬度