- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
◆奇偶校验码;◆循环冗余校验码。(★) 奇偶校验码的校验方法,应用场合。 循环冗余校验码(CRC)的编码、译码方法、应用场合。 一、基本理论 数据校验码:是一种常用的带有发现某些错误或自动改错能力的数据编码方法。 编码系统的码距:一个编码系统中任意两个合法编码(码字)之间最少变化的二进制位数(bit),称为这个编码系统的码字的码距。 即:整个编码系统中任意两个码字的的最小距离。 ●码距≥2的数据校验码,开始具有检错能力;●为了使一个系统能检查和纠正一个差错,码间最小距离必须至少是3。●码距越大,检错纠错能力就越强,但数据冗余也越大,编码效率低。●码距的选择要取决于特定系统的参数。 3.6.1 奇偶校验码 一、奇偶校验码的特点 开销最小;增加二进制传输系统最小距离的简单和广泛采用的方法; 适用于并行数据传送; 码距为2,可以检测1位错误(或奇数位错误)。但不能确定是哪一位错,也不能发现偶数个位错。 常用于存储器读写检查,或ASCII字符传送过程中的检查。 二、奇偶校验码的编码方法 三、实现原理 使码距由1增加到2。通常是为一个字节补充一个二进制位(称为校验位); 设置校验位的值为0或1,使字节的8位和该校验位含有1值的个数为奇数或偶数。 进行校验时用奇校验或偶校验。依据8位的数据位中1值的个数确定校验位的值; 四、实现方式 五、分组奇偶校验码 实际中经常采用纵横都加校验的奇偶校验位的编码系统--分组奇偶校验码(交叉奇偶校验)。 某一个系统,它传输若干个长度为m位的信息。如果把这些信息都编成每组n个信息的分组,则在这些不同的信息间,也如对单个信息一样,能够作奇偶校验。 n个信息分组排列成矩形式样,以横向奇偶(HP)及纵向奇偶(VP)的形式编出奇偶校验位。 纵横奇偶校验的分组奇偶校验码 [例]由 6 个字符的 7 位 ASCII 编码排列,再加上水平垂直奇偶校验位构成下列矩阵 3.6.3 循环冗余校验(CRC)码 一、循环冗余校验(CRC)码的特点: CRC码可以发现并纠正信息串行读写、存储或传送过程中出现的一位、多位错误;检错能力极强; 适用于串行数据传送(磁盘、通讯) ; 在磁介质存储器读写和计算机之间通信方面得到广泛应用。 开销小,易于用编码器及检测电路实现。 三、多项式与二进制数码的关系 四、生成多项式 五、CRC码的编码方法 模:计量器的容量(M表示) [例]4位二进制数,从0-15,再加1,记数值又为0, 故:M=24=16 模2运算:指以按位模2相加为基础的四则运算, 运算时不考虑进位和借位。 (1)模2加减(按位加,可用异或逻辑实现) 0土0=0,0土1=1,1土0=1,1土1=0。 两个相同的数据的模2和为0。 六、CRC码的生成步骤 【例】假设使用的生成多项式是G(x)=x3+x+1。 4位的原始报文为1010,求编码后的报文。 出错模式改变了C(x)(码字),只会改变表中码字内容,不改变余数与出错位的对应关系。 七.纠错方法 [例]第一位出错,余数为001,依次补0作模2除得到余数为:010,100,0ll…,反复循环。 如果循环码有1位出错,如果对余数补0用G(x)作模2除,将得到一个不为0的余数。 一个有趣的结果:各次余数将按上页图顺序循环 根据不同的余数来纠正不同的出错位,当最高位变成101时(出错位移到A6),则最高位取反纠错。 [结论] 生成多项式应满足的条件 八、通信与网络中常用的CRC 在国际标准中,根据生成多项式G(x)的不同,CRC又可分为以下几种标准: ①CRC-12码:? ? G(x)=X12+X11+X3+X2+X+1 ②CRC-16码:? ? G(x)=X16+X15+X2+1 ③CRC-CCITT码: G(x)=X16+X12+X5+1 ④CRC-32码:? ? G(x)=X32+X26+X23+X22+X16+X12+X11 +X10+ X8+X7+X5+X4+X2+X+1 八、通信与网络中常用的CRC 3.6.3 循环冗余校验(CRC)码 突发错误:几乎是连续发生的一串错,突发长度 就是指从出错的第一位到出错的最后一位的长度。 3.6.3 循环冗余校验(CRC)码 标准的16位生成多项式CRC-16=x16+x15+x2+1 一般情况下,对r=16的情况,就能检测出所有突发长度小于等于16的突发错以及99.997%的突发长度为17的突发错和99.998%的突发长度大于17的突发错。 *
文档评论(0)