【计算机网络复习 数据链路层】3.3.2 差错控制(纠错编码)
生活随笔
收集整理的這篇文章主要介紹了
【计算机网络复习 数据链路层】3.3.2 差错控制(纠错编码)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
差錯控制(糾錯編碼)
- 一、海明碼
- 1.1 確定校驗碼位數r
- 1.2 確定校驗碼和數據的位置
- 1.3 求出校驗碼的值
- 1.4 檢錯并糾錯
一、海明碼
**海明碼:**發現雙比特錯,糾正單比特錯。
1.1 確定校驗碼位數r
海明不等式:
r 為冗余信息位,k為信息位
例:要發送的數據:D =101101
數據的位數 k = 6,滿足不等式的最小r為4,
也就是D=101101的海明碼應該有6+4=10位,其中原數據6位,校驗碼4位。
1.2 確定校驗碼和數據的位置
1.3 求出校驗碼的值
令所有要校驗的位異或=0
P1⊕D1⊕D2⊕D4⊕D5 = 0 => P1 =0
P2⊕D1⊕D3⊕D4⊕D6 = 0 => P2 = 0
P3⊕D2⊕D3⊕D4 = 0 => P3 = 0
P4⊕D5⊕D6 = 0 => P4 = 1
故101101的海明碼位0010011101。
1.4 檢錯并糾錯
假設第五位出錯,因此接收到的數據位0010111101。
令所有要校驗的位異或運算。
P1⊕D1⊕D2⊕D4⊕D5 = 1
P2⊕D1⊕D3⊕D4⊕D6 = 0
P3⊕D2⊕D3⊕D4 = 1
P4⊕D5⊕D6 = 0
從P4往P1寫:0101 =》 5 ,
二進制序列位0101,恰好對應十進制5,這樣就找到了出錯的位置,即出錯位是第5位。
總結
以上是生活随笔為你收集整理的【计算机网络复习 数据链路层】3.3.2 差错控制(纠错编码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++学习——类的多态
- 下一篇: 计算机网络——链路层之流量控制和可靠传输