基于分步傅里叶法的非线性光纤脉冲演变仿真程序
项目介绍
本项目是一款专为模拟超短光脉冲在单模光纤中传输演化而设计的数值仿真工具。通过求解广义非线性薛定谔方程(GNLSE),程序能够精确模拟脉冲在考虑二阶色散(GVD)、三阶色散(TOD)、自相位调制(SPM)以及光纤损耗等物理因素共同作用下的空、时、频域动态变化。该工具为研究非线性光纤光学中的脉冲压缩、孤立子传输、频谱演变及超连续谱产生等现象提供了可靠的计算手段。
功能特性
- 多物理效应协同建模:支持同时计算二阶角频率依赖的色散($beta_2$)、高阶的三阶色散($beta_3$)、克尔非线性效应($gamma$)以及信号功率损耗($alpha$)。
- 可自定义初始脉冲序列:允许用户设置初始脉冲的峰值功率、半高全宽(FWHM)以及脉冲阶数(支持标准高斯脉冲或超高斯脉冲)。
- 高精度数值算法:采用对称分步傅里叶算法(Symmetric SSFM),在频域处理线性项,在时域处理非线性项,有效平衡了计算效率与数值稳定性。
- 全方位量化分析:实时计算传输过程中的均方根(RMS)脉冲宽度,提供数据的精确量化追踪。
- 直观的可视化矩阵:
*
时域演化瀑布图:展示脉冲功率在传输路径上的三维演变过程。
*
频谱等高线图:以dB尺度展示由于SPM导致的频谱展宽与分裂。
*
波形对比分析:直观对比输入端与输出端的脉冲形状差异。
*
相位分布追踪:提取输出脉冲的瞬时相位,并自动滤除噪声背景。
*
宽度演化曲线:记录并绘制脉宽随传播距离的增长或压缩趋势。
实现逻辑与算法说明
程序的核心执行流程遵循以下步骤:
- 参数空间初始化:定义物理参数(波长、色散系数等)并建立时间网格与频率网格。通过FFT变换逻辑,将角频率轴进行位移操作,以便与频域算子对齐。
- 算子预计算:在循环开始前,预先计算线性算子(包含损耗和色散效应)。为了提高SSFM的二阶精度,采用半步($dz/2$)线性算子的形式。
- 核心计算循环(SSFM):
*
前半步线性阶段:将时域信号转换至频率域,应用半步色散算子,实现色散诱导的相位偏移。
*
中间步非线性阶段:返回时域,应用基于瞬时功率的非线性相位旋转(SPM效应)。
*
后半步线性阶段:再次切换至频域,应用剩余的半步色散算子。
- 动态数据存储:在每一个数值步长($dz$)处,程序记录脉冲的复包络数据,并调研RMS计算子函数。
- 信号后处理:对计算所得的复数矩阵进行相位解包裹(Unwrap)处理,并通过设定功率门限(0.01倍峰值)过滤无效的相位背景噪声。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 硬件建议:由于涉及频繁的快速傅里叶变换(FFT),建议配置4GB以上内存以处理较大采样量的矩阵运算。
使用方法
- 配置参数:打开主程序文件,在“参数设置”区域根据实际的光纤规格调整色散系数(
beta2, beta3)、非线性系数(gamma)及传输距离(L_total)。 - 运行仿真:执行脚本,程序将自动开始分步迭代。
- 结果观察:仿真结束后,程序会自动弹出5个独立的Figure窗口,分别展示从三维时频演变到定量宽度变化的各项指标。
- 数据修订:可以通过修改脉冲阶数(
m_order)将输入源从普通高斯脉冲切换为陡峭边沿的超高斯脉冲,以观察更明显的色散振荡尾迹。