Spatial Multiplexing#
- class SpatialMultiplexing#
Bases:
SymbolPrecoder
,Serializable
Spatial Multiplexing data symbol precoding step.
Takes a on-dimensional input stream and distributes the symbols to multiple output streams.
Spatial Multiplexing object initialization.
- yaml_tag: str = 'SM'#
YAML serialization tag.
- encode(symbols)#
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:
Returns: Encoded symbols.
- Raises:
NotImplementedError – If an encoding operation is not supported.
- 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.
- Return type:
Returns: Decoded symbols.
- Raises:
NotImplementedError – If an encoding operation is not supported.
- 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
- property rate: Fraction#
Rate between input symbol slots and output symbol slots.
For example, a rate of one indicates that no symbols are getting added or removed during precoding.
- Returns:
The precoding rate.
- Return type:
Fraction