專利名稱:里得-所羅門(mén)編碼和解碼方法
技術(shù)領(lǐng)域:
本公開(kāi)一般涉及生成多項(xiàng)式的糾錯(cuò)編碼和解碼,更明確地,涉及里得-所羅門(mén)編碼和錯(cuò)誤檢測(cè)及糾正技術(shù)。
背景技術(shù):
里得-所羅門(mén)編碼和解碼方案用在諸如人造衛(wèi)星、調(diào)制解調(diào)器、音頻致密盤(pán)、無(wú)線電話的許多通信系統(tǒng)中。每個(gè)通信系統(tǒng)具有限定里得-所羅門(mén)碼的參數(shù)的不同值集合。里得-所羅門(mén)編碼器/解碼器使用伽羅華域(Galois Field,GF)算術(shù)來(lái)將通信塊映射成較大的塊。每個(gè)塊對(duì)應(yīng)于基于輸入塊的過(guò)分簡(jiǎn)化的多項(xiàng)式。
當(dāng)以硬件實(shí)現(xiàn)時(shí),里得-所羅門(mén)編碼器/解碼器需要相當(dāng)大的數(shù)目的邏輯門(mén)和其它硬件。許多努力針對(duì)通過(guò)例如并行處理和降低處理的算術(shù)表示來(lái)降低硬件量。
因?yàn)橛?jì)算復(fù)雜度和低功率需求,所以各種通信系統(tǒng)專用的里得-所羅門(mén)解碼器以專用的硬件塊實(shí)現(xiàn)。例如,參見(jiàn),R.E.Blahut的“Theory and practiceof error control codes,”Addison-Wesley,1984;以及S.B.Wicker的“Errorcontrol systems for digital communication and storage,”P(pán)rentice Hall,Inc.,1995。本發(fā)明的整個(gè)編碼和解碼方法在沒(méi)有采用伽羅華域多項(xiàng)式除法的情況下以軟件實(shí)現(xiàn)。同樣通過(guò)直接求解錯(cuò)誤定位和錯(cuò)誤量?jī)烧咚璧南到y(tǒng)方程而以軟件實(shí)現(xiàn)解碼方法。
發(fā)明內(nèi)容
本公開(kāi)的里得-所羅門(mén)方法包括將N個(gè)零追加到數(shù)據(jù)塊;進(jìn)行其系數(shù)是數(shù)據(jù)塊的數(shù)據(jù)加上零的多項(xiàng)式(x)=Σi=02n-1αixi]]>的連續(xù)Horner約簡(jiǎn),該約簡(jiǎn)產(chǎn)生了多個(gè)余數(shù)β(i),其中i=0到N-1。將余數(shù)β(i)乘以存儲(chǔ)在存儲(chǔ)器中的對(duì)應(yīng)多項(xiàng)式系數(shù)D(i)(x),并且對(duì)所有結(jié)果得到的乘積求和Σi=0N-1β(i)D(i)(x).]]>該乘積的加和代表作為多項(xiàng)式P(x)被生成多項(xiàng)式g(x)=Πi=0N-1(x+αi)]]>除的結(jié)果的多項(xiàng)式的余數(shù)系數(shù)。將該乘積的加和作為奇偶校驗(yàn)碼元追加到數(shù)據(jù)塊以形成碼字。以軟件執(zhí)行該方法。
用于對(duì)包括數(shù)據(jù)碼元和奇偶校驗(yàn)碼元的碼字解碼的本公開(kāi)的里得-所羅門(mén)解碼器方法包括計(jì)算作為碼字與存儲(chǔ)在存儲(chǔ)器中的校正子向量的點(diǎn)積的校正子,該校正子向量是多項(xiàng)式Σi=Σk=02n-1xk(αk)i]]>的系數(shù),其中校正子向量的數(shù)目i等于碼字中奇偶校驗(yàn)碼元的數(shù)目。如果校正子等于0,則通過(guò)僅去除奇偶校驗(yàn)碼元來(lái)對(duì)碼字解碼。如果校正子不等于0,則通過(guò)下述操作校正碼字針對(duì)錯(cuò)誤位置形成并且求解錯(cuò)誤定位多項(xiàng)式,針對(duì)該位置處的錯(cuò)誤量形成并且求解錯(cuò)誤量多項(xiàng)式,校正碼字中的錯(cuò)誤。通過(guò)去除奇偶校驗(yàn)碼元對(duì)碼字解碼。以軟件執(zhí)行該方法。
當(dāng)結(jié)合附圖考慮時(shí)由本發(fā)明的下述詳細(xì)描述,本發(fā)明的這些和其它方面將變得清楚。
圖1是根據(jù)本公開(kāi)原理的里得-所羅門(mén)編碼器的流程圖。
圖2是根據(jù)本公開(kāi)原理的里得-所羅門(mén)解碼器的流程圖。
具體實(shí)施例方式
編碼器一般地,編碼器方案通過(guò)取出包括數(shù)據(jù)碼元的數(shù)據(jù)塊并且添加奇偶校驗(yàn)碼元以產(chǎn)生所謂的碼字(codeword)。在里得-所羅門(mén)編碼系統(tǒng)中,奇偶校驗(yàn)碼元是兩個(gè)多項(xiàng)式除法的余數(shù)。
第一多項(xiàng)式P(x)=Σi=02n-1αixi]]>是伽羅華域GF(2n)中長(zhǎng)為2n的數(shù)據(jù)塊。第二多項(xiàng)式(x)=Πi=0N-1(x+αi)]]>是GF(2n)中的生成多項(xiàng)式,αj和αi是GF(2n)中的域元素。
為了通過(guò)僅使用GF乘法和加法計(jì)算GF(2n)中的多項(xiàng)式除法的余數(shù),將方程簡(jiǎn)化并且將某些部分預(yù)先計(jì)算或者預(yù)先確定并且存儲(chǔ)在存儲(chǔ)器中。這提供了軟件實(shí)現(xiàn)并且是可改變或者可重新配置的。
假設(shè)Q(i)是數(shù)據(jù)P(x)與生成多項(xiàng)式g(x)=Πj=iN-1(x+αj)]]>的除法的商對(duì)于i=0P(x)x+α0=Q(0)+β(0)x+α0]]>i=1P(x)(x+α0)(x+α1)=Q(1)+β(0)(x+α0)(x+α1)+β(1)x+α1]]>i=2P(x)(x+α0)(x+α1)(x+α2)=Q(2)+β(0)(x+α0)(x+α1)(x+α2)+β(1)(x+α1)(x+α2)+β(2)(x+α2)]]>一般,對(duì)于i=N-1P(x)Πi=0N-1(x+αi)=Q(N-1)+β(0)Πi=0N-1(x+αi)+β(1)Πi=1N-1(x+αi)+···+β(N-1)Πi=N-1N-1(x+αi)]]>在簡(jiǎn)單計(jì)算之后上述方程的余數(shù)可以寫(xiě)為
系數(shù)β(i)是P(x)的連續(xù)Horner約簡(jiǎn)的余數(shù),如表1所示。
表1具有αi的多項(xiàng)式P(x)的連續(xù)Horner約簡(jiǎn)。
預(yù)先確定N個(gè)多項(xiàng)式D(i)(x)=Πk=0N-i-1(x+αk)]]>并且將之存儲(chǔ)在存儲(chǔ)器中。將余數(shù)系數(shù)β(i)乘以來(lái)自存儲(chǔ)器的對(duì)應(yīng)多項(xiàng)式系數(shù)D(i)(x)。所有作為結(jié)果得到的乘積的加和Σi=0N-1β(i)D(i)(x)]]>表示多項(xiàng)式的余數(shù)系數(shù),其是數(shù)據(jù)多項(xiàng)式被生成多項(xiàng)式除的除法。
圖1中示出了編碼方法為向數(shù)據(jù)追加N個(gè)零。接下來(lái),執(zhí)行P(x)多項(xiàng)式(其是數(shù)據(jù)塊的數(shù)據(jù)加上零的系數(shù))的Horner約簡(jiǎn)。然后,將約簡(jiǎn)的余數(shù)乘以存儲(chǔ)在存儲(chǔ)器中的對(duì)應(yīng)多項(xiàng)式系數(shù)D(x)以便計(jì)算余數(shù)多項(xiàng)式系數(shù)。將余數(shù)多項(xiàng)式系數(shù)追加到初始數(shù)據(jù)以形成碼字。
具體示例如下RS(256,240)是包括240個(gè)數(shù)據(jù)碼元和16個(gè)奇偶校驗(yàn)碼元的長(zhǎng)為256的碼字。
生成多項(xiàng)式g(x)的給定系數(shù)為1,59,13,104,189,68,2O9,30,8,163,65,41229,98,50,36,59生成多項(xiàng)式g(x)的給定根{αi}為1,2,4,8,16,32,64,128,29,58,116,232,205,135,19,38結(jié)果得到的預(yù)先計(jì)算和存儲(chǔ)的D(i)(x)多項(xiàng)式系數(shù)為
11 11 321 714 81 15 54 120 641 31 198 63 147 1161 63 1213 32 227 381 127 122 154 164 11 68 1171 255 11 80 54 239 173 200 241 226 207 158 245 235 164 232 197 371 216 194 159 111 199 94 95 113 157 1931 172 130 163 50 123 219 162 248 144 116 1601 68 119 67 118 220 31 784 92 127 213 971 137 73 227 17 177 17 52 13 46 43 83 132 1201 14 54 114 70 174 151 43 138 195 127 166 210 234 1631 29 196 111 163 112 24 10 106 105 139 132 151 32 134 26追加了16個(gè)零的P(x)的數(shù)據(jù)為131,244,241,21,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0由P(x)的連續(xù)Horner約簡(jiǎn)的余數(shù)系數(shù){β(i)}為213,60,145,132,17,44,214,94,5,26,13,78,185,165,215,97在D(i)(x)和{β(i)}的伽羅華乘積和加和之后,奇偶校驗(yàn)碼元為97,94,173,51,172,26,65,42,149,22,149,229,37,55,117,61將奇偶校驗(yàn)碼元追加到數(shù)據(jù)塊上并且碼字為131,244,241,21,70,97,94,173,51,172,26,65,42,149,22,149,229,37,55,117,61解碼器所接收的碼字表示為C(x)=Σi=0n-1cixi]]>不是通過(guò)解碼所接收的碼字的數(shù)據(jù)部分并且比較奇偶校驗(yàn)位和所接收的奇偶校驗(yàn)位來(lái)檢查碼字的有效性,解碼通過(guò)計(jì)算校正子(syndrome)直接開(kāi)始,如圖2所示。
下述公式描述了校正子的計(jì)算Si=CT∑ii=(1,2...N-1)其中C是向量,其項(xiàng)是碼字多項(xiàng)式C(x)的系數(shù),以及∑i是校正子向量,其項(xiàng)是下述多項(xiàng)式的系數(shù)
Σi=Σk=02n-1xk(αk)i]]>其中,校正子向量的數(shù)目N等于碼字中奇偶校驗(yàn)碼元的數(shù)目,以及每個(gè)校正子向量的大小(size)等于碼字的大小。校正子向量也存儲(chǔ)在存儲(chǔ)器中。
如果校正子等于0,則僅通過(guò)去除奇偶校驗(yàn)碼元來(lái)解碼碼字,并且終止解碼處理。如果校正子不等于0,則通過(guò)對(duì)于錯(cuò)誤位置形成并且求解錯(cuò)誤定位多項(xiàng)式、對(duì)于錯(cuò)誤位置處的錯(cuò)誤量形成并且求解錯(cuò)誤量多項(xiàng)式、校正碼字中的錯(cuò)誤而校正碼字。通過(guò)從所接收的(被損壞的)碼字中減去(與GF中的加相同)錯(cuò)誤向量而校正碼字錯(cuò)誤。通過(guò)去除奇偶校驗(yàn)碼元而解碼碼字。圖2中示出了該過(guò)程。同樣,使用Peterson-Gorenstein-Zierler方法以軟件執(zhí)行解碼算法。
在校正子不同于零的情況下的該處理的示例包括形成校正子矩陣方程S0S1S2···SN2-2SN2-1S1S2S3···SN2-1SN2S2S3S4···SN2SN2+1··················SN2-2SN2-1SN2···SN-2SN-1SN2-1SN2SN2+1···SN-3SN-2ΛN2-1ΛN2-2ΛN2-3··Λ1Λ0=SN2SN2+1SN2+2SN-2SN-1]]>在前面的方程中,Λi是錯(cuò)誤定位多項(xiàng)式的系數(shù)。
在GF中,通過(guò)使用高斯約簡(jiǎn)可以容易地將所擴(kuò)展的系統(tǒng)矩陣轉(zhuǎn)換成上三角形式,從而通過(guò)這種方式避免了矩陣求逆。
1Ξ1Ξ2···ΞN2-1ΞN2-101Ξ3···ΞN2-1ΞN2001···ΞN2ΞN2+1··················000···1ΞN-1000···01·ΛN2-1ΛN2-2ΛN2-3··Λ1Λ0=ΞN2ΞN2+1ΞN2+2ΞN-2ΞN-1]]>系統(tǒng)的秩是歐幾里得跡?,F(xiàn)在,可以輕易求解系統(tǒng)方程Λ0=ΞN-1,Λ1=ΞN-1Λ0+ΞN-2,等等。
使用Chien搜索求解錯(cuò)誤定位多項(xiàng)式Λ(x)=Σi=0mΛixi.]]>錯(cuò)誤定位多項(xiàng)式的求解的逆表示錯(cuò)誤的位置,其中m等于或者小于N/2。
使用錯(cuò)誤量系統(tǒng)方程計(jì)算m個(gè)錯(cuò)誤的錯(cuò)誤量1Λi01Λi1···1Λim-11Λi021Λi12···1Λim-12·········1Λi0m1Λi1m···1Λim-1im-1ei0ei1··eim-1=S0S1··Sm-1]]>以與錯(cuò)誤定位多項(xiàng)式類(lèi)似的方式求解錯(cuò)誤量多項(xiàng)式,結(jié)果得到錯(cuò)誤量eij,ij=1,2...m-1具體示例如下計(jì)算得到的校正子為1,33,131,24,136,153,216,49,234,81,233,87,70,166,106,55所形成的擴(kuò)展上三角錯(cuò)誤定位系統(tǒng)矩陣為
1 33 131 24 136 153 216 49 2340 1 30 44 204 95 222 151 440 0 180 44 105 181 142 180 0 01 127 71 56 118 170 0 00 1226 77 213 1390 0 00 01214 176 280 0 00 00176 210 0 00 0001246誤差定位多項(xiàng)式的求解為246,66,232,128,185,202,17,25以及錯(cuò)誤為1,2,3,4,5,6,20,21盡管詳細(xì)描述和說(shuō)明了本公開(kāi),但是應(yīng)清楚理解,這僅是作為說(shuō)明和示例完成的而不應(yīng)作為限制。本公開(kāi)的范圍僅由所附權(quán)利要求來(lái)限定。
權(quán)利要求
1.一種里得-所羅門(mén)編碼器方法,包括將N個(gè)零追加到數(shù)據(jù)塊;執(zhí)行其系數(shù)是數(shù)據(jù)塊的數(shù)據(jù)加上零的多項(xiàng)式P(x)=Σi=02n-1aixi]]>的連續(xù)Horner約簡(jiǎn),該約簡(jiǎn)產(chǎn)生了多個(gè)余數(shù)β(i),其中i=0到N-1;將余數(shù)β(i)乘以存儲(chǔ)在存儲(chǔ)器中的對(duì)應(yīng)多項(xiàng)式系數(shù)D(i)(x),并且對(duì)所有結(jié)果得到的乘積求和Σi=0N-1β(i)D(i)(x),]]>該乘積的加和代表作為多項(xiàng)式P(x)被生成多項(xiàng)式g(x)=Πi=0N-1(x+αi)]]>除的結(jié)果的多項(xiàng)式余數(shù)系數(shù);將該乘積的加和作為奇偶校驗(yàn)碼元追加到數(shù)據(jù)塊以形成碼字。
2.如權(quán)利要求1所述的方法,其中,以軟件執(zhí)行該方法。
3.一種包括執(zhí)行如權(quán)利要求1所述的方法的解碼器的通信設(shè)備。
4.一種用于對(duì)包括數(shù)據(jù)碼元和奇偶校驗(yàn)碼元的碼字解碼的里得-所羅門(mén)解碼器方法,該方法包括計(jì)算作為碼字與存儲(chǔ)在存儲(chǔ)器中的校正子向量的點(diǎn)積的校正子,該校正子向量是多項(xiàng)式Σi=Σk=02n-ixk(αk)i]]>的系數(shù),其中校正子向量的數(shù)目i等于碼字中奇偶校驗(yàn)碼元的數(shù)目;如果校正子等于0,則通過(guò)僅去除奇偶校驗(yàn)碼元來(lái)對(duì)碼字解碼;以及如果校正子不等于0,則通過(guò)下述操作校正碼字針對(duì)錯(cuò)誤位置形成并且求解錯(cuò)誤定位多項(xiàng)式,針對(duì)該位置處的錯(cuò)誤量形成并且求解錯(cuò)誤量多項(xiàng)式,校正碼字中的錯(cuò)誤,通過(guò)去除奇偶校驗(yàn)碼解碼。
5.如權(quán)利要求4所述的方法,其中以軟件執(zhí)行該方法。
6.如權(quán)利要求4所述的方法,其中該校正子向量的大小等于碼字的大小。
7.一種包括執(zhí)行如權(quán)利要求4所述方法的解碼器的通信設(shè)備。
全文摘要
一種里得-所羅門(mén)編碼器方法(圖1)包括將N個(gè)零追加到數(shù)據(jù)塊;執(zhí)行其系數(shù)是數(shù)據(jù)塊的數(shù)據(jù)加上零的多項(xiàng)式P(x)的連續(xù)Horner約簡(jiǎn)。將余數(shù)α(i)乘以對(duì)應(yīng)多項(xiàng)式系數(shù)D
文檔編號(hào)H03M13/15GK1849750SQ200480026161
公開(kāi)日2006年10月18日 申請(qǐng)日期2004年12月8日 優(yōu)先權(quán)日2004年1月15日
發(fā)明者丹尼爾·伊恩卡, 梅揚(yáng)·莫德吉爾, 約翰·格洛斯納 申請(qǐng)人:桑德布里奇技術(shù)公司