kaira.channels.BaseChannel

Inheritance diagram of BaseChannel

Inheritance diagram for BaseChannel

class kaira.channels.BaseChannel(*args: Any, **kwargs: Any)[source]

Bases: Module, ABC

Base abstract class for communication channel models.

In communications theory, a channel refers to the medium through which information is transmitted from a sender to a receiver. This class provides a foundation for implementing various channel models that simulate real-world effects like noise, fading, distortion, and interference.

All channel implementations should inherit from this base class and implement the forward method, which applies the channel effects to the input signal.

Channel models are implemented as PyTorch modules, allowing them to be: - Used in computational graphs - Combined with neural networks - Run on GPUs when available - Included in larger end-to-end communications system models

Methods

__init__

Initialize the base channel.

forward

Transform input signal according to channel characteristics.

get_config

Get a dictionary of the channel's configuration.

Examples using kaira.channels.BaseChannel

Simulating AWGN Channels with Kaira

Simulating AWGN Channels with Kaira

Digital Binary Channels in Kaira

Digital Binary Channels in Kaira

Channel Comparison

Channel Comparison

Composing Multiple Channel Effects

Composing Multiple Channel Effects

Fading Channels in Wireless Communications

Fading Channels in Wireless Communications

Impulsive Noise with Laplacian Channel

Impulsive Noise with Laplacian Channel

Nonlinear Channel Distortion Effects

Nonlinear Channel Distortion Effects

Phase Noise Effects on Signal Constellations

Phase Noise Effects on Signal Constellations

Poisson Channel for Signal-Dependent Noise

Poisson Channel for Signal-Dependent Noise

Rician Fading vs Rayleigh Fading Channels

Rician Fading vs Rayleigh Fading Channels

Modulation Schemes Comparison

Modulation Schemes Comparison

Differential Phase-Shift Keying (DPSK)

Differential Phase-Shift Keying (DPSK)

Higher-Order PSK Modulation

Higher-Order PSK Modulation

Higher-Order QAM Modulation

Higher-Order QAM Modulation

Modulation Schemes for Digital Communication Systems

Modulation Schemes for Digital Communication Systems

Offset QPSK Modulation

Offset QPSK Modulation

Pulse Amplitude Modulation (PAM)

Pulse Amplitude Modulation (PAM)

π/4-QPSK Modulation

π/4-QPSK Modulation

Phase-Shift Keying (PSK) Modulation

Phase-Shift Keying (PSK) Modulation

Quadrature Amplitude Modulation (QAM)

Quadrature Amplitude Modulation (QAM)

Performance Metrics Visualization

Performance Metrics Visualization

Signal and Error Rate Metrics

Signal and Error Rate Metrics

Attention-Feature Module (AFModule)

Attention-Feature Module (AFModule)

Original DeepJSCC Model (Bourtsoulatze 2019)

Original DeepJSCC Model (Bourtsoulatze 2019)

Deep Joint Source-Channel Coding (DeepJSCC) Model

Deep Joint Source-Channel Coding (DeepJSCC) Model

Multiple Access Channel Model for Joint Encoding

Multiple Access Channel Model for Joint Encoding

Sequential Model for Modular Neural Network Design

Sequential Model for Modular Neural Network Design

Discrete Task-Oriented Deep JSCC Model (Xie 2023)

Discrete Task-Oriented Deep JSCC Model (Xie 2023)

FEC Decoders Tutorial

FEC Decoders Tutorial

LDPC Coding and Belief Propagation Decoding

LDPC Coding and Belief Propagation Decoding

Syndrome Decoding Visualization

Syndrome Decoding Visualization

Visualizing Error Correction in Action

Visualizing Error Correction in Action

Channel Capacity Analysis with Kaira

Channel Capacity Analysis with Kaira
__init__(*args: Any, **kwargs: Any)[source]

Initialize the base channel.

Parameters:
  • *args – Variable length argument list.

  • **kwargs – Arbitrary keyword arguments.

abstract forward(x: Tensor, *args: Any, **kwargs: Any) Tensor[source]

Transform input signal according to channel characteristics.

This method defines how the channel transforms an input signal, which may include adding noise, applying fading, introducing hardware impairments, or other effects specific to the channel model.

Parameters:
  • x (torch.Tensor) – The input signal.

  • *args – Additional positional arguments.

  • **kwargs – Additional keyword arguments.

Returns:

The output signal after passing through the channel.

Return type:

torch.Tensor

get_config() Dict[str, Any][source]

Get a dictionary of the channel’s configuration.

This method returns a dictionary containing the channel’s parameters, which can be used to recreate the channel instance.

Returns:

Dictionary of parameter names and values

Return type:

Dict[str, Any]