kaira.channels.PoissonChannel

Inheritance diagram for PoissonChannel
- class kaira.channels.PoissonChannel(rate_factor: float = 1.0, normalize: bool = False, *args: Any, **kwargs: Any)[source]
Bases:
BaseChannelChannel with signal-dependent Poisson noise.
Models a channel where the output follows a Poisson distribution with mean proportional to the input. This is commonly used to model photon counting systems and optical communication channels [Middleton, 1977].
- Mathematical Model:
y ~ Poisson(λ·|x|)
- Parameters:
Example
>>> # Create a Poisson channel with rate_factor=0.1 >>> channel = PoissonChannel(rate_factor=0.1) >>> x = torch.ones(10, 1) >>> y = channel(x) # Output with Poisson noise
Methods
Initialize the Poisson channel.
Apply Poisson channel to the input signal.
Get a dictionary of the channel's configuration.
Attributes
- __init__(rate_factor: float = 1.0, normalize: bool = False, *args: Any, **kwargs: Any)[source]
Initialize the Poisson channel.
- forward(x: Tensor, *args: Any, **kwargs: Any) Tensor[source]
Apply Poisson channel to the input signal.
- Parameters:
x (torch.Tensor) – The input tensor (must be non-negative if real, or will use magnitude if complex)
*args – Additional positional arguments (unused).
**kwargs – Additional keyword arguments (unused).
- Returns:
The output tensor following Poisson distribution
- Return type: