QAM(Quadrature Amplitude Modulation: 直交振幅変調)は、搬送波の振幅と位相の両方を同時に変化させるディジタル変調方式です。PSKが位相のみを用いるのに対し、QAMは2次元の信号空間(振幅と位相)をフルに活用するため、同じ帯域幅でより多くの情報を伝送できます。
Wi-Fi(802.11ac/ax)、LTE/5G、ケーブルテレビ、ADSLなど、現代の高速ディジタル通信システムの多くがQAMを基盤としています。特に256QAMや1024QAMといった高次QAMは、高い帯域効率を実現する鍵となる技術です。
本記事の内容
- QAMの原理(振幅+位相の2次元変調)
- M-QAMの信号点配置(矩形QAM)
- 平均シンボルエネルギーの計算
- BER近似式の導出(最近接距離とQ関数)
- グレイ符号化によるBER改善
- 帯域効率とシャノン限界との比較
- Pythonでの星座図・BER曲線・雑音シミュレーション
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
QAMの原理

QAMの発想は1枚の図で説明できます。左の16-PSKは16個の点をすべて円周上に並べるため、点は互いに $0.3902$ しか離れられません。右の16-QAMは同じ16点を格子状に散らし、最小距離 $0.6325$ を確保しています。平均電力はどちらも同じ(灰色の破線が等電力の円)です。
差は $1.62$ 倍、電力に換算して $4.20$ dB にもなります。円周という1次元的な配置に固執せず、振幅という自由度も使って平面全体に点を配る——これがQAMの本質です。以下、この配置がどう数式になり、どれだけの性能差を生むのかを順に見ていきます。
PSKの限界とQAMの発想
PSKでは、すべての信号点が同じ振幅(一定半径の円周上)に配置されます。$M$ が大きくなると信号点間距離が急激に小さくなり、雑音耐性が悪化します。
QAMの発想は、位相だけでなく振幅も変えて、IQ平面を2次元的に広く使うことです。これにより、信号点を格子状に配置でき、PSKに比べて信号点間距離を大きく保てます。
QAM信号の数学的表現

実装の要は「直交性」です。$\cos$ と $-\sin$ の2つの搬送波は同じ周波数でありながら互いに直交し、実際に内積を数値計算すると $-5.2\times10^{-18}$ ——計算機の丸め誤差の範囲でゼロです。
この直交性のおかげで、$I$ と $Q$ の2つの情報を同じ周波数・同じ時間に重ねて送っても、受信側で完全に分離できます。図の $I=0.7$、$Q=-0.4$ の場合、合成波は振幅 $0.806$・位相 $-29.7°$ の1本の正弦波になります。送っているのは1本の波なのに、中身は2つの独立な数値という状態が実現されているわけです。
QAM信号は、I成分(同相成分)とQ成分(直交成分)の独立な振幅変調の和として表されます。
$$ \boxed{ s(t) = I(t) \cos(2\pi f_c t) – Q(t) \sin(2\pi f_c t) } $$
ここで $I(t)$ と $Q(t)$ はそれぞれ離散的な振幅値を取ります。複素表現では、
$$ s(t) = \text{Re}\!\left[ \left(I(t) + jQ(t)\right) e^{j2\pi f_c t} \right] $$
$I(t) + jQ(t)$ がIQ平面上の信号点を表し、これを複素シンボルと呼びます。
M-QAMの信号点配置
矩形QAM(Square QAM)
$M = 2^{2k}$($M = 4, 16, 64, 256, \ldots$)のとき、$\sqrt{M} \times \sqrt{M}$ の正方格子状に信号点を配置できます。これを矩形QAM(Square QAM)と呼びます。
$L = \sqrt{M}$ として、I成分とQ成分がそれぞれ以下の $L$ 個の値を取ります。
$$ I_i, Q_j \in \left\{ -(L-1)d, \, -(L-3)d, \, \ldots, \, (L-3)d, \, (L-1)d \right\} $$
ここで $d$ は信号点の間隔の半分であり、隣接信号点間の距離は $2d$ です。
$L$ 個の値を一般的に書くと、
$$ I_i = (2i – L + 1)d, \quad i = 0, 1, \ldots, L-1 $$
$$ Q_j = (2j – L + 1)d, \quad j = 0, 1, \ldots, L-1 $$
具体的な信号点配置
4QAM(= QPSK): $L = 2$、信号点は $(\pm d, \pm d)$ の4点
16QAM: $L = 4$、信号点は $\{-3d, -d, d, 3d\} \times \{-3d, -d, d, 3d\}$ の16点
64QAM: $L = 8$、信号点は $\{-7d, -5d, -3d, -d, d, 3d, 5d, 7d\} \times \{-7d, \ldots, 7d\}$ の64点
平均シンボルエネルギーの計算
一般式の導出
矩形M-QAMの平均シンボルエネルギーを計算します。各信号点のエネルギーは $|I_i + jQ_j|^2 = I_i^2 + Q_j^2$ に比例します。
$L = \sqrt{M}$ 個の等確率のI成分値について、I成分の平均二乗値は
$$ \overline{I^2} = \frac{1}{L} \sum_{i=0}^{L-1} \left[(2i – L + 1)d\right]^2 $$
$m = 2i – L + 1$ とおくと、$m$ は $-(L-1), -(L-3), \ldots, (L-3), (L-1)$ を取ります。これらは奇数で、$|m|$ は $1, 3, 5, \ldots, L-1$ です。
$$ \overline{I^2} = \frac{d^2}{L} \sum_{i=0}^{L-1} (2i – L + 1)^2 $$
この和を計算します。$k = i – (L-1)/2$ とおくと $2k$ の範囲は $-(L-1), -(L-3), \ldots, (L-1)$ です。
$$ \sum_{i=0}^{L-1}(2i – L + 1)^2 = \sum_{\ell=0}^{L-1}(2\ell – L + 1)^2 $$
この和は、奇数の二乗和として計算できます。$L$ 個の値 $m = -(L-1), -(L-3), \ldots, (L-1)$ について
$$ \sum m^2 = 2\sum_{k=0}^{L/2-1}(2k+1)^2 = 2\sum_{k=0}^{L/2-1}(4k^2 + 4k + 1) $$
$$ = 2\left[ 4 \cdot \frac{(L/2-1)(L/2)(L-1)}{6} + 4 \cdot \frac{(L/2-1)(L/2)}{2} + \frac{L}{2} \right] $$
これを整理すると($L$ が偶数の場合)、
$$ \sum m^2 = \frac{L(L^2 – 1)}{3} $$
したがって、
$$ \overline{I^2} = \frac{d^2}{L} \cdot \frac{L(L^2 – 1)}{3} = \frac{d^2(L^2 – 1)}{3} $$
対称性より $\overline{Q^2} = \overline{I^2}$ です。平均シンボルエネルギーは
$$ E_s = \overline{I^2} + \overline{Q^2} = \frac{2d^2(L^2 – 1)}{3} = \frac{2d^2(M – 1)}{3} $$
$$ \boxed{ E_s = \frac{2d^2(M – 1)}{3} } $$
ビットエネルギーとの関係
1シンボルには $\log_2 M$ ビットが含まれるので、
$$ E_b = \frac{E_s}{\log_2 M} = \frac{2d^2(M – 1)}{3\log_2 M} $$
逆に、$d$ を $E_b$ で表すと、
$$ d^2 = \frac{3\log_2 M \cdot E_b}{2(M – 1)} $$
最近接信号点間距離

多値数を上げたときの最小距離を、PSKとQAMで比べたものです。$M=4$ では両者は完全に同一(QPSKと4-QAMは同じ配置)ですが、そこから先は差が開き続けます。$M=16$ で $1.62$ 倍($+4.20$ dB)、$M=64$ で $3.14$ 倍($+9.95$ dB)、$M=256$ では $6.25$ 倍($+15.92$ dB)です。
PSKの最小距離が $2\sin(\pi/M)$ とほぼ $1/M$ で縮むのに対し、QAMは平面に点を広げられるため $1/\sqrt{M}$ 程度で済みます。次元をひとつ増やした効果が、多値化するほど効いてくるわけです。この差が、高速通信でPSKよりQAMが選ばれる決定的な理由になります。
隣接する信号点間の距離(最近接距離)は $d_{\min} = 2d$ です。
$$ d_{\min} = 2d = 2\sqrt{\frac{3\log_2 M \cdot E_b}{2(M – 1)}} = \sqrt{\frac{6\log_2 M \cdot E_b}{M – 1}} $$
BER近似式の導出
シンボル誤り率(SER)の導出
矩形M-QAMのSERを、最近接シンボルへの誤り確率から導出します。
各軸(I, Q)を独立に考えます。$L = \sqrt{M}$ 値のPAM(パルス振幅変調)の誤り確率をまず求めます。
内部の信号点(端でない信号点)は、両側に隣接点があるため、一方の隣接点への誤り確率が $Q(d_{\min}/\sqrt{N_0})$ であり、両側合わせると
$$ P_{\text{内部}} = 2Q\!\left(\frac{d}{\sqrt{N_0/2}}\right) = 2Q\!\left(\sqrt{\frac{2d^2}{N_0}}\right) $$
端の信号点は、片側のみに隣接点があるため、
$$ P_{\text{端}} = Q\!\left(\sqrt{\frac{2d^2}{N_0}}\right) $$
$L$ 個の信号点のうち、端は2個、内部は $L – 2$ 個です。平均すると、
$$ P_{\text{PAM}} = \frac{2(L-2)Q(\cdot) + 2 \cdot Q(\cdot)}{L} \cdot \frac{1}{1} = \frac{2(L-1)}{L} Q\!\left(\sqrt{\frac{2d^2}{N_0}}\right) $$
すなわち、各軸の誤り確率は
$$ P_{\text{axis}} = \frac{2(\sqrt{M} – 1)}{\sqrt{M}} Q\!\left(\sqrt{\frac{2d^2}{N_0}}\right) $$
I軸とQ軸は独立なので、シンボルが正しい確率は
$$ P_{\text{correct}} = (1 – P_{\text{axis}})^2 $$
SERは
$$ P_s = 1 – (1 – P_{\text{axis}})^2 = 2P_{\text{axis}} – P_{\text{axis}}^2 \approx 2P_{\text{axis}} \quad (\text{高SNRでは } P_{\text{axis}} \ll 1) $$
$d^2$ を $E_b$ で表す式を代入します。
$$ \frac{2d^2}{N_0} = \frac{3\log_2 M}{M – 1} \cdot \frac{E_b}{N_0} $$
したがって、
$$ P_s \approx 4 \cdot \frac{\sqrt{M} – 1}{\sqrt{M}} \cdot Q\!\left(\sqrt{\frac{3\log_2 M}{M – 1} \cdot \frac{E_b}{N_0}}\right) $$
ビット誤り率(BER)
グレイ符号化の下では、隣接シンボルへの誤りは1ビット誤りに対応するため、
$$ P_b \approx \frac{P_s}{\log_2 M} $$
$$ \boxed{ P_b^{\text{M-QAM}} \approx \frac{4(\sqrt{M} – 1)}{\sqrt{M} \log_2 M} \cdot Q\!\left(\sqrt{\frac{3\log_2 M}{M – 1} \cdot \frac{E_b}{N_0}}\right) } $$
各QAMについて具体的に書くと:
4QAM(= QPSK) ($M = 4$):
$$ P_b = Q\!\left(\sqrt{\frac{2E_b}{N_0}}\right) $$
16QAM ($M = 16$):
$$ P_b \approx \frac{3}{4} Q\!\left(\sqrt{\frac{4E_b}{5N_0}}\right) $$
64QAM ($M = 64$):
$$ P_b \approx \frac{7}{12} Q\!\left(\sqrt{\frac{2E_b}{7N_0}}\right) \cdot \frac{1}{1} \approx \frac{7}{12} Q\!\left(\sqrt{\frac{E_b}{7N_0} \cdot 2}\right) $$
ただし正確には、
$$ P_b^{\text{64QAM}} \approx \frac{4 \cdot 7}{8 \cdot 6} Q\!\left(\sqrt{\frac{3 \cdot 6}{63} \cdot \frac{E_b}{N_0}}\right) = \frac{7}{12} Q\!\left(\sqrt{\frac{2E_b}{7N_0}}\right) $$
グレイ符号化によるBER改善

16-QAM の各点にビット列を割り当てた比較です。自然二進で番号を振ると、隣接する点の間で変わるビット数は平均 $1.333$、最大 $2$ になります。グレイ符号化を使うと、これが平均 $1.000$、最大 $1$——すべての隣接ペアが必ず1ビット違いになります。
雑音による誤判定は圧倒的に「隣の点へ間違える」形で起きるため、この違いがそのままBERに現れます。シンボル誤り率が同じでも、1回の誤りで壊れるビット数が $1.333$ 個から $1$ 個に減る。つまり符号の割り当て方を変えるだけで、電力を1ワットも増やさずにBERが約25%改善するわけです。実装コストはほぼゼロなので、実用システムでグレイ符号化を使わない理由はありません。
グレイ符号化の原理
矩形QAMでは、I軸とQ軸のそれぞれに独立にグレイ符号を適用します。$L = \sqrt{M}$ 値の各軸について、隣接するPAMレベルが1ビットだけ異なるようにビットを割り当てます。
例えば16QAMの場合、I軸の4レベル $\{-3d, -d, d, 3d\}$ に対して、
$$ -3d \to 00, \quad -d \to 01, \quad d \to 11, \quad 3d \to 10 $$
Q軸も同様にグレイ符号化します。各シンボルのビット列は I軸のビット(MSB側)とQ軸のビット(LSB側)を連結したものになります。
グレイ符号化の効果
グレイ符号化なしの場合、隣接シンボルへの誤りで複数ビットが誤る可能性があり、BERが悪化します。グレイ符号化により、隣接誤りが常に1ビット誤りに対応するため、BERが $P_s / \log_2 M$ で近似できるようになります。
自然2進符号と比較すると、グレイ符号化は高SNR領域で約 $1/\log_2 M$ 倍のBER改善をもたらします。
帯域効率
M-QAMの帯域効率
シンボルレート $R_s$ [symbol/s] で帯域幅 $B \approx R_s$ [Hz](ナイキスト帯域幅)の場合、ビットレートは
$$ R_b = R_s \log_2 M $$
帯域効率は
$$ \eta = \frac{R_b}{B} = \log_2 M \quad [\text{bit/s/Hz}] $$
| 方式 | $M$ | 帯域効率 [bit/s/Hz] |
|---|---|---|
| 4QAM (QPSK) | 4 | 2 |
| 16QAM | 16 | 4 |
| 64QAM | 64 | 6 |
| 256QAM | 256 | 8 |
| 1024QAM | 1024 | 10 |
$M$ を増やすと帯域効率は対数的に向上しますが、同じBERを達成するために必要な $E_b/N_0$ が増加します。
シャノン限界との隔たり

各QAMの動作点(BER $=10^{-6}$ 達成時)を、シャノン限界の曲線と並べたものです。限界からの隔たりを計算すると、4-QAM で $8.77$ dB、16-QAM で $8.66$ dB、64-QAM で $8.56$ dB、256-QAM で $8.48$ dB ——多値数が変わってもほぼ $8.5$ dB 前後で一定です。
この一定性には意味があります。QAMという変調方式自体は、多値数をどう選んでも限界に対して同じ距離を保っている、つまり変調方式の選択だけでは限界に近づけないということです。この $8.5$ dB を埋めるのが誤り訂正符号の役割で、LDPC符号やターボ符号を組み合わせることで限界まで 1 dB 以内に迫れます。現代の通信規格が例外なく「多値QAM+強力な誤り訂正」の組み合わせになっているのは、このためです。
M-PSKとM-QAMの性能比較

最小距離の差が最終的な電力差にどう跳ね返るかを見ます。BER $=10^{-6}$ の達成に必要な $E_b/N_0$ は、$M=16$ で QAM が $14.40$ dB・PSK が $18.44$ dB(QAM が $4.04$ dB 有利)、$M=64$ では QAM $18.78$ dB・PSK $28.51$ dB($9.73$ dB 有利)でした。
$9.73$ dB の差は電力にして約9.4倍です。同じ情報を同じ帯域・同じ誤り率で送るのに、PSKだと送信電力を9倍以上必要とする——衛星通信のように電力が厳しく制限される用途では、この差は決定的です。多値数が上がるほどQAMの優位が拡大することも、図から読み取れます。
同じ $M$ に対して、M-QAMはM-PSKよりも高い雑音耐性を持ちます。
$M = 16$ の場合を比較します。
16PSK: 信号点は半径 $r$ の円周上に等間隔に16点配置されます。最近接距離は
$$ d_{\min}^{\text{16PSK}} = 2r\sin\!\left(\frac{\pi}{16}\right) \approx 0.390 r $$
16QAM: 同じ平均電力($r^2 = E_s$)のとき、最近接距離は
$$ d_{\min}^{\text{16QAM}} = 2d = 2\sqrt{\frac{E_s}{10}} \approx 0.632 \sqrt{E_s} $$
16QAMの方が最近接距離が大きいため、同じ $E_b/N_0$ に対してBERが小さくなります。これが高次変調でQAMが好まれる理由です。
ただし、QAMは振幅が一定でないため、非線形増幅器(飽和動作の増幅器)では歪みが生じます。この点ではPSKが有利です。通信システムの設計では、帯域効率、雑音耐性、増幅器の線形性を総合的に考慮する必要があります。
数値計算で性質を確かめる
星座図で多値化を眺める

平均電力を1に揃えたまま多値数を上げていくと、信号点が急速に密になります。最小距離は 4-QAM の $1.4142$ から 16-QAM で $0.6325$、64-QAM で $0.3086$、256-QAM では $0.1534$ まで縮みます。多値数を4倍にするごとに距離がほぼ半分になる計算です。
1シンボルで運べるビット数は 2 → 4 → 6 → 8 と足し算でしか増えないのに、距離は掛け算で縮んでいく。この非対称性が、多値化が際限なく進められない根本的な理由です。
誤り率の理論曲線

BER $=10^{-6}$ を達成するために必要な $E_b/N_0$ は、4-QAM で $10.53$ dB、16-QAM で $14.44$ dB、64-QAM で $18.80$ dB、256-QAM で $23.53$ dB でした。
多値数を4倍にするたびに約 $4$〜$5$ dB ずつ必要電力が増えていきます。帯域効率を2 bit/s/Hz 買うために、電力を約3倍払うという交換レートです。この関係が、通信システムで「電波状況が良ければ多値、悪ければ少値」と切り替える適応変調の設計根拠になります。
多値化の代償 — ピーク電力と増幅器の直線性

QAMには誤り率とは別の弱点があります。振幅にも情報を載せるため、瞬時のピーク電力が平均から離れていくのです。ピーク対平均電力比は 4-QAM で $0.00$ dB(全点が同一振幅なので当然)、16-QAM で $2.55$ dB、64-QAM で $3.68$ dB、256-QAM では $4.23$ dB に達します。
右の図は、飽和特性を持つ増幅器に 64-QAM を通した結果です。外側の信号点が内側へ潰れ、星座が歪んでいます。誤差の大きさを測ると、内側の点では $0.020$ にとどまるのに対し、外側の点では $0.409$ ——20倍もの差が出ました。
これが実務上の重い制約になります。増幅器は飽和点近くで使うほど電力効率が良いのですが、QAMでは直線領域に収まるよう出力を下げて使わざるを得ません(バックオフ)。多値化で稼いだ帯域効率を、増幅器の効率低下で払い戻すという構図です。振幅が一定なPSKやGMSKが、電力効率を優先する用途で今も使われ続けている理由がここにあります。
理論式は本当に当たっているのか

導出したBER近似式の妥当性を、実際にビット列を流して確かめました。実線が理論、白丸がシミュレーションです。16-QAM の $E_b/N_0 = 7$ dB で実測 $0.01738$ に対し理論 $0.01697$(比 $1.02$)、64-QAM の $13$ dB で実測 $0.00498$ に対し理論 $0.00495$(比 $1.01$)と、誤差数%の範囲で一致しました。
近似式は最近接信号点だけを考えて導いたものですが、実用上はこの精度で十分だとわかります。ずれが目立つのはBERが $10^{-5}$ を下回る領域で、これは試行回数が足りず誤りサンプル自体が数個しかないことによる統計的な揺らぎです。
雑音の中の星座図

16-QAM の受信信号点を、SNR を下げながら描いたものです。SNR $30$ dB では点が本来の位置にほぼ集まり誤り率は $0$、$20$ dB でもまだ判定に余裕があります。$15$ dB になると雲が隣と触れ合いはじめ誤り率 $0.025$、$10$ dB では完全に混ざり合って $0.2175$——5シンボルに1回以上間違えます。
「雑音に強い/弱い」という定性的な話が、点の雲の広がりという幾何学的な事実に還元されていることがわかります。誤りが起きるかどうかは、雲の半径が最小距離の半分を超えるかどうかで決まります。だからこそ最小距離が設計指標になるのです。
まとめ
本記事では、QAM(直交振幅変調)の理論と性能について解説しました。
- QAM信号は $s(t) = I(t)\cos(2\pi f_c t) – Q(t)\sin(2\pi f_c t)$ で表される2次元変調方式である
- 矩形M-QAMの平均シンボルエネルギーは $E_s = 2d^2(M-1)/3$ で計算される
- BER近似式は $P_b \approx \frac{4(\sqrt{M}-1)}{\sqrt{M}\log_2 M} Q\!\left(\sqrt{\frac{3\log_2 M}{M-1} \cdot \frac{E_b}{N_0}}\right)$ で与えられる
- グレイ符号化により、隣接シンボル誤りが1ビット誤りに限定され、BERが最小化される
- 帯域効率は $\log_2 M$ [bit/s/Hz] であり、$M$ の増加で向上するが雑音耐性は低下する
- 同じ $M$ に対して、QAMはPSKよりも高い雑音耐性を持つ(最近接距離が大きいため)
- シャノン限界との差(シャノンギャップ)は約1.5〜3 dBで、誤り訂正符号との併用で縮小可能
次のステップとして、以下の記事も参考にしてください。