新四季網

一種縮短循環碼糾錯解碼算法的集成電路實現方法及電路的製作方法

2023-04-22 17:25:41 1

專利名稱:一種縮短循環碼糾錯解碼算法的集成電路實現方法及電路的製作方法
技術領域:
本發明涉及編解碼和集成電路技術,特別涉及一種縮短循環碼的糾錯解碼算法的集成電路(ASIC)實現方法及其電路。
其中實現最複雜的是第2、3兩個步驟,下面是兩種常見的實現方法

圖1為經典解碼算法的實現方案原理圖。這種算法為經典的BCH碼解碼算法,對於碼字長度很短的情況,這種方法能夠很好的解碼,而且對於非高速系統也能很好的運用,這種解碼算法的思想是通過輸入的碼流計算出伴隨式S,在計算伴隨式的時候,如果採用的解碼碼字為原碼,那麼,只要按照幾個生成多項式的表達式,對其進行求餘,並作簡單的替換即可完成伴隨式的計算(參見 王新梅 《糾錯碼--原理和方法》西安電子科技大學出版社,1996),計算完成伴隨式之後,通過迭代解碼算法利用LFSR作迭代運算,即可得到錯誤位置多項式,最後通過解錯誤位置多項式的根可以計算出錯誤位置,計算出an-i是錯誤位置數,那麼碼字中第n-i位置錯誤的,將其與1進行異或進行糾錯。
對於圖1方案,採用的是經典的BCH-3解碼算法,由伴隨式計算錯誤位置多項式的時候通過迭代方法一步一步的進行迭代而得到錯誤位置多項式,這種方法不僅在算法上顯得非常煩瑣,而且運用迭代解碼算法的結果是使得每作一步迭代需要運算較長時間。在求出錯誤位置多項以後,經過解方程的方法求出錯誤位置,然後進行糾錯,這種方法雖然實現起來在硬體資源上不是太多浪費,但是其在作迭代算法時採用線性反饋移位寄存器的方案要得到實現,延時卻非常大,這在高速系統中無法運用。
圖2為在伴隨式計算錯誤位置多項式上有所改進的方案。
此方案在由伴隨式計算錯誤位置多項式的實現上作了改進(參見KraftBCH error-location polynomial decoder,1994),此方案的目的是為了提高速率,但是在計算中間變量的時候,大量的使用乘法和除法運算,對於有限域上的乘法和除法,要用ASIC來實現是有很大困難的,尤其是對於除法電路,因此這種實現方法的乘除法的實現是通過ROM存儲的方式,通過ROM尋址來得到乘除法的結果的,這對於碼字較短的碼流來說,對於提高速率具有很好的效果,但是如果碼字的長度很長,比如本例的4359,那麼用這種方法來實現所需要的ROM(Read Only Memory只讀存儲器)將是非常大的,對於資源來說顯得過於浪費。
圖2的實現方法主要在由伴隨式計算錯誤位置多項式的一步有所改進,但是在計算判決向量a、b、c和δ1、δ3、δ5用到了大量的乘除法運算,這些乘除法運算都是通過ROM尋址來得到乘除法的結果的,因此採用此方法對於較大數據流的糾錯是非常浪費的,比如實現有限域GF(213)來說,首先將有限域上的各個元素的次冪和各次冪對應的有限域上的值進行存儲,然後在作乘法時先將兩個元素的指數相加,得到一個指數,根據這個指數再到存儲值的ROM查到結果,這種方法雖然從根本上解決了計算δ的速度,但是在資源上形成了很大浪費。
綜上所述,上述譯瑪算法的實現電路複雜,延時大,運算速度低,在電路資源上存在一定浪費。
本發明提出的高效BCH解碼算法的ASIC實現方法,包括如下步驟a、由伴隨式計算單元根據輸入碼字R(x)計算伴隨式S(x);b、將步驟a所述的各個伴隨式S(x)分別送入相應的伴隨式修正單元進行修正,得到修正後的伴隨式係數P(x);c、將步驟b所述的各個伴隨式係數P(x)輸入錯誤位置定位單元,根據條件判別式如P13(1+P1+P13)+P3(1+P1+P12+P13+P3)+P5(1+P1)=0]]>分析判斷,在錯誤發生的地方錯誤位置定位單元輸出糾錯比特E(x);d、將步驟c所述的糾錯比特E(x)和通過K級緩衝器的信息碼元R(x)進行異或運算,輸出糾錯後的碼元V(x)。
實現本發明方法的電路,包括輸入碼元R(x)的K級緩存器、若干伴隨式S(x)計算單元以及異或運算電路,異或運算電路的一個輸入端接K級緩存器輸出,其特徵在於還包括與伴隨式S(x)相應的伴隨式修正單元;以及一個錯誤位置定位單元,它的輸出連接異或運算電路的另一個輸入端,根據輸入的各個伴隨式係數P(x)分析判斷,在錯誤發生的地方輸出糾錯比特E(x)再通過異或運算電路輸出糾正後的碼元V(x)。
現有技術在計算錯誤位置的時候,一般都是先由計算出的伴隨式解出錯誤位置多項式,然後通過Chien搜索算法來求得錯誤位置,本發明巧妙利用循環碼中的牛頓恆等式,直接有伴隨式就得到了錯誤位置,完成錯誤位置的定位,這種計算採用組合邏輯並行實現了乘法的運算,在速度上加快了計算速度,而且由於直接由伴隨式就計算輸出錯誤位置,這樣將錯誤位置多項式的求出和Chien搜索算法用一個電路來實現,解決了現有現有解碼算法電路運算速度不高,延時過大的問題,ASIC實現方案使硬體資源大大節省。
本發明經過RTL級代碼仿真,驗證,證明確實有效,工作正確。
本發明巧妙利用循環碼中的牛頓恆等式,直接有伴隨式就得到了錯誤位置,完成錯誤位置的定位,這種計算採用組合邏輯並行實現了乘法的運算,在速度上加快了計算速度,而且由於直接由伴隨式就計算輸出錯誤位置,這樣將錯誤位置多項式的求出和Chien搜索算法用一個電路來實現,在資源上也是大大的節省。
對於循環碼的伴隨式,有如下牛頓恆等式S1-δ1=0S3-δ1S2+δ2S1-3δ3=0S5-δ1S4+δ2S3-δ3S2+δ4S1-5δ5=0可以解得行列式=111.......1S110.......0S3S21.......0S5S4S3S2....0=11.....1B.....A]]>A=100S2S11S4S3S2B=S1S3S5]]>可以將錯誤圖樣分為三類沒有出現錯誤E(x)={0000...0000}出現一個錯誤E(x)={100......000,0100....000,00100....000,...000....001}出現兩個錯誤E(x)={1100...000,01100...000,001010...000,...00...0011}出現三個錯誤E(x)={11100...00,01110...000,0010110...000,...00...0111}
這樣可以得到下面的S判別式沒有錯誤時S1=0、S3=0、S5=0對於BCH-3,當出現一個錯誤時|A|=0可以解得S3=S13]]>當有兩個或三個錯誤出現時|A|≠0但是θ=0。
錯誤個數大於三個時,伴隨式計算電路實效,糾錯會出現判斷不對的情況,將出現亂糾錯,但是通過仿真發現當錯誤大於三個以上時,出現亂糾錯的概率大概是1/(!N)(其中N為加入的錯誤數)。對於光纖通信信道來說,其本身出現錯誤的概率就比較小,所以出現BCH解碼失效亂糾錯的情況也是幾乎不可能發生的,因此在光纖傳輸網絡中一般只考慮對電路進行糾錯,而不對電路進行錯誤多少的判斷。下面就是具體的實現方案,以縮短碼(4359,4320)的解碼方法為例介紹本發明對於原碼來說不需要作計算伴隨式和錯誤位置時的修正,直接即可實現,因此主要針對縮短碼進行介紹,此也為本發明對BCH-3進行解碼的一個主要優點。下面仔細進行論述。
1、伴隨式計算對於二進位BCH的解碼,只需要求出S1、S3......S2t-1即可完成糾錯電路的糾錯功能。因此只對S1、S3......S2t-1(t為糾錯能力,本例t為3)進行計算。
本例所用到的碼字為(213=8192)的縮短碼,縮短位數為8192-4359=3833位,所以在計算伴隨式時相當於前面3833位全為「0」,也就相當於在計算伴隨式之前首先乘以x3833,然後再作伴隨式的計算,由於計算伴隨式時相當於R(x)/m(x)的模,其中
m1(x)=x13+x4+x3+x+1m3(x)=x13+x10+x9+x7+x5+x4+1m5(x)=x13+x11+x8+x7+x4+x+1在計算時乘以x3833相當於乘以x1mod(3833/11),乘以x11的示意圖,首先計算S1。圖5為伴隨式S1的計算電路實例,由本原多項式可以得到伴隨式的計算電路.它由寄存器D0-D12和四個異或電路組成,寄存器D11、D12和D0依次串接,寄存器D1和D2串接,寄存器D4--D10依次串接,異或電路1接於D0和D1之間,異或電路2接於D2和D3之間,異或電路3接於D3和D4之間,異或電路4接於D10和D11之間,異或電路1、2、3的另一個輸入端均接寄存器D12的輸出,輸入碼流R(x)接於異或電路4的另一個輸入端,經過4320個循環周期之後,寄存器D12-D0內存儲的值就是伴隨式向量的值。
計算S3和S5採用同樣的方法完成,只是經過4320的循環周期之後,還必須對寄存器中的值進行處理之後才能得到伴隨式S3和S5的值。其變換規則根據有限域乘除法概念可以輕鬆實現,在此不作詳述。
2.乘於a3821實現電路因為每一個錯誤圖樣都分別對應一組伴隨式S1、S3、S5,而且它們之間的關係是由其中某一組伴隨式無輸入循環移位都可以得到另外的伴隨式。在由伴隨式計算錯誤位置的時候,因為是縮短碼,錯誤位置的出現比原碼要晚3833-11=3822cycle,所以在由伴隨式計算錯誤位置的時候需要乘以一個修正因子a3822(a為有限域上的元素),因為在計算錯誤位置的時候至少需要一個時鐘的延時(本發明按照一個時鐘周期延時為例),所以糾錯碼元輸出延時一個時鐘周期,這樣作通過乘以修正因子a3821即可得到伴隨式的值,可使縮短碼錯誤位置根據實際延時需求輸出,糾錯正常。注意上面談到的乘(除)法都是有限域上的乘(除)法,根據有限域上的乘法概念,即可用組合邏輯實現乘法,乘以a3821的具體實現電路如圖6所示。圖6所示的p12-p0為修正後伴隨式係數,該電路由13個異或運算單元(XOR)組成,13個異或運算單元的輸出分別為P12-P0,伴隨式S12-S0連接所述13個異或運算單元的相應輸入端。乘於a3272、a2723方法相同,不再詳細闡述。
P與S的關係P1=S1a3821、P3=S3a3272、P5=S5a2723在進行錯誤位置定位的時候,每一個時鐘Pi(i=1、3、5)分別乘於ai,然後通過下面的判決條件即可在錯誤發生的地方輸出糾錯比特,讓糾錯比特和信息碼元進行異或即完成了錯誤碼元的糾正。通過牛頓恆等式,在進行糾錯比特計算時可以得到相應下面相應的行列式=111.......1P110.......0P3P21......0P5P4P3P2....0=11......1B..A]]>對於BCH-3,當出現一個錯誤時|A|=0可以解得P3=P13]]>P1=1當有兩個或三個錯誤出現時|A|≠0 但是θ′=0,亦即P3P13]]>,可以通過解行列式得到產生三個錯誤的條件P13(1+P1+P13)+P3(1+P1+P12+P13+P3)+P5(1+P1)=0]]>3、糾錯的電路的實現每一個時鐘周期都可以通過計算得到一組P1、P3、P5,根據上面的關係式就可以得到相應的糾錯比特。在計算過程中需要求解13位二進位數的有限域上的平方以及乘法,根據二進位數有限域上的乘法概念,可以簡化平方電路的算法而不必使用乘法電路來實現平方電路,通過綜合發現憑此方法實現的平方電路大概只有平方電路1/10的面積大小,下面就是P12的實現過程
設P1=a12a12+a11a11+a10a10+......+a1a+a0,則根據二進位數的加法概念,兩個相同的數相加結果為0,可以得到P1·P1=a12a24+a11a22+a10a20+....+a1a2+a0,依據二進位數有限域上乘法的概念,依據下表可以將ai(i>12)的元素用次數小於12的元素來表示,於是可以得到P12相對於P1作如下變換得到a12→a12+a11+a6a11→a12+a10a10→a11+a10+a5a9→a11+a9a8→a10+a9+a4a7→a10+a8a6→a12+a9+a8+a3a5→a9+a7a4→a12+a11+a8+a7+a2a3→a12+a11+a8a2→a7+a1a1→a12+a11+a7a0→a11+a0根據上面的變換可以得到平方電路的實現電路圖7,該電路由13個異或運算單元(XOR)組成,修正後伴隨式係數P12-P0接所述13個異或運算單元的相應輸入端。逐一計算出條件表達式的各個條件以後,根據結果,條件為真產生糾錯比特1,與信息碼元作異或就可完成二進碼的糾錯。如果條件不成立,則糾錯比特不可能出現。
本發明經過RTL級代碼仿真,驗證,效果理想。其運算速度、資源的利用情況與現有技術對比如表一。
表一

表一中t表示最大能糾正的錯誤個數 n表示信息比特+校驗比特k表示碼字的信息比特,需糾錯比特m=log2n。
權利要求
1.一種高效BCH解碼算法的ASIC實現方法,其特徵在於包括如下步驟a、由伴隨式計算單元根據輸入碼字R(x)計算伴隨式S(x);b、將步驟a所述的各個伴隨式S(x)分別送入相應的伴隨式修正單元進行修正,得到修正後的伴隨式係數P(x);c、將步驟b所述的各個伴隨式係數P(x)輸入錯誤位置定位單元,根據條件判別式如P13(1+P1+P13)+P3(1+P1+P12+P13+P3)+P5(1+P1)=0]]>分析判斷,在錯誤發生的地方錯誤位置定位單元輸出糾錯比特E(x);d、將步驟c所述的糾錯比特E(x)和通過K級緩衝器的信息碼元R(x)進行異或運算,輸出糾錯後的碼元V(x)。
2.實現權利要求1所述方法的電路,包括輸入碼元R(x)的K級緩存器,若干伴隨式S(x)計算單元以及異或運算電路,異或運算電路的一個輸入端接K級緩存器輸出,其特徵在於還包括與伴隨式S(x)相應的伴隨式修正單元;以及一個錯誤位置定位單元,它的輸出連接異或運算電路的另一個輸入端,根據輸入的各個伴隨式係數P(x)分析判斷,在錯誤發生的地方輸出糾錯比特E(x)再通過異或運算電路輸出糾正後的碼元V(x)。
3.根據權利要求2所述的電路,其特徵在於所述的伴隨式修正單元中採用了並行的組合邏輯乘法電路。
4.根據權利要求3所述的電路,其特徵在於所述的組合邏輯乘法電路由13個異或運算單元(XOR)組成,13個異或運算單元的輸出分別為修正後伴隨式係數P12-P0,伴隨式S12-S0連接所述13個異或運算單元的相應輸入端。
5.根據權利要求2所述的電路,其特徵在於所述的錯誤位置定位單元中採用了簡化平方電路。
6.根據權利要求5所述的電路,其特徵在於所述的簡化平方電路由13個異或運算單元(XOR)組成,修正後伴隨式係數P12-P0連接所述13個異或運算單元的相應輸入端。
全文摘要
本發明涉及一種縮短循環碼糾錯解碼算法的集成電路實現方法及電路,其包括如下步驟a、由伴隨式計算單元根據輸入碼字R(x)計算伴隨式S(x);b、將所述的各個伴隨式S(x)分別送入相應的伴隨式修正單元進行修正,得到修正後的伴隨式係數P(x);c、將所述各個伴隨式係數P(x)輸入錯誤位置定位單元,根據條件判別式分析判斷,在錯誤發生的地方錯誤位置定位單元輸出糾錯比特E(x);d、將所述的糾錯比特E(x)和通過K級緩衝器的信息碼元R(x)進行異或運算,輸出糾錯後的碼元V(x)。其電路包括緩存器、若干伴隨式S(x)計算單元、相應的伴隨式修正單元、異或運算電路以及一個錯誤位置定位單元。
文檔編號H03M13/15GK1411151SQ0113329
公開日2003年4月16日 申請日期2001年9月27日 優先權日2001年9月27日
發明者何志闊 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀