kaira.modulations.Pi4QPSKDemodulator

Inheritance diagram for Pi4QPSKDemodulator
- class kaira.modulations.Pi4QPSKDemodulator(soft_output: bool = False, *args, **kwargs)[source]
Bases:
BaseDemodulatorΠ/4-QPSK demodulator.
Methods
Initialize the π/4-QPSK demodulator.
Demodulate π/4-QPSK symbols.
Reset internal state (constellation alternation).
Attributes
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