Space-Time Block Coding

class SpaceTimeBlockCoding

Bases: MaximumRatioCombining, Serializable

A precoder distributing symbols in space and time.

Cool.

Space-Time Block Coding object initialization.

yaml_tag: str = 'STBC'

YAML serialization tag.

encode(symbols)

Encode data into multiple antennas with space-time/frequency block codes

Currently STBCs with 2 or 4 transmit antennas are supported, following 3GPP TS 36.211, Sec, 6.3.3.3)

Parameters

symbols (StatedSymbols) – Input signal featuring \(K\) blocks.

Returns: Encoded data with size \(N_tx \times K\) symbols

Return type

StatedSymbols

decode(symbols)

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.

Returns: Decoded symbols.

Raises

NotImplementedError – If an encoding operation is not supported.

Return type

StatedSymbols

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

classmethod to_yaml(representer, node)

Serialize a SpaceTimeBlockCoding precoder to YAML.

Parameters
  • representer (SafeRepresenter) – A handle to a representer used to generate valid YAML code. The representer gets passed down the serialization tree to each node.

  • node (SpaceTimeBlockCoding) – The SpaceTimeBlockCoding instance to be serialized.

Returns

The serialized YAML node.

Return type

Node

classmethod from_yaml(constructor, node)

Recall a new SpaceTimeBlockCoding precoder from YAML.

Parameters
  • constructor (SafeConstructor) – A handle to the constructor extracting the YAML information.

  • node (Node) – YAML node representing the SpaceTimeBlockCoding serialization.

Returns

Newly created SpaceTimeBlockCoding instance.

Return type

SpaceTimeBlockCoding