[docs]classSpatialMultiplexing(SymbolPrecoder,Serializable):"""Spatial Multiplexing data symbol precoding step. Takes a on-dimensional input stream and distributes the symbols to multiple output streams. """yaml_tag:str="SM"def__init__(self)->None:"""Spatial Multiplexing object initialization."""SymbolPrecoder.__init__(self)
[docs]defdecode(self,symbols:StatedSymbols)->StatedSymbols:# Collect data symbols from the streamreturnsymbols
@propertydefnum_input_streams(self)->int:returnself.required_num_output_streams@propertydefnum_output_streams(self)->int:# Always outputs the required number of streamsreturnself.required_num_output_streams@propertydefrate(self)->Fraction:# Spatial multiplexing distributes the incoming stream symbols# equally over the outgoing streams.returnFraction(1,1)