# Optimized Polar Codes as Forward Error Correction Coding for Digital Video Broadcasting Systems
## 4 System Model  
The description of the polar code system model used in the simulation, is shown in Figure 5.  
To understand the organization of the parameters in the simulator, it is important to be aware of the simulator structure. The simulation contains a set of modules (CRC, Codec, Puncture, Modern, channel and monitor as shown with dashed blue boxes). A module can contain one or more tasks (with solid black boxes). A task can be assimilated to a process which is executed at runtime. The transmitter blocks start from a source which generates \(K_{info}\) information bits and CRC bits can be concatenated to the information bits to help the decoding process to know if the decoded bit sequence is valid or not. The used CRC polynomial in the simulation is the popular CRC32, which has been mentioned in [37], defined as follows:  
\[g_{CRC32}(x)=x^{32}+x^{26}+x^{23}+x^{22}+x^{16}+x^{12}+x^{11}+x^{10}+x^{8}+x^{7}+ x^{5}+x^{4}+x^{2}+x+1 \tag{17}\]  
with hexadecimal representation 0x04C11 DB7. After that, \(K\) information bits are encoded by introducing some frozen bits to the binary sequence and create a frame with \(N\) bits. The encoder output includes \(N-K\) redundancy bits to overcome the effects of the channel. If necessary, a puncturer module can be used to match between encoder output \(N=m^{n}\) and frame size \(N^{\prime}\). The puncture selects only coded bits which have the fewest number of stopping trees criteria to be punctured [5]. After that, the modulator transforms a frame with a sequence of bits into a suitable form to be ready to be transmitted over the physical medium. This physical medium is represented by communication channel, which randomly adds noise like AWGN channel. The receiver blocks are the reverse blocks of the transmitter which try to decode the noisy frames. The depuncture estimates LLRs of these punctured bits by setting a pre-fixed value in the puncturing algorithm for all of them [5]. The DeCRC is used as defined in the flowchart of adaptive SCL decoder shown in Figure 3 and to remove the added CRC bits at the end. The process of transmission and emitting frames continue until a fixed number of frame errors are achieved. A frame error occurs when the receiver decoded frame differs from the transmitter original frame. Consequently, when the SNR increases, the number of frames to be simulated increases as well as the overall simulation time. According to the principle of power conservation and assuming ideal Nyquist filter with zero roll-off factor, the relationship between SNR and \(E_{b}/N_{0}\) can be described as follows:  
\[SNR=R\times\log_{2}M\times\frac{E_{b}}{N_{0}} \tag{18}\]  
where \(R\log_{2}M\) is the number of information bits per symbol, which might be influenced by the size of the modulation alphabet (\(M\)-ary signaling) or the code rate \(R\). To unify the comparison criteria between different modulations, \(E_{b}/N_{0}\) is used in all simulations. Figure 5: Block Diagram for modules and tasks in simulation for polar code system model. The description of the LDPC code system model used in simulation is similar to polar code system model. However, the LDPC code uses the optimized encoding matrices defined in DVB-S2 standard [38], and belief propagation (BP) horizontal layered algorithm [39] is used for decoding, which exchanges soft-information iteratively between variable and check nodes, and implementation of the decoder algorithm uses Attenuated Min-Sum (AMS) update rule [40]. The main module of the FEC (Polar/LDPC) code simulation measurements is summarized below in Algorithm 1. ```
INPUT: Code type (Polar or LDPC), Frame Size N/, Number of information bits \(K_{info}\), Max. List Size \(L_{max}\), Max. iterations \(i_{max}\), CRC Size, CRC polynomial (\(g_{CRC}\)), Optimum coefficient of variation C\({}_{p}\), \(min\ E_{b}/N_{0}\), step \(E_{b}/N_{0}\), and \(max\ E_{b}/N_{0}\), Number of simulated frames \(N_{f}\) OUTPUT:BER, encoding latency, decoding latency and overall throughput STEPS:
1.