Articles

# Softbit for 16QAM

In the post on Soft Input Viterbi decoder, we had discussed BPSK modulation with convolutional coding and soft input Viterbi decoding in AWGN channel. Let us know discuss the derivation of soft bits for 16QAM modulation scheme with Gray coded bit mapping. The channel is assumed to be AWGN alone.

## Gray Mapped 16-QAM constellation

In the past, we had discussed BER for 16QAM in AWGN modulation. The 4 bits in each constellation point can be considered as two bits each on independent 4-PAM modulation on I-axis and Q-axis respectively.

 b0b1 I b2b3 Q 00 -3 00 -3 01 -1 01 -1 11 +1 11 +1 10 +3 10 +3

Table: Gray coded constellation mapping for 16-QAM

Figure: 16QAM constellation plot with Gray coded mapping

## Channel Model

The received coded sequence is

$y=c + n$, where

$c$ is the modulated coded sequence taking values in the alphabet

$\alpha_{16QAM}=\left{\pm 1+\pm 1j,\ \pm 1+\pm 3j,\\\pm 3 + \pm 3j,\ \pm 3+\pm 1j \right}$.

$n$is the Additive White Gaussian Noise following the probability distribution function,

$p(n) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{\frac{-(n-\mu)^2}{2\sigma^2}$ with mean $\mu=0$ and variance $\sigma^2 = \frac{N_0}{2}$.

## Demodulation

For demodulation, we would want to maximize the probability that the bit $b_m$ was transmitted given we received $y$ i.e $P(b_m|y)$. This criterion is called Maximum a posteriori probability (MAP).

Using Bayes rule,

$P(b_m|y) = \frac{P(y|b_m)p(b_m)}{p(y)}$.

Note: The probability that all constellation points occur are equally likely, so maximizing $P(b_m|y)$ is equivalent to maximizing $P(y|b_m)$.

## Soft bit for b0

The bit mapping for the bit b0 with 16QAM Gray coded mapping is shown below. We can see that when b0 toggles from 0 to 1, only the real part of the constellation is affected.

Figure: Bit b0 for 16QAM Gray coded mapping

When the b0 is 0, the real part of the QAM constellation takes values -3 or -1. The conditional probability of the received signal $y$ given b0 is 0 is,

$P(y|b_0=0) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}+3)^2}{2\sigma^2}} + \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}$.

When the bit0 is 1, the real part of the QAM constellation takes values +1 or +3. The conditional probability given b0 is zero is,

$P(y|b_0=1) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}-1)^2}{2\sigma^2}} + \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}$.

We can define a likelihood ratio that if

$b0=1,\mbox{ if } \frac{P(y|b_0=1)}{P(y|b_0=0)}\ge1$.

The likelihood ratio for b0 is,

$\frac{P(y|b_0=1)}{P(y|b_0=0)}=\frac{e^{\frac{-(y_{re}-1)^2}{2\sigma^2}} + e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}+e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}$.

### Region #1 ($y_{re} < -2$)

When $y_{re} < -2$, then we can assume that relative contribution by constellation +3 in the numerator and -1 in the denominator is less and can be ignored. So the likelihood ratio reduces to,

$\frac{P(y|b_0=1)}{P(y|b_0=0)}\approx\frac{ e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}$.

Taking logarithm on both sides,

$\begin{array}{lll}\ln\left(\frac{P(y|b_0=1)}{P(y|b_0=0)}\right)&\approx&\ln\left(\frac{ e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}\right)\\&=&\frac{1}{2\sigma^2}(y_{re}+3)^2-(y_{re}-1)^2\\&=&\frac{1}{\sigma^2}4(y_{re}+1)\end{array}$.

### Region #2 ($-2\le y_{re} <0$), Region #3 ($0\le y_{re} <2$)

When $-2\le y_{re} <0$ or $0\le y_{re} <2$, then we can assume that relative contribution by constellation +3 in the numerator and -3 in the denominator is less and can be ignored. So the likelihood ratio reduces to,

$\frac{P(y|b_0=1)}{P(y|b_0=0)}\approx\frac{ e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}$.

Taking logarithm on both sides,

$\begin{array}{lll}\ln\left(\frac{P(y|b_0=1)}{P(y|b_0=0)}\right)&\approx&\ln\left(\frac{ e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}\right)\\&=&\frac{1}{2\sigma^2}(y_{re}+1)^2-(y_{re}-1)^2\\&=&\frac{1}{\sigma^2}2y_{re}\end{array}$.

### Region #4 ($y_{re}\ge 2$)

If $y_{re}\ge 2$, then we can assume that relative contribution by constellation +1 in the numerator and -3 in the denominator is less and can be ignored. So the likelihood ratio reduces to,

$\frac{P(y|b_0=1)}{P(y|b_0=0)}\approx\frac{ e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}$.

Taking logarithm on both sides,

$\begin{array}{lll}\ln\left(\frac{P(y|b_0=1)}{P(y|b_0=0)}\right)&\approx&\ln\left(\frac{ e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}\right)\\&=&\frac{1}{2\sigma^2}(y_{re}+1)^2-(y_{re}-3)^2\\&=&\frac{1}{\sigma^2}4(y_{re}-1)\end{array}$.

## Soft bit for b1

The bit mapping for the bit b1 with 16QAM Gray coded mapping is shown below. We can see that when b0 toggles from 0 to 1, only the real part of the constellation is affected.

Figure: Bit b1 for 16QAM Gray coded mapping

When the b1 is zero, the real part of the QAM constellation takes values -3 or +3. The conditional probability given b1 is zero is,

$P(y|b_1=0) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}+3)^2}{2\sigma^2}} + \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}$.

When the bit0 is 1, the real part of the QAM constellation takes values -1 or +1. The conditional probability given b1 is one is,

$P(y|b_1=1) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}+1)^2}{2\sigma^2}} + \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}$.

We can define a likelihood ratio that if

$b1=1,\mbox{ if } \frac{P(y|b_1=1)}{P(y|b_1=0)}\ge 1$.

The likelihood ratio for b1 is,

$\frac{P(y|b_1=1)}{P(y|b_1=0)}=\frac{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}} + e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}+e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}$.

### Region #1 ($y_{re} < -2$), Region#2 ($-2\le y_{re} <0$)

When $y_{re} < -2$ or $-2\le y_{re} <0$, then we can assume that relative contribution by constellation +1 in the numerator and +3 in the denominator is less and can be ignored. So the likelihood ratio reduces to,

$\frac{P(y|b_1=1)}{P(y|b_1=0)}\approx\frac{ e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}$.

Taking logarithm on both sides,

$\begin{array}{lll}\ln\left(\frac{P(y|b_1=1)}{P(y|b_1=0)}\right)&\approx&\ln\left(\frac{ e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}\right)\\&=&\frac{1}{2\sigma^2}(y_{re}+3)^2-(y_{re}+1)^2\\&=&\frac{2}{\sigma^2}(y_{re}+2)\end{array}$.

### Region #3 ($0\le y_{re} <2$), Region #4 ($y_{re}\ge 2$)

If $0\le y_{re} <2$or $y_{re}\ge 2$, then we can assume that relative contribution by constellation -1 in the numerator and -3 in the denominator is less and can be ignored. So the likelihood ratio reduces to,

$\frac{P(y|b_1=1)}{P(y|b_1=0)}\approx\frac{ e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}$.

Taking logarithm on both sides,

$\begin{array}{lll}\ln\left(\frac{P(y|b_1=1)}{P(y|b_1=0)}\right)&\approx&\ln\left(\frac{ e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}\right)\\&=&\frac{1}{2\sigma^2}(y_{re}-3)^2-(y_{re}-1)^2\\&=&\frac{2}{\sigma^2}(-y_{re}+2)\end{array}$.

## Summary

Note: As the factorΒ  $\frac{2}{\sigma^2}$ is common to all the terms, it can be removed.

The softbit for bit b0 is,

$\begin{array}{lllr}sb(b0) & = & 2(y_{re}+1), & y_{re} < -2 \\
& = & y_{re}, & -2 \le y_{re} < 2\\ & = & 2(y_{re}-1), & y_{re} > 2\end{array}$
.

The softbit for bit b1 is,

$\begin{array}{lllr}sb(b1) & = & y_{re}+2, & y_{re} \le 0 \\
& = & -y_{re} + 2, & y_{re} > 0\end{array}$
.

The softbit for bit b1 can be simplified to,

$\begin{array}{lllr}sb(b1) & = & -|y_{re}|+2, & \mbox{for all } y_{re}\end{array}$.

It is easy to observe that the softbits for bits b2, b3 are identical to softbits for b0, b1 respectively except that the decisions are based on the imaginary component of the received vector $y_{im}$.

The softbit for bit b2 is,

$\begin{array}{lllr}sb(b2) & = & 2(y_{im}+1), & y_{im} < -2 \\
& = & y_{im}, & -2 \le y_{im} < 2\\ & = & 2(y_{im}-1), & y_{im} > 2\end{array}$
.

The softbit for bit b3 is,

$\begin{array}{lllr}sb(b3) & = & -|y_{im}|+2, & \mbox{for all }y_{im}\end{array}$.

$2(y_{re}+1) \approx = y_{re}$ and

$2(y_{im}+1) \approx = y_{im}$,

This simplification avoids the need for having a threshold check in the receiver for sofbits b0 and b2 respectively.

## Reference

Simplified Soft-Output Demapper for Binary Interleaved COFDM with Application to HIPERLAN/2, Filippo Tosato1, Paola Bisaglia, HPL-2001-246 October 10th , 2001

## 34 thoughts on “Softbit for 16QAM”

1. Yogesh says:

Hello Krishna,

Can you please advise if you have some information on the soft output de-mapping for 8PSK?

Thanks
Yogesh

2. Chandima says:

Thanks a lot, it has a good flow, easily understandable and was really useful π

3. Chandima says:

Nice article, very clear and easy to understand. Thanks a lot !

4. Felipe says:

Hello Krishna
Great job with the article!!.
I have the following question. How these calculations are linked to the use of turbo decoding, I think that the input to turbo decoding are these values (LLRs -Softbits), is that correct? Thank you very much!

Felipe

1. @Felipe: Hmm… typically any decoder which can take soft information can use this. I had Viterbi decoder in my mind when writing this post.

5. Xia Li says:

Hi Krishna,

In the section “Soft bit for b1”, there are several typos.

Like “The conditonal prbability given b0 is zero is,”. It should be b1, right? In the following discription, there are several b0 emerge, but I think all should be b1.

1. @Xia: Thanks much again. It is a copy-paste error – and I spotted couple more around what you described. Corrected all those. Sorry for the typos.

6. Xia Li says:

Hi Krishna,

In your discription, it says b0 = 1, if P(y|b0 = 1) / P(y|b0 = 0) >= 0.

But I think the likelihood ratio test should be compared with 1 instead of 0.
Like this P(y|b0 = 1) / P(y|b0 = 0) >= 1.

There is no log in front of the ratio.

7. Hi Krishna,
please clarify a doubt of mine
1.In hard decision viterbi decoder, we use hamming distance as criterion..meaning. we get the hard decided points and compute the distance between hard decided points and EXPECTED points in that branch
2. In soft decision, we use euclidean distance..meaning..whatever received constellation point we get, we take them forward and compute the distance between received constellation point and EXPECTED constellation points in that branch
3. can you please tell me where is this LLR fitting into this whole scenario.

Thanks
aizza ahmed

1. @aizza: The LLR (log likelihood ratio) captures the likelihood of the received symbol corresponding to transmission of bit zero OR one. The log likelihood ratio is used to compute the euclidean distance.
Helps?

8. andjas says:

Thank you again Mr. Krishna.

Btw, when I copy the above page, some equations could not be copied. I like to copy in Win Word and print it. I use to study by paper and make notes in the paper.

Regards,

1. @andjas: For each article, there is “Print” option in the top right corner. Did you try using that? Maybe that helps.

1. andjas says:

aaaahh,
thank you Krishna.

Btw, I think there are some mistype.
It type ‘r’ rather than ‘y_er’.
in last equation of:
– soft bit b0, region 3
– soft bit b1, region 1&2

1. @andjas: I was unable to find the typo. Can you please point that out.

1. @andjas: corrected the typo. thanks for pointing that out

9. Mohamed Hedi says:

Hi,
I am working on a QAM-16 modem,
can you help me please to implement it on MTLAB
regards

10. xiaonaren says:

hello krishna
I have a question, as for the softbit for 16-QAM, if the channel is not AWGN but exponentical decay , how can I get the softbit?
Thanks,
xiaonaren

1. @xiaonaren: Am not sure of the case where there is ISI. However, if its only flat fading, the above equations with additional scaling factor for channel gain should hold good

11. sam says:

hello krishna
i have a question , why two and four phase psk have same figure in plotting of SNR (per bit)(horizontal axis) in term Pb (probability of error)(vertical axis)? in page 225 of digital communication proakis 5ed
any good reference for complete explanation

1. @sam: Well with 4-PSK, the modulation is performed on two orthogonal dimensions. Hence the noise added on one dimension will not affect the other. Hence the BER is the same.

12. ruoyu says:

thanks,it’s a clear,simple computing of LLR.

13. Hey Krishna,

Along the line of soft decoding, do you plan to write some articles on chase combining?

Thanks,
Zhongren

1. @Zhongren: I have not yet tried modeling any automatic repeat request (ARQ) schemes and correspondingly chase combining. I will add to my to-do list.

14. invizible says:

Hi Krishna!
I hope you are doing great. I have a very basic question. I am implementing OFDM system in matlab. r_k are my received symbols and s_k are my transmitted symbols, where k is the subcarrier index. Now at the receiver, after zero forcing equalizer, I want to find the variance i.e. var = E[|r_k – s_k|Β²], but I dont know how to implement this equation in matlab… kindly help
best regards,
invizi.

1. @invizible: Thanks, am doing good. Hope you are fine too.

Well, in Matlab mean(abs(r_k – s_k).^2) should do the job for you.

1. invizible says:

Thanks alot … you are doing a very fine job … Krishna the great

15. robin says:

clearly.
thx a lot.