# Novel Sparse-Coded Ambient Backscatter Communication for Massive IoT Connectivity
## 4 Iterative Detection on Dyadic Channel
Alternatively, we can utilize the fact that the number of symbols is much smaller than the number of codewords as described in Figure 4. For example, if \(M=8\), a total of eight codewords are represented in \(K_{1}=2\) dimension with three overlapped symbols. The non-orthogonal projections of the mapping function enable low-complexity decoding even for higher values of \(M\) by compression of the information. Using codeword projection method [35; 36], the information in Equation (38) can be reformulated as  
\[\vec{f}_{\widetilde{k}}^{-}(\{m_{i}\}_{i\in\mathcal{I}_{\widetilde{k}}}) \leftarrow-\frac{1}{2\sigma_{n}^{2}}\left\|\vec{y}_{\widetilde{k}}-\sum_{i \in\mathcal{I}_{\widetilde{k}}}\left[\vec{h}_{k,i}^{+}B_{k,i}^{+}(m_{i})+\vec {h}_{k,i}^{-}B_{k,i}^{-}(m_{i})\right]\right\|^{2},\quad\text{if }\mathcal{D}( \widetilde{k}  
In the log-domain MPA, cascades of logarithm, summation and exponential operation are approximated using Jacobian logarithm and correction function for low-SNR applications. Now, we define a function \(\mathsf{m}\mathsf{x}(\delta_{1},\delta_{2})\) as [43; 44]  
\[\ln(e^{\delta_{1}}+e^{\delta_{2}})\approx\mathsf{m}\mathsf{x}(\delta_{1},\delta_ {2})=\max(\delta_{1},\delta_{2})+\ln(1+e^{-|\delta_{2}-\delta_{1}|}). \tag{42}\]  
In the next step, FN \(\widetilde{k}\) passes the updated messages to its neighboring VNs. The intermediate variable for the log-domain MPA can be calculated as  
\[\widetilde{\mathsf{I}}_{\widetilde{k}\to n}^{-}(\{m_{i}\}_{i\in \mathcal{I}_{\widetilde{k}}}) \leftarrow\widetilde{f}_{\widetilde{k}}^{-}((\{m_{i}\}_{i\in \mathcal{I}_{\widetilde{k}}}))+\sum_{i\in\widetilde{\mathcal{I}}_{\widetilde{ k}}\setminus\{n\}}\mathrm{I}_{i\to\widetilde{k}}(m_{i}),\quad\text{if }\mathcal{D}(\widetilde{k},n), \tag{43}\] \[\widetilde{\mathsf{I}}_{\widetilde{k}\to n}^{+}(\{\widetilde{m}_{i}\}_ {i\in\mathcal{I}_{\widetilde{k}}}) \leftarrow\widetilde{f}_{\widetilde{k}}^{+}((\{\widetilde{m}_{i}\}_{i\in \mathcal{I}_{\widetilde{k}}}))+\sum_{i\in\widetilde{\mathcal{I}}_{\widetilde{ k}}\setminus\{n\}}\mathrm{I}_{i\to\widetilde{k}}(\widetilde{m}_{i}),\quad\text{ otherwise}, \tag{44}\]  
where \(\widetilde{\mathsf{I}}_{n\to\widetilde{k}}(\widetilde{m}_{n})\) denotes the projected information from VN \(n\) to FN \(\widetilde{k}\). To adapt previous works [35; 36] for AmBC over \(L\) samples, we define FN indicator function as follows:  
\[\Lambda(\widetilde{k},n)=\left\lfloor\sum_{i=1}^{\widetilde{k}}\widetilde{ \delta}_{i,n}^{+}/L\right\rfloor+1. \tag{45}\]  
Consequently, the information \(\widetilde{\mathsf{I}}_{n\to\widetilde{k}}(\widetilde{m}_{n})\) is summarized in Table 1.  
Then, the updated message sent to neighboring VNs from FN \(\widetilde{k}\) can be efficiently approximated as  
\[\widetilde{\mathsf{I}}_{\widetilde{k}\to n}^{-}(m_{n}) \leftarrow\mathsf{m}\mathsf{x}_{m_{i},i\in\mathcal{I}_{ \widetilde{k}}\setminus\{n\}}\left(\widetilde{\mathsf{I}}_{\widetilde{k}\to n }^{-}(\{m_{i}\}_{i\in\mathcal{I}_{\widetilde{k}}})\right),\quad\text{if } \mathcal{D}(\widetilde{k},n), \tag{46}\] \[\widetilde{\mathsf{I}}_{\widetilde{k}\to n}^{+}(\widetilde{m}_{n}) \leftarrow\mathsf{m}\mathsf{x}_{\widetilde{m}_{i},i\in\mathcal{I}_{ \widetilde{k}}\setminus\{n\}}\left(\widetilde{\mathsf{I}}_{\widetilde{k}\to n }^{+}(\{\widetilde{m}_{i}\}_{i\in\mathcal{I}_{\widetilde{k}}})\right),\quad \text{otherwise}. \tag{47}\]  
Based on the information (46) and (47), VN \(n\) sends the updated message to FN \(\widetilde{k}\). Assuming \(K_{1}=2\) and denoting the indices of FNs connected to VN \(n\) as \(\mathcal{J}_{n}\), the updated message can be represented by  
\[\mathrm{I}_{n\to\widetilde{k}}(m_{n})\leftarrow\ln ap_{n}(m_{n})+\mathrm{I}_{ \widetilde{k}\to n}(m_{n})-\mathsf{m}\mathsf{x}_{m_{n},i\in\mathcal{J}_{n} \setminus\{\widetilde{k}\}}\left(\mathrm{I}_{i\to n}(m_{n})\right), \tag{48}\]  
where the information from FN \(\widetilde{k}\) to VN \(n\) can be expressed by  
\[\mathrm{I}_{\widetilde{k}\to n}(m_{n})=