# Optimized Polar Codes as Forward Error Correction Coding for Digital Video Broadcasting Systems
## 2 Preliminaries
### Polar Codes Decoder  
At the receiver side, the initial LLR of a received signal is measured using the same definition used in Equation (2) that is, \(l(y)=ln\left[W(y|0)/W(y|1)\right]\), where \(W(y|0)\), \(W(y|1)\) are measured practically using the distance between the position of the received bit and ideal position of bits (0, 1). SCD generally starts from the vector \(l\) that consists of all initial LLRs of the received signals and ends with the decoded information bits. This can be done by recursively calculating the intermediate LLRs and broadcasting of the decision bits and frozen bits [1; 11] as shown in Figure 1, where red arrows describe the flow of decision bits. The intermediate LLRs are calculated by the recursive formulas corresponding to the polarizing kernel matrix used in polar code construction. The recursive formulas of \(2\times 2\) binary kernel matrix \(\mathbf{G}_{2}=\left[ \begin{array}{rrrr}1&0\\ 1&1\end{array} \right]\) have been proved by [PERSON] as follow [1]:  
\[l_{N}^{(2i-1)}\Big{(}\mathbf{y}_{1}^{N},\widehat{\mathbf{n}}_{1}^{2i-2}\Big{)}=2 tanh^ {-1}\Big{[}tanh\Big{(}\frac{l_{1}}{2}\Big{)}tanh\Big{(}\frac{l_{2}}{2}\Big{)} \Big{]} \tag{10}\]  
\[l_{N}^{(2i)}\Big{(}\mathbf{y}_{1}^{N},\widehat{\mathbf{n}}_{1}^{2i-1}\Big{)}=(-1)^{i_{ ll}}l_{1}+l_{2} \tag{11}\]  
and \(l_{1}=l_{\frac{1}{2}}^{(i)}\Big{(}\mathbf{y}_{1}^{\frac{N}{2}},\widehat{\mathbf{n}}_{1, \rho}^{2i-2}\oplus\widehat{\mathbf{n}}_{1,\rho}^{2i-2}\Big{)}\), \(l_{2}=l_{\frac{1}{2}}^{(i)}\Big{(}\mathbf{y}_{\frac{N}{2}+1}^{N}\widehat{\mathbf{n}}_{ 1,\epsilon}^{2i-2}\Big{)}\) for shorthand, and using the symbols \(o,e\) to symbolize for \(u\equiv 0,\ 1\ (\text{\it mod}\ 2)\), respectively. The decision bit \(\hat{u}_{i}\) is determined from frozen bits, otherwise it is given by:  
\[\widehat{u}_{i}=\left\{ \begin{array}{ll}0,\ if\,I_{N}^{(i)}\left(\mathbf{y}_{1}^{N },\hat{\mathbf{u}}_{1}^{i-1}\right)\geq 0\\ 1,\ \text{otherwise}\end{array} \right. \tag{12}\]  
SCD performance has been improved by using the SCL decoder, which assumes for each decoded decision bit, the two possibilities of being decoded as 1 or 0. This process divides the current decoding path into two new paths, one for each possibility. By using multiple SCDs over the same code tree, the chance of finding the correct decoding path is significantly improved. Here the number of SCDs components is referred to as the list size \(L\). Repeatability of this process for each decision bit increases the number of paths exponentially, which creates a huge decoding tree. Therefore, a pruning criterion has been used to limit the number of possibilities. This criterion has been chosen in [34] to be the smallest computed LLR-based path metric, which is properly normalized for fairer comparisons of the partial paths having different lengths and be able to capture the reliabilities of the associated partial paths. Moreover, SCL is improved by adding CRC bits \(K_{CRC}\) to information bits \(K_{info}\) during the construction of the polar code frame and before adding \(N-K\) frozen bits during the encoding process of information and CRC \(K\) bits, as shown in Figure 2, and performing a CRC check on the chosen paths during the decoding process to detect the wrong paths that do not pass the CRC check and discards it. Figure 1: Successive cancellation decoding. Figure 2: Polar code Frame after adding CRC bits. After this filtration, the most likely path among the remaining correct ones is selected. The computational complexity of the decoder is not changed due to CRC efficiently computed [35]. This adding of CRC bits modifies the definition of code rate \(R\) to be the ratio between the number of information bits \(K_{info}\) and the code length \(N\). Furthermore, the decoding complexity has been reduced by using an adaptive SCL decoder for polar codes with CRC [36].