Skip to main content

QPSK modulator, demodulator and signal space

Short answer

QPSK uses four phases (π/4, 3π/4, 5π/4, 7π/4) each carrying two bits. The modulator splits bits into I and Q channels multiplied by orthogonal carriers and summed. The coherent demodulator correlates with the same carriers and uses zero thresholds. Signal space has four points at ±√(E/2).

Explain the Modulator, Demodulator, and Signal Space Diagram for QPSK modulation with relevant derivations.

Quadriphase-shift keying (QPSK) is a digital modulation in which the carrier takes one of four phases, each carrying a pair of bits (a dibit). It sends 2 bits per symbol, so it needs half the bandwidth of BPSK for the same bit rate, with the same bit error probability.

Signal set

With symbol duration T=2TbT = 2T_b and symbol energy EE:

si(t)=2ETcos⁡[2πfct+(2i−1)π4],0≤t≤T, i=1,2,3,4s_i(t) = \sqrt{\frac{2E}{T}}\cos\left[2\pi f_ct + (2i-1)\frac{\pi}{4}\right], \quad 0 \le t \le T,\ i = 1, 2, 3, 4

Expanding the cosine:

si(t)=Ecos⁡[(2i−1)π4]ϕ1(t)−Esin⁡[(2i−1)π4]ϕ2(t)s_i(t) = \sqrt{E}\cos\left[(2i-1)\frac{\pi}{4}\right]\phi_1(t) - \sqrt{E}\sin\left[(2i-1)\frac{\pi}{4}\right]\phi_2(t)

with two orthonormal basis functions

ϕ1(t)=2Tcos⁡(2πfct),ϕ2(t)=2Tsin⁡(2πfct),0≤t≤T\phi_1(t) = \sqrt{\frac{2}{T}}\cos(2\pi f_ct), \qquad \phi_2(t) = \sqrt{\frac{2}{T}}\sin(2\pi f_ct), \quad 0 \le t \le T

(fcf_c is a multiple of 1/T1/T, so ∫0Tϕ1ϕ2 dt=0\int_0^T\phi_1\phi_2\,dt = 0 and each has unit energy.)

Coordinates si1=Ecos⁡[(2i−1)π/4]s_{i1} = \sqrt{E}\cos[(2i-1)\pi/4], si2=−Esin⁡[(2i−1)π/4]s_{i2} = -\sqrt{E}\sin[(2i-1)\pi/4]:

Dibit (Gray)Phasesi1s_{i1}si2s_{i2}
10π/4\pi/4+E/2+\sqrt{E/2}−E/2-\sqrt{E/2}
003π/43\pi/4−E/2-\sqrt{E/2}−E/2-\sqrt{E/2}
015π/45\pi/4−E/2-\sqrt{E/2}+E/2+\sqrt{E/2}
117π/47\pi/4+E/2+\sqrt{E/2}+E/2+\sqrt{E/2}

Signal space diagram

              phi2
               |
   01  *       |       *  11
  (-a,+a)      |      (+a,+a)
               |
 --------------+--------------- phi1
               |
   00  *       |       *  10
  (-a,-a)      |      (+a,-a)
               |
        a = sqrt(E/2)

The four points lie on a circle of radius E\sqrt{E}. Gray coding makes adjacent points differ by one bit. The distance between adjacent points is d=2E=2Ebd = \sqrt{2E} = 2\sqrt{E_b} (with E=2EbE = 2E_b), the same as BPSK, so the bit error probability is the same:

Pe(bit)=12 erfcEbN0P_e(\text{bit}) = \frac12\,\text{erfc}\sqrt{\frac{E_b}{N_0}}

QPSK modulator

          +-> a1(t) -->(x)----+
binary    |   (odd bits)   ^  |
data --[serial to]         |  |
 b(t)   [parallel ]  phi1(t)  (+)--> QPSK s(t)
          |   (even bits)  |  |
          +-> a2(t) -->(x)----+
                           ^
                        phi2(t)
  1. The input bit stream b(t)b(t) is converted to polar NRZ form (1→+Eb1 \to +\sqrt{E_b}, 0→−Eb0 \to -\sqrt{E_b}).
  2. A demultiplexer (serial-to-parallel converter) splits it into odd bits a1(t)a_1(t) and even bits a2(t)a_2(t), each of duration T=2TbT = 2T_b.
  3. a1(t)a_1(t) multiplies the in-phase carrier ϕ1(t)\phi_1(t) and a2(t)a_2(t) multiplies the quadrature carrier ϕ2(t)\phi_2(t), giving two BPSK signals.
  4. The sum of the two BPSK signals is the QPSK signal:
s(t)=a1(t)ϕ1(t)+a2(t)ϕ2(t)s(t) = a_1(t)\phi_1(t) + a_2(t)\phi_2(t)

Since each branch runs at Rb/2R_b/2, the null-to-null bandwidth is B=2/T=RbB = 2/T = R_b (BPSK needs 2Rb2R_b).

QPSK demodulator (coherent receiver)

          +->(x)->[integrate 0..T]->[decide]->a1^-+
  x(t)    |   ^                     thresh 0      |
 --------+  phi1(t)                         [parallel]-> b^
          |                                 [to serial]
          +->(x)->[integrate 0..T]->[decide]->a2^-+
              ^                     thresh 0
            phi2(t)

The received signal is x(t)=si(t)+w(t)x(t) = s_i(t) + w(t), with w(t)w(t) white Gaussian noise of PSD N0/2N_0/2.

  1. Two correlators multiply x(t)x(t) by locally generated coherent references ϕ1(t)\phi_1(t) and ϕ2(t)\phi_2(t) and integrate over one symbol:
x1=∫0Tx(t)ϕ1(t) dt=si1+w1,x2=∫0Tx(t)ϕ2(t) dt=si2+w2x_1 = \int_0^T x(t)\phi_1(t)\,dt = s_{i1} + w_1, \qquad x_2 = \int_0^T x(t)\phi_2(t)\,dt = s_{i2} + w_2

Because of orthogonality, the in-phase branch sees only si1s_{i1} and the quadrature branch only si2s_{i2}; w1,w2w_1, w_2 are independent Gaussian with variance N0/2N_0/2. 2. Each output is compared with a threshold of zero: x1>0⇒x_1 > 0 \Rightarrow 1, else 0 (same for x2x_2). This is the minimum-distance decision in the signal space; the decision regions are the four quadrants. 3. A multiplexer (parallel-to-serial converter) combines the two decided bit streams into the original sequence.

Error performance

Each branch is a BPSK detector with Eb=E/2E_b = E/2:

Pe(bit)=12 erfcEbN0,Pe(symbol)≈erfcE2N0P_e(\text{bit}) = \frac12\,\text{erfc}\sqrt{\frac{E_b}{N_0}}, \qquad P_e(\text{symbol}) \approx \text{erfc}\sqrt{\frac{E}{2N_0}}

So QPSK gives the error performance of BPSK with twice the bandwidth efficiency (2 bits/s/Hz in theory).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Communication Systems chapter 7 questions →