專(zhuān)利名稱(chēng):二次剩余碼的解碼演算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種解碼演算法,尤其涉及一種適用所有二次剩余碼的解碼演算法。
背景技術(shù):
在數(shù)字時(shí)代中,舉凡聲音、圖像等信號(hào)都采用數(shù)字化來(lái)做處理,如耳熟能詳數(shù)字電 視、藍(lán)牙耳機(jī)、DVD音像光盤(pán)和WAP手機(jī)通信等。為了使數(shù)字產(chǎn)品信號(hào)能夠有效讀取與遠(yuǎn)距 離傳輸時(shí)達(dá)到高品質(zhì)音像重現(xiàn), 一般將信號(hào)作編解碼的處理安排。 目前二次剩余碼(Quadratic Residue Code)被廣泛使用在各個(gè)領(lǐng)域的數(shù)字編解 碼,其解碼多采用代數(shù)解碼方式消除牛頓恒等式(Newton' s identities)中未知特征值 (Unknow Syndrome)用以獲取錯(cuò)誤位置多項(xiàng)式(ErrorPolynomial)的系數(shù),進(jìn)一步獲得錯(cuò) 誤位置多項(xiàng)式(Error Polynomial)。但隨著二次剩余碼長(zhǎng)度增加,運(yùn)用代數(shù)解碼方式產(chǎn)生 的高次方程式在有限體中越困難找到解,因而使得錯(cuò)誤位置多項(xiàng)式難以獲得。
為解決代數(shù)解碼方式在二次剩余碼長(zhǎng)度增加時(shí)難以獲得錯(cuò)誤位置多項(xiàng)式的缺點(diǎn), 一般采用無(wú)反根柏利根(Inverse-free Berlekamp Massey)演算法以計(jì)算出錯(cuò)誤位置多項(xiàng) 式,但二次剩余碼并無(wú)足夠連續(xù)已知特征值(KnowSyndrome)作為無(wú)反根柏利根演算法輸 入,以計(jì)算出正確錯(cuò)誤位置多項(xiàng)式,以達(dá)到二次剩余碼糾錯(cuò)能力內(nèi)的正確解碼,因此,如何 計(jì)算出錯(cuò)誤位置多項(xiàng)式成為重要的課題。
發(fā)明內(nèi)容
有鑒于此,為解決上述問(wèn)題,本發(fā)明提出適用所有二次剩余碼的解碼演算法。
本發(fā)明提供二次剩余碼的解碼演算法,利用所提供數(shù)字信號(hào)先計(jì)算出多個(gè)已知特 征值(Known Syndrome),在錯(cuò)誤發(fā)生下,設(shè)定錯(cuò)誤發(fā)生數(shù)與糾錯(cuò)能力值,接著利用多個(gè)已知 特征值計(jì)算出多個(gè)未知特征值(UnknownSyndrome)后,將多個(gè)已知特征值和多個(gè)未知特征 值作為已知以一無(wú)反根柏利根(Inverse-free Berlekamp Massey)演算法計(jì)算出錯(cuò)誤位置 多項(xiàng)式。 此時(shí),判斷錯(cuò)誤位置多項(xiàng)式最高次方是否與錯(cuò)誤發(fā)生數(shù)一致。若判斷結(jié)果一致,則 以錢(qián)氏搜索(Chien-search)演算法計(jì)算此錯(cuò)誤位置多項(xiàng)式找出其解根與解根數(shù)。若判斷 結(jié)果不一致即代表所求得錯(cuò)誤位置多項(xiàng)式非正確的,則將錯(cuò)誤發(fā)生數(shù)增加一定值并判定錯(cuò) 誤發(fā)生數(shù)是否超出糾錯(cuò)能力值。若判定錯(cuò)誤發(fā)生數(shù)無(wú)超出糾錯(cuò)能力值則重新計(jì)算多個(gè)未知 特征值再回到無(wú)反根柏利根演算法重新找一組錯(cuò)誤多項(xiàng)式。若判定錯(cuò)誤發(fā)生數(shù)超出糾錯(cuò)能 力值則結(jié)束解碼演算法程序。 以錢(qián)氏搜索演算法計(jì)算出錯(cuò)誤位置多項(xiàng)式的解根與解根數(shù)后,進(jìn)一步判斷錯(cuò)誤位 置多項(xiàng)式的解根是否與錯(cuò)誤發(fā)生數(shù)一致。若判斷為否時(shí),則回到上述錯(cuò)誤發(fā)生數(shù)增加一定 值并判定錯(cuò)誤發(fā)生數(shù)是否超出糾錯(cuò)能力值解碼程序中。若判斷為是時(shí),則尋找出錯(cuò)誤位置 多項(xiàng)式的錯(cuò)誤發(fā)生位置,修正數(shù)字信號(hào)錯(cuò)誤發(fā)生位置相對(duì)位元,借此獲得正確碼字。
通過(guò)本發(fā)明的二次剩余碼解碼演算法可以計(jì)算出錯(cuò)誤位置多項(xiàng)式,并且可適用所有二次剩余碼,且經(jīng)由實(shí)際計(jì)算機(jī)驗(yàn)證后提出,解碼演算法提升現(xiàn)有二次剩余碼無(wú)法達(dá)成的解碼能力。
圖1為本發(fā)明二次剩余碼的解碼演算法解碼二次剩余碼(89,45, 17)實(shí)施例流程圖; 圖2為本發(fā)明二次剩余碼的解碼演算法解碼二次剩余碼(71,36, 11)實(shí)施例流程圖;以及 圖3為本發(fā)明二次剩余碼的解碼演算法解碼二次剩余碼(79,40, 15)實(shí)施例流程圖。 其中,附圖標(biāo)記說(shuō)明如下 步驟S100提供數(shù)字信號(hào),利用數(shù)字信號(hào)計(jì)算出多個(gè)已知特征值,若有錯(cuò)誤發(fā)生,設(shè)定錯(cuò)誤發(fā)生數(shù)與糾錯(cuò)能力值 步驟S110利用多個(gè)已知特征值計(jì)算出二次剩余碼(89,45, 17)的多個(gè)未知特征值
步驟S120利用多個(gè)已知特征值和多個(gè)未知特征值作為已知,經(jīng)由無(wú)反根柏利根演算法計(jì)算出錯(cuò)誤位置多項(xiàng)式 步驟S130判斷錯(cuò)誤位置多項(xiàng)式的最高次方是否與錯(cuò)誤發(fā)生數(shù)一致
步驟S140計(jì)算出錯(cuò)誤位置多項(xiàng)式的解根與解根數(shù) 步驟S150錯(cuò)誤發(fā)生數(shù)增加一定值并判定錯(cuò)誤發(fā)生數(shù)是否超出糾錯(cuò)能力值 步驟S160判斷錯(cuò)誤位置多項(xiàng)式的解根數(shù)是否與錯(cuò)誤發(fā)生數(shù)一致 步驟S170尋找出錯(cuò)誤位置多項(xiàng)式的錯(cuò)誤發(fā)生位置,并修正錯(cuò)誤發(fā)生位置對(duì)應(yīng)的
數(shù)值 步驟S200提供數(shù)字信號(hào),利用數(shù)字信號(hào)計(jì)算出多個(gè)已知特征值,若有錯(cuò)誤發(fā)生時(shí),設(shè)定錯(cuò)誤發(fā)生數(shù)與糾錯(cuò)能力值 步驟S210利用多個(gè)已知特征值計(jì)算出二次剩余碼(71, 36, 11)的多個(gè)未知特征值
步驟S220利用多個(gè)已知特征值和多個(gè)未知特征值作為已知,經(jīng)由無(wú)反根柏利根演算法計(jì)算出錯(cuò)誤位置多項(xiàng)式 步驟S230判斷錯(cuò)誤位置多項(xiàng)式的最高次方是否與錯(cuò)誤發(fā)生數(shù)一致
步驟S240計(jì)算出錯(cuò)誤位置多項(xiàng)式的解根與解根數(shù) 步驟S250錯(cuò)誤發(fā)生數(shù)增加一定值并判定錯(cuò)誤發(fā)生數(shù)是否超出糾錯(cuò)能力值 步驟S260判斷錯(cuò)誤位置多項(xiàng)式的解根數(shù)是否與錯(cuò)誤發(fā)生數(shù)一致 步驟S270尋找出錯(cuò)誤位置多項(xiàng)式的錯(cuò)誤發(fā)生位置,并修正錯(cuò)誤發(fā)生位置對(duì)應(yīng)的
數(shù)值 步驟S300提供數(shù)字信號(hào),利用數(shù)字信號(hào)計(jì)算出多個(gè)已知特征值,若有錯(cuò)誤發(fā)生時(shí),設(shè)定錯(cuò)誤發(fā)生數(shù)與糾錯(cuò)能力值 步驟S310利用多個(gè)已知特征值計(jì)算出二次剩余碼(79,40, 15)的多個(gè)未知特征值
步驟S320利用多個(gè)已知特征值和多個(gè)未知特征值作為已知,經(jīng)由無(wú)反根柏利根演算法計(jì)算出錯(cuò)誤位置多項(xiàng)式 步驟S330判斷錯(cuò)誤位置多項(xiàng)式的最高次方是否與錯(cuò)誤發(fā)生數(shù)一致
步驟S340計(jì)算出錯(cuò)誤位置多項(xiàng)式的解根與解根數(shù) 步驟S350錯(cuò)誤發(fā)生數(shù)增加一定值并判定錯(cuò)誤發(fā)生數(shù)是否超出糾錯(cuò)能力值 步驟S360判斷錯(cuò)誤位置多項(xiàng)式的解根數(shù)是否與錯(cuò)誤發(fā)生數(shù)一致 步驟S370尋找出錯(cuò)誤位置多項(xiàng)式的錯(cuò)誤發(fā)生位置,并修正錯(cuò)誤發(fā)生位置對(duì)應(yīng)的
數(shù)值
'I "2
W具體實(shí)施例方式
為使對(duì)本發(fā)明目的、演算法的內(nèi)容有進(jìn)一步的了解,特結(jié)合相關(guān)實(shí)施例及附圖詳 細(xì)說(shuō)明如下 請(qǐng)同時(shí)參考圖l,其為本發(fā)明二次剩余碼(Quadratic Residue Code)的解碼演算 法,解碼二次剩余碼(89,45, 17)實(shí)施例,解碼流程包含有下列步驟 提供數(shù)字信號(hào),利用數(shù)字信號(hào)計(jì)算出多個(gè)已知特征值(KnownSyndrome),若有錯(cuò)誤 發(fā)生時(shí),設(shè)定錯(cuò)誤發(fā)生數(shù)與糾錯(cuò)能力值,如步驟S100。此步驟中,數(shù)字信號(hào)經(jīng)由等式l可
計(jì)算出多個(gè)已知特征值,其中假設(shè)錯(cuò)誤發(fā)生數(shù)為參數(shù)v,且初始設(shè)置數(shù)值為l,二次剩余碼 (89,45, 17)的糾錯(cuò)能力值為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為碼長(zhǎng)。 利用多個(gè)已知特征值計(jì)算出二次剩余碼(89,45, 17)的多個(gè)未知特征值(Unknown Syndrome),如步驟SI 10。首先須令集合I = U"; ...,iv+1}與集合J = {丄,」2, ...,jv+1} 為{0,1, ,n-l}的子集合,n為碼長(zhǎng)。并定義(v+l)Xv大小矩陣X(1)與X(J),矩陣表示 如下
<formula>formula see original document page 5</formula> 進(jìn)一步定義矩陣S(I,J) 二X(I)X(J)T和其定理,其中矩陣X(J)T表示為X(J)的轉(zhuǎn) 置矩陣,S(I, J)則為一個(gè)大小原(v+1) X (v+1)的矩陣。
定理1.矩陣S(I, J)具有如下的型式
<formula>formula see original document page 5</formula> 其中S的下標(biāo)為被n除后所得的余數(shù),n為碼長(zhǎng)。并且,矩陣S(I, J)的行列式等 于零,也就是det(S(I, J)) =0. 假如矩陣S(I,J)內(nèi)含有多個(gè)未知特征值,則det(S(I,J)) =0可看做一個(gè)未知特
<formula>formula see original document page 5</formula>征值的方程式,系數(shù)是由已知特征值所組成。若矩陣S(I, J)內(nèi)只有一個(gè)未知特征值s/氣
那么Sr(V)可以由下面的定理所獲得,其中Sr(V)意指在假設(shè)V個(gè)錯(cuò)誤發(fā)生數(shù)下的未知特征值。 定理2.若矩陣S(I, J)之中只有一個(gè)未知特征值S,),則S,)可以被表示成一個(gè)
分式,此分式的值是屬于矩陣S(I, J)其中兩個(gè)矩陣的行列式展開(kāi)后相除。若Sr(v)出現(xiàn)在
矩陣S(I,J)中第i行第」列,則^=^^,其中A。是指(v+l)X(v+l)矩陣S(I,J)中
S/V)所在的地址第i行第j列由零取代,而A是指矩陣S(I, J)中消除第i行和第j列所
形成的vXv的子矩陣。 經(jīng)由上述定理2次剩余碼(89,45, 17)的未知特征值可計(jì)算如下方式計(jì)算得知
Case 0 :若無(wú)錯(cuò)誤發(fā)生時(shí),S3 (0) = 0 ;S13(°) = 0。
Case 1 :S3(1) = ;S13(1) = S,3。 下面Case v a)與b)分別定義I和J集合。再利用定理1與定理2進(jìn)一步就可以計(jì)算出兩個(gè)未知特征值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個(gè)錯(cuò)的情況下,無(wú)法只用一組(1, J)集合就能定義出所有5個(gè)錯(cuò)的未知特征 值S,)。經(jīng)過(guò)計(jì)算機(jī)的模擬測(cè)試發(fā)現(xiàn)需要兩組(I,J)集合即可涵蓋所有5個(gè)錯(cuò)對(duì)應(yīng)的未知 特征值S3(5)。 b)I5= {0, 1,2,3,4,5} , J5 = {0, 1, 2, 8, 87, 88}。 將a)中所獲得的S3(5)視為其特征值后利用定理1與定理2進(jìn)一步就可以計(jì)算出 兩個(gè)未知特征值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個(gè)錯(cuò)的情況下,無(wú)法只用一組(1, J)集合就能定義出所有6個(gè)錯(cuò)的未知特征 值S,)。經(jīng)過(guò)計(jì)算機(jī)的模擬測(cè)試發(fā)現(xiàn)需要三組(I,J)集合。這三組(I,J)集合的行列式展 開(kāi)都為非線性的S,)多項(xiàng)式,由定理2知道這些行列式等于零。換言之,這三個(gè)多項(xiàng)式會(huì)具 有相同的一次因式。因此,求出這三個(gè)多項(xiàng)式的一次因式即可以定義出唯一的S,)的值。 在b)中,可以將S,)視為一個(gè)已知的值來(lái)使用。
b)lj二 {0, 1,2,3,4,5,6} , Je1 = {0, 1, 2, 3, 7, 87, 88}。 將a)中所獲得的S3(6)視為其特征值后利用定理1與定理2進(jìn)一步就可以計(jì)算出 兩個(gè)未知特征值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個(gè)錯(cuò)的情況相同,必須使用三組(I,J)集合定義7個(gè)錯(cuò)的未知特征值S/)。在 S3(7)被定義后,b)中S3(7)就被視為一個(gè)已知的值來(lái)使用。 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)集合的行列式展開(kāi)后令它們?yōu)榱悖梢缘玫饺齻€(gè)S13(7)的線性方程式。 S13(7)就可以被其中的一個(gè)方程式給唯一決定。
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個(gè)錯(cuò)的情況相同,必須使用四組(I,J)集合定義8個(gè)錯(cuò)的未知特征值S^8)。在 S3(8)被定義后,b)中S3(8)就被視為一個(gè)已知的值來(lái)使用。
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)集合的行列式展開(kāi)后令它們?yōu)榱?,可以得到三個(gè)S13(8)的線性方程式。S13(8)就可以被其中的一個(gè)方程式給唯一決定。 利用多個(gè)已知特征值和多個(gè)未知特征值做為已知,經(jīng)由無(wú)反根柏利根(Inverse-free Berlekamp Massey)演算法計(jì)算錯(cuò)誤位置多項(xiàng)式,如步驟S120。本步驟中,主要利用所獲得的多個(gè)已知特征值和多個(gè)未已知特征值為已知輸入值,以能有效率獲得循環(huán)碼的錯(cuò)誤位置多項(xiàng)式的無(wú)反根柏利根演算法進(jìn)一步計(jì)算出錯(cuò)誤位置多項(xiàng)式。無(wú)反根柏利根演算法步驟如下說(shuō)明
(o)
l,C(0)(x) = l,A""(x) = l禾口 1
步驟l)初始值k二 l,r步驟2)計(jì)算差值
步驟3)計(jì)算錯(cuò)誤位置多項(xiàng)式
C(k)(x) =r(k—"C(H)(x)-A(k)A(H)(x) .x
(0)
(0)
1,
步驟4)代換輔助變數(shù)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)=
鄉(xiāng)卩果A("^0或者2/(")^W
步驟5)進(jìn)入到下一個(gè)階段k = k+l如果k《2t,則回到步驟2),否則停止。其中C(k) (x)代表第k個(gè)階段的錯(cuò)誤位置多項(xiàng)式,A (k)為一個(gè)由已知癥狀值Sk所
計(jì)算出來(lái)的一個(gè)差值,A(k) (x) 、A(k)、l(k)和r(k)為在k階段找出錯(cuò)誤位置多項(xiàng)式的輔助變數(shù)c
討 判斷錯(cuò)誤位置多項(xiàng)式的最高次方是否與錯(cuò)誤發(fā)生數(shù)一致,如步驟S130。此步驟中,利用判斷式deg(o (x)) = v判斷錯(cuò)誤位置多項(xiàng)式的最高次方與錯(cuò)誤發(fā)生數(shù)是否相同,其中,deg(o (x))為錯(cuò)誤位置多項(xiàng)式的最高次方,而v如前述為錯(cuò)誤發(fā)生數(shù)。
若判斷錯(cuò)誤位置多項(xiàng)式的最高次方與錯(cuò)誤發(fā)生數(shù)的數(shù)值為相同,則計(jì)算出錯(cuò)誤位置多項(xiàng)式的解根與解根數(shù),如步驟S140。此步驟中,錯(cuò)誤位置多項(xiàng)式的解根與解根數(shù)兩者是利用錯(cuò)誤多項(xiàng)式結(jié)合錢(qián)氏搜索(Chien Search)演算法計(jì)算。此處所述的錢(qián)氏搜索演算法,其用于尋找有限體中多項(xiàng)式的根,且與其它演算法相較之下,運(yùn)用于錯(cuò)誤位置多項(xiàng)式根的搜尋具有較佳計(jì)算結(jié)果。
8
若判斷錯(cuò)誤位置多項(xiàng)式的最高次方與錯(cuò)誤發(fā)生數(shù)的數(shù)值為不相同時(shí),將錯(cuò)誤發(fā)生 數(shù)增加一定值并判定錯(cuò)誤發(fā)生數(shù)是否超出糾錯(cuò)能力值,如步驟S150。此步驟是將定值的數(shù) 值設(shè)為l,而二次剩余碼(89,45, 17)的糾錯(cuò)能力值為8。當(dāng)錯(cuò)誤發(fā)生數(shù)超出糾錯(cuò)能力值,即 無(wú)法再進(jìn)行修正數(shù)字信號(hào)作業(yè),則結(jié)束演算法程序。否則,若錯(cuò)誤發(fā)生數(shù)是否未超出糾錯(cuò)能 力值時(shí),則返回利用多個(gè)已知特征值計(jì)算出二次剩余碼(89,45,17)的多個(gè)未知特征值,如 步驟S110。 判斷錯(cuò)誤位置多項(xiàng)式的解根數(shù)是否與錯(cuò)誤發(fā)生數(shù)一致,如步驟S160。先將錯(cuò)誤位 置多項(xiàng)式進(jìn)行解根數(shù)運(yùn)算,再判斷所算出來(lái)的解根數(shù)與錯(cuò)誤發(fā)生數(shù)是否為一致。此步驟所 使用的判斷式為u = v,其中u為解根數(shù),而v為前述的錯(cuò)誤發(fā)生數(shù)。 當(dāng)判定兩數(shù)值為一致,尋找出錯(cuò)誤位置多項(xiàng)式的錯(cuò)誤發(fā)生位置,并修正錯(cuò)誤發(fā)生 位置對(duì)應(yīng)的數(shù)值,如步驟S170。此步驟中,利用錯(cuò)誤位置多項(xiàng)式尋找出輸入的數(shù)字信號(hào)錯(cuò)誤 發(fā)生位置,并對(duì)取得數(shù)字信號(hào)錯(cuò)誤位置的數(shù)值修正獲得正確數(shù)值。 反之,若判定兩數(shù)值不為一致時(shí),則返回將錯(cuò)誤發(fā)生數(shù)增加一定值并判定錯(cuò)誤發(fā) 生數(shù)是否超出糾錯(cuò)能力值,如步驟S150。 請(qǐng)同時(shí)參考圖2,其為本發(fā)明二次剩余碼的解碼演算法,解碼二次剩余碼(71,36, 11)實(shí)施例,解碼流程包含有下列步驟 提供數(shù)字信號(hào),利用數(shù)字信號(hào)計(jì)算出多個(gè)已知特征值,若有錯(cuò)誤發(fā)生時(shí),設(shè)定錯(cuò)誤 發(fā)生數(shù)與糾錯(cuò)能力值。如步驟S200。此步驟中,數(shù)字信號(hào)經(jīng)由等式2可計(jì)算出多個(gè)已知特 征值,其中假設(shè)錯(cuò)誤發(fā)生數(shù)為參數(shù)v,且初始設(shè)置數(shù)值為l,二次剩余碼(71,36,11)的糾錯(cuò) 能力值為5。 Si = = e(pi) = e。+e^+…+en—J11—1 (等式2) 其中等式2中Si為已知特征值,13為GF(235)有限體中的原生n次根(Primitive nth Root of Unity)。 利用多個(gè)已知特征值計(jì)算出二次剩余碼(71,36, 11)的多個(gè)未知特征值(步驟 二次剩余碼(71,36,11)的未知特征值S7計(jì)算方式,說(shuō)明如下 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}。 在錯(cuò)誤個(gè)數(shù)為五的情況下,無(wú)法只用一組(1, J)集合就能定義出所有錯(cuò)誤個(gè)數(shù)為
五的情形的未知特征值S/5)。這兩組S(1/, J。、 s(i52, J52)矩陣其行列式展開(kāi)為零,獲得
下列兩個(gè)S"的三次方程式fJS") 二0禾PgJS") =0,系數(shù)由已知特征值組成。再令
FJS/5)) = gcd(fJS/5)), gJS/5))),對(duì)于所有五個(gè)錯(cuò)的情形&(S/5))都為一次多項(xiàng)式,令
Fi(s7(5)) = 0即可唯一定義出未知特征值S7(5)。 利用多個(gè)已知特征值和多個(gè)未知特征值作為已知,經(jīng)由無(wú)反根柏利根
(Inverse-free Berlekamp Massey)演算法計(jì)算錯(cuò)誤位置多項(xiàng)式,如步驟S220。本步驟中
主要利用所獲得的多個(gè)已知特征值和多個(gè)未已知特征值為已知輸入值,以能有效率獲得循
環(huán)碼的錯(cuò)誤位置多項(xiàng)式的無(wú)反根柏利根演算法進(jìn)一步計(jì)算出錯(cuò)誤位置多項(xiàng)式。其中,無(wú)反
根柏利根演算法步驟如解碼二次剩余碼(89,45,17)實(shí)施例中的步驟S120所述。 判斷錯(cuò)誤位置多項(xiàng)式的最高次方是否與錯(cuò)誤發(fā)生數(shù)一致,如步驟S230。此步驟中,
是利用判斷式deg(o (x)) =¥判斷錯(cuò)誤位置多項(xiàng)式的最高次方與錯(cuò)誤發(fā)生數(shù)是否相同,其
中,deg(o (x))為錯(cuò)誤位置多項(xiàng)式的最高次方,而v如前述為錯(cuò)誤發(fā)生數(shù)。 若判斷錯(cuò)誤位置多項(xiàng)式的最高次方與錯(cuò)誤發(fā)生數(shù)的數(shù)值為相同,則計(jì)算出錯(cuò)誤位
置多項(xiàng)式的解根與解根數(shù),如步驟S240。此步驟中,錯(cuò)誤位置多項(xiàng)式的解根與解根數(shù)兩者是
利用錯(cuò)誤多項(xiàng)式結(jié)合錢(qián)氏搜索演算法計(jì)算。此處所述的錢(qián)氏搜索演算法,其用于尋找有限
體中多項(xiàng)式的根,且與其它演算法相較之下,運(yùn)用于錯(cuò)誤位置多項(xiàng)式根的搜尋具有較佳計(jì)
算結(jié)果。 若判斷錯(cuò)誤位置多項(xiàng)式的最高次方與錯(cuò)誤發(fā)生數(shù)的數(shù)值為不相同時(shí),將錯(cuò)誤發(fā)生 數(shù)增加一定值并判定錯(cuò)誤發(fā)生數(shù)是否超出糾錯(cuò)能力值,如步驟S250。此步驟,是將定值的 數(shù)值設(shè)為l,而二次剩余碼(71,36,11)的糾錯(cuò)能力值為如先前所述為5。當(dāng)錯(cuò)誤發(fā)生數(shù)超 出糾錯(cuò)能力值,即無(wú)法再進(jìn)行修正數(shù)字信號(hào)作業(yè),則結(jié)束演算法程序。否則,若錯(cuò)誤發(fā)生數(shù) 是否未超出糾錯(cuò)能力值時(shí),則返回利用多個(gè)已知特征值重新計(jì)算出二次剩余碼(71, 36, 11) 的多個(gè)未知特征值,如步驟S210。 判斷錯(cuò)誤位置多項(xiàng)式的解根數(shù)是否與錯(cuò)誤發(fā)生數(shù)一致,如步驟S260。先將錯(cuò)誤位 置多項(xiàng)式進(jìn)行解根數(shù)運(yùn)算,再判斷所算出來(lái)的解根數(shù)與錯(cuò)誤發(fā)生數(shù)是否為一致。此步驟所 使用的判斷式為u = v,其中u為解根數(shù),而v為前述的錯(cuò)誤發(fā)生數(shù)。 當(dāng)判定兩數(shù)值為一致,尋找出錯(cuò)誤位置多項(xiàng)式的錯(cuò)誤發(fā)生位置,并修正錯(cuò)誤發(fā)生 位置對(duì)應(yīng)的數(shù)值,如步驟S270。此步驟中,利用錯(cuò)誤位置多項(xiàng)式尋找出輸入的數(shù)字信號(hào)錯(cuò)誤 發(fā)生位置,并對(duì)取得數(shù)字信號(hào)錯(cuò)誤位置的數(shù)值修正獲得正確數(shù)值。 反之,若判定兩數(shù)值不為一致時(shí),則返回將錯(cuò)誤發(fā)生數(shù)增加一定值并判定錯(cuò)誤發(fā) 生數(shù)是否超出糾錯(cuò)能力值,如步驟S250。 請(qǐng)同時(shí)參考圖3,其為本發(fā)明二次剩余碼的解碼演算法,解碼二次剩余碼(79,40, 15)實(shí)施例,分析流程包含有下列步驟 提供數(shù)字信號(hào),利用數(shù)字信號(hào)計(jì)算出多個(gè)已知特征值,若有錯(cuò)誤發(fā)生時(shí),設(shè)定錯(cuò)誤 發(fā)生數(shù)與糾錯(cuò)能力值,如步驟S300。此步驟中,數(shù)字信號(hào)經(jīng)由等式3可計(jì)算出多個(gè)已知特征 值,其中假設(shè)錯(cuò)誤發(fā)生數(shù)為參數(shù)v,且初始設(shè)置數(shù)值為l,二次剩余碼(79,40,15)的糾錯(cuò)能
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)。 利用多個(gè)已知特征值計(jì)算出二次剩余碼(79,40, 15)的多個(gè)未知特征值,如步驟 S31Q。 二次剩余碼(79,40,15)的未知特征值S3計(jì)算方式,說(shuō)明如下
<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}。
在錯(cuò)誤個(gè)數(shù)為六的情況下,無(wú)法只用一組(1, J)集合就能定義出所有錯(cuò)誤個(gè)數(shù)為 六的未知特征值S3(6)。這兩組(1, J)集合的行列式展開(kāi)都為非線性的S3(6)多項(xiàng)式,由解碼 二次剩余碼(89,45, 17)實(shí)施例中定理2得知這些行列式等于零。換言之,這兩個(gè)多項(xiàng)式至 少具有相同的一次因式。因此,使用歐基里德演算法(Euclid's Algorithm)求出這兩個(gè)多 項(xiàng)式的最高公因式。經(jīng)過(guò)計(jì)算機(jī)的模擬測(cè)試發(fā)現(xiàn)這兩組對(duì)于所有的錯(cuò)誤個(gè)數(shù)為六的情形都 可以得到一次因式即可以定義出唯一的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}。 與錯(cuò)誤個(gè)數(shù)為六的情況相同,S(l/, J"與S(I72, J72)的行列式展開(kāi)后我們獲得 兩個(gè)分別為83次方與153次方的S,)多項(xiàng)式&(S/))與gJS/))。再使用歐基里德演 算法(Euclid' s Algorithm)求出這兩個(gè)多項(xiàng)式的最高公因式F2 (S3(7)) = gcd(f2 (S3(7)), g2(S3(7)))。經(jīng)由計(jì)算機(jī)模擬檢驗(yàn)所有收到的碼字,F(xiàn)2(S3(7))都為一次多項(xiàng)式。由解碼二次 剩余碼(89,45, 17)實(shí)施例中定理l得知f2(S3(7)) 二0與g2(S/)) 二0,所以&(S3(7))也為 0。因此錯(cuò)誤個(gè)數(shù)為七的原始未知特征值S3(7)可以被唯一定義。 利用多個(gè)已知特征值和多個(gè)未知特征值做為已知,經(jīng)由無(wú)反根柏利根 (Inverse-free Berlekamp Massey)演算法計(jì)算錯(cuò)誤位置多項(xiàng)式,如步驟S320。本步驟中主要利用所獲得的多個(gè)已知特征值和多個(gè)未已知特征值為已知輸入值,以能有效率獲得循
環(huán)碼的錯(cuò)誤位置多項(xiàng)式的無(wú)反根柏利根演算法進(jìn)一步計(jì)算出錯(cuò)誤位置多項(xiàng)式。其中,無(wú)反
根柏利根演算法步驟如解碼二次剩余碼(89,45,17)實(shí)施例中的步驟S120所述。 判斷錯(cuò)誤位置多項(xiàng)式的最高次方是否與錯(cuò)誤發(fā)生數(shù)一致,如步驟S330。此步驟中,
是利用判斷式deg(o (x)) =¥判斷錯(cuò)誤位置多項(xiàng)式的最高次方與錯(cuò)誤發(fā)生數(shù)是否相同,其
中,deg(o (x))為錯(cuò)誤位置多項(xiàng)式的最高次方,而v如前述為錯(cuò)誤發(fā)生數(shù)。 若判斷錯(cuò)誤位置多項(xiàng)式的最高次方與錯(cuò)誤發(fā)生數(shù)的數(shù)值為相同,則計(jì)算出錯(cuò)誤位
置多項(xiàng)式的解根與解根數(shù),如步驟S340。此步驟中,錯(cuò)誤位置多項(xiàng)式的解根與解根數(shù)兩者是
利用錯(cuò)誤多項(xiàng)式結(jié)合錢(qián)氏搜索演算法計(jì)算。此處所述的錢(qián)氏搜索演算法,其用于尋找有限
體中多項(xiàng)式的根,且與其它演算法相較之下,運(yùn)用于錯(cuò)誤位置多項(xiàng)式根的搜尋具有較佳計(jì)
算結(jié)果。 若判斷錯(cuò)誤位置多項(xiàng)式的最高次方與錯(cuò)誤發(fā)生數(shù)的數(shù)值為不相同時(shí),將錯(cuò)誤發(fā)生 數(shù)增加一定值并判定錯(cuò)誤發(fā)生數(shù)是否超出糾錯(cuò)能力值,如步驟S350。此步驟,是將定值的數(shù) 值設(shè)為l,而二次剩余碼(79,40, 15)的糾錯(cuò)能力值為7。當(dāng)錯(cuò)誤發(fā)生數(shù)超出糾錯(cuò)能力值,即 無(wú)法再進(jìn)行修正數(shù)字信號(hào)作業(yè),則結(jié)束演算法程序。否則,若錯(cuò)誤發(fā)生數(shù)是否未超出糾錯(cuò)能 力值時(shí),則返回利用多個(gè)已知特征值計(jì)算出二次剩余碼(79,40,15)的多個(gè)未知特征值,如 步驟S310。 判斷錯(cuò)誤位置多項(xiàng)式的解根數(shù)是否與錯(cuò)誤發(fā)生數(shù)一致,如步驟S360。先將錯(cuò)誤位 置多項(xiàng)式進(jìn)行解根數(shù)運(yùn)算,再判斷所算出來(lái)的解根數(shù)與錯(cuò)誤發(fā)生數(shù)是否為一致。此步驟所 使用的判斷式為u = v,其中u為解根數(shù),而v為前述的錯(cuò)誤發(fā)生數(shù)。 當(dāng)判定兩數(shù)值為一致,尋找出錯(cuò)誤位置多項(xiàng)式的錯(cuò)誤發(fā)生位置,并修正錯(cuò)誤發(fā)生 位置對(duì)應(yīng)的數(shù)值,如步驟S370。此步驟中,利用錯(cuò)誤位置多項(xiàng)式尋找出輸入的數(shù)字信號(hào)錯(cuò)誤 發(fā)生位置,并對(duì)取得數(shù)字信號(hào)錯(cuò)誤位置的數(shù)值修正獲得正確數(shù)值。 反之,若判定兩數(shù)值不為一致時(shí),則返回將錯(cuò)誤發(fā)生數(shù)增加一定值并判定錯(cuò)誤發(fā) 生數(shù)是否超出糾錯(cuò)能力值,如步驟S350。 雖然本發(fā)明以前述的較佳實(shí)施例公開(kāi)如上,然其并非用以限定本發(fā)明,任何本領(lǐng) 域普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),所作更動(dòng)與潤(rùn)飾的等效替換,都在本發(fā) 明的專(zhuān)利保護(hù)范圍內(nèi)。
權(quán)利要求
一種二次剩余碼的解碼演算法,其包含下列步驟提供一數(shù)字信號(hào),利用該數(shù)字信號(hào)計(jì)算出多個(gè)已知特征值,若有錯(cuò)誤發(fā)生,設(shè)定一錯(cuò)誤發(fā)生數(shù)與一糾錯(cuò)能力值;利用所述多個(gè)已知特征值計(jì)算出多個(gè)未知特征值;利用所述多個(gè)已知特征值與所述多個(gè)未知特征值作為已知,計(jì)算出一錯(cuò)誤位置多項(xiàng)式;判斷該錯(cuò)誤位置多項(xiàng)式的最高次方是否與該錯(cuò)誤發(fā)生數(shù)一致;判定結(jié)果為是,則計(jì)算出該錯(cuò)誤位置多項(xiàng)式的至少一解根與至少一解根數(shù);判定結(jié)果為否,將該錯(cuò)誤發(fā)生數(shù)增加一定值并判定該錯(cuò)誤發(fā)生數(shù)是否超出該糾錯(cuò)能力值,若判定未超出該糾錯(cuò)能力值,則返回該利用所述多個(gè)已知特征值計(jì)算出多個(gè)未知特征值步驟;判斷該錯(cuò)誤位置多項(xiàng)式的該解根數(shù)是否與該錯(cuò)誤發(fā)生數(shù)一致;判定結(jié)果為是,則尋找出該錯(cuò)誤位置多項(xiàng)式的至少一錯(cuò)誤發(fā)生位置,并修正該錯(cuò)誤發(fā)生位置對(duì)應(yīng)的數(shù)值;以及判定為否時(shí),返回該錯(cuò)誤發(fā)生數(shù)增加一定值并判定該錯(cuò)誤發(fā)生數(shù)是否超出該糾錯(cuò)能力值步驟。
2. 如權(quán)利要求1所述的二次剩余碼的解碼演算法,其中該二次剩余解的解碼演算適用于所有二次剩余碼。
3. 如權(quán)利要求1所述的二次剩余碼的解碼演算法,其中該二次剩余的解碼演算適用于二次剩余碼(89,45, 17)。
4. 如權(quán)利要求1所述的二次剩余碼的解碼演算法,其中該錯(cuò)誤發(fā)生數(shù)的初始設(shè)置數(shù)值為l,而該定值為1。
5. 如權(quán)利要求1所述的二次剩余碼的解碼演算法,其中利用所述多個(gè)已知特征值與所述多個(gè)未知特征值作為已知,計(jì)算出該錯(cuò)誤位置多項(xiàng)式步驟中,該錯(cuò)誤位置多項(xiàng)式是以所述多個(gè)已知特征值和所述多個(gè)未知特征值為已知輸入值,以一無(wú)反根柏利根演算法計(jì)算而得。
6. 如權(quán)利要求1所述的二次剩余碼的解碼演算法,其中該錯(cuò)誤位置多項(xiàng)式的至少一解根與至少一解根數(shù)是以該錯(cuò)誤位置多項(xiàng)式為基礎(chǔ),以一錢(qián)氏搜索演算法計(jì)算得之。
全文摘要
本發(fā)明公開(kāi)一種二次剩余碼的解碼演算法,適用于所有二次剩余碼的解碼,解碼方式為提供數(shù)字信號(hào)求得多個(gè)已知特征值,利用多個(gè)已知特征值計(jì)算出多個(gè)未知特征值后,以無(wú)反根柏利根演算法計(jì)算得錯(cuò)誤位置多項(xiàng)式,再運(yùn)用錢(qián)氏搜索演算法計(jì)算此錯(cuò)誤位置多項(xiàng)式錯(cuò)誤發(fā)生位置,即可修正數(shù)字信號(hào)錯(cuò)誤發(fā)生相對(duì)位元,以獲得正確碼字。通過(guò)本發(fā)明的方法可以計(jì)算出錯(cuò)誤位置多項(xiàng)式,從而提升二次剩余碼的解碼能力。
文檔編號(hào)H03M7/18GK101753147SQ20081017838
公開(kāi)日2010年6月23日 申請(qǐng)日期2008年11月28日 優(yōu)先權(quán)日2008年11月28日
發(fā)明者張肇健, 施沛渝, 林宗慶, 蘇文谷 申請(qǐng)人:義守大學(xué)