Symbol Precoder#

Inheritance diagram of hermespy.modem.precoding.symbol_precoding.SymbolPrecoder

class SymbolPrecoder[source]#

Bases: Precoder, ABC

Abstract base class for signal processing algorithms operating on complex data symbols streams.

A symbol precoder represents one coding step of a full symbol precoding configuration. It features the encoding and decoding routines, meant to encode and decode multidimensional symbol streams during transmission and reception, respectively.

abstract decode(symbols)[source]#

Decode a data stream before reception.

This operation may modify the number of streams as well as the number of data symbols per stream.

Parameters:

symbols (Symbols) – Symbols to be decoded.

Return type:

StatedSymbols

Returns: Decoded symbols.

Raises:

NotImplementedError – If a decoding operation is not supported.

abstract encode(symbols)[source]#

Encode a data stream before transmission.

This operation may modify the number of streams as well as the number of data symbols per stream.

Parameters:

symbols (StatedSymbols) – Symbols to be encoded.

Return type:

StatedSymbols

Returns: Encoded symbols.

Raises:

NotImplementedError – If an encoding operation is not supported.