同理, 构成偶数监督关系:

以及 构成偶数监督关系:
(2)监督码的确定
在发送端编码时,信息码 的值决定于输入信号,是随机的。而监督 码 则应根据信息码的取值按监督关系式决定。即监督码的取值应使上三式 中 的值为0,表示编成的码组中无错码:

由上式移项解出监督码:(在模2加法中,移项后没有负号)

已知信息码后,直接按上式可算出监督码,计算结果得出16个码组列于表6-4中。
| 信息码 |
监督码 |
信息码 |
监督码 |
 |
 |
 |
 |
| 0000 |
000 |
1000 |
111 |
| 0001 |
011 |
1001 |
100 |
| 0010 |
101 |
1010 |
010 |
| 0011 |
110 |
1011 |
001 |
| 0100 |
110 |
1100 |
001 |
| 0101 |
101 |
1101 |
010 |
| 0110 |
011 |
1110 |
100 |
| 0111 |
000 |
1111 |
111 |
(3)解码过程
接收端收到每个码组后,按下述顺序解码。先按式(2-4)~(2-6)计算出 再按表6-3判断错误情况。例如,若接收码组为0000011,按式(2-4)~(2-6)计算得: , 由于 ,查表6-3可知有一错码为a3。 (4)汉明码的效率 汉明码的编码效率 η=1-r/n 当n很大时,效率是很高的。
2.5 循环码(CRC)
(1)循环码是一种重要的线性码,它有三个主要数学特征:
①循环码具有循环性,即循环码中任一码组循环一位(将最右端的码移至左端)以后,仍为 该码中的一个码组。
②循环码组中任两个码组之和(模2)必定为该码组集合中的一个码组。
③循环码每个码组中,各码元之间还存在一个循环依赖关系,b代表码元,则有

(2)用多项式码作为检验码的编解码过程
用多项式码作为检验码时,发送器和接收器必须具有相同的生成多项式(Generator Polynom ial)G(x),其最高、最低项系数必须为1。CRC编码过程是将要发送的二进制序列看作是多项 式的系数,除以生成多项式,然后把余数挂在原多项式之后。CRC译码过程是接收方用同一 生成多项式除以接收到的CRC编码,若余数为零,则传输无错。
编码译码方法:
①令r为生成多项式G(x)的阶,将r个“0”附加在信息(数据)元的低端,使其长度变为k+r 位,相应于多项式 ;
② ,得余数;
③ 与余数对应位异或,得编码信息T(x)。
例 数据信息
| 数据信息 |
1101011011 |
M(X) |
| 生成式 |
10011 |
G(X),R=4 |
| 加4个“0”之后 |
11010110110000 |
 |
/G(X) |
1110 |
余数 |
| 待发送的编码 |
11010110111110 |
T(X) |
④接收器收到发来的编码信息后,用同一个生成多项式G(x)除以编码信息,若余数为零, 则表示接收到正确的编码信息,否则有错。
⑤把收到的正确编码信息T(x)去掉尾部r位,即得数据信息M(x)。
(3)多项式码检错能力及生成多项式G(x)的选择原则
设接收到的信息不是发送的编码信息T(x),而是T(x)+E(x)。
例 有差错的编码信息为
1001001011 T(x)-E(x)=T(x)+E(x)
其中,1101011011 为T(x)
0100010000 为E(x)
若接收到的有差错的编码信息为T(x)+E(x),用G(x)除以T(x)+E(x),则得余数为E(x)/G(x) 的余数,因为T(x)/G(x)余数为零,所以
[T(x)+E(x)]/G(x)E(x)/G(x)
这时应该有余数,若无余数则检不出错。
有r位校验位的多项式码将能检测所有≤r位的突发错,故只要k-1<r,就能检测出所有突发 错,这是一个很有用的结论。
生成多项式G(x)的国际标准有:
| CRC-12 |
 |
| CRC-16 |
| CRC-CCITT |
CRC-16和CRC-CCITT两种生成多项式生成的CRC码可以捕捉一位错、二位错、具有奇数个错 的全部错误,可以捕捉突发错长度小于16的全部错误、长度为17的突发错的9999 8%、长度为18以上的突发错的99997%。CRC-16和CRC-CCITT可以用硬件实现。
(4)CRC编码硬件电路的实现
设 数据1010
多项式
生成多项式系数1011
多项式
系数1010000
多项式
余式系数011
多项式k(X)=X+1
CRC编码
信息组从高位端输入的CRC编码电路,如图6-6所示,其工作原理是:首先门1关闭,门2开 通,依次输入的信息元1010一面经或门H直接输出,同时送往除法电路进行除法运算。4次移 位后除法电路完成了运算,得余式系数为“011”,即为监督元。第5个移位脉冲开始门1 开通,门2关闭,断开了反馈,移位3次把移位寄存器中的3位余项作为监督元附在信息元后 面,发出的码字就是1010011,最后门1关闭,门2开通,对下一信息组再行编码。有关工作 过程见表6-5
表6-5 图6-6所示电路的工作过程
| 移动脉冲 |
输入 |
 |
输出 |
注 |
| (初始状态) |
|
000 |
 |
} |
门1关闭 |
| |
|
|
| 1 |
1 |
011 |
门2打开 |
| 2 |
0 |
110 |
| 3 |
1 |
100 |
} |
门1打开 |
| 4 |
0 |
011 |
| 5 |
0 |
110 |
门2关闭 |
| 6 |
0 |
100 |
| 7 |
0 |
000 |
2.6 RS码(Reed-Solomon-里德-索罗门码)
RS码是一种重要的线性分组编码方式。它对突发性错误有较强的纠错能力,被DVB标准采用 。
(1)在RS编码过程中,各符号不是直接出现,而是每个符号要乘以某个基本元素的幂次方后 再模2加,如图6-7所示。
(2)在循环码中欲检查是否有错是用码字除一个多项式,而在RS码中,欲检 出一系列误码则需要用码字除一定数量的一次多项式。如果要纠正七个错误,那么码字必须 被2t个不同的一次多项式整除,例如被x+an的一次多项式整除,这里的n取值直到2t的所 有整数值,a是基本元素,例如a为010,输入5个符号,每个符号3比特,与相应的元素相乘 后直接模2加输出,因为有两种系数,所以得到二个校检子,两个校验式为:

(3)下面举一个简单例子说明纠错过程在无差错时,S0=0,S1=0,有如下关系:
| 码字 |
A |
101 |
 |
式中 |
|
B |
100 |
 |
| C |
010 |
| D |
100 |
| E |
111 |
| P |
100 |
| Q |
100 |
= |
000 |
当接收到的符号有错时通过计算也可以得到与符号有关的错误图形,这时有错的 码加撇, 是错误图形,真正的D=D′+ =101+001=100。但错误的位置将由S1决定 ,这要利用 的关系。
| A |
101 |
 |
 |
| B |
100 |
| C |
010 |
| D |
101 |
| E |
111 |
| P |
100 |
| Q |
100 |
= |
001 |
校验子的增加导致纠错能力的加强,通过 的运算可以确定差错 的位子,并予以纠正。 尽管 都是同一个错误的不同图形,但因 次方的各接收符号模2加得 到的,而 的k恰好是乘 的那一个符号。
(4)RS码的生成多项式
从上面的例子可以看出,为了纠正一个符号错,要2个符号的检测码,一个用来确定位置, 一个用来纠错。一般来说纠t个错误需要2t个检验符,这时要计算2t个等式,确定t个位置和 纠t个错。能纠t个符号的RS码生成多项式为

按照DVB的CATV标准
RS码生成多项式为:

RS码为: RS(204,188,8)
即分组码符号长度为204个,188个信息符号,可纠错8个。
2.7 连环码(卷积码)
连环码是一种非分组码,通常它更适用于前向纠错法,因为其性能对于许多实际情况常优于 分组码,而且设备简单。 这种连环码在它的信码元中也有插入的监督码元但并不实行分组监督,每一个监督码元都要 对前后的信息单元起监督作用,整个编解码过程也是一环扣一环,连锁地进行下去。这种码 提出至今还不到三十年,但是近十余年的发展表明,连环码的纠错能力不亚于甚至优于分组 码。这一小节只介绍一种最简单的连环码,以便了解连环码的基本概念。 图6-8是连环码的一种最简单的编码器。它由两个移位寄存器,一个模2加法器及一个电 子开关组成。工作过程是:移位寄存器按信息码的速度工作,输入一位信息码,电子开关倒 换一次,即前半拍接通a端,后半拍接通b端。因此,若输入信息为 ,则 输出连环码为 …,其中“b”为监督码元。按图6-8 结构可得:
 |
}模2 |
可见,这个连环码的结构是:“信息码元某、监督码元、信息码元、监督码元…。”一个信息 码与一个监督码组成一组,但每组中的监督码除了与本组信息码有关外,还跟上一组的信息 码有关,或者用另一种说法,每个信息码除有本组监督码外,还有下一组的监督码与它有关 系。因此,这种编码就像一根链条,一环扣一环,连环码即由此得名。 在解码过程中,首先将接收到的信息码与监督码分离。由接收到的信息码再生监督码,这个 过程与编码器相同,再将此再生监督码与接收到的监督码比较,判断有无差错。分布在相 邻的三组码内可纠正一位差错。
2.8 交织法
交织法的原理见图6-9。在发送端,编码序列在送入信道传输之前先通过一个“交织寄 存器矩阵。”将输入序列逐行(即按 的次 序)存入寄存器矩阵,存满以后,按列的次序(即 )取出 ,再送入传输信道。接收端收到后先将序列存到一个与发端相同的交织寄存器矩阵,但按 列的次序存入,存满以后,按行的次序取出然后送进解码器。由于收发端存取的程序正好相 反,因此,送进解码器的序列与编码器输出的序列次序完全相同,解码器丝毫感觉不出交织 矩阵的存在与否。
假设交织矩阵每行的寄存器数目N正好等于分组码的码长,传输过程中产生的成群差错长度 ,亦正好等于交织矩阵每列寄存器的数目M。图6-10表明,由于交织措施,送入解码器的 差错被分解开了,每组只分配到一个。因此,如果所采用的分组码能纠正一差错;那么长度 为M的成群差错就可全部纠正,可见,交织法结合纠正离散差错的简单编码就可完成纠正群 差错的任务。 |