文章目录
一、基本概念
在信息传输中,由于多种原因,可能造成数据出现错误。信息接收方常常需要对接收到的信息进行数据校验(检错和纠错)。常用的数据校验方法有奇偶校验、CRC校验、海明校验等。
1.码距的概念:
- 两个二进制数的码距:两个二进制数进行位的异或运算后,得到的二进制数里,位值为1的个数,也就是两个二进制数对应位位值不相同的个数。
- 编码的最小码距:同一编码中,任意两个合法编码之间不同二进数位数(即码距)的最小值。
- 码距越大,抗干扰能力越强,纠错能力越强,数据冗余越大,编码效率越低。编码时,选择码距必须考虑信息发生差错的概率和系统能容许的最小差错率。
2.校验编码
校验编码:在原始的二进制数(有效数据)中按照一定原则增加冗余项(校验数据)得到新的数据,并作为实际传输中的数据。即,通过增加校验位,进而增加码距,以便校验数据。
3.码距和校验的关系
- 在一个码组内为了检测e个错位的误码,要求最小码距d应该满足: d>=e+1;
- .在一个码组内为了纠正t个错位的误码,要求最小码距d应该满足: d>=2t+1。
二、奇偶校验
1.基本原理
奇偶校验(Parity Check)利用在信息后面附加一个奇偶校验位来进行校验。
事先通信双方约定是采用奇校验还是偶校验,假设采用偶校验,则发送方在信息后面附加一位使所有信息(包括校验位)中一共有偶数个1,在接收方检验信息中1的个数,若为奇数个则判定出错。
优点:编码简单,实现方便;
缺点:码距为2,只能检错不能纠错,当发生偶数个错误时,不能检测出来。
2.双向奇偶校验
为此,发展出了二维的双向奇偶校验。将要发送的d位数组成m行n列的二维矩阵,并使用m+n+1个校验位编码。码距上升为4,可纠正1位错误。
三.CRC校验
循环冗余编码(Cyclic Redundancy Check,又称多项式编码)是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。相比于奇偶校验码只能校验一位错误,循环冗余校验码(CRC)的检错能力更强,可以检测出多处错误。
1.模2除运算规则
2.基本原理
3.编码方法
4.检错方法
5.纠错方法
基本方法:根据特定码制、特定生成多项式确定一个出错余数表,即CRC码不同位的出错在验证时都会得到不同的余数,对照余数表就可以确定是哪一位出错了。
循环纠错法
但这都只是一位出错的纠错,多位纠错就不太清楚了。
四、海明校验
1.基本原理
海明码(Hamming Code)是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以也仅用于信道特性比较好的环境中,如以太局域网。它的检错、纠错基本思想如下:
(1)将有效信息按某种规律分成若干组,每组安排一个校验位通过异或运算进行校验,得出具体的校验码。
(2)在接收端同样通过异或运算看各组校验结果是否正确,并观察出错的校验组,或者多个出错的校验组的共同校验位,得出具体的出错比特位。
(3)对错误位取反来将其纠正。
2.确定校验码位置
海明码的校验码的位置必须是在2n次方位置(n从0 开始,分别代表从左边数起分别是第1、2、4、8、16……),信息码也就是在非2n次方位置。
3. 确定校验码
校验位置选择原则:第i位校验码从当前校验码位开始,每次连续校验i位后再跳过i位,然后再连续校验i位,再跳过i位,以此类推。确定每个校验码所校验的比特位:
P1校验码位校验的码字位为:第1位(也就是P1本身)、第3位、第5位、第7位、第9位、第11位、第13位、第15位,……。
P2校验码位校验的码字位为:第2位(也就是P2本身)、第3位,第6位、第7位,第10位、第11位,第14位、第15位,……。
最后每组通过异或逻辑运算(与偶校验原理一样),使每组的运算结果为0,即可得出第i位校验码的值。
4. 编码举例
5.特点分析
总结
还在学习,有待补充。
有问题请留言。
参考资料
- 计算机组成原理_华科https://www.icourse163.org/course/HUST-1003159001
- 详解差错控制之码距、检错与纠错
https://blog.csdn.net/suchto/article/details/7382366?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task - 差错检测和纠错技术
https://blog.csdn.net/dillon2015/article/details/54290068 - CRC差错校验原理及实例
https://blog.csdn.net/qq_35409955/article/details/71698920 - 史上最通俗的海明码编码计算、检错和纠错原理解析
https://blog.csdn.net/lycb_gz/article/details/35976723