二次剩余码的解码演算法的制作方法

文档序号:7514150阅读:225来源:国知局
专利名称:二次剩余码的解码演算法的制作方法
技术领域
本发明涉及一种解码演算法,尤其涉及一种适用所有二次剩余码的解码演算法。
背景技术
在数字时代中,举凡声音、图像等信号都采用数字化来做处理,如耳熟能详数字电 视、蓝牙耳机、DVD音像光盘和WAP手机通信等。为了使数字产品信号能够有效读取与远距 离传输时达到高品质音像重现, 一般将信号作编解码的处理安排。 目前二次剩余码(Quadratic Residue Code)被广泛使用在各个领域的数字编解 码,其解码多采用代数解码方式消除牛顿恒等式(Newton' s identities)中未知特征值 (Unknow Syndrome)用以获取错误位置多项式(ErrorPolynomial)的系数,进一步获得错 误位置多项式(Error Polynomial)。但随着二次剩余码长度增加,运用代数解码方式产生 的高次方程式在有限体中越困难找到解,因而使得错误位置多项式难以获得。
为解决代数解码方式在二次剩余码长度增加时难以获得错误位置多项式的缺点, 一般采用无反根柏利根(Inverse-free Berlekamp Massey)演算法以计算出错误位置多项 式,但二次剩余码并无足够连续已知特征值(KnowSyndrome)作为无反根柏利根演算法输 入,以计算出正确错误位置多项式,以达到二次剩余码纠错能力内的正确解码,因此,如何 计算出错误位置多项式成为重要的课题。

发明内容
有鉴于此,为解决上述问题,本发明提出适用所有二次剩余码的解码演算法。
本发明提供二次剩余码的解码演算法,利用所提供数字信号先计算出多个已知特 征值(Known Syndrome),在错误发生下,设定错误发生数与纠错能力值,接着利用多个已知 特征值计算出多个未知特征值(UnknownSyndrome)后,将多个已知特征值和多个未知特征 值作为已知以一无反根柏利根(Inverse-free Berlekamp Massey)演算法计算出错误位置 多项式。 此时,判断错误位置多项式最高次方是否与错误发生数一致。若判断结果一致,则 以钱氏搜索(Chien-search)演算法计算此错误位置多项式找出其解根与解根数。若判断 结果不一致即代表所求得错误位置多项式非正确的,则将错误发生数增加一定值并判定错 误发生数是否超出纠错能力值。若判定错误发生数无超出纠错能力值则重新计算多个未知 特征值再回到无反根柏利根演算法重新找一组错误多项式。若判定错误发生数超出纠错能 力值则结束解码演算法程序。 以钱氏搜索演算法计算出错误位置多项式的解根与解根数后,进一步判断错误位 置多项式的解根是否与错误发生数一致。若判断为否时,则回到上述错误发生数增加一定 值并判定错误发生数是否超出纠错能力值解码程序中。若判断为是时,则寻找出错误位置 多项式的错误发生位置,修正数字信号错误发生位置相对位元,借此获得正确码字。
通过本发明的二次剩余码解码演算法可以计算出错误位置多项式,并且可适用所有二次剩余码,且经由实际计算机验证后提出,解码演算法提升现有二次剩余码无法达成的解码能力。


图1为本发明二次剩余码的解码演算法解码二次剩余码(89,45, 17)实施例流程图; 图2为本发明二次剩余码的解码演算法解码二次剩余码(71,36, 11)实施例流程图;以及 图3为本发明二次剩余码的解码演算法解码二次剩余码(79,40, 15)实施例流程图。 其中,附图标记说明如下 步骤S100提供数字信号,利用数字信号计算出多个已知特征值,若有错误发生,设定错误发生数与纠错能力值 步骤S110利用多个已知特征值计算出二次剩余码(89,45, 17)的多个未知特征值
步骤S120利用多个已知特征值和多个未知特征值作为已知,经由无反根柏利根演算法计算出错误位置多项式 步骤S130判断错误位置多项式的最高次方是否与错误发生数一致
步骤S140计算出错误位置多项式的解根与解根数 步骤S150错误发生数增加一定值并判定错误发生数是否超出纠错能力值 步骤S160判断错误位置多项式的解根数是否与错误发生数一致 步骤S170寻找出错误位置多项式的错误发生位置,并修正错误发生位置对应的
数值 步骤S200提供数字信号,利用数字信号计算出多个已知特征值,若有错误发生时,设定错误发生数与纠错能力值 步骤S210利用多个已知特征值计算出二次剩余码(71, 36, 11)的多个未知特征值
步骤S220利用多个已知特征值和多个未知特征值作为已知,经由无反根柏利根演算法计算出错误位置多项式 步骤S230判断错误位置多项式的最高次方是否与错误发生数一致
步骤S240计算出错误位置多项式的解根与解根数 步骤S250错误发生数增加一定值并判定错误发生数是否超出纠错能力值 步骤S260判断错误位置多项式的解根数是否与错误发生数一致 步骤S270寻找出错误位置多项式的错误发生位置,并修正错误发生位置对应的
数值 步骤S300提供数字信号,利用数字信号计算出多个已知特征值,若有错误发生时,设定错误发生数与纠错能力值 步骤S310利用多个已知特征值计算出二次剩余码(79,40, 15)的多个未知特征值
步骤S320利用多个已知特征值和多个未知特征值作为已知,经由无反根柏利根演算法计算出错误位置多项式 步骤S330判断错误位置多项式的最高次方是否与错误发生数一致
步骤S340计算出错误位置多项式的解根与解根数 步骤S350错误发生数增加一定值并判定错误发生数是否超出纠错能力值 步骤S360判断错误位置多项式的解根数是否与错误发生数一致 步骤S370寻找出错误位置多项式的错误发生位置,并修正错误发生位置对应的
数值
'I "2
W具体实施例方式
为使对本发明目的、演算法的内容有进一步的了解,特结合相关实施例及附图详 细说明如下 请同时参考图l,其为本发明二次剩余码(Quadratic Residue Code)的解码演算 法,解码二次剩余码(89,45, 17)实施例,解码流程包含有下列步骤 提供数字信号,利用数字信号计算出多个已知特征值(KnownSyndrome),若有错误 发生时,设定错误发生数与纠错能力值,如步骤S100。此步骤中,数字信号经由等式l可
计算出多个已知特征值,其中假设错误发生数为参数v,且初始设置数值为l,二次剩余码 (89,45, 17)的纠错能力值为8。 Si = HP1) = c(pi)+e(l3i) = e(pi) = e。+ei|3+".+e88|388 (等式1)
其中等式1中Si为已知特征值,13为GF(211)体中的原生n次根(Primitiventh Root of Unity) , n为码长。 利用多个已知特征值计算出二次剩余码(89,45, 17)的多个未知特征值(Unknown Syndrome),如步骤SI 10。首先须令集合I = U"; ...,iv+1}与集合J = {丄,」2, ...,jv+1} 为{0,1, ,n-l}的子集合,n为码长。并定义(v+l)Xv大小矩阵X(1)与X(J),矩阵表示 如下
<formula>formula see original document page 5</formula> 进一步定义矩阵S(I,J) 二X(I)X(J)T和其定理,其中矩阵X(J)T表示为X(J)的转 置矩阵,S(I, J)则为一个大小原(v+1) X (v+1)的矩阵。
定理1.矩阵S(I, J)具有如下的型式
<formula>formula see original document page 5</formula> 其中S的下标为被n除后所得的余数,n为码长。并且,矩阵S(I, J)的行列式等 于零,也就是det(S(I, J)) =0. 假如矩阵S(I,J)内含有多个未知特征值,则det(S(I,J)) =0可看做一个未知特
<formula>formula see original document page 5</formula>征值的方程式,系数是由已知特征值所组成。若矩阵S(I, J)内只有一个未知特征值s/气
那么Sr(V)可以由下面的定理所获得,其中Sr(V)意指在假设V个错误发生数下的未知特征值。 定理2.若矩阵S(I, J)之中只有一个未知特征值S,),则S,)可以被表示成一个
分式,此分式的值是属于矩阵S(I, J)其中两个矩阵的行列式展开后相除。若Sr(v)出现在
矩阵S(I,J)中第i行第」列,则^=^^,其中A。是指(v+l)X(v+l)矩阵S(I,J)中
S/V)所在的地址第i行第j列由零取代,而A是指矩阵S(I, J)中消除第i行和第j列所
形成的vXv的子矩阵。 经由上述定理2次剩余码(89,45, 17)的未知特征值可计算如下方式计算得知
Case 0 :若无错误发生时,S3 (0) = 0 ;S13(°) = 0。
Case 1 :S3(1) = ;S13(1) = S,3。 下面Case v a)与b)分别定义I和J集合。再利用定理1与定理2进一步就可以计算出两个未知特征值S3与S13。 Case 2 : a)I2 = {0,1,2}, J2 S(/"2)二
<formula>formula see original document page 6</formula>(2)
<formula>formula see original document page 6</formula>(S^SigSgg+S^S^Sii+SiS^Sii)
Case 3 :<formula>formula see original document page 6</formula><formula>formula see original document page 6</formula>
<formula>formula see original document page 6</formula>
<formula>formula see original document page 6</formula>
<formula>formula see original document page 6</formula><formula>formula see original document page 6</formula>
<formula>formula see original document page 6</formula>
Case 5 :a)l/= {1, 16, 17,20,39,57} , J/= {0, 33, 52, 68, 71, 72}
I52 = {0, 1,8,39,49,72} , J52 = {0, 1, 8, 39, 49, 84}。 在5个错的情况下,无法只用一组(1, J)集合就能定义出所有5个错的未知特征 值S,)。经过计算机的模拟测试发现需要两组(I,J)集合即可涵盖所有5个错对应的未知 特征值S3(5)。 b)I5= {0, 1,2,3,4,5} , J5 = {0, 1, 2, 8, 87, 88}。 将a)中所获得的S3(5)视为其特征值后利用定理1与定理2进一步就可以计算出 两个未知特征值S13(5)。
Case 6 : a)lj二 {1,2,3,4,9,71,87} , Je1 = {0, 1, 2, 7, 8, 86, 87}
I62 = {1,2,3,4,5, 11,87} , J62 = {0, 1, 5, 6, 7, 86, 87}
I63 = {1,2,3,4,9,87,88} , J63 = {0, 1, 2, 7, 8, 46, 86}。 在6个错的情况下,无法只用一组(1, J)集合就能定义出所有6个错的未知特征 值S,)。经过计算机的模拟测试发现需要三组(I,J)集合。这三组(I,J)集合的行列式展 开都为非线性的S,)多项式,由定理2知道这些行列式等于零。换言之,这三个多项式会具 有相同的一次因式。因此,求出这三个多项式的一次因式即可以定义出唯一的S,)的值。 在b)中,可以将S,)视为一个已知的值来使用。
b)lj二 {0, 1,2,3,4,5,6} , Je1 = {0, 1, 2, 3, 7, 87, 88}。 将a)中所获得的S3(6)视为其特征值后利用定理1与定理2进一步就可以计算出 两个未知特征值S13(6)。
Case 7 : a)l/= {2,3,4,6,7,8, 14,20} , J/= {0, 2, 4, 14, 65, 85, 86, 87} , I72 = {1,2,3,4, 6, 8, 14,87} , J72 = {0, 2, 3, 4, 6, 8, 86, 87} , I73 = {1,2,3,4,9, 10, 71, 87} , J73 = {0, 1,2,7, 8,46,86,87}。 与6个错的情况相同,必须使用三组(I,J)集合定义7个错的未知特征值S/)。在 S3(7)被定义后,b)中S3(7)就被视为一个已知的值来使用。 b)1/ = {0, 1,3,6,8, 17,40,84} , = {0, 4, 5, 6, 8, 17, 39, 47} , 172 = {0,1,3,6, 8, 17, 40, 88} , J72 = {0,4,5,6,8, 17, 47, 88} , 173 = {1,2,4,7,9, 18, 42, 87} , J73 = {0,4,5, 7,38,46,83,87}。 三组(1, J)集合的行列式展开后令它们为零,可以得到三个S13(7)的线性方程式。 S13(7)就可以被其中的一个方程式给唯一决定。
Case 8 : a)lj二 {1,2,3,6, 17,20,45,84,87} , Js1 = {0, 3, 4, 5, 8, 19, 22, 47, 86} , 182 = {1, 3, 5, 6, 7, 11, 17,39,84} , J82 = {0, 1, 3, 5, 11, 17, 39, 84, 86} , 183 = {1, 2, 3, 4, 5, 6, 9, 20, 87}, J83 = {0, 1,2,3,5, 19, 44, 86, 87} , 184 = {6, 7, 8, 9, 40, 53, 56, 57, 72} , J84 = {0, 15, 16, 38, 39,40,41,72,81}。 与7个错的情况相同,必须使用四组(I,J)集合定义8个错的未知特征值S^8)。在 S3(8)被定义后,b)中S3(8)就被视为一个已知的值来使用。
b)lj二 {2,6,7,8,9, 18,53,85,87} , Js1 = {0, 2, 3, 4, 14, 16, 38, 82, 83} , I82 = {0,1,2,3,4,5,6,20,87} , J82 = {0, 1, 2, 3, 4, 5, 8, 44, 87} , 183 = {1, 2, 3, 4, 5, 6, 9, 20, 45} , J83 ={0,1,2,3,4,5,19,44,86}。 三组(1, J)集合的行列式展开后令它们为零,可以得到三个S13(8)的线性方程式。S13(8)就可以被其中的一个方程式给唯一决定。 利用多个已知特征值和多个未知特征值做为已知,经由无反根柏利根(Inverse-free Berlekamp Massey)演算法计算错误位置多项式,如步骤S120。本步骤中,主要利用所获得的多个已知特征值和多个未已知特征值为已知输入值,以能有效率获得循环码的错误位置多项式的无反根柏利根演算法进一步计算出错误位置多项式。无反根柏利根演算法步骤如下说明
(o)
l,C(0)(x) = l,A""(x) = l禾口 1
步骤l)初始值k二 l,r步骤2)计算差值
步骤3)计算错误位置多项式
C(k)(x) =r(k—"C(H)(x)-A(k)A(H)(x) .x
(0)
(0)
1,
步骤4)代换辅助变数Aw (x) 、 Aw 、 1w和r
-(k)
,)(x)=
r j(")(x),如果A(" =0或者2/糾>WC(")(x),如果A(" ^0或者2/(") SA:-1
「/("1),如果A(" =0或者2/(") >W如果A(4) #0或者2/(")《hl
(x)=
乡卩果A("^0或者2/(")^W
步骤5)进入到下一个阶段k = k+l如果k《2t,则回到步骤2),否则停止。其中C(k) (x)代表第k个阶段的错误位置多项式,A (k)为一个由已知症状值Sk所
计算出来的一个差值,A(k) (x) 、A(k)、l(k)和r(k)为在k阶段找出错误位置多项式的辅助变数c
讨 判断错误位置多项式的最高次方是否与错误发生数一致,如步骤S130。此步骤中,利用判断式deg(o (x)) = v判断错误位置多项式的最高次方与错误发生数是否相同,其中,deg(o (x))为错误位置多项式的最高次方,而v如前述为错误发生数。
若判断错误位置多项式的最高次方与错误发生数的数值为相同,则计算出错误位置多项式的解根与解根数,如步骤S140。此步骤中,错误位置多项式的解根与解根数两者是利用错误多项式结合钱氏搜索(Chien Search)演算法计算。此处所述的钱氏搜索演算法,其用于寻找有限体中多项式的根,且与其它演算法相较之下,运用于错误位置多项式根的搜寻具有较佳计算结果。
8
若判断错误位置多项式的最高次方与错误发生数的数值为不相同时,将错误发生 数增加一定值并判定错误发生数是否超出纠错能力值,如步骤S150。此步骤是将定值的数 值设为l,而二次剩余码(89,45, 17)的纠错能力值为8。当错误发生数超出纠错能力值,即 无法再进行修正数字信号作业,则结束演算法程序。否则,若错误发生数是否未超出纠错能 力值时,则返回利用多个已知特征值计算出二次剩余码(89,45,17)的多个未知特征值,如 步骤S110。 判断错误位置多项式的解根数是否与错误发生数一致,如步骤S160。先将错误位 置多项式进行解根数运算,再判断所算出来的解根数与错误发生数是否为一致。此步骤所 使用的判断式为u = v,其中u为解根数,而v为前述的错误发生数。 当判定两数值为一致,寻找出错误位置多项式的错误发生位置,并修正错误发生 位置对应的数值,如步骤S170。此步骤中,利用错误位置多项式寻找出输入的数字信号错误 发生位置,并对取得数字信号错误位置的数值修正获得正确数值。 反之,若判定两数值不为一致时,则返回将错误发生数增加一定值并判定错误发 生数是否超出纠错能力值,如步骤S150。 请同时参考图2,其为本发明二次剩余码的解码演算法,解码二次剩余码(71,36, 11)实施例,解码流程包含有下列步骤 提供数字信号,利用数字信号计算出多个已知特征值,若有错误发生时,设定错误 发生数与纠错能力值。如步骤S200。此步骤中,数字信号经由等式2可计算出多个已知特 征值,其中假设错误发生数为参数v,且初始设置数值为l,二次剩余码(71,36,11)的纠错 能力值为5。 Si = = e(pi) = e。+e^+…+en—J11—1 (等式2) 其中等式2中Si为已知特征值,13为GF(235)有限体中的原生n次根(Primitive nth Root of Unity)。 利用多个已知特征值计算出二次剩余码(71,36, 11)的多个未知特征值(步骤 二次剩余码(71,36,11)的未知特征值S7计算方式,说明如下 Case 0 :S7(0) = 0。 Case 1 :S7(1) = S/。 Case 2:I2= {0,1,2},J2= {0,1,5}。
S210) u c (o)

恥,J》
(2)
s7
G&S6
=(S^6+S2Ss) + (S3Ss/S》
3 :I3 = {0,1,2,3}, J3 :
{0, 1,2,4} 恥,J3) Case 4 :I4
S, &
5\ iS2 5"3 S2 S3 S4 S4 5"5《3)
{0,1,2,4,7}, J.
{0,1,2,8,36}。
Case 5:1/= {0, 1, 2, 4, 7, 24} , = {0, 1, 3, 5, 8, 36} I52 = {3,4,5, 12, 15,45} , J52 = {0, 3, 4, 15, 33, 45}。 在错误个数为五的情况下,无法只用一组(1, J)集合就能定义出所有错误个数为
五的情形的未知特征值S/5)。这两组S(1/, J。、 s(i52, J52)矩阵其行列式展开为零,获得
下列两个S"的三次方程式fJS") 二0禾PgJS") =0,系数由已知特征值组成。再令
FJS/5)) = gcd(fJS/5)), gJS/5))),对于所有五个错的情形&(S/5))都为一次多项式,令
Fi(s7(5)) = 0即可唯一定义出未知特征值S7(5)。 利用多个已知特征值和多个未知特征值作为已知,经由无反根柏利根
(Inverse-free Berlekamp Massey)演算法计算错误位置多项式,如步骤S220。本步骤中
主要利用所获得的多个已知特征值和多个未已知特征值为已知输入值,以能有效率获得循
环码的错误位置多项式的无反根柏利根演算法进一步计算出错误位置多项式。其中,无反
根柏利根演算法步骤如解码二次剩余码(89,45,17)实施例中的步骤S120所述。 判断错误位置多项式的最高次方是否与错误发生数一致,如步骤S230。此步骤中,
是利用判断式deg(o (x)) =¥判断错误位置多项式的最高次方与错误发生数是否相同,其
中,deg(o (x))为错误位置多项式的最高次方,而v如前述为错误发生数。 若判断错误位置多项式的最高次方与错误发生数的数值为相同,则计算出错误位
置多项式的解根与解根数,如步骤S240。此步骤中,错误位置多项式的解根与解根数两者是
利用错误多项式结合钱氏搜索演算法计算。此处所述的钱氏搜索演算法,其用于寻找有限
体中多项式的根,且与其它演算法相较之下,运用于错误位置多项式根的搜寻具有较佳计
算结果。 若判断错误位置多项式的最高次方与错误发生数的数值为不相同时,将错误发生 数增加一定值并判定错误发生数是否超出纠错能力值,如步骤S250。此步骤,是将定值的 数值设为l,而二次剩余码(71,36,11)的纠错能力值为如先前所述为5。当错误发生数超 出纠错能力值,即无法再进行修正数字信号作业,则结束演算法程序。否则,若错误发生数 是否未超出纠错能力值时,则返回利用多个已知特征值重新计算出二次剩余码(71, 36, 11) 的多个未知特征值,如步骤S210。 判断错误位置多项式的解根数是否与错误发生数一致,如步骤S260。先将错误位 置多项式进行解根数运算,再判断所算出来的解根数与错误发生数是否为一致。此步骤所 使用的判断式为u = v,其中u为解根数,而v为前述的错误发生数。 当判定两数值为一致,寻找出错误位置多项式的错误发生位置,并修正错误发生 位置对应的数值,如步骤S270。此步骤中,利用错误位置多项式寻找出输入的数字信号错误 发生位置,并对取得数字信号错误位置的数值修正获得正确数值。 反之,若判定两数值不为一致时,则返回将错误发生数增加一定值并判定错误发 生数是否超出纠错能力值,如步骤S250。 请同时参考图3,其为本发明二次剩余码的解码演算法,解码二次剩余码(79,40, 15)实施例,分析流程包含有下列步骤 提供数字信号,利用数字信号计算出多个已知特征值,若有错误发生时,设定错误 发生数与纠错能力值,如步骤S300。此步骤中,数字信号经由等式3可计算出多个已知特征 值,其中假设错误发生数为参数v,且初始设置数值为l,二次剩余码(79,40,15)的纠错能
10力值为7。 Si = r (|3 0 = e (|3 0 = e。+e丄P丄+…+en—丄P n—1 (等式3) 其中等式3中Si为已知特征值,13为GF(239)有限体中的原生n次根(Primitive nth Root of Unity)。 利用多个已知特征值计算出二次剩余码(79,40, 15)的多个未知特征值,如步骤 S31Q。 二次剩余码(79,40,15)的未知特征值S3计算方式,说明如下
<formula>formula see original document page 11</formula>




G3S6 G3S6 G3S6
4:14 5:15 6 :Is
{0,1,2,3,13}, J4 = {0,8,18,19,49}。 {2,3,4,19,25,73} , = {0,6,7,17,19,48} {1,2,3,4,5,64,72}, J卩={0,1,8,17,18,19,20} 162 = {0, 1,2,3, 16,22,42} , J62 = {0, 2, 3, 9, 10, 20, 22}。
在错误个数为六的情况下,无法只用一组(1, J)集合就能定义出所有错误个数为 六的未知特征值S3(6)。这两组(1, J)集合的行列式展开都为非线性的S3(6)多项式,由解码 二次剩余码(89,45, 17)实施例中定理2得知这些行列式等于零。换言之,这两个多项式至 少具有相同的一次因式。因此,使用欧基里德演算法(Euclid's Algorithm)求出这两个多 项式的最高公因式。经过计算机的模拟测试发现这两组对于所有的错误个数为六的情形都 可以得到一次因式即可以定义出唯一的S,)的值。 Case 7 :l/ = {0, 1, 2, 3, 4, 5, 64, 72} , j/ = {0, 1,8, 16, 17, 18, 19,20} , 172 = {0, 1,2,3,4, 16, 18,24} , J72 = {0, 1,2,8, 16, 18, 20, 22}。 与错误个数为六的情况相同,S(l/, J"与S(I72, J72)的行列式展开后我们获得 两个分别为83次方与153次方的S,)多项式&(S/))与gJS/))。再使用欧基里德演 算法(Euclid' s Algorithm)求出这两个多项式的最高公因式F2 (S3(7)) = gcd(f2 (S3(7)), g2(S3(7)))。经由计算机模拟检验所有收到的码字,F2(S3(7))都为一次多项式。由解码二次 剩余码(89,45, 17)实施例中定理l得知f2(S3(7)) 二0与g2(S/)) 二0,所以&(S3(7))也为 0。因此错误个数为七的原始未知特征值S3(7)可以被唯一定义。 利用多个已知特征值和多个未知特征值做为已知,经由无反根柏利根 (Inverse-free Berlekamp Massey)演算法计算错误位置多项式,如步骤S320。本步骤中主要利用所获得的多个已知特征值和多个未已知特征值为已知输入值,以能有效率获得循
环码的错误位置多项式的无反根柏利根演算法进一步计算出错误位置多项式。其中,无反
根柏利根演算法步骤如解码二次剩余码(89,45,17)实施例中的步骤S120所述。 判断错误位置多项式的最高次方是否与错误发生数一致,如步骤S330。此步骤中,
是利用判断式deg(o (x)) =¥判断错误位置多项式的最高次方与错误发生数是否相同,其
中,deg(o (x))为错误位置多项式的最高次方,而v如前述为错误发生数。 若判断错误位置多项式的最高次方与错误发生数的数值为相同,则计算出错误位
置多项式的解根与解根数,如步骤S340。此步骤中,错误位置多项式的解根与解根数两者是
利用错误多项式结合钱氏搜索演算法计算。此处所述的钱氏搜索演算法,其用于寻找有限
体中多项式的根,且与其它演算法相较之下,运用于错误位置多项式根的搜寻具有较佳计
算结果。 若判断错误位置多项式的最高次方与错误发生数的数值为不相同时,将错误发生 数增加一定值并判定错误发生数是否超出纠错能力值,如步骤S350。此步骤,是将定值的数 值设为l,而二次剩余码(79,40, 15)的纠错能力值为7。当错误发生数超出纠错能力值,即 无法再进行修正数字信号作业,则结束演算法程序。否则,若错误发生数是否未超出纠错能 力值时,则返回利用多个已知特征值计算出二次剩余码(79,40,15)的多个未知特征值,如 步骤S310。 判断错误位置多项式的解根数是否与错误发生数一致,如步骤S360。先将错误位 置多项式进行解根数运算,再判断所算出来的解根数与错误发生数是否为一致。此步骤所 使用的判断式为u = v,其中u为解根数,而v为前述的错误发生数。 当判定两数值为一致,寻找出错误位置多项式的错误发生位置,并修正错误发生 位置对应的数值,如步骤S370。此步骤中,利用错误位置多项式寻找出输入的数字信号错误 发生位置,并对取得数字信号错误位置的数值修正获得正确数值。 反之,若判定两数值不为一致时,则返回将错误发生数增加一定值并判定错误发 生数是否超出纠错能力值,如步骤S350。 虽然本发明以前述的较佳实施例公开如上,然其并非用以限定本发明,任何本领 域普通技术人员,在不脱离本发明的精神和范围内,所作更动与润饰的等效替换,都在本发 明的专利保护范围内。
权利要求
一种二次剩余码的解码演算法,其包含下列步骤提供一数字信号,利用该数字信号计算出多个已知特征值,若有错误发生,设定一错误发生数与一纠错能力值;利用所述多个已知特征值计算出多个未知特征值;利用所述多个已知特征值与所述多个未知特征值作为已知,计算出一错误位置多项式;判断该错误位置多项式的最高次方是否与该错误发生数一致;判定结果为是,则计算出该错误位置多项式的至少一解根与至少一解根数;判定结果为否,将该错误发生数增加一定值并判定该错误发生数是否超出该纠错能力值,若判定未超出该纠错能力值,则返回该利用所述多个已知特征值计算出多个未知特征值步骤;判断该错误位置多项式的该解根数是否与该错误发生数一致;判定结果为是,则寻找出该错误位置多项式的至少一错误发生位置,并修正该错误发生位置对应的数值;以及判定为否时,返回该错误发生数增加一定值并判定该错误发生数是否超出该纠错能力值步骤。
2. 如权利要求1所述的二次剩余码的解码演算法,其中该二次剩余解的解码演算适用于所有二次剩余码。
3. 如权利要求1所述的二次剩余码的解码演算法,其中该二次剩余的解码演算适用于二次剩余码(89,45, 17)。
4. 如权利要求1所述的二次剩余码的解码演算法,其中该错误发生数的初始设置数值为l,而该定值为1。
5. 如权利要求1所述的二次剩余码的解码演算法,其中利用所述多个已知特征值与所述多个未知特征值作为已知,计算出该错误位置多项式步骤中,该错误位置多项式是以所述多个已知特征值和所述多个未知特征值为已知输入值,以一无反根柏利根演算法计算而得。
6. 如权利要求1所述的二次剩余码的解码演算法,其中该错误位置多项式的至少一解根与至少一解根数是以该错误位置多项式为基础,以一钱氏搜索演算法计算得之。
全文摘要
本发明公开一种二次剩余码的解码演算法,适用于所有二次剩余码的解码,解码方式为提供数字信号求得多个已知特征值,利用多个已知特征值计算出多个未知特征值后,以无反根柏利根演算法计算得错误位置多项式,再运用钱氏搜索演算法计算此错误位置多项式错误发生位置,即可修正数字信号错误发生相对位元,以获得正确码字。通过本发明的方法可以计算出错误位置多项式,从而提升二次剩余码的解码能力。
文档编号H03M7/18GK101753147SQ20081017838
公开日2010年6月23日 申请日期2008年11月28日 优先权日2008年11月28日
发明者张肇健, 施沛渝, 林宗庆, 苏文谷 申请人:义守大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1