Keywords

1 Introduction

Channel coding is a way of encoding data in a communication channel that adds patterns of redundancy into the transmission path to lower the error rate. Such methods are widely used in wireless communications. Turbo codes has been in use of LTE radio access technology. Since 5G is supposed to have faster speeds and good channel reliability the use of Turbo codes doesn’t suit the applications and data rates handled by 5G. A more robust, low complexity coding scheme is needed to achieve all the above-mentioned characteristics. Polar codes is a promising and capacity achieving channel coding scheme to provably achieve channel capacity. With improvements in the basic successive cancellation decoder many variants of polar codes are shown to achieve Bit Error Rates of almost 10−7 to 10−8 for SNR’s of 2 to 2.5 dB almost nearing Shannon capacity.

1.1 Polar Codes Channel Model

The block diagram for Polar codes encoder is shown in Fig. 2 [1]. Before proceeding with the Polar codes, we construct and specify a channel W2 [1] which is a Binary discrete memoryless channel (BDMC) and it is to achieve symmetric capacity I(W) which is the highest rate and this is subjected to using the I/P letters of the channel which are equally probable. It is possible to synthesize or create a second set of N binary input channels out of N independent copies of a given B-DMC W and the channels have the properties {W (i)N : 1 <= i <= N}. One thing to be noted here is that when N becomes bigger, 2 things tend to happen i.e. some of the fraction of channels for the indices I for I(W  (i)N ) that are near 0 approaches 1 − I(w) and rest of the fraction of channels for indices I for I(W (i)N ) that are near 1 approaches I(w). These polarized channels {W  (i)N } are in good condition for channel coding. So, one should make sure that the channels which are almost near 1 or are 1 have to be sent data through rate of 1 and some of the channels for which capacity is 0 need to send data at rate 0 i.e. the channels with capacity 0 are said to be junk channels. Therefore, Codes implemented on this idea are called polar codes. We are trying to prove a fact that there always exists a sequence of polar codes {Cn; n − 1} given any binary discrete memoryless channel with I(W) > 0 and any target rate R < I(W). The sequence of polar codes are such that Cn has block length N = 2n and the bounding for the successive cancellation decoder is bounded as Pe(N, R) <=O(N−1/4) which is said to be independent of the code rate for the probability of block error under successive cancellation decoding. The complexity of the decoders and encoders that achieve this performance are having a complexity of O (N log N) (Fig. 1).

Fig. 1.
figure 1

Polar code basic Channel w2 [1]

Fig. 2.
figure 2

Polar code channel W4 and its relationship with W and W2 [1]

For a Binary Discrete memoryless channel W, there are basically two parameters of interest. One is the symmetric capacity I(W) and the second one is the Bhattacharya parameter. Given a B-DMC W, there are two channel parameters of primary interest i.e. the symmetric capacity I(W) and the second one is the Bhattacharya parameter [1]

$$ {\text{I}}\left( {\text{W}} \right) = \sum\nolimits_{{{\text{y}}\, \in \,{\text{Y}}}} {\sum\nolimits_{{{\text{x}}\, \in \,{\text{X}}}} { 1 / 2\,{\text{w(y|x)log}}\frac{{{\text{w}}({\text{y}}|{\text{x}})}}{{ 1 / 2\,{\text{w}}({\text{y}}|0) + 1 / 2 {\text{w}}({\text{y}}|1)}}} } $$

and the Bhattacharyya parameter is given by [1]

$$ {\text{Z}}({\text{w}}) = \sum\nolimits_{{{\text{y}}\, \in \,{\text{Y}}}} {\sqrt {w(y|0)w(y|1)} } $$

Once we get N independent copies of W we can establish the relationship between all the building blocks W and W2 and build a new channel model W4. This is shown in Fig. 3.

Fig. 3.
figure 3

Upper and Lower bounds for I(W) and Z(W) [3]

1.2 Channel Polarization

Channel polarization can be defined as a process by which we use N independent copies of a given B-DMC W to create a second set of N channels {W (i)N : 1 ≤ i ≤ N} that show a polarization effect meaning, when N becomes big, all the symmetric capacity terms {I(W (i)N )} tend towards 0 or 1 for all except a vanishing fraction of indices i. Channel polarization consists of two phases.

The theorem of polarization is stated below. It is more related to the concept of Source Polarization. As we can see from the theorem below when the bit-channel capacities polarize the no of channels either tend to move towards 1 or 0. We are looking for fraction of terms for which conditional entropy lies between δ and 1 − δ. For instance, let’s take δ to be something like 1%. In this case, one would expect the interval between δ and 1 − δ to be large because it occupies almost all the interval. As N tends towards infinity, the terms between δ and 1 − δ goes to 0 so there is almost nothing which means there are almost no channels in the middle, and all have shifted to either the lower end 0 or upper end 1 [1].

The bit-channel capacities {C(Wi)} polarize for any δ ∈ {0,1} as the construction size N grows (Fig. 4).

Fig. 4.
figure 4

Histogram for Bhattacharya parameter N = 64

[No. of channels with C(Wi) > 1 − δ/N] → C(W) [3].

The effect of channel polarization can be clearly observed from the Figs. 5, 6 and 7. As the block length N increases the number of channels start settling either at δ or 1 − δ. The number of channels between δ and 1 − δ for N = 128 is less compared to the ratio of number of channels for N = 64 between δ and 1 − δ. Similarly, the number of channels between δ and 1 − δ for N = 256 is less compared to the ratio of number of channels for N = 128 between δ and 1 − δ. As we keep on increasing the block length N more and more number of channels start settling either at δ and 1 − δ and we can see very less number of channels in the middle. So, the idea is to make use of channels that are near Z(W) = 0 and discard all the channels at Z(W) = 1 i.e. keep the good reliable channels and discard all the bad or unr1eliable channels (Table 1).

Fig. 5.
figure 5

Histogram for Bhattacharya parameter N = 128

Fig. 6.
figure 6

Histogram for Bhattacharya parameter N = 256

Fig. 7.
figure 7

Performance of successive cancellation decoder for N = 1024 with different R

Table 1. Frequency of channels settling at \( \delta \) and 1 − \( \delta \) for different N

Since introduced firstly in 2009, polar coding usually comes with SC decoder as a suboptimal decoding method. Just as the name implies, a SC decoder means decoding the bits in order from u1 to uN. This also helps to realize channel polarization. As we have stated before, the mutual information I(ui; y N1 , u i−11 ) or Bhattacharyya parameter Z(ui; y N1 , u i−11 ) [1] is required to predict the channel performance. Then the decoder should know the knowledge of u i−11 when decoding ui. Generally, the decoder only knows the values of frozen bits {uj, j ∈ Ac} in advance. As the SC decoder decode bits consecutively, it at least provides an estimate of u i−11 when decoding ui.

The performance of successive cancellation decoder [1] can be seen in Fig. 7 for different R with fixed block length. It can be further improved by increasing the block length. List decoding is another scheme proposed by Tal and Vardy.

The Complexity plot of the basic SC decoder concludes that the complexity O(N log N) starts increasing logarithmically when the Block Length N crosses 75 or 100 for a block length of 512. In case of List Decoding the complexity keeps increasing as the list size keeps increasing for different values of L. Complexity is maximum when list size is 32 and this can be seen from Figs. 8 and 9.

Fig. 8.
figure 8

Complexity of successive cancellation decoder

Fig. 9.
figure 9

Complexity of successive cancellation list decoder

2 Conclusion

This paper tries show the channel coding scheme that might be used for 5G radio access technology [1]–[5]. Polar code is the new coding scheme that is taken as an example to prove that they can achieve channel capacity. Channel polarization can help in increasing the channel capacity. But this comes with a package of using larger block lengths. Figures 5, 6 and 7 compare the channel polarization for different block length N. The Complexity plot of the basic SC decoder concludes that the complexity (O(N log N)) starts increasing logarithmically when the Block Length N crosses 75 or 100 for a block length of 512. Complexity of list decoding is shown in Fig. 9. Complexity is maximum when list size is 32.