4B5B符号化

電気通信において、4B5B 符号化とはデータ通信におけるブロックコーディング法の一つである。NRZ 伝送路符号を用いる際、受信側が正しくクロックを同期するには一定の期間内に必ず遷移が起こる必要がある。例えば、0000 の様な一続きの 4 ビットは遷移を含まず、クロック問題を引き起こしうる。4B/5B では、この問題を 4 ビットを対応する 5 ビットワードに割り当てることにより解決する。その 5 ビットワードは、ブロックごとに最低 2 回の遷移が起こるように選ばれ、あらかじめ辞書に定義される。

この符号化の副作用として、4 ビットをそのまま送るよりも多くのビットが必要となる。4B5B 符号化の代替として、を使う方法がある。標準や規格によっては使われない 4b5b キャラクタが存在する場合もある。このデータストリーム中の「不使用」キャラクタの存在は、リンク上の不具合の検出に使うことができる。したがって、実際上不使用キャラクタはデータストリーム上のエラー検知に使うことができる。

4B5B は1980年代中盤に fiber distributed data interface (FDDI) により普及し、後に以下の規格に採用された。
 1995年に IEEE 802.3u として定義された 100BASE-TX 標準
 AES10-2003 Multichannel Audio Digital Interface (MADI) 
4B5B という名前は一般的に、 FDDI バージョンを意味して使われる。他の 4 ビット から 5 ビットへの符号化としては、磁気記録に用いられる (GCR) が挙げられる。

光ファイバー上では、 4B5B 出力は  伝送路符号を用いる。 FDDI over copper (CDDI) では、100 BASE-TX と同様の を代わりに用いる。

4B5B 符号化は、USB Power Delivery 通信にも CC ピン上の BMC プロトコルを通じて用いられている。

4B5B 符号化テーブル

コマンドキャラクタ 
次のキャラクタセットがコマンドキャラクタとして用いられることもある。

(HDLC = High-Level Data Link Control)

関連項目 
エンコード

外部リンク 
 Simulator - 4B/5B Encoder line written in Matlab

伝送路符号