光盘错误检测和校正.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
光盘错误检测和校正

第13章 错误检测和校正   光盘、磁盘和磁带一类的数据记录媒体一样,由于盘的制作材料的性能、盘制造生产技术水平的限制、驱动器的性能以及使用不当等诸多原因,从盘上读出的数据不可能完全正确。据有关厂家的测试和统计,一片未使用过的只读光盘,其原始误码率约为3×10-4;沾有指纹的盘的误码率约为6×10-4;有伤痕的盘的误码率约为5×10-3。针对这种情况,激光盘存储器采用了功能强大的错误码检测和纠正措施。采用的具体对策归纳起来有三种:   (1) 错误检测:采用CRC(Cyclic Redundancy Code)检测读出数据是否有错。   (2) 错误校正码: 采用里德-索洛蒙码(Reed-Solomon Code),简称为RS码,进行纠错。RS码被认为是性能很好的纠错码。   (3) 交叉交插里德-索洛蒙码CIRC(Cross Interleaved Reed-Solomon Code), 这个码的含义可理解为在用RS编译码前后,对数据进行交插处理和交叉处理。   对这些码的理论分析和计算有许多专著作了详尽的深入论述,对不需要开发纠错技术的读者仅需要了解错误检测和校正的一些基本概念即可。 13.1 CRC错误检测原理   在纠错编码代数中,把以二进制数字表示的一个数据系列看成一个多项式。例如,二进制数字序用多项式可以表示成:     M(x) = a7x7 + a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x1 + a0x0        = x7 + x6 + x5 + x4 + x3 + x2 + x1 + 1 式中的xi表示代码的位置,或某个二进制数位的位置,xi前面的系数ai表示码的值。若ai是一位二进制代码,则取值是0或1。M(x)称为信息代码多项式。   在模2多项式代数运算中定义的运算规则有:     1xi + 1xi = 0     -1xi = 1xi   例如,模2多项式的加法和减法:        从这两个例子中可以看到,对于模2运算来说,代码多项式的加法和减法运算所得的结果相同。所以在做代码多项式的减法时,可用做加法来代替做减法。   代码多项式的除法可按长除法做。例如:        如果一个k位的二进制信息代码多项式为 M(x),再增加(n-k)位的校验码,那么增加(n-k)位之后,信息代码多项式在新的数据块中就表示成 xn-kM(x) ,如图13-01所示。 图13-01 信息代码结构 如果用一个校验码生成多项式 G(x) 去除代码多项式 xn-kM(x),得到的商假定为 Q(x) ,余式为 R(x) ,则可写成        xn-kM(x) = Q(x)G(x) + R(x)   因为模2多项式的加法和减法运算结果相同,所以又可把上式写成:    xn-kM(x) + R(x) = Q(x)G(x) ?G(x) 称为校验码生成多项式。从该式中可以看到,代表新的代码多项式 xn-kM(x) + R(x) 是能够被校验码生成多项式 G(x) 除尽的,即它的余项为0。   例如,CD盘中的q通道和软磁盘存储器中使用的CRC校验码生成多项式是    G(x) = x16 + x12 + x5 + 1   若用二进制表示,则为    G(x) = 100010000000100001(B) = 11021(H)   假定要写到盘上的信息代码 M(x) 为    M(x) = 4D6F746F (H)   由于增加了2个字节共16位的校验码,所以信息代码变成 x16M(x): 4D6F746F0000(H)。 CRC检验码计算如下:   两数相除的结果,其商可不必关心,其余数为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 + x15 + x2 + 1)(x16 + x2 + x + 1)?   计算CRC码时用的数据块是从扇区的开头到用户数据区结束为止的数据字节,即字节0~2063共2064个字节。在EDC中存放的

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档