## 4 The Developed System  
This coding system is specifically created for a low-complexity IoT embedded device that communicates using a radio transmission protocol, with an energy-efficient ECC. The IoT node must meet certain criteria, such as being low-complexity and embedded-MCU-based, requiring a wireless communication system for various conditions and prioritizing energy efficiency of the radio transmitter during the design process. With these considerations in mind, it is suggested that a modern incremental-redundancy-based transmission could be advantageous. The model of the proposed communication system employing incremental redundancy is presented in Figure 4. On the transmitter side, the HR (high-rate) and IR (incremental redundancy) parts of coded message are distinguished. The HR parity bits vector \(\mathbf{p}_{HR}\) is an element of the codeword \(\mathbf{c}\) that is initially transmitted, with a chosen transmission method. In the model presented in Figure 4, we assume that QAM modulation over a wireless communication channel is used; however, other transmission techniques and mediums can also be supported. After the initial transmission of \(\mathbf{c}\), the transmitter generates and subsequently transmits IR parity bits in vectors \(\mathbf{p}_{IR},j=1,\ldots,L\) as long as it receives an acknowledgment (ACK) of successful decoding. The IR vectors are of length \(P\), and will also be called IR chunks. Figure 4: Communication system model with the developed QC-RL-LDPC coding. Figure 3: Tanner graph of a QC-RL-LDPC code. The developed system is a kind of adaptive-rate scheme, in which the coding rate of the transmission system is variable in the range \(R_{\max}\geq R\geq R_{\min}\), with the highest rate corresponding to the HR code being as in (3), and the lowest rate (4) reflecting the situation where the maximum number of chunks is required for correct transmission. If decoding is still unsuccessful after sending \(L\) IR chunks, the message can be retransmitted, either immediately or scheduled for later retransmission. \[R_{\max}=\frac{K}{N}\,\qquad N=K+M \tag{3}\]  
\[R_{\min}=\frac{K}{K+M+L\cdot P} \tag{4}\]  
We performed an analysis of the energy efficiency of a developed transmitter embedded in an IoT device, with microcontroller (MCU) hardware. The receiver is assumed to be implemented with any device (CPU/GPU/hardware) with significantly greater computational power. It is assumed that either:  
* The computational resources of the receiver (gateway) are far greater than the resources of the transmitter (IoT node), to the extent that IR decoding is performed in a fraction of the encoding time, as well as the feedback channel latency can be neglected; or
* The CPU that implements encoding in the transmitter, after encoding a \(\mathbf{p}_{IR_{j}}\) chunk enters a sleep state for a specified time needed to receive a feedback message, in which state the energy consumption is negligible. If one of these points is satisfied, the ACK can be assumed to be received virtually immediately after transmitting only as many chunks as are needed for correct decoding. This assumption is important for the energy efficiency calculations we made. In the following sections, we provide the details of the whole designed system: the encoder design for a CPU; the decoding algorithm that was developed based on LDPC iterative decoding; and the code construction algorithm that can be used to design QC-RL-LDPC codes of arbitrary lengths and submatrix sizes. We provide experimental results in the form of encoding and decoding timings, and then energy consumption. We show that, in the case of unknown channel SNR, the implemented scheme can achieve a greater transmission energy efficiency than a fixed-rate coding system. We also present the developed decoding scheme, based on the iterative LDPC decoding algorithm, that can be utilized in an incremental redundancy QC-RL-LDPC system.