## 3 Our Contribution
### Systematic-RLNC Based Data Transmission System
#### 3.2.1 Systematic Random Linear Network Coding (SRLNC)
SRLNC indicates the particular rows of the CM used to generate a particular packet combination. As stated, the generated CM and combined information represent the CI, in which each element is \(I_{p_{w}}\), where \(p\) and \(w\) are presented in terms of \(b\) number of bits, with conditions, \(1\ \leq\ p\ \leq\ m\) and \(1\ \leq\ w\ \leq\ m\). The output \(x_{p}\) with associated CI \(\left[I_{P_{1}}\ I_{P_{2}}\ \cdots\ I_{p_{m}}\right]\) is presented as  
\[\left[I_{P_{1}}\ I_{P_{2}}\cdots\ I_{P_{m}}\ \middle|\ x_{p}\right] \tag{62}\]  
Let the final generated packet \(x_{p}\) be generated using CI belonging only to the \(p\)th row of the CM, then the elements of the CM for \(x_{p}\) are obtained as:  
\[I_{p_{m}}= \begin{cases}1&;p=w\\ 0&;p\
eq w\end{cases}  \tag{63}\]  
Considering the fact that combining all the generated packets is not significant for UWSNs, therefore, we assume major CM's elements as zero. The CI is then compressed using a simple arithmetic (lossless) compression scheme that minimizes the requirement of the higher CM transmission overhead. SRLNC applies a simple arithmetic compression scheme where the value and the position of the non-zero CI elements are identified before compression. Here, the non-zero elements are localized using \(\left[\log_{2}(\text{generation time})\right]\) number of bits. Since only non-zero elements of the CM are considered, therefore, \(I_{p_{m}}\) can be sufficient to perform the task. Based on CI, different low-lossy compression schemes such as Golumb, Huffman coding, etc. can also be considered. The compression scheme can be identified using N bits from the packet header, where N depends on the number of compression techniques used. Here onwards, we state N bits as the compression technique Identification Flag (CTIF). If compression needs to transmit more data, then it meets this need by transmitting uncompressed CI, and the smaller of either the compressed CI or the uncompressed CI is transmitted to the next hop. This reduces the computational overhead significantly. Process at the Intermediate Node  
Once receiving a single data packet (combination) from the transmitter, the intermediate node forwards the same unaltered data to the next-hop. On the contrary, in the case of multiple data packets from the same packet generation, it alters data by adding received packets and associated elements over the applied finite field. It retrieves \(l\) combinations and generates final data \(x^{\prime\prime}\) (64):  
\[x^{\prime\prime}=\left[1\ 1\ldots 1\right]_{1\times l} \begin{bmatrix}x_{l}^{ \prime}\\ x_{2}^{\prime}\\ \vdots\\ x_{l}^{\prime}\end{bmatrix} _{l\times l} \tag{64}\]  
where \(\left(x_{l}^{\prime},\ x_{2}^{\prime},\ldots x_{l}^{\prime}\right)\) signifies the \(l\) combinations. Extracting the received packets, CTIF is obtained and, accordingly, the compression scheme used at the transmitter or intermediate node is identified. The pre-coded data and the compressed CI are decompressed. The intermediate node then updates the CI (\(I^{\prime}{}_{1},\ I^{\prime}{}_{2},\ldots,\ I^{\prime}{}_{1}\)) by adding m number of k bits from each combination. Thus, the updated CI at the intermediate node is obtained as (65):  
\[\left[\text{I}^{\prime}{}_{1}\text{I}^{\prime}{}_{2}\ldots\text{I}^{\prime}{}_ {m}\right]_{1\times m}=\left[1\ \ 1\ldots 1\right]_{1\times 1}\left[ \begin{matrix}\text{I}^{\prime}{}_{11}&\text{I}^{\prime}{}_{12}&\ldots&\text{I}^{ \prime}{}_{1m}\\ \text{I}^{\prime}{}_{21}&\text{I}^{\prime}{}_{22}&\ldots&\text{I}^{\prime}{}_{2m }\\ \vdots&\vdots&&\vdots\\ \text{I}^{\prime}{}_{11}&\text{I}^{\prime}{}_{12}&\ldots&\text{I}^{\prime}{}_ {1m}\end{matrix} \right] \tag{65}\]  
Based on the identified compression scheme, the intermediate node updates the DTIF information and compresses CI along with the linear packet combination forwards to the next-hop node. Process at the Sink Node  
Retrieving the data elements, the sink node extracts the compressed CI.