Supplemental Information for ``A Signal-Space Distance Measure for Nondispersive Optical Fiber''

Citation Author(s):
Reza
Rafie Borujeny
University of Toronto
Frank
Kschischang
University of Toronto
Submitted by:
Reza Rafie Borujeny
Last updated:
Tue, 05/17/2022 - 22:21
DOI:
10.21227/tgtr-4n42
Data Format:
Link to Paper:
Links:
License:
74 Views
Categories:
0
0 ratings - Please login to submit your rating.

Abstract 

This file contains the Supplemental Information cited in:

R. Rafie Borujeny and F. R. Kschischang, A Signal-Space Distance Measure for Nondispersive Optical Fibersubmitted to IEEE Transactions on Information Theory.

This file is a header file written in C containing the numerical values as well as the function that calculates the approximation of the adversarial distance.

Instructions: 

This header file contains a routine that can be used to computed 

the adversarial distance between two complex points according to 

the formulation given in 

 

@misc{borujeny2020signalspace,

      title={A Signal-Space Distance Measure for Nondispersive Optical Fiber}, 

      author={Reza Rafie Borujeny and Frank R. Kschischang},

      year={2020},

      eprint={2001.08663},

      archivePrefix={arXiv},

      primaryClass={cs.IT}

}

 

The above manuscript is available for download at:

https://arxiv.org/abs/2001.08663

 

The distance calculations are performed based on the approximation 

given in the above manuscript. For the normalized evolution equation

 

   q'(z) = i * |q(z)| ^ 2 * q(z) + n(z), 0 < z < 1,

 

for two complex numbers z1 and z2, with polar coordinates 

 

   z1 = r1 * exp(i * t1),

   z2 = r2 * exp(i * t2),

 

the approximation of the adversarial distance is given by 

 

   d(z1, z2) = (1 / 4) * (r1 - r2) ^ 2 + 

               a(r1, r2) * sin^2(( t2 - t1 - \phi(r1, r2) ) / 2).

 

The function a(r1, r2) is approximated using numerical methods, 

as described in the reference manuscript, and the corresponding 

values are given below in the array a_fit. The function distance 

below calculates the adversarial distance between two points. For

use with the unnormalized equation

 

   q'(z) = i * GAMMA * |q(z)| ^ 2 * q(z) + n(z), 0 < z < L,

 

you should change the assigned values to L and GAMMA in the 

associated macros.

*/

 

/*

This file contains the following:

 

1- a macro named L, which represents the length of the 

   fiber in [km]

2- a macro named GAMMA, which represents the nonlinearity 

   coefficient in [1/W/km]

3- a macro INDEX(i,j), which converts 2-D index to 1-D

   indexing to access the array a_fit (to be described later).

4- an array of doubles X, which contains the 31 grid points along the

   x-axis. This grid points are the same along the y-axis as well. That

   is, for any x in X, and any y in X, we have a corresponding 

   value a(x, y) in the array a_fit.

5- a double DX, which is equal to the increment between the grid points 

   in the x-axis, i.e., DX = X[1] - X[0]

6- a double DA, which is equal to the area of a surface area element,

   i.e., DA = (X[1] - X[0]) * (X[1] - X[0])

7- a function distance, which takes two complex numbers in polar 

   coordinates and calculates the adversarial distance between them. This

   function uses bi-linear approximation to estimate A(x,y) from the 

   existing numerical values given in a_fit.