多媒体技术基础3版6章错误检测和校正

上传人:沈*** 文档编号:158117771 上传时间:2022-10-03 格式:PPT 页数:43 大小:746.52KB
收藏 版权申诉 举报 下载
多媒体技术基础3版6章错误检测和校正_第1页
第1页 / 共43页
多媒体技术基础3版6章错误检测和校正_第2页
第2页 / 共43页
多媒体技术基础3版6章错误检测和校正_第3页
第3页 / 共43页
资源描述:

《多媒体技术基础3版6章错误检测和校正》由会员分享,可在线阅读,更多相关《多媒体技术基础3版6章错误检测和校正(43页珍藏版)》请在装配图网上搜索。

1、多媒体技术基础多媒体技术基础(第第3 3版版)第第16章章 错误检测和校正错误检测和校正 林福宗林福宗清华大学清华大学 计算机科学与技术系计算机科学与技术系2008年年9月月第16章 错误检测和校正2/43第第16章章 错误检测和校正目录错误检测和校正目录 n16.1 CRC错误检测原理与检测码错误检测原理与检测码16.1.1 CRC错误检测原理16.1.2 CD盘上的错误检测码n16.2 RS编码和纠错算法编码和纠错算法16.2.1 GF(2m)域16.2.2 RS的编码算法16.2.3 RS码的纠错算法n16.3 CIRC纠错技术纠错技术16.3.1 交插技术16.3.2 交叉交插技术n1

2、6.4 RSPC码码第16章 错误检测和校正3/43第16章 错误检测和校正前言光盘存储器需要纠错n由于光盘材料性能、光盘制造技术水平、驱动器性能和使用不当等诸多原因,从盘上读出的数据不可能完全正确u据有关厂家的测试和统计,一片未使用过的只读光盘,其原始误码率约为310-4,沾有指纹的盘的误码率约为610-4,有伤痕的盘的误码率约为510-3光盘存储器采用了三种错误检测和纠正措施n错误检测:采用循环冗余码(cyclic redundancy code,CRC)检测读出数据是否有错n错误校正:采用里德索洛蒙码(Reed-Solomon Code,RS)进行纠错n交叉交插里德-索洛蒙码(Cross

3、 Interleaved Reed-Solomon Code,CIRC),这个码的含义可理解为在用RS编译码前后,对数据进行交插和交叉处理第16章 错误检测和校正4/4316.1 CRC错误检测原理与检测码错误检测原理与检测码nCRC错误检测原理错误检测原理代码多项式代码多项式n在纠错编码代数中,把以二进制数字表示的一个数据系列看成一个多项式。例如,二进制数字序列10101111,用多项式可以表示成 765432107654321075321()1M xa xa xa xa xa xa xa xa xxxxxx 式中,xi表示代码的位置或某个二进制数位的位置,前面的系数ai表示码的值,取值为0

4、或1。M(x)称为信息代码多项式 第16章 错误检测和校正5/4316.1 CRC错误检测原理与检测码错误检测原理与检测码(续续1)模模2多项式代数运算规则多项式代数运算规则 11011iiiixxxxn模2多项式的加法和减法 u代码多项式的模2加法和模2减法运算所得的结果相同,所以可用加法来代替减法 第16章 错误检测和校正6/4316.1 CRC错误检测原理与检测码错误检测原理与检测码(续续2)n模2多项式的除法用长除法第16章 错误检测和校正7/4316.1 CRC错误检测原理与检测码错误检测原理与检测码(续续3)代码多项式的结构代码多项式的结构n如果一个k位的二进制信息代码多项式为M(

5、x),增加(nk)位的校验码后,信息代码多项式在新的数据块中就表示成xn-kM(x),见图16-1 图16-1 信息代码结构 第16章 错误检测和校正8/4316.1 CRC错误检测原理与检测码错误检测原理与检测码(续续4)错误检测原理错误检测原理n如果用一个校验码G(x)生成多项式去除代码多项式M(x),得到的商假定为Q(x),余式为R(x),则可写成()()()()()n kM xR xxQ xG xG x()()()()n kxM xQ x G xR x因模2多项式的加法和减法运算结果相同,故可把上式写成()()()()n kxM xR xQ x G x第16章 错误检测和校正9/431

6、6.1 CRC错误检测原理与检测码错误检测原理与检测码(续续5)代表新的代码多项式,它是能够被校验码生成多项式G(x)除尽的,即它的余项为0n在盘上写数据时,将在盘上写数据时,将xn-kM(x)表示的信息代码和表示的信息代码和表示的余数表示的余数R(x)代码一起写到盘上代码一起写到盘上n从盘上读数据时,将信息代码和余数代码一起读从盘上读数据时,将信息代码和余数代码一起读出,然后用相同的校验码生成多项式出,然后用相同的校验码生成多项式G(x)去除去除n通过判断余数是否为通过判断余数是否为0来确定数据是否有误来确定数据是否有误()()n kxM xR x第16章 错误检测和校正10/4316.1

7、CRC错误检测原理与检测码错误检测原理与检测码(续续6)nCD盘上的错误检测码盘上的错误检测码CD-DA盘上的q通道使用的CRC校验码生成多项式 16125()1G xxxx若用二进制表示,则为()=10001000000100001(B)=11021(H)G x假定要写到盘上的信息代码M(x)为()=4D6F746F(H)M x由于增加了2个字节的校验码,所以信息代码变成 16()4D6F746F0000(H)x M x 第16章 错误检测和校正11/4316.1 CRC错误检测原理与检测码错误检测原理与检测码(续续7)两数相除的结果n其商可不必关心,其余数为B994(H),这就是CRC校验

8、码将信息代码和CRC码一起写到盘上n写到盘上的信息代码和CRC码是4D6F746FB994,它能被错误检测错误检测n从盘上把这块数据读出时,用同样的CRC码生成多项式去除,其结果是:(1)余数为0,表示读出没有错误;(2)余数不为0,表示读出有错()11021(H)G x 除尽第16章 错误检测和校正12/4316.1 CRC错误检测原理与检测码错误检测原理与检测码(续续8)nCD-ROM的错误检测的错误检测在CD-ROM扇区方式1中,有一个4字节的EDC域用来存放CRC码。CRC校验码生成多项式是一个32阶的多项式 16152162()(1)(1)P xxxxxxx计算CRC码时用的数据块是

9、从扇区的开头到用户数据区结束的数据字节,即字节02063。在EDC中存放的CRC码的次序如下 EDCx24x31x16x23X8x15x0 x7字节号2064206520662067第16章 错误检测和校正13/4316.2 RS编码和纠错算法编码和纠错算法 n16.2.1.GF(2m)域域CD-ROM中的数据、地址、校验码等都可看成是属于GF(2m)=GF(28)中的元素或称符号。GF(28)表示域中有256个元素,除0和1之外的254个元素由本原多项式(primitive polynomial)P(x)生成。本原多项式P(x)的特性是 得到的余式等于0CD-ROM用来构造GF(28)域的P

10、(x)是 21(1)/()mxP x8432()1P xxxxx而GF(28)域中的本原元素(primitive element)为=(0 0 0 0 0 0 1 0)第16章 错误检测和校正14/4316.2 RS编码和纠错算法编码和纠错算法(续续1)例例16.1 假设构造GF(23)域的本原多项式P(x)为 定义为P(x)=0的根,即31=0和 3=1 GF(23)中的元素计算如右表 1)(3xxxP第16章 错误检测和校正15/4316.2 RS编码和纠错算法编码和纠错算法(续续2)用二进制数表示域元素的对照表见表16-1用同样的方法可建立GF(28)域中的256个元素与8位二进制数之间

11、的一一对应关系 GF(23)域元素二进制对代码GF(23)域元素二进制对代码 0 (000)3 (011)0 (001)4 (110)1 (010)5 (111)2 (100)6 (101)表表16-1 GF(216-1 GF(23 3)域中与二进制代码对照表域中与二进制代码对照表()3()1P xxx第16章 错误检测和校正16/4316.2 RS编码和纠错算法编码和纠错算法(续续3)伽罗华域中的加、减、乘和除运算031 001+011=010=54(5+4)mod 72532/35-2(-2+7)5/5log()5以GF(23)域中的运算为例,加法例:减法例:与加法相同乘法例:除法例:取对

12、数:这些运算的结果仍然在GF(23)域中 第16章 错误检测和校正17/4316.2 RS编码和纠错算法编码和纠错算法(续续4)n16.2.2 RS的编码算法的编码算法 RS的编码就是计算信息码符多项式M(x)除以校验码生成多项式G(x)之后的余数在GF(2m)域中,符号(n,k)RS的含义如下 M符号大小,如m=8表示符号由8位二进制数组成n码块的长度,k 码块中的信息长度K=n-k=2t校验码的符号数t能够纠正的错误数目例如,(28,24)RS码表示码块的长度为共28个符号,其中信息代码长度为24个符号,检验码有4个检验符号,可纠正其中出现的2个分散的或2个连续的符号错误,但不能纠正3个或

13、3个以上的符号错误 第16章 错误检测和校正18/4316.2 RS编码和纠错算法编码和纠错算法(续续5)对一个信息码符多项式M(x),RS校验码生成多项式的一般形式为010()()KKiiG xx式中,K0是偏移量,通常取K0=0或K0=1,而(n-k)2t(t为要校正的错误符号数)例例16.2 假设在GF(23)域中的元素对应表见表16-1,(6,4)RS码中的4个信息符号为m3,m2,m1和m0,信息码符多项式为,323210()M xm xm xm xm第16章 错误检测和校正19/4316.2 RS编码和纠错算法编码和纠错算法(续续6)假设RS校验码的2个符号为Q1和Q0,的剩余多项

14、式为 这个多项式的阶次比的阶次少一阶。2()()()()n kM x xM x xG xG x01QQ)(xxR如果K0=1,t=1,则RS校验码生成多项式为0120()()=()()KKiiG xxxx根据多项式运算规则,可得到54322321010()()()m xm xm xm xQ xQxxQ x第16章 错误检测和校正20/4316.2 RS编码和纠错算法编码和纠错算法(续续7)当用x=和x=2代入上式时,得到下面的方程组 54323210102 5242 3222 13210100 ()()()()()0mmmmQQmmmmQQ经过整理可以得到用矩阵表示的(6,4)RS码的校验方程

15、为543212 5242 3222 132101001()()()()()1TQQQQHVHVmmmmQQ第16章 错误检测和校正21/4316.2 RS编码和纠错算法编码和纠错算法(续续8)求解方程组可得到校验符号 55041321030303210QmmmmQmmmm在读出时的校正子可按下式计算 例例16.3 在例16.2中,如果K0=0,t=1,则RS校验码生成多项式为,01010()()()()KKiiG xxxx第16章 错误检测和校正22/4316.2 RS编码和纠错算法编码和纠错算法(续续9)根据多项式的运算,可得到下面的方程组32101054323210100 0mmmmQQm

16、mmmQQ方程中的i 可看成符号mi 的位置,此处的i=0,1,5求解方程组可得到RS校验码的2个符号Q1和Q02531321036403210QmmmmQmmmm第16章 错误检测和校正23/4316.2 RS编码和纠错算法编码和纠错算法(续续10)假定mi(信息符号)为下列值n m3=0=001n m2=6=101n m1=3=011n m0=2=100可求得校验符号6140101110QQ第16章 错误检测和校正24/4316.2 RS编码和纠错算法编码和纠错算法(续续11)n16.2.3 RS码的纠错算法码的纠错算法RS码的错误纠正过程分三步n(1)计算校正子(syndrome)n(2

17、)计算错误位置和错误值n(3)纠正错误现以现以【例【例16.3】为例介绍为例介绍RS码的纠错算法码的纠错算法校正子使用下面的方程组来计算:032101054321321010 smmmmQQsmmmmQQ第16章 错误检测和校正25/4316.2 RS编码和纠错算法编码和纠错算法(续续12)n为简单起见,假定存入光盘的信息符号为m3,m2,m1,m0,由此产生的检验符号Q1和Q0均为0,读出的符号为(1)计算s1和s0n如果计算得到的s1和s0都为0,则说明没有错误;如果计算得到的s1和s0不全为0,则说明有错,进入下一步(2)计算错误位置和错误值ns1和s0不全为0说明有错,但不知道有多少个

18、错,也不知道错在什么位置和错误值。如果只有一个错误,并假设错误的位置为x,错误值为mx,那么可通过求解下面的方程组得知错误的位置和错误值:321010mmmmQQ,和01xxxsmsm第16章 错误检测和校正26/4316.2 RS编码和纠错算法编码和纠错算法(续续13)n例如,计算得到s0=2和s1=5,则可求得x=3和mx=2,说明m1出了错,它的错误值是2(3)纠正错误n知道了错误位置和错误值后就可纠正。纠正后的m1=m1+mx。本例中m1=0n如果计算得到的结果为s0=0和s10,则基本上可断定至少有两个错误,已超出了纠错能力。CD-ROM中的错误校正编码CIRC和里德-索洛蒙乘积码(

19、Reed Solomon Productlike Code,RSPC)都是采用上述方法导出的 第16章 错误检测和校正27/4316.3 CIRC纠错技术纠错技术光盘存储器和其他存储器一样,经常遇到的错误有两种n(1)随机错误:由随机干扰造成的错误,其特点是随机的和孤立的,干扰过后再读一次光盘,错误就可能消失n(2)突发错误:连续多位出错或连续多个符号出错,如盘片的划伤、沾污或盘本身的缺陷都可能出现这种错误,一错就错一大片CIRC(Cross Interleaved Reed Solomon)纠错码综合了交插、延时交插、交叉交插等技术,不仅能够纠正随机错误,而且对纠正突发错误特别有效第16章

20、错误检测和校正28/4316.3 CIRC纠错技术纠错技术(续续1)n16.3.1 交插技术交插技术对纠错来说,分散的错误比较容易得到纠正,而对一长串的连续错误,就比较麻烦n我们读书看报,如果文中在个别地方出错,根据前后文就容易判断是什么错。如果连续错的字比较多,就很难判断该处写的是什么。n例如,用X表示出现的错字,两种错误形式u“独在异乡XXX,每逢佳节倍思亲”,这是连续出现的错误u“独在异乡X异客,每X佳节倍思X”,这是分散出现的错误n哪种错误形式更容易纠正?把这种思想用在数字记录系统中,对纠正突发错误的更正非常有效n在光盘上记录数据时,把本该连续存放的数据错开放,那么当出现一片错误时,这

21、些错误就分散到各处,错误就容易得到纠正,这种技术就称为交插(interleaving)技术 第16章 错误检测和校正29/4316.3 CIRC纠错技术纠错技术(续续2)【例】3个(5,3)码块121010221010321010()()()Ba a a P PBb b b Q QBc c c R R排成3行a2a1a0P1P0b2b1b0Q1Q0c2c1c0R1R0连续排列成:a2a1a0P1P0b2b1b0Q1Q0c2c1c0R1R0交插排列:a2b2c2a1b1c1a0b0c0P1Q1R1P0Q0R0连续错3个:a2b2c2a1b1c1a0X XXQ1R1P0Q0R0读出后重新排列:a2

22、a1a0X P0b2b1X Q1Q0c2c1X R1R0第16章 错误检测和校正30/4316.3 CIRC纠错技术纠错技术(续续3)从这个例子中可以看到n对连续排列,每个码块中只能出现一个错误才能纠正。而交插记录后,读出的3个连续错误经还原后可把它们分散到3个码块中,每个码块可以纠正1个错误,总计可以纠正3个连续错误如果有r个(n,k)码,每个(n,k)码能纠正t个错误,排成rn矩阵,按列交插后存储或传送,读出或接收时恢复成原来的排列,那么可纠正tr个突发错误第16章 错误检测和校正31/4316.3 CIRC纠错技术纠错技术(续续4)n16.3.2 交叉交插技术交叉交插技术 交叉交插(cr

23、ossinterleaving)编码是交插的一种变型,有实际的应用价值【例【例16.4】假设存储12个符号(a2,a1,a0,b2,,d2,d1,d0),交叉交插步骤如下:(1)用(5,3)码编码器C2生成4个码块121010221010321010421010()()()()Ba a a P PBb b b Q QBc c c R RBd d d S S第16章 错误检测和校正32/4316.3 CIRC纠错技术纠错技术(续续5)(2)交插后用(6,4)码编码器C1生成5个码块a2b2c2d2T1T0a1b1c1d1U1U0a0B0c0d0V1V0P1Q1R1S1W1W0P0Q0R0S0X1

24、X0(3)再交插,交插的码块数可以是2、3、4或5。以交插2个码块为例:a2a1b2b1c2c1d2d1T1U1T0U0a0P1b0Q1c0R1d0S1(4)最后一个码块不配对,可以和下一个码块配对 第16章 错误检测和校正33/4316.4 RSPC码码按ISO/IEC 10149(ECMA-130)规定,CD-ROM扇区中的ECC码采用GF(28)域上的RSPC码,产生172个字节的P校验符号和104个字节的Q校验符号RS码采用本原多项式1)(2348xxxxxP和本原元 =(00000010)构造GF(28)域CD-ROM的扇区第16章 错误检测和校正34/4316.4 RSPC码码(续

25、续1)1)CD-ROM的扇区2352字节同步字节12字节扇区地址4字节用户数据2048字节EDC4字节未用8字节ECC276字节按ISO/IEC 10149(ECMA-130)规定,CD-ROM扇区中的ECC码采用GF(28)域上的RSPC码,产生172个字节的P校验符号和104个字节的Q校验符号RS码采用本原多项式1)(2348xxxxxP和本原元 =(00000010)构造GF(28)域第16章 错误检测和校正35/4316.4 RSPC码码(续续2)2)n从字节12开始到字节2075共2064个字节组成的数据块排列成2443矩阵,见图16-2u矩阵中的元素是字。这个矩阵要把它想象成两个独

26、立的矩阵才比较好理解和分析,一个是由MSB字节组成的2443矩阵,另一个是由LSB字节组成的2443矩阵。n字节122075和ECC域中的字节2076到2351共2340个字节组成1170个字(word)n每个字由两个字节B组成,一个称为最高有效位字节(MSB),另一个称为最低有效位字节(LSB)。第n个字由下面的字节组成()MSBB(213)LSBB(212)s nnn其中n=0,1,2,1169 第16章 错误检测和校正36/4316.4 RSPC码码(续续3)3)图16-2 RSPC码计算用数据阵列 第16章 错误检测和校正37/4316.4 RSPC码码(续续4)4)1.P校验符号用校

27、验符号用(26,24)RS码产生码产生43列的每一列用矢量表示,记为Vp。每列有24个字节的数据再加2个字节的P校验字节,用下式表示(43 0)(43 1)(43 2)()(43)()(43 22)(43 23)(43 24)(43 25)pppPppppppsNsNsNssMNVssNsNsNsN 是P校验字节 其中,0,1,2,420,1,2,25(43 24)(43 25)ppppNMsNsN和第16章 错误检测和校正38/4316.4 RSPC码码(续续5)5)对这列字节计算得到的是两个P校验字节称为P校验符号。两个P校验字节加到24行和25行的对应列上,这样构成了一个2643的矩阵,

28、并且满足方程0PPHV252421111111pH其中Hp校验矩阵为第16章 错误检测和校正39/4316.4 RSPC码码(续续6)6)2.Q校验符号用校验符号用(45,43)RS码产生码产生n增加P校验字节后得到2643矩阵,将该矩阵的对角线元素重新排列后得到一个新的矩阵,其结构见图16-3 图16-3 Q校验符号计算用数据阵列 第16章 错误检测和校正40/4316.4 RSPC码码(续续7)7)n每条对角线上的43个MSB字节和LSB字节组成的矢量记为VQ。VQ在2643矩阵中变成行矢量。第NQ行上的VQ矢量包含如下字节(44 043)(44 1 43)(44 243)()(4443)

29、()(44 41 43)(44 4243)(43 26 )(44 26 )QQQQQQQQQQsNsNsNssMNVssNsNsNsN 其中,NQ=0,1,2,25MQ=0,1,2,42是Q校验字节(43 26)(44 26)QQsNsN和第16章 错误检测和校正41/4316.4 RSPC码码(续续8)8)nVQ中的(44*MQ43*NQ)字节号运算结果要做mod(1118)运算。用(45,43)RS码产生的两个Q校验字节放到对应VQ矢量末端,并满足下面的方程:0QQHV其中HQ校验矩阵为444321111111QH(26,24)RS码和码和(45,43)RS码可纠正出现在任何一码可纠正出现

30、在任何一行和任何一列上的一个错误,并且能相当可靠地检行和任何一列上的一个错误,并且能相当可靠地检测出行、列中的多重错误测出行、列中的多重错误n如果在一个阵列中出现多重错误,Reference Technology公司提供有一种名叫Layered ECC的算法,它可以取消多重错误。它的核心思想是交替执行行纠错和列纠错 第16章 错误检测和校正42/43第第16章章 错误检测和校正参考文献错误检测和校正参考文献 n参考文献和站点参考文献和站点1.ISO/IEC 908.Compact Disc Digital Audio System.19872.ISO 9660.Volume and File

31、structure of CD-ROM for Information Interchange.19883.ISO/IEC 10149.Data Interchange on Read Only 120 mm Optical Data Disks(CD-ROM).19894.Scott A.Vanstone and Paul C.van Oorcshot.An Introduction Error Correcting Codes with Application.Kluwer,Academic Publishers,19895.Philips and Sony.System Description CD-ROM XA Compact Disk Read Only Memory extended Architecture.May,19916.Philips and Sony Corporation.CD-I Full Functional Specification.19937.林福宗.陆达.多媒体与CD-ROM.北京:清华大学出版社,1995.3 ENDEND第第16章章 错误检测和校正错误检测和校正

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!