I have a question about the decoding of convolutional codes with the MAP (BCJR) algorithm. Let $\mathbf{u}$ denote the uncoded bits and $\mathbf{v}$ is the coded bits. Here is the point!

Let $\mathbf{v}$ is modulated with any arbitrary linear modulation (M-PSK, M-QAM) and transmitted through an AWGN channel. The receiver performs the following to obtain the log-likelihood ratios of the uncoded bits $\mathbf{u}$:

$$L\left(u_{l}\right) \equiv \ln \left[\frac{P\left(u_{l}=+1 \mid \mathbf{r}\right)}{P\left(u_{l}=-1 \mid \mathbf{r}\right)}\right]$$ which equals to $$L\left(\alpha_{k}\right)=\log \frac{ <u_l=0>\sum_{m'} \sum_{m}\alpha_{k-1}\left(m^{\prime}\right) \gamma_{k}\left(m^{\prime}, m\right) \beta_{k}(m)}{<u_l=1>\sum_{m^{\prime}} \sum_{m} \alpha_{k-1}\left(m^{\prime}\right) \gamma_{k}\left(m^{\prime}, m\right) \beta_{k}(m)}.$$ Here, $m$ and $m'$ stands for the trellis states, $<u_l = i>$ denotes that the lefthandside expression is under the condition of $u_l=i$.

Now, my question is: can I manipulate the MAP algorithm as given below: $$L\left(u_{l}\right) \equiv \ln \left[\frac{P\left(u_{l}=+1 \mid L(\mathbf{c})\right)}{P\left(u_{l}=-1 \mid L(\mathbf{c})\right)}\right]$$ where $L(\mathbf{c})$ is the channel LLRs. In this case, I could not find an answer how to write $\gamma_k$ values


1 Answer 1


I finally derive a solution for my problem. I believe that this explanation is consistent. Let $\mathbf{a} = [a_0,a_1,...,a_N]$ is the uncoded bit vector. Without loss of generality, let us assume that the convolutional encoder is of rate $R=1/n$. Therefore, each $a_k$ will be encoded to a $\mathbf{c}_k = [c_{0,k},c_{1,k},\dots,c_{n-1,k}]$. Here, the overall encoded data can be written as the concetanation of $\mathbf{c}_k$ arrays: $\mathbf{c} = [\mathbf{c}_1,\mathbf{c}_2,\dots, \mathbf{c}_N]$

In the algorithm, $\gamma_k(m',m)$ is defined as $$\gamma_k(m',m) = \sum_{i=0,1}\Pr(a_k=i|m', m)\Pr(Y_k|a_k=i)\Pr(a_k=i)$$ where $m'$ and $m$ denotes the states of the Trellis diagram at the $k-1$th and $k$th branches ,respectively. $Y_k$ denotes the modulated $\mathbf{c}_k$ . Since the encoder performs the encoding $a_k \rightarrow\mathbf{c}_k$ in the ($k$-th branch of the convolutional encoder), the expression $\Pr(Y_k|a_k=i)$ is equivalent to $\Pr(Y_k|\mathbf{d}_k = \mathbf{c}^{i}_k)$. Here, $\mathbf{c}^i_k$ denotes that the encoded $a_k$ when $a_k=i$ ($i = 0,1$). Using Bayesian theorem:

$$\Pr(Y_k|a_k = i) = K \Pr(a_k=i|Y_k)$$ as well as $$\Pr(Y_k|\mathbf{d}_k = \mathbf{c}^i_k) = K \Pr(\mathbf{d}_k = \mathbf{c}_k^i|Y_k) = K \prod_{\ell=1}^n \Pr(d_{\ell,k}=c_{\ell,k}^i|Y_k)$$ where $K$ is a consant under the assumption that $a_k$ elements are generated equalikely. In the sequel, $K$ will be omitted since is of no significance on the derivation. On the other hand, it is assumed that the receiver has calculated the channel LLR values of the channel LLRs ($LLR(\mathbf{d}_k)$) with the help of $Y_k$ modulated noisy signals. (NOTE: Channel LLRs do not imply $LLR(\mathbf{c}_k)$).

The channel LLR values can be calculated as $$LLR(d_{l,k}) = \log \left( \frac{\Pr(d_{\ell,k} = 0 |Y_k)}{\Pr(d_{\ell,k} = 1 |Y_k)} \right)$$ After some algebra, $\Pr(d_{\ell,k} = c_{\ell,k}^i |Y_k)$ can be written as

$$ \Pr(d_{\ell,k} = c_{\ell,k}^i |Y_k) = \frac{\exp\left\{(1-c_{\ell,k}^i)LLR(d_{\ell,k})\right\}}{1+ \exp\left\{LLR(d_{\ell,k})\right\}}$$

Therefore, the expression $\gamma_k(m',m)$ can be now written in terms of channel LLRs.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.