光盘错误检测和校正.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

光盘错误检测和校正

光盘、磁盘和磁带一类的数据记录媒体一样,由于盘的制作材料的性能、盘制造生产技术水平的限制、驱动器的性能以及使用不当等诸多原因,从盘上读出的数据不可能完全正确。据有关厂家的测试和统计,一片未使用过的只读光盘,某原始误码率约为3x10-4;沾有指纹的盘的误码率约为6x10-4;有伤痕的盘的误码率约为5x10-3。针对这种情况,激光盘存储器采用了功能强大的错误码检测和纠正措施。采用的具体对策归纳起来有三种:

⑴错误检测:采用CRC(CyclicRedundancyCode)检测读出数据是否有错。

⑵错误校正码:采用里德一索洛蒙码(Reed—SolomonCode),简称为RS码,进行纠错。RS码被认为是性能很好的纠错码。

(3)交叉交插里德一索洛蒙码C旧C(CrossInterleavedReed—SolomonCode),这个码的含义可理解为在用RS编译码前后,对数据进行交插处理和交叉处理。

对这些码的理论分析和计算有许多专著作了详尽的深入论述,对不需要开发纠错技术的读者仅需要了解错误检测和校正的一些基本概念即可。

1.CRC错误检测原理

在纠错编码代数中,把以二进制数字表示的一个数据系列看成一个多项式。例如,二进制数字序用多项式可以表示成:

+a.x5+a-x4+ +机/+ +anx°

■-■ r U —* *T —1 X U

式中的表示代码的位置,或某个二进制数位的位置,/前面的系数气表示码的值。若气是一位二进制代码,则取值是0或1。纨称为信息代码多项式。

在模2多项式代数运算中定义的运算规则有:

1/=lx3

例如,模2多项式的加法和减法:

从这两个例子中可以看到,对于模2运算来说,代码多项式的加法和减法运算所得的结果相同。所以在做代码多项式的减法时,可用做加法来代替做减法。

代码多项式的除法可按长除法做。例如:

X3 +工+1

I

K+1)工4+投+ +1

工+工

K+1

如果一个k位的二进制信息代码多项式为M),再增加(n—k)位的校验码,那么增加(n一k)位之后,信息代码多项式在新的数据块中就表示成芝项次⑴,如图13-01所示。

WM(x)

WM(x)

新的信息代码多项式

校验位

图13-01信息代码结构

1

2

3

左-1

k

止+1

如果用一个校验码生成多项式去除代码多项式若小财3),得到的商假定为03),余式为衣),则可写成

xK-kM(x)=Q(x)G(x)+

因为模2多项式的加法和减法运算结果相同,所以又可把上式写成:

Lg)+反(x)=Q(x)G(x)

3)称为校验码生成多项式。从该式中可以看到,代表新的代码多项式zg)*%)是能够被校验码生成多项式占3)除尽的,即它的余项为0。

例如,CD盘中的q通道和软磁盘存储器中使用的CRC校验码生成多项式是

x)=x16+x12+/+1

若用二进制表示,则为

G3)=100010000000100001(B)

=11021(H)

假定要写到盘上的信息代码财3)为沮(=4D6F746F(H)

由于增加了2个字节共16位的校验码,所以信息代码变成^啾⑴:4D6F746F0000(H)。CRC

检验码计算如下:

49F99B14

11021)4D6F746F0000

44084

96374

99129

F61D6

FF1EF

9039F99129

92B60

99129

BA490

BB16B

15FB011021

2字节的4F910CRC校蠢码44翊 ?B944

两数相除的结果,其商可不必关心,其余数为B994(H)就是CRC校验码。把信息代码写到盘上时,将原来的信息代码和CRC码一起写到盘上。在这个例子中,写到盘上的信息代码和CRC码是4D6F746FB994,

4D6F746F

B994

信息代码

CRC码

这个码是能被11021(H)除尽的。

从盘上把这块数据读出时,用同样的CRC码生成多项式去除这块数据,相除后得到的两种可能结果是:①余数为0,表示读出没有出现错误;②余数不为0,表示读出有错。

CD-ROM中也采用了相同的CRC检错。CD-ROM扇区方式01中,有一个4字节共32位的EDC字域,它就是用来存放CRC码。不过,CD-ROM采用的CRC校验码生成多项式与软磁盘采用的生成多项式不同,它是一个32阶的多项式,

P(x)=(x16+尹+.+1)(/5+/+工+1)

计算CRC码时用的数据块是从扇区的开头到用户数据区结束为止的数据字节,即字节0?

2063共2064个字节。在EDC中存放的CRC码的次序如下:

EDC:

X24

文档评论(0)

dajiefude2 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档