1.海明碼的概念
海明碼是一種能夠糾正一位差錯的編碼。它是利用在信息位爲k位,增長r位冗餘位,構成一個n=k+r位的碼字,而後用r個監督關係式產生 的r個校訂因子 來區分無錯和在碼字中的n個不一樣位置的一位錯。它必需知足如下關係式: 2r>=n+1 或 2r>=k+r+1 海明碼的編碼效率爲: R=k/(k+r) 式中 k爲信息位位數 r爲增長冗餘位位數 2.海明碼的生成與接收 方法一: 1)海明碼的生成。 例1.已知:信息碼爲:"0010"。海明碼的監督關係式爲:(推導過程略) S2=a2+a4+a5+a6 S1=a1+a3+a5+a6 S0=a0+a3+a4+a6 求:海明碼碼字。 方法二:(不用查表,方便編程) 例題: .已知海明碼的監督關係式爲: S2=a2+a3+a4+a6 S1=a1+a4+a5+a6 S0=a0+a3+a4+a5 接收端收到的碼字爲a6a5a4a3a2a1a0=1010100,問在最多一位錯的狀況下發送端發送的碼字是什麼?(寫出推演過程)。 答案: 1.(1)根據海明碼的監督關係式 S2=a2+a3+a4+a6 S1=a1+a4+a5+a6 S0=a0+a3+a4+a5,得下表: S2S1S0 000 001 010 011 100 101 110 111 錯誤位置 無錯 a0 A1 a5 a2 a3 a6 a4 (2)將a6a5a4a3a2a1a0=1010100分別代入海明碼的監督關係式 得:(其中「+」號表示異或運算); s2=1+0+1+1=1 s1=0+1=0+1=0 s0=0+0+1+0=1 即s2s1s0=101 (3)查表可知:接收到的比特序列第4位有錯,正確的應是: a6a5a4a3a2a1a0=1011100 某公司採用一條租用專線(Leased line)與在外地的分公司相連,使用的MODEN的數據傳輸率爲2400bps,現有數據12*106 字節,若以異步 方式傳送,不加校驗位,1位中止位則最少須要多少時間(以秒爲單位)才能傳輸完畢? 答: 以異步方式傳送一個字節數據,須要加1位起始位,1位中止位,實際須要傳送8+2=10位. 故: (12*106*10)/2400 =5*104秒 若10Mbps的CSMA/CD局域網的節點最大距離爲2.5Km,信號在媒體中的傳播速度爲2*108 m/s,求該網的最短幀長 解答: 10Mbps表示 每秒鐘傳輸10*106 位數據 , CSMA/CD,信號須要返回才能知道有沒有碰撞,因此傳輸一次信號須要兩倍距離, 先算出信號在節點完整傳輸一次所須要的時間: 2*(2.5*103)/2*108 =2.5*10-5 秒 ,而後算出幀長 =2.5*10-5 * 10*106 =250bit ** 某令牌環媒體長度爲10Km,信號傳播速度爲200m/us,數據傳輸率爲4Mbps,環路上共有50個站點,每一個站點的接口引入1位延遲, 試計算環的比特長度. 解答: {(10*10^3 )/(200*10^6)} * 4*10^6 =0.2*10^3=200bit 200+50*1=250bit 一共是250比特 用速率爲1200bps的調制解調器(無校驗位,一位中止位),則每分鐘最多傳輸的漢字是多少(漢字爲雙字節) 解答:(1200*60)/{(8+2)*2}=3600個 設信息碼爲101 ,採用生成多項式G(X)爲G(X)=X^4+X^3+X^2+X+1,生成的循環碼是多少? 解答:略 1011101 在數據傳輸過程當中,若接收方收到發送方送來的信息爲11010110111,生成多項式G(X)=X4+X3+x+1,接收方收到的數據是否 正確?(寫出判斷依據及推演過程)。 解答:(1)由於G(X)=X4+X3+x+1,故其對應的二進制比特串爲11011 (2)又由於接收到的信息爲11010110111,故可有二進制除法。 (3)11010110111÷11011(除法的詳細過程略) (4)因上述除法的餘數爲0,故接收到的信息爲正確信息。即發送過程當中未出現錯誤 設LAN採用路由器與X.25 網相連,如今路由器每秒轉發200個分組,分組長度爲X.25網的標準128字節,問: (1)路由器的轉發速率是多少Mbps? (2)計算一分鐘內的通訊費用(通訊量按段來計算,每段64字節,需0.03元) 解答:(1)路由器的轉發速率爲 200(分組/秒)*128(字節/分組) =2560字節/秒 =2560*8位/秒 =0.02048Mbps (2)一分鐘傳輸的費用 ={(2560*60)/ 64} * 0.03 =72元/分鐘 ________________________________________________________________ 注:若是K=4,那麼 s0=a0+a1+a3+a4+a6 s1=a0+a2+a3+a5+a6 s2=a1+a2+a3+a7 s3=a4+a5+a6+a7 ______________________________________________________________________ 解:1)由監督關係式知冗餘碼爲a2a1a0。 2)冗餘碼與信息碼合成的海明碼是:"0010a2a1a0"。 設S2=S1=S0=0,由監督關係式得: a2=a4+a5+a6=1 a1=a3+a5+a6=0 a0=a3+a4+a6=1 所以,海明碼碼字爲:"0010101" 2)海明碼的接收。 例2.已知:海明碼的監督關係式爲: S2=a2+a4+a5+a6 S1=a1+a3+a5+a6 S0=a0+a3+a4+a6 接收碼字爲:"0011101"(n=7) 求:發送端的信息碼。 解:1)由海明碼的監督關係式計算得S2S1S0=011。 2)由監督關係式可構造出下面錯碼位置關係表: S2S1S0 錯碼位置 000 無錯 001 a0 010 a1 100 a2 011 a3 101 a4 110 a5 111 a6 3)由S2S1S0=011查表得知錯碼位置是a3。 4)糾錯--對碼字的a3位取反得正確碼字:"0 0 1 0 1 0 1" 5)把冗餘碼a2a1a0刪除得發送端的信息碼:"0010" 3)由S2S1S0=011查表得知錯碼位置是a3。 4)糾錯--對碼字的a3位取反得正確碼字:"0 0 1 0 1 0 1" 5)把冗餘碼a2a1a0刪除得發送端的信息碼:"0010" |