相移光纤光栅 (PS-FBG) 传输特性仿真系统
项目简介
本项目是一个基于MATLAB开发的光纤光栅数值仿真工具,专门用于分析相移光纤光栅(Phase-Shifted FBG)的光谱响应及传输特性。核心算法采用传输矩阵法(Transfer Matrix Method, TMM)结合耦合模理论(Coupled Mode Theory),能够精确模拟光栅内部的光场分布。
该系统不仅支持标准的布拉格光栅模拟,更具备灵活的多相移处理能力,允许用户在光栅的任意位置引入相位突变,从而分析其导致的窄带透射峰、群时延变化及色散效应。这对于光纤激光器、高灵敏度传感器以及密集波分复用(DWDM)滤波器的设计具有重要的理论验证价值。
主要功能特性
- 参数化物理建模:支持自定义中心波长、光栅长度、有效折射率、调制深度(耦合强度)及光栅周期。
- 多相移结构模拟:支持设置任意数量的相移点,可精确控制相移发生的位置(归一化坐标)及相移大小(如 $pi$ 相移),用于模拟法布里-珀罗腔效应。
- 切趾(变迹)配置:内置切趾函数接口,支持均匀(Uniform)和高斯(Gaussian)等变迹折射率分布,以抑制旁瓣。
- 全参数光谱分析:计算并绘制反射率谱(Reflectivity)和透射率谱(Transmissivity)。
- 相位与色散特性:
*
相位响应:提取并解卷绕透射相位。
*
群时延(Group Delay):计算光信号通过光栅的时间延迟。
*
色散(Dispersion):计算群速度色散(GVD),用于高速通信系统的色散补偿分析。
- 自动特征提取:自动识别透射峰,计算中心波长、3dB带宽(FWHM)及品质因数(Q值)。
系统环境与使用方法
系统要求
- MATLAB R2016b 或更高版本。
- Signal Processing Toolbox(用于寻峰算法
findpeaks)。
使用说明
仿真流程高度自动化,用户仅需在代码顶部的参数设置区域修改物理参数,即可运行仿真。主要的配置项包括:
- 光栅基础参数:设置
L(长度)、dn(折射率调制深度)等。 - 相移配置:通过
phase_shifts 结构体定义相移位置数组和对应的相位值数组。 - 变迹类型:修改
apod_type 选择光栅折射率分布轮廓。 - 扫描精度:调整
num_segments(TMM分层数)和 lambda_pts(波长扫描点数)以平衡计算速度与精度。
运行主程序后,系统将在控制台输出峰值分析结果,并自动弹出包含四幅子图的综合分析图表。
核心算法与实现逻辑
本项目完全基于提供的代码实现,其核心逻辑严格遵循物理光学原理:
1. 物理参数预计算与离散化
为了应用传输矩阵法,代码首先将连续的光纤光栅沿轴向离散化为数百个均匀的小段(Segments)。
- 根据设定的物理长度计算每一小段的长度。
- 调用辅助函数根据选定的切趾类型(如高斯分布),计算每一段对应的耦合系数 $kappa(z)$,使得光栅两端的耦合强度逐渐减弱,模拟实际的切趾效果。
- 将用户定义的归一化相移位置映射到具体的离散段索引上,确保相位突变发生在准确的物理位置。
2. 传输矩阵法(TMM)数值求解
这是系统的核心计算引擎。程序对波长范围内的每一个波长点执行以下循环:
- 失谐量计算:根据当前波长与布拉格中心波长的差异,计算失谐量 $delta$。
- 全局矩阵构建:初始化一个单位矩阵作为全系统传输矩阵。
- 级联乘法:
* 遍历每一个光栅分段。
* 根据局部耦合系数和失谐量,区分
强耦合区(实际上存在光栅反射)和
弱耦合区(由于失谐过大也就是 $kappa < delta$),分别构建对应的 $2 times 2$ 传输矩阵。
* 将当前段的矩阵左乘到全局矩阵上。
- 相移注入:在矩阵级联过程中,程序会实时检查当前段索引是否为预设的相移点。如果是,则构建一个对角相移矩阵 $M_{phi}$ 并插入到传输矩阵链中。该矩阵对正向和反向传输波分别引入相反的相位偏移,模拟物理上的相位突变。
3. 边界条件与光谱提取
当所有分段计算完成后,得到描述输入端与输出端电场关系的全局矩阵 $F_{total}$。
- 根据边界条件(假设光从左侧入射,右侧无反射波入射),利用矩阵元素 $S_{11}, S_{21}, S_{22}$ 解析求出反射系数 $r$ 和透射系数 $t$。
- 取模平方得到功率反射率和透射率。
- 提取透射系数的复角得到相位响应。
4. 色散与时延处理
为了获得高阶光学特性,代码对此过程进行了后处理:
- 相位解卷绕:对透射相位进行
unwrap 操作,消除 $2pi$ 跳变,得到连续相位曲线。 - 数值微分:
*
群时延:对相位关于角频率 $omega$ 求一阶导数($tau = -dphi/domega$),并转换为皮秒(ps)单位。
*
色散:对群时延关于波长 $lambda$ 求一阶导数($D = dtau/dlambda$),单位为 ps/nm。
- 处理中包含了差分后的数组长度补齐操作,保证绘图数据长度一致。
5. 数据分析与可视化
- 使用
findpeaks 函数在透射谱中自动定位由相移引起的透射窗口。 - 通过以峰值为中心向左右两侧搜索半功率点的方式,精确计算 FWHM(半高全宽)。
- 计算 Q值(品质因数),用于衡量滤波器的频率选择性。
- 最后绘制四合一图表:光谱对比图、相位响应图、群时延曲线、色散曲线。