海明嗎碼字的求法

2021-08-19 02:56:56 字數 1351 閱讀 8225

【例3-1】假定資訊碼為"0010"。海明碼的監督關係為

s2=a2+a4+a5+a6    s1=a1+a3+a5+a6       s0=a0+a3+a4+a6

求海明嗎碼字。

解析:

(1)用k表示資訊位數,r為校驗位數.根據資訊位數求出校驗位數,公式是2^r≥k+r+1,滿足這個不等式的最小的r,就是校驗位數.

而資訊位數則根據資訊的長度來確定,如0010,資訊位數為4.所以2^r≥4+1+r,可以得出符合條件的最小的r為3,所以校驗位數為3.

(2)根據得出的資訊位數k=4和校驗位數r=3,可以自己得到乙個表.

表是這樣的,首先他的列數等於k+r=7,但是還有第一列要用來寫說明資訊,所以共有8列,行數是3行.從右往左填起,第一列分別是位數(純數字),資訊位數(i),校驗位數(r).然後填好第一行位數,從右到左,1-7;如下圖所示

位數資訊位數

校驗位數

(3)接下來就是把校驗位和資訊位填入**

位數a6a5

a4a3

資訊位數

a2a1

a0校驗位數

至於為什麼這樣填呢,接下來我就做乙個簡單的剖析:

首先我們可以將1-7換成二進位制數從001 010 011 100 101 110 111

然後考慮校驗位和資訊位該往**填;

對於001相當於s0出錯了,那麼我們s0的監督關係與s1和s2進行對比,看看s1裡面有的位數是s1和s2裡面沒有的,顯然我們可以推出時a0,以此類推,010和100也就可以找到相應的位數

對於011這時候我們就要換種方式進行對比,由011可知s1和s0出錯了,那麼我們將s1和s0相同的找出來得到相同的是a3和a6,然後將這兩個相同的元素與沒有出錯的s2裡面的元素進行比較,看看s2是否有和s1和s0相同的元素,通過比較可以知道s2中的a6與這2個出錯的相同,反過來s2裡面沒有a3那麼就是a3出錯了,所以a3就要填到011下面也就是上述**位數為3的下面去,同理101和110也是這樣推出來的

對於111我們就找三者共有的元素那就是a6

通過上述就可以將校驗位和資訊位的位置填完,接下來就是求每個資訊位對應的值。

題目已經給了我們資訊碼為0010,所以我們將這資訊碼依次填入**

位數資訊位數

a6a5

a4a3

校驗位數

設s2=s1=s0=0有監督關係可知

a2=a4+a5+a6=0+1+0=1

a1=a3+a5+a6=0+0+0=0

a0=a3+a4+a6=1+0+0=1

這裡的加號是異或符號,所以a2a1a0為101

因此海名==海明碼碼字為"0010101"

海明校驗碼(靠譜的解釋)

定義 海明碼 hamming code 是利用奇偶性來檢錯和糾錯的校驗方法。海明碼的構成方法是在資料位之間的確定位置插入k個校驗位,通過擴大嗎距來實現檢錯和糾錯。對於資料位m的資料,加入k位的校驗碼,它應滿足 2 k m k 1 例子 設資料為01101001,試採用校驗位求其偶校驗方式的海明碼。1...

看得懂的海明校驗碼

例如傳送過來的資料是 1010 k表示校驗碼的位數 n表示例如1010表示n 4 第一步 通過公式找到k值 2 k n k 1 k 3 第二步 給1010每乙個位標上位置 1 0 1 0 d4 d3 d2 d1 第三步 找到校驗碼插入的位置 已知k 3,有三位校驗碼 p1 2 i 1 1 p2 2 ...

利用海明碼的監督關係式求解碼字

關於海明碼的介紹,前面幾篇部落格中已經說明了。這裡主要是介紹如何根據海明碼的監督關係式求解海明碼的碼字。下面主要以典型例題的方式介紹如何求解。例題1 假定資訊碼為0010,海明碼的監督關係式為 s2 a2 a4 a5 a6 s a1 a3 a5 a6 s a0 a3 a4 a6 求解海明碼的碼字。解...