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.
Click here to read the article published in DSPDesignLine.com
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”
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.
@Pravin: thanks much.
this conversion is relevant in the relation between packet error rate and bit error rate.
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?
@Hassan: You can try to see some posts on OFDM to understand simulation of Bit Error Rate with OFDM
I need the Matlab code example for simulation of BER vs SNR for M-ary 64QAM.
Could you help me?
@Hassan: I have a post on 16 QAM Bit Error Rate @ https://dsplog.com/2008/06/05/16qam-bit-error-gray-mapping
Hope that helps.
Thank you for your answer 🙂
I have found it in your post
but I don’t know how implement for M-ary?
Please could you help me
Thank you again your help.
@Hassan: Ah, good. In that code, by default, the simulation is for 64 QAM symol error rate
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.
Thank you for your answer and your time and consideration.
I will waiting for your answer.
@Hassan: You can try to see some posts on OFDM to understand simulation of BER with OFDM
Thank you for this article…
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?
SER = number of symbols error / total symbols
or another to compute SER ?
@Aditya: Your equation for symbol error rate is correct.
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
@farrakh: Sorry, I have not discussed Nakagami fading in any posts till date.
Could you help me find matlab script for M-QAM that is used on OFDM?
@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.
@ananta: You may find the M-QAM symbol error rate in AWGN simulation model @
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?
@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:
Hope this helps.
yes it helps, thanks 🙂