1、第 7 章 差错控制编码 第第 7 章章 差错控制编码差错控制编码 7.1 概述概述 7.2 常用的几种简单分组码常用的几种简单分组码 7.3 线性分组码线性分组码 7.4 循环码循环码 7.5 卷积码卷积码 *7.6 网格编码调制网格编码调制 第 7 章 差错控制编码 7.1 概概 述述 7.1.1 信道编码信道编码 在数字通信中,根据不同的目的,编码可分为信源编码和信道编码。信源编码是为了提高数字信号的有效性以及为了使模拟信号数字化而采取的编码。信道编码是为了降低误码率, 提高数字通信的可靠性而采取的编码。 数字信号在传输过程中,加性噪声、码间串扰等都会产生误码。为了提高系统的抗干扰性能,
2、可以加大发射功率,降低接收设备本身的噪声,以及合理选择调制、解调方法等。此外,还可以采用信道编码技术。第 7 章 差错控制编码 7.1.2 差错控制方式差错控制方式 图 7-1 差错控制方式 发端纠错码收端前向纠错FEC发端检错码收端检错重发ARQ判决信号发端检错和纠错码收端混合纠错HEC判决信号第 7 章 差错控制编码 1. 检错重发方式检错重发方式 检错重发又称自动请求重传方式,记作ARQ(Automatic Repeat Request)。 由发端送出能够发现错误的码,由收端判决传输中无错误产生,如果发现错误,则通过反向信道把这一判决结果反馈给发端,然后,发端把收端认为错误的信息再次重发
3、,从而达到正确传输的目的。其特点是需要反馈信道,译码设备简单,对突发错误和信道干扰较严重时有效, 但实时性差,主要在计算机数据通信中得到应用。 第 7 章 差错控制编码 2. 前向纠错方式前向纠错方式 前向纠错方式记作FEC(Forword ErrorCorrection)。发端发送能够纠正错误的码,收端收到信码后自动地纠正传输中的错误。其特点是单向传输,实时性好,但译码设备较复杂。 第 7 章 差错控制编码 3. 混合纠错方式混合纠错方式 混合纠错方式记作HEC(Hybrid ErrorCorrection)是FEC和ARQ方式的结合。发端发送具有自动纠错同时又具有检错能力的码。收端收到码后
4、,检查差错情况,如果错误在码的纠错能力范围以内,则自动纠错,如果超过了码的纠错能力, 但能检测出来,则经过反馈信道请求发端重发。这种方式具有自动纠错和检错重发的优点,可达到较低的误码率,因此, 近年来得到广泛应用。 第 7 章 差错控制编码 另外,按照噪声或干扰的变化规律,可把信道分为三类:随机信道、突发信道和混合信道。恒参高斯白噪声信道是典型的随机信道,其中差错的出现是随机的,而且错误之间是统计独立的。具有脉冲干扰的信道是典型的突发信道, 错误是成串成群出现的,即在短时间内出现大量错误。短波信道和对流层散射信道是混合信道的典型例子,随机错误和成串错误都占有相当比例。对于不同类型的信道,应采用
5、不同的差错控制方式。 第 7 章 差错控制编码 7.1.3 纠错码的分类纠错码的分类 (1) 根据纠错码各码组信息元和监督元的函数关系,可分为线性码和非线性码。如果函数关系是线性的,即满足一组线性方程式,则称为线性码,否则为非线性码。 (2) 根据上述关系涉及的范围,可分为分组码和卷积码。分组码的各码元仅与本组的信息元有关;卷积码中的码元不仅与本组的信息元有关, 而且还与前面若干组的信息元有关。 (3) 根据码的用途,可分为检错码和纠错码。检错码以检错为目的,不一定能纠错;而纠错码以纠错为目的,一定能检错。 第 7 章 差错控制编码 7.1.4 纠错编码的基本原理纠错编码的基本原理 1. 分组
6、码分组码 分组码一般可用(n,k)表示。其中,k是每组二进制信息码元的数目,n是编码码组的码元总位数,又称为码组长度,简称码长。n-k=r为每个码组中的监督码元数目。简单地说,分组码是对每段k位长的信息组以一定的规则增加r个监督元, 组成长为n的码字。在二进制情况下,共有2k个不同的信息组,相应地可得到2k个不同的码字,称为许用码组。其余 2n-2k个码字未被选用,称为禁用码组。 第 7 章 差错控制编码 在分组码中,非零码元的数目称为码字的汉明重量, 简称码重。例如,码字 10110,码重w=3。 两个等长码组之间相应位取值不同的数目称为这两个码组的汉明(Hamming)距离, 简称码距。例
7、如 11000 与 10011之间的距离d=3。码组集中任意两个码字之间距离的最小值称为码的最小距离,用d表示。最小码距是码的一个重要参数, 它是衡量码检错、纠错能力的依据。 第 7 章 差错控制编码 2. 检错和纠错能力检错和纠错能力 若分组码码字中的监督元在信息元之后,而且是信息元的简单重复, 则称该分组码为重复码。它是一种简单实用的检错码, 并有一定的纠错能力。例如(2,1)重复码,两个许用码组是 00 与 11,d0=2,收端译码,出现 01、10 禁用码组时,可以发现传输中的一位错误。如果是(3,1)重复码,两个许用码组是 000 与111, d0=3; 当收端出现两个或三个 1 时
8、,判为 1,否则判为 0。此时,可以纠正单个错误,或者该码可以检出两个错误。 第 7 章 差错控制编码 码的最小距离d0直接关系着码的检错和纠错能力;任一(n,k)分组码,若要在码字内: (1) 检测e个随机错误,则要求码的最小距离d0e+1; (2) 纠正t个随机错误, 则要求码的最小距离d02t+1; (3) 纠正t个同时检测e(t)个随机错误,则要求码的最小距离d0t+e+1。 第 7 章 差错控制编码 3. 编码效率编码效率 用差错控制编码提高通信系统的可靠性, 是以降低有效性为代价换来的。我们定义编码效率R来衡量有效性:R=k/n其中, k是信息元的个数,n为码长。 对纠错码的基本要
9、求是: 检错和纠错能力尽量强; 编码效率尽量高;编码规律尽量简单。 际中要根据具体指标要求, 保证有一定纠、 检错能力和编码效率,并且易于实现。 第 7 章 差错控制编码 7.2 常用的几种简单分组码常用的几种简单分组码7.2.1 奇偶监督码奇偶监督码 奇偶监督码是在原信息码后面附加一个监督元, 使得码组中“1”的个数是奇数或偶数。或者说,它是含一个监督元,码重为奇数或偶数的(n,n-1)系统分组码。奇偶监督码又分为奇监督码和偶监督码。 第 7 章 差错控制编码 设码字A=an-1,an-2,a1,a0,对偶监督码有 00121aaaann 奇监督码情况相似, 只是码组中“1”的数目为奇数,
10、即满足条件 1021aaann而检错能力与偶监督码相同。 奇偶监督码的编码效率R为 nnR/ ) 1( 第 7 章 差错控制编码 7.2.2 行列监督码行列监督码 图 7-2 (66,50)行列监督码 110010100000100001101001111000011100111000001010101010111000111100第 7 章 差错控制编码 7.2.3 恒比码恒比码 码字中 1 的数目与 0 的数目保持恒定比例的码称为恒比码。 由于恒比码中,每个码组均含有相同数目的 1 和 0,因此恒比码又称等重码,定 1 码。这种码在检测时,只要计算接收码元中 1 的数目是否正确,就知道有无
11、错误。 目前我国电传通信中普遍采用 3 2 码,又称“5 中取 3”的恒比码,即每个码组的长度为 5,其中 3 个“1”。这时可能编成的不同码组数目等于从 5 中取 3 的组合数 10,这 10 个许用码组恰好可表示 10 个阿拉伯数字,如表 7 - 1 所示。而每个汉字又是以四位十进制数来代表的。实践证明,采用这种码后,我国汉字电报的差错率大为降低。 第 7 章 差错控制编码 表表 7-1 3 2 恒比码恒比码 第 7 章 差错控制编码 7.3 线线 性性 分分 组组 码码 现以(7,4)分组码为例来说明线性分组码的特点。设其码字为A=a6 a5 a4 a3 a2 a1 a0,其中前 4 位
12、是信息元,后 3 位是监督元, 可用下列线性方程组来描述该分组码,产生监督元。 346035614562aaaaaaaaaaaa第 7 章 差错控制编码 表表 7-2 (7,4)码的码字表码的码字表 第 7 章 差错控制编码 7.3.2 监督矩阵监督矩阵H和生成矩阵和生成矩阵G 第 7 章 差错控制编码 其中,P为rk阶矩阵,Ir为rr阶单位矩阵。可以写成H=P Ir形式的矩阵称为典型监督矩阵。 HAT=0T,说明H矩阵与码字的转置乘积必为零,可以用来作为判断接收码字A是否出错的依据。 并简记为 第 7 章 差错控制编码 若把监督方程补充为下列方程 第 7 章 差错控制编码 可改写为矩阵形式
13、第 7 章 差错控制编码 1101000101010001100101110001GQIGkTPQ110101011111第 7 章 差错控制编码 7.3.3 伴随式伴随式(校正子校正子)S 设发送码组A=an-1,an-2,a1,a0,在传输过程中可能发生误码。接收码组B=bn-1,bn-2,b1,b0,则收发码组之差定义为错误图样E, 也称为误差矢量, 即 ABE其中E=en-1,en-2,e1,e0,且 10ie当bi=ai 当biai (7 - 15) 第 7 章 差错控制编码 式(7 - 15)也可写作 EAB令S=BHT,称为伴随式或校正子。 TTTEHHEABHS)(第 7 章
14、差错控制编码 表表 7-3 (7,4)码码S与与E的对应关系的对应关系 第 7 章 差错控制编码 7.4 循循 环环 码码 表表 7-4 (7,3)循环码循环码 第 7 章 差错控制编码 在代数理论中,为了便于计算,常用码多项式表示码字。(n,k)循环码的码字,其码多项式(以降幂顺序排列)为 012211)(axaxaxaxAnnnn第 7 章 差错控制编码 7.4.1 生成多项式及生成矩阵生成多项式及生成矩阵 如果一种码的所有码多项式都是多项式g(x)的倍式,则称g(x)为该码的生成多项式。在(n,k)循环码中任意码多项式A(x)都是最低次码多项式的倍式。如表 7-4 的(7,3)循环码中,
15、 1)()(2341xxxxAxg第 7 章 差错控制编码 )()()()()() 1()()(0)(27320 xgxxAxgxxAxgxxAxgxA其它码多项式都是g(x)的倍式, 即 第 7 章 差错控制编码 循环码的生成矩阵常用多项式的形式来表示 1)(111xgxgxxgrrr)()()()()(21xgxxgxgxxgxxGkk第 7 章 差错控制编码 例如(7,3)循环码,n=7, k=3, r=4, 其生成多项式及生成矩阵分别为 第 7 章 差错控制编码 7.4.2 监督多项式及监督矩阵监督多项式及监督矩阵 为了便于对循环码编译码,通常还定义监督多项式, 令 1)(1)(111
16、xhxhxxgxxhkkkn其中g(x)是常数项为 1 的r次多项式,是生成多项式;h(x)是常数项为 1 的k次多项式,称为监督多项式。同理,可得监督矩阵H )(*)(*)(*)(1xhxxhxhxxHkn第 7 章 差错控制编码 是h(x)的逆多项式。例如(7,3)循环码,g(x)=x4+x3+x2+1,则 其中 1)(*12211xhxhxhxxhkkkk1)(*1)(1)(3237xxxhxxxgxxh第 7 章 差错控制编码 1)(324235346xxxxxxxxxxxxH1101000011010000110100001101H第 7 章 差错控制编码 7.4.3 编码方法和电路
17、编码方法和电路 在编码时,首先要根据给定的(n,k)值选定生成多项式g(x),即应在xn+1的因式中选一r=n-k次多项式作为g(x)。设编码前的信息多项式m(x)为 12321)(kkxaxaxaaxm循环码的码多项式可表示为 )()()(xRxmxxAr第 7 章 差错控制编码 图 7-3 (7,3)循环码编码电路 D0D1D2D3门1门2输入信息组输出码字1第 7 章 差错控制编码 表表 7-5 (7,3)循环码的编码过程循环码的编码过程 第 7 章 差错控制编码 7.4.4 译码方法和电路译码方法和电路 图 7-4 (7,3)循环码译码电路 D0D1D2D37级缓存器接收码组B输出码组
18、A&第 7 章 差错控制编码 7.5 卷卷 积积 码码 7.5.1 基本概念基本概念 图 7-5 卷积码(2,1,2)编码器 m1m2数据输入码字输出S1S2S3C1C2第 7 章 差错控制编码 起始状态,各级移位寄存器清零,即S1S2S3为000。S1等于当前输入数据,而移位寄存器状态S2S3存储以前的数据,输出码字C由下式确定 3123211SSCSSSC表 7-6 (2,1,2)编码器的工作过程 第 7 章 差错控制编码 7.5.2 卷积码的描述卷积码的描述 1. 树图树图 图图 7-6 (2,1,2)码的树图码的树图 a1100abb0110cdc0011abd1001cd0010a1
19、101ba0011a1100abb0110cdc0011abd1001cd1101c0010db1001a1100数码起点状态a00b01c10d11上半部下半部数码1101第 7 章 差错控制编码 2. 状态图状态图 图 7 -7 (2,1,2)码的状态图 a00b01c10d11cbad0101111100100010第 7 章 差错控制编码 3. 格图格图 图 7-8 (2,1,2)码的格图 a00起点aaaaaabbbccccbbcbddddd000000000000000000100101010101010110101010111111111111101010100101第 7 章
20、差错控制编码 7.5.3 卷积码的译码卷积码的译码 1. 维特比译码维特比译码 图图 7-9 维特比译码格图维特比译码格图 图79起点d80100(4)cba700(3)6500(3)4300(3)200(2)10 00(1)级11(1)11(3)11(3)11(3)10(2)10(4)00(3)01(3)01(3)10(3)10(3)10(3)01(1)01(1)01(5)00(2)11(2)收码01011010010001解码11010000第 7 章 差错控制编码 2. 序列译码序列译码 当m很大时,可以采用序列译码法。 其过程如下: 译码先从码树的起始节点开始,把接收到的第一个子码的n
21、个码元与自始节点出发的两条分支按照最小汉明距离进行比较, 沿着差异最小的分支走向第二个节点。在第二个节点上,译码器仍以同样原理到达下一个节点,以此类推,最后得到一条路径。若接收码组有错,则自某节点开始,译码器就一直在不正确的路径中行进,译码也一直错误。因此,译码器有一个门限值,当接收码元与译码器所走的路径上的码元之间的差异总数超过门限值时,译码器判定有错,并且返回试走另一分支。经数次返回找出一条正确的路径,最后译码输出。 第 7 章 差错控制编码 *7.6 网格编码调制网格编码调制(TCM) 网络编码调制(Trellis Coded Modulation, 缩写为TCM)技术。它是利用编码效率
22、为n/(n+1)的卷积码,并将每一码段映射为2n+1个调制信号集中的一个信号。在收端信号解调后经反映射变换为卷积码, 再送入维特比译码器译码。它有两个基本特点: (1) 在信号空间中的信号点数目比无编码的调制情况下对应的信号点数目要多,这些增加的信号点使编码有了冗余,而不牺牲带宽。 (2) 采用卷积码的编码规则,使信号点之间引入相互依赖关系。仅有某些信号点图样或序列是允许用的信号序列,并可模型化成为网格状结构,因此又称为“格状”编码。 第 7 章 差错控制编码 图图 7 10 8PSK信号空间的集合划分信号空间的集合划分 10110100101001d2d0111701131015001111
23、06010210040000d2 2d1d1 2d02sin( ) 2 28第 7 章 差错控制编码 图 7-10 画出了一种 8PSK信号空间的集合划分,所有 8 个信号点分布在一个圆周上,都具有单位能量。连续 3 次划分后, 分别产生 2, 4, 8 个子集,最小欧氏距离逐次增大, 即 210ddd第 7 章 差错控制编码 图 7 11 TCM编码调制器方框图 卷积码编码器 从子集中 选择信号 选择子集剩余未编码数据比特未编码数据比特信号点信号映射第 7 章 差错控制编码 图 7 -12 4状态编码方案 D2D10 1 2 3 4 5 6 70 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 0 1 1 1 1输入最大有效位输出效率为1/2的卷积码编码器(a)(b)编码器状态00100111101001111111110011101001100000110010110010100000001010000000