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.