Communication PrecodingΒΆ
Communication symbol precoders are an extension of the precoding module, manipulating MIMO streams of communication symbols instead of base-band signals during both transmission and reception.
The following types of precoders are supported:
Configuring a precoder within a signal processing pipeline requires adding an instance
of said precoder to a SymbolPrecoding
pipeline, that can hold multiple precoders to be applied in sequence:
1# Initialize a new transmit precoding configuration
2tx_precoding = TransmitSymbolCoding()
3rx_preocoding = ReceiveSymbolCoding()
4
5# Add precoding steps
6tx_precoding[0] = TransmitSymbolEncoder()
7rx_preocoding[0] = ReceiveSymbolDecoder()
Within the context of a modem,
the precoding can either be assigned to the precoding
property, or the precoders can be configured directly:
1# Add precoding configuration to modem
2modem.transmit_symbol_coding = tx_precoding
3modem.receive_symbol_coding = rx_preocoding
4
5# Directly configure the precoding configuration
6modem.transmit_symbol_coding[0] = TransmitSymbolEncoder()
7modem.receive_symbol_coding[1] = ReceiveSymbolDecoder()
Refer to Implementing Precodings for instructions and examples of how to implement custom symbol precoders.