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 precoding configuration
2precoding = SymbolPrecoding()
4# Add precoding steps
5precoding[0] = SymbolPrecoder()
6precoding[1] = SymbolPrecoder()

Within the context of a modem, the precoding can either be assigned to the precoding property, or the precoders can be configured directly:

1# Initialize a new modem
2modem = Modem()
4# Add precoding configuration to modem
5modem.precoding = precoding
7# Directly configure the precoding configuration
8modem.precoding[0] = SymbolPrecoder()
9modem.precoding[1] = SymbolPrecoder()

Refer to Implementing Precodings for instructions and examples of how to implement custom symbol precoders.