An Efficient Polar Coding Scheme for Uplink Data Transmission in Narrowband Internet of Things Systems

Narrowband Internet of Things (NB-IoT) is an emerging IoT cellular-based wireless technology that builds based on the existing LTE standard to extend its network coverage suited for Low Power Wide Area Network (LPWAN) connectivity. In the NB-IoT system, LTE turbo codes and Cyclic Redundancy Check (CRC) codes are adopted as the main channel coding technique for Narrowband Physical Uplink Shared Channel (NPUSCH). However, turbo codes require iterative decoding algorithm at the expense of high computation complexity of decoding hence is crucial to achieving the LPWAN requirement of NB-IoT systems. Polar codes are best suited in this regard due to its capacity approaching and complexity reduction in short block length code. In this paper, we proposed an efficient polar coding technique using the Belief Propagation (BP) decoding algorithm for uplink data transmission on the NPUSCH channel. Furthermore, the BP algorithm is incorporated with the CRC stoppage criterion to decrease the number of decoding iteration and reduce computational complexity. In this scheme, single-tone numerology of NPUSCH using 3.75 kHz and 15 kHz subcarrier spacing is adopted. Then, the encoded data is generated with different NPUSCH resources. The theoretical formulation and simulation demonstrate that the proposed scheme provides better error rate performance over the adopted LTE turbo codes and other polar decoding algorithms while reducing the computational complexity.


I. INTRODUCTION
In the recent decade of wireless connectivity, the Internet of things (IoT) technology has recently become the modern communication technology due to its involvement in smart connected applications such as smart cities, e-health, precision agriculture, and much more [1]- [3]. However, rapid demand IoT devices have grown in wireless technology requiring efficient transmission for low power consumption, low cost, and low complexity in terms of implementation. In 20's, it is forecasted that over 100 billion connected devices will be enabled thereby generating huge amount The associate editor coordinating the review of this manuscript and approving it for publication was Zhenhui Yuan . revenue [2], [4], [5]. To meet this demand, the 3rd Generation Partnership Project (3GPP) has set another communication standard specifically for IoT as part of Release 13 (Rel-13) called the Narrowband IoT (NB-IoT) [6] which regarded as the key enablers in Fifth Generation (5G) technology that designed to offer IoT service within which Long Term Evolution (LTE) and WLAN are failed. NB-IoT is a prominent wireless communication technology that co-exists within LTE network to transmit the little amount of data for IoT devices under Low Power Wide Area (LPWA) network technology [7]. To optimize NB-IoT LPWAN specification, additional features are included in both Release-14 and 15 [2] of 3GPP standard. In Release-14 features applicable for massive machine-type communication (mMTC) use case which includes device positioning/localization, and cell search enhancement are introduced focuses on high peak data rates with UE power allocation of 23 dBm and enhanced cell ID. Release-14 [8] integrates NB-IoT into 5G including low latency reduction, new wake up receiver design for efficient operation, higher density support, and multiple Hybrid Automatic Repeat Request (HARQ) feedback which achieve a better throughput with repetitive transmission. It is expected to achieve long-lasting of battery life (least 10years), enhanced coverage (more than Bluetooth and GPRS), low latency (less than 10 msec), massive connection (about 10,000 devices per cell), low cost (less than $1 per module), and the peak data rate of about 250 kbs per second [9].
Considering these new specifications in NB-IoT systems, algorithms such as uplink data transmission, and channel coding are redesigned to optimize uplink transmission in NB-IoT system. However, for data transmission in uplink, channel coding is based on LTE Physical (PHY) Layer forward error correction (FEC) technique [10], [11] including turbo coding and Cyclic Redundancy Check (CRC) codes are being utilized to encode and decode the user transport block (TB) on the physical channels for reliable data delivery. Each NB-IoT UE will schedule with TB data which is mapped to specific layers on uplink channels in every transmission time interval (TTI) of which allow eNodeB to decode the transmitted packet correctly [11]- [13]. With efficient channel coding scheme, better throughput will be achieved. Similarly, in 5G network, NB-IoT will require the use of qualitative channel coding is the key to provide global coverage and massive IoT connection, as proposed in 3GPP Releases 14 and 15, respectively. Unfortunately, the use of turbo codes in NB-IoT does not guarantee a low complexity support as well as good error rate performance for short block length, especially in the error floor region. Therefore, an efficient channel coding algorithm need to be employed to the data transmission specifically in the data transmission channel for reliable transmission that can be suited for NB-IoT LPWA requirements.
The polar code is among the modern FEC coding technique that gains a lot of recognition in recent communication standards, and recommends by 3GPP standard in Release 15 as the PHY layer error correction technique for the enhanced mobile broadband (eMBB) to replaces the tail-biting convolutional codes (TBCCs) in LTE standard [14], [15]. However, recent research work considers polar codes as a candidate for mMTC, URLLC, and implemented into an ASIC chip hardware [16], [17]. Polar codes were initially proposed by Arikan [18] based on the concept known as the channel polarization that theoretically achieved the capacity limit of the discrete-input memoryless channels (DMCs) with explicit construction approach. The decoding of polar codes are based on the successive cancellation (SC) [19]- [22] decoding algorithm which exhibits low complexity implementation but has a poor performance against LDPC and turbo codes, but still improving with other decoding algorithms. Similarly, the Belief propagation (BP) is another useful algorithm that improve the polar decoding performance [17], [23], [24].
One advantage of the BP algorithm is its highly parallel implementation with superior performance over the SC and SCL decoding algorithms.
To utilize the advantage of short information bits in terms of low power consumption, low decoding complexity, and low hardware resource utilization, Belief Propagation (BP) of polar codes is the best candidate suited for that. On this basis, we are considering the polar coding technique for uplink data transmission in NB-IoT systems. We proposed a BP decoder concatenated with CRC (BPC) error detection technique to further reduce the decoding complexity for different decoder block size so that each coded data on NPUSCH can be transmitted to the extent of a high degree of reliability without the need for retransmission. The main contributions of this paper are itemized as follows.
• We first formulate a system model of uplink NB-IoT with multiple IoT devices communicate with a base station (BS), including the PHY channel coding, SC-FDMA modulation, and layer mapping.
• We then introduce the basic principle of the polar coding scheme to the NPUSCH channel as the channel coding for efficient data transmission. We utilize the polar BP decoding algorithm to improve uplink transmission reliability. To further reduce decoding complexity, we employ CRC early stoppage mechanism in our decoding algorithm so that the number of decoding iteration can be controlled.
• Finally, we perform both Monte Carlo and a link-level simulation to obtain the performance of our algorithm in terms of Block Error Rate (BLER) performance compared with different polar decoding algorithms.
Simulation results show to justify the effectiveness our proposed scheme, which significantly improves the transmission reliability of the NPUSCH channel. The remainder of this paper is organized as follows.
In section II, we present the related work for uplink NB-IoT system. The general overview of data transmission in the uplink NB-IoT system will be presented in section III. The uplink PHY layer transmission functionalities are outlined in section IV. In section V, we present the BPC based polar decoding algorithm and its analytical expressions. In section VI, we present numerical simulations, and finally conclusion remarks in section VII.

II. RELATED WORK
Recently, with the emergence of 5G communication technology, the NB-IoT presents multiple opportunities in both consumer and industrial applications, which makes it one of the hot research topics in recent years. Besides, due to specific technical requirements of LPWAN in NB-IoT, the design of uplink technology is more challenging than the existing LTE uplink systems, and hence it requires different PHY layer configuration which needs further investigations.
Authors in [25] studied the data transmission procedure to reduce the signal overhead. Also, they proposed the performance optimization, the cell capacity gain, and the UE battery VOLUME 8, 2020 enhancement for different coverage levels. Oh and Shin [26] proposed an efficient small data transmission scheme using a control plane (CP) method, where a small data packet can be transmitted without transmission losses and signaling overhead specifically in idle state. For efficient uplink scheduling, Yu et al. [27] investigates the NB-IoT uplink scheduling and link adaptation for data transmission by utilizing the repetition factor of NPUSCH and modulation and coding scheme (MCS) index to improve the uplink transmission performance. However, Hwang et al. [28] developed an efficient detection and synchronization algorithm to mitigate detection problem in uplink narrowband physical random access channel (NPRACH) Authors in [29] proposed NB-IoT uplink scheduling technique compatible with low earth orbit satellite (LEO) through reducing the differential Doppler down suitable to IoT devices thereby enhancing the coverage performance.
In addition, uplink NB-IoT suffers from interference and a data rate loss due to lack of orthogonality between the to the LTE signals and NB-IoT resulting performance degradation in the BS. To cope with these problems, authors in [30] proposed the channel equalization and interference under the in-band and guard-band deployment scenario. Although the proposed method is analyzed without considering the mandatory single-tone transmission which is unique from LTE systems. To improve on that, Beyene et al. [31] investigated the frequency domain channel estimation and equalization technique based on the least square (LS) estimation approach. Author in [32] studied the uplink receiver algorithm for both NPUSCH and NPRACH channels in uplink NB-IoT systems, while [33], [34] studied the data scheduling and estimation approach for NPUSCH, respectively. Authors in [35] proposed a joint channel estimation and repetition combining method to obtain better estimation precision over the conventional LS approach. In the same way, authors in [36] propose an efficient receiver design which integrates the channel estimation and the interpolation.
In our previous work [37], we presented the basic channel coding scheme for uplink NB-IoT based on the LTE turbo coding scheme using the requirement from the 3GPP standard. The works in [38] and [39] have specified the key requirements in developing qualitative channel coding techniques for NB-IoT in achieving the LPWAN design goals. Migabo et al. [40] study the energy-efficient channel coding scheme based on adaptive MCS scheme. Authors in [41] studied the CRC aided hybrid decoding for turbo codes. Yang et al. [42] proposed an energy-efficient HARQ transmission using field test analysis.

III. OVERVIEW OF UPLINK TRANSMISSION IN NB-IOT SYSTEMS
This section briefly discusses the main components related to uplink data transmission in Narrowband Physical Uplink Shared Channel (NPUSCH).
In the uplink NB-IoT system, the basic transmission technique of the uplink is similar to that of the LTE system which is built on the basis of Single Carrier Frequency Division Multiple Access (SC-FDMA) as the main multiplexing scheme, which helps in reducing complexity and low Peak-to-Average Power Ratio (PAPR) as compared to conventional OFDMA as provided in 3GPP specification [11]. The 3GPP standard introduces new concept data repetition on the new uplink physical channels in NB-IoT to extend the indoor/outdoor network coverage of LTE systems in a remote area. For this purpose, a flexible transmission scheme has been recognized as a key leading towards the LPWAN requirement of NB-IoT that enables a number of NB-IoT users to simultaneously transmits data on the physical channels to the destination for network access. However, the operating bandwidth required one piece of LTE Physical Resource Block (PRB) corresponds to 12 subcarriers with each of 15 kHz making a total of 180 kHz as in the downlink transmission respectively. The transmission mechanism is organized in a form of frames which are shared among the physical uplink channels. With this adoption, new physical channels are defined consisting of the fraction of preambles and user data which are allocated on a dedicated uplink physical channels. These are the NPRACH for uplink random access preamble and NPUSCH for both data and control transmission which allows NB-IoT users to upload their data successfully to the BS over a wireless channel.
For NPUSCH data transmission, transmission is carried out on a specific narrowband subcarrier depending on the choice of subcarrier spacing [13], i.e., single-tone or multi-tone transmission. Multi-tone transmission is known to be optional numerology which has 3, 6, 12 as an acceptable number of tones using the same LTE 15 kHz SCS. However, for single-tone transmission, 3.75 kHz and 15 kHz are the acceptable SCS option. For multi-tone transmission, the RU scheduling assignment composed of 1 ms for 12 tones, 2 ms for 6 tones, 4 ms for 3 tones, 8 ms for a single-tone, 4 ms for 3 tones, 2 ms for 6 tones, and 1 ms for 12 tones. While for single-tone transmission, 32 ms for 3.75 kHz. The whole frame scheduling is illustrated in Figure 1. Note that the 15 kHz SCS is similar to LTE and provides better performance.
When adopting single-tone transmission, new radio frame structures are defined in a time-domain perspective.
The whole frame composed of 10 identical subframes. Each subframe is segmented into two equal slots of 0.5 ms each. Each slot represents 7 OFDM symbols, and one of the symbols is allocated to DMRS (Demodulation Reference Signals) to estimate the NPUSCH symbols as illustrated in Figure 2.

IV. POLAR CODED NB-IOT UPLINK PHY LAYER MODEL
This section will present the uplink PHY layer model of NB-IoT with NPUSCH transmission, including the including the PHY layer CRC encoding, polar coding scheme, uplink subcarrier mapping using NPUSCH single-tone transmission, and other protocol related to uplink data transmission in NB-IoT.

A. POLAR CODING SCHEME
Let us consider the uplink PHY network of NB-IoT system, where multiple of IoT UEs indexed by k = {1, . . . , K } simultaneously requesting uplink communication to a single base station or eNodeB. The k-th UE can simultaneously transmit identical TBS on their NPUSCH channel to the eNodeB for network access. Each UE has a certain amount of TB to be transmitted to the eNodeB for network access, and each UE is linked with different MCS index and the number of RU selected from the available uplink TBs listed in Table 1.
Before NPUSCH encoding, at first, its sequence of information bits stream of u ∈ {u 1 , u 2 , . . . u N } in a form of TBS data of length N are forwarded to MAC layer for error detection purpose. The u TB are concatenated with CRC redundant parity bits u(x) = u 0 x 0 + u 1 x 1 + · · · + u m−1 x m−1 for CRC encoding. The CRC code are represented by its generator polynomial g(x) = g 0 x 0 + · · · + g n−m−1 x n−m−1 + x n−m , where the computation are perform over Galois field GF (2) arithmetic. In CRC encoding, the information bits message are free multiply x n−m followed by the division of x n−m · u(x) by g(x) which result to a check bits known as reminder e(x). Thus, the encoded CRC bits are related as whereq(x) is the quotient over GF (2). The presence of an error inū(x) message can be detected whenever e(x) = 0 polynomial, otherwiseū(x) is free from error. The output of CRC encoderū(x) are fed to polar encoder to perform error correction coding. To encode the NPUSCH data using polar encoding, we consider the construction of N = 2 m polar code represented by (N , M , A, C A a ), has a corresponding code rate R = M /N . Where A denotes the indices ofū(x) bits, and C A a is the frozen bits of the remaining codeword. Then the signalsū(x) are transformed into a polar code codeword sequence v k given by where F ⊗m denotes the m-th Kronecker power of polarization kernel and B N is the permutation matrix define in [23]. The encoded polar sequence x k is then mapped into BPSK constellation to produced the complex modulated vector X for k = 0, · · · , N − 1, expressed as The resultant vector are then processed by SC-FDMA modulator for uplink subcarrier mapping.

B. UPLINK TRANSMISSION SCHEME
The simplified PHY layer configuration of uplink NB-IoT system model is illustrated in Figure 3. It consists the basic structure of the k-th UE SC-FDMA modulation on the upper part and the single BS of eNodeB on the lower part of Figure 3 respectively. Let us first consider the analysis of k-th UE SC-FDMA transmission model in the transmitter side. The NPUSCH coded signal sequence x k is precoded from time to frequency domain transformation through N s -pint discrete Fourier transform (DFT) the along n-th subcarrier is represented as follows Since we are using multi-user SC-FDMA scheme, a localized subcarrier mapping process is employed in our model as in LTE subcarrier mapping [36]. x n e −j 2π km A Cyclic Prefix (CP) sequence is appended on the IDFT codeword to block inter-symbol interference (ISI) occurrence which is then propagated through the wireless channel. On the receiving side (eNodeB), the CP is dropped, by performing the localized subcarrier demapping, the received signal sequence are processed through the N s -point DFT respectively. The corresponding frequency domain received signal are written as where y(n) is the received samples after CP is removed. Simplifying further, the signal is then processed by an M -point inverse DFT (IDFT) after subcarrier inverse -mapping and without loss of generality, we assume that the channel are and free from error. Then, the equivalent time domain received signal is given packet Y (k) is related as and where H (k) is the channel gain matrix between the k-th UE and eNodeB, h p,K denotes the diagonal elements of H (k) in the p-th block and W (k) is the additive white Gaussian noise (AWGN) with zero mean, variance σ , and spectral power density N 0 . The signal Y (k) is soft demodulated through BPSK demodulator, whose soft demodulated vector given Based on the demodulated vector, the generated loglikelihood ratios (LLRs) of the coded bits u k given by Finally, the soft demodulated coded bits of L û k are decoded using the proposed polar decoding algorithm we will be our main focus in the next section.

V. DECODING ALGORITHM
In this section, we present the decoding method of NPUSCH data using the BP decoding algorithm incorporated with CRC aided scheme which is specifically design for uplink data transmission in NB-IoT systems. We set a threshold to update the computation of each iteration.

A. BP POLAR DECODING ALGORITHM
The basic decoding process of BP algorithm for polar codes are based on the factor graph illustrated in Figure 4. To elaborate further, let us consider the decoding process illustrated in Figure 4 (b), for a given d number of iteration, the decoding message sequence are updated iteratively from the left-most nodes L i,j then to the right-most nodes R i,j . The computations of each message exchange within the factor graph expressed in Eq. (12) as follows where f (a, b) = sign(a) sign(b) min(|a|, |b|), which can be simplified using min-sum approximation [29] written as where α is a scaling factor chosen around 0.9375 which can be used to improve decoder performance. Initially, from Figure 4 (b), the rightmost nodes are initialized with 0 and ∞ based on the indices of both received bits and frozen bits as Eq. (14), and the left-most nodes of the received LLR bits as Eq. (15).

B. PROPOSED DECODING ALGORITHM
To improve on our BP decoding algorithm, we introduce the CRC aided (BPC) termination scheme which can able to minimize the computational complexity of decoding iteration.
After several decoding iterations are performed, the decoding decision at the BP decoder output sequenceû i is determine based on the decision aŝ statements.. 3: for (1 ≤ i ≤ N ) do 4: Update L d i,j , and L d i+N /2 j ,j using (12) 5: end for 6: for (1 ≤ j ≤ j + 1) do 7: Update R d i,j+1 , and R d i+N /2 j ,j+1 using (12) 8: end for 9: if all the decoded codeword pass CRC checks then 10: Terminate decoding and updateū k 11: end if 12: if all the decoded codeword cannot pass CRC checks then 13: Continue to the next iteration 14: end if 15: end for 16: return the decoded outputū k from (16) For d-th decoding iteration, theū i codeword can pass CRC check only if and only if it satisfies the stoping loop condition (i.e., L(û i ) is larger then predetermine threshold otherwise, the iteration process will stop. Then, proceed decoding in the left-most nodes to the right-most nodes decoder until a stopping criterion is reached or the maximum number of iteration d max is completed. The overall procedure is described in Algorithm 1.

VI. SIMULATION RESULTS
In this section, we present the numerical computation in terms of BLER of our polar coding scheme for uplink NB-IoT systems under various NPUSCH conditions. The transmission reliability of NPUSCH is the main focus in our simulation which targets to minimize the BLER so that NB-IoT users can simultaneously upload their data on NPUSCH efficiently with a high degree of reliability. Note that throughout this simulation, we assume that N Rep = 1 (number of repetition for NPUSCH). The main simulation parameters used in this experiment are given in Table 2.

A. BLER SIMULATION ANALYSIS
To validate the strength of our polar coded NPUSCH scheme, we first performed a 10 6 Monte Carlo trial for to compare the BLER performance for both polar decoding schemes and our BPC algorithm, we then perform link-level simulation for NB IoT PHY layer channel coding chain according to the 3GPP NB-IoT standard [11] by incorporating the polar codes with short block length then LTE turbo codes. Furthermore, we will compare our BPC performance against other polar VOLUME 8, 2020 decoding schemes (i.e. SC, SCL, and BP) and existing LTE turbo codes adopted in NB-IoT systems.
The simulation ware performed with block sizes of N = 32 bits, N = 64 bits, and N = 128 bits Each coded information bits is added with 24-bits defined by generator polynomial g CRC24 = x 24 + x 23 + x 6 + x 5 + x + 1 as in (1). For comparison purpose, we use the LTE turbo codes in the link level simulation which are constructed using two identical recursive systematic convolutional (RSC) encoder as in [37], which described by the polynomials g 0 (D) = 1 + D 2 + D 3 and g 1 (D) = 1 + D + D 3 separated with internal interleaver with a 1/3 coding rate. For decoding part, we utilize the Log-MAP decoding algorithm and the maximum number of iteration I max = 7. The SCL decoder [22] having a block length of N = 128 is adopted for comparison purpose. Figure 5 (a) and (b) shows the BLER simulation results of the proposed scheme for the block length N = 64, and N = 256 for 3.75 kHz SCS, respectively. It can be noticed that the the proposed scheme gains about approximately 1.6 dB and 2.2 dB over the BP, and traditional LTE turbo decoding algorithm. Figure 6 (a) and (b) demonstrate BLER performance comparison of BPC scheme using the block length N = 64, and N = 256 using 15 kHz SCS. The proposed scheme shows better improvement against other decoding algorithm which has a better BLER performance of 1.7dB at about 10 −2 which is almost the same as the LTE turbo decoding having the same block size. In view on the above mentioned observations, we noticed that the proposed decoding algorithm can achieve better decoding performance. Furthermore, our scheme gains about 0.7dB at BLER of = 10 −3 using L = 32 compared to the SCL and LTE turbo decoding algorithms.

B. BLER PERFORMANCE WITH DIFFERENT NPUSCH RESOURCES
In this subsection we will consider the BLER computation of the proposed polar coding scheme with different NPUSCH resources. For successful transmission, We choose the TBs of NPUSCH resources. Specifically, we vary the number of TBS which correspond to different MCS level in Table 1. Such that the number of TBS are assigned as follows; TBS = 16 bits for N RU = 0, TBS = 32 bits for N RU = 1, TBS = 32 bits for N RU = 6, TBS = 256 bits for N RU = 2,  Figure 5 and Figure 6 presents the coded NPUSCH BLER simulation results of the proposed BPC scheme using the 3.75 kHz and 15 kHz SCS respectively. Therefore the error detection and correction capability using short block polar codes can achieve a reasonable BLER performance which is acceptable for NB-IoT uplink transmission to meet its minimum data rates requirement.
Besides flexibility in NPUSCH performance, we aim to evaluate the estimated decoding complexity of our proposed scheme in terms of number of decoding iterations are performed with the variation of information block length over the SNR range.
The complexity comparisons of NB-IoT based LTE turbo codes using Log-MAP decoder [37], SC/SCL polar decoder, and our decoding scheme are demonstrated in Figure 9. And also, we can notice that the SC decoder has the least decoding complexity, but its performance is not good. While our  proposed scheme has reduced complexity over the BP/SCL polar decoders and the adopted LTE turbo codes in uplink NB-IoT systems.

VII. CONCLUSION
In this paper, an efficient polar coding technique is introduced for NPUSCH data transmission to improve transmission reliability and reduced the computational complexity of decoding. We studied the NPUSCH PHY layer data transmission channel based on the 3GPP specification of NB-IoT systems. We then introduce a design metric of the BP polar decoding algorithm with CRC aided early stoppage criteria. Additionally, an effective selection criterion for choosing the right information bits for BP decoder was also been presented which are compatible with NPUSCH resources in single-tone transmission. Finally, performance analysis and results demonstration verified that the proposed scheme can significantly guarantee the transmission reliability among NB-IoT users over other polar decoding algorithms and conventional turbo codes adopted in LTE while significantly reducing the computational complexity. Thus, making it suitable for the uplink NB-IoT system and other LPWA systems associated with short code blocks length that requires low latency and reliable data transmission.Our future work VOLUME 8, 2020 will consider the integration of the proposed scheme with a Hybrid automatic repeat request (HARQ) for the NPUSCH uplink control channel as well as ASIC/FPGA hardware implementation.