5G Polar Intel® FPGA IP User Guide

ID 683766
Date 9/30/2020
Public

A newer version of this document is available. Customers should click here to go to the newest version.

4. 5G Polar Intel® FPGA IP Functional Description

The IP includes an encoder and decoder.

The IP complies with the following parts of 3GPP 5G NR specs TS38.212 and TS38.214:

  • The input length to the encoder, the number_of_message_bits, agree with the code block length, CRC type, frozen bit locations, and parity bit locations. Where the number_of_message_bits = number_of_information_bits (non-frozen) – number_of_parity_bitsnumber_of_CRC_bits.
  • number_of_message_bits is at least 12.
  • The input length to the decoder agrees with the code block length.
  • The first information bit (non-frozen bit) is not a parity check bit.
  • If the interleaver is on, the number_of_interleaved_bits is no less than 31 and no more than 164. Where the number_of_interleaved_bits = number_of_information_bits (non-frozen) – number_of_parity_bits.
  • When the code block length == 32,
    • You cannot turn on the interleaver
    • You cannot select CRC16, CRC24a, CRC24b, CRC24c (whether in DCI format or not)
Figure 12. 5G Polar Encoder

The encoder comprises a CRC encoder, an interleaver with a frozen bit and parity check bit insertion block, and a polar encoder. The encoder accepts the input message data and optionally appends the CRC bits based on the CRC type. Then the interleaver optionally shuffles the result and the encoder encodes the message.

Figure 13. Input to the Polar Encoder
Figure 14. 5G Polar Decoder

The decoder comprises a polar list decoder (list size of 4 or 8), a deinterleaver, and a CRC decoder. The polar list decoder is based on the successive cancellation decoding algorithm. The compile-time parameter NUM_LIST sets the list size. The list decoder parallelizes NUM_LIST computations of each decoding step of the algorithm. It generates 2*NUM_LIST temporary candidates. It performs a sorting to keep the better NUM_LIST candidates to proceed to the next decoding step, until it finishes all the decoding steps. The polar list decoder first decodes the received messages and provides the total number of NUM_LIST decoded candidates, and it provides the index of the best candidate. The deinterleaver optionally reverts the encoder interleaving for all candidates. If you turn off the CRC, the IP produces the best candidate as determined by the polar list decoder. If you turn on the CRC, all candidates go through the CRC decoder so that the IP produces the candidate with the best CRC decoding. The result contains CRC bits.