ハミング符号
復号は検査行列 H と受信したデータの積を求めることで行われる。今、受信データ Y を受け取ったとする。このとき Y に誤りが存在しない場合は
Y = x ⋅ G {\displaystyle Y=x\cdot G}
であるといえる。ここで x とは符号化される前のビット列である。この Y と H の転置行列との積を求めると H と G の関係式より
Y ⋅ H T = x ⋅ ( G ⋅ H T ) = 0 {\displaystyle Y\cdot H^{T}=x\cdot (G\cdot H^{T})=0}
と求められる。すなわち受信語と検査行列の積が零ベクトルであるなら誤りが無いことになり、非零であるなら誤りを含むことになる。次に Y が 1 ビットの誤りを含むとする、ここで Y を以下のように仮定する。
Y = x ⋅ G ⊕ e i {\displaystyle Y=x\cdot G\oplus e_{i}}
ここで ei とは i番目のビットが 1、それ以外のビットが 0 のビット列である。このような eiのことを誤りベクトルという。先ほどと同様に Y と H の転置行列との積を求めると以下のようになる。
Y ⋅ H T = ( x ⋅ G ⊕ e i ) ⋅ H T = x ⋅ ( G ⋅ H T ) ⊕ e i ⋅ H T = e i ⋅ H T {\displaystyle Y\cdot H^{T}=(x\cdot G\oplus e_{i})\cdot H^{T}=x\cdot (G\cdot H^{T})\oplus e_{i}\cdot H^{T}=e_{i}\cdot H^{T}}