專利名稱:里德-索羅門碼的快速譯碼方法及編譯碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基本電子電路,具體地說是一種應(yīng)用于數(shù)字傳輸系統(tǒng)和數(shù)字存儲(chǔ)系統(tǒng)的RS碼的譯碼方法及編譯碼器。
里德—索羅門碼譯自Reed-Solomon碼,簡稱RS碼,是里德—索羅門兩人發(fā)明的一類極其重要的代數(shù)碼,其碼長、編碼速率可選,容易滿足系統(tǒng)的數(shù)據(jù)格式要求。給定碼長與編碼速率的條件下,RS碼的最小漢明(Hamming)距離達(dá)到最大,在這個(gè)意義上講,RS碼是最佳的線性分組碼。RS碼的糾錯(cuò)能力極強(qiáng),既可以糾正無論隨機(jī)錯(cuò)誤,又可以糾正突發(fā)錯(cuò)誤。因而,RS碼廣泛應(yīng)用于工程實(shí)際之中。在數(shù)字傳輸系統(tǒng)中,如果功率受限且要求的通信質(zhì)量高(如深空通信、潛水通信、移動(dòng)通信等),往往要采用以RS碼為外碼的級聯(lián)碼。在各類數(shù)字存儲(chǔ)系統(tǒng)中,包括磁存儲(chǔ)(如計(jì)算機(jī)系統(tǒng)中的硬盤等),光存儲(chǔ)(如CD、VCD等),紙存儲(chǔ)(如417條碼等防偽技術(shù)),RS碼更是受到青睞?,F(xiàn)有的RS碼的譯碼算法主要包括彼得森(Peterson)算法,伯利坎普—梅西(Berlekamp-Massey)算法,歐幾里德(Euclidean)算法,韋而奇—伯利坎普(Welch-Berlekamp)算法。其中后面三種算法更適合于工程應(yīng)用。這些算法根據(jù)某一關(guān)鍵方程求出錯(cuò)誤位置多項(xiàng)式之后,利用錢(Chien)氏搜索或別的辦法確定錯(cuò)誤位置,利用福尼(Forney)算法確定錯(cuò)誤值,從而求出錯(cuò)誤圖樣以達(dá)到糾錯(cuò)的目的;或者利用錯(cuò)誤位置多項(xiàng)式和錯(cuò)誤圖樣在變換域的某些分量遞推算出其它分量,從而求出錯(cuò)誤圖樣。這方面的論述可以參看勃拉哈特(R.E.Blahut)的著作《糾錯(cuò)碼理論》(TheTheory of Error-Correcting Codes)的第七章和第九章,此書于1983年由Reading MAAddision-Wesley出版。韋而奇—伯利坎普(Welch-Berlekamp)算法可以參看韋而奇(L.Welch)和伯利坎普(E.R.Berlekamp)的專利(美國專利號(hào)4 633 470,1986年9月)Error correction for algebraic block codes。由于在實(shí)際的工程應(yīng)用中,錯(cuò)誤個(gè)數(shù)可能很多,因而采用上述這些方法時(shí),存在著為確定錯(cuò)誤圖樣而花費(fèi)大量的有限域運(yùn)算的不足。
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,提供一種快速的譯碼方法和編譯碼器。
本發(fā)明的目的是這樣實(shí)現(xiàn)的1.RS碼編碼器的硬件實(shí)現(xiàn)電路設(shè)α是有限域GF(2m)的本原元,則GF(2m)可以表示為GF(2m)={0,1,α,α2,α3,…,αn-1},其中n=2m-1且αn=1。設(shè)M0,M1,…,Mk-1表示k長的信息序列,其中Mi∈GF(2m)。它的多項(xiàng)式表示記作M(x)=Mk-1xk-1+Mk-2xk-2+…+M1x+M0。定義M(x)的頻域變換為c(x)=cn-1xn-1+cn-2xn-2+…+c1x+c0,其中
ci=M(α-1)=Mk-1(α-i)k-1+Mk-2(α-i)k-2+…+M1α-i+M0,i=0,1,…,n-1。(cn-1,cn-2,…,c0)是(Mk-1,Mk-2,…,M0)對應(yīng)的碼字。我們稱這樣的RS碼為頻域RS碼,它是非系統(tǒng)碼。
利用逆頻域變換,(Mk-1,Mk-2,…,M0)可以由(cn-1,cn-2,…,c0)恢復(fù),即Ci=c(αi)=cn-1(αi)n-1+cn-2(αi)n-2+…+c1αi+c0,i=0,1,…,n-1’其中Mi=Ci,i=0,1,…,k-1且Ci=0,i=k,k+1,…,n-1。我們稱M(x)為c(x)的時(shí)域多項(xiàng)式,而稱c(x)為M(x)的頻域多項(xiàng)式。
基于上述原理,本發(fā)明組成的編碼電路如
圖1所示。該編碼器主要由多個(gè)FFT單元和延遲單元T組成。輸入信息序列Mj在輸入時(shí)鐘CLKi的控制下同時(shí)進(jìn)入n個(gè)FFT單元,得到(Mk-1,Mk-2,…,M0)對應(yīng)的碼字(cn-1,cn-2,…,c0),該對應(yīng)碼字先進(jìn)入延遲單元T,然后在輸出時(shí)鐘CLKo的控制下輸出。一個(gè)FFT單元如圖3所示,由一個(gè)加法器、一個(gè)乘法器及一個(gè)延遲單元T組成。一個(gè)特定的FFT單元的功能由α-i確定,而α-i是預(yù)置的,在編譯碼器工作期間不發(fā)生變化。
2.RS碼的譯碼器的硬件實(shí)現(xiàn)電路本發(fā)明設(shè)計(jì)的譯碼器主要由R(x)單元,N(x),Λ(x)單元,M(x)單元組成,見圖2。其中r(x)是接收矢量,CLKi是輸入時(shí)鐘,F(xiàn)i是輸入標(biāo)志,F(xiàn)o是輸出標(biāo)志,CLKo是輸出時(shí)鐘,M(x)是要求的信息多項(xiàng)式。
上述譯碼器中的R(x)單元主要由多個(gè)FFT單元和多個(gè)延遲單元T組成,接收矢量r(x)在輸入時(shí)鐘的控制下進(jìn)入FFT單元和延遲單元T,輸出時(shí)域多項(xiàng)式R(x)。
上述譯碼器中的N(x),Λ(x)單元電路主要由n-k個(gè)除法單元DIV組成,每個(gè)DIV單元如圖7電路。多項(xiàng)式(xn-1)xT+1和多項(xiàng)式R(x)xT+1+1進(jìn)入n-k個(gè)DIV除法單元,得出多項(xiàng)式N(x)xT+1+Λ(x)。
上述譯碼器中的M(x)單元主要由k個(gè)DIV除法單元組成,N(x)和Λ(x)通過k個(gè)DIV除法單元得出M(x)。
3.RS碼的譯碼方法設(shè)(cn-1,cn-2,…,c0)是發(fā)送的碼字,(rn-1,rn-2,…,r0)是接收矢量,(en-1,en-2,…,e0)是相應(yīng)的錯(cuò)誤圖樣,則ci=ri+ei,i=0,1,…,n-1。ei≠0意味著(cn-1,cn-2,…,c0)的第i個(gè)位置發(fā)生了錯(cuò)誤。
設(shè) R(x)=Rn-1xn-1+Rn-2xn-2+…+R1x+R0表示r(x)=rn-1xn-1+rn-2xn-2+…+r1x+r0的時(shí)域多項(xiàng)式,其中Ri=r(αi)=rn-1(αi)n-1+rn-2(αi)n-2+…+r1αi+r0=cn-1(αi)n-1+cn-2(αi)n-2+…+c1αi+c0+en-1(αi)n-1+en-2(αi)n-2+…+e1αi+e0=Mi+Ei,i=0,1,…,n-1則R(x)=M(x)+E(x),其中E(x)=En-1xn-1+En-2xn-2+…+E1x+E0是e(x)=en-1xn-1+en-2xn-2+…+e1x+e0的時(shí)域多項(xiàng)式。假定發(fā)生了t
個(gè)錯(cuò)誤,即(en-1,en-2,…,e0)中有t個(gè)分量不等于0。顯然,ei≠0當(dāng)且僅當(dāng)E(α-i)≠0。定義錯(cuò)誤位置多項(xiàng)式<p>表2
表3
表4
除參數(shù)之外,所用的各種制造方法全部與所列于表中相同,減少了計(jì)算量,且由于該算法與錯(cuò)誤個(gè)數(shù)關(guān)系不大,故容易用軟件或硬件實(shí)現(xiàn)。本發(fā)明的硬件電路具有結(jié)構(gòu)簡單,運(yùn)算速度快的優(yōu)點(diǎn),適用于高速率場合。
以下結(jié)合附圖進(jìn)一步說明本發(fā)明編譯碼器的結(jié)構(gòu)原理。
圖1是本發(fā)明RS碼的頻域編碼器的電路圖。
圖2是本發(fā)明RS碼的譯碼器結(jié)構(gòu)圖。
圖3是本發(fā)明編譯碼器中的FFT單元。
圖4是譯碼器中計(jì)算R(x)單元的電路圖。
圖5是譯碼器中計(jì)算N(x),Λ(x)單元的電路圖。
圖6是譯碼器中計(jì)算M(x)單元的電路圖。
圖7是譯碼器中多項(xiàng)式除法單元DIV的電路圖,其中A(x)和B(x)是兩個(gè)一般多項(xiàng)式,A(x)的次數(shù)n不低于B(x)的次數(shù)m,首項(xiàng)系數(shù)分別是an,bm。
圖8是計(jì)算兩個(gè)一般多項(xiàng)式A(x)和B(x)相除所得商Q(x)和余式W(x)的電路圖。
參照圖1,本發(fā)明的頻域編碼器,由多個(gè)FFT單元,多個(gè)延遲單元T,輸入計(jì)數(shù)器,輸出計(jì)數(shù)器和控制單元組成。FFT單元如圖3所示。T是m比特的延遲單元,可以用m個(gè)D觸發(fā)器實(shí)現(xiàn)。圖1中的Mi表示輸入的數(shù)據(jù)序列,ci是輸出的碼字分量。Fi是一個(gè)輸入標(biāo)志,F(xiàn)i為高電平時(shí)表示輸入有效。CLKi是輸入時(shí)鐘。Fo是輸出標(biāo)志,F(xiàn)o為高電平時(shí)表示輸出有效。CLKo是輸出時(shí)鐘。
參照圖2,本發(fā)明的譯碼器由R(x)單元,N(x),Λ(x)單元,M(x)單元組成。R(x)單元電路如圖4所示,其中r(x)是接收矢量多項(xiàng)式,R(x)是其對應(yīng)的時(shí)域多項(xiàng)式,CLKi是輸入時(shí)鐘,F(xiàn)i為輸入標(biāo)志,F(xiàn)o為輸出標(biāo)志。圖2中的N(x),Λ(x)單元如圖5所示,由n-k個(gè)除法單元DIV組成。圖2中的M(x)單元如圖6所示,由k個(gè)除法單元DIV組成。一個(gè)DIV除法單元的結(jié)構(gòu)如圖7所示,由1個(gè)乘法器、1個(gè)加法器及3個(gè)延遲單元構(gòu)成。
參照圖4,譯碼器中的R(x)單元電路主要由n個(gè)FFT單元和多個(gè)延遲單元T組成。接收矢量r(x)在輸入時(shí)鐘CLKi的控制下同時(shí)進(jìn)入n個(gè)FFT單元,經(jīng)過n個(gè)時(shí)鐘節(jié)拍,得到r(x)的時(shí)域多項(xiàng)式R(x)的n個(gè)系數(shù)Rn-1,Rn-2,…,Rn,分別進(jìn)入n個(gè)延遲單元T。
參照圖5,譯碼器中的N(x),Λ(x)單元由n-k個(gè)除法單元DIV組成,由R(x)單元得到的R(x)構(gòu)造多項(xiàng)式R(x)xT+1+1,此多項(xiàng)式與多項(xiàng)式(xn-1)xT+1一起作為歐幾里德輾轉(zhuǎn)相除的初始條件,經(jīng)過計(jì)算得到多項(xiàng)式N(x)xT+1+Λ(x),即得到兩個(gè)多項(xiàng)式N(x),Λ(x)。
參照圖6,譯碼器中的M(x)單元主要由k個(gè)除法單元DIV組成,多項(xiàng)式N(x),Λ(x)經(jīng)過k個(gè)除法單元DIV之后,得到它們的商M(x),即信息多項(xiàng)式。
權(quán)利要求
1.一種RS碼的快速譯碼方法,其特征在于直接計(jì)算信息多項(xiàng)式M(x),步驟如下第一步,采用硬件電路圖4計(jì)算出接收矢量r(x)的時(shí)域多項(xiàng)式R(x);第二步,采用硬件電路圖5計(jì)算錯(cuò)誤位置多項(xiàng)式Λ(x)和多項(xiàng)式N(x),其中N(x)=R(x)Λ(x)mod xn-1,即設(shè)A-1(x)=(xn-1)xT+1,A0(x)=R(x)xT+1+1,其中
。做下列歐幾里德除法,A-1(x)=A0(x)A1(x)+A2(x)A0(x)=A2(x)A3(x)+A4(x)A2(x)=A4(x)A5(x)+A6(x)經(jīng)過幾步之后,得到余式Aj(x)滿足degAj(x)≤n,停止遞推,得到Aj(x)=N(x)xT+1+Λ(x),于是就得到了N(x),Λ(x);第三步,采用圖6所示的硬件電路實(shí)現(xiàn)多項(xiàng)式N(x)除以Λ(x),得到信息多項(xiàng)式M(x)。
2.一種RS碼的快速編譯碼器,其特征在于(1)RS碼編碼器主要由n個(gè)FFT單元和延遲單元T組成,信息序列Mj在輸入時(shí)鐘CLKi的控制下同時(shí)進(jìn)入n個(gè)FFT單元,經(jīng)過k個(gè)時(shí)鐘節(jié)拍,得到(Mk-1,Mk-2,…,M0)對應(yīng)的碼字(cn-1,cn-2,…,c0),該對應(yīng)碼字先進(jìn)入n個(gè)延遲單元T,然后在輸出時(shí)鐘CLKo的控制下輸出。(2)RS碼的譯碼器主要由R(x)單元,N(x),Λ(x)單元,M(x)單元組成。接收矢量多項(xiàng)式r(x)在輸入時(shí)鐘CLKi的控制下輸入,依次經(jīng)過三個(gè)單元的計(jì)算,最終得到信息多項(xiàng)式M(x),M(x)在輸出時(shí)鐘CLKo的控制下輸出。
3.根據(jù)權(quán)利要求2所述的編譯碼器,其特征在于譯碼器中的R(x)單元電路主要由n個(gè)FFT單元和多個(gè)延遲單元T組成。接收矢量r(x)在輸入時(shí)鐘CLKi的控制下同時(shí)進(jìn)入n個(gè)FFT單元,經(jīng)過n個(gè)時(shí)鐘節(jié)拍,得到r(x)的時(shí)域多項(xiàng)式R(x)的n個(gè)系數(shù)Rn-1,Rn-2,…,R0,分別進(jìn)入n個(gè)延遲單元T。
4.根據(jù)權(quán)利要求2所述的編譯碼器,其特征在于譯碼器中的N(x),Λ(x)單元由n-k個(gè)除法單元DIV組成,由R(x)單元得到的R(x)構(gòu)造多項(xiàng)式R(x)xT+1+1,此多項(xiàng)式與多項(xiàng)式(xn-1)xT+1一起作為歐幾里德輾轉(zhuǎn)相除的初始條件,經(jīng)過計(jì)算得到多項(xiàng)式N(x)xT+1+Λ(x),即得到兩個(gè)多項(xiàng)式N(x),Λ(x)。
5.根據(jù)權(quán)利要求2所述的編譯碼器,其特征在于譯碼器中的M(x)單元主要由k個(gè)除法單元DIV組成,多項(xiàng)式N(x),Λ(x)經(jīng)過k個(gè)除法單元DIV之后,得到它們的商M(x),即信息多項(xiàng)式。
全文摘要
本發(fā)明涉及一種RS碼的譯碼方法和RS碼的編譯碼器。該方法主要解決現(xiàn)有譯碼算法存在的為計(jì)算錯(cuò)誤圖樣而花費(fèi)大量的有限域運(yùn)算的不足。其特點(diǎn)是譯碼器直接計(jì)算信息多項(xiàng)式而無需計(jì)算錯(cuò)誤圖樣,具有運(yùn)算量小,易于硬件電路實(shí)現(xiàn)等優(yōu)點(diǎn),尤其適合在高速率的數(shù)字傳輸系統(tǒng)和數(shù)字存儲(chǔ)系統(tǒng)中使用。
文檔編號(hào)H03M13/00GK1267964SQ9911573
公開日2000年9月27日 申請日期1999年3月19日 優(yōu)先權(quán)日1999年3月19日
發(fā)明者張?jiān)? 王新梅 申請人:西安電子科技大學(xué)