Channel

Module containg the class of channels.

class qosst_sim.channel.GaussianChannel(t: float, xi: float)

Class containing the caractising datas of a Gaussian Channel, and the sampling function that draws its the output of the channel, depending also on the choice of detector used.

Parameters:
  • T (float) – transmission of the channel.

  • xi (float) – additive noise of the channel.

t: float

Transmittance of the channel.

xi: float

Excess noise of the channel.

sample_output(symbols: ndarray, detector: Detector) ndarray

Pseudo-random sampler of the output of a Gaussian Channel. If the symbols at the entrance are x_k, the output is :

y_k = sqrt(eta*T/2) * x_k + w

where w is sampled according to a symetric complex gaussian of mean 0 and variance 1 + Vel + eta*T/2, which is equivalent to say that it real and imaginary parts are independantly sampled according toa real gaussian distribution of mean 0 and variance 1 + Vel + eta*T/2.

Parameters:
  • symbols (np.ndarray) – array of the N symboles sampled by Alice according to her modulation.

  • detector (Detector) – container of the values of eta and Vel.

Returns:

corresponding symboles that Bob receives at the exit of the channel.

Return type:

np.ndarray