Overview of the challenges and solutions for 5G channel coding schemes

5G is the next generation of mobile communications networks which will use cutting-edge network technologies to deliver enhanced mobile connectivity. 5G has introduced new requirements for channel coding in its three di ﬀ erent service classes which are enhanced mobile broadband (eMBB), ultra-reliable low latency communications (URLLC) and massive machine-type communications (mMTC). eMBB is expected to keep up with consumer ’ s insatiable demand for high mobile data rates to support data-extensive applications. mMTC will provide connectivity to a massive number of connected devices sending short data packets simultaneously to support applications such as Internet of Things (IoT). Finally, URLLC will ensure reliable low latency connectivity to support mission-critical latency-sensitive applications such as telesurgery. To address these new requirements, several new channel coding schemes are being developed. This review article provides a detailed analysis of the new channel coding challenges set out by 5G. A detailed review of existing and emerging solutions is provided. Moreover, simulation are performed to assess the performances of Low-Density Parity-Check (LDPC) codes and Polar codes used in 5G ’ s eMBB. Directions for future works and new solutions for 5G channel coding are also discussed.


Introduction
Channel coding has become a very active research area since the publication of a landmark paper by Shannon (1948) in which asymptotic bounds on the performance of channel codes were established. However, it was only after the invention of Turbo codes (Berrou et al., 1993, may) that the bounds established by Shannon (1948) could significantly be approached. LDPC codes are also near Shannon's limit error-correcting codes with relatively lower decoding complexity as compared to other state-of-the-art capacity approaching codes. These codes were first developed by Gallager (1962) and then re-discovered by MacKay and Neal (1997). While Turbo codes have been adopted in both 3G and 4G, LDPC codes have been adopted in several wireless communication standards such as Digital Video Broadcasting (DVB-S2/T2) (2005), Wi-Fi (IEEE 802.11n) (IEEE, 2012) and mobile WiMAX (IEEE 802.16e) (IEEE, 2006). In parallel with the advances in LDPC and Turbo based codes, some other capacity-approaching coding methodologies were conceived. In particular, Polar codes outperform LDPC codes in certain cases and represent an emerging class of error correction codes (ECC) for future wireless communications. Meanwhile, another powerful class of ECCs called rateless codes are also being extensively investigated.
The next-generation mobile communication network, termed 5G, introduced several channel coding challenges. 5G networks will need to provide ultra-reliable and low latency communication (URLLC) which focuses on delay-sensitive applications and services. The physical layer design of URLLC is very challenging because URLLC should satisfy two conflicting requirements: ultra-low latency and ultra-high reliability . One could use short packets to reduce latency which in turn causes a severe loss in coding gain. Currently, for the enhanced Mobile Broadband (eMBB) service category in 5G, LDPC codes and Polar codes have been adopted for the data channel and control channel respectively (Session Chairman, 2020). However, to meet all the requirements of the three service classes, multiple aspects of channel coding need to be thoroughly investigated.
In this review article, the coding challenges introduced by 5G as well as works whereby the main channel code contenders (Turbo, LDPC, Polar and Rateless codes) are modified to adapt them to 5G applications are discussed. Furthermore, gaps in those works are identified and suggestions about future works related to 5G channel coding are made. This paper is organised as follows: Section 2 gives an overview of the 5G technology. The channel coding challenges of 5G are presented in Section 3. In Section 4, works on the state of the art channel coding techniques developed for 5G are studied. Future directions for improving the suitability of channel codes for 5G NR are discussed in Section 5. Simulation results for eMBB's LDPC and Polar codes are given and analysed in Section 6. Finally, a conclusion is given in Section 7.

Overview of 5G mobile Communications infrastructure
5G New Radio (NR) is the next generation of mobile communication networks which is expected to satisfy the growing demand for enhanced mobile connectivity and to open the door to a whole new panoply of mobile services. As per its specifications, 5G NR should be able to support data transmission at peak download speeds of 20 Gbps with a latency of less than 1 ms. To achieve such performances, engineers in the field have come up with a suite of technologies which consists of the following:

Millimetre waves
High data rates can easily be attained by using a large bandwidth. Hence, in 5G, frequencies between 30 and 300 GHz will be used to provide operators with up to a 400 MHz bandwidth (Nordrum & Clark, 2017). However, such high-frequency waves cannot travel over long distances.

Small cells
To compensate for the high attenuation confronted by high-frequency electromagnetic waves, there is a need to install much more base stations. Fortunately, the smaller antenna sizes required due to the small wavelength will make massive deployment easier (Nordrum & Clark, 2017).

Massive MIMO
Each 5G base station will pack hundreds of antennas making it capable to handle data signals from multiple simultaneously connected users. 5G networks are expected to handle at least 22 times more traffic than current mobile networks through the use of massive MIMO (Nordrum & Clark, 2017).

Beamforming
Signal processing algorithms are used to determine the route that electromagnetic waves can take to reach a user with minimal attenuation. Beamforming is then used to focus a concentrated beam towards that route to ensure better signal quality delivery to the user. This technology even minimizes the risk of interference by preventing signals using the same frequencies to cross (Nordrum & Clark, 2017).

Full duplex
Instead of using a band of frequencies only for downlink transmission and another band only for uplink, full-duplex will allow 5G to use the same frequencies for both downlink and uplink transmission, hence doubling the spectrum efficiency (Nordrum & Clark, 2017).
Since 2018, technological giants, namely Ericson, Nokia, Huawei, ZTE and Qualcomm started to conduct 5G trials in countries such as India (PTI, 2018), Korea (Ericsson, 2018), South Africa (Aginam, 2018) andFinland (Sciencebusiness, 2018), to demonstrate the capabilities of their 5G prototypes. Moreover, in April 2019, South Korean carriers SK Telecom, KT and LG Uplus were the first in the world to launch their commercial 5G networks that support eMBB services (Harrison, 2019). Other telecommunication companies around the world began to implement their 5G network in 2020.
5G is the generation of mobile network technologies which is expected to satisfy the high demand for a fast, responsive, reliable and high capacity network. For this purpose, there is a race to develop robust standards for the network infrastructure. Among the most active groups involved in this field of research is the 5G Architecture Working Group which is part of the 5G Infrastructure Public Private Partnership (5G-PPP) Initiative. The group played an important role in setting up standards in its Phase 1 projects in areas such as the overall structure, network management, software networks and the physical layer.
The 3rd Generation Partnership Project (3GPP), which is the standard body responsible for developing the technical specifications of 3G and 4G networks, has been working actively on the technical specifications of 5G which was submitted for International Mobile Telecommunications 2020 (IMT-2020) to International Telecommunication Union Radiocommunication Sector (ITU-R) where they were evaluated before they could be integrated into the 5G standards. ITU had set the following deadlines which had to be met by 3GPP for 5G standardization: 1) Initial 5G technology-by the 32 nd ITU-R WP5D meeting (June 2019) 2) Detailed 5G specification-by the 36 th ITU-R WP5D meeting (October 2020) The tentative timeline which was set by 3GPP to meet the IMT-2020 deadlines is given in Figure 1 (Flynn, 2018). 3GPP's submission to IMT-2020 contained both Release 15 and 16.
The requirement for 5G networks is to support the following three key generic service classes (Popovski et al., 2018): 2.5.1. Enhanced mobile broadband (eMBB) ITU's minimum peak data rates requirement for eMBB services is set to 20 Gbps for downlink and 10 Gbps for uplink (ITU, 2017). Such high data rates should allow end-users to use data-extensive services such as high definition video streaming and virtual reality. Moreover, for eMBB, ITU has set the minimum requirement for user plane latency to 4 ms and eMBB services should be supported by mobile stations travelling at speeds of up to 500 km/h in rural areas (ITU, 2017). 3GPP's Release 15 which provided technical standards for 5G Non-Standalone (NSA) included eMBB as its primary focus (Casaccia, 2018). The NSA architecture allows 5G radio capabilities to be offered by making use of the existing 4G's Evolved Packet Core (EPC). This architecture allows quick deployment of 5G by reducing the number of new network elements to be introduced (3GPP, 2019a). The channel codes used in the standards for eMBB are LDPC codes and Polar codes for the data channel and control channel respectively. In eMBB, Quadrature Phase-Shift Keying (QPSK) and Quadrature Amplitude Modulation (QAM) such as 16-QAM, 64-QAM and 256-QAM are supported for both uplink and downlink transmissions (3GPP, 2019a).

Ultra-Reliable and Low-Latency Communications (URLLC)
URLLC should support delay-sensitive applications such as telesurgery, factory automation and intelligent transportation. The requirements for URLLC, which are ultra-low latency and ultra-high reliability conflict with each other because the former can be  (Flynn, 2018). attained by using short data packets whereas the latter can be attained by using larger data packets consisting of strong channel codes paired with proper retransmission techniques (Buccheri et al., 2018). The minimum requirement for latency on URLLC services set by ITU is 1 ms with a reliability of 1-10 −5 for a packet size of 32 bytes (ITU, 2017). The main components contributing to latency at the physical layer which can be minimised through proper design are time-to-transmit latency, processing latency and retransmission time (Shirvanimoghaddam et al., 2019). The first and second components are affected by the throughput of the channel decoder and the last component is affected by the error performance of the channel decoder.

Massive machine-type Communications (mMTC)
mMTC should support a large number of simultaneously connected devices and should ensure ultra-low power consumption by the connected devices. ITU's requirement for mMTC services is that a connection density of 1 million connected devices/km 2 should be supported (ITU, 2017). mMTC services require the exchange of small packets of a few bytes by low-energy devices and transmissions are expected to be uplink-dominated with irregular transmission intervals (Bockelmann et al., 2016). mMTC services introduce design requirements that differ from eMBB and URLLC. For supporting a large number of simultaneously connected low-power devices, non-orthogonal medium access appears to be favourable due to the reduced complexity of the end devices (Bockelmann et al., 2016). Furthermore, grant-free access control with an effective collision resolution technique is more appropriate than grant-based access control for mMTC scenarios due to the unpredictable traffic pattern (Bockelmann et al., 2016). Channel codes selected for mMTC must deliver good performances with short block lengths and they must have a low complexity to allow the connected devices to maintain high energy efficiency.
By meeting the requirements for these key service classes, 5G will be able to create a platform to support multiple vertical industries. Some of the vertical industries which have already been identified and which have their requirements already described in white papers are e-health, factories, energy, automation, and media (5G-PPP, 2016). Each of those vertical industries has clearly defined some specifications which need to be met by 5G networks. Figure 1. 3GPP Timeline for 5G (Flynn, 2018). Table 1 relates some 5G specifications to their corresponding most critical vertical use: On-demand network slicing in the core, transport and/or access network will be part of the 5G framework to satisfy the different needs of each vertical industries. 5G will need to support multiple slice types. Hence there is the need for a new network management and control framework which will be able to automate network slice instances. Such a framework will require the virtualization of network functions as well as the establishment of suitable protocols.

Channel coding challenges of 5G
Over the last decade, there has been significant research around the channel codes to be chosen for 5G. LDPC codes have already been selected as the channel code for eMBB but the channel codes to be used for URLLC and mMTC are yet to be finalized (Zhu et al., 2018). The strict conflicting requirements established for URLLC in 5G have rendered it the most challenging service class. The main channel code contenders for 5G URLLC are Turbo codes, LDPC codes, Polar codes and Rateless codes.
The contenders have their own advantages and disadvantages and none of them outperforms all the others at all code-rates and code-lengths (Sybis et al., 2016). The main attributes that 5G channel codes will need to meet are as follows:

Throughput
As eMBB services in 5G will have a high throughput of up to 20 Gbps, even the channel decoder throughput should be of at least 20 Gbps so that the latter does not become a bottleneck in the network. Achieving such high decoding speeds may require parallel processing (Maunder, 2018).

Latency
The channel encoding and decoding process contribute to the latency in the network. Hence, to reduce the latency, it might be preferable to have multiple decoders to decode multiple data blocks simultaneously (Maunder, 2018).

Error correction capabilities
The channel codes to be used with 5G should be powerful enough such that in the worst case, the block error rate (BLER) of the decoded data blocks is 1×10 −5 , which is a tenth of what is experienced with 4G. This minimizes the need for data retransmission leading to reduced latency (Maunder, 2018).

Flexibility
5G will support a wide array of services and applications and therefore, data blocks that will be used for each of these services and applications will vary in length. Hence it is fundamental that the channel code supports multiple coding rates to minimize the use of wasteful encoded bits which degrade spectrum efficiency, throughput and latency (Maunder, 2018).

Implementation complexity
Lower implementation complexity implies lower resource requirements and energy consumption. The 5G channel encoders and decoders must have a low complexity similar to their 4G counterparts (Maunder, 2018). Short block transmission causes channel codes to experience severe channel capacity losses as proven by the Polyansky-Poor-Verdu (PPV) analysis (Polyanskiy et al., 2010). The PPV analysis of channel capacity with short codes has established the trade-offs between throughput, latency, and reliability on Gaussian channels based on a parameter called channel dispersion. Unlike the Shannon limit, no channel code has achieved the PPV limit yet  4. Overview of state of the art channel coding techniques developed for 5G

LDPC codes for 5G
Low-density Parity-check (LDPC) codes belong to a class of Forward Error Correction (FEC) codes which have been attracting attention due to their low complexity and their near channel capacity performances. They are characterized by a parity-check matrix which contains a sparse amount of non-zero values (Moreira & Farrell, 2006).
Mei, Johnston, Le Goff and Chen (2016) studied the performance of short LDPC codes in a symmetric α-stable (SαS) channel. They derived the channel's capacity and threshold block error probability (BLEP) of LPDC codes over the channel given in equation (1) and (2) respectively which proved to be accurate through simulations they conducted. Table 2.
The capacity of an SαS channel is given by: Where, N: Length of code-word x n : Modulated signal L n : Channel log-likelihood ratio (LLR) The threshold BLEP of LDPC codes in SαS channel is given by the Q-function for SαS distribution (Q α ) below: Where, R c : Code-rate C g : Exponential of the Euler constant which is approximately equal to 1.78 E b /N 0 : Signal to Noise Ratio a: Characteristic exponent which has a range [0,2] Quasi Cyclic (QC) LDPC codes, which belong to a class of structured LDPC codes, were compared with Turbo and Polar codes by Gamage et al. (2017) to determine which of these FECs is most suitable for eMBB. The advantage of using QC LDPC codes over conventional LDPC codes is that the former has a parity check matrix made up of small square blocks of circulant permutation matrices or zero matrices, using up less memory (Nguyen et al., 2019). In their paper, Gamage et al. (2017) concluded that Polar codes gave the best error performance for short block lengths, Turbo codes were the least competent of the 3 compared codes, giving a low area and energy efficiency and Quasi-cyclic (QC) LDPC codes have a relatively good error performance at all block lengths and code-rates and also have low complexity. QC-LDPC codes have already been incorporated in the 5G standards for eMBB (Session Chairman, 2016). Yet, researches are still ongoing to determine whether LDPC codes can be used for URLLC. Diao et al. (2016) observed that structured QC-LDPC codes can reach a BER of order 10 −15 at low E b /N 0 without hitting an error floor. Hence LDPC codes can be good candidates even for URLLC which has a block error rate (BLER) requirement of 10 −5 for short data package transmission (3GPP, 2018).
Moreover, researchers have designed LDPC codes, such as the protograph-based raptor-like LDPC (PBRL-LDPC) codes, which are more suitable for URLLC applications . The PBRL-LDPC codes belong to the family of the QC-LDPC code and give enhanced error performances for short block codes and low code-rate transmission and they require less decoding iteration compared to the original Richardson-Urbanke (RU), AR4A and Qualcomm low family (QLF) codes.
Mostari and Taleb-Ahmed investigated a parallel concatenation of two identical regular LDPC codes which provided a good error performance on short block codes (2018). The structure of the proposed code included two regular LDPC encoders in parallel separated by an interleaver and the global encoder rate of the system studied was 1/3. The interleaver permutes the data block before the second encoding is performed to ensure that the second encoder can generate a second set of parity bits which are independent of the parity bits generated by the first encoder. Simulation results show that the proposed concatenation scheme offers a reduced delay compared to a single LDPC code using the same number of iterations. Moreover, the proposed scheme required fewer iterations to achieve the same error performance as a single LDPC code which hence reduces the decoding complexity and latency. The BER performance of the proposed scheme was evaluated using both Sum-Product and Min-Sum decoding algorithms and is given in Table 2 (Mostari & Taleb-Ahmed, 2018). The proposed scheme outperforms single LDPC codes by 0.81 dB at a BER of 10 −4 when the Sum-Product algorithm is used. The Min-Sum algorithm provides a reduced complexity over the Sum-Product algorithm at the expense of an E b /N 0 loss of 0.2 dB at a BER of 10 −4 .

Polar codes for 5G
Arikan invented a class of linear block codes called Polar codes (2009). Arikan and Telatar (2008) derived equation (3) to calculate the probability of error for polar codes in a binary memoryless symmetric channel (BMSC): This equation implies that for some selections of frozen bits F , as long as the rate R is less than the channel capacity I(W) and that the code-length N tends to infinity, the probability of error is zero. Therefore this proves that polar codes can achieve capacity thus making it a strong contender in the race of 5G channel codes standardization (Arikan & Telatar, 2008).
Furthermore, for symmetric channels, equation (3) can be extended to equation (4) which demonstrate that channel capacity is achieved irrespective of the set of frozen bits chosen, m F (Arikan, 2009).
for any rate R < I(W) and β ∈(0, ½) With the Successive Cancellation List (SCL) decoding, Polar codes can achieve a low decoding complexity of O(N log N). In fact, Polar codes have already been incorporated in the eMBB standards as the FEC for control channels (Session Chairman, 2016).
In their paper, Sharma and Salim proved the absence of error floor in Polar codes which allows the latter to reach the reliability of 99.999% required by URLLC services (Sharma & Salim, 2018). They also showed that for a short block length of 20, Polar codes can outperform other tested channel codes such as LDPC codes employing Min-Sum decoding algorithm, Turbo codes employing the Max-log map decoding algorithm and Tailbiting Convolution codes. The simple encoding and decoding algorithms allow Polar codes to consume very low power hence also making them good candidates for mMTC services (Sharma & Salim, 2018).
Moreover, researchers have designed Polar codes known as Parity-Check (PC) Polar codes which incorporate parity-check coding, reliability calculation and rate matching. The researchers demonstrated that the PC Polar codes have a low complexity as well as an enhanced BLER performance over a wide range of code-rates and code-lengths compared to other Polar code schemes such as Cyclic Redundancy Check (CRC)-aided, extended Bose-Chaudhuri-Hocquenghem (eBCH) and Parity-Check-Concatenated (PCC) Polar codes . Simulation results effectively showed that the designed PC Polar codes outperform all the other schemes for all tested code-rates and codelengths.
A concatenation scheme that combines irregular LDPC codes with polar codes was proposed by Zhang, Chen and Liu (2019). For the channel encoding process, the information bits are first fitted into a matrix. Then polar encoding is performed on the data from each row of the matrix and LDPC encoding is performed on the data from each column of the matrix. The encoded bits are then multiplexed before transmission. On the receiver's side, the polar and LDPC code-words are extracted from the received signal and they are decoded using the Belief Propagation (BP) algorithm. The LLRs from the polar and LDPC decoders are multiplied by scaling factors before being exchanged between the decoders as extrinsic information. Simulation results showed that the proposed scheme provides an SNR gain of 0.2 dB at a FER of 10 −2 over CRCpolar codes utilizing SCL decoding. The proposed scheme also provides an SNR gain of 0.2 dB at a FER of 10 −3 over LDPC-partial polar codes which is a concatenation of long inner polar code and short outer LDPC codes.
At AccelerComm, studies are focused on developing polar codes which will be able to integrate the 5G standards. In a whitepaper, they showed that the performance of polar codes, when used for the Public Broadcast Channel (PBCH), approaches the channel's capacity as the list size in the min-sum SCL decoding increases. Simulation results showed that at a BLER of 10 −3 , polar codes with a list size of 32 provide an E b /N 0 gain of 2.3 dB over polar codes with a list size of 1 (Maunder, 2019).
Koike-Akino, Cao and Wang proposed polar turbo product codes (TBC) which make use of multiple polar codes for parallel decoding to provide high throughput and low latency performance (2018). These polar-TBC can even approach the BER performance of long polar codes within an SNR of 0.2 dB while performing 256 times faster decoding. In addition, polar-TBC were implemented using irregular polar codes which helped reduce the decoding latency by 80% and the computational complexity by 50%. The authors also tried reducing the power consumption to see its effect on the performance and concluded that they could reduce it to up to 50% without significantly degrading the performance. However, power reduction above 50% introduced error floors.

Rateless codes for 5G
Rateless codes, also known as fountain codes, are a class of erasure codes whereby a limitless amount of encoded symbols are generated from a block of information symbols for transmission. The original information block can then be recovered if any subset of transmitted symbols are received given that the number of symbols received slightly exceeds the number of information symbols in the information block. This reduces the need for the receiver to use a feedback channel to inform the transmitter about the symbols which were not properly received. In fact, according to Shannon, channel capacity can be achieved even without a feedback channel (Mackay, 2005). The most popular rateless codes are the Luby Transform (LT) codes which were the first practically realizable rateless codes and the Raptor codes which brought significant improvements over LT codes.
Among all fountain codes, Raptor codes are the ones having the least encoding and decoding complexity. Raptor codes were invented by Shokrollahi (2006) and have been used in standards such as the 3GPP Multimedia Broadcast/Multicast Service (MBMS) standard for broadcast transmission including streaming services (Gao et al., 2013), the DVB-IPTV for offering TV services over IP (IETF, 2018) and the DVB-H IP Datacasting for offering IP services over DVB (Mladenov et al., 2011). The most powerful variant of Raptor codes is called RaptorQ codes (Luby et al., 2011). They support larger block sizes and have better coding efficiency than traditional Raptor codes.
A new family of rateless codes known as spinal codes was introduced by Perry et al. (2011). These codes were found to be able to achieve capacity in both Additive White Gaussian Noise (AWGN) channel and binary symmetric channel (BSC) (Perry et al., 2012). Spinal codes adopt a hash function and a random number generator to successively generate pseudo-random bits which can be used to decode the information bits using a bubble decoder.
Polar codes were concatenated with spinal codes to improve the error performance of polar codes on short code-words . Spinal code was used as the outer code of the concatenation scheme and hence spinal code encoding was performed prior to polar encoding. The output bits of the spinal encoder for each symbol was encoded into polar code-words. The decoding of the spinal-polar code was performed using joint iterative decoding. Simulations were performed to compare the performance of the spinal-polar code with a concatenation of polar and Reed-Solomon codes. The message length of the spinal code was 16 bits and simulation results showed that over an AWGN channel, the proposed scheme outperforms the RS-polar codes over the whole tested E b /N 0 range. The proposed scheme provides significant gains of 1 and 0.45 dB over non-concatenated polar codes and RS-polar codes respectively at a BER of 10 −4 .
CRC-aided spinal codes were designed by Bian et al. (2020). The codes were designed with a tail-biting coding structure which reduces the probability of not properly detecting errors. The decoding process includes a segment-based CRC check which allows decoding to be terminated earlier if CRC errors are detected. The scheme is also paired with a transmission strategy that allows only erroneously received symbols to be retransmitted. Compared to conventional spinal codes, the scheme has a lower decoding complexity and improves throughput by up to 5.43%.

Turbo codes for 5G
Turbo codes, which were introduced by Berrou et al. (1993, may), were found to be able to significantly approach channel capacity. Kwatra et al. (1999) used the probability of error of convolution codes given in equation (5) to derive the performance bounds of Turbo codes given in equation (6).
The error probability of each code-word of convolution codes is given by: Where, v t : Weight of information bit in code-word L: Number of information bits in codeword Q(x): Q-function which is the tail distribution function of the standard normal distribution. d: Hamming weight of code-word. R: Code-rate. E b /N 0 : Signal to Noise Ratio The bound for the probability of bit error is given by: Where, d free : Hamming weight of all possible free distance code-words N d free : Multiplicity of code-words with Hamming weight d free v d free : Average weight of information bits when Hamming weight of code-word is d free Turbo codes were included in the 3G and 4G standards and are now considered as contenders for 5G too. From the BER comparison made by Tahir et al. (2017), Turbo codes were found to perform close to LDPC and Polar codes and even outperformed them at low code-rates. However, the main drawback of Turbo codes remains their significantly high complexity. To address the high complexity issue and to provide a performance boost to meet the 5G requirements, new Turbo coding schemes were introduced.
Turbo codes were enhanced by Spasov by utilising two 8-state recursive convolutional encoders which are concatenated in parallel to generate the Turbo code-word (2020). On the receiver's side, the two convolutional codes are each decoded and the results from each convolutional decoders are combined to improve the turbo decoding process. The proposed scheme results in an improvement in decoding speed.
To meet the requirements for URLLC, a novel Turbo code decoding algorithm that supports high degrees of parallel processing was proposed by Xiang et al. (2019). The proposed Arbitrary Parallel Turbo Decoder (APTD) splits the message into a sequence of windows of arbitrary lengths allowing for an arbitrary degree of parallelism. The decoder provides a latency improvement of a factor of 0.7 and a throughput improvement of a factor of 1.4 compared to the state-of-the-art (SOTA) LTE turbo decoder.
Garzon, Abdel and Douillard introduced an enhanced design of punctured Turbo codes in which the constituent code distance spectrum and the extrinsic information exchange using uniform interleavers are used to select the puncturing pattern (2018). The interleaver function was then defined by a graph-based approach. The proposed scheme provides a performance boost both at the waterfall and error floor regions when compared to the Turbo code used in LTE. At a frame error rate (FER) of 10 −4 and a code-rate of 4/5, the proposed scheme provides an E b /N 0 gain of 1.2 dB over an AWGN channel and the gain keeps increasing with decreasing FER over the simulated range.
Two new Turbo codes hardware architectures which use spatial, functional and iteration parallelism were proposed by Weithoffer et al. (2020). One of the architectures consists of a completely pipelined iteration unrolled architecture which is compatible with frames of multiple sizes while the other makes use of error rate distribution dynamics at each decoding iterations. The implementation of both architectures outperformed other state-of-the-art architectures by achieving a throughput of 102.4 Gbps and greatly minimizing the area efficiency to up to 7.15 Gb/s/mm 2 .

Directions for future work
In this section, the future directions for channel codes that may improve their suitability for 5G NR are given.

LDPC and Polar codes hybrids
LDPC codes are extensively compared with Polar codes but there have been only a few hybrids of those two channel codes yet. A hybrid of polar codes with the low complexity Protograph-Based Raptor-Like (PBRL) LDPC codes introduced by Wu et al. (2018), which are proven to give performance boosts for short code-words, can be designed and evaluated for use with URLLC applications.
The performance of PC polar codes is yet to be compared with LDPC and Turbo codes and hybrids can even be formed between them to achieve better channel codes . PC Polar codes are adaptable to multiple code-lengths and code-rates and thus the hybrids may be suitable for URLLC and mMTC services .

Low complexity Turbo codes and hybrids
Even though Turbo codes have good error performances for large message blocks, their high complexity prevents them from being good contenders for 5G applications. By properly reducing their complexity, they can become more suitable candidates for eMBB services than the currently selected LDPC and Polar codes. However, only a few studies are going in this direction. Additionally, once a lower complexity Turbo code is identified, hybrids of Turbo codes such as Turbo-LDPC and Turbo-Polar codes can be designed and assessed for suitability with 5G applications.

Rateless codes
There is a scarce amount of research around Raptor codes and LT codes for application with 5G applications. Investigations can be made to determine how those rateless codes can be modified to try to meet the requirements of 5G applications. Moreover, as these rateless codes are implemented at the application layer, they can be combined with physical layer channel codes and a comparison between each combination can be made.

Machine learning for channel coding
With the significant growth in the field of machine learning over the last decade, the latter has been able to pave its way to channel coding, with successful attempts to improve channel codes' performance.
The Polar-LDPC concatenated scheme proposed by Wang, Li, Chang and He makes use of several parallel neural networks to optimize the decoding performance (2020). The scheme employs polar encoding on the segmented information blocks which are then concatenated and then encoded using an LDPC encoder. On the receiver's side, BP decoding is performed on the recovered LDPC code-word. The decoded sequence is segmented and fed to multiple deep neural networks (DNNs), placed in parallel, for further decoding. The parallel structure of the DNNs helps to minimize decoding delays, making it more suitable for 5G's URLLC services. The proposed scheme is found to have a lower time complexity when compared to traditional concatenation schemes but it can provide error performance gains mainly at low SNRs. To improve the scheme's BER performance at higher SNRs, the parallel concatenation of LDPC codes proposed by Mostari and Taleb-Ahmed discussed in section 4.1 can be employed. Furthermore, the conventional LDPC codes used can also be substituted by PBRL-LDPC codes which require fewer iterations for decoding and also provide error performance gains . Decoding of the LDPC code-word can be performed by the neural offset Min-Sum decoding proposed by Lugosch & Gross which uses machine learning to identify optimal offset values at the LDPC decoder (2017) to improve the error performance.
Ao, Li and Ma used deep reinforcement learning to improve the throughput of a communication system employing spinal codes by up to 34% (2020). A deep Q network was used to model the state-action function of the channel. Then the optimal quantity of spinal code symbols which can be transmitted over the channel was determined by training the neural network approximation value function. This scheme can further be improved to achieve higher throughputs while decreasing its complexity by adapting it to the CRC-aided spinal codes discussed in section 4.3 (Bian et al., 2020). The overall system may then be able to satisfy eMBB scenarios' requirements for high throughputs.
A set of jointly trained neural encoder and decoder called Turbo Autoencoder was designed using a Convolutional Neural Network (CNN) (Yihan et al., 2019). The authors demonstrated that the design of channel codes can be learned by a machine using training data alone. The error performance of the Turbo Autoencoder was better than that of conventional channel codes including LDPC and polar codes at SNRs below 1.5 dB. One possible way to improve the error performance of the Turbo Autoencoder is to use the method introduced by Garzon, Abdel and Douillard for selecting the puncturing pattern, which is found to provide error performance gains at the waterfall region as described in section 4.4.

Simulation results and analysis
In this section, the performances of the LDPC and Polar codes which have been deployed in 5G NR Release 15 are demonstrated using MATLAB simulations.

LDPC codes
The system model in Figure 2 was implemented in MATLAB using the 5G Toolbox and simulations were performed to assess the performance of Release-15 LDPC codes for eMBB's Downlink Shared Channel (DLSCH) used for the transmission of downlink data.
The transport block to be transmitted first goes through Downlink Shared Channel (DL-SCH) processing block in which the following operations are performed (Mathworks, 2018b): 1. Cyclic redundancy check (CRC) codes, which help to detect errors on the receiver's side, are attached to the data. 2. Code block segmentation is performed to split the stream of data bits into arrays of code block segments. 3. LDPC encoding operations are performed. 4. Rate matching is then performed and the code block segments are concatenated into a code-word for Physical Downlink Shared Channel (PDSCH) processing. PDSCH processing is then performed on the rate matched output. PDSCH processing includes the following operations (Lin et al., 2018): (i) The data in each code-word is scrambled using specific scrambling sequences. (ii) Modulation is performed on the scrambled data (e.g QAM or QPSK). (iii) The modulated symbols are mapped onto a number of MIMO layers less or equal to the number of antenna ports used for transmission.
Precoding is performed on the mapped modulated symbols to maximize the throughput before performing Cyclic-Prefix Orthogonal Frequency Division Multiplexing (CP-OFDM) on the modulated symbols (Toni et al., 2019). Basically, with OFDM, the bandwidth is split into narrower subcarriers. The subcarriers are orthogonal to each other, hence preventing them from interfering with each other without the use of guard bands, thereby increasing the overall spectral efficiency. In CP-OFDM, the same principles are applied but with the addition of a cyclic prefix at the start of each OFDM symbol. The cyclic prefix in a symbol is a copy of the end part of the same symbol. It acts as a guard band that reduces inter-symbol interference which is known to affect the performance of traditional OFDM (Toni et al., 2019).
The output signal of the CP-OFDM block is then transmitted over the channel to the receiver. The received signal is first synchronized at the receiver side so that the signal can be accurately decoded.
The reverse CP-OFDM is performed to recover the modulated signals and then the reference signals (RS) are used to perform a channel estimation whereby the current channel conditions are determined. This helps in achieving reliable high data rates transmission. Finally, the PDSCH decoding is performed followed by DLSCH decoding to recover the transmitted message bits.
The simulations were performed using a bandwidth of 20 MHz with a subcarrier spacing of 30 kHz. The performance of the system was evaluated over a Clustered Delay Line (CDL) channel with AWGN (3GPP, 2017) using 16-QAM and 64-QAM with PDSCH code-rates 378/1024 and 616/1024 (3GPP, 2019b). The transmission of Frames with a duration of 10 ms were simulated with Hybrid Automatic Repeat Request (HARQ) retransmissions enabled. Figures 3-5 show the BER, BLER and PDSCH throughput simulation results respectively.
The following observations were made from the BER and BLER results: At a BER of 10 −6 : . The system with a PDSCH code-rate of 378/1024 provides an SNR gain of 7 dB over the one with a PDSCH code-rate of 616/1024 when using 16-QAM. . The system with a PDSCH code-rate of 378/1024 provides an SNR gain of 6 dB over the one with a PDSCH code-rate of 616/1024 when using 64-QAM. . The use of 16-QAM allows the system with a PDSCH of code-rate 378/1024 to achieve an SNR gain of 5 dB over the system using the same PDSCH code-rate that uses 64-QAM. . The use of 16-QAM allows the system with a PDSCH of code-rate 616/1024 to achieve an SNR gain of 4.5 dB over the system using the same PDSCH code-rate with 64-QAM.
At a BLER of 10 −6 : . The system with a PDSCH code-rate of 378/1024 provides an SNR gain of 7 dB over the one with a PDSCH code-rate of 616/1024 when using 16-QAM.  . The system with a PDSCH code-rate of 378/1024 provides an SNR gain of 5.5 dB over the one with a PDSCH code-rate of 616/1024 when using 64-QAM. . The use of 16-QAM allows the system with a PDSCH of code-rate 378/1024 to achieve an SNR gain of 6 dB over the system using the same PDSCH code-rate but using 64-QAM instead. . The use of 16-QAM allows the system with a PDSCH code-rate of 616/1024 to achieve an SNR gain of 4.5 dB over the system using the same PDSCH code-rate but using 64-QAM instead. Table 3 gives the PDSCH throughput results with details on the SNR required to reach the maximum simulated throughput for each simulated scheme.
Basically, lower PDSCH code-rate transmissions provide better error performances at a trade-off of the maximum achievable throughput due to the increased proportion of channel coding bits transmitted along with the information bits.
When higher-order modulation is used, more bits are transmitted per symbol which allows higher throughputs to be achieved. However, the constellation points get closer to each other when the order of modulation is increased, which in turn increases the probability of erroneous demodulation of the QAM symbols.

Polar codes
The performance of Polar codes in 5G's eMBB downlink control channel is assessed by implementing the system model in Figure 6 in MATLAB using the 5G Toolbox.
On the transmitter's side, CRC bits are first attached at the end of the input block to be transmitted to produce a codeblock of length K. Polar encoding is performed on this codeblock to produce a codeblock of length N. Then rate matching, which is composed of sub-block interleaving and puncturing, is performed to the polar-encoded codeblock to obtain a codeblock of length E, based on the desired code-rate, R = K/E. QAM modulation is then performed before transmitting the control signal over an AWGN channel (Mathworks, 2021).
On the receiver's side, soft demodulation is performed on the received noisy signal. Rate recovery is then performed to undo the rate matching process executed at the transmitter. Polar decoding is then performed by using the CRC-Aided Successive Cancellation List (CA-SCL) algorithm on the LLR values output from the rate recovery process block. The CRC bits in the polar-decoded signal are then used to detect errors from the decoded codeblock and are removed from the polar-decoded code-word to recover the control message (Mathworks, 2021).
The simulations were performed using a CRC length of 24 bits. The maximum value of N was set to 9 bits and the polar decoding list length was set to 8 bits. The simulations were performed using the code-rates, R, of 43/180 and 56/864 and QAM orders 16-QAM and 64-QAM. Figure 7 and Figure 8 show the BER and BLER simulation results respectively. Throughput simulations are not demonstrated for Polar codes because it is irrelevant to calculate throughput for control messages.
The following observations were made from the BER and BLER results: At a BER of 10 −6 : . The system with a code-rate of 56/864 provides an SNR gain of 2.1 dB over the one with a code-rate of 43/180 when using 16-QAM.  Figure 6. 5G NR Polar Codes End-to-End Model (Mathworks, 2021).  . The system with a code-rate of 56/864 provides an SNR gain of 5 dB over the one with a code-rate of 43/180 when using 64-QAM. . The use of 16-QAM allows the system with a code-rate of 56/864 to deliver an SNR gain of 1.1 dB over the system using the same code-rate but using 64-QAM instead. . The use of 16-QAM allows the system with a code-rate of 43/180 to deliver an SNR gain of 3.5 dB over the system using the same code-rate but using 64-QAM instead.
At a BLER of 10 −6 : . The system with a code-rate of 56/864 provides an SNR gain of 2.5 dB over the one with a code-rate of 43/180 when using 16-QAM. . The system with a code-rate of 56/864 provides an SNR gain of 5 dB over the one with a code-rate of 43/180 when using 64-QAM. . The use of 16-QAM allows the system with a code-rate of 56/864 to deliver an SNR gain of 1 dB over the system using the same code-rate but using 64-QAM instead. . The use of 16-QAM allows the system with a code-rate of 43/180 to deliver an SNR gain of 3.5 dB over the system using the same code-rate but using 64-QAM instead.
The results show that the error performance of polar codes is better at a lower coderate which can be justified by the higher proportion of channel code bits included in the transmitted code-word. This higher proportion of channel code bits improves the error correction capabilities at the receiver's side. Lower modulation orders demonstrate better error performances because the constellation points are placed further apart which makes demodulation less prone to errors.

Conclusion
5G NR is expected to bring drastic changes to mobile communications. 5G services are classified into three classes which are eMBB, mMTC and URLLC and are expected to be adopted by multiple vertical industries having differing requirements. 5G consists of a suite of enabling technologies which includes milimeter waves, small cells, massive MIMO, beamforming and full-duplex communications (Nordrum & Clark, 2017). The conception of 5G has also given rise to new channel coding challenges. eMBB requires channel codes to have high decoding throughputs so that they do not become a bottleneck in 5G communications (Maunder, 2018). The channel codes for URLLC must have low latency and strong error performance on short data blocks. However, capacity-achieving long channel codes are found to not be able to achieve similar performances over short data packets . For mMTC, the channel codes must have a low complexity to reduce the energy consumption of devices and good flexibility to work with the varying data block lengths (Bockelmann et al., 2016).
Simulations performed using 5G eMBB's LDPC and Polar codes for data and control channels respectively show that the lower code-rates and lower QAM orders resulted in the best BER and BLER performances while higher code-rates and higher QAM orders allowed higher data throughputs to be achieved at high SNR levels.
Researches show that progress is constantly being made towards delivering the codes which suit the 5G standards. Variants of channel codes that provide better performances over short block codes are being designed for URLLC and mMTC services. Concatenation of channel codes are being tested for enhancing error performances and new channel codes such as spinal codes are being investigated for their suitability to 5G services. Finally, researchers are integrating machine learning to channel decoding algorithms to provide performance boosts with reduced complexities. Yet, there is still room for more research that can cover the gaps of those previous researches to finalize the choice of the channel codes for 5G.

Disclosure statement
No potential conflict of interest was reported by the authors.

Notes on contributors
Madhavsingh Indoonundon received his BEng (Hons) degree in Electronics and Communications Engineering with first-class honours from the University of Mauritius in 2017. He was also awarded a Gold medal for producing the best degree project at the Faculty of Engineering in 2017. Since 2019, he is an Mphil/PhD student at the University of Mauritius. His research interests are channel coding and mobile communications. He is working at Mauritius Telecom in the field of Radio Access Network as an engineer.
Dr. T.P. Fowdur received his BEng (Hons) degree in Electronic and Communication Engineering with first-class honours from the University of Mauritius in 2004. He was also the recipient of a Gold medal for having produced the best degree project at the Faculty of Engineering in 2004. In 2005 he obtained a full-time PhD scholarship from the Tertiary Education Commission of Mauritius and was awarded his PhD degree in Electrical and Electronic Engineering in 2010 by the University of Mauritius. He is also a Chartered Engineer and Member of the Institute of Telecommunications Professionals of UK and the IEEE. He joined the University of Mauritius as an academic in June 2009 and is presently an Associate Professor at the Department of Electrical and Electronic Engineering of the University of Mauritius. His research interests include Mobile and Wireless Communications, Multimedia Communications, Networking and Security, Telecommunications Applications Development, Internet of Things and AI. He has published several papers in these areas and is actively involved in research supervision, reviewing of papers and also organizing international conferences.