Datasets
Open Access
Supplemental Information for ``A Signal-Space Distance Measure for Nondispersive Optical Fiber''
- Citation Author(s):
- 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:
- Categories:
Abstract
This file contains the Supplemental Information cited in:
R. Rafie Borujeny and F. R. Kschischang, A Signal-Space Distance Measure for Nondispersive Optical Fiber, submitted 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.
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.