1 Introduction

The fifth-generation (5G) mobile communication system is expected to begin from the 2020s [1]. Based on the user requirements, the new radio access technology for a 5G systems includes three settings, which are massive Machine-Type Communication (mMTC), Ultra-Reliable-Low-Latency Communications (URLLC), and Enhanced Mobile Broadband (eMBB) [2]. According to its usage, URLLC, and mMTC are latency, and reliable sensitive in communication, whereas the eMBB requests higher data rates, and data capacities [2]. This paper considers the user requirements for the channel coding schemes for a 5G mobile communication system for short length message transmission in machine-type communication.

The machine-type communication (MTC) is an emerging application, in which the communication session has machines in either one or both side of the end users  [3]. The channel coding scheme for the 5G mobile communication system for short length message transmission can be used in the developing applications of MTC such as metering, control system and monitoring, tracking, payment, and security and public safety [4].

The user requirements for the channel coding scheme for 5G mobile communication system are reliability, flexibility, latency, and complexity [5]. The URLLC needs a channel coding scheme that achieves high reliability \((10^{-5}\) to \(10^{-9})\) with low latency [6]. The mMTC needs a channel coding scheme that supports small information size, low-cost, and long battery life [7] (low complexity, and better flexibility). The major challenge of mMTC is to support a massive number of low-cost and low-energy consumption devices [1]. So, the channel coding scheme has to almost satisfied with latency, reliability, complexity, and flexibility requirements that demands in MTC of URLLC, and mMCT applications.

At the moment, the channel coding schemes present for 5G mobile communication systems are Turbo, low-density parity check (LDPC), and Polar codes [5, 8]. However, Turbo and LDPC codes do not satisfy the user requirements for the 5G mobile communication system for short length message transmission [1, 8], because their algorithm is designed to approach the channel capacity for long packets that is not suitable for MTC scenarios [9]. Also,  Aarti and Mohammad [1] have investigated the polar code performance for information block length (20, 40, 200, 600 and 1000) over different code rates for 5G (URLLC and mMTC). In [1], it was concluded that although polar code has proven their potential for small block length for 5G (URLLC and mMTC), the low complexity decoding performance betterment for small block length is still a problem of polar codes.

This paper considers and evaluates different channel coding schemes: LDPC, turbo, polar, systematic convolutional, and non-systematic convolutional codes for the 5G mobile communication system for short length message transmission \((k \le 1024\) bits) in the MTC based on user requirements of flexibility, complexity, latency, and reliability on the Additive white Gaussian noise (AWGN) channel with Binary Phase-Shift Keying (BPSK) of code rate 1 / 2.

2 Channel Coding Schemes

Channel coding is a technique used in communication systems to ensure a minimum errors in message transmission; however, it is a complex component of a cellular communication system. In the implementation of communication systems, communication engineers is looking for a channel coding scheme that satisfies the user requirements. Therefore, due to user demands, the wireless communication systems have made remarkable development in the last few years. So, for the implementation of the 5G mobile communication system for short length message transmission, the channel coding scheme needs to satisfy the user requirements of MTC.

The Systematic Convolutional, Non-Systematic Convolutional, Turbo, Polar, and LDPC coding schemes for the 5G mobile communication system for short length message transmission \((k \le 1024\) bits) are briefly reviewed below with their design parameters that used for evaluation of  MTC user requirements.

2.1 Convolutional Code

Convolutional code (CC) is a class of linear error-correction code that is widely used in many applications including 2G, and 3G mobile communication standards. In contrast, to some channel coding schemes, like turbo and LDPC codes, their BER performance does not  improve with increasing message length, and hence they are not suitable for long message transmission [8]. However, they still offer comparable performance in short length message transmission with the Viterbi decoder [8].

The CC can be recognized by three parameters (kn, K), which denote the input, output, and constraint length (memory length), respectively. The CC encoder can be represented by connection vectors or connection polynomials, state diagram, tree diagram, and trellis diagram [10]. The representation of the CC encoder is usually in generator polynomial or vector that is either in an octal form or binary form. The CC decoder algorithms are the Viterbi decoder, sequential decoder, and feedback decoder [10]. The Viterbi and sequential decoders achieve approximately the same error probability [10, 11], while the feedback decoder can perform nearly as well as the Viterbi decoder on a Binary Symmetric Channel (BSC) [11].  But, the major disadvantage of the sequential decoder is that the number of state metrics searched is a random variable [10]. The disadvantage of the feedback decoder is that with the increasing value of the look-ahead length (L), which increases the coding gain, but it also increases the decoder complexity implementation [10]. The disadvantage of the Viterbi algorithm is that the error probability decreases exponentially with increasing constraint length (K), and the number of code states (S) [10]. Thus, the Viterbi algorithm decoder complexity grows exponentially with increasing constraint length (K) compared to the sequential decoder that is independent of constraint length (K), so it is possible to use sequential decoder for very large constraint length (K) [10]. Usually, the sequential decoder is used for long constraint length (K), while the Viterbi decoder is used for short constraint length (K). The Viterbi algorithm selects a maximum likelihood codeword sequence using the \(S=2^m\) states for m, where m is the given number of memory length, also known as constraint length (K).

The convolutional codes are categorized into two types: systematic convolutional code and non-systematic convolutional code [10].

2.1.1 Systematic Convolutional Code

The systematic convolutional code (SCC) is any design of convolutional code in which the input k-tuple appears as a part of the output branch word n-tuple connected with that k-tuple [10]. An example is Fig. 1 that shows SCC encoder representation of memory length of 3.

Fig. 1
figure 1

Systematic convolutional codes (SCC) encoder of memory length of 3 [10]

In this work, we consider SCC of code rate \((R=1/2)\) with constraint length \(K = 10\), and the generating polynomials in octal form \(1000\), \(1167\). The SCC decoder is the Viterbi algorithm. The decision type of Viterbi decoder is a soft-decision with type decision parameter of unquantized (Euclidean distance). We use soft-decision decoding instead of hard-decision decoding because with soft decision decoding, approximately 2 dB of coding gain over hard decision can be obtained in Gaussian channels [12, 13]. Also, the most important, and simplest practical statement of a mobile radio channel model in wireless communication is the AWGN channel [13]. Hence, the AWGN channel, which commonly uses with Viterbi algorithm with soft-decision type, is selected. The modulation and demodulation of BPSK were also considered.

Figure 2 shows a digital communication system block diagram of the SCC scheme on an AWGN channel with BPSK modulation/demodulation.

Fig. 2
figure 2

Digital communication system block diagram of the SCC scheme

2.1.2 Non-systematic Convolutional Code

The non-systematic convolutional code (NSCC) is any design of convolutional code in which the input k-tuple is not part of the output branch word n-tuple connected with k-tuple [10]. An example is Fig. 3 that shows NSCC encoder representation of memory length of 3.

Fig. 3
figure 3

Non-systematic convolutional code encoder (NSCC) of memory length of 3 [10]

In this work, we consider NSCC of code rate \((R=1/2)\) with the constraint length \(K=5\), and the generating polynomials (octal form) \(23\), \(35\) from [14, 15]. The NSCC decoder is the Viterbi algorithm. The decision type of Viterbi decoder is a soft-decision with type decision parameter of unquantized (Euclidean distance). Also, the AWGN channel with BPSK was considered as channel, and modulation/demodulation blocks, respectively.

Figure 4 shows a digital communication system block diagram of the NSCC scheme on an AWGN channel with BPSK modulation /demodulation.

Fig. 4
figure 4

Digital communication system block diagram of the NSCC scheme

2.2 Turbo Code

Turbo code is a class of linear error-correction code, in which the encoder is constructed by parallel concatenating two Recursive Systematic Convolutional (RSC) codes that connected by an interleaver. The codeword bits (output) of the Turbo encoder are the input bits  (as an output) with the parity bits from RCS Encoder 1, and the parity bits from RCS Encoder 2. Figure 5 shows the Turbo encoder representation.

Fig. 5
figure 5

Turbo encoder [16]

Turbo decoder algorithm is an iterative two Soft-In-Soft-Out (SISO) decoding that exchange extrinsic information during each iteration [8]. The turbo decoder algorithms are the Soft Output Viterbi Algorithm (SOVA), the Bahl, Cocke, Jelinek and Raviv (BCJR) algorithm (that based on a Maximum Posteriori Probability (MAP) algorithm [17]), and other variants of the constituent decoders component such as Max-Log-MAP, Log-MAP, etc. The MAP algorithm can be only applied, if the sequence length is finite, whereas the Viterbi Algorithm (VA) can be used for any sequence length [18]. The BER performance and the low complexity of the encoder made the turbo code the channel coding scheme for the 3G and 4G mobile communication system [8]. Although Turbo codes used in 3G and 4G, it may not satisfy the performance requirements of eMBB for all the code rates and block lengths as their implementation of complexity are too high for higher data rates [2].

In this work, we consider Turbo code of code rate \((R=1/2)\) with constraint length \(K = 4\), and the generating polynomials (octal form) \(13,\)\(15\) with feedback polynomial (octal form) \(13\) from [19]. Since this Turbo encoder output is a code rate of 1 / 3, the code rate 1 / 2 (higher code rate) achieves by puncturing some parity bits from RCS Encoder 1 and RCS Encoder 2. We used the puncture matrix \(P_{1}= \begin{bmatrix} 1&1 \\ 1&0 \end{bmatrix}\), and \(P_{2}= \begin{bmatrix} 0&0 \\ 0&1 \end{bmatrix}\) from [16]. The random interleaving for Turbo encoder and Turbo decoder of MAP algorithm with the number of iterations \((I=10)\) were considered. Also, the AWGN channel with BPSK were consider as channel, and modulation/demodulation blocks, respectively.

Figure 6 shows a digital communication system block diagram of the Turbo code scheme on an AWGN channel with BPSK modulation/demodulation.

Fig. 6
figure 6

Digital communication system block diagram of the Turbo code scheme

2.3 LDPC Code

Low-Density Parity Check matrix (LDPC) code is a class of linear error-correction code that has a parity check matrix H, which is sparse (less nonzero elements in each column and row). LDPC code can be classified into regular and irregular LDPC codes [16]. When the parity check matrix H, has the same number \((w_{c})\) of ones in each column and the same number \((w_{r})\) of ones in each row, the code is called a regular \((w_{c} ,w_{r})\) [16]. The original Gallager codes [20] are regular binary LDPC codes [16]. The size of the H matrix is commonly very large; however, the density of the nonzero element is very low [16]. LDPC code of length n, can be written as \((n, w_{c}, w_{r})\) LDPC code. So, each information bit is involved with \(w_{c}\) parity checks, and each parity check bit is involved with \(w_{r}\) information bits [16].

The parity check matrix H can be represented by Algebra construction [21, 22], and by Tanner graph [23], where the variable nodes or bit nodes (VN) in Tanner graph is equal to the number of columns of H matrix, and the check nodes (CN) is equal to the number of rows of H matrix that are connected by 1s in the H matrix. An example of Algebra representation of the H matrix is the following:

$$\begin{aligned} H= \begin{bmatrix} 1&0&1&0&0 \\ 0&1&0&1&1 \\ 1&1&0&0&1 \end{bmatrix} \end{aligned}$$

Figure 7 shows the Tanner graph representation of the example H matrix.

Fig. 7
figure 7

Tanner graph representation of the example H matrix

One LDPC encoder method is the pre-processing method that finds a generator matrix (G) for a given H matrix, which is used for encoding any random message bits (q) vector of size \(1 \times q\) [16]. Another, LDPC encoder method is the efficient encoding method [24] that uses the parity check H matrix directly, which has less complexity compared to the pre-processing method.

The LDPC decoder for hard decision channel uses the bit-flipping algorithm, and for soft decision channel uses the variations of the Sum-Product Algorithm (SPA) [16], also called the message-passing algorithm that is an iterative decoding algorithms, which passes the messages back and forward between the VN and the CN iteratively until the process is stopped [16].

In November 2016, at #87 meeting 3GPP radio access network (RAN), LDPC codes agreed to be adopted for both uplink and downlink eMBB data channels [2]. The LDPC code is presently being used in many communication systems such as 802.16e (Mobile WiMAX), DVB-S2, and 802.11n (Wi-Fi allowing MIMO) [2].

In this work, we consider a regular LDPC code of code rate \((R=1/2)\) with the efficient encoding method. The Min-Sum-Product (MSP) decoder algorithm with the number of iterations \((I=20)\) was considered. The estimate of noise power in the MSP algorithm is unnecessary, which reduces the computational complexity decoder, unlike SPA algorithm. Also, the AWGN channel with BPSK was considered as channel, and modulation/demodulation blocks, respectively.

Figure 8 shows a digital communication system block diagram of the LDPC code scheme on an AWGN channel with BPSK modulation /demodulation.

Fig. 8
figure 8

Digital communication system block diagram of the LDPC code scheme

2.4 Polar Code

Polar code is a class of linear error-correction code that newly introduced by Arikan [25]. Recently, Polar code becomes interesting due to it has proven the capacity-achieving performance with low encoding and decoding complexities algorithms in many sets of scenarios [26].

Polar code can be defined as (NKB), which N is the block length \((N=2^n ,n \ge 0)\), K is the message bits, and B is bit-reversed (a set of K indices, \(B \subseteq N, |B|=K\)) [27].  The remaining \({N - K}\) indices called frozen bit indices [27]. Polar Code can be categorized into Non-Systematic Polar Code (NSPC), and Systematic Polar Code (SPC). The original format of Polar Code in [25] is Non-Systematic. Arikan introduced the SPC in [26], which is outperforming NSPC in terms of the BER performance [28].

Polar code is constructed as a result of the channel polarization transform [25, 29], and the encoder is basically the polarization transform, which is given by the kernel [25]:

$$\begin{aligned} F= \begin{bmatrix} 1&0 \\ 1&1 \end{bmatrix} \end{aligned}$$
(1)

The transform for a larger input size is obtained through the Kronecker product of this kernel with itself, causing Polar code to have lengths (n) of \(2^n\) [29], which is equal to N. For a code of length N, and \(n=log_{2}(N)\), the encoder is given by [25]:

$$G=F^{\bigotimes ^{n}}$$
(2)

which \(F^{\bigotimes ^{n}}\) is the Kronecker product of F with itself n times [29]. The Polar encoder is then [27]:

$$x^N =u^{N} . G_{N}$$
(3)

which x is the output codeword, u is the input block, and G is the generator matrix. For SPC, both u and x are inputs of the encoder; however, for NSPC, u is the only input of the encoder [30].

Figure 9 shows the Polar encoder for a code length \(N=4\). The XOR gates required is equal to \(\dfrac{N}{2}\)\(log_{2}(N)\) [27], which is equal to 4 XOR gates for code length \(N=4\).

Fig. 9
figure 9

Polar encoder of length 4 [29]

The Polar decoder algorithm is Successive Cancellation (SC) decoder [25], which is a fundamental Polar decoder. The Polar decoder also used the Successive Cancellation List (SCL) decoder [31] and the SCL with Cyclic Redundancy Check bits (CRC) (SCL + CRC) [32].

In November 2016, at RAN 86 and 87 meeting, 3GPP standardized Polar code as main coding for control channel function in 5G eMBB scenario [1].

In this work, we consider SPC encoder and SC decoder of code rate \((R=1/2)\). The SC was considered due to the SC achieves the lowest decoder complexity compared to the SCL decoder [33], and the SCL + CRC decoder [2], which is an important requirement in MTC, especially in mMTC. Also, the AWGN channel with BPSK was considered as channel, and the modulation/demodulation blocks, respectively.

Figure 10 shows a digital communication system block diagram of the polar code scheme on an AWGN channel with BPSK modulation/demodulation.

Fig. 10
figure 10

Communication system block diagram of the polar code scheme

3 Evaluation

The evaluation is based on the analysis of user requirements, which are flexibility, complexity, latency, and reliability. Thus, all channel coding schemes (SCC, NSCC, Turbo, LDPC, and Polar) for 5G mobile communication system are evaluated upon the user requirements in MTC. In order to simplify the evaluation, we set the code rate to \(R= 1/2\), and evaluate different channel coding schemes for different short length message \((64 \le k \le 1024\) bits) on AWGN channel with BPSK modulation.

3.1 Flexibility

The first requirement of the channel coding scheme for the 5G mobile communication system for short length message transmission is flexibility. The flexibility of the channel coding schemes is related to its software and hardware implementation. In the hardware implementation, there are many silicon implementation styles such as the digital signal processing (DSP), the field-programmable gate array (FPGA), and the application-specific instruction set processor (ASIP). The flexibility requirements for software and hardware implementation evaluation is to find the best flexibility, and cost trade-off between SCC, NSCC, Turbo, LDPC, and Polar coding schemes.

The impact on communication performance by using iterative decoding algorithms, like Turbo code and LDPC code, is that an iterative algorithm is operated at a lower signal to noise ratio (SNR), unlike the CC, which is operated at a high SNR, and it is non-iterative algorithm [34]. With decreasing value of SNR, the complexity and energy consumption exponentially increase, due to the large number of iterations that are required in decoding [34]. The large number of iterations required for decoding will lead to a large use of silicon in the hardware implementation, but in practical, the silicon area is limited [35].

The Viterbi algorithm, which is commonly used for CC (SCC and NSCC), is easy to implement in Very-large-scale integration (VLSI) hardware and software implementation as it has a simpler algorithm than other channel coding algorithms. Also, one advantage of using SCC scheme is that the SCC encoder is simpler than NSCC encoder because SCC encoder has less hardware implementation needed (less XOR gates for encoding) compared to NSCC encoder, which means SCC encoder has better flexibility than NSCC encoder. While an iterative decoder, like LDPC and Turbo codes, require larger power consumption than CC, because of the following three reasons [36]. First reason, the hardware complexity in LDPC and Turbo decoders are larger than other decoders like Viterbi decoder [36]. A second reason, the decoding process is an iterative algorithm, which implies that the clock frequency has to be kept high with respect to data decoding [36]. A third reason, larger memory is included in decoder architecture such as interleaver memories, and input/output buffers [36].

The Turbo code has less and a consistent number of iterations for different code rates, while the LDPC code has more and a variable number of iterations for different code rates [37, 38]. Hence, using different code rates for LDPC codes will lead to a different number of iterations needed for decoding, which shows the flexibility of LDPC codes for different code rate is low. For example, the LDPC decoder needs 10 iterations for code rate \(= 5/6\), and 20 iterations for code rate \(= 1/2\) to match the performance of the Turbo decoder [34]. For a code rate \(= 1/3\), 40 iterations are compulsory [34].

Maunder [5] shows that Polar decoder is inflexible due to the design of Polar code needs to optimize not only for code rate, and input length, but also for each channel condition. Since, the memory is required to store parameters of the designs optimized for each code rate, input length, and channel condition, which in practical, only limited number of code rate is supported [5]. Hence, the polar code supports a few combinations of different code rates due to the difficulty in the hardware implementation.

The SCC and NSCC have a wide range of different code rates, because of the simple encoder and decoder in the hardware and software implementation. While, Turbo and LDPC codes have less range of different code rates, because of their iterative decoder complexity in the hardware implementation. The Polar code is inflexible [5].

Table 1 summarizes the analysing and evaluation of flexibility of different channel coding schemes for the 5G mobile communication system for short length message transmission.

Table 1 Flexibility of different channel coding schemes

The analysis of the flexibility requirement between different channel coding schemes for the 5G mobile communication system for short length message transmission shows that the easy hardware and software implementation of using wide range of different code rates of the SCC, and NSCC schemes, which are non-iterative algorithm, made them more flexible than Polar codes, and iterative decoding algorithm of Turbo codes and LDPC codes in the MTC. Both NSCC and SCC schemes satisfy the flexibility user requirement, but the SCC encoder is more flexible than the NSCC encoder. So, the SCC is the most flexible scheme for 5G MTC.

3.2 Complexity

The second requirement of the channel coding schemes for the 5G mobile communication system for short length message transmission is complexity. Evaluating the algorithmic complexity of different channel coding schemes is hard [33]. Such calculations are mostly focused towards software implementation and cannot be used in a straightforward technique like hardware implementation [33]. The complexity of the channel decoder depends on many parameters and different conclusions can be made based on the construction of the code [33]. The advanced channel coding with robust error protection and low complexity encoding and decoding is preferred [1]; however, the advanced channel coding such as Turbo codes have low complexity encoder and high complexity decoder whereas, LDPC codes have high complexity encoder and low complexity decoder [2] for high code rates [37, 38]. The complexity of the SCC encoder is simpler than the NSCC encoder, whereas the SCC decoder complexity is the same as the NSCC  decoder complexity [39] of the same constraint length (K). The SPC encoding and SC decoding complexities are O(NlogN), which N is the code block length [25, 26], that have the lowest encoding and decoding complexities compared to other channel coding schemes.

As the decoder complexity is highly related to hardware practical implementation  [8], we only consider the number of basic operations to analyse the computational complexity of the decoder to evaluate the different channel coding schemes for the 5G mobile communication system for short length message transmission in MTC.

In Table 2, the R, N, J denotes code rate, code length, and number of parity bits in LDPC code, respectively. Also, the \(S=2^{m}\), m is the memory length in the SCC, NSCC, and Turbo code, \(I_{max}\) is the maximum number of iterations, \(d_v\) is the average column weight, and \(d_c\) is the average row weight.

Table 2  Decoder algorithmic complexity for different channel coding schemes in terms of numbers of basic operations

The decoder algorithmic complexity of channel coding schemes is in terms of numbers of basic operations that were shown in Table 2, were used to examine the computational complexity of the decoder of SCC, NSCC, Turbo, LDPC, and Polar coding schemes for 5G mobile communication system for different short message length \((64 \le k \le 1024\) bits).

Fig. 11
figure 11

Computational complexity of the decoder in terms of number of basic operations for different short lengths message and different channel coding schemes

Figure 11 shows that Polar (SC) has the lowest computational complexity of the decoder for different short length message \(( 64 \le k \le 1024\) bits) for code rate 1 / 2 followed by the NSCC (Viterbi) because the SC decoder computational complexity is a function of block length N only. The SCC (Viterbi) has the highest computational complexity of the decoder for code rate 1 / 2 due to the Viterbi decoder of the CC complexity grows exponentially with increasing the memory length, (\(m=10\), \(S=2^{10}\) for SCC, and \(m=5\), \(S=2^5\) for NSCC). Also, Fig. 11 shows that Turbo (MAX-Log-MAP), and SCC (Viterbi) have nearly same level of computational complexity of the decoder (SCC (Viterbi) followed by Turbo (MAX-Log-MAP)) because Turbo decoder used less number of memory length than SCC (Viterbi) (\(m=4, S=2^4\) for Turbo, and \(m=10\), \(S=2^{10}\) for SCC), but due to the Turbo (MAX-Log-MAP) is an iterative algorithm, which is used number of iterations \((I_{max}\)\(Turbo=10)\), the computational complexity of the decoder of Turbo (MAX-Log-MAP) becomes nearly the same level as SCC (Viterbi). Interesting computational complexity of the decoder for code rate 1 / 2 that shows from Fig. 11 is LDPC (MSP). The reason of computational complexity of the decoder of LDPC (MSP) to be above NSCC (Viterbi) even though it used a number of iterations (\(I_{max}\)\(LDPC=20\)), is the design of H matrix. The \(d_v\), and \(d_c\) in the H matrix of LDPC code we used is the good values as it has the smallest number of 1s in each column and row of H matrix. To get the good H matrix of the LDPC code, we refer to [40] to construct the H matrix, then choose the smallest number of 1s of \(d_v\), and \(d_c\). The \(d_v\), and \(d_c\) values used in the H matrix are 3, and 6, respectively. As the H matrix of LDPC code has a smallest number of nonzero elements in each row and column, this will lower the computational complexity of the decoder of LDPC (MSP).

The analysis of the complexity requirement between different channel coding schemes for the 5G mobile communication system for short length message transmission shows that Polar (SC) has the lowest computational complexity of the decoder compared to SCC, Turbo, LDPC, and NSCC schemes. However, other user requirements (flexibility, latency, and reliability) need to be taken into account for defining the optimum channel coding scheme for the 5G mobile communication system for short length message transmission in MTC.

3.3 Latency

The third requirement of the channel coding scheme for the 5G mobile communication system for short length message transmission is latency. Latency is the time taken for the message bits to pass over all the communication system blocks that were shown in Figs. 2, 4, 6, 8, and 10 considering different channel coding schemes are used in the channel coding blocks.

Some papers have compared the latency for channel coding schemes, like decoding latency between the CC, and LDPC codes were discussed in [41], and encoding latency was discussed in [42]. Maiya et al. [41] and Hehn and Huber [42] concluded that the CC has an advantage of low encoding and decoding latency compared to LDPC codes.

In this section, we evaluate the encoding computational latency and the decoding computational latency for different channel coding schemes (SCC, NSCC, Turbo, LDPC, and Polar) for the 5G mobile communication system for short length message transmission \((k \le 1024\) bits) by using the tic, toc function in MATLAB software. The tic, toc function in MATLAB software are used to measure the elapsed time taken for different short length message bits \((64 \le k \le 1024\) bits) to pass over the communication system blocks that were shown in Figs. 2, 4, 6, 8 and 10 considering different channel coding schemes are used in the channel coding blocks. The resulting curves of BER comparison in reliability subsection for different short length message bits are used to determine the Eb/N0 values to achieves the BER target at \(10^{-5}\) as the minimum BER target in 5G MTC.

Table 3 summarizes the parameters that were used for simulation results of  encoding and decoding computational latency for different channel coding schemes for 5G mobile communication system for short length message transmission \((k \le 1024\) bits).

Table 3 Parameter for simulation results
Fig. 12
figure 12

Encoding computational latency

Figure12 shows the simulation results of the encoding computational latency of different channel coding schemes for 5G mobile communication system for short length message transmission \((64 \le k \le 1024\) bits) for code rate 1 / 2, and it is clear that SCC and NSCC have lower encoding computational latency than other channel coding schemes due to their simple encoder design. The SCC has lower encoding computational latency than NSCC due to the SCC encoder used less XOR gates than NSCC encoder. The encoding computational latency of LDPC encoder increases with increasing short length message due to the efficient encoding method of LDPC is a time-complexity that has a complexity of O(n), which n is a code length. Figure12 also shows that Polar (SPC) has a high encoding computational latency due to it is a serial nature encoder of O(NlogN), which is a time-complexity that gets worse with increasing code length N. The Turbo encoder has a higher encoding computational latency than NSCC and SCC encoders due to Turbo encoder design is concatenating in parallel two RSC codes separated by an interleaver, which is a linear time. The linear time means that the running time or computational latency increases at most linearly with the size of the message. As a Turbo encoder uses interleaving, which adds additional delay depends on the message length, the short length message leads to higher encoding computational latency. Figure 12 also shows that encoding computational latency for NSCC and Turbo encoders are upward at short message length 256 bits and at 64 bits for Turbo encoder only. That is due to when executing a coding script more than once, MATLAB does some optimisation so that the second time it is faster.

Fig. 13
figure 13

 Decoding computational latency

Figure 13 shows the simulation results of the decoding computational latency of different channel coding schemes for 5G mobile communication system for short length message transmission \((64 \le k \le 1024\) bits) for code rate 1 / 2, and it is clear that NSCC (Viterbi) and SCC (Viterbi) have lower decoding computational latency than other channel coding schemes due to they are non-iterative algorithm. The NSCC (Viterbi) has the lowest decoding computational latency than SCC (Viterbi) due to NSCC (Viterbi) used less number of memory length than SCC (Viterbi). The Polar (SC) has a higher decoding computational latency than Turbo (MAX-Log-MAP) and LDPC (MSP) due to the serial nature decoding of the SC algorithm, which is time-consuming that gets worse with an increasing code length N (higher latency O(N)). Figure 13 also shows that LDPC (MSP) and Turbo (MAX-Log-MAP) have a higher decoding computational latency than SCC (Viterbi) and NSCC (Viterbi) due to the LDPC (MSP) and Turbo (MAX-Log-MAP) are iterative algorithms. The LDPC (MSP) has a higher decoding computational latency than Turbo (MAX-Log-MAP) due to the LDPC (MSP) used more number of iterations (\(I= 20\)) than Turbo (MAX-Log-MAP), which used a number of iterations (\(I = 10\)). Figure 13 also shows that decoding computational latency for LDPC (MSP) decoder is upward at short message length 64 bits. That is due to when executing a coding script more than once, MATLAB does some optimisation so that the second time it is faster.

The analysis of encoding and decoding computational latency requirement for different channel coding schemes for the 5G mobile communication system for short length message transmission shows that NSCC and SCC schemes have lower latency than Polar, Turbo, and LDPC codes schemes in MTC. Whereas NSCC achieves the lowest encoding and decoding computational latency among other channel coding schemes, other user requirements (flexibility, complexity, and reliability) need to be taken into account for defining the optimum channel coding scheme for the 5G mobile communication system for short length message transmission in MTC.

3.4 Reliability

The fourth requirement of the channel coding schemes for the 5G mobile communication system for short length message transmission is reliability. The user requirement for reliability in the channel coding schemes is that the channel coding scheme needs to be very reliable in the communication system for any given message length.

For the transmission of short control messages at very high reliability, the CC is better than iterative codes, like Turbo, and LDPC codes [6]. Also, iterative codes may have an error floor, which is prohibitive to reaching very low packet error rates, such as \(10^{-9}\), unlike CC that does not have an error floor [6]. Besides that, the receiver can start decoding the data once part of the data is received, but in iterative codes, the entire data need to be received before it is iteratively decoded [6]. Eslami and Pishro-Nik [43] show that the finite length of polar code does not perform as good as LDPC code in terms of BER, but they do not have an error floor.

In this section, we evaluate the reliability in term of BER comparison of SCC, NSCC, Turbo, LDPC, and Polar coding schemes for the 5G mobile communication system for different short length message transmission, which is used the parameter specifications that are in Table 3.

The following Figs.14, 15, 16, 17, and 18 show the reliability simulation results in term of BER comparison for SCC, NSCC, Turbo, LDPC, and Polar coding schemes for the 5G mobile communication system considering different short length message \((64 \le k \le 1024\) bits) of code rate 1 / 2.

Fig. 14
figure 14

BER performance of different channel coding schemes for message length \(k=64\) bits on AWGN channel with BPSK modulation

Fig. 15
figure 15

BER Performance of different channel coding schemes for message length \(k=128\) bits on AWGN channel with BPSK modulation

Fig. 16
figure 16

BER performance of different channel coding schemes for message length \(k=256\) bits on AWGN channel with BPSK modulation

Fig. 17
figure 17

BER performance of different channel coding schemes for message length \(k=512\) bits on AWGN channel with BPSK modulation

Fig. 18
figure 18

BER performance of different channel coding schemes for message length \(k=1024\) bits on AWGN channel with BPSK modulation

From Figs. 14, 15, 16, 17, and 18, it is clear that SCC and NSCC schemes are more reliable (BER performance is between \(10^{-5}\) to \(10^{-7}\)) than Turbo, LDPC, and Polar coding schemes for different short length message \((64 \le k \le\) 1024 bits) of code rate 1 / 2.  The SCC scheme has better reliability with an advantage of 1 dB channel gain compared to NSCC scheme at short length message [\(k=64,512\), and 1024] bits because the SCC scheme uses the highest-value of memory length, which increases the error-correcting capability of the code. Figures 14, 15, 16, 17, and 18 also show that  BER performance of LDPC code is between \(10^{-3}\) to \(10^{-4}\) is not as good as other channel coding schemes for different short length message due to the fact that the code length is too short. That is because the error-correcting capability of the LDPC code is a minimum when the code length is short. The minimum distance of the LDPC code is related to the error-correcting capability, which grows linearly with the block length. Figures 15 and 18 show that LDPC codes have an error floor at a short length message [\(k= 128\) and 1024] bits, which is not suitable for 5G URLLC scenario. So, the reliability of LDPC for different short length message bits \((64 \le k \le 1024\) bits) of code rate 1 / 2 is low. Figures 14 to 18 show also that the reliability of Turbo codes can reach BER \(10^{-6}\) at short length message \(k=64\), and \(k=256\), whereas Turbo codes reach BER \(10^{-5}\) or above \(10^{-5}\) at short length message \(k=128,\)\(k=512\), and \(k=1024\). This is because of random interleaving in Turbo code, as when the message length is short, the random position in the medium is not really very random. Also, punctured Turbo code limits the decoding capability to correct errors due to the removal of some of the parity bits. So, the reliability of Turbo code for different short length message \((64 \le k \le 1024\) bits) of code rate 1 / 2 is low. As well, Figs. 14, 15, 16, 17, and 18 show that the reliability of Polar code for different short length message \((64 \le k \le 1024\) bits) of code rate 1 / 2 reach BER \(10^{-5}\), which is the minimum reliability requirement for 5G mobile communication system in MTC. This is because the SC decoder of Polar code is poor at finite length message. However, it achieves same reliability as the SCC scheme with an advantage of 2 dB channel gain at \(k=1024\) bits. That is because the SC decoder algorithm of the Polar code is best for infinite code length or longer length but at the cost of higher latency.

The analysis of reliability requirement of different channel coding schemes for the 5G mobile communication system for different short length message transmission shows that SCC scheme achieves higher reliability (BER is between \(10^{-5}\) to \(10^{-7}\)) with 1 dB channel gain than NSCC scheme in the MTC.

According to simulation results, the evaluation of all user requirements for different channel coding schemes for 5G mobile communication system for short length message transmission of code rate 1 / 2 show that even though SCC scheme has the highest decoding computational complexity among other channel coding schemes, it has better flexibility, low encoding computational latency, and a higher reliability with 1 dB channel gain than NSCC scheme in MTC. This is because the highest computational complexity of the SCC decoder is caused by the use of a higher-value of memory length of \(10\) only, which increases the number of states \((S=2^{m}= 2^{10})\) in the decoder computational complexity of the Viterbi algorithm.

4 Conclusion

In conclusion, the analysis of the LDPC, Turbo, SCC, NSCC, and Polar coding schemes for the 5G mobile communication system for short length message transmission \((k \le 1024\) bits) in MTC were considered on an AWGN channel with BPSK modulation of the code rate 1 / 2.

From the evaluation that is based on the analysis of different channel coding schemes, the SCC scheme is the optimum channel coding scheme for 5G mobile communication system for short length message transmission in MTC, as it satisfies almost whole user requirements [better flexibility (simpler encoder than NSCC encoder), low latency (lower than Turbo, LDPC, and Polar), and high reliability (BER is between \(10^{-5}\) to \(10^{-7}\)) with 1 dB channel gain than NSCC]. Whereas, the Polar code has the lowest computational complexity of the decoder among other channel coding schemes.

Accordingly, we suggest the SCC scheme as an optimum channel coding scheme for 5G mobile communication system for short length message transmission \((k \le 1024\) bits) in MTC.

In addition to that, other algorithms of SCC, NSCC, Turbo, LPDC, and Polar coding schemes that almost satisfy whole user requirements in MTC for  the 5G mobile communication system may need to consider in the future.