1、第十章 差错控制编码10.1 差错控制编码的基本原理10.2常用的简单编码10.3 线性分组码10.4循环码10.5卷积码 2024/5/21 周二信息与通信工程系12024/5/21周二可编辑210.1 差错控制编码的基本原理发生误码原因:系统特性不理想(乘性干扰),数字信号通过系统时产生波形失真,在接收端判决时会产生判决错误。信道中的噪声(加性干扰),这种干扰随机地与信号叠加,使信号波形产生失真,引起判决错误。解决办法:(1)适当增加发送信号功率。(2)选择抗噪声性能好的调制解调方式。(3)采用最佳接收。(4)采用差错控制编码。2024/5/21周二可编辑310.1 差错控制编码的基本原理
2、信源编码目的:提高通信系统的有效性。差错控制编码(信道编码、抗干扰编码或纠错编码)目的:提高通信的可靠性。差错控制编码方法:通过人为地加入多余度,使信 号在一定的干扰条件下,具有 检测或纠正错码的能力。2024/5/21周二可编辑410.1 差错控制编码的基本原理信道分类:随机信道、突发信道、混合信道。(1)随机信道:错码出现互不相关、统计独立。如:高斯白噪声引起的错码。(2)突发信道:错码的出现前后相关。错码出现时,在短时间内有一连串的错码,而该时间过后又有较长的时间无错码。如:随机的强突发脉冲干扰引起的错码。(3)混合信道:产生的错码既有随机错码又有突发错码。2024/5/21周二可编辑5
3、10.1 差错控制编码的基本原理常用的差错控制方式1.ARQ(AutomaticRepeatRequest)方式(自动请求重发或检错重发)发端发送出可以发现错误的码字。经过传输到接收端译码后,如果没有发现错误,则输出。如果发现错误,则自动请求发端重发,直到正确接收到码字为止。2024/5/21周二可编辑610.1 差错控制编码的基本原理ARQ系统组成特点:设备简单、双向信道、传输效率低。2024/5/21周二可编辑710.1 差错控制编码的基本原理2.反馈校验方式接收端收到码字后,立即将接收到的码字返回发送端。发送端将返回的码字与发端缓冲存储器中相应的码字比较,若发现与发送码不同,即认为产生了
4、错误,就重发上一次的码字。特点:设备简单、双向信道、传输效率低。2024/5/21周二可编辑810.1 差错控制编码的基本原理发送端发出的码字不仅能够发现错误,而且能够纠正错误。在接收端译码后,若没有错误则直接输出。若有错误,则在接收端自动纠正后,再输出。3.FEC(ForwardErrorControl,前向纠错)方式特点:不需要反向信道、实时性好、传输效率高。但纠错编译码方法复杂。2024/5/21周二可编辑910.1 差错控制编码的基本原理将ARQ方式和前向纠错方式结合使用。传输错码较少时,采用前向纠错方式,自动纠正错码。在错码较多时,采用ARQ方式自动请求重发。4.HEC(Hybrid
5、ErrorControl,混合纠错)方式2024/5/21周二可编辑1010.1 差错控制编码的基本原理在有扰信道中只要信息的传输速率R小于信道容量C,总可以找一种编码方法,使信息以任意小的差错概率通过信道传送到接收端,即误码率Pe可以任意小,而且传输速率R可以接近信道容量C。但若R C,在传输过程中必定带来不可纠正错误,不存在使差错概率任意小的编码。香农有扰信道编码定理:香农有扰信道的编码定理本身并未给出具体的纠错编码方法,但它为信道编码奠定了理论基础。从理论上指出了信道编码的发展方向。2024/5/21周二可编辑1110.1 差错控制编码的基本原理误码率:Pe=e n E(R)式中,n为编
6、码的码字长度(简称码长);E(R)为误码指数。2024/5/21周二可编辑1210.1 差错控制编码的基本原理减小误码率Pe e的两种途径:(2)在C及R一定的情况下,增加n可以使Pe指数减小。(1)n 及R一定时,增加信道容量C。由图可见,E(R)随C的增加而增大。由信道容量公式知,增加C,可通过增加S和B来实现;2024/5/21周二可编辑1310.1 差错控制编码的基本原理重复编码的例子:天气预报消息发布晴雨纠检错能力第一种编码方法许用码、禁用码、最大似然准则1 01 0无无纠检错能力第二种编码方法11 0011 00可检1位错(01、10)、无无纠错能力第三种编码方法111 00011
7、1 000可检2位错、可可纠1位错(001、010、100000011、101、110111)2024/5/21周二可编辑1410.1 差错控制编码的基本原理码间距离d 及检错纠错能力码字:由信息位和监督位组成的一组码元。用C=(cn-1 cn-2 c0 )表示。码元:组成码字的元素,用Ci表示。码长:码字中码元的个数,用n表示。(许用码、禁用码)码组:由多个许用码组成的一组码字。2024/5/21周二可编辑15 简称码距,又称汉明距离,是码组中任意两个码字之间对应位上码元取值不同的个数。等于两个码字对应位模2相加后“1”的个数。码间距离d(codedistances)例:例:111 111
8、、000000,d d=3=3;1111、00 00,d d=2=2。1011011 11 10 0 、1011010 01 11 1 ,d d=2=2 。10.1 差错控制编码的基本原理2024/5/21周二可编辑16码间距离的几何意义10.1 差错控制编码的基本原理最小码间距离d0:码组中各码字之间最小的码距。码组中各码字之间最小的码距。2024/5/21周二可编辑1710.1 差错控制编码的基本原理最小码间距离d0与检错纠错能力的关系(1)(1)当码组仅用于检测错误时,若要求检测当码组仅用于检测错误时,若要求检测e e个错误,个错误,则最小码距为:则最小码距为:d d0 0e e+1+1
9、 2024/5/21周二可编辑1810.1 差错控制编码的基本原理(2)(2)当码组仅用于纠正错误时,为纠正当码组仅用于纠正错误时,为纠正t t个错误,要求个错误,要求 最小码距为:最小码距为:d d0 0 22t t+1 +1 2024/5/21周二可编辑19(3)(3)当码组既要检错,又要纠错时,为纠正当码组既要检错,又要纠错时,为纠正t t个错个错误,同时检测误,同时检测e e个错误,则要求的最小码距为个错误,则要求的最小码距为d d0 0 e e+t t+1 (+1 (e t e t)10.1 差错控制编码的基本原理2024/5/21周二可编辑20差错控制编码的效果 在码长为n的码字中
10、刚好发生r个错误的概率为:10.1 差错控制编码的基本原理P7(1)710-3P7(2)2.110-5P7(3)3.510-8当n=7,P=10-3时,有:2024/5/21周二可编辑21纠错编码的分类 10.1 差错控制编码的基本原理2024/5/21周二可编辑2210.1 差错控制编码的基本原理编码效率K:码字的信息码元个数r:监督码元个数n:码元总的个数(总码长)2024/5/21周二可编辑2310.2常用的简单编码1.奇偶监督码2.二维奇偶监督码3.恒比码(等重码)2024/5/21周二可编辑2410.2常用的简单编码广泛应用于计算机数据传输中。偶监督码:给信息位后增加一位监督位,使码
11、字中“1”的数目为偶数。编码规则:在每个分组的信息位后增加监督位,无论 信息位有多少位,监督位只有一位。上式为偶监督码的监督关系,也称为校验方程。检测能力:检测奇数个错。1.奇偶监督码(奇偶校验码)2024/5/21周二可编辑2510.2常用的简单编码奇监督码:给信息位后增加一位监督位,使码字 中“1”的数目为奇数。其校验方程为 奇偶监督码的编码效率较高,尤其是当码长 n 较大时这一特点更为明显。2024/5/21周二可编辑2610.2常用的简单编码2.二维奇偶监督码(方阵码、行列监督码或水平垂直奇偶监督码)编码方法:把m 个信息码字排列成一个方阵,每个码字构成方阵的一行,在每一行的最后按奇偶
12、监督规则增加一位水平监督位,再按列的方向每列增加一位垂直监督位(包括行监督位的列)2024/5/21周二可编辑27可以检测每行的奇数个错和每列的奇数个错;行列交叉可以检测每行或每列的偶数个错;但 当发生的错误为刚好构成矩形的四个错码时,则不能检测出错误。检测能力:10.2常用的简单编码 只有一行出现奇数个错码时,按行检测可以判断出错在那一行,按列检测可以确定该行的那一列发生了错误,行列交叉可以判断错误的位置,即可纠错。此外,此种编码的效率较高。纠错能力:2024/5/21周二可编辑283.恒比码(等重码)每个许用码含有相同数目的“1”。码字中“1”与“0”的个数之比是恒定的,故称恒比码。码字中
13、“1”的个数称为码重,因此恒比码又称等重码。对于某种特定的恒比码,当码长确定后,其“1”的个数就确定了。所以在检测中只要计算“1”的个数就可以确定是否发生错误。恒比码多用于电传机中。我国电传机传输汉字采用的是“5中取3”恒比码,其码长为5,码字中“1”的个数为3。这种码我国称为保护电码。码长为5的二进制数共有32种组合,选择其中含有3个“1”的组合作为许用码,为10个。10.2常用的简单编码2024/5/21周二可编辑29 我国的保护电码与国际电码阿拉伯阿拉伯数字数字保护电保护电码码国际电国际电码码阿拉伯阿拉伯数字数字保护电保护电码码国际电国际电码码0011010110150011100001
14、101011111016101011010121100111001711100111003101101000080111001100411010010109100110001110.2常用的简单编码2024/5/21周二可编辑3010.3 线性分组码一、线性分组码概念 线性分组码是指信息位和监督位满足一组线性方程,即其编码规则可用一组线性方程来描述的分组码。信息位k信息位k 监督位r记为(n,k)n:码元总的个数(总码长)2024/5/21周二可编辑3110.3 线性分组码系统码:码字的前一部分是连续k 位信息码元,后一部 分是连续r 位监督码元,具有这种结构的线性 分组码称为系统码。否则称为
15、非系统码。纠错原理n 位长的二进制码共有 码字。k 位长的二进制码共有 码字,故 个信息段仅构成 个n 位长的码字,称为许用码字而其他 个码字为禁用码字,当出现禁用码字时就可以发现或纠正错误。2024/5/21周二可编辑3210.3 线性分组码二、线性分组码的一致检验(监督矩阵)矩阵HH矩阵是用来说明监督码元与信息码元之间关系的矩阵。以(7,3)码(k=3,r=4,n=7)为例:码字矢量 C C=c6c5c4c3c2c1c0 信息码元:c6c5c4 监督码元:c3c2c1c0监督方程为:r 行2024/5/21周二可编辑3310.3 线性分组码将上方程系数写为矩阵形式2024/5/21周二可编
16、辑3410.3 线性分组码令 H=称H为线性分组码的一致检验矩阵(监督矩阵)。H=P I4故有:故有:2024/5/21周二可编辑3510.3 线性分组码HH的性质:的性质:(1)H是 阶矩阵,即行数为监督码元个数,列数为码长。H中每行元素表明监督方程 中线性相关的码元系数。故若H已知,则码 元之间的监督关系唯一确定。(2)H=P I4,即H由两部分组成,前半部称 为P矩阵 ,后 半部称为I矩阵 。此时,称 H为典型矩阵,只有系统码才具有。(3)H是接收端检错的依据。2024/5/21周二可编辑3610.3 线性分组码三、线性分组码的生成矩阵GG矩阵是在给定信息位的条件下,如何生成码字的矩阵。
17、仍以(7,3)码(k=3,r=4,n=7)为例:码字矢量 C C=c6c5c4c3c2c1c0 信息码元:c6c5c4;监督码元:c3c2c1c0在监督方程基础上,加上信息码元方程。监督方程2024/5/21周二可编辑3710.3 线性分组码2024/5/21周二可编辑3810.3 线性分组码转置转置生成矩阵GG码字矩阵故有:故有:2024/5/21周二可编辑3910.3 线性分组码生成矩阵2024/5/21周二可编辑4010.3 线性分组码GG的性质:的性质:(1)G是 阶矩阵,即行数为信息码元个数,列数为码长。故若G给定,则在已知信息码 元的情况下,就可得到码字(生成矩阵)。(2)G=IK
18、 Q为标准生成矩阵,G中每行是互相 独立的(线性不相关)。实际上,G中每行就是 一个许用码字。推论:由K互相独立的码字可构成生成矩阵。2024/5/21周二可编辑4110.3 线性分组码GG的性质(二)的性质(二)(3)G与H的 关系G=IK QH=P Ir可以证明:可以证明:或或如上例中:如上例中:2024/5/21周二可编辑4210.3 线性分组码GG的性质(三)的性质(三)(4)对偶码将一码组(A)中的H当作另一码组(B)中的G,或反之,则称B为A的对偶码。如:如:则(7,4)为(7,3)的对偶码。(5)封闭性 线性分组码组中,任意两个码字之和仍是此码组中的一个码字。2024/5/21周
19、二可编辑4310.3 线性分组码四、线性分组码的译码及伴随式1.译码译码是判断接收码字是否为许用码,即根据判断接收码字 是否满足定义 为错误图样,当 时,无误码。2024/5/21周二可编辑4410.3 线性分组码当 时,认为第i 位发生了误码。将 代入 中,得:称 为伴随式,又称校验子。当 时,无错误出现。2024/5/21周二可编辑4510.3 线性分组码当 时,认为第i 位发生了误码。由 伴随式可检测 个错误。此时,为 中的第i列(从右起),故可用 的列来表示误码位置。2024/5/21周二可编辑4610.3 线性分组码当 时,认为第i 位发生了误码。由 伴随式可检测 个错误。要纠正小于
20、或等于t 个错,必须满足此时,为 中的第i列(从右起),故可用 的列来表示误码位置。或2024/5/21周二可编辑4710.3 线性分组码编码效率 汉明码是一种可以纠正单个随机错误的线性分组码。它是一种完备码,编码效率很高。汉明码2024/5/21周二可编辑4810.3 线性分组码例:2024/5/21周二可编辑4910.3 线性分组码(4)编码效率高。(1)汉明码长汉明码特点(2)信息位(3)最小码距 ,纠错能力为 。2024/5/21周二可编辑5010.4 循环码一、循环码的基本概念及码多项式定义:具有循环性的线性分组码。循环性:码组中任一许用码字(全“0”码除外)循环左移 (或循环右移)
21、后所得到的码字仍为该循环码组 中的另一许用码字。2024/5/21周二可编辑5110.4 循环码一种(7,3)循环码序序号号移位移位次数次数信信 息息 位位监监 督督 位位序序号号移位移位次数次数信信 息息 位位监监 督督 位位000000004610011101 10 000111015410100112 25 501001116311010013 31 101110107211101002024/5/21周二可编辑5210.4 循环码码多项式:把循环码中的码字用多项式来表示,码字中各 码元的取值作为码多项式的系数。例:对 码2024/5/21周二可编辑5310.4 循环码码多项式运算:定理
22、定理10.4.110.4.1 若T(x)是长为n 的循环码中某个许用码字的码 多项式,则xi T(x)在按模 xn+1运算下,也是该 循环码中一个许用码字的码多项式。如:(7,3)循环码中许用码字0011101的码多项式为则(模 运算)2024/5/21周二可编辑5410.4 循环码(模 运算)对应的码字为1101001,它是该(7,3)循环码中的一另一许用码字,它是循环码0011101左移3次后形成的。2024/5/21周二可编辑5510.4 循环码 定理定理10.4.210.4.2 在循环码(n,k)中,n-k 次幂的码多项式有一 个,且仅有一个,用g(x)表示。称这唯一的n-k次 多项式
23、g(x)为循环码的生成多项式。g(x)的常数项 不为零。生成多项式及生成矩阵 一旦g(x)确定,则该(n,k)循环码就被确定了。g(x)是循环码中幂次最低的码多项式。由它左移就可产生其它码多项式。比如xg(x)、x2g(x)、x3g(x)等。用k个互相独立的码多项式g(x)、xg(x)、x2g(x)xk-1g(x)可以构造出循环码的生成矩阵G(x)G(x)为2024/5/21周二可编辑5610.4 循环码生成矩阵2024/5/21周二可编辑5710.4 循环码例如,(7,3)循环码中最高次幂为n-k次的码字为0010111,其生成多项式g(x)=x4+x2+x+1。则利用上式可得其 生成矩阵G
24、(x)为上式不符合典型生成矩阵的形式,所以它不是典型生成矩阵,由它编出的码字不是系统码。但是对此矩阵作线性变化可以变换成典型生成矩阵的形式。2024/5/21周二可编辑5810.4 循环码例如,(7,3)循环码中最高次幂为n-k次的码字为0010111,其生成多项式g(x)=x4+x2+x+1。则利用上式可得其 生成矩阵G(x)为上式不符合典型生成矩阵的形式,所以它不是典型生成矩阵,由它编出的码字不是系统码。但是对此矩阵作线性变化可以变换成典型生成矩阵的形式。2024/5/21周二可编辑5910.4 循环码 定理定理10.4.310.4.3 循环码(n,k)的生成多项式g(x)是xn+1的一个
25、因式。产生g(x)的方法:对(xn+1)进行因式分解,从中找出一个最 高次幂为(n-k)次且常数项不为零的因式,作为生成多项式g(x)。例如:对于(7,3)循环码,g(x)的最高次幂为4。可从(x7+1)中分解得到g(x)。x7+1=(x+1)(x3+x2+1)(x3+x+1)生成多项式可选为g1(x)=(x+1)(x3+x2+1)=x4+x2+x+1或g2(x)=(x+1)(x3+x+1)=x4+x3+x2+2024/5/21周二可编辑6010.4 循环码循环码的编码及解码1.编码设信息码多项式为m(x)m(x)=mk-1 x k-1+mk-2 x k-2+m1 x+m0 m(x)的最高次幂
26、为k-1。将m(x)左移n-k位成为xn-km(x),其最高次幂为n-1。xn-km(x)的前一部分为连续k位信息码,后一部分为r=n-k位的“0”,r正好是监督码的位数。所以在它的后一部分添上监督码,就编出了相应的系统码。2024/5/21周二可编辑6110.4 循环码所以T(x)能被g(x)整除,其最高次幂为n-1。T(x)的前一部分为连续k位信息码,后一部分为r=n-k位的监督码。T(x)为循环码的码多项式,而且是系统码。2024/5/21周二可编辑6210.4 循环码(1)信息位m(x)左移n-k位成为xn-km(x)。信息码111左 移4位成为1110000。例:(7,3)循环码编码
27、过程。选择生成多项式:g(x)=x4+x3+x2+1,设信息码为111。(2)作除法,求出余式r(x)。()(3)构成系统码T(x)=xn-km(x)+r(x)。1110000+0100=1110100。2024/5/21周二可编辑6310.4 循环码(7,3)循环码的编码器g(x)=x4+x3+x2+1,2024/5/21周二可编辑6410.4 循环码(n,k)循环码的编码器g(x)=gn-k xn-k+gn-k-1xn-k-1+g1 x+1 2024/5/21周二可编辑6510.4 循环码2.解码:分检错和纠错两种情况检错解码原理:它利用任何码多项式都可以被生成多项式g(x)整除原理实现。设发送码字为T(x),接收码多项式为R(x),做除法有判断余式是否为零,即可判断码字R(x)有无错码。2024/5/21周二可编辑6610.4 循环码纠错解码原理(1)用生成多项式g(x)除接收码字R(x)=T(x)+E(x),得到余式;(2)按余式用查表方法或通过某种运算得到错误图样E(x);(3)从R(x)中减去E(x),得到纠错后的原发送码字T(x)。纠正错误,需要知道错误图样E(x),以便纠正错误。原则上纠错解码可按以下步骤进行。2024/5/21周二可编辑67本章习题:10-4、10-5、10-8、10-10、10-13、10-18