检错与纠错

码字:

一个帧中包含m个数据位和r个校验位,帧长n=m+r,包含数据和校验位的n位单元通常称为n位码字(codeword)

码距:

两个码字中不相同的二进制位的个数,即一个编码系统中任意两个合法编码之间不同的二进制数位数

为了检测d位错误,要求码距>=d+1

为了纠正d位错误,要求码距>2d

海明码:

确定校验位位长:

假设校验位位长为k,信息位位长为m

如果只有1位出错,那么可能有m+k种错误

由于校验位有k位,对应着2^k种校验码,除了1种正确的校验码外,剩余的2^k-1种校验码对应着m+k种错误,即存在以下关系:

2^k-1\geq m+k

校验位的位置:

计算公式:2^n (n=0,1,2...),即对应着第1、2、4、8等位置

校验位计算公式:

将信息位的位置号转变为二进制位

P1=二进制位中第1位为1的信息位进行异或

P2=二进制位中第2位为1的信息位进行异或

P3=二进制位中第3位为1的信息位进行异或

后面以此类推。注意P1、P2、P3、P4是校验位的编号,不是位置号

校验:

接收方对接收到的信息进行计算,将位置号转变为二进制位

X1=第1位为1的所有信息进行异或

X2=第2为为1的所有信息进行异或

X4=第3位为1的所有信息进行异或

X8=第4位为1的所有信息进行异或

出错位置即X8X4X2X1二进制形式转为10进制数值

CRC编码(cycle redundancy code,循环冗余编码):

生成多项式(generator polynomial):

最高位和最低位必须为1,如:G(x)=x^4+x+1

生成CRC校验码:

1)原始信息添0。生成多项式的最高位为几就添加几位0,如上式最高位为4,那么添加4个0

2)模2除(异或

3)余数添加到原始信息后

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tyson2462

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

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

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

打赏作者

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

抵扣说明:

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

余额充值