海明碼舉例分析(監督關係與資訊碼 冗餘位)

xi4ojie發表於2011-03-13

 

關於海明碼問題,在軟考中出現的概率是比較高的,下面通過網友的二例試題做個簡要的分析:
1、在海明碼編碼方法中,若冗餘位為3位,且與錯碼位置的對應關係為
S2S1S0  111 110 101 011 100 010 001 000
錯碼位置  a6  a5   a4   a3    a2   a1  a0  無錯
則S1的監督關係式為( )。
A. S1=a1+a3+a5+a6 B. S1=a2+a3+a4+a6
C. S1=a1+a3+a4+a5 D. S1=a1+a2+a5+a6

2、使用海明碼進行前向糾錯,如果冗餘位為4位,那麼資訊位最多可以用到_11__位。


這二題的求解對於一般基礎知識點不好的網友是很難做答的。現簡要的用海明碼的知識來做個答覆:
上題中。S2S1S0  111   110  101   011   100     010      001    000
              錯碼位置  a6    a5    a4     a3      a2       a1       a0      無錯  則S1的監督關係式為

我們通過檢視S1不難發現,當S2S1S0為000時無錯,則S1的對應關係必為1,題中S2S1S0就是S1=1,即S1出錯。上面A6(111)A5(110)A3(011)A1(010)中間的S1均為1,a6,a5,a3,a1中任何一位出錯,均可使s1為1,由此可得監督關係式為:S1=a1+a3+a5+a6
對於此題,我們可以變相的出題,如先看001, 對應S2S1S0就是S0=1,即S0出錯,而S0=a0+a3+a4+a6
這樣明白了嗎?只要根據題目要求找到S對應的1便能能處理問題。這樣應該比較簡單,也不必記憶別的。
----------------------------------------------------
海明碼的資訊位,海明碼是一種可以糾正一位差錯的編 碼。它是利用在資訊位為k位,增加r位冗餘位,構成一個n=k+r位的碼字,然後用r個監督關係式產生的r個校正因子來區分無錯和在碼字中的n個不同位置 的一位錯。它必需滿足以下關係式: 2^ r>=k+r+1 式中 k為資訊位位數 r為增加冗餘位位數
代入公式,2^4 >=k+4+1 不難求解出k<=11        這裡公式記憶是問題的關鍵,如果不知道這個公式2^ r>=k+r+1單憑空想是解決不了問題的。如此反過來求冗餘位也方便。

相關文章