Modulation

Modulation module for the simulation package.

Modulation

Modulation base class and Gaussian modulation.

class qosst_sim.modulation.modulation.Modulation(va: float)

Base class for modulation.

Abstract class, meant for subclassing

Parameters:

va (float) – variance of the modulation over the complex plan. The variance is scalar beacuse the covariance matrix of the modulation are always of the form VA*Id. The real and imaginary parts of the modulation are indentically and independantly distributed. VA = 2*<N> : <N> average number of photons

w: float

Number defined in Denys, A., Brown, P., & Leverrier, A. (2021)

va: float

Alice’s modulation variance.

class qosst_sim.modulation.modulation.GaussianModulation(va: float)

Gaussian modulation.

w : number (defined in Denys, A., Brown, P., & Leverrier, A. (2021). Explicit asymptotic secret key rate of continuous-variable quantum key distribution with an arbitrary modulation. Quantum, 5, 540.) that quantifies how much weight from a random input coherent state of the modulaytion tau is mapped by a_tau, onto a subspace orthogonal from the input coherent state. In the particular case of a Gaussian modulation, since a_tau is proportional to a, each coherent state is eigen vector for a_tau, and is thus mapped by a_tau on its own linear span. Thus w = 0.

Parameters:

va (float) – variance of the modulation over the complex plan. The variance is scalar beacuse the covariance matrix of the modulation are always of the form VA*Id. The real and imaginary parts of the modulation are indentically and independantly distributed. VA = 2*<N> : <N> average number of photons.

QAM

QAM modulation.

class qosst_sim.modulation.qam.QAM(dim: int, va: float)

Quadrature and Amplitude Modulation (QAM).

Child class from modulation, defining the subset of QAM modulation, which corresponds to a finite set of accessible complex values, distributed on a regular square grid {x + i*y | x, y = = (-m + 1), (-m + 3), … , (m - 1) }. The coherent states corresponding to these complexe numbers are element of the Fock space Span({| n >, n >= 0 }), but one need to truncate the dimension of the space to dim.

Parameters:
  • dim (int) – dimension of the Fock space.

  • va (float) – variance of the modulation over the complex plan. The variance is scalar beacuse the covariance matrix of the modulation are always of the form VA*Id. The real and imaginary parts of the modulation are indentically and independantly distributed. VA = 2*<N> : <N> average number of photons

distribution: ndarray

Distribution of probability over the constellation.

constellation: ndarray

Sqaare constellation of qam points.

dim: int

Dimension of the Fock space.

tau_half: ndarray

Matrix defined in Denys, A., Brown, P., & Leverrier, A. (2021).

a_tau: ndarray

Matrix defined in Denys, A., Brown, P., & Leverrier, A. (2021).

coherent_state(alpha: complex) ndarray
Parameters:

alpha (complex) – eigenvalue of the coherent state for the anihilation operator a.

Returns:

vector of the alpha coherent state in the truncated Fock basis of size dim.

Return type:

np.ndarray

Gaussian QAM

Gaussian QAM modulation.

class qosst_sim.modulation.gaussian_qam.GaussianQAM(dim: int, size: int, va: float, nu: float)

QAM approximating a Gaussian distribution.

Parameters:
  • dim (int) – dimension of truncation of the Fock basis.

  • m (int) – side length of the QAM.

  • va (float) – variance of the modulation over the complex plan. The variance is scalar beacuse the covariance matrix of the modulation are always of the form va*Id. The real and imaginary parts of the modulation are indentically and independantly distributed. va = 2*<n> : <n> average number of photons

  • nu (float) – positive number meant to be optimised according to certain cost function.

Binomial QAM

Binomial QAM modulation.

class qosst_sim.modulation.binomial_qam.BinomialQAM(dim: int, size: int, va: float)

Binomial QAM modulation.

Parameters:
  • dim (int) – dimension of truncation of the Fock basis

  • m (int) – side length of the QAM

  • va (float) – variance of the modulation over the complex plan. The variance is scalar beacuse the covariance matrix of the modulation are always of the form va*Id. The real and imaginary parts of the modulation are indentically and independantly distributed. va = 2*<n> : <n> average number of photons