Free Optics Project

Effects of PMD and Dispersion Fluctuations on Dual-Pump Fiber-Optic Parametric Amplifiers

(PCF with PMD and ZDWF)

This page was created to host and distribute under a   creative commons license   a series of Matlab codes used to generate all the gain spectra shown in:

A.A. Rieznik, P.G. König, S.A. Ibañez, and D.F. Grosz, “Effects of PMD and Dispersion Fluctuations on Dual-Pump Fiber-Optic Parametric Amplifiers,” submitted to Optics Express. Abstract and pdf 

These codes solve the scalar and Coupled Non-Linear Schrödinger Equation (NLSE and C-NLSE). The function solving the scalar NLSE accepts as an input argument a vector giving the value of beta2(w0) at each point of the fiber, so ZDW fluctuations can be simulated.

The function solving the C-NLSE solves light propagation in an optical fiber with random birefringence, through a symmetrized Split-Step Fourier Method (SSFM) algorithm developed specifically for this purpose and introduced in [1].

The random birefringence parameters are generated according to the so called second Wai-Menyuk model [2]. The only nonlinear effect included in the simulated propagations is the nonlinear refraction originated from third-order susceptibility, as usual. We do not include Raman, self-stepening or Brilluoin scattering.

Download and Installation

Click here to download the codes (soon)

You must save the compressed folder called
 “” in your computer.

When you extract them, four folders will be created inside the folder Accurate_Short_Fiber_Simulations, namely:

(1) Examples: here are the Matlab files you need to run to generate the different figures.
(2) Solvers: Matlab functions applying the SSFM for solving the NLSE and C-NLSE.
(3) Visularizers: Matlab functions used to plot the results at the output of the propagations.
(4) Saved_Files: randomly generated parameters used to generate Figure 5 in the paper. They are called from one of the scripts in the Examples folder as pseudo-random parameters, so the graph generated by the code when you run this script is the same as the same as Figure 5.

Running the code

All the Figures in the article can be generated by running the codes inside the Examples folder. These files are:

Propagation_with_ZDW_fluctuation: If you run this files, at the end of the simulation a plot will be generated with five gains spectra, corresponding to the second pump of a 2P-FOPA tunned from 1600.4 to 1600.8 nm with steps of 0.1 nm. Each spectra is plotted in a different color, as explained in the comments in the scripts. Each time you run this file, a new realization of the random process generating the ZDW at each point z of the fiber is performed. You can also comment the lines generating the vector with the ZDW values and load a previously generated pseudo-aleatory vector. This script was used to create Figures 1 and 2 in the paper.

Propagation_with_PMD_and_PDG_Calculus: when you run this files, a realization of the WMM generating the random birefringence parameters of a fiber is performed. Then, each pump linear SOP is rotated by n equally spaced angles between 00 and 900 (default value for n is 5), so a total of n x n pumps configuration are analyzed. The PDG of each pump configuration is then analyzed and at the end the optimum pump configuration is printed in the matlab command window and a plot of the gain spectra for this configuration and the input signal at 00, 450, 900 and 1350 is generated.

Propagation_with_PMD_ASE_Calculus: this scripts, when run, generates a plot containing the output power spectra (including the ASE and without signals at the input) of a fiber with two different pumps configuration: when they are orthogonal, at 00 and 900, and when the pump configuration that minimizes PDG is used. The random birefringence parameters of the fiber is loaded from a file, together with the angles characterizing the optimum pumps configuration. By default, the file containing the pseudo-random parameters that we used to create Figure 5 in the paper is loaded (from the “Saved_Files” folder). See the comments in the scripts for details.

Note that the files inside the other folders are used only when running the Examples, and should not be run by themselves. Of course, you can open the functions inside these folders to study their structure. In fact all the codes are well commented, so we hope you can follow their algorithm, and use them for educational or research purposes. You can also change the simulation parameters to investigate how they affect the gain spectra.

Note also that all folders you extracted from the compressed file you downloaded must be included in the Matlab path (Files -> Set Path -> Add with Sub-Folders).

The simulations generating each gain spectra lasted around 40 seconds in our Pentium IV, Windows XP machine. So, the total simulation time was given by the numbers of calculated spectral gains times 40 second.

All these codes were saved using Matlab 7.0 and Windows XP, so we are not sure whether it will work properly when using earlier versions or others operational systems or hardware.


The author of these codes is Pablo Konig. If have inquiries about the codes, do not hesitate to send me an e-mail. It would be a pleasure to answer you and help to improve these codes according to your research or educational purposes.
[1] M. E. Marhic, A. A. Rieznik, G. Kalogerakis, C. Braimiotis, H.L. Fragnito and L. G. Kazovsky, “Accurate Numerical Simulations of Short Fiber Optical Parametric Amplifiers,” , Optics Express, Vol. 16, No. 6, 3610-3622 (2008).
[2] P.K. Wai and C.R. Menyuk, "PMD, decorrelation, and diffusion in optical fiber with randomly varing birefringence," J. Lightwave Technol., 12, 148-157 (1996).