Bit Loading

The bit loader class is responsible for implementing a bit loading strategy and effectively allocating bits for each single data stream.

Documentation

class BitLoader[source]

The Bit Loader Abstract Base Class (ABC).

A bit loader class is responsible for implementing a bit loading strategy and effectively allocating bits for each single data stream.

class NeutralBitLoader[source]

Bases: BitLoader

Neutral Bit Loader.

Acts as a ‘neutral element’ for bit loading. It always allocates one bit per symbol to each data stream, and creates as many data streams per UT as it has antennas.

class FixedBitLoader[source]

Bases: BitLoader

Fixed Bit Loader.

Allocates a predefined fixed number of bits to the data streams of each UT. Each UT gets assigned as many data streams as it has receive antennas, so every UTs gets assigned the same number of data streams as we assume each UT has the same number of receive antennas.

For example, c_configs tells us that the data streams of UT 1 use 2-PSK modulation and the data streams of all other UTs use 16-QAM modulation, then the fixed bit loader will allocate 2 bits per symbol to each data stream of UT 1 and 4 bits per symbol to all other data streams.

class AdaptiveBitLoader[source]

Bases: BitLoader

Adaptive Bit Loader.

Allocates a variable number of bits to the data streams of each UT based on the channel capacity that UT. More specifically, the bit loader computes the achievable rates (shannon capacity) for each stream of all UTs. Then it calculates the information bit rates for the data streams to each UT as a fraction of the achievable rates.

See Also