当前位置:
文档之家› 第04讲 差错控制技术(编码校验)
第04讲 差错控制技术(编码校验)
北京化工大学北方学院信息院
2.7.1 基本概念
什么是差错? 什么是差错? 在通信中接收端收到的二进制数位(码元) 在通信中接收端收到的二进制数位(码元) 和发送端实际发送的数据不一致。 和发送端实际发送的数据不一致。 差错检测: 差错检测:判断数据经传输后是否有错的手段和 方法。 方法。 差错控制:确保传输数据正确的方法和手段。 差错控制:确保传输数据正确的方法和手段。
例如1100010增加偶校验位后为11100010
• 若接收方收到的字节奇偶校验结果与规则结果不符, 若接收方收到的字节奇偶校验结果与规则结果不符, 就知道传输中发生了错误。 就知道传输中发生了错误。 • 只能用于面向字符的通信协议中。 只能用于面向字符的通信协议中。 • 只能检测出奇数个比特位错。 只能检测出奇数个比特位错。
第2章 数据通信基础
第04讲 差错控制技术 04讲
本节内容: 本节内容: 差错控制概述: 差错控制概述: 自动请求重发;前向纠错; 自动请求重发;前向纠错; 常用差错控制编码: 常用差错控制编码: 奇偶校验码;循环冗余校验码;汉明码; 奇偶校验码;循环冗余校验码;汉明码;
北京化工大学北方学院信息院
字符 1 字符 2 字符 3 字符 4 字符 5 字符 6 字符 7 校验 字符
b1 b2 b3 b4 b5 b6
1 0 0 0 1 0 1 0
1 1 0 0 1 0 1 1
1 1 0 1 1 0 1 0
1 0 1 0 1 0 1 1
1 0 0 0 1 0 1 0
1 0 0 0 1 0 1 0
1 1 1 0 1 0 1 0
北京化工大学北方学院信息院
2.7.1 基本概念
在数据通信中, 在数据通信中,最常用的差错控制方法是在数据中 加入差错控制编码。 加入差错控制编码。我们将要发送的数据称为信 息位。在向信道发送信息位之前, 息位。在向信道发送信息位之前,先按照某种规 则加上一定的冗余位(称为差错控制编码过程), 则加上一定的冗余位(称为差错控制编码过程), 构成一个码字再发送。 构成一个码字再发送。接收端收到码字后查看信 息位和冗余位,并检查他们之间的关系是否正确, 息位和冗余位,并检查他们之间的关系是否正确, 即进行校验,以确定传输过程中是否有差错发生。 即进行校验,以确定传输过程中是否有差错发生。 差错控制方法通常有自动请求重发技术、 自动请求重发技术 差错控制方法通常有自动请求重发技术、 前向纠 错技术。 技术。
2.7.3 差错控制编码
• 水平奇偶校验是将 水平奇偶校验是将 若干字符组成一个 信息块, 信息块,对该信息 块的字符中对应的 位分别进行奇偶校 验,下表给出了水 平奇偶校验示例。 平奇偶校验示例。
q q +1
•编码效率: = 编码效率: 编码效率 R
•检测出各段同一位上的奇数个错 检测出各段同一位上的奇数个错
北京化工大学北方学院信息院
CRC的工作原理( CRC的工作原理(2) 的工作原理
的最高幂次作为被除式, G(x)作多项式除 将M(x)乘以 G(x)的最高幂次作为被除式, G(x)作多项式除 M(x)乘以 G(x)的最高幂次作为被除式 式XrM(x)=G(x)*商+R(x)(相应系数相除) 。除法采用 M(x)=G(x)*商+R(x)(相应系数相除) 加法不进位,减法不借位”的规则, “加法不进位,减法不借位”的规则,即相当于异或操作
北京化工大学北方学院信息院
CRC的工作原理( CRC的工作原理(1) 的工作原理
将要发送的二进制数序列看成是只有0 将要发送的二进制数序列看成是只有0和1两个系数的一个多 项式。 位的数据序列对应n 次多项式。 项式。n位的数据序列对应n-1次多项式。如:二进制数序 列为“1010001”, 位的数据序列对应6次多项式: 列为“1010001 ,7位的数据序列对应6次多项式: M(x)=x6+x4+1 选定除式G(x) 被选作除式的多项式称为生成多项式, G(x), 选定除式G(x),被选作除式的多项式称为生成多项式,以下 三个多项式已成为国际标准 CRC-12: CRC-12: G(x)=x12 +x11 +x3 + x2 + x + 1 CRC-16: CRC-16: G(x)=x16 +x15 + x2 + 1 CRC-CCITT: CRC-CCITT: G(x)=x16 +x12 + x5 + 1 CRCG(x)= x32+x26+x23+x22+x16+x12+x11+ x10 CRC-32 ( ) +x8+x7+x5+x4 + x2+x+1
北京化工大学北方学院信息院
2.7.3 差错控制编码
水平垂直奇偶校验是 水平垂直奇偶校验是 把水平和垂直两个方向 的奇偶校验结合起来构 成的, 成的,即纵向每个字符 校验一次, 校验一次,水平方向每 个信息块发送完后其对 应位也校验一次( 应位也校验一次(发送 一个校验码)。 一个校验码)。
北京化工大学北方学院信息院
2.7.3 差错控制编码
实际数据传输中所采用的奇偶校验码分为: 实际数据传输中所采用的奇偶校验码分为: 垂直奇偶校验 水平奇偶校验 水平垂直奇偶校验
北京化工大学北方学院信息院
2.7.3
北京化工大学北方学院信息院
(1)自动请求重发ARQ (1)自动请求重发ARQ 自动请求重发
发送端信源送出信息序列, 发送端信源送出信息序列,一方面经检错码编码器编码由发送 机送入信息,另一方面把它存入存储器以备重传。 机送入信息,另一方面把它存入存储器以备重传。接收端经 检错码译码器对接收到的数据进行译码,判断是否有错。 检错码译码器对接收到的数据进行译码,判断是否有错。如 无错,则给出无错信号,经反馈信道送至发送端, 无错,则给出无错信号,经反馈信道送至发送端,同时通知 信宿接收译码后的信息序列。如有错,则给出有错信号, 信宿接收译码后的信息序列。如有错,则给出有错信号,经 反馈控制器通知信宿拒收信息,并通过反馈信道送至发送端, 反馈控制器通知信宿拒收信息,并通过反馈信道送至发送端, 发送端的判定信号检测器检测后,控制信源暂时停发新信息, 发送端的判定信号检测器检测后,控制信源暂时停发新信息, 并打开存储器将传输中出错的信息重发一遍, 并打开存储器将传输中出错的信息重发一遍,接收端收到重 发信息序列后,若判定无错则通知信宿接收此数据。 发信息序列后,若判定无错则通知信宿接收此数据。并经反 馈信道通知发送端,可以发下一信道序列; 馈信道通知发送端,可以发下一信道序列;若有错则重复上 述过程,直到接收端内译码判定无错为止。 述过程,直到接收端内译码判定无错为止。
北京化工大学北方学院信息院
2.7.3 差错控制编码
由差错控制的上述两种方法引出来两种不同的差错 控制编码:检错码和纠错码。 控制编码:检错码和纠错码。 其中, 其中, 检错码是能够自动发现错误的编码 是能够自动发现错误的编码; 检错码是能够自动发现错误的编码; 纠错码是既能发现错误 又能自动纠正错误的编码。 是既能发现错误, 纠错码是既能发现错误,又能自动纠正错误的编码。
I11 I12 I22 ··· ··· ··· I1q I2q 信息位 ··· ···
发 送 顺 序
I21
Ip1 r1
Ip2 r2
··· ···
Ipq rq 位
p • 编码效率: R = 编码效率: p +1
• 检测出每列(段)中所有奇数(1、3…)个错0 检测出每列( 中所有奇数( 3…)个错0
信息
2.7 差错控制
与语音、图像传输不同, 与语音、图像传输不同,计算机通信要求极低的差 错率。 错率。 产生差错的原因: 产生差错的原因: – 信号衰减和热噪声 – 信道的电气特性引起信号幅度、频率、相位的 信道的电气特性引起信号幅度、频率、 畸变; 畸变; – 信号反射,串扰; 信号反射,串扰; – 冲击噪声,闪电、大功率电机的启停等。 冲击噪声,闪电、大功率电机的启停等。
前向纠错FEC: 前向纠错FEC:Forward Error Correction FEC
接收方不仅可以检测错误,而且知道错误的位置, 接收方不仅可以检测错误,而且知道错误的位置, 从而改正错误 采用纠错码,无需反向信道,无需重发, 采用纠错码,无需反向信道,无需重发,但编码 效率低,纠错设备复杂 效率低,
北京化工大学北方学院信息院
2.7.2 差错控制方法
差错控制方法:ARQ和 差错控制方法:ARQ和FEC 自动请求重发ARQ ARQ: 自动请求重发ARQ:Automatic Request for Repeat
接收方检测错误, 接收方检测错误,通知发送方重传 双向信道,发送方缓存发送的数据 双向信道,
北京化工大学北方学院信息院
(2)前向纠错技术FEC (2)前向纠错技术FEC 前向纠错技术
前向纠错是发送端发送能够纠错的数据, 前向纠错是发送端发送能够纠错的数据,接收端收 到这些数据以后, 到这些数据以后,通过错码译码器不仅能自动发现 错误,并且能自动纠正传输中的错误,然后再把已 错误,并且能自动纠正传输中的错误, 纠正的数据送给接收者。 纠正的数据送给接收者。
ห้องสมุดไป่ตู้
0 0 1 0 0 0 0 1
• 编码效率
R=
pq ( p + 1)( q + 1)
b7 check
•检测出所有3位或3位以下的错误、奇数位错 检测出所有3位或3位以下的错误、 检测出所有
北京化工大学北方学院信息院
2.7.3 差错控制编码
(2)循环冗余校验 (CRC, Cyclic Redundancy Check) ) – 差错检测原理: 差错检测原理: 将传输的位串看成系数为0或 的多项式 的多项式。 将传输的位串看成系数为 或1的多项式。收发双 方约定一个生成多项式G(x),发送方在帧的末尾 方约定一个生成多项式 , 加上校验和 使带校验和的帧的多项式能被G(x) 校验和, 加上校验和,使带校验和的帧的多项式能被 整除。接收方收到后, 除多项式, 整除。接收方收到后,用G(x)除多项式,若有余 除多项式 则传输有错。 数,则传输有错。 – 校验和是 位或 位的位串。 校验和是16位或 位的位串。 位或32位的位串 – CRC校验的关键是如何计算校验和。 校验的关键是如何计算校验和。 校验的关键是如何计算校验和