|
|
Introduction
One of the most fundamental equations in optical communications is the nonlinear Schrödinger equation, which governs the propagation of optical signals in dispersive, nonlinear fibers. Unfortunately, in all but a few special cases, the nonlinear Schrödinger equation does not have analytic solutions, and must be solved numerically.
SSPROP is a general-purpose symmetrized split-step software routine that can be invoked directly from Matlab to solve the nonlinear Schrödinger equation. Unlike conventional Matlab scripts that are interpreted at runtime, SSPROP is a compiled program written in C that can be called directly from Matlab. It therefore retains the speed and efficiency of compiled program, while allowing access to the full range of Matlab graphing and vector manipulation routines. Benchmark tests show that the program is up to 10-20x faster than an equivalent Matlab m-file script that performs the same calculations.
Features
- New: Includes vector-version to simulate PMD, PDL, nonlinear polarization rotation, and other nonlinear polarization effects.
- Uses FFTW 3.1.2 libraries
- Approximately 10-20x faster than equivalent m-file script
- Interfaces directly with Matlab
- Available in double or single precision versions
- Simulates all orders of dispersion
- Optionally includes self-steepening and the delayed Raman response time
- SSPROP is free (GPL License)
- Source code is publicly available
- Includes many worked examples from Agrawal's Nonlinear Fiber Optics text
Recent changes and updates to SSPROP are listed in the Change Log.

Above: Spectrum evolution for higher order (N=3) soliton, calculated over one soliton period using SSPROP.
|