Quadrature-amplitude modulation (QAM) code 


Encodes into points into a subset of points lying on in \(\mathbb{R}^{2}\), here treated as \(\mathbb{C}\). Each pair of points is associated with a complex amplitude of an electromagnetic signal, and information is encoded into both the norm and phase of that signal [1; Ch. 16].

QAM schemes with \(q\) complex coordinates are often called \(q\)-QAM, and \(q\) is often a power of two in order to further concatenate with a binary code.


Nearly achieves Shannon AWGN capacity for two-dimensional constellations in the limit of infinite signal to noise [2; Fig. 11.8].


Optical communication (e.g., Ref. [3]).Telephone-line modems: 1971 Codex 9600C and international standard V.29 used 16-QAM [4].



  • Pulse-amplitude modulation (PAM) code — PAM codes can be thought of as QAM codes restricted to the real line. A \(q\times q\)-QAM code is informationally equivalent to two \(q\)-PAM codes.


  • Lattice-based code — QAM encodings often consist of lattice constellations, i.e., finite sets of points scooped out of an infinite 2D lattice.
  • Gottesman-Kitaev-Preskill (GKP) code — Finite-energy GKP codes are quantum analogues of lattice-based QAM codes in that both use a subset of points on a lattice.
  • Gray code — 2D Gray codes are often concatenated with \(n=1\) lattice-based QAM codes so that the Hamming distance between the bitstrings encoded into the points is a discretized version of the Euclidean distance between the points.
  • Hyperbolic sphere packing — Hyperbolic QAM constellations may yield improved performance over Euclidean ones [5].
  • Turbo code — Turbo codes concatenated with QAM codes offer a substantial coding gain [6].
  • Turbo code — Turbo codes can be concatenated with BPSK codes [7].
  • Niset-Andersen-Cerf code — The Niset-Andersen-Cerf code encodes two coherent states at a time with arbitrary complex values, making it analogous to a two-point QAM code. The code does not encode any quantum information since superpositions of the coherent states are not stored. However, analysis of the code is done via a quantum treatment.


A. Lapidoth, A Foundation in Digital Communication (Cambridge University Press, 2017) DOI
R. E. Blahut, Modem Theory (Cambridge University Press, 2009) DOI
F. Buchali et al., “Rate Adaptation and Reach Increase by Probabilistically Shaped 64-QAM: An Experimental Demonstration”, Journal of Lightwave Technology 34, 1599 (2016) DOI
International Telecommunication Union-T, Recommendation V.29: 9600 Bits Per Second Modem Standardized For Use on Point-to-Point 4-Wire Leased Telephone-Tpe Circuits, 1993
Silva, E. B., R. Palazzo Jr, and M. Firer. "Performance analysis of QAM-like constellations in hyperbolic space." 2000 International Symposium on Information Theory and its Applications, Honolulu, USA. 2000.
S. Le Goff, A. Glavieux, and C. Berrou, “Turbo-codes and high spectral efficiency modulation”, Proceedings of ICC/SUPERCOMM’94 - 1994 International Conference on Communications DOI
E. K. Hall and S. G. Wilson, “Design and analysis of turbo codes on Rayleigh fading channels”, IEEE Journal on Selected Areas in Communications 16, 160 (1998) DOI
Page edit log

Your contribution is welcome!

on github.com (edit & pull request)— see instructions

edit on this site

Zoo Code ID: qam

Cite as:
“Quadrature-amplitude modulation (QAM) code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/qam
@incollection{eczoo_qam, title={Quadrature-amplitude modulation (QAM) code}, booktitle={The Error Correction Zoo}, year={2022}, editor={Albert, Victor V. and Faist, Philippe}, url={https://errorcorrectionzoo.org/c/qam} }
Share via:
Twitter | Mastodon |  | E-mail
Permanent link:

Cite as:

“Quadrature-amplitude modulation (QAM) code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/qam

Github: https://github.com/errorcorrectionzoo/eczoo_data/edit/main/codes/classical/analog/modulation/qam.yml.