Quadrature Phase Shift Keying (QPSK) is a form of phase modulation technique, in which two information bits (combined as one symbol) are modulated at once, selecting one of the four possible carrier phase shift states.

The QPSK signal within a symbol duration is defined as

where the signal phase is given by

Therefore, the four possible initial signal phases are and radians. Equation (1) can be re-written as

The above expression indicates the use of two orthonormal basis functions: together with the inphase and quadrature signaling points: . Therefore, on a two dimensional co-ordinate system with the axes set to and , the QPSK signal is represented by four constellation points dictated by the vectors with .

This article is part of the following books

● Digital Modulations using Matlab : Build Simulation Models from Scratch, ISBN: 978-1521493885

● Digital Modulations using Python ISBN: 978-1712321638

All books available in ebook (PDF) and Paperback formats

## QPSK transmitter

The QPSK transmitter, shown in Figure 1, is implemented as a matlab function ** qpsk_mod**. In this implementation, a splitter separates the odd and even bits from the generated information bits. Each stream of odd bits (quadrature arm) and even bits (in-phase arm) are converted to NRZ format in a parallel manner.

Refer Digital Modulations using Matlab : Build Simulation Models from Scratch for full ** Matlab code**.

Refer Digital Modulations using Python for full

*Python code*File 1: *qpsk_mod.m*: QPSK modulator

function [s,t,I,Q] = qpsk_mod(a,fc,OF)%Modulate an incoming binary stream using conventional QPSK%a - input binary data stream (0's and 1's) to modulate%fc - carrier frequency in Hertz%OF - oversampling factor (multiples of fc) - at least 4 is better%s - QPSK modulated signal with carrier%t - time base for the carrier modulated signal%I - baseband I channel waveform (no carrier)%Q - baseband Q channel waveform (no carrier)L = 2*OF;%samples in each symbol (QPSK has 2 bits in each symbol)ak = 2*a-1; %NRZ encoding 0-> -1, 1->+1I = ak(1:2:end);Q = ak(2:2:end);%even and odd bit streamsI=repmat(I,1,L).'; Q=repmat(Q,1,L).';%even/odd streams at 1/2Tb baudI = I(:).'; Q = Q(:).'; %serializefs = OF*fc; %sampling frequencyt=0:1/fs:(length(I)-1)/fs; %time baseiChannel = I.*cos(2*pi*fc*t);qChannel = -Q.*sin(2*pi*fc*t);s = iChannel + qChannel; %QPSK modulated baseband signal

The timing diagram for BPSK and QPSK modulation is shown in Figure 2. For BPSK modulation the symbol duration for each bit is same as bit duration, but for QPSK the symbol duration is twice the bit duration: . Therefore, if the QPSK symbols were transmitted at same rate as BPSK, it is clear that QPSK sends twice as much data as BPSK does. After oversampling and pulse shaping, it is intuitively clear that the signal on the I-arm and Q-arm are BPSK signals with symbol duration . The signal on the in-phase arm is then multiplied by and the signal on the quadrature arm is multiplied by . QPSK modulated signal is obtained by adding the signal from both in-phase and quadrature arms.

**Note:** The oversampling rate for the simulation is chosen as , where is the given carrier frequency and is the sampling frequency satisfying Nyquist sampling theorem with respect to the carrier frequency (). This configuration gives integral number of carrier cycles for one symbol duration.

## QPSK receiver

Due to its special relationship with BPSK, the QPSK receiver takes the simplest form as shown in Figure 3. In this implementation, the I-channel and Q-channel signals are individually demodulated in the same way as that of BPSK demodulation. After demodulation, the I-channel bits and Q-channel sequences are combined into a single sequence. The function ** qpsk_demod** implements a QPSK demodulator as per Figure 3.

Read more about QPSK, implementation of their modulator and demodulator, performance simulation in these books:

- Digital Modulations using Matlab : Build Simulation Models from Scratch
- Digital Modulations using Python

## Performance simulation over AWGN

The complete waveform simulation for the aforementioned QPSK modulation and demodulation is given next. The simulation involves, generating random message bits, modulating them using QPSK modulation, addition of AWGN channel noise corresponding to the given signal-to-noise ratio and demodulating the noisy signal using a coherent QPSK receiver. The waveforms at the various stages of the modulator are shown in the Figure 4.

The performance simulation for the QPSK transmitter-receiver combination was also coded in the code given above and the resulting bit-error rate performance curve will be same as that of conventional BPSK. A QPSK signal essentially combines two orthogonally modulated BPSK signals. Therefore, the resulting performance curves for QPSK – Vs. bits-in-error – will be same as that of conventional BPSK.

## QPSK variants

QPSK modulation has several variants, three such flavors among them are: Offset QPSK, π/4-QPSK and π/4-DQPSK.

### Offset QPSK

Offset QPSK is essentially same as QPSK, except that the orthogonal carrier signals on the I-channel and the Q-channel are staggered (one of them is delayed in time). In OQPSK, the orthogonal components cannot change states at the same time, this is because the components change state only at the middle of the symbol periods (due to the half symbol offset in the Q-channel). This eliminates 180° phase shifts all together and the phase changes are limited to 0° or 90° every bit period.

Elimination of 180° phase shifts in OQPSK offers many advantages over QPSK. Unlike QPSK, the spectrum of OQPSK remains unchanged when band-limited ** [1]**. Additionally, OQPSK performs better than QPSK when subjected to phase jitters

**. Further improvements to OQPSK can be obtained if the phase transitions are avoided altogether – as evident from continuous modulation schemes like Minimum Shift Keying (MSK) technique.**

*[2]*### π/4-QPSK and π/4-DQPSK

In π/4-QPSK, the signaling points of the modulated signals are chosen from two QPSK constellations that are just shifted π/4 radians (45°) with respect to each other. Switching between the two constellations every successive bit ensures that the phase changes are confined to odd multiples of 45°. Therefore, phase transitions of 90° and 180° are eliminated.

π/4-QPSK preserves the constant envelope property better than QPSK and OQPSK. Unlike QPSK and OQPSK schemes, π/4-QPSK can be differentially encoded, therefore enabling the use of both coherent and non-coherent demodulation techniques. Choice of non-coherent demodulation results in simpler receiver design. Differentially encoded π/4-QPSK is referred as π/4-DQPSK.

Read more about QPSK and its variants, implementation of their modulator and demodulator, performance simulation in these books:

- Digital Modulations using Matlab : Build Simulation Models from Scratch
- Digital Modulations using Python

## Constellation diagram

The phase transition properties of the different variants of QPSK schemes, are easily investigated using constellation diagram. Refer this article that discusses the method to plot signal space constellations, for the various modulations used in the transmitter.

Refer Digital Modulations using Matlab : Build Simulation Models from Scratch for full ** Matlab code**.

Refer Digital Modulations using Python for full

*Python code***Rate this article: ** (**46** votes, average: **3.39** out of 5)

## References

[1] S. A. Rhodes, “Effects of hardlimiting on bandlimited transmissions with conventional and offset QPSK modulation”, in Proc. Nat. TeIecommun. Conf., Houston, TX, 1972, PP. 20F/1-20F/7

[2] S. A. Rhodes, “Effect of noisy phase reference on coherent detection of offset QPSK signals”, IEEE Trans. Commun., vol. COM-22, PP. 1046-1055, Aug. 1974.↗

## Books by the author

Wireless Communication Systems in Matlab Second Edition(PDF) ( 128 votes, average: 4.00 out of 5) | Digital Modulations using Python (PDF ebook) ( 77 votes, average: 4.04 out of 5) | Digital Modulations using Matlab (PDF ebook) ( 96 votes, average: 4.10 out of 5) |

Hand-picked Best books on Communication Engineering Best books on Signal Processing |

## Topics in this chapter

Digital Modulators and Demodulators - Passband Simulation Models

● Introduction

● Binary Phase Shift Keying (BPSK)

□ BPSK transmitter

□ BPSK receiver

□ End-to-end simulation

● Coherent detection of Differentially Encoded BPSK (DEBPSK)

● Differential BPSK (D-BPSK)

□ Sub-optimum receiver for DBPSK

□ Optimum noncoherent receiver for DBPSK

● Quadrature Phase Shift Keying (QPSK)

□ QPSK transmitter

□ QPSK receiver

□ Performance simulation over AWGN

● Offset QPSK (O-QPSK)

● π/p=4-DQPSK

● Continuous Phase Modulation (CPM)

□ Motivation behind CPM

□ Continuous Phase Frequency Shift Keying (CPFSK) modulation

□ Minimum Shift Keying (MSK)

● Investigating phase transition properties

● Power Spectral Density (PSD) plots

● Gaussian Minimum Shift Keying (GMSK)

□ Pre-modulation Gaussian Low Pass Filter

□ Quadrature implementation of GMSK modulator

□ GMSK spectra

□ GMSK demodulator

□ Performance

● Frequency Shift Keying (FSK)

□ Binary-FSK (BFSK)

□ Orthogonality condition for non-coherent BFSK detection

□ Orthogonality condition for coherent BFSK

□ Modulator

□ Coherent Demodulator

□ Non-coherent Demodulator

□ Performance simulation

□ Power spectral density