Stream Precoding

Stream precodings implement MIMO algorithms on a base-band signal sample level during both signal transmission and reception.

class ReceiveStreamCoding(modem=None)[source]

Bases: Precoding[ReceiveStreamDecoder], Serializable

Stream MIMO coding configuration during signal transmission.

Symbol Precoding object initialization.

Parameters:

modem (Modem, Optional) – The modem this Precoding configuration is attached to.

decode(signal)[source]

Decode a signal MIMO stream during reception.

This operation may modify the number of streams.

Parameters:

streams (Signal) – The signal stream to be decoded.

Return type:

Signal

Returns: The decode signal stream.

yaml_tag: Optional[str] = 'ReceiveCoding'

YAML serialization tag.

class ReceiveStreamDecoder[source]

Bases: Precoder, ABC

Stream MIMO coding during signal reception.

abstract decode_streams(streams)[source]

Encode a signal MIMO stream during signal recepeption.

This operation may modify the number of streams.

Parameters:

streams (Signal) – The signal stream to be decoded.

Return type:

Signal

Returns: The decoded signal stream.

property num_input_streams: int

Required number of input symbol streams for encoding / number of resulting output streams after decoding.

Returns:

The number of symbol streams.

Return type:

int

property num_output_streams: int

Required number of input symbol streams for decoding / number of resulting output streams after encoding.

Returns:

The number of symbol streams.

Return type:

int

abstract property num_receive_input_streams: int

Number of input streams required by this coding.

Returns: Number of input streams.

abstract property num_receive_output_streams: int

Number of output streams generated by this coding.

Returns: Number of output streams.

class TransmitStreamCoding(modem=None)[source]

Bases: Precoding[TransmitStreamEncoder], Serializable

Stream MIMO coding configuration during signal transmission.

Symbol Precoding object initialization.

Parameters:

modem (Modem, Optional) – The modem this Precoding configuration is attached to.

encode(signal)[source]

Encode a signal MIMO stream during transmission.

This operation may modify the number of streams.

Parameters:

streams (Signal) – The signal stream to be encoded.

Return type:

Signal

Returns: The encoded signal stream.

yaml_tag: Optional[str] = 'TransmitCoding'

YAML serialization tag.

class TransmitStreamEncoder[source]

Bases: Precoder, ABC

Stream MIMO coding during signal transmission.

abstract encode_streams(streams)[source]

Encode a signal MIMO stream during transmission.

This operation may modify the number of streams.

Parameters:

streams (Signal) – The signal stream to be encoded.

Return type:

Signal

Returns: The encoded signal stream.

property num_input_streams: int

Required number of input symbol streams for encoding / number of resulting output streams after decoding.

Returns:

The number of symbol streams.

Return type:

int

property num_output_streams: int

Required number of input symbol streams for decoding / number of resulting output streams after encoding.

Returns:

The number of symbol streams.

Return type:

int

abstract property num_transmit_input_streams: int

Number of input streams required by this coding.

Returns: Number of input streams.

abstract property num_transmit_output_streams: int

Number of output streams generated by this coding.

Returns: Number of output streams.