亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

快速糾雙錯bch碼譯碼器的制作方法

文檔序號:6382829閱讀:246來源:國知局

專利名稱::快速糾雙錯bch碼譯碼器的制作方法
技術(shù)領(lǐng)域
:本發(fā)明是涉及一種在數(shù)字通信、數(shù)據(jù)存儲、網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)?br>技術(shù)領(lǐng)域
內(nèi)進行糾錯的一種芯片裝置。
背景技術(shù)
:在數(shù)字通信系統(tǒng)和數(shù)據(jù)存儲系統(tǒng)中,錯誤控制編碼(ErrorControlCoding)技術(shù)作為數(shù)據(jù)完整性保護的重要手段,得到廣泛應(yīng)用。數(shù)字影音光碟(DVD),數(shù)字式廣播(DVB)、大容量存儲(Mass-Storage)等系統(tǒng)多采用BCH碼作為錯誤控制編碼來提高數(shù)據(jù)的可靠性與完整性。一些消費類應(yīng)用系統(tǒng)(如采用FLASH存儲器的Mass-Storage系統(tǒng))基于產(chǎn)品的性能和成本的考慮,以糾雙錯的BCH碼作為差錯控制編碼,保證數(shù)據(jù)的可靠性和安全性。它們希望BCH碼的譯碼電路計算速度快,硬件實現(xiàn)代價小。目前,對于糾正兩位錯誤的BCH碼的譯碼電路通常采用兩種方法第一種是用Berlekamp-Massey算法(或者Euclidian算法)和Chien搜索算法確定錯誤的具體位置。這種方法通用性好,但是算法復(fù)雜,硬件實現(xiàn)代價高。Chien搜索法需要花費正比于碼長的運算時間,譯碼速度慢。第二種方法是查找表(look-up-table),它是把預(yù)先算好的結(jié)果存放在只讀存儲器(ROM)中,確定錯誤的位置比較快。但是,當(dāng)碼長較長時,ROM的容量較大,硬件實現(xiàn)成本高。通常的BCH碼的譯碼過程包括三個步驟1.伴隨式(Syndrome)的計算;2.利用伴隨式計算錯誤尋址多項式(error-locatorpolynomial);3.根據(jù)錯誤尋址多項式計算出錯誤位置(errorlocations);步驟2的求解,通常采用Berlekamp-Massey算法或者Euclidian算法。實現(xiàn)Berlekamp-Massey算法或者Euclidian算法電路的硬件復(fù)雜度和碼長有關(guān),和糾錯的數(shù)目無關(guān)。第3步錯誤位置的求解通常采用Chien搜索算法實現(xiàn),算法的迭代次數(shù)正比于碼長。這些譯碼算法都未能充分利用糾錯個數(shù)較少的特點,實現(xiàn)的硬件代價大,運算速度慢。步驟2和3的確定錯誤位置也可以用查找表技術(shù)實現(xiàn),它是利用預(yù)先在ROM中存放錯誤位置的查找表。這樣可以較快地得出發(fā)生錯誤的位置,但是當(dāng)碼長較長時,需要大容量的ROM,硬件代價大。
發(fā)明內(nèi)容針對目前糾正兩位錯誤BCH碼譯碼器的缺點,本發(fā)明提出了一種無需Chien搜索法,也不用查找表ROM的直接求解的硬件譯碼器,該譯碼器工作在有限域GF(25)上,具有譯碼速度快,硬件代價小的優(yōu)點。一種快速糾雙錯BCH碼譯碼器,所述的譯碼器工作在有限域GF(25)上,由伴隨式計算電路、錯誤數(shù)目判斷電路、錯誤位置計算電路組成,并為順序連接;譯碼器中BCH碼為BCH(N,N-10),碼長N是11~31中任意整數(shù);所述的伴隨式計算電路,由輸入的數(shù)據(jù)流計算出伴隨式S0、S1、S2和S3;所述的錯誤數(shù)目判斷電路,其步驟包括(a)由式(1)計算出A、B、C;A=S0S2+S12,]]>B=S1S2+S0S3,C=S1S3+S22]]>(b)根據(jù)S0、S1、S2、S3、A、B和C的值判斷發(fā)生錯誤數(shù)目;所述的錯誤位置計算電路,是根據(jù)發(fā)生錯誤數(shù)目分別計算出錯誤位置,根據(jù)計算出的錯誤位置,取反數(shù)據(jù)得到糾正后的正確值。單個錯誤情形下所述的錯誤位置計算電路對錯誤位置的計算,其方法是根據(jù)式X1=S1/S0計算。兩個錯誤情形下所述的錯誤位置計算電路對錯誤位置的計算,其方Z1[4]=Z2[4]=K;Z1[3]=Z2[3]=K[4]K[2]K[1];法是采用符合式Z1[2]=Z2[2]=K[4]K;的硬件電路直接求解Z1[1]=Z2[1]=K[4]K[2];Z1=0,Z2=1;z2+z+K=0根Z1和Z2,用式σ1=(S1S2+S0S3)/(S12+S0S2)]]>計算出σ1,再用式X1=σ1Z1,X2=σ1Z2得到兩個錯誤位置X1和X2。本發(fā)明利用BCH碼糾雙錯的特點,給出了一種無需Chien搜索法,也不用查找表ROM,直接從伴隨式結(jié)果即可計算出錯誤位置的快速譯碼算法。具有譯碼結(jié)構(gòu)簡單,硬件復(fù)雜度低、控制信號簡單、譯碼速度快并且不受碼長影響等優(yōu)點。非常適合于要求產(chǎn)品功耗低、吞吐率快及可靠性高的應(yīng)用系統(tǒng)中,如便攜式FLASH存儲系統(tǒng)產(chǎn)品中。圖1有限域GF(25)二次方程Z2+z+K=0根的求解電路框圖。圖2有限域GF(25)二次方程z2+z+K=0的根求解電路的一種實現(xiàn)方式。圖3快速BCH譯碼器整體電路框圖。圖4BCH(31,21)碼的數(shù)據(jù)格式圖。圖5有限域GF(25)BCH(31,21)譯碼器電路框圖。具體實施例方式設(shè)在有限域GF(25)可糾正兩個錯誤的BCH碼的一般形式為BCH(N,N-10)其中N(10<N≤31)為碼長;N-10為信息元長度;碼距d=5。設(shè)r(x)、c(x)和e(x)分別表示接收多項式、碼字(codeword)多項式和錯誤多項式。那么,它們之間滿足r(x)=c(x)+e(x)(1)定義伴隨式為Si(i=0,1,2,3),那么SJ=Σi=0N-1ri(αJ)l---(2)]]>假設(shè)兩個錯誤的位置為i1和i2,令X1=αl1,]]>X2=αl2,]]>定義尋址多項式σ(x)為σ(x)=(x-X1)(x-X2)=x2+σ1x+σ0(3)其中,σ1=X1+X2,σ0=X1X2(4)所以,S2=S1σ1+S0σ0(5)S3=S2σ1+S1σ0(6)可以得出σ0=(S22+S1S3)/(S12+S0S2)---(7)]]>σ1=(S1S2+S0S3)/(S12+S0S2)---(8)]]>BCH碼錯誤數(shù)據(jù)檢測、錯誤位置的求解方法如下1.如果沒有錯誤發(fā)生,那么S0=S1=S2=S3=0(9)2.如果單個錯誤發(fā)生,假設(shè)錯誤的位置為i1,計算A、B和C如下A=S0S2+S12,]]>B=S1S2+S0S3,C=S1S3+S22---(10)]]>所以S0=1≠0,S1=X1≠0,S2=X12≠0,]]>S3=X13≠0---(11)]]>A=0,B=0,C=0那么,可以求出錯誤的位置為X1=S1(12)3.如果兩個錯誤發(fā)生,假設(shè)兩個錯誤的位置為i1和i2,那么S0=0S1=X1+X2≠0S2=X12+X22≠0---(13)]]>S3=X13+X23≠0]]>A=S0S2+S12=(X1+X2)2≠0]]>B=S1S2+S0S3=(X1+X2)(X12+X22)≠0---(14)]]>C=S1S3+S22=X1X2(X12+X22)≠0]]>將x=σ1z代入尋址多項式σ(x)中,可得z2+z+K=0(15)式中,K=σ0/σ12.]]>式(15)的兩個根Z1、Z2和K之間的關(guān)系式為Z1[4]=Z2[4]=K;Z1[3]=Z2[3]=K[4]K[2]K[1];Z1[2]=Z2[2]=K[4]K;(16)Z1[1]=Z2[1]=K[4]K[2];Z1=0,Z2=1;圖1為求解二次方程z2+z+K=0根的電路框圖,其中K[4:0]為方程的常數(shù),Z1[4:0]和Z2[4:0]為求出的兩個根。圖2是有限域GF(25)二次方程z2+z+K=0兩個根的求解電路形式中的一種電路,圖中的邏輯門均為異或門。求出Z1和Z2后,可以求出錯誤位置X1和X2的值X1=σ1Z1,X2=σ1Z2(17)對錯誤位置的數(shù)取反,就得到糾正后的數(shù)據(jù),這樣完成了糾正兩個錯誤BCH碼的譯碼過程。圖3為本發(fā)明快速BCH譯碼器的整體電路框圖。圖中I為伴隨式計算電路,它從輸入的譯碼數(shù)據(jù)計算得到S0、S1、S2、S3;II為錯誤數(shù)目判斷電路,它根據(jù)伴隨式的值之間的關(guān)系,判斷出錯誤發(fā)生的數(shù)目Error_Number;III為錯誤位置計算電路,它是根據(jù)發(fā)生錯誤的數(shù)目,分別計算得到錯誤的位置X1和X2。以BCH(31,21)碼為例說明本發(fā)明的具體實施方法。BCH(31,21)碼,采用有限域GF(25),可糾正t=2個隨機錯誤。數(shù)據(jù)的格式如圖4所示。最高的10位為校驗位,后面21位為信息位。BCH(31,21)譯碼器的框圖如圖5所示,圖5中左邊為輸入信號,DataIn[7:0]為輸入的譯碼數(shù)據(jù),CLK為工作時鐘。右邊為譯碼輸出結(jié)果,E_Count[1:0]為發(fā)生錯誤的數(shù)目,ErrAdr1[4:0]為第一個錯誤的地址,ErrAdr2[4:0]為第二個錯誤的地址。一、沒有錯誤時的譯碼結(jié)果輸入的31位數(shù)據(jù)(二進制表示)為0000100_00101110_00100010_00111011其中最前面的10位數(shù)據(jù)為校驗位,后面的21位為信息位。所以校驗位和信息位分別為校驗位0000100001;信息位01110_00100010_00111011(十六進制為0E223B);1.譯碼結(jié)果為E_Count=0;Err_Adr1=0;Err_Adr2=0;2.結(jié)果分析譯碼結(jié)果表明沒有錯誤發(fā)生。二、單個錯誤時的譯碼結(jié)果輸入的31位數(shù)據(jù)(二進制表示)為0000100_00101110_01100010_00111011其中最前面的10位數(shù)據(jù)為校驗碼,后面的21位為信息碼。所以校驗碼和信息碼分別為校驗碼0000100001;信息碼01110_01100010_00111011(十六進制為0E623B);1.譯碼結(jié)果為E_Count=1;Err_Adr1=0E;Err_Adr2=0;2.結(jié)果分析此時有一個錯誤發(fā)生。錯誤的位置在第14位,將第14位數(shù)據(jù)取反后的信息碼為0110_00100010_00111011(十六進制為0E223B)。三、兩個錯誤時的譯碼結(jié)果輸入的31位數(shù)據(jù)(二進制表示)為0000100_00101110_01100011_00111011其中最前面的10位數(shù)據(jù)為校驗碼,后面的21位為信息碼。所以校驗碼和信息碼分別為校驗碼0000100001;信息碼01110_01100011_00111011(十六進制為0E633B);1.譯碼結(jié)果為E_Count=1;Err_Adr1=0E;Err_Adr2=08;2.結(jié)果分析此時有兩個錯誤發(fā)生。錯誤的位置在第14位和第8位,將第14位和第8位的數(shù)據(jù)取反后的信息碼為0110_00100010_00111011(十六進制為0E223B)。權(quán)利要求1.一種快速糾雙錯BCH譯碼器,其特征在于所述的譯碼器工作在有限域GF(25)上,由伴隨式計算電路(I)、錯誤數(shù)目判斷電路(II)、錯誤位置計算電路(III)組成,并為順序連接;譯碼器中BCH碼為BCH(N,N-10),碼長N是11~31中任意整數(shù);所述的伴隨式計算電路,由輸入的數(shù)據(jù)流計算出伴隨式S0、S1、S2和S3;所述的錯誤數(shù)目判斷電路,其步驟包括(a)由式(1)計算出A、B、C,A=S0S2+S12,]]>B=S1S2+S0S3,C=S1S3+S22]]>(b)根據(jù)S0、S1、S2、S3、A、B和C的值判斷發(fā)生錯誤數(shù)目;所述的錯誤位置計算電路,是根據(jù)發(fā)生錯誤數(shù)目分別計算出錯誤位置,根據(jù)計算出的錯誤位置,取反數(shù)據(jù)得到糾正后的正確值。2.根據(jù)權(quán)利要求1所述的一種快速糾雙錯BCH譯碼器,其特征在于在單個錯誤情形下所述的錯誤位置計算電路(III)對錯誤位置的計算,其方法是根據(jù)式X1=S1/S0計算。3.根據(jù)權(quán)利要求1所述的一種快速糾雙錯BCH譯碼器,其特征在于在兩個錯誤情形下所述的錯誤位置計算電路(III)對錯誤位置的計算,其方法是采用符合Z1[4]=Z2[4]=K;Z1[3]=Z2[3]=K[4]K[2]K[1];式Z1[2]=Z2[2]=K[4]K;的硬件電路直接求解z2+z+K=0根Z1Z1[1]=Z2[1]=K[4]K[2];Z1=0,Z2=1;和Z2,用式σ1=(S1S2+S0S3)/(S12+S0S2)]]>計算出σ1,再用式X1=σ1Z1,X2=σ1Z2得到兩個錯誤位置X1和X2。全文摘要本發(fā)明公開了一種快速糾雙錯BCH碼譯碼器,所述的譯碼器工作在有限域GF(文檔編號G06F11/00GK1561005SQ20041000577公開日2005年1月5日申請日期2004年2月20日優(yōu)先權(quán)日2004年2月20日發(fā)明者楚傳仁,駱建軍,樓向雄,鄧先燦申請人:匯智系統(tǒng)股份有限公司,匯智科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1