计组_深入理解校验码

0.校验原理

校验一般发生在通信过程中,由于一个信息在传输过程中容易遭受干扰而发生改变,所以接收方需要校验接受到的信息是否发生变化而错误。

加入需要传输A和B,使用两位二进制给它们编码,我们可以想出以下两种编码方式:

信息 A B
码字方案1 00 01
码字方案2 00 11

即用00代表A,01代表B,或者00代表A,11代表B。

这两种方案有什么区别呢?我们首先来了解一个概念,码距。码距指的是两个合法码字对应位上数字的不同位的个数。例如对于方案1里的A(00)和B(01),它们的码距就是1,因为00和01只有一位不一样。而对于方案2里的A(00)和B(11),码距就是2。

在方案1中,如果A的编码发生错误,变成01,那么就容易产生一个分歧,就是这个01到底是原本就是B,还是A得第二个位发生错误变成了01。但是对于方案2,如果A的编码发生错误,变成01,那么就容易知道A发生错误了,因为编码的码字里根本没有01这个选项。不难发现,码距大的方案更容易发现错误。这也是校验的原理。

1.奇偶校验码

奇校验保证一段数据中出现奇数个1。

举个例子,还是上面的传输A,B。采用方案一码字,则A就是00,B就是01。对于奇校验的情况,A中1的个数为0,偶数,所以在A前面补上一个1,A就变成100,对于B则不用加1,所以补0,就成了001,这个时候A、B的码距就变成2,码距变大,则检错能力增强。

2.海明校验码

3.循环冗余校验码

猜你喜欢

转载自blog.csdn.net/PecoHe/article/details/99697743
今日推荐