Polar Coding

A Python wrapper around the AFF3CT [1] project, transferring the Polar [2] implementations to the Hermes forward error correction pipeline structure.

class PolarSCCoding(self: hermespy.fec.aff3ct.polar.PolarSCCoding, arg0: int, arg1: int, arg2: float)

Bases: pybind11_object

Parameters:
  • data_block_size (int) – Number of data bits per block to be encoded.

  • code_block_size (int) – Number of code bits per encoded block.

  • ber (float) – Assumed bit error rate.

  • num_paths (int) – Number of decoding paths.

decode(self: hermespy.fec.aff3ct.polar.PolarSCCoding, arg0: numpy.ndarray[numpy.int32]) numpy.ndarray[numpy.int32]

Decode a block of code bits to data bits.

Parameters:

code (numpy.ndarray) – The code bit block to be decoded.

Returns:

The data bit block after decoding.

encode(self: hermespy.fec.aff3ct.polar.PolarSCCoding, arg0: numpy.ndarray[numpy.int32]) numpy.ndarray[numpy.int32]

Encode a block of data bits to code bits.

Parameters:

data (numpy.ndarray) – The data bit block to be encoded.

Returns:

The code bit block after encoding.

property bit_block_size

Number of bits within a data block to be encoded.

property code_block_size

Number of bits within a code block to be decoded.

enabled = True
class PolarSCLCoding(self: hermespy.fec.aff3ct.polar.PolarSCLCoding, arg0: int, arg1: int, arg2: float, arg3: int)

Bases: pybind11_object

Successive Cancellation List Polar Codes. Refer to [3] for further information.

Parameters:
  • data_block_size (int) – Number of data bits per block to be encoded.

  • code_block_size (int) – Number of code bits per encoded block.

  • ber (float) – Assumed bit error rate.

  • num_paths (int) – Number of considered decoding paths.

decode(self: hermespy.fec.aff3ct.polar.PolarSCLCoding, arg0: numpy.ndarray[numpy.int32]) numpy.ndarray[numpy.int32]

Decode a block of code bits to data bits.

Parameters:

code (numpy.ndarray) – The code bit block to be decoded.

Returns:

The data bit block after decoding.

encode(self: hermespy.fec.aff3ct.polar.PolarSCLCoding, arg0: numpy.ndarray[numpy.int32]) numpy.ndarray[numpy.int32]

Encode a block of data bits to code bits.

Parameters:

data (numpy.ndarray) – The data bit block to be encoded.

Returns:

The code bit block after encoding.

property bit_block_size

Number of bits within a data block to be encoded.

property code_block_size

Number of bits within a code block to be decoded.

enabled = True