《消防安全大排查大整治活动统计表1ppt课件》由会员分享,可在线阅读,更多相关《消防安全大排查大整治活动统计表1ppt课件(166页珍藏版)》请在金锄头文库上搜索。
1、第六章第六章 信信 道道 编 码在通讯系统中,要提高信息传输的有效性,我们将信源的输出经过信源编码用较少的符号来表达信源音讯,这些符号剩余度很小,效率很高,但对噪声干扰的抵抗才干很弱。 信息传输要经过各种物理信道,由于干扰、设备缺点等影响,被传送的信源符号能够会发生失真,使有用信息蒙受损坏,接纳信号呵斥误判。这种在接纳端错误地确定所接纳的信号叫做过失。 为了提高信息传输的准确性,使其具有较好的抵抗信道中噪声干扰的才干,在通讯系统中需求采用专门的检、纠错误方法,即过失控制。 过失控制的义务是发现所产生的错误、并指出发生错误的信号或者校正错误,过失控制是采用可靠、有效的信道编码方法来实现的。 信道
2、编码器要对信源编码输出的符号进展变换,使其尽量少受噪声干扰的影响,减少传输过失,提高通讯可靠性。 本章要讨论的问题是在符号遭到噪声干扰的影响后,如何从接纳到的信号中恢复出原送入信道的信号、确定过失概率是多少等等。 本章首先讨论信道编码的根本概念和分类,在此根底上再讨论两类主要的信道编、译码方法,即线性分组码与卷积码。 6.1 6.1 信道编码的概念信道编码的概念 进展信道编码是为了提高信号传输的可靠性,改善通讯系统的传输质量,研讨信道编码的目的是寻觅详细构造编码的实际与方法。 在实际上,香农第二定理已指出,只需实践信息传输率 (信道容量),那么无过失的信道编、译码方法是存在的。从原理上看,构造
3、信道码的根本思绪是根据一定的规律在待发送的信息码元中人为地参与一定的多余码元(称为监视码),以引入最小的多余度为代价来换取最好的抗干扰性能。 6.1.1 信道编码的分类信道编码的分类 由于实践信道存在噪声和干扰,使发送的码字与信道传输后所接纳到的码字之间存在过失。在普通情况下,信道中噪声或干扰越大,码字产生过失的概率也就越大。有些实践信道既有独立随机过失也有突发性成串的过失,这种信道称混合过失信道,实践的挪动信道属于此类信道。 对不同的信道需求设计不同类型的信道编码方案,按照信道特性进展划分,信道编码可分为:以纠独立随机过失为主的信道编码、以纠突发过失为主的信道编码和纠混合过失的信道编码。 从
4、功能上看,信道编码可分为检错(可以发现错误)码与纠错(不仅能发现而且能自动纠正)码两类,纠错码一定能检错,检错码不一定能纠错,平常所说的纠错码是两者的统称。 根据信息码元与监视码元之间的关系,纠错码分为线性码和非线性码。线性码信息码元与监视码元之间呈线性关系,它们的关系可用一组线性代数方程联络起来。非线性码信息码元与监视校元之间不存在线性关系。 按照对信息码元处置的方法的不同,纠错码分为分组码和卷积码。 分组码-把信息序列以每 个码元分组,然后把每组 个信息元按一定规律产生 个多余的监视码元,输出序列每组长为 ,那么每一码字的 个校验元只与本码字的 个信息位有关,与别的码字的信息位无关,通常记
5、分组码为 。 其中分组码又可分循环码和非循环码:对循环码而言,其码书的特点是,假设将其全部码字分成假设干组,那么每组中任一码字中码元循环移位后仍是这组的码字;对非循环码来说,任一码字中的码元循环移位后不一定再是该码书中的码字。 卷积码-把信息序列以每 (通常较小)个码元分段,编码器输出该段的监视码元 不但与本段的 个信息元有关,而且还与其前面L段的信息码元有关,故记卷积码为 。 按照每个码元的取值来分,可有二元码和多元码。由于目前的传输或存储系统大都采用二进制的数字系统,所以普通提到的纠错码都是指二元码。 综上所述,纠错码分类如图6.1.1所示。 图6.1.1 纠错码的分类 6.1.2 与纠错
6、编码有关的根本概念与纠错编码有关的根本概念 在通讯系统的接纳端,假设接纳到的音讯序列 和发送的码符号序列 不一样,例如 ,而 , 与 中有两位不同,即出现两个错误,这种错误是由信道中的噪声干扰所引起的。 为了阐明如何描画这种错误及相应编码方法的性质,我们先引见一些根本概念。(1)码长、码重和码距 码字中码元的个数称为码字的长度,简称码长,用 表示。码字中非“0码元的个数称为码字的汉明分量(简称码重,记作 )。对二进制码来说,码重 就是码字中所含码元“1的数目,例如码字“110000,其码长 ,码重两个等长码字之间对应码元不一样的数目称为这两个码组的汉明间隔(简称码距)。例如码字“110000与
7、“100001,它们的汉明间隔 。 在某一码书 中,恣意两个码字之间汉明间隔的最小值称为该码的最小间隔 ,即: 例如:码组 的最小码距 。从防止码字受干扰而出错的角度出发,总是希望码字间有尽能够大的间隔,由于最小码距代表着一个码组中最不利的情况,从平安出发,应运用最小码距来分析码的检错、纠错才干。因此,最小码距是衡量该码纠错才干的根据,是非常重要的一个参数。 (2) 错误图样在二元无记忆 次扩展信道中,过失的方式也可以用二元序列来描画。设发送码字为 ,接纳码字为 ,两者的差别: 称为错误图样。如错误图样中的第 位为“1( ),那么阐明传输过程中第 位发生了错误。 例如: ,而 ,那么 ,可知接
8、纳的音讯序列 中的第“2位和第“6位出现了错误。 (3) 反复码和奇偶校验码 前面已述信道编码的义务是构造出以最小多余度的代价换取最大抗干扰性的“好“码。下面,从直观概念出发,阐明多余度与抗干扰性能的关系,引见两种极端情况:一是高可靠性,低有效性的反复码;二是高有效性,低可靠性的奇偶校验码。反复码 构成反复码的方法是当发送某个信源符号 时,不是只发一个,而是延续重发多个,延续重发的个数越多,反复码的抗干扰才干就越强,当然效率也越低。 不反复时为(1,1)反复码,如图6.1.2所示: 图6.1.2 发送码元不反复 对这种情况可得结论:不反复,方法简单,但没有任何抗干扰才干,既不能发现,更不能纠正
9、错误。反复一次时为(2,1)反复码,如图6.1.3所示: 图6.1.3 发送码元反复一次 对这种情况可得结论:重发一次,效率降低一倍,可以换取在传输过程中允许产生一个错误(收端能发现它),但不能纠正这个错误。 反复二次时为(3,1)反复码,如图6.1.4所示: 图6.1.4 发送码元反复二次 (3,1)反复码用“000来代表信息“0,用“111来代表信息“1,码本中共有两个码字。 显然,所添加的两位码元并不会添加信息,是多余的,因此使信息传输率降低。此外,除了传送信息的“000和“111两种组合之外,还有六种组合001,010,011,100,101,110没有利用。当信道上信噪比足够大时,我
10、们可以以为码字中产生的错误普通不多于一个码元,那么,假设接纳到“001、“010、“100,我们就可断定实践传输的是“000;同样,如接纳到“011、“101、“110,那么可断定为“111。因此多余码元使我们可检出一个错,并且还可纠正这个错误,这样就提高了信息传输的可靠性。 对这种情况可得结论:重发二次,效率降低二倍,但换取了可纠正一个过失或发现两个过失的性能改善。 2) 奇偶检验码 奇偶校验是一种最根本的校验方法。构成奇偶检验码的方法是在每 个二进制信息位后加上一个奇(偶)监视位(或称校验位),使码长 ,同时使码中“1的个数恒为奇数(或偶数),如图6.1.5所示。在奇偶校验码中,监视位 ,
11、它是一种码重 为奇数(或偶数)的系统分组码。图6.1.5 奇偶校验码 奇偶校验又可以分为奇校验和偶校验。其规那么如下:奇校验-假设信息码元中“1值的个数为奇数个,那么校验码元值为“0;假设信息码元中“1值的个数为偶数个,那么校验码元值为“1。即一切信息码元与校验码元的模二和等于“1。 偶校验-假设信息码元中“1值的个数为偶数个,那么校验码元值为“0;假设信息码元中“1值的个数为奇数个,那么校验码元值为“1。 即一切信息码元与校验码元的模二和等于“0。 根据奇偶校验的规那么,校验位值确实定方法如表6.1.1所示。 表6.1.1 奇偶校验规那么表 校验方式信息位中“1”值的个数校验位值奇校验奇数个
12、0偶数个1偶校验偶数个0奇数个1例如,在七位信息码中,字符A的代码为1000001,其中有两位码元值为“1。假设采用奇校验编码,由于这个字符的七位代码中有偶数个“1,所以校验位的值应为“l,其8位组合代码为:10000011,前7位是信息位,最右边的1位是校验位。同理,假设采用偶校验,可得奇偶校验位的值为“0,其8位组合代码为:10000010。这样在接纳端对码字中“1的个数进展检验,如有不符,就可断定发生了过失。在接纳端进展校验时,如采用奇校验编码,当接纳到的字符经检测其八位代码“l的个数为奇个数时,那么被以为传输正确;否那么就被以为传输中出现过失。然而,假设在传输中有偶数位出现过失,用此方
13、法就检测不出来了。 所以,奇偶校验方式只能检测出位代码中出现的恣意奇数个错误,假设代码中错码数为偶数个,那么奇偶校验不能奏效。由于奇偶校验码容易实现,所以当信道干扰不太严重以及码长不很长时很有用,特别是在计算机通讯网的数据传送中经常运用这种检错码。奇偶校验编码假设是在一维空间上进展,那么是简单的“程度奇偶校验或“垂直奇偶校验码,假设是在二维空间上进展,那么是“程度垂直奇偶校验码。 垂直奇偶校验 在垂直奇偶校验编码中,先将整个要发送的信号序列划分生长度为的假设干个组,然后对每组按码元中“1的个数为奇数或偶数的规律,在其后附加上一位奇偶校验位,如表6.1.2所示。 表6.1.2中将70个码元组成的
14、信号序列划分生长度为7的10个组,每组按顺序一列一列地陈列起来,然后对垂直方向的码元进展奇偶校验(假设采用偶校验),得到一行校验位,附加在其他各行之后,然后按列的顺序进展传输。 码元位分组1234567891011000111001201101000113000101110041000100000500011011016011100100070110101001偶校验位0111101010表6.1.2 垂直奇偶校验 在垂直奇偶校验编码和校验过程中,用硬件方法或软件方法来实现上述延续的奇偶校验运算都非常容易,而且在发送时可以边发送边产生校验位,并插入发送,在接纳时边接纳边进展校验后去掉校验位。
15、垂直奇偶校验方法的编码效率为: 这种奇偶校验方法能检测出每个分组中的一切奇数位的错,但检测不出偶数位的错。对于突发性错误,由于出错码元为奇数个或偶数个的概率各占一半,因此对过失的漏检率接近于1/2。 程度奇偶校验 为了降低对突发错误的漏检率,可以采用“程度奇偶校验,它是以分组为单位,对一组中的一样位的码元进展奇偶校验。在程度奇偶校验中,把信号序列先以适当的长度划分成个组,每组位码元,并把每组按顺序一列一列地陈列起来,如表6.1.3所示 然后对程度方向的码元进展奇偶校验,得到一列校验位,附加在其他各列之后,最后按列的顺序进展传输。表中的信号序列共分成10个组,每组有7个码元。传输时按列的顺序先传
16、送第l组,再传送第2组,最后传送第11列即校验位列(本例采用偶校验)。因此,在信道中传送的二进制信号序列为:100100001000111101101。 码元位分组偶校验位12345678910110001110011201101000111300010111000410001000000500011011011601110010000701101010011表6.1.3 程度奇偶校验 程度奇偶校验的编码效率是:程度奇偶校验不但可以检测各组同一位上的奇数位错,而且可以检测出突发长度小于或等于(每组的码元数)的一切突发性错误(突发性错误是指一连串的码元均出错),由于传输时按组的顺序发送,发生长度
17、小于或等于的突发性错误必然分布在不同行中,每行最多只需一位出错,所以可以检出过失。 程度奇偶校验的漏检率比垂直奇偶校验码要低。但是,在实现程度奇偶校验时,不论采用硬件方法还是软件方法,都不能在发送过程中边产生边插入奇偶校验位,而必需等待要发送的完好数据信号序列到齐后,才干确定校验位,也就是要运用一定的存储空间。因此,其编码和检测的实现都要复杂一些。 程度垂直奇偶校验 同时进展程度奇偶校验和垂直奇偶校验就构成二维的“程度垂直奇偶校验码,如表6.1.4所示。 其详细实现过程是:先将整个欲发送的信号序列划分生长度为的假设干个组;然后对每个组按码元中“1的个数为奇或偶数的规律,在其后附加上一位奇偶校验
18、位(表中采用偶校验);再对每个字符的一样位按“1的个数为奇或偶数的规律,添加一个校验位(表中采用偶校验)。 码元位分组偶校验位12345678910110001110011201101000111300010111000410001000000500011011011601110010000701101010011偶校验位01111010100表6.1.4 程度垂直奇偶校验 程度垂直奇偶校验的编码效率为:这种方法能检测出一切3位或3位以下的错误,由于在这种情况下,至少会在某一行或某一列上出现一位错,这时错误就能被检测到;还能检测出奇数位错、突发长度小于或等于的突发性错以及很大一部分偶数位错。一
19、些实验丈量阐明,这种方式的编码可使误码率降至原始误码率的百分之一到万分之一。另外,程度垂直奇偶校验不仅可检错,还可用来纠正部分过失。 上述奇偶校验码中,程度奇偶校验码、垂直奇偶校验码是单纯检错码,而程度垂直奇偶校验码那么还具有有限的纠错才干,但多数情况下只用于检错。 6.1.3 检错与纠错原理检错与纠错原理 检错、纠错的目的是要根据信道接纳端接纳到的信息序列 来判别 能否就是发送的序列,假设有错那么尽能够纠正其中的错误。要纠正传输过失,首先必需检测出错误。而要检测出错误,常用的方法是将发送端要传送的信息序列(常为二进制序列)中截取出长度相等的码元进展分组,每组长度为k,组成k位码元信息序列 ,
20、并根据某种编码算法以一定的规那么在每个信息组的后面产生 个冗余码元,由冗余码元和信息码元一同构成“ 位编码序列,即信号码字 , 位的码字比信息码长(有 个码元),因此纠错编码是冗余编码,如图6.1.6所示。 图6.1.6 纠错编码 译码就是利用校验关系进展检错、纠错的,在接纳端收到的位码字中,信息码元与冗余码元之间也应符合上述编码规那么,并根据这一规那么进展检验,从而确定能否有错误。这就是过失控制的根本思想。 我们把这种将信息码元分组,为每组码附加假设干校验码的编码称为分组码。在分组码中,校验码元仅校验本码组中的信息码元。分组码普通用符号 表示,其中 是每组二进制信息码元的数目,是编码组的长度
21、(简称码长),即编码组的总位数, 为每码组中的校验码元(或称监视位)数目。 通常,将分组码规定为具有如图6.1.7所示的构造。图中前面 位( )为信息位,后面附加 个( )校验位。图6.1.7 分组码的构造 实现检纠错常用的根本方法除了前面引见的 反复码方法和奇偶校验方法外,还有等重码(或定比码)方法:奇偶校验方法。添加偶(或奇)校验位使得对音讯序列 而言校验方程成立,当校验位数添加时,可以检测到过失图样的种类数也添加,但同时码率减小。 反复反复码方法。反复音方法。反复音讯位使之可以位使之可以检测出恣意小于出恣意小于 个个过失的失的错误图样。等重等重码方法。方法。设计码字中的非字中的非“0符号
22、个数符号个数(假假设是二是二进制制码那么那么为“1的个数的个数)恒恒为常数,使常数,使码书 由全体分量恒等的由全体分量恒等的 长矢量矢量组成。表成。表6.1.5所示所示为一种用于表示数字一种用于表示数字“0到到“9的五中取三等重的五中取三等重码(一切一切码字的字的码重都等于重都等于“3)的例子。的例子。 表表6.1.5 五中取三等重五中取三等重码 显然五中取三等重然五中取三等重码可以可以检测出全部奇数位出全部奇数位过失,失,对某些某些码字的字的传输那么可以那么可以检测出部分偶数位出部分偶数位过失。失。 1234567890010111100110110110100011110101111000
23、11101001101101对于纠错码,其抗干扰才干完全取决于码书C中许用码字之间的间隔。码的最小间隔越大,那么码字间的最小差别越大,抗干扰才干就越强,即受较强的干扰仍不会呵斥许用码字之间的混淆。 过失控制编码是用添加码元数,利用“冗余来提高抗干扰才干的,即是以降低信息传输速率为代价来减少错误的,或者说是用减弱有效性来加强可靠性的。6.1.4 检错与纠错方式和才干检错与纠错方式和才干 (1)检错与纠错方式 (2)自动恳求重发方式-用于检错的纠错码在译码器输出端给出当前码字传输能否能够出错的指示,当有错时按某种协议经过一个反向信道恳求发送端重传已发送的全部或部分码字,这种纠错码的运用方式称为自动
24、恳求重发方式(ARQ,Automatic-Repeat-reQuest)。(3)前向纠错方式-用于纠错的纠错码在译码器输出端总要输出一个码字或能否出错的标志,这种纠错码的运用方式称为前向纠错方式(FEC,Forward-error control)。(4)另外用于检错与纠错的方式还有混合纠错(HEC,Hybrid Error Correction)。(5)图6.1.8所示为上述几种检错与纠错方式表示图,图中有斜线的方框表示在该端检出错误。 图6.1.8 过失控制的任务方式 ARQ方式:发送端用编码器对发送数据进展过失编码,经过正向信道送到接纳端,而接纳端经译码器处置后只是检测有无过失,不作自动
25、纠正。如检测到过失,那么利用反向信道反响信号,恳求发送端重发有错的数据单元,直到接纳端检测不到过失为止。 FEC方式:发送端用编码器对发送数据进展过失编码,在接纳端用译码器对接纳到的数据进展译码后检测有无过失,经过按预定规那么的运算,如检测到过失,那么确定过失的详细位置和性质,自动加以纠正,故称为“前向纠错。 HEC方式:是检错重发和前向纠错两种方式的混合。发送端用编码器对发送数据进展便于检错和纠错的编码,经过正向信道送到接纳端,接纳端对少量的接纳过失进展自动前向纠正,而对超出纠正才干的过失那么经过反响重发方式加以纠正,所以是一种纠检结合的混合方式。(2) 检错与纠错才干 一个纠错码的每个码字
26、都可以构成一个汉明球,因此要可以纠正一切不多于 位的过失,纠错码的一切汉明球均应不相交,断定纠错码的检、纠错才干可根据恣意两个汉明球不相交的要求,由码的最小间隔 来决议。 定理6.1.1 假设纠错码的最小间隔为 ,那么如下三个结论的任何一个结论独立成立: 假设要发现个独立过失,那么要求最小码距 ; 假设要纠正个独立过失,那么要求最小码距 ; 假设要求发现个同时又纠正个独立过失,那么;这里说的“同时是指在译码过程中,假设错误个数 ,那么能纠正;假设错误个数 ,但 ,那么能检测 这些错误,但不能纠正。或者说能检测个错误,其中 个错误可以纠正。其直观的关系如图6.1.9所示。 (a) 纠错才干的几何
27、阐明 (b) 检错才干的几何阐明 (c) 区分纠错和检错的表示图 (d) 检错、纠错才干与最小码距的关系图6.1.9 最小码距与检错、纠错才干 图6.1.9(c)中,粗线球面(圆)是纠正 个错误的球面,细线球面(圆)代表检出 个错误的球面。当接纳码字 中不包含错误或错误 ,将落在粗线球内或球上,因此可把 纠正为原发送的码字,当接纳码字 包含 个而 个错误时,不会落在任何码字的纠错球内,但此时代表纠错范围的粗线球面与另一码字的代表检错范围的细线球面没有相交或相切,于是可将纠错和检错区分开来。 当码的最小码距为3或4时,可以纠正一切1位错。 当码的最小码距为5时,可以纠正一切2位错。 当码的最小码
28、距为时,可以纠正一切 位错。 定理6.1.1阐明,码的最小间隔 越大,码的纠(检)错误的才干越强。但是,随着多余码元的增多,信息传输速率会降低得越多。通常用 来表示码字中信息码元所占的比例,称为编码效率,简称码率,它是衡量码性能的又一个重要参数。码率越高,信息传输率就越高,但此时纠错才干要降低,假设 时就没有纠错才干了。可见,码率与纠错才干之间是有矛盾的。 6.2 6.2 线性分组码线性分组码 线性分组码是纠错码中非常重要的一类码,虽然对于同样码长的非线性码来说线性码可用码字较少,但由于线性码的编码和译码容易实现,而且是讨论其他各类码的根底,至今仍是广泛运用的一类码。6.2.1 线性分组码的根
29、本概念线性分组码的根本概念 定义6.2.1 对信源编码器输出的 进制序列进展分组,设分组长度为 ,相应的码字表示为: 其中:每个码元 都是 进制的,显然这样的码字共有 个。信道编码(纠错编码)的目的是将信息码字 进展变换,使其成为以下方式: 其中: , 为 进制数,显然这样的码字共有 个。我们称全体码字 的集合为 元分组码。假设由 到 之间的变换为线性变换,那么称全体码字 的集合为 元线性分组码,常用 线性分组码 来表示全体码字 的集合。 例6.2.1 设将信源编码器输出的二进制序列进展分组,分组长度为 ,相应的码字表示为: ,这里 是二进制的,即 。这样的码字共有两个,即“1和“0。现将 进
30、展变换,变换规那么为: 因此,构成的纠错码具有以下方式: 。由于 只取“0或“l,所以 的全体码字只需两个:长为 的全“0或全“l序列。即经过上述变换,得到了 反复码。 例6.2.2 设信源编码器输出的信息序列为 ,其中 :是二进制数。信道编码器输出的码字为 ,其中 :也是二进制数。假设从 到 的变换规那么为:由于从 到 的变换是一种线性变换,所以全体 的集合构成了种 线性分组码。 由本例可以看出,变换后码字集合中每一个码字的一切码元之和为:由于假设了码为二进制码,上述码元的和是模2和。因此,变换后将每一个码字的码元全部加起来,它的模2和为“0,即每一个码字中“1的个数为偶数个,所以这种码为偶
31、校验码。 例6.2.3 分组码,按以下的规那么(校验方程)可得到四个校验元: 式中: 是三个信息码元,方程中的加运算均为模2加。由此可得到 分组码的八个码字。八个信源序列与八个码字的对应关系列于表6.2.1中。由校验方程看到,信息码元与校验码元满足线性关系,因此该 码是线性码。 表6.2.1 例6.2.3编出的 线性码的码字与信息码元的对应关系 信息码元码字0 0 00 0 0 0 0 0 00 0 10 0 1 1 1 0 10 1 00 1 0 0 1 1 10 1 10 1 1 1 0 1 01 0 01 0 0 1 1 1 01 0 11 0 1 0 0 1 11 1 01 1 0 1
32、 0 0 11 1 11 1 1 0 1 0 0对于线性分组码有一个非常重要的结论:一个 线性分组码中非零码字的最小分量等于该码的最小间隔 。 证明 设有恣意两个码字 。根据线性分组码的性质,有 。而 的码重等于 的码距 。即: 而 是C中恣意两个非全零码字,所以: 证毕 由例6.2.3 线性码的八个码字可见,除全零码字外,其他七个码字最小分量 ,所以该 线性码的最小间隔 。 6.2.2 生成矩阵和一致校验矩阵生成矩阵和一致校验矩阵 从矢量空间的角度,形形色色的编码方法本质上是采用了不同的基底选择方法及矢量映射规那么而构成的。基底的选择与映射规那么均可用矩阵来表示,因此在线性分组码的讨论中就有
33、了生成矩阵和一致校验矩阵的概念。生成矩阵 在讨论生成矩阵之前,我们再看例6.2.3的 线性分组码。该码所满足的校验方程可写成矩阵方式: 式中称线性分组码的生成矩阵。 定义6.2.2 假设信息组以不变的方式,在码字的恣意 位中出现,那么该码称为系统码。否那么,称为非系统码。 目前常用的有两种方式的系统码:一种是把信息组排在码字 的最左边 位: ,式(6.2.2)就是这种方式,假设非特别阐明,我们后面所说的系统码均指这种方式。 另一种是把信息组安顿在码字 的最右边 位: 。 可以产生系统码的生成矩阵为典型矩阵(或称规范阵),典型矩阵的最大优势是便于检查生成矩阵 的各行能否是线性无关。假设 不具有规
34、范型,虽能产生线性码,但码字不具备系统码的构造,因此存在难以区分码字中信息码元和监视码元的缺陷。由于系统码的编码与译码较非系统码简单,而且对分组码来说,系统码与非系统码的抗干扰才干是等价的,故假设无特别声明,我们仅讨论系统码。假设生成矩阵 为非规范型的,可经过行初等变换变成规范型。(2) 一致校验矩阵 从前面的讨论我们知道,编码问题就是在给定的 下如何从知的 个信息码元求得 个校验码元。 普通可写成: 或 式(6.2.3)阐明, 中各码元是满足由矩阵 所确定的个线性方程的解,故 是码书 中的一个码字,由 的全体就构成了码书 ;反之,假设某码元序列满足由 所确定的 个线性方程,那么该码元序列一定
35、是码书 中的一个码字。 因此, 一定,便可由信息码元求出校验码元,编码问题就迎刃而解;或者说,要处理编码问题,只需找到 即可。由于 码的一切码字均按所确定的规那么求出,故称 为其一致校验矩阵。 综上所述,我们将 矩阵的特点归纳如下: 矩阵的每一行代表一个线性方程的系数,它对应求一 个校验码元的线性方程。 矩阵每一列代表此码元与哪几个校验方程有关。 由该 矩阵得到的 分组码的每一码字 都必需满足 由 矩阵的行所确定的线性方程,即式(6.2.3)或式 (6.2.4)。 码需有 个校验码元,故需有 个独立的线性方程。因此, 矩阵必需有 行,且各行之间线性无关,即 矩阵的秩为 。 由于生成矩阵 中的每
36、一行及其线性组合都是 码中的一个码字,故有: 或 由例6.2.3不难看出, 码的 矩阵右边为一个四阶单位矩阵。通常,系统型 线性分组码的 矩阵右边 列组成一个单位矩阵 ,故有: 式中 是一个 阶矩阵。我们称这种方式的 矩阵为典型矩阵(或规范矩阵),同样,采用典型矩阵方式的 矩阵更易于检查各行能否线性无关。 由式(6.2.5)易得: 由此关系可知 或 这阐明, 的第一行就是 的第一列, 的第二行就是 的第二列,因此, 矩阵一旦确定,那么 矩阵也就确定,反之亦然。 (3) 线性分组码的编码 线性分组码的编码就是根据一致校验矩阵 或生成矩阵 将长度为 的信息码元变换生长度为 的码字。这里以 线性分组
37、码为例来阐明构造编码电路的方法。例6.2.4 设二元码字为 ,码的一致校验矩阵 为: 由 得: 按照该线性方程组,可直接画出 线性分组码的并行编码电路和串行编码电路,如图6.2.1所示。 (a) 并行编码电路 (b) 串行编码电路图6.2.1 线性分组码编码电路原理图 (4) 对偶码和缩短码 我们曾经讨论了 线性分组码的生成矩阵 与其对应的一致校验矩阵 ,假设把 码的一致校验矩阵看成是 码的生成矩阵,将 码的生成矩阵看成是 码的一致校验矩阵,那么称这两种码互为对偶码。 例6.2.6 求例6.2.3所述 码的对偶码。 显然, 码的对偶码应是 码,由对偶码的定义得, 码的 矩阵就是 码的 矩阵,将
38、其化成规范方式后即可按式(6.2.1)得到 码的对偶码 码,如表6.2.2所示。 表6.2.2 例6.2.3线性码的对偶码 信息码元码字信息码元码字0 0 0 00 0 0 0 0 0 01 0 0 01 0 0 0 1 0 10 0 0 10 0 0 1 0 1 11 0 0 11 0 0 1 1 1 00 0 1 00 0 1 0 1 1 01 0 1 01 0 1 0 0 1 10 0 1 10 0 1 1 1 0 11 0 1 11 0 1 1 0 0 00 1 0 00 1 0 0 1 1 11 1 0 01 1 0 0 0 1 00 1 0 10 1 0 1 1 0 01 1 0
39、11 1 0 1 0 0 10 1 1 00 1 1 0 0 0 11 1 1 01 1 1 0 1 0 00 1 1 10 1 1 1 0 1 01 1 1 11 1 1 1 1 1 1 在有些情况下,假设对某一给定长度的信息码元找不到适宜码长的码,那么可将某一 码缩短以满足要求。例如,在 线性分组码的码字集合中将最左边一位为“0的音讯和对应的码字选出来,并把音讯中最左边的“0去掉,那么可构成 线性分组码,这种码称为缩短码。如表6.2.3所示。表6.2.3 例6.2.3线性码的缩短码 信息码元码字0 00 0 0 0 0 00 10 1 1 1 0 11 01 0 0 1 1 11 11 1
40、 1 0 1 06.2.3 线性分组码的译码线性分组码的译码 只需找到 矩阵或 矩阵,便处理了编码问题。经编码后发送的码字,由于信道干扰能够出错,接纳方怎样发现或纠正错误呢,这就是译码要处理的问题。 定义6.2.3 设 码的一致校验矩阵为 , 是发送码字为 时的接纳序列,那么称: 为接纳序列 的伴随式或校正子。 伴随式 是一致校验矩阵 的线性组合,假设错误图样中有一些分量不为“0,那么在 中正好就是 中不为“0的那几列组合而成。由于 是 维的列向量,所以伴随式 也是一个 维向量。 由上面的分析,可得如下结论: 从式(6.2.7)可知伴随式 仅与错误图样 有关,它充分反映了信道受干扰的情况,而与
41、发送的是什么码字无关。 伴随式是能否有错的判别式,假设 ,那么判没有出错;假设 ,那么判有错。 不同的错误图样具有不同的伴随式,它们是一一对应的,对二元码来说,伴随式即为 矩阵中与错误图样对应的各列之和。 留意,假设错误图样 本身就是一个码字,即 码,那么计算伴随式 得到的结果必为“,此时的错误不能发现,也无法纠正,因此这样的错误图样称为不可检错误图样。 例6.2.7 计算例6.2.3所述 码接纳 时的伴随式。 解: 码的一致校验矩阵为: 当接纳时,接纳端译码器根据接纳序列计算的伴随式为: 因此,译码器判别接纳序列无错,传输中没有发生错误。 当接纳时,接纳端译码器根据接纳序列计算的伴随式为:
42、由于 ,所以译码器判别接纳序列有错,传输中有错误发生。 码是纠正单个错误的码,察看 即为 的第二行,因此可断定接纳序列 的第二位发生了错误。由于接纳序列中错误个数与码的纠错才干相符,所以可正确译码,即发送码字应为 。 当接纳 时,接纳端译码器根据接纳序列计算的伴随式 为: ,但与 的任何一列都不一样,无法判别错误发生在哪些位上,此时只能发现有错。伴随式的计算可用电路来实现,如前所述的 码,设接纳序列 ,那么伴随式为: 根据上式,可画出 码的伴随式计算电路,如图6.2.3所示。图6.2.3 码的伴随式计算电路 6.2.4 线性分组码的纠错才干线性分组码的纠错才干 由前面的引见可知,线性分组码的纠
43、错才干 和码字的最小间隔 有关,普通 是在设计通讯系统时提出的,那么寻觅满足纠正 个错误码元的码字就是编码技术的义务,为此我们还需进一步研讨 和码字构造的关系。线性分组码码字的构造是由生成矩阵(或一致校验矩阵)决议的,假设巳知 矩阵,该码的构造也就知道了,实践上所谓校验就是利用 矩阵去鉴别接纳矢量 的构造。那么从研讨码的纠错才干角度来看 与 有什么关系呢? 定理6.2.1 线性分组码最小码距等于 的充要条件是 矩阵中任何 列线性无关。 定理6.1.2是构造任何类型线性分组码的根底,由定理可得出以下三个结论: 为了构造最小间隔 (可检测 个错误)或 (可纠正 个错误)的线性分组码,其充要条件是要
44、求 矩阵中恣意 列线性无关。 例如,要构造最小间隔为3的码,那么要求 矩阵中恣意2列线性无关。对于二元码,即要求 矩阵满足无一样的列和无全“0的列,就可纠正一切单个错误。 由于交换 矩阵的各列不会影响码的最小间隔,因此一切列向量一样但陈列位置不同的 矩阵所对应的分组码,其纠错才干和码率是等价的。 任一线性分组码的最小间隔(或最小分量) 均满足 。 满足 的线性分组码称为极大最小间隔码。在同样的 之下,由于 最大,因此纠错才干更强,所以设计这种码,是编码实际中人们感兴趣的一个课题。 根据定理6.2.1,我们可以由 矩阵的列的相关性直接知道码的纠错、检错才干。在巳知信息位 的条件下,如何去确定监视
45、位 的位数(即确定码长),才干满足对纠错才干 的要求?对此有下述结论: 假设 是 二元码,当巳知 时,要使 能纠正 个错,那么必需有不少于 个校验位,并且使 满足: 式中的 为 中 取的组合。满足 时的码称为完备码,这种码的校验元得到了最充分的利用。式(6.2.9)又称为汉明不等式。 6.2.5 汉明码汉明码 汉明码是汉明(Hamming)于1950年提出的能纠正一位错的特殊的线性分组码。汉明码有许多很好的性质,是一种完备码,它可以用一种简约有效的方法进展译码。由于它的编、译码较简单,且较容易实现,因此被广泛采用,尤其是在计算机存储与运算系统中被广泛运用。汉明码的参数 对于恣意正整数 ,存在具
46、有以下参数的二进制汉明码:码 长:信息位数:监视位数:最小码距:给定 后,即可构造出详细的 汉明码,这可以从建立致校验矩阵 入手。我们知道, 矩阵的列数就是码长 ,行数等于 。例如 ,可算出 ,因此是(7,4)线性码。其 矩阵正是用 个非零三维列向量构成的。如:此时, 矩阵的列所对应的十进制数正好是“1“7,对于纠一位过失来说,其伴随式的值就等于对应的 矩阵的列矢量,即错误位置。所以这种方式的 矩阵构成的码很便于纠错,但这是非系统的(7,4)汉明码的一致校验矩阵。假设要得到系统码,可调整各列次序来实现: 有了 ,就可得到系统码的校验位,其相应的生成矩阵为: 设码字 ,根据 (或 )及关系式 ,
47、有: (7,4)汉明码的编码电路原理图如图6.2.4所示。 汉明码的译码,可以采用计算伴随式,然后确定错误图样并加以纠正的方法。图6.2.5所示为(7,4)汉明码的译码电路原理图。 需求留意的是(7,4)汉明码的矩阵并非只需以上两种。原那么上讲, 汉明码的一致校验矩阵有 列 行,它的 列由除了全“0以外的 位码组构成,每个码组只在某列中出现一次, 矩阵中各列的次序是可恣意改动。另外,对照完备码的定义可知,汉明码实践上是 的完备码。 图6.2.5 (7,4)汉明译码器电路原理图 6.3 6.3 循环码循环码循环码是一种特殊的线性分组码,属于线性分组码的一个重要子类,也是目前研讨最为透彻的一类码,
48、大多数有适用价值的纠错码都是循环码。循环码与普通的线性分组码相比具有以下优点:循环码的编码及译码易于用简单的具有反响衔接的移位存放器来实现。 定义6.3.1 设有 线性分组码 ,假设它的恣意一个码字的每一次循环移位依然是 中的一个码字,那么称 为循环码。也即,假设 是循环码 的一个码字,那么 等也都是 的码字时,那么一切这些具有循环特性的码字的全体便构成了循环码 。 例如在例6.2.3中的 线性分组码就是循环码,该码如表6.3.1所示。由表可以看到,在右边的码字栏内,恣意一个码字将其循环移位后,其结果依然是该栏内的一个码字。例如将第二行的码字循环右移一位后可得到第五行的码字,第五行的码字循环右
49、移一位后得到第三行的码字等。实践上右移和左移具有同样的效果。 循环码的主要特点是: 实际成熟:可利用成熟的代数构造深化讨论其性质; 实现简单:可利用循环移位特性在工程上进展编、译码; 循环码的描画方式有很多,但在工程上最有用的是采用多 项式的描画方法。 由于循环码的以上特点,可以将其用多项式来表示,从而可以借助代数的工具对循环码进展分析,这也是循环码能被广泛运用的缘由之一。 信息码元码字0 0 00 0 0 0 0 0 00 0 10 0 1 1 1 0 10 1 00 1 0 0 1 1 10 1 10 1 1 1 0 1 01 0 01 0 0 1 1 1 01 0 11 0 1 0 0
50、1 11 1 01 1 0 1 0 0 11 1 11 1 1 0 1 0 06.3.1 循环码的多项式描画循环码的多项式描画 设有循环码字 ,那么可以用一个次数不超越 的多项式独一确定,其相应的多项式可表示为: (6.3.1) 即码字 与码多项式 一一对应。 由循环码的特性可知,假设 是循环码 的一个码字,那么 也是该循环码的一个码字,它的码多项式为: (6.3.2) 比较式(6.3.1)和式(6.3.2),得: 该式阐明,码字循环一次的码多项式 是原码多项式 乘 后再除以 所得的余式,即: 由此可以推知, 的 次循环移位 是原码多项式 乘 后再除以 所得的余式,即: (6.3.3) 式(6
51、.3.3)提示了 线性码中码多项式与码字循环移位之间的关系,它对循环码的研讨起着重要的作用。 例如前面所述 循环码可由任一个码字(如“0011101)经循环移位后,得到其他6个码字;也可由相应的码多项式 乘以 后,再模 得到其他6个非零码多项式。这个移位过程及相应的多项式运算如表6.3.2所示。 表6.3.2 循环码的循环移位 循环次数码字码多项式0 0 0 0 0 0 000 0 1 1 1 0 110 1 1 1 0 1 021 1 1 0 1 0 031 1 0 1 0 0 141 0 1 0 0 1 150 1 0 0 1 1 161 0 0 1 1 1 06.3.2 循环码的生成矩阵
52、循环码的生成矩阵 根据循环码的循环特性,可由一个码字的循环移位得到其他非“0码字。在 循环码的码多项式中,每一个能整除 的 次首一多项式(其最高次项系数为“l)都是该码的生成多项式,记为 。将 经过 次循环移位,共得到 个码多项式: 、 、 。这 个码多项式显然是相互独立的,可作为码生成矩阵的 行,于是得到 循环码的生成矩阵 : (6.3.4) 码的生成矩阵一旦确定,码也就确定了。这阐明 循环码可由它的一个 次首一多项式 来确定,所以可以说由 生成了 循环码,因此称 为码的生成多项式,即: (6.3.5) 假设某一个码具有生成多项式,那么该码一定是循环码。码的生成多项式具有如下性质: 在 循环
53、码中, 次码多项式是最低次的码多项式。 在 循环码中, 是独一的 次多项式。 在 循环码中,每个码多项式 都是 的倍式。 恣意 循环码的生成多项式 一定整除 。 例6.3.2 求二进制 循环码的生成多项式。 解:分解多项式 ,取其四次首一多项式作为生成多项式: 可将一次和任一个三次多项式的乘积作为生成多项式:或 由于 线性码的生成矩阵 与一致校验矩阵 满足关系: ,而循环码也是线性码,假设设 为 循环码的生成多项式,它必为 的因式,那么有: (6.3.6) 由于 是 次多项式,以 为生成多项式,那么生成一个 循环码,以 为生成多项式,那么生成一个 循环码,这两个循环码互为对偶码。称 为 循环码
54、的校验多项式,且: (6.3.7) 显然, 循环码也可由其校验多项式完全确定, 循环码的一致校验矩阵 为 (6.3.8) 式中 为 的反多项式: 例6.3.3 以二进制码 码为例,阐明 循环码可由生成多项式或校验多项式完全确定。 由多项式的因式分解知: 其四次多项式为生成多项式: 其三次多项式为校验多项式: 由等式,两端的同次系数应相等,得: 的系数 的系数 的系数 的系数 将上述方程组写成矩阵方式: 上式中列矩阵的元素就是生成多项式 的系数,它本身是一个码字,那么第一个矩阵即为 循环码的一致校验矩阵,即:可见,一致校验矩阵的第一行是码的校验多项式 的系数的反序陈列,而第二、三、四行分别是第一
55、行的移位,由此得到用校验多项式的系数来构成的一致校验矩阵: 由上分析可得以下结论:给定了 循环码的生成多项式 ,可以求得相应的生成矩阵 ,由 又可以确定校验多项式 ,并可由确定循环码的一致校验矩阵 。生成多项式与生成矩阵的含义是一样的,前者对应于循环码的多项式表示方式,而后者对应于循环码的矩阵表示方式,两者之间可以相互转换。 6.3.3 系统循环码系统循环码 前面引见的生成矩阵所产生循环码不是系统码。我们可以经过矩阵的行运算,得到系统循环码的生成矩阵,使之具有 的方式,生成矩阵的行运算本质上就是码字间个基底间进展线性组合运算。系统循环码的生成矩阵的一致校验矩阵是 。例6.3.4 以 为生成多项
56、式生成一个 循环码,要求生成的 循环码是系统的。 解:由例6.3.1得对应给定 的 循环码的普通生成矩阵为: 对矩阵 的行进展运算,将第、行相加后作为第1行,第、行相加后作为第2行,得: 对应: 这样,就得到系统循环码的生成矩阵和一致校验矩阵。 6.3.4 多项式运算电路多项式运算电路 由于多项式 表示的是时间序列 ,因此多项式的运算表现为对时间序列的操作。 设有多项式 和 ,那么: 与 的相加电路如图6.3.1所示。假设 的阶数 小于 的阶数 ,那么将 也扩展为 次多项式,其扩展的幂次项系数为“0。图6.3.1 多项式相加 多项式的乘法电路如图6.3.2所示,按照图6.3.2的乘法电路构成,
57、 与 乘法的般电路如图6.3.3所示。在乘法电路中总假设多项式的低位在前,电路中的一切存放器初态为“0。 图6.3.2 多项式乘法电路例 图6.3.3 多项式乘法电路 设 , ,那么用多项式 去除恣意多项式 的电路即为 除法电路,如图6.3.4所示。移位存放器的初始形状全为“0,当 输入终了,移位存放器( )中的内容即为余式。 图6.3.4 除法电路 例6.3.5 设被除式 与除式 都是系数为二进制的多项式,且: 那么完成除以 的电路如图6.3.5所示。完成上述二个多项式相除的算式如下: 这里商为 ,余式为 ,表6.3.3给出了图6.3.5电路的运算过程,经过 次移位后得到商 项的系数, =5
58、次移位后,完成了整个除法运算,在移位存放器中保管的数(001)代表余式 的系数。 1 1 0 0 1 1 1节拍输入移位寄存器的内容输出000000111000211100300110401111510011余 式商式表6.3.3 例6.3.5的运算过程表 图6.3.5 例6.3.5的除法电路 6.3.5 循环码的编码电路循环码的编码电路 利用生成多项式 实现编码是循环码编码电路的常用实现方法。假设知信息位为 位,要求纠错才干为 ,可以按循环码的性质来设计循环码编码电路。 首先可以根据式(6.2.9): ,求出所需求的 和 求出 以后,再从 的因式中找出生成多项式 ,由 生成的码 就是满足要求
59、的循环码。给定 后,实现编码电路的方法有两种:一种方法采用 的乘法电路;另一种方法是除以 的除法电路。前者主要是利用方程式 进展编码,这样编出的码为非系统码;而后者是系统码编码器中常用的电路,所编出的码为系统码。我们在这里只引见更常运用的系统码编码电路。 设从信源输入编码器的位信息组多项式为: 假设要编出系统码的码字,那么: (6.3.9) 从式(6.3.9)知,系统码的编码器就是将信息组 乘上 ,然后用生成多项式 除,求余式 的电路,由此得系统循环码的编码步骤如下: 以 乘以 ; 以 除以 ,得到余式 ; 组合 和 得互码字“ 。 实现系统循环码编码的电路如图6.3.6所示。图6.3.6 级
60、系统码编码器 下面以二进制 循环码(汉明码)为例,来阐明编码器的任务原理。 当输入信息码元为(1001),即 ,设循环码的生成多项式 ,由系统码生成规那么: 其运算过程为: 那么: 由此得二进制循环系统码编码器如图6.3.7所示。电路的编码过程如下: 三级移存器初始形状全为“0,门1开,门2关。信息组以高位先入的次序送入电路,一方面经或门输出编码的前 个信息码元,另一方面送入 除法电路的右端,这对应于完成用 除 的除法运算。 图6.3.7 循环系统码编码器 四次移位后,信息组全部经过或门输出,它就是系统码码字的前四个信息码元,同时它也全部进入除 电路,完成除法运算。此时在移存器 中存的数就是余
61、式 的系数,也就是码字的校验码元 。 门1封锁,门2翻开,再经三次移位后,移存器中的校验码元 跟在信息组后面输出,构成一个完好的码字 。 门1翻开,门2封锁,送入第二组信息组,反复上述过程。 表6.3.4列出了上述编码器的任务过程。设输入信息组为(1001),七个移位脉冲过后,在输出端得到了已编好的码字(1001110)。 6.3.6 循环码的译码电路循环码的译码电路 假设给定循环码的生成多项式 ,为求伴随式多项式 ,有以下定义:定义6.3.2 循环码的伴随式多项式 是接纳码字多项式 或错误图样多项式 除以生成多项式 所得的余式。假设给定循环码的一致校验矩阵 ,那么伴随式 式中 为发送端发送的
62、码字, 为信道的错误图样。 循环码的伴随式译码普通包括以下三个步骤: 根据接纳码字多项式 计算相应的伴随式多项式: 或 ,它等价于根据接纳码字 来计算相应的伴随式 : 。 根据伴随式 (或伴随式多项式 )求对应的错误图样。 利用错误图样进展纠错,得到对码字的估计(即译码输出)。下面我们用例题来阐明循环码伴随式译码的详细过程。例6.3.6 知二进制 循环码的生成多项式 ,一致校验矩阵为: 试设计能纠正一个信道错误的伴随式译码电路。 解:由定义6.3.2知伴随式多项式 的计算,实践上是用 做除法并求余,所以伴随式译码器中必需求有除法电路。此外,必需根据所求得的伴随式结果进展正确的解码。 假设信道错
63、误出如今最高位,即 ,对应的错误图样多项式为 ,那么我们可以求得相应的伴随式多项式: 即相应的伴随式多项式为 ,对应的伴随式为 。 同样,我们也可以由一致校验矩阵求得伴随式为: 相应的译码电路如图6.3.8所示。 图6.3.8 (7,4)循环码的伴随式译码器假设接纳码字 ,其译码过程如下: 开场译码时,门1翻开,7个时钟过后,全部进入七个缓冲器中,同时, 被 除的求余运算也巳进展终了,除法电路中的三个移位存放器中存放的是伴随式多项式的系数,其结果为 ,其中最低位对应于 ,最高位对应于 。 接纳码字输入终了后,门1封锁。当第八个时钟到来时,开场纠错译码,由于此时从 中出来的“101数字经过非门后
64、,变成“111,所以与门的输出为“l,与 的最高位相加,正好纠正了该位上的错误,因此,第八个时钟过后,在输出端输出的是“l。以后,与门的输出都为“0,随着时钟的到来,移位存放器将后面的码字直接输出。 在纠正最高位上的错误的同时,与门输出的“l被输入到 左端的加法器上,参与除法器的复位运算,此时除法器中三个移位存放器被复位到“000,预备进展下一个码字的译码。 6.3.7 常用的循环码常用的循环码 (1)循环冗余校验码 (2) 在数据通讯中,信息都是先划分成小块再组装成帧后(或叫分组、包等,仅称号不同而已)在线路上统计复用传送或存入共同物理介质的,帧尾普通都留有8、12、16或32位用作过失校验
65、。如把一帧视为一个码字,那么其校验位长度 不变而信息位 和码长 是可变的,其构造符合 缩短循环码的特点。只需以一个选定的 循环码为根底,改动 的值,就能得到任何信息长度的帧构造,而纠错才干坚持不变。这种运用下的缩短循环码称为循环冗余校验码(Cyclic Redundancy Check,CRC)。 循环冗余校验码是系统的缩短循环码,码的构造如图6.3.10所示。图6.3.10 循环冗余校验码(CRC)构造 图中,码字用码多项式 表示, 是 除以 后的余式, 为 次多项式,它们之间满足: 。虽然循环冗余校验码指的是整个码字 ,但人们习惯上仅把校验部分称为CRC码。 假设传输过程无过失,那么接纳码
66、字 应等于发送码字 这时 能被 整除;假设 ,那么阐明在传输过程中出现了误码。 例6.3.7 某CRC的生成多项式为 。假设想发送一串信息“110001的前6位,并加上CRC校验,发送码字 应如何安排,接纳码字 又如何校验?解:此题信息码字多项式 , ,从生成多项式 的阶数得校验位数等于4,因此 。 将 除以 得余式 : 于是,发送码字多项式 , 对应的发送码字为(1100011100)。 在接纳端,CRC校验实践上就是做除法运算:假设传输过程无过失,那么 能 被整除,余式为“0;假设余式不为“0,那么阐明一定有过失。 例6.3.8 假设 ,即信息码字为(1011001), ,求CRC校验码。
67、由题得: ,用 去除 ,有: 经相除后得到的最后余数1010就是冗余校验码 。所以,发送码字为:(10110011010)。 需求留意的是,这里所涉及的运算与前面一样都是模2运算。假设例子中的发送码字(10110011010)经传输后受噪声的干扰,在接纳端变成为(10110011100)。求余式的除法如下: 求得余式不为零,相当于在发送码字上加了过失图样“00000000110。过失图样相应的多项式为 。有过失时,接纳端收到的不再是 ,而是 + 。由于:假设 ,那么这种过失就能检测出来,假设 ,那么由于接纳到的码字多项式依然可被 整除,错误就检测不出来,也即发生了漏检。实际上可以证明,循环冗余
68、校验码的检错才干如下: 可检测出一切奇数个错; 可检测出一切单比特和双比特的错; 可检测出一切小于、等于校验码长度 的突发错误; 对于 位的突发性错误,查出概率为 ; 对于多于 位的突发性错误,查出概率为 。由此可以看出,只需选择足够的冗余校验位,可以使得漏检率减到恣意小的程度。循环冗余编码法在数据传输中得到了最广泛的运用。CRC本身具有纠错功能,但网络中普通不用其纠错功能,仅用其强大的检错功能,检出错误后要求重发。 目前广泛运用的CRC码已成国际规范,生成多项式主要有下述四种: CRC-12,其生成多项式:CRC-16,其生成多项式:CRC-CCITT,其生成多项式:CRC-32,其生成多项
69、式:循环冗余校验码的编译码过程通常用采用硬件来实现,由于除法运算易于用移位存放器和模2加法器来实现,可以到达比较高的处置速度。随着集成电路工艺的开展,循环冗余码的产生和校验均有集成电路产品,发送端可以自动生成CRC码,接纳端可自动校验,速度大大提高。 (2) BCH码 BCH码是一类最重要的循环码,能纠正多个随机错误。这种码可以是二进制码,也可以是非二进制码。BCH码具有纠错才干强,构造方便,编、译码易于实现等一系列优点。二进制本原BCH码具有以下参数: (6.3.10) 式中 和纠错才干 是恣意的正整数。BCH码的码长为 或 的因子,通常称前者为本原BCH码,称后者为非本原BCH码。 BCH
70、码的根本特点是其生成多项式 包含 个延续幂次的根,由该 生成的循环码,其纠错才干不小于 。BCH码的出现为通讯系统设计者们在纠错才干、码长和码率的灵敏设计上提供了很大的选择余地,加上其构码方法带来的译码特点,可以用伯利坎普(Berlekamp)迭代译码等通用、高效的译码算法,所以BCH码从二十世纪七十年代起已成为线性分组码的主流。这里我们重点讨论BCH码的实践运用,即利用知的BCH码表格,构造出对应生成多项式的BCH码。例6.3.9 ,求码长的二元BCH码。解:假设 ,那么查表可得其生成多项式为: 故可构成一个(15,11)BCH码,可纠正单个错误。显然,纠正单个错误的本原BCH码就是前面所述
71、的循环汉明码。 假设 ,那么查表可得其生成多项式为: 可构成一个(15,7)BCH码,具有纠正两个错误的才干。 假设 ,那么查表可得其生成多项式为: 可构成一个(15,5)BCH码,具有纠正三个错误的才干。 上述BCH码的码长均为15,故都是本原BCH码。 (3) RS码 里德-索洛蒙(RS,Reed Solomon)码是一类纠错才干很强的特殊的非二进制BCH码,在 RS码中,输入信号分成 比特一组,每组包括 个符号,每个符号由 比特组成,而不是前面引见的二元BCH码中的一个比特。 一个可纠正 个错误的RS码有如下参数: 码长: 位符号, 或 比特;信息位: 位符号, 或 比特;监视位: 位符
72、号, 或 比特;最小码距: 位符号, 或 比特。 RS码特别适宜于纠正突发错误,它可以纠正的错误图样有:总长度为: 比特的单个突发错误;总长度为: 比特的两个突发错误;总长度为: 比特的个突发错误。 例6.3.10 试分析一个能纠正三个符号错误,码长 , 的RS码的参数。解:知 , ,求得 码距: 个符号,或28比特;监视位: 个符号,或24比特;信息位: 个符号,或36比特;码长: 个符号,或60比特; 所以该码应为:(15,9)RS码,或从二进制角度来看,是一个(60,36)二进制码。 RS码的编码过程与BCH码一样,也是除以 ,同样可以用带反响的移位存放器来实现。不同的是,一切数据通道都
73、是 比特宽,即移位存放器为 级并联任务的,每个反响衔接必需乘以生成多项式中相应的系数。 6.4 6.4 卷积码卷积码卷积码由埃利斯(Elias)于1955年提出;1957年伍成克拉夫(J.M. Wozencraft)提出了序列的译码法;1963年梅西(J.L. Massey)提出效果稍差但易于实现的门限译码法;1967年维特比(Viterbi)提出最大似然的Viterbi译码法。卷积码是非分组码,与分组码的主要差别是它是一种有记忆的编码,即在恣意时段,编码器的个输出不仅与此时段的个输入有关,而且还与存贮其中的前假设干个时段的输入有关,因此可以把分组码视为记忆长度等于零的卷积码。 在卷积码的编码
74、约束长度内,前后各组是亲密相关的,由于一个组的监视码元不仅取决于本组的信息码元,而且也取决于前组的信息码元,因此可表示成(n,k,L)码,其中L为编码记忆,N=L+1称为编码约束长度组。译码时, 根据约束长度内一切各组接纳码元,即利用接纳的N=L+1组码元一同提取本组的信息码元。正是由于卷积码充分利用了各组之间的相关性,n和k可以用比较小的数,因此在与分组码同样的传信率和设备复杂性一样的条件下,卷积码的性能普通比分组码好。但对卷积码的分析,至今还缺乏分组码那样有效的数学工具,目前常用的一些好码的参数是借助于计算机搜索来得到,其性能还与译码方法有关。典型的卷积码普通选取较小的n和k,而值取较大(
75、L10左右),以获得既简单又高性能的信道编码。6.4.1 卷卷积码的的编码卷积码的编码器是由一个有k个输入端、n个输出端,且具有L节移位存放器所构成的有限形状的有记忆系统,通常称之为时序网络。卷积码编码的原理图如图6.4.1所示, 详细衔接关系如图6.4.2所示编码器普通构造框图如图6.4.3所示。 卷积码具有以下特点: 每位码元均与假设干位信息码元有关; 相邻码元同时与一部分共同信息位有关; 各码元之间相互连环在一同,而不像分组码那样各组之间可以截然分开,因此卷积码也称为连环码。 描画卷积码的方法很多,大致可分为两大类型: 解析法:主要有离散卷积法、生成矩阵法和码多项式法,它们多用于编码的描
76、画; 图形法:主要有形状图法、树图法和格图法,它们多用于译码的描画;下面,用详细实例阐明各种描画方法。 例6.4.1 设二元卷积码的编码器构造如图6.4.4所示,假设输入信息流为 ,求编码器的输出码字序列。解:由图可知,它是由k=1(即一个输入端)、n=2(即两个输出端)、L=3(即三级移位存放器)所组成的有限形状的有记忆系统。 (1) 离散卷积法假设输入信息序列为:那么对应输出为两个码字序列其相应编码由输入信息序列 和编码器的两个冲激呼应的卷积得到(这也是卷积码的由来),编码方程可写为:式中“*表示卷积运算, 表示编码器的两个脉冲冲激呼应,它是当输入信息为 时,所察看到的两个输出序列值。 由
77、于(2,1,3)卷积码编码器有L=3级存放器,故冲激呼应至多可继续到L+1=4位,由图6.4.4可写出冲激呼应为:经编码器后,两个输出序列合并为一个输出码字序列:当输入信息序列为 ,利用离散卷积运算来进展详细的计算。第一路编码器 的各位码元值可由式(6.4.1)计算,为:其详细的运算过程: 所以同理可算出所以,最后(2,1,3) 卷积码编码器输出的码字序列为: (2) 生成矩阵法上述冲激呼应又称为生成序列,假设将该生成序列进展交错,并构成如下生成矩阵(L=3 时) 上述编码方程可改写成如下矩阵方式: 矩阵G称为卷积码的生成矩阵。显然当输入信息序列为一无限序列时(即),生成矩阵那么为一个半无限的
78、矩阵。假设 (3) 码多项式法假设将生成序列和输入信息序列都表达成多项式方式,那么有: 那么卷积码可以用以下码多项式方式表达: 因此,其输出的码字序列为: 例6.4.3 设二元(2,1,2)卷积码的编码器构造如图6.4.6所示。假设输入信息流为(1011100) ,求其输出码字序列。解:本例是由k=1 (即一个信息输入端),n=2(即二个码元输出端)和L=2 (即二节移位存放器)所组成的有限形状的有记忆系统。那么由图6.4.6可求出其码生成多项式为:假设输入信息流为(1011100) ,那么其对应的多项式表示方式为:因此输出的码序列为:即: 除了上述三种解析表达式描画方式以外,还可以用比较笼统
79、的形状图、树图和格图来描画卷积码。下面,以上例的二元 (2,1,2卷积码为例讨论卷积码的图形表示法。 (4) 形状图法 首先从形状图入手。由图6.4.6可知,移位存放器总的能够形状数为: 种,用 来表示。 而每一时辰的能够输入有两个,它们可用“0和“1表示,每次能够的输出和形状也只需两个。下面,我们来看二元 2,1,2卷积码的形状图。 设输入信息序列为 其形状图可以按以下步骤画出: 按照以上步骤,可画出图6.4.7的形状图。(5) 树图法 假设要展现出编码器的输入、输出一切能够的情况,那么可采用树图描画,它是将上述编码器的形状图按时间展开得到的,即按输入信息序列的输入顺序按时间展开,展现时思索
80、一切能够的输入、输出情况,如以下图所示。 由图可见,假设设初始形状“00作为树根,对每个时辰能够的输入进展分支,假设分支的节点级数用l表示,那么每个节点分为两个分支:当m1=0那么向上,即“0分支向上,假设m1=1那么向下,即“1分支向下,它们都到达下一个一级节点(l=1)。 当l=1时,对每个一级节点根据m2的取值也将产生上、下两个分支,并推进到相应的二级节点(l=2),依此类推,不断延伸树状构造,就可以得到一个无限延伸的树状构造图,图中各分支上的数字表示相应输出的码字,而字母a,b,c,d表示编码器所处的形状。对于特定输入信息序列 相应的输出为: 而经过的形状为: 在输入上述特定信息序列时
81、,树图中的途径如图中粗黑线所示。树图最大特点是按时间顺序展开的,且能将一切时序形状表示为不相重合的途径,但是它也存在构造太复杂,构造反复性太多等缺陷。(6) 格图法另外,还可以用格图(又称篱笆图)来描画卷积码,格图描画法在卷积码的概率译码中,特别是在维特比译码中特别有用。格图的最大特点是坚持了树图的时序展开性,同时又抑制了树图太复杂的缺陷,它将树图中产生的反复形状合并起来,构成格状构造。将树图转化为格图是很方便的,下面仍以卷积码为例,阐明这种描画方式。 (2,1,2卷积码的格图表示 图中实线表示输入为“0时所走的分支,虚线表示输入为“1时所走的分支。由图可见,这个图本质上是将图6.4.8的树图
82、将其反复部分合并而成的。它自l=2即第二级节点开场,从同一形状出发所延伸的树构造完全样,因此格图能更为简约地表示了卷积码。任给定一个输入信息序列在格图中就存在一条特定的途径,比如其输出编码为:即为图中粗黑线所表示的途径。 不同的信息序列在树图上所对应途径完全不重合,但是在格图上那么有能够有部分重合,这样对于两个不同的输入信息序列可由格图上不相重合的途径段来区分,只需计算格图中不重合部分即可,所以在译码时利用格图更加方便。格图是研讨维特比译码算法的重要工具。卷积码的译码根本上可划分为两大类型:代数译码和概率译码。在分组码的译码中我们引见代数译码方法,在本节卷积码的译码中我们那么重点引见概率译码,
83、现实上,概率译码也是实践中最常采用的卷积译码方法。1967年,维特比(Viterbi)引入了一种卷积码的译码算法,这就是著名的维特比算法。1969年,小村(Omura)证明维特比算法等价于经过一个加权图求最短途径问题的动态规划解;1973年,福尼(G.D.Forney)指出维特比算法实践上就是卷积码的最大似然译码法,即译码将所选择的输出总能给出对数似然函数值为最大的码字,在二进制对称信道时维特比算法也就是最小间隔译码。 6.4.2 卷卷积码的的译码维特比算法的根本思想是依次在不同时辰l=L+1,L+2, L+l,对格图中相应列的每个点(对应于编码器中该时辰的一个形状),按照最大似然准那么比较一
84、切以它为终点的途径(在本例中各个节点只需两条途径),只保管一条具有最大似然值(或等效于最大似然值)的途径(保管的途径称为幸存途径),而将其他途径堵住,弃之不用。故到下一个时辰只需对幸存途径延伸出来的途径继续比较即可。这样接纳一段,计算一段,保管一段(保管下幸存途径),如此反复,不断进展到最后,在时辰l=L+l所留下的一条途径就是所要求的最大似然译码的解。 维特比算法维特比算法 由此可见,维特比算法的主要优点表现为: 由于途径度量的可加性,以及格图的格子构造,使得每次部分判决都等效于全局最优的一部分,它满足最优化的原理; 部分判决及时去掉了大量非最优途径,不让其延伸,假设有反复部分,那么可去掉反
85、复部分不计算,只需比较它们开场分别的不同途径值即可,从而大大节省了运算量; 算法具有良好的规那么,容易实现。详细步骤可归纳如下: 从时辰l=L开场,计算进入每一形状的单个途径的部分度量值,并存储每一形状下的幸存途径及其度量值; l加“1,将进入每一形状的分支度量值与前一时间段的幸存度量值相加,然后计算进入该形状的一切最大度量的途径或最小汉明间隔途径(即幸存途径)及其度量,并删去一切其他途径; 假设l6:akeoisQvTzXD!H*K-04.8clfpjtRxVF%J(M=27blfpjsQwUAYE$H*L+15;9cmgqOuSxVBZF%J)N=26:akeohrPvTzXD#G&K-0
86、4.7blfpjtQwUAYE$I(L+15;9dmgqOuSyWBZF%J)N37:akeoisQvTzXD!H*L-04.8clfpjtRxVBYE$I(M=27akeoisQwUzXD!H*L+14.8cmgpjtRxVBZF$I(M=27bleoisQwUAYD!H*L+14.8cmgqOtRxVBZF%J(M=27blfpisQwUAYE$H*L+15;8cmgqOuSxVBZF%J)M=27blfpjtQwUAYE$I*L+15;dnhrPuSyWC#G&K)N37bkeoisQwUAXD!H*L+14.8cmgqjtRxVBZF%I(M=27blfoisQwUAYE!H*L+15
87、.8cmgqOuRxVBZF%J(M=27blfpjsQwUAYE$H*L+15;9cmgqOuSyVBZF%J)N=26:akeohrPvTzXD#G&K-04.7blfpjtRwUAYE$I(L+15;9dmgqOuSyWBZF%J)N36:akeoisPvTzXD!H&14.8cmgqOtRxVBZF%I(M=27blfpisQwUAYE!H*L+15;8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N26:akeoisPvTzXD!H*K-04.8blfpjtRxVAYE$I(M=25;9dnhqOuSyWC#G%J)N3
88、7:akeoisQwTzXD!H*L+04.8cmfpjtRxVBZE$I(M=27bkeoisQwUAXD!H*L+14.8cmgqjtRxVBZF%I(M=26:akeoisQvTzXD!H*L-04.8clfpjtRxVBYE$I(M=25;9dnhrOuSyWC#G&J)N37akeoisQwUzXD!H*L+04.8cmgpjtRxVBZF$I(M=27bleoisQwUAYD!H*L+14.8cmgqOtRxVBZF%I(M=27blfpisQwUAYE!H*L+15;8cmgqOuSxVBZF%J)M=27blfpjtQwUAYE$I*L+15;9cmgqOyWC#G&J)N37
89、bkeoisQwUzXD!H*L+14.8cmgqjtRxVBZF$I(M=27blfoisQwUAYD!H*L+15.8cmgqOtRxVBZF%J(M=27blfpisQwUAYE$H*L+15;9cmgqOuSxVBZF%J)N=27bkeoisQwUAXD!H*L+14.8cmgqjtRxVBZF%I(M=27blfoisQwUAYE!H*L+15.8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N=27bleoisQwUAYD!H*L+14.8cmgqOtRxVBZF%J(M=27blfpisQwUAYE$H*L+15;
90、8cmgqOuSxVBZF%J)M=27blfpjtQwUAYE$I*L+15;9cmgqOuSyWBZF%J)N27blfoisQwUAYD!H*L+15.8cmgqOuRxVBZF%J(M=27blfpjsQwUAYE$H*L+15;9cmgqOuSxVBZF%J)N=26:akeohrPvTzXD#G&K-04.7blfpjtQwUAYE$I(L+15;9dmgqOuSyWBZF%J)N37:akeoisQvTzXD!H*L-04.8clfpjtRxVBYE$I(M=27akeoQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N26:akeoisPvTzXD!H*K-04.8
91、blfpjtRxVAYE$I(M=25;9dnhqOuSyWC#G%J)N37:akeoisQwTzXD!H*L+04.8cmfpjtRxVBZE$I(M=27bkeoisQwUAXD!H*L+14.8cmgqjtRxVBZF%I(M=27blfoisQwUAYE!H*L+15.8cmgqOuRxVBZF%J(M=27blfpjsQwUAYE$H*L+15;9cmgqOuSyVBZF%J)N=26:akeohrPvTzXD#G&K-04.7blfpjtRwUAYE$I(L+15;9dmgqOuSyWBZF%J)N36:akeoisPvTzXD!H&K-04.8blfpjtVBZF%I(M=27
92、blfpisQwUAYE!H*L+15;8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N26:akeoisPvTzXD!H*K-04.8blfpjtRxVAYE$I(M=25;9dnhqOuSyWC#G%J)N37:akeoisQwTzXD!H*L+04.8cmfpjtRxVBZE$I(M=27bkeoisQwUAXD!H*L+14.8cmgqjtRxVBZF%I(M=27blfoisQwUAYE!H*L+15.8cmgquSyWC#F%J)N36:akeoisQvTzXD!H*K-04.8clfpjtRxVBYE$I(M=25
93、;9dnhrOuSyWC#G%J)N37akeoisQwUzXD!H*L+04.8cmgpjtRxVBZE$I(M=27bleoisQwUAXD!H*L+14.8cmgqOtRxVBZF%I(M=27blfpisQwUAYE!H*L+15;8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N26:akeohrPzXD!H*L+14.8cmgqjtRxVBZF$I(M=27blfoisQwUAYD!H*L+15.8cmgqOtRxVBZF%J(M=27blfpisQwUAYE$H*L+15;9cmgqOuSxVBZF%J)N=26:a
94、kenhrPvTzXD#G&K-04.7blfpjtQwUAYE$I(L+15;9cmgqOuSyWBZF%J)N36:akeoisQvTzXD!H*L-04.8clfpjRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N=26:akeohrPvTzXD!G&K-04.7blfpjtRwUAYE$I(L+15;9dmgqOuSyWCZF%J)N37:akeoisQwTzXD!H*L-04.8cmfpjtRxVBYE$I(M=27bkeoisQwUzXD!H*L+14.8cmgqjtRxVBZF$I(M=27blfoisQwUAYD!H*L+15
95、.8cmgqOtRxVBZF%J(M=27akeoisQwTzXD!H*L+04.8cmgpjtRxVBZE$I(M=27bleoisQwUAXD!H*L+14.8cmgqjtRxVBZF%I(M=27blfoisQwUAYE!H*L+15;8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgOuSyWC#G&J)N37akeoisQwUzXD!H*L+14.8cmgpjtRxVBZF$I(M=27bleoisQwUAYD!H*L+14.8cmgqOtRxVBZF%J(M=27blfpisQwUAYE$H*L+15;8cmgqOuSxVBZF%J)M=27b
96、lfpjtQwUAYE$I*L+15;9cmgqOuSyWBZF%J)N26:akeoisQvTzXD!H*15.8cmgqOuRxVBZF%J(M=27blfpjsQwUAYE$H*L+15;9cmgqOuSxVBZF%J)N=26:akeohrPvTzXD#G&K-04.7blfpjtQwUAYE$I(L+15;9dmgqOuSyWBZF%J)N37:akeoisQvTzXD!H*L-04.8cmfpjtRxVBYE$I(M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N26:akeoisPvTzXD!H*K-04.8blfpjtRxVAYE$I(M=25;
97、9dnhqOuSyWC#G%J)N37:akeoisQwTzXD!H*L+04.8cmfpjtRxVBZE$I(M=27blfpjtQwUAYE$I(L+15;9cmgqOuSyWBZF%J)N26:akeoisQvTzXD!H*K-04.8clfpjtRxVBYE$I(M=25;9dnhrOuSyWC#G%J)N37akeoisQwUzXD!H*L+04.8cmgpjtRxVBZE$I(M=27bleoisQwUAXD!H*L+14.8cmgqOtRxVBZF%I(M=27blfpisQwUAYE!H*=15;9dnhqOuSyWC#F%J)N37:akeoisQwTzXD!H*L-04.8
98、cmfpjtRxVBYE$I(M=27bkeoisQwUzXD!H*L+14.8cmgqjtRxVBZF$I(M=27blfoisQwUAYD!H*L+15.8cmgqOtRxVBZF%J(M=27akeoisQwTzXD!H*L+04.8cmfpjtRxVBZE$I(M=27bkeoisQwUAXD!H*L+14.8cmgqjtRxVBZF%I(M=27blfoisQwUAYE!H*L+15.8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N=26:akeohrPvTzXD!G&K-04.cmgpjtRxVBZF$I(M=27b
99、leoisQwUAYD!H*L+14.8cmgqOtRxVBZF%I(M=27blfpisQwUAYE$H*L+15;8cmgqOuSxVBZF%J)M=27blfpjtQwUAYE$I*L+15;9cmgPuSyWC#G&J)N37bkeoisQwUAXD!H*L+14.8cmgqjtRxVBZF$I(M=27blfoisQwUAYD!H*L+15.8cmgqOuRxVBZF%J(M=27blfpjsQwUAYE$H*L+15;9cmgqOuSxVBZF%J)N=26:akeohrPvTzXD#G&K-04.7blfpjtQwUAYE$I(L+15;9dmgqOuSyWBZF%J)N36:a
100、keoirPvTzXD!H&K-04.8blfpjtRxUAYE(M=27blfoisQwUAYE!H*L+15;8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N27bleoisQwUAYD!H*L+15.8cmgqOtRxVBZF%J(M=27blfpisQwUAYE$H*L+15;8cmgqOuSxVBZF%J)N=27blfpjtQwUAYE$I(L+15;9cmgqOuSyWBZF%J)N26:akeoisQvTzXD!H*K-04.8gqOuRxVBZF%J(M=27blfpjsQwUAYE$H*L+15;9cmgqO
101、uSyVBZF%J)N=26:akeohrPvTzXD#G&K-04.7blfpjtRwUAYE$I(L+15;9dmgqOuSyWBZF%J)N36:akeoisPvTzXD!H&K-04.8blfpjtRxUZF%I(M=27blfpisQwUAYE!H*L+15;8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N26:akeoisPvTzXD!H*K-04.8blfpjtRxVAYE$I(M=25;9dnhqOuSyWG&K-037blfpisQwUAYE$H*L+15;9cmgqOuSxVBZF%J)N=26:akenhr
102、PvTzXD#G&K-04.7blfpjtQwUAYE$I(L+15;9cmgqOuSyWBZF%J)N37blfoisQwUAYE!H*L+15.8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N=26:akeohrPvTzXD!G&K-04.7blfpjtRwUAYE$I(L+15;9dmgqOuSyWCZF%J)N37:akeoisQAYE$H*L+15;8cmgqOuSxVBZF%J)M=27blfpjtQwUAYE$I*L+15;9cmgqOuSyWBZF%J)N26:lfoisQwUAYD!H*L+15.8cmgqOu
103、RxVBZF%J(M=27blfpjsQwUAYE$H*L+15;9cmgqOuSxVBZF%J)N=26:akeohrPvTzXD#G&K-04.7blfpjtQwUAYE$I(L+15;9dmgqOuSyWBZF%J)N37:akeoisUAYE!H*L+15;8cmgqOuRxVBZF%J)M=27blfpjsQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N27bleoisQwUAYD!H*L+15.8cmgqOtRxVBZF%J(M=27blfpisQwUAYE$H*L+15;8cmgqOuSxVBZF%J)N=27blfpjtQwUAYE$I(L+15;9cmgqOuS
104、yWBZF%J)N27blfoisQwUAYE!H*L+15.8cmgqOuRxVBZF%J(M=27blfpjsQwUAYE$H*L+15;9cmgqOuSyVBZF%J)N=26:akeohrPvTzXD#G&K-04.7blfpjtRwUAYE$I(27bleoisQwUAYD!H*L+14.8cmgqOtRxVBZF%I(M=27blfpisQwUAYE!H*L+15;8cmgqOuSxVBZF%J)M=27blfpjtQwUAYE$I*L+15;9cmgqOuSyVBZF%J)N26:akeoirPvTzXD!G&K-0.8cmgqjtRxVBZF$I(M=27blfoisQwUAYD!H*L+15.8cmgqOtRxVBZF%J(M=27blfpisQwUAYE$H*L+15;9cmgqOuSxVBZF%J)N=26:akenhwTzXD!H*L+04.8cmfpjtRxVBZE$I(M=27