I understand gray coding contributes to BER of QPSK, yet really don't understand why it brings improvement to SER. According to the relationship of SER and BER, it should be improved. Actually, when mapping the symbol to constellation points, the minimum distance between two different points remains the same, and that induced the same SER. It really bothered me much. Any comments would help!Thanks!

  • 3
    $\begingroup$ Gray coding does not improve the SER, only the BER. $\endgroup$
    – MBaz
    May 9, 2019 at 14:46
  • $\begingroup$ Yes, MBaz is right; I think you're mixing up terms. Remind yourself what SER is short for! $\endgroup$ May 9, 2019 at 15:10
  • 1
    $\begingroup$ One shouldn't ever "use" Gray coding in QPSK. Gray coding occurs automatically and effortlessly if we just take the two given data bits constituting the dibit symbol in QPSK and send them to the I and Q branches of the QPSK modulator (which is just a pair of BPSK modulators with phase-orthogonal carriers). See this answer for some details on how all this works. $\endgroup$ May 9, 2019 at 18:36
  • $\begingroup$ @MarcusMüller It is said the SER of QPSK is $P_s = 1-(1-P_b)^2$, where $P_b$ is the BER of QPSK. Now that the BER decrease, why would SER stay unchanged? $\endgroup$
    – Palace W
    May 10, 2019 at 0:45
  • $\begingroup$ @DilipSarwate Thanks! Yet, if I ‘use’ natural coding, it just mapped the signal in a different way?According to the formula ($P_s =1-(1-P_b)^2$, when BER decreasing, SER would decrease,too? It seems a contradiction. What goes wrong there? $\endgroup$
    – Palace W
    May 10, 2019 at 1:32

2 Answers 2


The central point as crystallized in the comments is that you think SER is derived from BER.

It's not!

SER is short for "symbol error rate", and that's it. That's the underlying thing.

A symbol error is when one symbol was sent, and a different one was received. It doesn't matter whether the symbol you've sent was "labeled" 00, or 11, or 10; or whether the received symbol was defined to be 00, 11 or 10, or yoghurt for that matter; what matters is that not the symbol that the sender sent was decided for in the receiver.

Thus, the SER doesn't care about what binary values are assigned to the symbols. (and that assignment can be Gray, or something else.)

By the way, I'm not sure what you mean with "natural encoding": I know that term from one-dimensional encoding problems (e.g. ADC values), where natural is just binary counting up:

value    |  0  1  2  3
encoding | 00 01 10 11

If you extend it two a second dimension by just forming coordinate vectors, you get gray encoding for QPSK:

    \ dim0  0   1
dim1 |
   0 |     00  01
   1 |     10  11

So, I'd argue Gray and natural are the same here, and using anything different would just be ill-advised .


The answer by @MarcusMüller has all the basic information that is needed, and so this is just an addendum. Suppose that the 4 constellation points are in the 4 quadrants, and suppose, without loss of generality, that the point in the first quadrant is transmitted. Then, a symbol error occurs if the received point lies in the second, third, or fourth quadrant. So, $$\text{symbol error probability}~P_s = P(\text{received symbol in wrong quadrant})$$ and this is the same regardless of how the constellation points are labeled with bit pairs. That is, it doesn't matter diddlysquat whether "Gray coding" used or not, and the answer to the question in the title of the OP's question

Does gray coding bring improvement to SER of QPSK, compared to natural coding?

is a resounding No, gray coding brings no improvement to SER of QPSK.

BER, on the other hand, is a different matter. Most implementations of QPSK systems involve separating a serial bit stream of data bits into parallel bit streams of I and Q bits and applying them to two identical BPSK modulators with carriers in phase quadrature (e.g. $\cos(2\pi f_ct)$ in the I branch and $-\sin(2\pi f_ct)$ (which leads the cosine by $\pi/2$ radians) in the Q branch (see this answer of mine for details). This automatically leads to Gray code labeling on the constellation points: the labels of the constellation points in the four quadrants are respectively $$(b_I, b_Q) = [(0,0), (1,0), (1,1), (0,1)]$$ where $b_I$ and $b_Q$ are the data bits entering the QPSK modulator. Note that No natural binary to Gray code conversion has been used but the labeling follows the desirable Gray code ordering without any effort on the system designer's part. If $\hat{b}_I$ and $\hat{b}_Q$ are the demodulated data bits produced by the receiver, then $\{\hat{b}_I \neq {b}_I\}$ and $\{\hat{b}_Q \neq {b}_Q\}$ are independent events of probability $P_b = \text{BER}$ and since for independent events $A$ and $B$, the usual formula $$P(A\cup B) = P(A) + P(B) - P(A\cap B)$$ simplifies to $$P(A\cup B) = P(A) + P(B) - P(A)P(B),$$ we arrive at $$P_s = P\big(\{\hat{b}_I \neq {b}_I\} \cup \{\hat{b}_Q \neq {b}_Q\}\big) = 2P_b - P_b^2 = 1 - (1-P_b)^2$$ exactly as the OP avers in a comment on the main question. Note that it does not matter which constellation point has been transmitted; the conditional probabilities $P\big(\{\hat{b}_I \neq {b}_I\}\mid (i,j)~\text{transmitted}\big)$ and $P\big(\{\hat{b}_Q \neq {b}_Q\}\mid (i,j)~\text{transmitted}\big)$ are the same for all choices of $i,j \in \{0,1\}$.

However, if the labeling follows natural ordering so that the labels are $$(b_I, b_Q) = [(0,0), (1,0), (0,1), (1,1)]$$ where $b_I$ and $b_Q$ are the data bits entering the QPSK modulator (if you think this bass backwards, just think of $b_I$ as the LSB and $b_Q$ as the MSB), then if $(0,0)$ is transmitted, we have that \begin{align}P\big(\{\hat{b}_I \neq {b}_I\}\mid (0,0)\big) &= P\big((\hat{b}_I,\hat{b}_Q)~\text{in 2nd or 4th quadrants}\mid (0,0)\big)\\ &= 2P_b - 2P_b^2\end{align} and \begin{align}P\big(\{\hat{b}_Q \neq {b}_Q\}\mid (0,0)\big) &= P\big((\hat{b}_I,\hat{b}_Q)~\text{in 3rd or 4th quadrants}(0,0)\big)\\ &= P_b\end{align} and similarly for all the other constellation points. So, $$P\big(\{\hat{b}_I \neq {b}_I\}\big) \neq P\big(\{\hat{b}_Q \neq {b}_Q\}\big),$$ neither conditionally nor unconditionally, nor are the events $\{\hat{b}_I \neq {b}_I\}$ and $\{\hat{b}_Q \neq {b}_Q\}$ independent, whether conditionally or unconditionally. Thus, the I and Q branches have different BERs, though the average BER is still the same $2P_b - P_b^2$ as with Gray coding naturally achieved with QPSK implemented as two BPSK systems with phase-orthogonal carriers. As Marcus says in the peroration of his answer,

using anything else would just be ill-advised.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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