9.差错控制(难点/重点)
概念:差错控制指接收方在接收到一个信号后,判断这个信号是否在传输过程中有误。
组成:分为检错和纠错
- 检错:只能检查出错误,不能进行纠错
- 纠错:能检查出错误,并对检出的出错位进行修正
考点1:什么是码距?怎么求?
两码字间--编码过程中,一码字从一个码字转化为另一码字需要变化的二进制位数(1的个数)
怎么求?看1的位数;若同一组中有多个码距,以最小的那组码距为准
考点2:码距与检错、纠错的关系?
d >=e+1 (e为检错位数) 码距d为2时,只可检错有1位,而无法确定是哪一位出错,自然无法进行纠错
d>=2t+1 (t为可检错位数) 码距为3时,可检错有2位,但要满足纠错位只有一位,必然只有一种情况。
因此,要想纠错。方法就是拉大编码之间的“码距”。
---------------------------------------------------------------------------------------------------------------------------------
拉大码距的方式:
- 奇偶校验:分为奇校验和偶校验
- 奇校验:检错码=信息字段+检验字段(补0或1) ,检错码中的1个数为奇数
- 偶校验:检错码=信息字段+检验字段(补0或1) ,检错码中的1个数为偶数。
信号先经模2加运算(奇偶校验)处理的码再通过信道进行传输,若接收方收到信号后,依然按照偶校验的模2加方式进行运算。若检错码经模2加运算为0,说明没有出错;若接收方经模2加运算后发现为1,则说明信号在传输过程中出错。但偶校验只有检错能力,而没有纠错能力(因为任何一位出错都可能导致模2加为1,所以奇偶校验码无法定位纠错)
- 海明校验:考试中最常考!!!
概念:加入k位的检验码,产生2的K次方-1个校验信息。(能够指出m+k位中的任一位码元出错的情况)
海明校验特点:m+k
注意:校验位越少越好,能满足校验的需求就好。
监督关系式的构建:↓
B1:2^0,包含于后面的B3、B5、B7、B9等,因此B1参与后面的监督, 可作为后面数的监督式。
接收方:按照校验式的校验规则进行判断。
比如:下图 原来正确C1 C2 C3 C4 正确应该为:0000,结果呈现:1101.说明有校验位出错,但C3是对的。如何确定哪个校验位出错?如何矫正呢?
step:1.C3正确,那么对应的C3后面的码元都是正确的,对比C1 C2 C4,排除掉正确的码元,然后它们3个共有的往往就是出错的校验位,然后对其进行校正即可。 比如:图中的B11。
纠正原则:0矫正变1,1矫正后变0。
- 差错控制-CRC校验
操作编码:用户信息+检验信息(与前面2者同)
关键点:用生成多项式(类似短除法)计算出校验位的值。其中,生成多项式的最高幂次 决定了CRC校验码的位数。
怎么算?
根据生成多项式,用短除法进行运算。要求被除数要根据生成式进行变形;
变形的依据:根据生成式的对应位置的位数有无幂次。有幂次为1,无幂次为0. 比如:图中
注意:
1.被除数的编码位数是最高幂次+1位
2.常数的幂为0,所以编码为1。
用模2除 ,来计算出真正的校验位。
模2除:不进位,也不退位,逐一进行比较。规定:同为0,异为1(异或运算)
校验码的计算:
发送方:将经过模2除得到的4位校验位:0011放在原码的最后面
接送方:同样是经过模2除运算。若经模2除运算,结果余数为0,接受的码没有出错;反之出错。
CRC校验出错后的处理?
CRC只能检错,不能纠错。所以CRC一般只用来检错,当接收方使用CRC校验发现接受的数据出错(余数不为0),一般会要求发送方重发一次,而不是自己进行纠错。
此外, CRC在以太网中应用很多,802.3令牌环网等(后续章节会说)
说明:以上材料均为本人在哔哩哔哩网站上学习整理所成,文章仅为自己学习记录复习使用。参考视频资料视频资源系希赛团队老师讲解,若笔记表述或内容有误,诚盼指正!
希望更多资料的uu,可以移步B站自行查找哦!