The fiber class models the transmission of an optical signal along a fiber.

For this the non linear SchrÃ¶dinger equation is solved numerically by the Fourier-Split-Step-Method:

$$ \frac{\partial A_x }{\partial x} + \beta_{1x} \frac{\partial A_x }{\partial t} + \frac{j\beta_{2} }{2} \frac{\partial A_x }{\partial t^2} -\frac{\beta_{3} }{6} \frac{\partial A_x }{\partial t^3} + \frac{\alpha }{2}A_x = i\gamma\left( |A_x|^2 + \frac{2}{3}|A_y|^2 \right)A_x$$ $$ \frac{\partial A_y }{\partial x} + \beta_{1y} \frac{\partial A_y }{\partial t} + \frac{j\beta_{2} }{2} \frac{\partial A_y}{\partial t^2} - \frac{\beta_{3} }{6} \frac{\partial A_y }{\partial t^3} + \frac{\alpha }{2}A_y = i\gamma\left( |A_y|^2 + \frac{2}{3}|A_x|^2 \right)A_y$$

Both polarisations and their interaction are calulated. You cannot "switch" one polarisation off, to reduce the calculation time.

`pypho_fiber.__init__( glova, fibertype, D, S, gamma, alpha, l, birefarray, phi_max)`

Instantiation and parameter setting.

Parameter | Type | Description |
---|---|---|

`glova` |
instance | Global parameters |

`fibertype` |
string | Sets default values for typical fiber types:`'SSMF'` : `D=17` , `S=17` , `alpha=0.2` |

`D` |
float | Dispersion coefficient at the center frequency `pypho_setup.f0` in $\frac{\text{ps}}{\text{nm km}}$. |

`S` |
float | Dispersion slope coefficient in $\frac{\text{ps}}{\text{nm}^{2} \text{km}}$. |

`gamma` |
float | Nonlinear coefficient $\gamma$ in $\frac{1}{\text{W km}}$. |

`alpha` |
float | Fiber attenuation $\alpha$ in $\frac{\text{dB}}{\text{km}}$. |

`l` |
float | Fiber length in km. |

`birefarray` |
list | This list describes the polarisation properties of the fiber. The list must include a rotation angle `birefarray[].angle` the fiberlength `birefarray[].z_point` and a $\Delta\beta_1 = \beta_{1x} - \beta_{1y}$ value `birefarray[].delta_beta` valid to the next of the `birefarray[].z_point` . |

Output | Type | Description |
---|---|---|

User defined variable | pypho_fiber.pypho_fiber |

` pypho_fiber.__call__( E, fibertype (optional), D (optional), S (optional), ...`

...gamma (optional), alpha (optional), l (optional), ...

...birefarray (optional), phi_max (optional))

Parameter | Type | Description |
---|---|---|

`E` |
list | List in which the optical data and noise signal are defined. Read here about data signal and noise representation |

Optional paramter | As defined above |

Output | Type | Description |
---|---|---|

User defined variable | list | Returns a list in which the optical data and noise signal are defined. Read here about data signal and noise representation. |