5G deployment scenarios, especially the eMBB (enhanced Mobile Broadband) case, require the support of high throughput which could be up to 20gbps, and encoding and decoding process of 5G channel codes especially for high data rates need to be designed such that it can handle such huge amounts of data. 5G LDPC codes adopt the structure of Quasi-cyclic (QC) LDPC codes which naturally enables parallelism in encoding and decoding. 5G channel codes for data should also support HARQ and these are designed to support incremental redundancy (IR) HARQ. 5G LDPC codes are QC-LDPC codes that belong to a family of photograph codes.
Photograph codes: 5G LDPC codes belong to a family of QC-LDPC codes and these codes can be explained by using a concept of the photograph codes. A graph representation of photograph codes can be obtained by attaching multiple copies of the photograph and then by permuting edges across them. For LDPC codes, the local connection among variable and check nodes are important to ensure good performance, and this permutation procedure enables constructing long codes by connecting multiple copies of the small photograph while maintaining local connection.
Polar codes proved capacity achievability on MBIOS channels. Polar codes have been adopted as channel coding for uplink and downlink control information for the enhanced mobile broadband (eMBB) communication service. 5G foresees two other frameworks, namely URLLC (Ultra-reliable low latency communications) and mMTC (massive Machine type communications) for which polar coding scheme could be used. The construction of a polar code involves the identification of channel reliability values associated with each bit to be encoded. 3GPP has selected polar codes as the error-correcting code on the 5G NR control channels. Polar code encoding will polarize the channel into reliable and unreliable bit channels. The information bits will be transmitted on the most reliable K-bit channels. A polar code is a linear block error-correcting code. The code construction is based on multiple recursive concatenations of a short kernel code that transforms the physical channel into virtual outer channels.