「電波で情報を送れる仕組み 1 」で解説したQPSKですが(6月13日の記事参照)、各位相に割り当てる数値を通常のバイナリ表記にしました。実際の通信では、ここに「グレイコード」(交番2進符号)が使われます。
グレイコードとは、機械式スイッチなどで間違った数値を取り込まないように考えられたもので、隣り合う数値では、1ビットだけ変化するようになっています。通常の2進数では、例えば3(0011)から4(0100)に変化するときに複数のビットが同時に変化します。このとき機械装置では、オンオフを間違ってしまう可能性がありますが、グレイコードを使えば、前後の値で1ビットしか変化しないため、間違いを見つけることが可能になります。これは、回転角度をデジタル信号に変換するロータリーエンコーダーなどに使われています。
なお、隣り合う数値で1ビットだけ変化する2進コードはすべてグレイコードであり、いくつかの種類があります。最も広く使われているのは反転グレイコードと呼ばれるものです。これを使うと、例えば2ビットのグレイコードは、
「0(00)、1(01)、2(11)、3(10)」
になります。
nビットのグレイコードを作るには、n-1ビットのグレイコードの先頭に0を付けたものと、1をつけて順番を逆にしたものをつなげます。
例えば3ビット(0〜7)のグレイコードは、2ビットのグレイコードの先頭にゼロを付けた
0(0 00)、1(0 01)、2(0 11)、3(0 10)
と、先頭に1を付け逆順にした
4(1 10)、5(1 11)、6(1 01)、7(1 00)
とやって作ります。
1/4πずつ位相を割り当てていくQPSKの場合を見てみましょう(6月13日の記事参照)。
利用する4つの位相で、隣り合う位相はノイズなどの影響で間違って判定(復調)されてしまう可能性があります。このとき、対応するビットをグレイコードとすれば、位相が間違って90度ずれて判定されても、誤りは1ビットだけになります。このようにするためには、下図で10となっているところ(5/4π)を11に、11となっているところ(7/4π)を10にします。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PRアクセスランキング