数字数据通信的优点Word格式文档下载.docx
- 文档编号:19490919
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:20
- 大小:92.64KB
数字数据通信的优点Word格式文档下载.docx
《数字数据通信的优点Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数字数据通信的优点Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
适用于非实时通信系统,如计算机数据通信;
。
(2)前向纠错方式(FEC-ForwardErrorCorrection):
接收端在收到的信码中不仅能发现错码,而且还能够确定错码的准确位置,并纠正错码。
对于二进制系统,如果能够确定错码的位置,就能够纠正它(只要将出错处的bit取反即可)。
这种方式的优点是不需要反向清道(传送重发指令),也不存在由于反复重发所造成的时延,实时性好;
但是纠错设备要比检错设备复杂。
适用于实时通信系统,如语音通信等。
(3)反馈校验方式:
接收端将收到的信码原封不动地转发回发送端,并与原发送信码相比较。
如果发现错误,则发送端再进行重发。
这种方法原理和设备都较简单,但需要有双向信道。
由于每一信码都相当于至少传送了两次,所以传输效率较低。
(4)混合纠错方式(HEC-HybridErrorCorrection):
该方式是
(1)、
(2)两种方式的结合,接收端若发现有少量错码,在码的纠错能力以内,则用前向纠错方式进行纠错;
如果错码很多,超出了码的纠错能力范围,但能检测出有错码,则自动采用检错重发方式。
这种方式能使通信系统的误码率达到很低,因此得到了广泛应用。
此法又称为“纠检结合方式”。
在上述几种方法中,第
(1)、
(2)和(4)种都需要在接收端识别有无错码。
但信息码元序列是一随机序列,接收端是无法预知的(如果预先知道,就没有必要发送了),也无法识别其中有无错码。
为了能够在接收端识别错码,要由发送端的信道编码器在信息码元序列中增加一些监督码元。
这些监督码元和信码之间有一定的关系,使接收端可以利用这种关系由信道译码器来发现或纠正可能存在的错码。
这种在信息码元序列中加入监督码元的编码就称为差错控制编码,又称为信道编码或纠错编码。
在信息码中附加冗余的监督码降低了编码效率。
可见,信道编码是以降低通信的有效性为代价来换取通信可靠性的提高。
差错控制编码可以从不同的角度进行分类:
按码的控制功能分为:
检错码(只能发现差错)和纠错码(能发现并纠正错码)。
按信息码元和附加的监督码元之间的关系分为:
分组码和非分组码。
将信息码分组,为每组信码附加若干监督码,监督码元仅监督本码组中的信息码元,也就是说,每个码组的监督码元只和该码组的信息码元相关,而与其它组的信息码元无关,则这种码组称为分组码。
如果分组内信息码元和监督码元之间是线性关系,则称为线性分组码;
否则称为非线性分组码。
如果采用的编码规则使若干个相邻的码组都具有了一定的相关性,则称这种码为非分组码。
常用的卷积码就是非分组码中最主要的一类。
卷积码虽然编码后的码元序列也划分为码组,但每组的监督码元不仅与本组的信息码元有关,而且与前面码组的信息码元也有约束关系。
2.纠错编码的基本原理
如前所述,信道编码是在被传送的信息中附加一些监督码元,来检错和纠错。
下面以三位二进制码组为例,说明检错纠错的基本原理。
三位二进制码元共有23=8种可能的组合;
000、001、010、011、100、101、110、111。
下面分三种情况讨论
(l)如果这8种码组都用于传送消息,即每个码组都是许用码组。
在传输过程中若发生一个或多个误码,则一种码组会错误地变成另一种码组。
这样的编码既不能检错,也不能纠铝,完全没有抗干扰能力;
(2)若只选其中的000、011、101、110四种码组作为许用码组。
除上述4种许用码组以外的另外4种码组001、010、100、111称为禁用码组。
经观察我们可以发现,许用码组中“1”的个数为偶数个,禁用码组中“1”的个数为奇数个。
如果在传输过程中发生了一位或三位的错码,则“1”的个数就变为奇数个,许用码组就变为禁用码组;
接收端一旦发现这些禁用码组,就表明传输过程中发生了错误。
用这种简单的校验关系可以发现一个和三个错误,但不能纠正错误。
例如,当接收到的码组为010时,我们可以断定这是禁用码组,但无法判断原来的正确码组是哪个许用码组。
虽然原发送码组为101的可能性很小(因为发生三个误码的情况极少),但不能绝对排除;
即使传输过程中只发生一个误码,也有三种可能的发送码组:
000、011和110。
显然,上述编码无法发现2个错码。
以上编码方法相当于只传递00、01、10、11四种信息,而第三位是附加的监督位。
这位附加的监督码位与前面两位信息码元和在一起,保证码组中“1”码的个数为偶数。
下表示出了这种情况:
(3)如果进一步将许用码组限制为二种:
000和111。
则不难看出,用这种方法可以发现所有不超过2个的误码;
或能纠正一位错码。
纠正一位错码的方法是:
将8个码组分成二个子集,其中{000、100、010、001}与许用码组000对应,{111、011、101、110}与许用码组111对应;
这样,在接收端如果认为码组中仅有一个错码,只要收到第一子集中的码组即判为000,收到第二子集中的码组即判为111。
例如,当收到的码组为禁用码组100时,如果认为该码组中仅有1个错码,则可判断此错码发生在“1”位,从而纠正为000;
若认为上述接收码组中的错码数不超过两个,则存在两种可能性:
000错一位和111错两位都可能变成100,因而只能检测出存在错码而无法纠正它。
分组码一般用符号(n,k)表示,其中k是每个码组中二进信息码元的数目;
n是每个码组的总位数,又称为码组长度(码长);
n-k=r为每码组中的监督码元数目,或称监督位数目。
通常,将分组码规定为具有如下图所示的结构。
图中前面k位(an-1…ar)为信息位,后面附加个监督位(ar-1…a0)。
分组码的结构
在信道编码中,定义码组中非零码元的数目为码组的重量,简称码重,例如010码组的码重为1,011码组的码重为2。
把两个码组中对应码位上具有不同二进制码元的位数定义为两码组的距离,称为汉明(Hamming)距离,简称码距。
我们把某种编码中各个码组间距离的最小值称为最小码距,可记为dmin。
在上述三位二进制码组例子中,8种码组均为许用码组时,两码组间的最小距离为1,常记作dmin=1。
在选四种码组为许用码组情况下,最小码距式中dmin=2;
采用两种许用码组时,dmin=3。
由上例可知,一种编码的最小码距直接关系到这种码的检错和纠错能力,码距实际上是由一种码组变成另一种码组必须变化的比特数。
因此最小码距是信道编码的一个重要参数。
在一般情况下,对于分组码有以下结论:
①为检测e个误码,要求该编码的最小码距
dmin≥e+1
②为纠正t个误码,要求该编码的最小码距
dmin≥2t+1
③为纠正t个误码,同时检测e(e>t)个误码,要求最小码距
dmin≥t+e+1
所谓“纠正t个误码,同时检测e个误码”,是指若接收码组与某一许用码组间的距离在纠错能力范围t内,则按前向纠错方式工作,自动将误码予以纠正;
而当与任何许用码组间的距离都超过t时,则按检错方式工作。
也就是按“纠检结合的方式”工作。
在简要讨论了编码的纠(检)错能力后,再来分析一下差错控制编码的效用。
假设在信道中传输“0”和“l”的错误概率p相等,且p<<1,则在码长为n位的码组中发生r位错码的概率(误码率)为
例如,当码长n=7,p=10-3时,则有
可见,采用了差错控制编码,即使只能纠正(或检测)码组中的l~2个错0码,也可以使误码率下降几个数量级。
这就表明,只能纠(检)1~2个错码的简单编码也有很大实用价值。
事实上,常用的差错控制编码大多数也只能纠正(或检测)码组中的l~2个错码。
3.常用的简单信道编码
实际常用的信道编码主要有两类:
奇偶校验(ParityCheck)编码和CRC循环冗余校验(CyclicRedundancyCheck)编码。
(1)奇偶校验编码:
奇偶校验码分两种:
①一维奇偶校验码(又称单向奇偶校验码-RowParityCheck,也又称为单个位奇偶校验码-SingleBitParityCheck):
特点是,无论信息位有多少,都在后面只加一位奇偶监督位。
一维奇偶校验码又分为奇校验(OddCheck)码和偶校验(EvenCheck)码。
奇校验码所加的监督位保证码组中“1”的数目为奇数,即满足下式条件:
式中a0为监督位,前边的为信息位。
偶校验与奇校验类似,只不过是保证码组中“1”的数目为偶数,即满足条件:
以上两种一维奇偶校验码的检错能力相同,都只能检测奇数个的错码。
在接收端,按照以上两式计算各个码元的模2加和。
若结果与上式一样,就认为无错;
若相反,就说明存在错码。
②二维奇偶校验码(又称双向奇偶校验-RowandColumnParityCheck,也又称为双向冗余校验-VerticalandLongitudinalRedundancyCheck、矩阵码、方阵码或水平垂直奇偶校验码):
它是把上述奇偶校验码的若干码组按行排列成矩阵,然后再按列的方向为每一列增加一位奇偶监督位,如下图所示。
图中a01a02…a0m为每行奇偶校验码的监督位,cn-1cn-2…c0为按列进行第二次奇偶校验编码所增加的奇偶监督位,它们构成了一监督位行。
二维奇偶校验码克服了一维奇偶校验码只能检测奇数个错码的弊端,特别是不能检测突发错误的缺陷。
这种二维奇偶校验码不但能发现某一行或某一列上的奇数个错误,还能发现某一行(某一列)上的偶数个错误。
当某一行(某一列)出现偶数个差错时,该行(或该列)虽不能发现,但只要差错所在的列(或行)没有同时出现偶数个差错,这样的差错是可以检测出来的。
二维奇偶校验编码之所以检测突发错码,是配合交织技术来实现的。
在编码时将信息码元序列按行排成矩阵,每一行和每一列都加一位奇偶监督位。
发送时按列的顺序传输,收端仍将码元排成发送时的矩阵形状,即采用所谓的交织技术,将在一列上的突发错误转换为行上的随机错误,然后按行和按列进行奇偶校验。
(2)CRC循环冗余校验编码
CRC循环冗余校验编码以下简称为循环码,它是一种重要的线性分组码。
线性码有一个重要性质,就是它具有封闭性。
所谓封闭性,是指一种线性码中的任意两个码组之和仍为这种码中的一个码组。
这就是说,若A1和A2是一种线性码中的两个许用码组,则(A1+A2)(指模2加,也就是异或)仍为其中的一个码组。
循环码不仅具有封闭性,它还具有另外一个重要性质——循环性,即循环码中任一码组循环一位(将最右端的码元移至左端,或反之)以后,仍为该码中的一个码组。
在下表中,给出了一种(7,3)循环码的全部码组,共有23=8个码组。
由此表可以直观的看出这种码的循环性。
表㈠(7,3)循环码
码组序号
信息位(a6a5a4)
监督位(a3a2a1a0)
1
000
0000
2
001
0111
3
010
1110
4
011
100
5
1011
6
101
1100
7
110
0101
8
111
0010
下表给出了另一种循环码——(7,4)循环码的全部码组,共有24=16个。
与上边(7,3)循环码相比,(7,4)循环码不但含有全0码,还含有全1码,而且除全0全1码组外的14个码组构成了两个循环组(每组中的码组互为循环关系)。
如下表中的特殊符号所示,打“★”号的为一个循环组,打“●”号的为另一个循环组,全0和全1码组各自成一个循环。
表㈡(7,4)循环码
信息位(a6a5a4a3)
监督位(a2a1a0)
000■
0001
101★
111●
0011
010★
0100
011★
110●
0110
100★
001●
9
1000
110★
10
1001
011●
11
1010
001★
12
100●
13
101●
14
1101
000★
15
010●
16
1111
111■
以上介绍了循环码的循环性。
CRC循环冗余校验编码的原理和编译码方法是我们所关心的重点问题,将在下一部分重点介绍。
在总线或存储器部分经常用到奇偶校验码,它以最小的冗余量去检测某位错误,提供了不可靠的小型测量。
然而,奇偶校验只能发现1个错误或奇数个错误,而且不能纠错。
另一些系统更深入一些,利用汉明码来检测和纠正错误,而汉明码的每字节或字比奇偶码需要更多的冗余位
大多数情况下,高速串行通信传送数据的错误是多位并发的。
这种情况下,奇偶校验码无意义,而汉明码的检验效果也受到许多限制,比如汉明码中有大量的冗余码(32位字需7位码),每个字的冗余位传输将使带宽减弱1/5,即需要增加20%的带宽来传送冗余位。
这在串行通信中是不可取的。
实际上,在电磁屏蔽或光纤传输的情况下,任何类型的位错误都是相当少的(<<1,1012位=,而这些错误通常不能被汉明码纠正或被奇偶码检测,所以,那些校验位的带宽开销也是无意义的。
在串行通信系统中,数据的完整性最好通过CRC校验码来检测。
三、CRC循环冗余校验码:
1.CRC码的基本原理
CRC码是线性分组码中最重要的一种。
它是在严密的代数学理论基础上建
立起来的。
这种码的编码和解码设备都不太复杂,且检(纠)错的能力较强,是各种差错控制编码中使用较多的一种。
循环码常采用码多项式的形式表示,方法是把码组中各码元当作是一个多项式的系数。
把一个长为n的码组(an-1an-2an-3…a0)表示为一个n-1次多项式
这样,任何一个由二进制位串组成的码组可以和一个只含有0和1两个系数的多项式建立一一对应的关系。
例如,7位码组1100101可以表示为码多项式
注意,在码多项式中,x只是码元位置的标记,我们并不关心x的取值。
对于一个分组码,k位信息位可对应一个(k-1)次多项式K(x);
r位监督位对应于一个(r-1)次多项式R(x);
由k位信息位后面加上r位监督位组成的n=k+r位码组,则对应于一个(n-1)次多项式
T(x)=xr·
K(x)+R(x)——①
其中,K(x)乘以因子xr,相当于将k位信息位左移r位;
“+R(x)”对应于添加在其后的监督位。
在循环码编码时,要由已知的k位信息位产生r位监督位,就是要已知多项式K(x)求多项式R(x)。
⑴生成矩阵
设码组A=(a6a5a4a3a2a1a0),其中高四位为信息位,低三位为监督位。
则码组A与信息位的关系可由下式表示
或者
——②
其中G为一个4×
7(也就是k×
n)的矩阵
可见,已知k位信息位,由矩阵G就可以产生整个循环码组,因此,G被称为循环码的生成矩阵。
Ik是一个k×
k阶单位方阵,Q是一个k×
r阶矩阵。
具有[IkQ]形式的生成矩阵称为典型生成矩阵。
由典型生成矩阵得出的码组A中,信息位不变,监督位附加于其后,这种码称为系统码。
注意:
在利用②式计算循环码组时,加法均为模2加。
因此,如果找到了码的生成矩阵G,则编码的方法就完全确定了。
由代数理论可知,G矩阵的各行应该是线性无关的。
因为由式②可以看出,任一码组A都是G的各行的线性组合。
G共有k行,若它们线性无关,则可组合出2k种不同的码组A,它恰是有k位信息位的全部码组;
若G的各行有线性相关的,则不可能由G生成2k种不同码组了。
实际上,G的各行本身就是一个码组。
因此,如果已有k个线性无关的码组,则可以用其作为生成矩阵G,并由它生成其余的码组。
⑵生成多项式
在循环码中,一个(n,k)码有2k个不同码组。
若用g(x)表示其中前(k-1)位皆为“0”的码组,则g(x)、xg(x)、x2g(x)、…、xk-1g(x)都是该循环码的码组,而且这k个码组是线性无关的。
因此它们可以用来构成此循环码的生成矩阵G。
在循环码中除全“0”码组外,其余码组连“0”的长度最多只能有(k-1)位。
否则,在经过若干次循环移位后将得到一个k位信息位全为“0”,但监督位不全为“0”的码组,这在线性码中显然是不可能的。
因此g(x)必须是一个常数项不为“0”的(n—k)次多项式,而且,这个g(x)还是这种(n,k)码中次数为(n-k)的唯一的一个多项式。
因为如果有两个,则由码的封闭性,把这两个相加也应该是一个码组,且此码组多项式的次数将小于(n—k),即连续“0”的个数多于(k-1)。
显然,这是与前面的结论矛盾的,故是不可能的。
我们称这唯一的(n-k)次多项式g(x)为码的生成多项式。
一旦确定了g(x),则整个(n,k)循环码就被确定了。
根据以上讨论,已知g(x),则循环码的生成矩阵G可以写成
类似式②,我们可以写出表㈠所示的(7,3)循环码组,即
上式表明,所有码多形式T(x)都可以被生成多项式g(x)整除,而且任一次数不大于(k-1)的多项式乘以g(x)都是码多项式。
关于生成多项式,有个重要的结论:
(n,k)循环码的生成多项式g(x)一定是xn+1的因式,即xn+1=g(x)h(x);
反之,如果g(x)是一个n-k次多项式,且能除尽xn+1,则此g(x)一定生成一个(n,k)循环码。
例如,(x7+1)可以分解为
(7,4)循环码的生成多项式可以选择x3+x2+1或x3+x+1;
而(7,3)循环码的生成多项式可以选择(x+1)(x3+x2+1)或(x+1)(x3+x+1);
(7,6)循环码的生成多项式为x+1,实际上就是简单的奇偶校验码。
2.循环码的编码和译码方法
以上介绍了循环码的基本原理。
那么,我们应该如何根据k位信息位求出对应的r位监督位,也就是在式①中,我们应该如何根据信息多项式K(x)求出监督位R(x)。
由以上讨论可知,T(x)应能被生成多项式g(x)整除。
不难看出,对于给定的信息多项式K(x),并已知g(x),xr·
K(x)/g(x)所得的余式即为R(x)。
简单的推导如下:
设xr·
K(x)/g(x)=Q(x)(商式)……R(x)(余式),则有xr·
K(x)=Q(x)·
g(x)+R(x)。
所以有
T(x)=xr·
K(x)+R(x)
=Q(x)·
g(x)+R(x)+R(x)
=Q(x)·
g(x)
因为以上多项式间的加法为模2加,则有R(x)+R(x)=0。
但要注意:
上述多项式的除法是模2除,即码多项式系数间的减法要用模2加代替,即在列竖式计算时,上下两行系数不是相减,而是做模2加(即异或运算)。
在接收端检验所接收到数据信号列T(x)’(含有信息位序列和监督位序列)是否能被g(x)对二取模整除,如果不能,则存在传输错误位。
⑴CRC循环冗余校验常用的标准生成多项式
常用的标准生成多项式有如下4个(其中前三个生成多项式是国际标准):
①CRC(12位)=X12+X11+X3+X2+X+1
②CRC(16位)=X16+X15+X2+1
③CRC(CCITT)=X16+X12+X5+1
④CRC(32位)=X32+X26+X23+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
CRC(16位)多项式对应的二进制校验序列为11000000000000101B。
国际电报电话咨询委员会(CCITT)推荐的多项式CRC(CCITT)对应的二进制校验序列为10001000000100001B。
CRC-12码通常用于字长6-bit,CRC-16、CRC-CCITT及CRC-32码则用于字长8-bit;
其中CRC-16为美国采用,而CRC-CCITT为欧洲国家所采用,CRC-32码大都被采用在一种称为Point-to-Point的同步传输中。
CRC循环冗余校验具有比奇偶校验强得多的检错能力。
CRC-16和CRC-CCITT两种生成多项式生成的CRC码可以捕捉一位错、二位错、具有奇数个错的全部错误,可以捕捉突发错长度小于16的全部错误、长度为17的突发错的99.998%、长度为18以上的突发错的99.997%。
但是,当传输中发生的错误多项式e(x)能被生成多项式g(x)对二取模整除时,它就不可能被g(x)探测出来。
例如当e(x)=g(x)时,接收端收到的T’(x)=T(x)+e(x)(模2加),因此会有假象T’(x)/g(x)=0,此时的错误无法检测出来。
⑵具体的编译码步骤
采用CRC编码方法,发端和收端必须事先商定一个生成多项式g(x),其最高位和最低位的系数必须是1。
具体步骤如下:
①选定生成多项式g(x),阶数为r,对应r+1位校验序列G。
②发端将信息码流分成为m位的码组(信息帧),相应的信息多项式为m(x)。
在信息帧的末尾附加r个0,使帧成为m十r位比特串M’,相应的多项式则为xr·
m(x)。
③按模2除法用g(x)除xr·
m(x),求出余式r(x),它所对应的r位比特串R就是附加在信息帧末尾的CRC监督位。
也就是用比特串M’除以校验序列G,得到的r位余数比特串R就是CRC监督位。
④编出的码组对应的多项式T(x)=xr·
m(x)+r(x)。
可见T(x)/g(x)的余数为0。
T(x)所对应的m+r位比特串T就
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 数据通信 优点
![提示](https://static.bdocx.com/images/bang_tan.gif)