通信原理—差错控制编码基本理论
通信原理—差错控制编码基本理论
差错控制概述1。
差错的概念所谓差错,就是在通信接收端收到的数据与发送端实际发出的数据出现不一致的现象.2。
差错类型通信信道的噪声分为热噪声和冲击噪声两种。
由这两种噪声分别产生两种类型的差错,随机差错和突发差错.热噪声是由传输介质导体的电子热运动产生的,它的特点是:时刻存在,幅度较小且强度与频率无关,但频谱很宽,是一类随机噪声。
由热噪声引起的差错称随机差错。
此类差错的特点是:差错是孤立的,在计算机网络应用中是极个别的。
与热噪声相比,冲击噪声幅度较大,是引起传输差错的主要原因。
冲击噪声的持续时间要比数据传输中的每比特发送时间要长,因而冲击噪声会引起相邻多个数据位出错。
冲击噪声引起的传输差错称为突发差错。
常见的突发错是由冲击噪声(如电源开关的跳火、外界强电磁场的变换等)引起,它的特点是:差错呈突发状,影响一批连续的bit(突发长度)。
计算机网络中的差错主要是突发差错。
通信过程中产生的传输差错,是由随机差错和突发差错共同构成的.3。
误码率数据传输过程中可用误码率Pe来衡量信道数据传输的质量,误码率是指二进制码元在数据传输系统中出现差错的概率,可用下式表达:4。
差错控制差错控制是指在数据通信过程中能发现或纠正差错,将差错限制在尽可能小的允许范围内。
差错检测是通过差错控制编码来实现的;而差错纠正是通过差错控制方法来实现的。
差错控制编码差错控制编码的原理是:发送方对准备传输的数据进行抗干扰编码,即按某种算法附加上一定的冗余位,构成一个码字后再发送。
接收方收到数据后进行校验,即检查信息位和附加的冗余位之间的关系,以检查传输过程中是否有差错发生。
差错控制编码分检错码和纠错码两种,检错码是能自动发现差错的编码,纠错码是不仅能发现差错而且能自动纠正差错的编码。
衡量编码性能好坏的一个重要参数是编码效率R:其中,n表示码字的位长,k表示数据信息的位长,r表示冗余位的位长.计算机网络中常用的差错控制编码是奇偶校验码和循环冗余码。
差错控制编码要点
2024/2/9
2
第3页/共67页
10.1 差错控制编码的基本原理
常用的差错控制方式
1. ARQ(Automatic Repeat Request)方式 (自动请求重发或检错重发)
发端发送出可以发现错误的码字。经过传输到接 收端译码后,如果没有发现错误,则输出。如果发现 错误,则自动请求发端重发,直到正确接收到码字为 止。
2024/2/9
11
第12页/共67页
10.1 差错控制编码的基本原理
码间距离d 及检错纠错能力 码字:由信息位和监督位组成的一组码元。
用C = ( cn-1 cn-2 … c0 )表示。
(许用码、禁用码) 码元: 组成码字的元素,用Ci表示。 码长:码字中码元的个数,用n表示。
码组:由多个许用码组成的一组码字。
2024/2/9
7
第8页/共67页
10.1 差错控制编码的基本原理
香农有扰信道编码定理:
在有扰信道中只要信息的传输速率R小于信道容 量C,总可以找一种编码方法,使信息以任意小的差 错概率通过信道传送到接收端,即误码率Pe可以任意 小,而且传输速率R可以接近信道容量C。但若R > C, 在传输过程中必定带来不可纠正错误,不存在使差错 概率任意小的编码。
9
第10页/共67页
10.1 差错控制编码的基本原理
减小误码率Pe的两种途径:
(1)n 及 R一定时,增加信道容量C。由图可见,E(R) 随C的增加而增大。由信道容量公式知, 增加C, 可通过增加S和B来实现;
(2)在C及 R一定的情况下,增加n可以使Pe指数减小。
2024/2/9
10
第11页/共67页
我国电传机传输汉字采用的是“5中取3” 恒比码,其码长 为5,码字中“1”的个数为3。这种码我国称为保护电码。码长 为5的二进制数共有32种组合,选择其中含有3个“1”的组合作 为许用码,为10个。
通信原理第11章-差错控制编码全章课件
编 码 前 A •E
编 B码C
•后 • D
信噪比 (dB)
§11.4
简单的实用编码
11.4.1 奇偶监督码
编码规则:
只一位监督码元 奇监督码 偶监督码
适用:
(∵不知错码位置) 检测随机出现的零星差错。
码率:
k n 1 RC n n 很高 (只有一位监督位)。
例
解 根据偶数监督规则:
编出的码字应为 : 11011
证明:
d0 e1
d0 2t 1
d0 e t 1 (e t)
§11.3
纠错编码的性能
系统带宽和信噪比的矛盾
例
右图所示的某种编码性能
Pe
10-1
A点
10-2 10-3
B点
10-4
10-5
可见:不增大发送功率, 就能
降低误码率约一个半数量级。
10-6
2PSK调制
编 码 前 A• • 编 B• 码 C •后 • D
(n,k) 线性分组码译码的三个步骤:
2) 由S 找到错误图样E; 3) 由公式 A = B + E 得到译码器译出的码组。
线性分组码的性质
① 封闭性
A1和A2
(A1+A2)
证明:若A1和A2是两个码组,则有 A1 HT = 0 和 A2 HT = 0, 将两式相加,有 A1 HT + A2 HT = (A1 + A2) HT = 0 (证毕)
故能 纠1 或检2
线性分组码的一般原理 H ---监督矩阵
将前面(7, 4)汉明码的监督方程:
改写为:
a6 a5 a4 a2 0 a6 a5 a3 a1 0 a6 a4 a3 a0 0
通信原理 第十一讲 差错控制编码
(1,0,0)
码距与检错
检出e个错码,最小码距d0≥e+1
(0,1,0) (0,1,1) (1,1,1)
(1,1,0)
e A B d0
(0,0,1)
(0,0,0)
(1,0,0)
(1,0,1)
7
码距与纠错
纠正t个错码,最小码距d0≥2t+1
t A
t B d0
考察偶数监督码,an-1@an-2@…@a0=0 接收端计算:S= an-1@an-2@…@a0 a0是监督位, an-1 an-2 … a1 是信息位 若S=0,无错;S=1,有错 S的代数关系式称作监督关系式,S称作校正子 S为1位,只能指示有错或没错,不能指出错误位置 (纠错) 所以一位监督位只能表示“有错”或“没错”两种信息
10001 ⊕ 11001 01000
信息码 监督码
11001 ⊕ 01001 10000
信息码 监督码
信息码组有奇数个 “1”,校验码组取合成 码组,全为“0”,无误 码
信息码组有偶数个 “1”,校验码组取合成 码组反码10111,4个 “1”,误码在信息码“0” 位置
信息码组有奇数个 “1”,校验码组取合成 码组10000,4个“0”, 误码在监督码“1”位置
前向纠错FEC( Forward Error Correct):
发送端发送能纠正错误的编码,在接收端根据接收到 的码和编码规则,能自动纠正传输中的错误。 特点是不需要反馈信道,实时性好,但是随着纠错能 力的提高,编译码设备复杂。
3.
混合方式:
结合前向纠错和ARQ的系统,在纠错能力范围内,自 动纠正错误,超出纠错范围则要求发送端重新发送。 它是一种折中的方案。
差错控制编码教学课件
循环冗余校验码(CRC)
总结词
广泛应用、可靠性高
详细描述
循环冗余校验码是一种广泛应用于数据传输和存储的差错控制编码方法。它通过将数据视为一段二进制数,计算 出一个冗余码附加在数据末尾,使得整个数据(包括冗余码)的模2除法结果为0。CRC能够检测出多位错误,具 有较高的可靠性。
海明 码
总结词
高效、可纠正多位错误
详细描述
海明码是一种高效的差错控制编码方法,能够纠正多位错误。它通过将数据分成多个分组,在每个分 组之间插入一些校验位,使得每个分组和校验位之间存在一定的关系。海明码能够检测和纠正多个错 误,但编码效率相对较低。
里德-所罗门码
总结词
纠错能力强、适用于通信和存储领域
VS
详细描述
里德-所罗门码是一种纠错能力较强的差 错控制编码方法,适用于通信和存储领域。 它通过将数据分成多个块,并使用多个校 验方程来检测和纠正多个错误。里德-所 罗门码具有较高的纠错能力和较低的错误 概率,但实现较为复杂。
联合信源信道编码
总结词
联合信源信道编码是一种新型的编码方式,它将信源编码和信道编码相结合,以提高通 信系统的整体性能。
详细描述
传统的信源信道编码通常分开进行,但在某些场景下,这种分离的方式可能无法充分利 用数据的信息。联合信源信道编码通过将信源编码和信道编码相结合,能够更好地利用
数据的信息,提高通信系统的性能。
差错控制编码教学课 件
• 差错控制编码概述 • 常见差错控制编码方法 • 差错控制编码原理
01
差错控制编码概述
差错控制编码的定义
差错控制编码是一种通过增加冗余信 息来检测和纠正数据传输过程中发生 的错误的编码方式。
它通过在数据中加入额外的信息,使 得接收方可以检测到数据是否发生错 误,并在必要时进行纠正。
通信原理第11章差错控制编码分析
接收端将接收到的信码原封不动地转发回发端, 并与原发送信码相比较,若发现错误,发端再重 发。
发
数据信息 数据信息
收
图11.1-6 信息反馈法
第11章 差错控制编码
11.1
概述
收端把收到的数据序列全部经反向信道送回发
端,发端比较发出和送回的数据序列,从而发 现有否错误,如果有错误,发端将数据序列再 次传送,直到发端没有发现错误。
编码二: 消息A----“00”;消息B----“11” 最小码距2 若传输中产生一位错码,则变成“01”或“10”, 收端判决为有错(因“01”“10”为禁用码组),但 无法确定错码位置,不能纠正,该编码具有检出 一位错码的能力。 这表明增加一位冗余码元后码具有检出一位错 码的能力
第11章 差错控制编码
11.1
概述
差错控制编码属信道编码,要求在满足有效性 前提下,尽可能提高数字通信的可靠性。 差错控制编码是在信息序列上附加上一些监督 码元,利用这些冗余的码元,使原来不规律的或 规律性不强的原始数字信号变为有规律的数字信 号。例如奇偶校验。 差错控制译码则利用这些规律性来鉴别传输过 程是否发生错误,或进而纠正错误。
11.2
差错控制编码的基本原理
(2)最小码距与检错和纠错能力的关系
一个码能检测e个错码,则要求其最小码dmin≥e+1
一个码能纠正t个错码,则要求其最小dmin≥2t+1 一个码能纠正t个错码,同时能检测e个错码,则要
求其最小码距
dmin≥e+t+1 (e>t)
第11章 差错控制编码
11.2
11.1
概述
(1)检错重发法(ARQ) Automatic Repeat reQuest 收端在接收到的信码中发现错码时,就通 知发端重发,直到正确接收为止。例如奇偶 校验。 检错重发方式只用于检测误码,能够在接 收单元中发现错误,但不一定知道该错误码 的具体位置。 需具备双向信道。
差错控制编码《通信原理》
差错控制编码概述1.差错控制的信道分类(1)随机信道随机信道是指错码的出现随机,且错码之间统计独立的信道。
例如,高斯白噪声引起的错码。
(2)突发信道①突发信道的定义突发信道是指错码成串集中出现,即在一些短促的时间段内会出现大量错码,而在这些短促的时间段之间存在较长的无错码区间的信道。
②突发错码的产生主要原因脉冲干扰和信道衰落。
(3)混合信道混合信道是指既存在随机错码又存在突发错码,且哪一种都不能忽略不计的信道。
2.差错控制的技术(1)检错重发(ARQ)①技术实现a.在发送码元序列中加入差错控制码元,在接收端根据差错控制码元进行检测;b.检测到有错码时,利用反向信道通知发送端,要求发送端重发,直到正确接收为止。
②技术功能只能检错,不能纠错,即能检查出错误存在但不知道错码应该如何纠正。
③技术要求需要具有反向信道传送重发指令。
④与前向纠错方法相比的主要优点a.监督码元少,码率高;b.检错的复杂度较低;c.检错的编码方法和加性干扰的统计特性基本无关,能适应不同特性的信道。
(2)前向纠错(FEC)①技术实现a.在发送码元序列中加入差错控制码元,在接收端根据差错控制码元进行检测;b.检测到有错码存在时,确定其位置,将错码恢复其正确取值。
②技术功能既能检错又能纠错。
③技术特点实时性好,设备较复杂。
(3)反馈校验①技术实现a.接收端将接收到的码元原封不动地转发回发送端;b.在发送端将它同原发送码元逐一比较,若有不同,认为接收端收到的序列中有错码,发送端立即重发。
②技术功能在接收端检查错误,而不能在接收端直接识别错码。
③技术特点原理和设备简单,需双向信道两次传输信号,传输效率较低。
(4)检错删除①技术实现在接收端发现错码后,立即将其删除,不要求重发。
②技术特点a.只适用在少数特定系统中;b.可及时接收后续的消息。
(5)纠错编码的参量①编码效率(码率)编码效率是指编码序列中信息码元数量k与总码元数量n之比k/n,简称码率。
北京理工大学《通信原理》第11章-差错控制编码
但是这种码不能发现一个码组中的两个错码,因为发生两
个错码后产
检错和纠错
上面这种编码只能检测错码,不能纠正错码。例如,当接收码 组为禁用码组“100”时,接收端将无法判断是哪一位码发生了 错误,因为晴、阴、雨三者错了一位都可以变成“100”。
要能够纠正错误,还要增加多余度。例如,若规定许用码组只 有两个:“000”(晴),“111”(雨),其他都是禁用码组, 则能够检测两个以下错码,或能够纠正一个错码。
例如:“000”(晴),“001”(云),
“010”(阴),“011”(雨),
“100”(雪),“101”(霜),
“110”(雾),“111”(雹)。
其中任一码组在传输中若发生一个或多个错码,则将变 成另一个信息码组。这时,接收端将无法发现错误。
12
第11章差错控制编码
若在上述8种码组中只准许使用4种来传送天气,例如:
若码组A中发生两位错码,则其位置不会超出以O点为圆 心,以2为半径的圆。因此,只要最小码距不小于3,码 组A发生两位以下错码时,
不可能变成另一个准用 码组,因而能检测错码 的位数等于2。
0123
A
B 汉明距离
e
d0
19
第11章差错控制编码
同理,若一种编码的最小码距为d0,则将能检测(d0 - 1)个错码。 反之,若要求检测e个错码,则最小码距d0至少应不小于( e + 1)。
N - 码组的总位数,又称为码组的长度(码长), k - 码组中信息码元的数目, n – k = r - 码组中的监督码元数目,或称监督位数目。
16
第11章差错控制编码
分组码的码重和码距
码重:把码组中“1”的个数称为码组的重量,简称码重。 码距:把两个码组中对应位上数字不同的位数称为码组
通信原理课件第十章差错控制编码
10.3简单分组码
10.2.1 奇偶监督码
奇偶监督码是在原信息码后面附加一个监督元, 使得码组中“1”的个数是奇数或偶数。或者说,它是含一个监督元,码重为奇数或偶数的(n,n-1)系统分组码。奇偶监督码又分为奇监督码和偶监督码。
(10-2)
4
(10-3)
5
设码字A=[an-1,an-2,…,a1,a0],对偶监督码有
另外,按照噪声或干扰的变化规律,可把信道分为三类:随机信道、突发信道和混合信道。恒参高斯白噪声信道是典型的随机信道,其中差错的出现是随机的,而且错误之间是统计独立的。具有脉冲干扰的信道是典型的突发信道, 错误是成串成群出现的,即在短时间内出现大量错误。短波信道和对流层散射信道是混合信道的典型例子,随机错误和成串错误都占有相当比例。对于不同类型的信道,应采用不同的差错控制方式。
(10-4)
02
现以(7,4)分组码为例来说明线性分组码的特点。设其码字为A=[a6 a5 a4 a3 a2 a1 a0],其中前 4 位是信息元,后 3 位是监督元, 可用下列线性方程组来描述该分组码,产生监督元。
01
表10-4(7,3)分组码的八个码字
我们可以把(n,k)线性分组码看成一个n维线性空间,每一个码字就是这个空间的一个矢量。n维线性空间长度为n的码组共有2n个,但线性分组码的码字共有2k个,k<n。显然,这2k个分组码构成了n维线性空间的K维线性子空间,它是线性分组码的许用码组,剩余的空间构成的码组是禁用码组。
并简记为
(10-14)
其中,AT是A的转置,0T是0=[0 0 0]的转置,HT是H的转置。
A
(10-15)
B
H称为监督矩阵,一旦H给定,信息位和监督位之间的关系也就确定了。H为r×n阶矩阵,H矩阵每行之间是彼此线性无关的。式(10-7)所示的H矩阵可分成两部分
通信原理 第十章 差错控制编码
码长 = n,信息位 = k,监督位r = n-k,用r个监督位构造出r个 监督关系式来指示一位错码的n种可能位置。 要能纠正码组中任何一个位置上的错误,要求:
2 r 1 n或2 r k r 1 例:k 4时,可得:r 3, 取r 3 则,n k r 7 S1S 2 S3 000时,无错。 S1 a6 a5 a4 a2 S 2 a6 a5 a3 a1 S3 a6 a4 a3 a0
2、编码步骤: ( )用x n k 乘m( x) 1 (2)用x n k m( x)除以g ( x), 得到商Q( x)和余r ( x)。即, x n k m( x ) r ( x) Q( x) g ( x) g ( x) (3)编出码组为:A( x) x n k m( x) r ( x) 例如:n 7, 信息码为110,相当于m( x) x 2 x 当n k 7 3 4时, 第一步, 可得:x n k m( x) x n k ( x 2 x) x 6 x 5 — —相当于1100000 设g ( x) x 4 x 2 x 1作为生成多项式。 第二步,可得: x n k m( x ) x6 x5 x2 1 2 4 ( x x 1) 4 2 g ( x) x x x 1 x x2 x 1
10.6 循环码
具有循环性的线性分组码;
1、编码方法 系统码:即码组前k位为信息位,后r = n-k 位是监督位。 根据给定的(n,k)值选定生成多项式g(x),即,选(n-k) 次多项式作为g(x)。 设信息位的多项式为:
m( x) mk 1 x k 1 mk 2 x k 2 ... m1 x m0 其中,mi 1或0
差错控制与信道编码数据通信原理
差错控制与信道编码数据通信原理1. 引言在数据通信中,差错控制和信道编码是两个重要的概念。
差错控制是指通过在发送端和接收端添加一些冗余信息,以检测和纠正数据传输中出现的错误。
信道编码则是通过对数据进行编码,在发送端添加一些冗余信息,以提高在有噪声或其他干扰的信道中的传输质量。
本文将介绍差错控制和信道编码的基本原理及其在数据通信中的应用。
2. 差错控制差错控制是一种在数据传输中检测和纠正错误的技术。
它可以有效地减少在数据传输过程中产生的差错,提高数据传输的可靠性。
差错控制一般包括两个主要方面:错误检测和错误纠正。
2.1 错误检测错误检测是指通过在数据中添加冗余信息,使接收端能够检测出在传输过程中是否发生了错误。
常见的错误检测方法包括纵向冗余校验(Vertical Redundancy Check,简称VRC)、循环冗余校验(Cyclic Redundancy Check,简称CRC)等。
在VRC中,数据在传输前会添加一个校验位,该校验位是通过对数据中每个字节进行奇偶校验得到的。
接收端在接收到数据后,会重新计算校验位,并与接收到的校验位进行比较,从而判断出是否存在错误。
在CRC中,数据在传输前会进行一系列的运算,生成一段校验码,并将该校验码添加到数据中。
接收端在接收到数据后,会重新进行运算,生成校验码,并与接收到的校验码进行比较,从而判断是否存在错误。
CRC具有更高的错误检测能力,广泛应用于数据通信中。
2.2 错误纠正错误纠正是指通过添加冗余信息,使接收端能够检测出并纠正在传输过程中发生的错误。
常见的错误纠正方法包括海明码(Hamming Code)和奇偶校验码等。
在海明码中,数据会经过一系列的运算,生成一段冗余码,并将该冗余码添加到数据中。
接收端在接收到数据后,会进行一系列的运算,检测并纠正数据中的错误。
海明码具有较好的纠错能力,广泛应用于存储介质和数据通信中。
在奇偶校验码中,数据在传输前会进行奇偶校验处理,生成一个校验位,并将该校验位添加到数据中。
差错控制编码基础课件
差错控制编码的重要性
在数据传输过程中,差错控制编 码可以有效地提高数据的可靠性
。
当数据传输距离较长或通信信道 质量较差时,差错控制编码可以
更好地保证数据的完整性。
通过纠正错误,差错控制编码可 以避免数据传输过程中的数据丢
失或损坏。
差错控制编码的分类
差错控制编码可以根据其实现原理分 为多种类型,例如奇偶校验码、海明 码、循环冗余校验码等。
提高存储设备性能
差错控制编码可以优化存储设备的 性能,从而提高存储和读取速度以 及降低错误率。
差错控制编码在其他领域中的应用
图像和音频处理
差错控制编码可以应用于图像和 音频处理领域,以保证图像和音
频数据的完整性和准确性。
网络安全
差错控制编码可以应用于网络安 全领域,通过纠正网络传输中的 错误,提高网络通信的安全性和
适用于不同通信协议
差错控制编码可以适用于各种通信协议,如TCP/IP、HTTP、FTP 等,为不同通信协议提供可靠的差错控制机制。
差错控制编码在数据存储中的应用
保证数据完整性
在数据存储中,差错控制编码能 够防止数据在存储和读取过程中 出现错误,确保数据的完整性和
一致性。
增强数据可靠性
差错控制编码可以通过增加冗余信 息来增强数据的可靠性,从而避免 数据损坏或丢失。
根据编码过程中是否需要发送额外的 校验码,差错控制编码可以分为简单 差错控制编码和复杂差错控制编码。
每种类型的差错控制编码都有其特定 的应用场景和优缺点。
简单差错控制编码只需要发送额外的 校验码,而复杂差错控制编码需要发 送更多的信息以便进行更复杂的错误 纠正。
02
线性分组码
线性分组码的定义
线性分组码的定义是指将消息符号序列按照一定的规律分成若干组,每组包含k 个信息符号,然后通过添加r个校验符号,使得整个码组长度为n=k+r,这样的 码组称为线性分组码。
差错控制编码基本原理
▲ ● ▼◆★ ★ ●◆◆
■■■
第11页/共34页
某师作战命令 ■■■■■■■■■ ■■■■■■■■■■ ■■■▲● Biblioteka 以下无正文,命令正 文共22个字)
■■■
第12页/共34页
第13页/共34页
an-1 an-2 … ar ar-1 ar-2 … a0
k个信息位
r个监督位
111 雹
第18页/共34页
信码
晴 000 0 0
雨 011 0 1 霜 101 1 0 雾 110 1 1
监督码
0 1 1
0
码重 码距(汉明距离)
最小码距
最小码距为2
将信息码分组,并附加偶监督码的编码集合, 是一种分组码。
第19页/共34页
z
(0,1,1)
(0,0,1)
(1,0,1)
(1,1,1)
将收到的码元与发 出的信码进行比对
➢ 原理和设备简单 ➢ 需要双向信道 ➢ 传输效率低
第4页/共34页
前向纠错 (FEC)
发送端
接收端
➢ 实时性好 ➢ 传输的是纠错码 ➢ 单向信道
根据约束关系 自行纠错
第5页/共34页
前向纠错 (FEC)
发送端
➢ 用于少数特定系统 ➢ 单向信道
接收端
发现错码 删除
码长n = k + r
多余度 r n
冗余度 r k
编码效率(码率) k n
降低有效性 换取可靠性
第14页/共34页
发端 收端 目的
附加监督码元,形成约束关系 按既定约束关系检验信息码元 发现错误,甚至纠正错误
第15页/共34页
发送端
差错控制编码的基本原理_通信原理与应用_[共2页]
第9章差错控制编码207码后的码元序列每n位分为一组,其中有k位信息码,r(r = n−k)位附加的监督码元。
监督码元仅与本码组的信息码元有关,而与其他码组的信息码元无关。
卷积码编码后码元序列也划分为码组,但监督码元不仅与本码组的信息码元有关,还与前面若干个码组的信息码元存在约束关系。
按照信息码元在编码后是否保持原来的形式不变,可分为系统码和非系统码。
在系统码中,编码后的信息码元保持原来的形式不变,而非系统码中信息码元则改变了原来的信号形式。
系统码与非系统码性能大体相同,但在某些卷积码中非系统码的性能优于系统码。
与非系统码相比,系统码的编码和译码相对简单,因而得到广泛应用。
按照纠正错误的类型不同,可分为纠正随机错误的码和纠正突发错误的码。
前者主要用于发生零星独立错误的信道,而后者则用于以突发错误为主的信道。
按照构造差错控制编码的数学方法不同分类,可分为代数码、几何码和算术码。
其中,代数码是目前发展最为完善的编码。
线性码是代数码一个最重要的分支。
9.1.3 差错控制编码的基本原理前已述及,差错编码的基本思想是在被传送的信息中附加一些监督码元,在附加码元与信息码元之间建立某种确定的约束关系,当这种约束关系因传输错误而受到破坏时,可以被发现并予以纠正。
这种检错和纠错能力是用信息量的冗余度来换取的。
下面举例说明检错和纠错基本原理。
设有一种由三位二进制码元构成的码组,共有8种可能的组合。
若将其全部用来表示职业分类,则可以表示8种不同的职业,例如:000(学生)、001(教师)、010(公务员)、011(医生)、100(工人)、101(农民)、110(售票员)、111(司机)。
其中任一码组在传输中若发生一个或多个错码,则将变成另一个信息码组。
这时,接收端将无法发现错误。
若上述8种码组中只允许使用4种来传送职业信息,如000=学生,011=教师,101=公务员,110=医生。
此时,虽然只能传送4种不同的职业,但是接收端却有可能发现码组中的一位错码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
差错控制概述1. 差错的概念所谓差错,就是在通信接收端收到的数据与发送端实际发出的数据出现不一致的现象。
2. 差错类型通信信道的噪声分为热噪声和冲击噪声两种。
由这两种噪声分别产生两种类型的差错,随机差错和突发差错。
热噪声是由传输介质导体的电子热运动产生的,它的特点是:时刻存在,幅度较小且强度与频率无关,但频谱很宽,是一类随机噪声。
由热噪声引起的差错称随机差错。
此类差错的特点是:差错是孤立的,在计算机网络应用中是极个别的。
与热噪声相比,冲击噪声幅度较大,是引起传输差错的主要原因。
冲击噪声的持续时间要比数据传输中的每比特发送时间要长,因而冲击噪声会引起相邻多个数据位出错。
冲击噪声引起的传输差错称为突发差错。
常见的突发错是由冲击噪声(如电源开关的跳火、外界强电磁场的变换等)引起,它的特点是:差错呈突发状,影响一批连续的bit(突发长度)。
计算机网络中的差错主要是突发差错。
通信过程中产生的传输差错,是由随机差错和突发差错共同构成的。
3. 误码率数据传输过程中可用误码率Pe来衡量信道数据传输的质量,误码率是指二进制码元在数据传输系统中出现差错的概率,可用下式表达:4. 差错控制差错控制是指在数据通信过程中能发现或纠正差错,将差错限制在尽可能小的允许范围内。
差错检测是通过差错控制编码来实现的;而差错纠正是通过差错控制方法来实现的。
差错控制编码差错控制编码的原理是:发送方对准备传输的数据进行抗干扰编码,即按某种算法附加上一定的冗余位,构成一个码字后再发送。
接收方收到数据后进行校验,即检查信息位和附加的冗余位之间的关系,以检查传输过程中是否有差错发生。
差错控制编码分检错码和纠错码两种,检错码是能自动发现差错的编码,纠错码是不仅能发现差错而且能自动纠正差错的编码。
衡量编码性能好坏的一个重要参数是编码效率R:其中,n表示码字的位长,k表示数据信息的位长,r表示冗余位的位长。
计算机网络中常用的差错控制编码是奇偶校验码和循环冗余码。
1. 奇偶校验码奇偶校验码是一种最简单的检错码。
原理:通过增加冗余位来使得码字中"1"的个数保持为奇数(奇校验)或偶数(偶校验)。
例如,偶校验:110101000,011011011在实际使用时,奇偶校验可分为以下三种方式。
(1) 垂直奇偶校验原理:将要发送的整个数据分为定长p位的q段,每段的后面按"1"的个数为奇数或偶数的规律加上一位奇偶位:编码效率:R = P/(P+1)检错能力:能检出每列中的所有奇数个错,但检不出偶数个错。
对突发错,漏检率约为50%(2) 水平奇偶校验原理:将要发送的整个数据分为定长p位的q段,对各个数据段的相应位横向进行编码,产生一个奇偶校验冗余位:编码效率:R = Q/(Q+1)检错能力:能检出每行中的所有奇数个错,但检不出偶数个错。
对突发长度≤P的突发错都能检出。
(3) 水平垂直奇偶校验原理:能同时进行水平和垂直奇偶校验:编码效率:R = PQ / (P+1)(Q+1)检错能力:能检出所有3位或3位以下的错误,能检出所有奇数个错和很大一部分偶数个错,并对突发长度≤P+1的突发错都能检出。
2. 循环冗余码循环冗余码又称CRC码(Cyclic Redundancy Code),简称循环码。
CRC码检错能力强,且容易实现,是目前最广泛的检错码编码方法之一。
在计算机网络中,CRC被广泛采用。
CRC是一种检错码,其编码过程涉及多项式知识。
多项式和比特串有一定的对应关系,例如,比特串10010101110可被解释成发送端的编码步骤:(1) 将要发送的二进制数据(k位比特序列),对应一个(k-1)阶多项式K(x);再选取一个收发双方预先约定的r阶生成码多项式G(x)(2) 在原数据尾添加r个0,即,x r K(x)。
(3) 进行x r K(x)/G(x),求得余数R(x)。
R(x)即为校验序列.(4) 用R(x)替代x r K(x)最后的r个0(即x r K(x) - R(x)),得到待传送的CRC码多项式(数据位加校验位)T(x)。
[说明] CRC码字的总长(传送位)为n = k+r位,对应一个(n-1)阶多项式T(x)。
接收端的检验(1) 接收端收到的CRC码多项式T'(x)(2) 校验:进行T'(x)/G(x),求得余数。
(3) 若余数为0,则正确(即,T'(x) / G(x) = K(x));若余数不为0,则出错。
[注意] 发送方和接收方使用的G(x)要一致。
G(x)的各种标准G(x)有各种标准,目前广泛使用的主要有以下四种:CRC12=CRC16=(IBM公司)CRC16=(CCITT)CRC32=结论根据CRC性质,若适当选取G(x),使其含有(x+1)因子,常数项不为0,且周期大于n,则由此G(x)作为生成多项式产生的CRC码,可检测出:所有双位错、所有奇数位错、所有突发长度小于等于r的突发错、(1-2-(r-1))的突发长度等于r+1的突发错以及(1-2-r)的突发长度大于r+1的突发错。
循环冗余码的产生与码字正确性检验例子。
例1.已知:信息码:110011 信息多项式:K(X)=X5+X4+X+1生成码:11001 生成多项式:G(X)=X4+X3+1(r=4) 求:循环冗余码和码字。
解:1)(X5+X4+X+1)*X4的积是 X9+X8+X5+X4 对应的码是1100110000。
2)积/G(X)(按模二算法)。
由计算结果知冗余码是1001,码字就是1100111001。
1 0 0 0 0 1←Q(X)G(x)→1 1 0 0 1 )1 1 0 0 1 1 0 0 0 0←F(X)*Xr1 1 0 0 1 ,1 0 0 0 01 1 0 0 11 0 0 1←R(X)(冗余码)例2.已知:接收码字:1100111001 多项式:T(X)=X9+X8+X5+X4+X3+1生成码: 11001 生成多项式:G(X)=X4+X3+1(r=4)求:码字的正确性。
若正确,则指出冗余码和信息码。
解:1)用字码除以生成码,余数为0,所以码字正确。
1 0 0 0 0 1←Q(X)G(x)→1 1 0 0 1 )1 1 0 0 1 1 1 0 0 1←F(X)*Xr+R(x)1 1 0 0 1 ,1 1 0 0 11 1 0 0 10←S(X)(余数)2)因r=4,所以冗余码是:11001,信息码是:1100113.循环冗余码的工作原理循环冗余码CRC在发送端编码和接收端校验时,都可以利用事先约定的生成多项式G(X)来得到,K位要发送的信息位可对应于一个(k-1)次多项式K(X),r位冗余位则对应于一个(r-1)次多项式R(X),由r位冗余位组成的n=k+r位码字则对应于一个(n-1)次多项式T(X)=Xr*K(X)+R(X)。
4.循环冗余校验码的特点1)可检测出所有奇数位错;2)可检测出所有双比特的错;3)可检测出所有小于、等于校验位长度的突发错。
2.5.4 海明码1.海明码的概念海明码是一种可以纠正一位差错的编码。
它是利用在信息位为k 位,增加r位冗余位,构成一个n=k+r位的码字,然后用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错。
它必需满足以下关系式:2r>=n+1 或 2r>=k+r+1海明码的编码效率为:R=k/(k+r)式中 k为信息位位数r为增加冗余位位数2.海明码的生成与接收方法一:1)海明码的生成。
例1.已知:信息码为:"0010"。
海明码的监督关系式为:S2=a2+a4+a5+a6S1=a1+a3+a5+a6S0=a0+a3+a4+a6求:海明码码字。
解:1)由监督关系式知冗余码为a2a1a0。
2)冗余码与信息码合成的海明码是:"0010a2a1a0"。
设S2=S1=S0=0,由监督关系式得:a2=a4+a5+a6=1a1=a3+a5+a6=0a0=a3+a4+a6=1因此,海明码码字为:"0010101"2)海明码的接收。
例2.已知:海明码的监督关系式为:S2=a2+a4+a5+a6S1=a1+a3+a5+a6S0=a0+a3+a4+a6接收码字为:"0011101"(n=7)求:发送端的信息码。
解:1)由海明码的监督关系式计算得S2S1S0=011。
2)由监督关系式可构造出下面错码位置关系表:S2S1S0 000 001 010 100 011 101 110 111错码位置无错 a0 a1 a2 a3 a4 a5 a63)由S2S1S0=011查表得知错码位置是a3。
4)纠错--对码字的a3位取反得正确码字:"0 0 1 0 1 0 1"5)把冗余码a2a1a0删除得发送端的信息码:"0010"方法二:(不用查表,方便编程)---推荐!!!1)海明码的生成(顺序生成法)。
例3.已知:信息码为:" 1 1 0 0 1 1 0 0 " (k=8)求:海明码码字。
解:1)把冗余码A、B、C、…,顺序插入信息码中,得海明码码字:" A B 1 C 1 0 0 D 1 1 0 0 "码位: 1 2 3 4 5 6 7 8 9 10 11 12其中A,B,C,D分别插于2k位(k=0,1,2,3)。
码位分别为1,2,4,8。
2)冗余码A,B,C,D的线性码位是:(相当于监督关系式)A->1,3,5,7,9,11;B->2,3,6,7,10,11;C->4,5,6,7,12;(注 5=4+1;6=4+2;7=4+2+1;12=8+4)D->8,9,10,11,12。
3)把线性码位的值的偶校验作为冗余码的值(设冗余码初值为0):A=∑(0,1,1,0,1,0)=1B=∑(0,1,0,0,1,0)=0C=∑(0,1,0,0,0)=1D=∑(0,1,1,0,0)=04)海明码为:"1 0 1 1 1 0 0 0 1 1 0 0"2)海明码的接收。
例4.已知:接收的码字为:"1 0 0 1 1 0 0 0 1 1 0 0"(k=8) 求:发送端的信息码。
解:1)设错误累加器(err)初值=02)求出冗余码的偶校验和,并按码位累加到err中:A=∑(1,0,1,0,1,0)=1 err=err+20=1B=∑(0,0,0,0,1,0)=1err=err+21=3C=∑(1,1,0,0,0)=0 err=err+0 =3D=∑(0,1,1,0,0)=0 err=err+0 =3由err≠0可知接收码字有错,3)码字的错误位置就是错误累加器(err)的值3。