Skip to content

Szy0127/Reed-Solomon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

多项式运算满足整式乘法规则
系数运算遵从伽罗瓦域规则
此例为GF(2^3)域 即只出现0,1,2,3,4,5,6,7 共八个数字
加法、减法相同 为异或运算
四则运算结果查表即可

所有过程中出现的运算均服从伽罗瓦域的运算规则!!!

注意:(2^2)^5 不等于2^(2*5) 但等于(2^5)^2

1、由数据计算出纠错码:
		假设数据为abcd,则构造多项式m(x) = ax^7+bx^6+cx^5+dx^4
		令g(x) = (x-2^0)(x-2^1)(x-2^2)(x-2^3)即x^4+4x^3+7x^2+7x+5
		用7次多项式m(x)除以4次多项式g(x)
		商为h(x) 余式为3次多项式 设为p(x) = ex^3+fx^2+gx+h
		则m(x)+p(x) = h(x)g(x)
		即令M(x) = m(x)+ p(x) = h(x)g(x) 则有M(x)必能被g(x)整除
		得到纠错码为efgh 组合为abcdefgh
		
2、由纠错码修正数据的错误
	当g(x) = 0 时 必有 M(x) = h(x)g(x) = 0
	而当且仅当 x = 2^0 、2^1、2^2、2^3 即 1、2、4、3 时 g(x) = 0
	当存在M(i),i=1,2,3,4 不等于0时 数据出错
	根据M(i)的值推算出错误位置e1、e2以及错误大小y1、y2四个未知量
	M(i) = y1*(i)^e1+y2*(i)^e2,i = 1,2,3,4
	最后将位置ei的数与yi做加减(异或)运算 得到正确数据

Releases

No releases published

Packages

No packages published

Languages