# Channel Estimation and Iterative Decoding for Underwater Acoustic OTFS Communication Systems
## 4 Underwater Acoustic OTFS System Design
### Iterative Decoding Feedback-Based MP Detector
#### 4.4.2 From the LDPC Decoder to the MP Detector  
Within the \(n_{out}\) outer loop, the bit-level soft information output from the LDPC decoder is transmitted when the outer-loop iterations of the LDPC decoder reach the maximum number of iterations \(N_{in,LDPC}\). \[L_{e,LDPC}^{n_{out}}(c_{i,k}=a_{j,k})=L_{po,LDPC}^{n_{out}}(c_{i,k}=a_{j,k})-L_ {pr,LDPC}^{n_{out}}(c_{i,k}=a_{j,k}), \tag{28}\]  
where \(L_{po,LDPC}^{n_{out}}(c_{i,k}=a_{j,k})\) is the cumulative probability value. Then, after passing through the interleaver, the bit-level soft information \(L_{e,LDPC}^{n_{out}}(c_{i,k}=a_{j,k})\) is transformed into the input information \(L_{pr,MP}^{n_{out}}(c_{i,k}=a_{j,k})\) of the detector. The prior probability value is calculated using Equations (29) and (30):  
\[p(c_{i,k}=0)=\frac{1}{1+\exp(L_{pr,MP}^{n_{out}}(c_{i,k}=a_{j,k}))}, \tag{29}\]  
\[p(c_{i,k}=1)=\frac{1}{1+\exp(-L_{pr,MP}^{n_{out}}(c_{i,k}=a_{j,k}))}. \tag{30}\]  
We introduce the variable \(\lambda_{i,k}\) and represent Equations (29) and (30) uniformly as shown in Equation (31). When \(c_{i,k}=0\), \(\lambda_{i,k}=-1\); meanwhile, when \(c_{i,k}=1\), \(\lambda_{i,k}=1\). \[p(c_{i,k}=a_{j,k})=\frac{1}{1+\exp(-\lambda_{i,k}L_{pr,MP}^{n_{out}}(c_{i,k}=a _{j,k}))}\!\!=\!\frac{\exp(\frac{\lambda_{i,k}L_{pr,MP}^{n_{out}}(c_{i,k}=a_{j,k})}{2})}{\exp(\frac{L_{pr,MP}^{n_{out}}(c_{i,k}=a_{j,k})}{2})+\exp(-\frac{L_ {pr,MP}^{n_{out}}(c_{i,k}=a_{j,k})}{2})}. \tag{31}\]  
After passing through the LLR converter, the bit-level probability value \(L_{pr,MP}^{n_{out}}(c_{i,k}=a_{j,k})\) is converted into the probability value \(M_{pr,MP}^{n_{out}}(x_{i}=a_{j})\) for each modulation symbol. This probability value is then utilized as prior probability information input to the detector, thereby completing an iteration:  
\[M_{pr,MP}^{n_{out}}(x_{i}=a_{j})=p(x_{i}=a_{j})=\prod_{k=1}^{ \log_{2}|Q|}p(c_{i,k}=a_{j,k}) \tag{32}\] \[=\frac{\Pi}{\Pi}\frac{\exp(\frac{\lambda_{m}L_{pr,MP}^{n_{out}}(c_ {i,k}=a_{j,k})}{2})+\exp(-\frac{L_{pr,MP}^{n_{out}}(c_{i,k}=a_{j,k})}{2})}{\exp (-\frac{L_{pr,MP}^{n_{out}}(c_{i,k}=a_{j,k})}{2})}.\]  
Finally, we repeat the iteration process until the maximum number of iterations \(N_{out}\) is reached. Then, the LDPC decoder outputs bit-level LLR information \(L_{e,LDPC}^{N_{out}}(c_{i,k})\) to make a decision and outputs bit information. The LDPC decoding algorithm in this article adopts the LLR-MP decoding algorithm. The computational complexity of the LDPC decoder is \(O(\log_{2}(|Q|)NM)\), and the computational complexity of MP algorithm is \(O(NMSQ)\), where \(S\) represents the number of non-zero elements present in each row or column of the DD domain channel matrix \(\mathbf{H}\). Thus, the overall computational complexity of the IDF-MP algorithm is \(N_{out}(N_{in,MP}O(\log_{2}(|Q|)NM)+N_{in,LDPC}O(NMSQ))\). Algorithm 1 shows the process of IDF-MP detection algorithm based on LDPC. ```
0: Time DD domain channel matrix \(\mathbf{H}\), received signal \(\mathbf{y}\), maximum iteration times \(N_{out}\), \(N_{in,MP}\), and \(N_{in,LDPC}\); Set the outer-loop iteration times \(n_{out}=0\).