# Article in DSPDesignLine.com: M-QAM symbol error

Its been a nice week for me, wherein I guest posted an article in DSPDesignLine.com. 🙂

The article derives the theoretical symbol error rate for M-QAM modulation. The theoretical results are further supplemented by Matlab/Octave simulation scripts.

Those who are familiar with derivation of symbol error rate for 16-QAM modulation will find the equations easy to interpret. As we did for 16-QAM,

(a) We identify the three different types of symbols – corner, inside, neither inside nor corner.

(b) Then we find the symbol error probability for each of the three types of symbols

(c) Total error probability is found assuming that all the symbols are equally likely.

The same article is cross-posted also in Embedded.com

For those who are not interested in the full article, the probability of error for M-QAM modulation is,

. 🙂

## 21 thoughts on “Article in DSPDesignLine.com: M-QAM symbol error”

1. Pravin Kumar AP says:

Here is how one can establish a relationship between BER and SER. A symbol will be in error when at least one bit (one or more bits) in the symbol is in error. In otherwords,
SER = 1-prob(all bits are correct). Let there be ‘M’ bits for a symbol.
Thus SER = 1 – (1-BER)^N. This is the exact equation connecting SER and BER.
Conversely, BER = 1 – (1 – SER)^(1/N). This can be expanded as an infinite series of powers of SER.
Since 0 <= SER <= 1, we can approximate (1 – SER)^(1/N) to 1 – SER/N and therefore BER = SER/N.
This approximation is valid irrespective of the number of bits in error in the symbol.

1. Krishna Sankar says:

@Pravin: thanks much.
this conversion is relevant in the relation between packet error rate and bit error rate.

2. Hassan says:

Hi Krishna,
Thanks but M-ary is different than MQAM! M-ary means you can send e.g. 100 modulated signal, which every modulated signal can be 64-QAM or M-QAM. Don’t mix M in M-ary with M in MQAM.
May be I should say MCM or multy carrier modulation.
So my question is how can we implement MCM (M-ary) for 64QAM to estimate BER for that?
Regards,
Hassan

1. Krishna Sankar says:

@Hassan: You can try to see some posts on OFDM to understand simulation of Bit Error Rate with OFDM
https://dsplog.com/tag/ofdm

3. Hassan says:

Hi,
I need the Matlab code example for simulation of BER vs SNR for M-ary 64QAM.
Could you help me?
regards,
Hassan

1. Hassan says:

Hi Krishna,
I have found it in your post

but I don’t know how implement for M-ary?
regards,
Hassan

1. Krishna Sankar says:

@Hassan: Ah, good. In that code, by default, the simulation is for 64 QAM symol error rate

1. Hassan says:

Hi Krishna,
Sorry, I mix the M-ary with MCM, I am very sorry!!!
But my problem still exist. I will simulate BER for a MCM system for a M-ary or 64-QAM. Now I have code for 64-QAM, but if I will use it for MCM what I should do?
Definition of MCM is still same, sending e.g 100 of 64QAM simultaneously.
regards,
Hassan

2. Krishna Sankar says:

@Hassan: You can try to see some posts on OFDM to understand simulation of BER with OFDM
https://dsplog.com/tag/ofdm

4. Aditya says:

Hi…

I want to ask something about relation between SER and BER. To compute BER, i can use the formula :

BER = number of bit error / total bit

how about to compute SER? Is it similar formula like BER in simple way?
like :
SER = number of symbols error / total symbols

or another to compute SER ?

Thank you…

1. Krishna Sankar says:

5. farrakh says:

slam krishna
do u have bit error or symbol error simulations in nakagami_m channel.or related simulations with nakagami_m channel.
if u have plz email me.and plz email me ebook of bit error probability in awgn channel

thanks

1. Krishna Sankar says:

@farrakh: Sorry, I have not discussed Nakagami fading in any posts till date.

6. ananta says:

Could you help me find matlab script for M-QAM that is used on OFDM?

Thank You

1. Krishna Pillai says:

@ananta: If the channel is AWGN, the symbol error rate equation holds good for OFDM too. I have not posted code for M-QAM in OFDM case.

7. neon says:

Hi,

Thanks for the dsplog, it really helps a lot.

I was wondering how this SER formula can be turned into BER vs EbNo formula, take 64-QAM for instance, i would use k = 1/sqrt(42), M = 64, and EsNo = 6*EbNo and then divide the whole formula by 6

Am I right?

thanks…

1. Krishna Pillai says:

@neon: Thats correct. To be preceise, to divide the whole formula by 6, one needs to assume that each symbol error corresponds to only one bit error. For that to be true, one needs to assume Gray coded mapping. Which is a reasonable assumption.
You may look at the BER computation for 16-QAM with Gray mapping as an example:
https://dsplog.com/2008/06/05/16qam-bit-error-gray-mapping/

Hope this helps.

1. neon says:

yes it helps, thanks 🙂