commpy.channels.SISOFlatChannel

class SISOFlatChannel(noise_std=None, fading_param=(1, 0))

Constructs a SISO channel with a flat fading. The channel coefficient are normalized i.e. the mean magnitude is 1.

Parameters:
  • noise_std (float, optional) – Noise standard deviation. Default value is None and then the value must set later.
  • fading_param (tuple of 2 floats, optional) – Parameters of the fading (see attribute for details). Default value is (1,0) i.e. no fading.
fading_param

Parameters of the fading. The complete tuple must be set each time. Raise ValueError when sets with value that would lead to a non-normalized channel.

  • fading_param[0] refers to the mean of the channel gain (Line Of Sight component).
  • fading_param[1] refers to the variance of the channel gain (Non Line Of Sight component).

Classical fadings:

  • (1, 0): no fading.
  • (0, 1): Rayleigh fading.
  • Others: rician fading.
Type:tuple of 2 floats
noise_std

Noise standard deviation. None is the value has not been set yet.

Type:float
isComplex

True if the channel is complex, False if not. The value is set together with fading_param based on the type of fading_param[0].

Type:Boolean, Read-only
k_factor

Fading k-factor, the power ratio between LOS and NLOS.

Type:positive float, Read-only
nb_tx

Number of Tx antennas.

Type:int = 1, Read-only
nb_rx

Number of Rx antennas.

Type:int = 1, Read-only
noises

Last noise generated. None if no noise has been generated yet.

Type:1D ndarray
channel_gains

Last channels gains generated. None if no channels has been generated yet.

Type:1D ndarray
unnoisy_output

Last transmitted message without noise. None if no message has been propagated yet.

Type:1D ndarray
Raises:ValueError – If the fading parameters would lead to a non-normalized channel. The condition is \(|param[1]| + |param[0]|^2 = 1\)
__init__(noise_std=None, fading_param=(1, 0))

x.__init__(…) initializes x; see help(type(x)) for signature

Methods

__init__([noise_std, fading_param]) x.__init__(…) initializes x; see help(type(x)) for signature
generate_noises(dims) Generates the white gaussian noise with the right standard deviation and saves it.
propagate(msg) Propagates a message through the channel.
set_SNR_dB(SNR_dB[, code_rate, Es]) Sets the the noise standard deviation based on SNR expressed in dB.
set_SNR_lin(SNR_lin[, code_rate, Es]) Sets the the noise standard deviation based on SNR expressed in its linear form.

Attributes

fading_param Parameters of the fading (see class attribute for details).
isComplex Read-only - True if the channel is complex, False if not.
k_factor Read-only - Fading k-factor, the power ratio between LOS and NLOS
nb_rx Read-only - Number of Rx antennas, set to 1 for SISO channel.
nb_tx Read-only - Number of Tx antennas, set to 1 for SISO channel.