Iterative detection and decoding | |
---|---|
(1) | Initialization: Set \(P(s_k\vert s_{k-1}) = 1/M_{\mathrm{cpm}}\) for every possible state transition, to evaluate the transition probabilities \(\gamma _k(s_{k-1},s_k)\) in (19) |
(2) | Soft detection and demapping: Perform the BCJR algorithm described in Sect. 4.2, compute the a posteriori probabilities in (23) based on the adopted bit mapping and evaluate the extrinsic LLR sequence corresponding to \(\lambda _{{\mathrm{ext}}}(d_q)\) for all \(q \in \{1,\ldots ,m\}\) |
(3) | Deinterleaving: Permute the LLR sequence \([\lambda _{{\mathrm{ext}}}(d_1),\ldots ,\lambda _{{\mathrm{ext}}}(d_m)]\) into \([\lambda _{a}(c_1),\ldots ,\lambda _{a}(c_m)]\) |
(4) | Soft decoding: Use the SISO decoder to compute the soft information \(\lambda (b_r)\) and feedback the extrinsic soft information \(\lambda _{{\mathrm{ext}}}(c_q)\) for all \(q \in \{1,\ldots ,m\}\) |
(5) | Termination: verify the stop condition, i.e., whether the number of iterations has been achieved. If so, the bit estimations \(\hat{b}_r\) are computed for all \(r \in \{1,\ldots ,m \cdot R \}\), vide (32) |
(6) | Interleaving: Permute the extrinsic soft information sequence \([\lambda _{{\mathrm{ext}}}(c_1),\ldots ,\lambda _{{\mathrm{ext}}}(c_m)]\) into \([\lambda _{a}(d_1),\ldots ,\lambda _{a}(d_m)]\) |
(7) | Soft mapping: compute new values of \(P(s_k\vert s_{k-1})\) based on the soft mapping in (30) and update values for \(\gamma _k(s_{k-1},s_k)\) |
(8) | Go to (2) |