Noise Level

Inheritance diagram of hermespy.simulation.rf.noise.level.NoiseLevel, hermespy.simulation.rf.noise.level.ThermalNoise, hermespy.simulation.rf.noise.level.N0, hermespy.simulation.rf.noise.level.SNR, hermespy.simulation.modem.noise.CommunicationNoiseLevel, hermespy.simulation.modem.noise.EBN0, hermespy.simulation.modem.noise.ESN0
class NoiseLevel[source]

Bases: ScalarDimension, Serializable

Base class for all noise level configuration classes.

abstract get_power(bandwidth)[source]

Power of the noise level.

Parameters:

bandwidth (float) – Bandwidth of the assumed band in Hz.

Return type:

float

Returns:

Mean square voltage of the noise level.

abstract property level: float[source]

Scalar level of the represented noise.

Raises:

ValueError – If the noise level is negative.

General Noise Level

class ThermalNoise(temparature)[source]

Bases: NoiseLevel

Thermal noise configuration.

Parameters:

temparature (float) – Absolute temparature in Kelvin.

classmethod Deserialize(process)[source]

Deserialize an object’s state.

Objects cannot be deserialized directly, instead a Factory must be instructed to carry out the deserialization process.

Parameters:

process (DeserializationProcess) – The current stage of the deserialization process. This object is generated by the Factory and provides an interface to deserialization methods supporting multiple backends.

Return type:

ThermalNoise

Returns:

The deserialized object.

get_power(bandwidth)[source]

Power of the noise level.

Parameters:

bandwidth (float) – Bandwidth of the assumed band in Hz.

Return type:

float

Returns:

Mean square voltage of the noise level.

serialize(process)[source]

Serialize this object’s state.

Objects cannot be serialized directly, instead a Factory must be instructed to carry out the serialization process.

Parameters:

process (SerializationProcess) – The current stage of the serialization process. This object is generated by the Factory and provides an interface to serialization methods supporting multiple backends.

Return type:

None

property level: float[source]

Absolute temparature in Kelvin.

Raises:

ValueError – If the temparature is negative.

property title: str[source]

Title of the scalar dimension.

Displayed in plots and tables during simulation runtime.

class N0(power)[source]

Bases: NoiseLevel

Fixed noise power configuration.

Parameters:

power (float) – Noise power in Watt.

classmethod Deserialize(process)[source]

Deserialize an object’s state.

Objects cannot be deserialized directly, instead a Factory must be instructed to carry out the deserialization process.

Parameters:

process (DeserializationProcess) – The current stage of the deserialization process. This object is generated by the Factory and provides an interface to deserialization methods supporting multiple backends.

Return type:

N0

Returns:

The deserialized object.

get_power(bandwidth)[source]

Power of the noise level.

Parameters:

bandwidth (float) – Bandwidth of the assumed band in Hz.

Return type:

float

Returns:

Mean square voltage of the noise level.

serialize(process)[source]

Serialize this object’s state.

Objects cannot be serialized directly, instead a Factory must be instructed to carry out the serialization process.

Parameters:

process (SerializationProcess) – The current stage of the serialization process. This object is generated by the Factory and provides an interface to serialization methods supporting multiple backends.

Return type:

None

property level: float[source]

Power of the noise in Watt.

Raises:

ValueError – If the noise power is negative.

property power: float[source]

Power of the noise level in Watt.

Raises:

ValueError – If the noise power is negative.

property title: str[source]

Title of the scalar dimension.

Displayed in plots and tables during simulation runtime.

class SNR(snr, reference, channel=None)[source]

Bases: NoiseLevel

Signal-to-noise ratio configuration.

Parameters:
  • snr (float) – Expected signal-to-noise ratio.

  • reference (Device | Transmitter | Receiver) – Reference of the noise level, i.e. with which power or energy was the signal generated.

  • channel (Channel | None) – Channel instance over which the signal was propagated. For channel models that consider propagation losses the noise power is scaled accordingly.

classmethod Deserialize(process)[source]

Deserialize an object’s state.

Objects cannot be deserialized directly, instead a Factory must be instructed to carry out the deserialization process.

Parameters:

process (DeserializationProcess) – The current stage of the deserialization process. This object is generated by the Factory and provides an interface to deserialization methods supporting multiple backends.

Return type:

SNR

Returns:

The deserialized object.

get_power(bandwidth)[source]

Power of the noise level.

Parameters:

bandwidth (float) – Bandwidth of the assumed band in Hz.

Return type:

float

Returns:

Mean square voltage of the noise level.

serialize(process)[source]

Serialize this object’s state.

Objects cannot be serialized directly, instead a Factory must be instructed to carry out the serialization process.

Parameters:

process (SerializationProcess) – The current stage of the serialization process. This object is generated by the Factory and provides an interface to serialization methods supporting multiple backends.

Return type:

None

property level: float[source]

Linear signal power to noise power ratio.

Raises:

ValueError – If the ratio negative.

property reference: Device | Transmitter | Receiver[source]

Reference to which the noise level is scaled.

Can be either a device, transmitter or receiver. If assigned to a device,

property snr: float[source]

Linear signal power to noise power ratio.

Raises:

ValueError – If the ratio negative.

property title: str[source]

Title of the scalar dimension.

Displayed in plots and tables during simulation runtime.

Communication Noise Level

class CommunicationNoiseLevel(reference, level=inf)[source]

Bases: NoiseLevel

Base class for all communication noise level configuration classes.

Parameters:
property level: float[source]

Communication relative noise level.

Raises:

ValueError – For non-positive noise levels.

property reference: BaseModem | CommunicationWaveform[source]

Reference of the noise level.

Returns: Reference of the noise level.

Eb/N0

The bit energy to noise power spectral density ratio (Eb/N0) is a fundamental parameter in digital communication systems. It is defined as the ratio of the energy per bit to the noise power spectral density. The Eb/N0 is a key parameter in the design of digital communication systems, and is used to determine the minimum signal-to-noise ratio required to achieve a certain bit error rate.

class EBN0(reference, level=inf)[source]

Bases: CommunicationNoiseLevel

Fixed noise power configuration.

Parameters:
get_power(bandwidth)[source]

Power of the noise level.

Parameters:

bandwidth (float) – Bandwidth of the assumed band in Hz.

Return type:

float

Returns:

Mean square voltage of the noise level.

property title: str[source]

Title of the scalar dimension.

Displayed in plots and tables during simulation runtime.

Es/N0

The symbol energy to noise power spectral density ratio (ES/N0) is a measure of the signal-to-noise ratio (SNR) in a communication system. It is defined as the ratio of the energy per symbol to the noise power spectral density. The ES/N0 is a key parameter in the design of digital communication systems, and is used to determine the required signal-to-noise ratio for a given bit error rate.

class ESN0(reference, level=inf)[source]

Bases: CommunicationNoiseLevel

Fixed noise power configuration.

Parameters:
get_power(bandwidth)[source]

Power of the noise level.

Parameters:

bandwidth (float) – Bandwidth of the assumed band in Hz.

Return type:

float

Returns:

Mean square voltage of the noise level.

property title: str[source]

Title of the scalar dimension.

Displayed in plots and tables during simulation runtime.