つながるワイヤレス通信機器の開発手法(11) ──ASICを設計する(中編) エラー訂正回路とタイミング回路の実装
1.ハミング符号を用いたエラー訂正
ここでは,BluetoothやワイヤレスLANなどに使用されるブロック・エラー訂正符号について説明する.ブロック・エラー訂正符号は,図2のように情報ビット(k)と検査ビット(m)で構成される.
図3に示す回路は,Bluetoothのペイロードのエラー訂正に使われる(15.10)短縮ハミング符号の生成回路である.ハミング符号はブロック・エラー訂正符号の一種であり,ブロック内の情報ビットに生じたエラーを訂正するために用いられる.ハミング符号は,1ビットのエラー訂正能力と2ビットのエラー検出能力を持つ符号である.後述のとおり,シフト・レジスタとEXORの組み合わせで生成することができる.
(15.10)は1ブロック(情報ビット+検査ビット)のビット長が15ビット,検査ビット長が5ビットのハミング符号を表している.これを利用すると,ブロック内に生じた1ビットのエラーを訂正できる.
送信側では,情報ビットから生成した検査ビットを情報ビットの末尾に付加して送信する.一方,受信側ではシンドローム演算と呼ばれるエラーの位置を検出する演算を行い,その演算結果に基づいてエラーを訂正する.
〔図2〕ブロック・エラー訂正符号の構成
ブロック・エラー訂正符号は,情報ビットkと検査ビットmからなる.この符号は,例えばk=10,m=5の場合,(k+m.k),つまり(10+5.10)=(15.10)と表される.
〔図3〕(15.10)短縮ハミング符号の生成回路
本回路はBluetooth Specification Ver1.1で記述されている「2/3FEC(Forward ErrorCollection)」回路である.それぞれの四角い箱は,シフト・レジスタの1ビットに相当する.丸にプラスの符号はEXORを表す.S1,S2はイッチであり,DATA_INから入ってきたデータによりシフト・レジスタ内に検査ビットが生成され,情報ビットのあとにスイッチが切り替わり検査ビットを送出する.