计算机网络第三章(2)

差错的处理

纠错码 ——前向纠错技术:发现错误,从错误中恢复出正确的来。
因其需要太多的冗余位,纠错开销太大,在有线网络中极少使用,主要用于无线网络中。

检错码:只能发现错误,不能从错误中恢复,但可采用重传)
局域网中主要采用检错码。

海明距离( Hamming Distance )

码字:包含数据位和校验位的 n 位 单元(模式)。

海明距离
两个码字(codeword)的海明距离 : 两个码字之间不同位的数目。
如:10001001 和10110001 的海明距离为3。
异或的结果中,1的个数

全部码字的海明距离:全部码字中任意两个码字之间海明距离的最小值。
海明距离的意义在于:如果海明距离为d,则一个码字需要发生d个1位错误才能变成另外一个码字

海明距离与检错的关系

海明距离为d+1的编码能检测出d位差错。
因为在距离为d+1的检验码中,只改变d位的值,不可能产生另一个合法码字。

例:检错码(奇偶位)
如奇偶校验码,海明距离为2,能查出单个错。
奇偶校验码:一个校验位(Parity Bit)追加到数据后。
校验位的值取“0”还是“1”,取决于整个码字的总的“1”的个数。(奇数还是偶数)。
Data: 1011010
Even: 1011010 0 (偶校验)
Odd: 1011010 1 (奇校验)

例:偶校验
一个系统要传输的原始码字:
00、01、10、11
编码后的偶校验码字(合法/正确)是: (海明距离2)
000、011、101、110
如果接收方收到一个码字001,这是一个非法码字,所以,出错了。
如果系统收到000,这是一个合法码字,正确。但不排除这是110跳变2之后的错误码字。

海明距离与纠错的关系

海明距离为2d+1的编码,能纠正d位差错。
因为此时,如果一个码字有d位发生差错,它仍然距离原来的码字距离最近,可以直接恢复为该码。

例:纠错码
一个系统有4个合法码字:
0000000000, 0000011111, 1111100000 和 1111111111
海明距离是 5=2d+1=2*2+1,所以可纠正2位错误
发送: 0000011111
接收: 0000000111
收方纠正后: 0000011111

注意

随着海明距离的增加,纠错的能力也增加;即海明距离越大,纠错能力越强。

海明距离为3,可以纠正1个错误;而海明距离为5,才可以纠正2个错误。

当一个系统中的海明距离增加的时候,合法码字就减少了;即传输效率降低!(传输效率和纠错矛盾)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王蒟蒻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值