誤り検出と誤り訂正
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/09 14:44 UTC 版)
一般に誤り検出訂正では、k 単位長(k ビット、k バイト など)の符号を、n = m + k 単位長の符号語に変換する。これを (n, k) 符号、あるいは、符号形式を添えて (n, k) ××符号などと呼ぶ(誤り訂正符号"Error Correction Code"を特にECCと略す)。符号語は、最小ハミング距離が d > 1、つまり、互いに少なくとも d 単位が異なっていて、この冗長性を利用して前方誤り訂正が可能となる。dを添えて、(n, k, d) 符号ともいう。 適切な (n, k, d) 符号は、符号語あたり d - 1 単位の誤りを検出でき、[(d - 1) / 2] 単位([ ] は床関数)の誤りを訂正できる。d ≦ 2 ならば、誤り訂正能力は [(d - 1) / 2] = 0 となり、単なる誤り検出となる。ただし、データの消失に対しては、つまり誤り位置がわかっているときは、d 単位の消失を訂正できる。これを特に消失訂正と呼ぶ。単なる誤り訂正も、最低 1 単位の消失訂正能力を持つ。 たとえば、(2, 1, 2) 符号であるミラーリングは、 どちらかに誤りが起これば検出できるが、両方に起これば検出できない。(誤り検出能力1) どちらか(どちらかはわからない)に誤りが起これば訂正できない。(誤り訂正能力0) どちらかが消失すれば訂正できるが、両方に起これば訂正できない。(消失訂正能力1) となる。(3, 1, 3) 符号である三重ミラーリングでは、誤り検出能力と消失訂正能力が2となり、誤り訂正能力1も得る。 双方向の通信では、前方誤り訂正ができなくても誤り検出さえできれば、送信者に再送を要求することで実質的に誤りを訂正できる。これを自動的におこなう仕組みを、自動再送要求 (ARQ, Automatic Repeat reQuest) と呼ぶ。
※この「誤り検出と誤り訂正」の解説は、「誤り検出訂正」の解説の一部です。
「誤り検出と誤り訂正」を含む「誤り検出訂正」の記事については、「誤り検出訂正」の概要を参照ください。
- 誤り検出と誤り訂正のページへのリンク