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.
Returns: Encoded symbols.
- Raises
NotImplementedError – If an encoding operation is not supported.
- Return type
- 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
- 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