Symbol Precoding

Inheritance diagram of hermespy.modem.precoding.symbol_precoding.TransmitSymbolEncoder, hermespy.modem.precoding.symbol_precoding.ReceiveSymbolDecoder
class TransmitSymbolEncoder[source]

Bases: TransmitEncoder[TransmitSymbolCoding]

abstract encode_symbols(symbols, num_output_streams)[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.

  • num_output_streams (int) – Number of required output streams after encoding.

Return type:

StatedSymbols

Returns: Encoded symbols.

property encode_rate: Fraction

Rate between input symbol slots and output symbol slots.

abstract property num_transmit_input_symbols: int

Required number of input streams during encoding.

abstract property num_transmit_output_symbols: int

Resulting number of output streams after encoding.

class ReceiveSymbolDecoder[source]

Bases: ReceiveDecoder[ReceiveSymbolCoding]

abstract decode_symbols(symbols, num_output_streams)[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 (StatedSymbols) – Symbols to be decoded.

  • num_output_streams (int) – Number of required output streams after decoding.

Return type:

StatedSymbols

Returns: Decoded symbols.

property decode_rate: Fraction

Rate between input symbol slots and output symbol slots.

abstract property num_receive_input_symbols: int

Required number of input streams during decoding.

abstract property num_receive_output_symbols: int

Resulting number of output streams after decoding.