kaira.modulations.Pi4QPSKDemodulator

Inheritance diagram of Pi4QPSKDemodulator

Inheritance diagram for Pi4QPSKDemodulator

class kaira.modulations.Pi4QPSKDemodulator(soft_output: bool = False, *args, **kwargs)[source]

Bases: BaseDemodulator

Π/4-QPSK demodulator.

Methods

__init__

Initialize the π/4-QPSK demodulator.

forward

Demodulate π/4-QPSK symbols.

reset_state

Reset internal state (constellation alternation).

Attributes

bits_per_symbol

Number of bits per symbol.

__init__(soft_output: bool = False, *args, **kwargs) None[source]

Initialize the π/4-QPSK demodulator.

Parameters:
  • soft_output – Whether to output soft LLR values even when noise_var is not provided

  • *args – Variable length argument list.

  • **kwargs – Arbitrary keyword arguments.

forward(y: Tensor, noise_var: float | Tensor | None = None, *args, **kwargs) Tensor[source]

Demodulate π/4-QPSK symbols.

Parameters:
  • y – Received tensor of π/4-QPSK symbols

  • noise_var – Noise variance for soft demodulation (optional)

  • *args – Variable length argument list.

  • **kwargs – Arbitrary keyword arguments.

Returns:

If noise_var is provided or soft_output is True, returns LLRs; otherwise, returns hard bit decisions or symbols based on input shape

reset_state() None[source]

Reset internal state (constellation alternation).

property bits_per_symbol: int

Number of bits per symbol.