微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
1、奇偶监督码(parity check)
奇偶监督码分为奇数监督码和偶数监督码,两者原理相同。
利用“⊕模2和”进行检错,适用于检测随机错码。
(1)偶数监督码
在偶数监督码中,无论信息位多少,监督位只有1位,使码组中“1”的数目为偶数,即满足:
an-1⊕an-2⊕……⊕a0=0
a0为监督位,其他位为信息位
在接收端,按照上述公式求“模2和”
若计算结果为“1”表示存在错码
若计算结果为“0”表示无错码
(2)奇数监督码
在奇数监督码中,无论信息位多少,监督位只有1位,使码组中“1”的数目为偶数,即满足:
an-1⊕an-2⊕……⊕a0=1
a0为监督位,其他位为信息位
在接收端,按照上述公式求“模2和”
若计算结果为“0”表示存在错码
若计算结果为“1”表示无错码
2、二维奇偶监督码(two dimensional)
二维奇偶监督码又称为方阵码。
把奇偶监督码的若干码组,每个写成一行,然后再按照列的方向增加第二维监督位。
每一行的最后一位代表该行的监督位,每一列的最底下一位代表该列进行第二次编码所增加的监督位。
方阵码适用于检测突发错码。突发错码常常成串出现,随后有较长一段无措区间,在某一行中出现多个奇数或偶数错码的机会较多。
由于方阵码只对构成矩形四角的错码无法检测,检错能力较强,可使误码率降至原误码率的1/100到1/10000。
3、恒比码
在恒比码中,每个码组均含有相同数目的“1”和“0”。由于“1”的数目和“0”的数目之比保持恒定,故称为恒比码。
检测过程中,只要计算接收码组中“1”的数目是否对,即可判断有无错码。
恒比码的主要优点在于简单,适用于来传输电传机或其他键盘设备产生的字母和符号。
4、正反码
正反码是一种简单的能够纠正错误的编码,其中的监督位数目和信息位数目相同,监督码元与信息码元相同或者相反,由信息码中“1”的个数来确定。
若码长n=10,其中信息位k=5,监督位r=5,其编码规则为:
①当信息位中奇数个“1”时,监督位是信息位的简单重复;
②当信息位中偶数个“1”时,监督位是信息位的反码。
例如:
信息位为11001,码组为1100111001;
信息位为10001,码组为1000101110。
接收端解码规则:
①现将接收码组中信息位和监督位按“模2”相加,得到一个5位的合成码组;
②由合成码组产生一个校验码组。若接收码组的信息位中有奇数个“1”,则合成码组就是校验码组;若接收码组的信息位中有偶数个“1”,则取合成码组的反码作为校验码组;
③观察校验码组中“1”的个数,按照规则进行判决和纠正可能发现的错码。
一个编码示例:
①发送码组为1100111001,接收码组中无错码,则合成码组为11001⊕11001=00000。由于接收码组信息位中有奇数个“1”,校验码组为00000,按判决规则可知:无错码。
②若传输过程中发送差错,接收码组变成1000111001,则合成码组为10001⊕11001=01000。由于接收码组信息位中有偶数个“1”,校验码组为10111。按判决规则,校验码组有4个“1”和1个“0”,确定:信息码中有1位错码,其位置对应校验码组“0”的位置,也就是信息码左边第二位为错码,可对其进行取反纠错。
③若传输过程中发送差错,接收码组变成1100101001,则合成码组为11001⊕01001=10000。由于接收码组信息位中有奇数个“1”,校验码组为10000。按判决规则,校验码组有4个“0”和1个“1”,确定:监督码中有1位错码,其位置对应校验码组“1”的位置,也就是监督码左边第一位为错码,可对其进行取反纠错。
④若传输过程中发送差错,接收码组变成1001111001,则合成码组为10011⊕11001=01010。按判决规则,可知错码多余一个。