# Sensor Fusion and State Estimation of IoT Enabled Wind Energy Conversion System
## 3 Proposed Communication Framework
### Repeat Accumulate (RA) Codes  
Low-density parity-check (LDPC) codes are best known for their capacity approaching performance and low complexity decoding property [31; 32]. Repeat accumulate (RA) codes are a special type of LDPC codes which inherit the above properties while allowing low encoding complexity [33; 34; 35]. Similar to the LDPC codes, RA codes can be represented by a bipartite graph with \(K\) information variable nodes, \(M\) parity variable nodes, and \(M\) check nodes. Each information node represents an information bit, while each check node represents a check equation satisfying the condition that the modulo 2 sum of all the connected nodes will be zero. The value of each parity node, which represents a redundant/parity bit, is generated such that the check equation satisfies the above condition. In an RA code, each information node is connected to more than one check node, while each parity bit node has connection with exactly two check nodes (except the last parity node, which connects to only one check node). We connect the parity bit nodes and the check nodes such that the \(i^{th}\) parity bit node always connects with the check nodes at position \(i^{th}\) and \((i-1)^{th}\). The parity/redundant bits or the value of the parity nodes are generated in the following manner. The \(i^{th}\) parity bit node's value is calculated by performing modulo-2 sum of the information bit nodes that have connection with the \(i^{th}\) check node and the \((i-1)^{th}\) parity bit node. A RA code is referred to as \((q,a)\)-regular code, when each of the information bit node is connected with exactly \(q\) check nodes and each of the check nodes is connected with exactly \(a\) information bit nodes. A Tanner graph representation of a \((q,a)=(3,3)\) regular RA code is depicted in Figure 3. Note that a Tanner graph is equivalent to a binary matrix \(\mathbf{H}\) of size \(M\times(K+M)\), where each column and row represent variable and check nodes, respectively and each non zero entry represents a connection between the corresponding variable and check nodes. Figure 2: Communication framework of multi-sensor wind turbine. A belief propagation (BP) decoding algorithms, which belong to the category of message passing algorithms, is among the best known decoding algorithms over binary input AWGN channels [36]. In a BP decoding algorithm, messages that passed between nodes are represented by log likelihood ratios (LLRs) (see Equations (3)-(5) in the following). Let \(x_{m}\) be the \(m^{th}\) bit of a codeword (i.e., \(m^{th}\) variable node in the Tanner graph) and \(y_{m}\) be the corresponding channel output. For variable node \(m\), the initial (channel) LLR is given by ([37] [Chapter 2]),  
\[r_{m}=\log\frac{P_{\text{ch}}(y_{m}|x_{m}=0)}{P_{\text{ch}}(y_{m}|x_{m}=1)}. \tag{3}\]  
For simplicity, we use the following notations to describe the BP decoding algorithm:  
* \(\mathbb{S}_{\mathbb{P}}(m)\rightarrow\text{set}\) of variable nodes that have connection/edge with the \(m^{th}\) check node. * \(\mathbb{S}_{\mathbb{C}}(m)\rightarrow\text{set}\) of check nodes that have connection/edge with the \(m^{th}\) variable node. * \(\mathcal{V}_{n,m}^{(\ell)}\rightarrow\text{LLR}\) message sent from variable node \(m\) to check node \(n\) at iteration \(\ell\). * \(\mathcal{C}_{n,m}^{(\ell)}\rightarrow\text{LLR}\) message sent from check node \(n\) to variable node \(m\) at iteration \(\ell\). **Message from check node:**  
\[\mathcal{C}_{n,m}^{(\ell)}=2\tanh^{-1}\left(\prod_{m^{\prime}\in\mathbb{S}_{ \mathbb{C}}(n),m^{\prime}\
eq m}\tanh\left(\frac{\mathcal{V}_{n,m^{\prime}}^{ (\ell)}}{2}\right)\right). \tag{4}\]  
**Message from variable node:**  
\[\mathcal{V}_{n,m}^{(\ell+1)}=\sum_{n^{\prime}\in\mathbb{S}_{\mathbb{C}}(m),m^ {\prime}\
eq n}\mathcal{C}_{n^{\prime},m}^{(\ell)}+r_{m}. \tag{5}\]  
The above decoding process is initialized by sending the channel LLRs from each variable node to the connected check nodes.