kaira.channels.PhaseNoiseChannel

Inheritance diagram for PhaseNoiseChannel
- class kaira.channels.PhaseNoiseChannel(phase_noise_std: float, *args: Any, **kwargs: Any)[source]
Bases:
BaseChannelChannel that introduces random phase noise.
Models a channel where the phase of the signal is perturbed by random noise, which is common in oscillator circuits and synchronization [Demir et al., 2000].
- Mathematical Model:
y = x * exp(j·θ) where θ ~ N(0, σ²) is the phase noise
- Parameters:
phase_noise_std (float) – Standard deviation of phase noise in radians.
Methods
Initialize the Phase Noise channel.
Apply phase noise to the input signal.
Get a dictionary of the channel's configuration.
Attributes
- __init__(phase_noise_std: float, *args: Any, **kwargs: Any)[source]
Initialize the Phase Noise channel.
- Parameters:
phase_noise_std (float) – Standard deviation of phase noise in radians.
*args – Variable length argument list passed to the base class.
**kwargs – Arbitrary keyword arguments passed to the base class.
- forward(x: Tensor, *args: Any, **kwargs: Any) Tensor[source]
Apply phase noise to the input signal.
- Parameters:
x (torch.Tensor) – The input tensor (must be complex).
*args – Additional positional arguments (unused).
**kwargs – Additional keyword arguments (unused).
- Returns:
The output tensor with phase noise applied.
- Return type: