海明碼和監督關係式
編碼原理和校驗方法
貼上目前為止看到的最簡單且基礎的講解,非常直觀易懂,並且條理非常清晰。非常感謝原作者了。
監督關係式
推倒過程
假設我們現在的有資訊位a6a5a4a3(k=4),由2r ≥k+r+1得到r=3。即在4位資訊位a6a5a4a3後面加上3位冗餘位a2a1a0,構成7位碼字a6a5a4a3a2a1a0 。
a2,a1,a0分別由資訊位中的幾位異或得到
校驗時,他們就分別和這些位異或構成三個監督關係式
規定:
無錯時,這三個關係式的值S2,S1,S0全部為0,即000
若a0錯,則S0=1,S1=S2=0,即001
若a1錯,則S1=1,S0=S2=0,即010
若a2錯,則S2=1,S0=S1=0,即100
S2,S1,S0這三個校正因子的其他4中編碼用來區分資訊位的一位錯
對應關係如下
S2S1S0 000 001 010 100 011 101 110 111
錯碼位置 無 a0 a1 a2 a3 a4 a5 a6
由此可見,a2,a4,a5,a6的一位錯都會使得S2=1,因此S2=a2+a4+a5+a6
同理可得
S1 =a1+a3十a5十a6
S0 =a0+a3十a4十a6
S2 =a2+a4十a5十a6
糾錯過程
假設碼字0010101傳輸中發生一位錯,在接收端收到的為0011101(我們可以看到是a3出錯)
將接收端碼字代入監督關係式:
S2 =a2+a4十a5十a6
S1 =a1+a3十a5十a6
S0 =a0+a3十a4十a6
可算得S2=0、 S1=1和S0 =1。
1、S2S1S0=011=3,故錯誤的是a3。
2、我們也可以更一般性的這樣去想:
S1=1,說明a1,a3,a5,a6中有一位錯
S0=1,說明a0,a3,a4,a6中有一位錯
所以,可以知道,錯誤一定出現在a3,a6中的一個
S2=0,說明a2,a4,a5,a6不會發生錯誤
所以排除了a6,即錯誤的是a3.
•