Phase Noise

Inheritance diagram of hermespy.simulation.rf_chain.phase_noise.PhaseNoise

Phase noise refers to the effect random fluctuations in a non-ideal osciallators phase have on a signal modulated by that osicallator. The effect of phase noise is to spread the signal out in the frequency domain. The currently implemented phase noise models are

Phase Noise Model


No Phase Noise

No phase noise is added to the signal.

Oscillator Phase Noise

Phase noise is added to the signal based on its freuency domain characteristics.

Configuring a SimulatedDevice's phase noise model requires setting the phase_noise property of the device’s rf_chain:

1# Create a new device
2simulation = Simulation()
3device = simulation.new_device()
5# Configure the device's default phase noise model
6device.rf_chain.phase_noise = PhaseNoise()

Of course, the abstract PhaseNoise model in the above snippet has to be replaced by one the implementations listed above.

class PhaseNoise(mother_node=None, seed=None)[source]

Bases: RandomNode, ABC

Base class of phase noise models.

  • mother_node (RandomNode, optional) – Mother node of this random node. By default, nodes are considered to be roots.

  • seed (int, optional) – Random seed used to initialize the pseudo-random number generator.

abstract add_noise(signal)[source]

Add phase noise to a signal model.


signal (Signal) – The signal model to which phase noise is to be added.

Return type:


Returns: Noise signal model.