- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-数据校验码的
第4章 存储器 ;数据校验码是什么?;“冗余校验”思想:(以数据传输为例)
(1)编码:在原始数据(即有效数据位)的基础上增加冗余数据(即校验位),按照某种规律将有效数据位和校验位一起编码,得到数据校验码;
(2)译码:按同一约定规律对收到的数据校验码进行分析,并判断约定规律是否被破坏。
① 若未被破坏,则正确,从中取出有效数据即可;
② 若被破坏,则有错,根据约定规律被破坏后的某些特征对出错位进行定位,从而可自动纠正错误。;本质:加进一些冗余码,使合法编码出现某些错误时,就成为非法编码。这样,可通过检测编码的合法性来达到发现错误的目的。
举例:假设有效数据用3位二进制编码,表示某个地区八个城市的代号。
码距:一个编码系统中任意两个合法编码之间对应二进制位状态不同的位数,称为这两个编码的距离。任意两个编码的最小距离就是该编码系统的码距,通常用d表示。例子中的d=?;为了使一个编码系统能发现并纠正一位错,其码距至少应为3。此时,或能纠正一位错,或能发现二位错。但不能同时兼有这两种能力。
为了进一步提高编码系统的检错和纠错能力,必须进一步增加码距。
码距d=; 结论:;一、奇偶校验码;以偶校验为例介绍其编、译码方法;译码: (从存储器读出)统计整个校验码中“1”的个数,若仍为偶数,则表明约定规律未被破坏,读出的数据是正确的,从中取出有效数据即可;否则,表明出错。
出错条件可表示为:
偶校验错= D8?D7?D6?D5?D4?D3?D2?D1?D校
检错纠错能力分析:
码距 d=2;
只能发现1位错,而不能纠正错误;
不能发现偶数个错误。因一位出错的几率大,故有实用价值。;逻辑实现:;二、 海明校验码;(1)分成几组?增加多少校验位? 设待编信息k位,分为r组,每组增加一个校验位,则r位校验位构成一个r位的指错字。;需要满足:
2r – 1 ≥ k + r;(2)分组方法? 设有效数据4位:A4 A3 A2 A1, 增加3位校验位:P3 P2 P1, 构成一个3位的指错字G3 G2 G1。;;(3)编码(以偶校验为例)?;;(5)逻辑实现(译码电路);★ 由于每一个有效数据位至少要参加两个校验组的奇偶检测,因此当两个有效数据只有一位不相同时,该位至少引起两个校验位的不同!故码距d=3。;★ 校验规则:让校验码能被某一约定代码除尽。 ● 若能除尽,表明代码无错; ● 若除不尽,余数将指明出错位置。 ;★ 模2运算:以按位模2相加为基础, 运算时不考虑进位和借位。 ● 模2加减(异或) 0±0=0 0±1=1 1±0=1 1±1=0 ● 模2乘(用模2加求和) 例如: 1 0 1 0 × 1 0 1 1 0 1 0 0 0 0 0 + 1 0 1 0 1 0 0 0 1 0;● 模2除(用模2减求余数) ~ 每求1位商使部分余数减少1位。 上商原则:部分余数的首位为1,商取1; 部分余数的首位为0,商取0。 当部分余数位数小于除数位数时,该余数为最后余数。 例如: 1 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1;设:被除数M(x):k位待编信息 除数G(x):r+1位? 余数R(x):r位校验位 商Q(x) (1) CRC码的编码方法;例如:对M(x)=1100,用G(x)=1011,求CRC码。;(2) CRC码的译码与纠错; (7,4)循环码的出错模式(生成多项式G(x)=1011) ;★ 纠错: 对于用G(x)作模2除得到的余数R(x),若补0继续除下去,发现各次的余数按上表的顺序循环。 所以,可以采用一种节省硬件的纠错办法:;(3) 生成多项式G(x)
文档评论(0)