优选错误检测和校正
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用同样的方法可建立GF(28)域中的256个元 素与8位二进制数之间的一一对应关系。
– 现仍以GF(23)域中运算为例:
加法例:α0+α3 = 001+011 = 010 = α1
减法例:与加法相同 乘法例:α5·α4 = α(5+4) mod7
= α2 除法例:α5/α3 = α2 α3/α5 = α-2
P(x)=(x16+x15+x2+1)(x16+x2+x+1)
计算CRC码时用的数据块是从扇区的开头到用户数据区结 束为止的数据字节,即字节0~2063共2064个字节。在 EDC中存放的CRC码的次序如下:
EDC: 字节号:
x24-x31 2064
x16-x23 2065
x8-x15 2Baidu Nhomakorabea66
x0-x7 2067
P(x)
• CD-ROM用来构造GF(28)域的 是
P(x)=x8+x4+x3+x2+1
而GF(28)域中的本原元素为 :
α=(00000010)
– [例13.1] 构造GF(23)域的本原多项式P(x)假定
为
P(x)=x3+x+1
α定义为 P(x) = 0的根,即
α3+α+1 = 0
和
α3 = α+1
码生成多项式 除尽的,即它的余项为0。
• 例如,CD盘中的q通道和软磁盘存储器中使用的 CRC校验码生成多项式是:
G(x)=x16+x12+x5+1
若用二进制表示,则为 :
G(x)=10001000000100001(B)
=11021(H) 假定要写到盘上的信息代码 M(x)为
M(x)=4D6F746F(H) 由于增加了2个字节共16位的校验码,所以信息代码变成
位二进 制数组成
n
表示码块长度,k 表示码块中的信息长
度
K=n-k = 2t
表示校验码的符号数
t
表示能够纠正的错误数目
» 例如,(28,24)RS码表示码块长度共28个符号,其中 信息代码的长度为24,检验码有4个检验符号。
– 对一个信息码符多项式M(x) ,RS校验码生成多
项式的一般形式为:
K 1
– 如果一个k位的二进制信息代码多项式为M(x) ,再增加(n-k)位 的校验码,那么增加(n-k)位之后,信息代码多项式在新的数据
块中就表示成 xn-kM(x),如图16-01所示。
(n-k)
(n-k)
图16-01 信息代码结构
– 如果用一个校验码生成多项式G(x)去除代码多项式 ,得到的商假 定为Q(x),余式为R(x),则可写成
= α(-2+7) = α5 取对数:log(α5) = 5
这些运算的结果仍然在GF(23)域中。
• 16.2.2 RS的编码算法
– RS的编码
– 就是计算信息码符多项式M(x) 除以校验码生成多项式G(x) 之后的余数。
– 在GF(2m)域中,符号(n,k)RS的含义如下:
m
表示符号的大小,如 m = 8表示符号由8
x7+1/ P(x)=???
GF(23)中的元素可计算如下:
0 α0 α1 α2 α3 α4 α5 α6 α7 α8 ……
mod(α3+α+1) = 0 mod(α3+α+1) = α0 = 1 mod(α3+α+1) = α1 mod(α3+α+1) = α2 mod(α3+α+1) = α+1 mod(α3+α+1) = α2+α mod(α3+α+1) = α2+α1+1 mod(α3+α+1) = α2+1 mod(α3+α+1) = α0 mod(α3+α+1) = α1
xnk M (x) Q(x) R(x)
g(x)
G(x)
xnk M (x) Q(x)G(x) R(x)
• 因为模2多项式的加法和减法运算结果相同,所以又可把上式写成:
xnk M (x) R(x) Q(x)G(x)
– G(x)称为校验码生成多项式。 – 从该式中可以看到,代表新的代码多项式 xn-kM(x)+R(x) 是能够被校验
表16-01 GF(23)域中与二进制代码对照表,P(x)=x3+x+1
GF(23)域元素 0 α0 α1 α2 α3 α4 α5 α6
二进制对代码 (000) (001) (010) (100) (011) (110) (111) (101)
建立了GF(23)域中的元素与3位二进制数之 间的一一对应关系。
第16章 错误检测和校正
优选错误检测和校正
– 在模2多项式代数运算中定义的运算规则有:
• 例如,模2多项式的加法和减法: ****
• 结论:
– 对于模2运算来说,代码多项式的加法和减法运算所得的 结果相同。
– 在做代码多项式的减法时,可用做加法来代替做减法。
– 代码多项式的除法可按长除法做。
• 例如
16.2 RS编码和纠错算法
• 16.2.1. GF(2m)域 ****
– 伽罗华域(Galois Field,GF)
• CD-ROM中的数据、地址、校验码等都可以看成是属于 GF(2m) = GF(28)中的元素或称符号。GF(28)表示域中有256 个元素,除0,1之外的254个元素由本原多项式P(x)生成。 本原多项式P(x)的特性是 x2m1 1得到的余式等于0。
B994 CRC码
这个码是能被11021(H) 除尽的。
9
从盘上把这块数 据读出时,用同 样的CRC码生成 多项式去除这块 数据,相除后得 到的两种可能结 果是:
①余数为0,表 示读出没有出现 错误;
②余数不为0, 表示读出有错。
CD-ROM中也采用了相同的CRC检错。CD-ROM扇区方 式01中,有一个4字节共32位的EDC字域,它就是用来存 放CRC码。
x16M(x) : 4D6F746F0000(H)。
CRC检验码计算如下:
两数相除的结果,其商可
不必关心,其余数为
B994(H)就是CRC校验码。
把信息代码写到盘上时,
73
将原来的信息代码和CRC
码一起写到盘上。在这个
例子中,写到盘上的信息
代码和CRC码是
4D6F746F B994,
4D6F746F 信息代码
G(x) (x K0i )
i0
(16-2)
式中,K0是偏移量,通常取K0 = 0或K0 = 1, 而K=(n-k)≥2t (t为要校正的错误符号数)。
– [例13.2]
• 设在GF(23)域中的元素对应表如表16-01所示 。假
设(6,4)RS码中的4个信息符号为m3、m2、m1和 m0,信息码符多项式 M(x)为
– 现仍以GF(23)域中运算为例:
加法例:α0+α3 = 001+011 = 010 = α1
减法例:与加法相同 乘法例:α5·α4 = α(5+4) mod7
= α2 除法例:α5/α3 = α2 α3/α5 = α-2
P(x)=(x16+x15+x2+1)(x16+x2+x+1)
计算CRC码时用的数据块是从扇区的开头到用户数据区结 束为止的数据字节,即字节0~2063共2064个字节。在 EDC中存放的CRC码的次序如下:
EDC: 字节号:
x24-x31 2064
x16-x23 2065
x8-x15 2Baidu Nhomakorabea66
x0-x7 2067
P(x)
• CD-ROM用来构造GF(28)域的 是
P(x)=x8+x4+x3+x2+1
而GF(28)域中的本原元素为 :
α=(00000010)
– [例13.1] 构造GF(23)域的本原多项式P(x)假定
为
P(x)=x3+x+1
α定义为 P(x) = 0的根,即
α3+α+1 = 0
和
α3 = α+1
码生成多项式 除尽的,即它的余项为0。
• 例如,CD盘中的q通道和软磁盘存储器中使用的 CRC校验码生成多项式是:
G(x)=x16+x12+x5+1
若用二进制表示,则为 :
G(x)=10001000000100001(B)
=11021(H) 假定要写到盘上的信息代码 M(x)为
M(x)=4D6F746F(H) 由于增加了2个字节共16位的校验码,所以信息代码变成
位二进 制数组成
n
表示码块长度,k 表示码块中的信息长
度
K=n-k = 2t
表示校验码的符号数
t
表示能够纠正的错误数目
» 例如,(28,24)RS码表示码块长度共28个符号,其中 信息代码的长度为24,检验码有4个检验符号。
– 对一个信息码符多项式M(x) ,RS校验码生成多
项式的一般形式为:
K 1
– 如果一个k位的二进制信息代码多项式为M(x) ,再增加(n-k)位 的校验码,那么增加(n-k)位之后,信息代码多项式在新的数据
块中就表示成 xn-kM(x),如图16-01所示。
(n-k)
(n-k)
图16-01 信息代码结构
– 如果用一个校验码生成多项式G(x)去除代码多项式 ,得到的商假 定为Q(x),余式为R(x),则可写成
= α(-2+7) = α5 取对数:log(α5) = 5
这些运算的结果仍然在GF(23)域中。
• 16.2.2 RS的编码算法
– RS的编码
– 就是计算信息码符多项式M(x) 除以校验码生成多项式G(x) 之后的余数。
– 在GF(2m)域中,符号(n,k)RS的含义如下:
m
表示符号的大小,如 m = 8表示符号由8
x7+1/ P(x)=???
GF(23)中的元素可计算如下:
0 α0 α1 α2 α3 α4 α5 α6 α7 α8 ……
mod(α3+α+1) = 0 mod(α3+α+1) = α0 = 1 mod(α3+α+1) = α1 mod(α3+α+1) = α2 mod(α3+α+1) = α+1 mod(α3+α+1) = α2+α mod(α3+α+1) = α2+α1+1 mod(α3+α+1) = α2+1 mod(α3+α+1) = α0 mod(α3+α+1) = α1
xnk M (x) Q(x) R(x)
g(x)
G(x)
xnk M (x) Q(x)G(x) R(x)
• 因为模2多项式的加法和减法运算结果相同,所以又可把上式写成:
xnk M (x) R(x) Q(x)G(x)
– G(x)称为校验码生成多项式。 – 从该式中可以看到,代表新的代码多项式 xn-kM(x)+R(x) 是能够被校验
表16-01 GF(23)域中与二进制代码对照表,P(x)=x3+x+1
GF(23)域元素 0 α0 α1 α2 α3 α4 α5 α6
二进制对代码 (000) (001) (010) (100) (011) (110) (111) (101)
建立了GF(23)域中的元素与3位二进制数之 间的一一对应关系。
第16章 错误检测和校正
优选错误检测和校正
– 在模2多项式代数运算中定义的运算规则有:
• 例如,模2多项式的加法和减法: ****
• 结论:
– 对于模2运算来说,代码多项式的加法和减法运算所得的 结果相同。
– 在做代码多项式的减法时,可用做加法来代替做减法。
– 代码多项式的除法可按长除法做。
• 例如
16.2 RS编码和纠错算法
• 16.2.1. GF(2m)域 ****
– 伽罗华域(Galois Field,GF)
• CD-ROM中的数据、地址、校验码等都可以看成是属于 GF(2m) = GF(28)中的元素或称符号。GF(28)表示域中有256 个元素,除0,1之外的254个元素由本原多项式P(x)生成。 本原多项式P(x)的特性是 x2m1 1得到的余式等于0。
B994 CRC码
这个码是能被11021(H) 除尽的。
9
从盘上把这块数 据读出时,用同 样的CRC码生成 多项式去除这块 数据,相除后得 到的两种可能结 果是:
①余数为0,表 示读出没有出现 错误;
②余数不为0, 表示读出有错。
CD-ROM中也采用了相同的CRC检错。CD-ROM扇区方 式01中,有一个4字节共32位的EDC字域,它就是用来存 放CRC码。
x16M(x) : 4D6F746F0000(H)。
CRC检验码计算如下:
两数相除的结果,其商可
不必关心,其余数为
B994(H)就是CRC校验码。
把信息代码写到盘上时,
73
将原来的信息代码和CRC
码一起写到盘上。在这个
例子中,写到盘上的信息
代码和CRC码是
4D6F746F B994,
4D6F746F 信息代码
G(x) (x K0i )
i0
(16-2)
式中,K0是偏移量,通常取K0 = 0或K0 = 1, 而K=(n-k)≥2t (t为要校正的错误符号数)。
– [例13.2]
• 设在GF(23)域中的元素对应表如表16-01所示 。假
设(6,4)RS码中的4个信息符号为m3、m2、m1和 m0,信息码符多项式 M(x)为