專利名稱:用于同步數(shù)字系列/同步光纖網(wǎng)系統(tǒng)的帶內(nèi)前向糾錯(cuò)解碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及光通信領(lǐng)域。更具體地,本發(fā)明涉及光通信中的前向糾錯(cuò)(FEC,F(xiàn)orward Error Correction)技術(shù)。
背景技術(shù):
隨著SDH/SONET(Synchronous Digital Hierarchy/SynchronousOptical Network同步數(shù)字系列/同步光纖網(wǎng))標(biāo)準(zhǔn)的發(fā)展,利用SDH/SONET傳送的數(shù)據(jù)速率達(dá)到2.5Gbps(吉比特/秒)或甚至更高,因此糾正其中的傳輸差錯(cuò)變得越來越重要。
目前,SDH/SONET標(biāo)準(zhǔn)的帶內(nèi)前向糾錯(cuò)(FEC)算法一般適用于OC(Optical Communication光通信)-48、STM(SynchronousTransmission Mode同步傳輸模式)-16和OC-192、STM-64。對于STS(Satellite transmission system)-48或者STM-16,這個(gè)帶內(nèi)FEC算法能對每行中的每個(gè)FEC塊糾正多達(dá)3BIT(位)的錯(cuò)誤。對于相應(yīng)的2.5G系統(tǒng),這個(gè)帶內(nèi)FEC算法能提供最多達(dá)3位×9行×8塊=216位糾錯(cuò)。關(guān)于該算法的具體內(nèi)容,請參照國際電信聯(lián)盟標(biāo)準(zhǔn)ITU-T.G.707/Y.1322。
但是,在現(xiàn)有技術(shù)的帶內(nèi)FEC解碼算法中,必須用到乘法、除法、平方、三次方、六次方等高次方運(yùn)算。例如,在引用在此作為參考的2002年7月17日公開的發(fā)明專利申請CN1359203A中,公開了一種用于SONET的帶內(nèi)FEC解碼器,其包括多個(gè)位解碼器、校正子生成器、計(jì)算電路以及糾錯(cuò)電路,其中在計(jì)算電路中使用了乘法器122、平方器120、除法器132等,具體參見該專利申請的圖15及相關(guān)的說明書文字描述。并且,在同樣引用在此作為參考的2004年6月9日公開的發(fā)明專利CN1153354C中,也公開了一種糾錯(cuò)解碼器,其中使用了多個(gè)較復(fù)雜的Galois乘法器和Galois加法器。然而,在BCH(Bose_Chaudhuri_Hochquenghem)碼中求解這些乘法、除法、平方、三次方等都是相當(dāng)復(fù)雜的運(yùn)算,并且各個(gè)運(yùn)算都不相同,而且除法運(yùn)算遠(yuǎn)遠(yuǎn)復(fù)雜于乘法運(yùn)算。
因此,本發(fā)明的一個(gè)目的是避免諸如除法、高次方的復(fù)雜運(yùn)算,以簡化實(shí)現(xiàn)帶內(nèi)FEC算法,同時(shí)又能獲得希望的糾錯(cuò)解碼效果。
發(fā)明內(nèi)容
為此,本發(fā)明提供了一種能夠簡化帶內(nèi)FEC解碼算法實(shí)現(xiàn)的帶內(nèi)FEC解碼器。具體地,本發(fā)明提供一種用于SDH/SONET系統(tǒng)的帶內(nèi)FEC解碼器,包括數(shù)據(jù)交織及控制器,用于接收輸入數(shù)據(jù)并對輸入數(shù)據(jù)以行形式進(jìn)行比特交織;數(shù)據(jù)時(shí)分復(fù)用器,用于對從所述數(shù)據(jù)交織及控制器輸出的數(shù)據(jù)進(jìn)行時(shí)分復(fù)用;BCH解碼器,用于查找經(jīng)時(shí)分復(fù)用處理的數(shù)據(jù)中錯(cuò)誤比特的位置,并用于輸出錯(cuò)誤位置指示信號;和糾錯(cuò)電路,用于根據(jù)所述錯(cuò)誤位置指示信號進(jìn)行糾錯(cuò)處理。其中,所述BCH解碼器進(jìn)一步包括伴隨多項(xiàng)式S(x)生成器,用于計(jì)算FEC塊的伴隨多項(xiàng)式;8個(gè)FEC塊σ(x)生成器,用于計(jì)算FEC塊的差錯(cuò)位置多項(xiàng)式σ(x);SIGMA選擇器,用于選擇輸出正在處理的碼字所對應(yīng)FEC塊的差錯(cuò)位置多項(xiàng)式;多個(gè)ALPHA生成器,用于生成FEC塊中碼字在GF域中對應(yīng)的元素;ALPHA選擇器,用于選擇輸出正在處理的碼字在GF域中對應(yīng)的元素的值;查錯(cuò)器,用于把所述SIGMA選擇器輸出的差錯(cuò)位置多項(xiàng)式和所述ALPHA選擇器輸出的正在處理的碼字在GF域中對應(yīng)的元素的值代入錢氏搜索方程中,以查找FEC塊中的錯(cuò)誤比特位置。
通過參考附圖閱讀下面的具體描述,將明白本發(fā)明的上述及其他特性,其中圖1為根據(jù)本發(fā)明的FEC解碼器在系統(tǒng)中的位置示意圖;圖2為2.5G系統(tǒng)中根據(jù)本發(fā)明的FEC解碼器的示例結(jié)構(gòu)方框圖;圖3為根據(jù)本發(fā)明的BCH解碼模塊的示例結(jié)構(gòu)方框圖;圖4為根據(jù)本發(fā)明的S1多項(xiàng)式生成流程圖;圖5為根據(jù)本發(fā)明的S3多項(xiàng)式生成流程圖;圖6為根據(jù)本發(fā)明的S5多項(xiàng)式生成流程圖;圖7為2.5G系統(tǒng)中根據(jù)本發(fā)明的FEC塊SIGMA計(jì)算器的方框圖;圖8描述了根據(jù)本發(fā)明的GF(213)域中的多項(xiàng)式乘加器;圖9為根據(jù)本發(fā)明的查錯(cuò)多項(xiàng)式生成器的示例方框圖;
圖10為錢氏搜索結(jié)構(gòu)方框圖;圖11為根據(jù)本發(fā)明的加2多項(xiàng)式αj生成器的示例結(jié)構(gòu)方框圖。
圖12為根據(jù)本發(fā)明的乘加器流程圖具體實(shí)現(xiàn)方式帶內(nèi)FEC編碼源于超長BCH-3(8191,8152,7)的縮短碼BCH-3(4359,4320,7)。特別地,在ITU-T.G.707/Y.1322標(biāo)準(zhǔn)中,規(guī)定了用于編碼的生成多項(xiàng)式G(x),參見下面的公式公式1G(x)=G1(x)*G3(x)*G5(x)其中G1(x)=x13+x4+x3+x+1G3(x)=x13+x10+x9+x7+x5+x4+1G5(x)=x13+x11+x8+x7+x4+x+1G1(x),G3(x),G5(x)是生成多項(xiàng)式G(x)的3個(gè)最小多項(xiàng)式碼字C(x)=I(x)+R(x)信息位I(x)=a4358x4358+…+a39x39校驗(yàn)位P(x)=I(x)modG(x)=a38x38+…+a0關(guān)于帶內(nèi)FEC占用SDH中的具體開銷位置,請參考上述協(xié)議。
一般,BCH譯碼分為以下四個(gè)步驟完成1.根據(jù)接收多項(xiàng)式R(x),計(jì)算伴隨多項(xiàng)式S(x);2.根據(jù)伴隨多項(xiàng)式S(x),得到差錯(cuò)位置多項(xiàng)式σ(x);3.對σ(x)求解,得到差錯(cuò)位置數(shù);4.根據(jù)C(x)=R(x)-E(x),得到最接近正確的碼字。
下面具體解釋這四個(gè)步驟1.根據(jù)接收的碼多項(xiàng)式R(x),計(jì)算伴隨多項(xiàng)式S(x)首先,接收碼多項(xiàng)式R(x),該碼多項(xiàng)式R(x)是碼字多項(xiàng)式C(x)和差錯(cuò)多項(xiàng)式E(x)之和,即公式2R(x)=C(x)+E(x)
其中R(x)=rn-1xn-1+rn-2xn-2+…+r1x+r0C(x)=cn-1xn-1+cn-2xn-2+…+c1x+c0E(x)=en-1xn-1+en-2xn-2+…+e1x+e0其中rn-1,…,r1,r0為接收到的碼元;cn-1,…,c1,c0為正確的碼元;en-1,…,e1,e0為錯(cuò)誤的碼元。
BCH碼的生成多項(xiàng)式含有2t個(gè)連續(xù)冪次根,并且根據(jù)根與校驗(yàn)矩陣的關(guān)系,BCH碼的校驗(yàn)矩陣可寫成公式3H=1αα2···αn-11α2(α2)2···(α2)n-1···1α2t(α2t)2···(α2t)n-1]]>2t×n矩陣伴隨式為公式4S=(s1,s2,…,si,…s2t)=(r0,r1,…,rn-1)·HT=(e0,e1,…en-1)·HT其中,si=r0+r1αi+r2(αi)2+···+rn-1(αi)n-1=Σj=0n-1rjαij]]>注t為BCH碼中最大糾錯(cuò)數(shù)量;α為BCH碼的本原元;s1,s2,…,si,…s2t為BCH譯碼中伴隨多項(xiàng)式的元素。
在具體電路實(shí)現(xiàn)時(shí),伴隨多項(xiàng)式通常是利用接收到的信息即R(x)除以最小多項(xiàng)式的余式來得到的。
從公式4中,可以得知s2=s12,s4=s22,s6=s32.]]>因此,根據(jù)s1、s3和s5,可以得到BCH-3所有的伴隨多項(xiàng)式s1,s2,s3,s4,s5,s6。
公式5s1=R(α)modG1(α)s3=R(α3)modG3(α3)s5=R(α5)modG5(α5)
其中s1,s3,s5為BCH-3譯碼中伴隨多項(xiàng)式的元素;R(α),R(α3),R(α5)是接收碼多項(xiàng)式R(x)中變量x分別為α,α3,α5時(shí)的多項(xiàng)式;G1(α)是最小多項(xiàng)式G1(x)的變量x為α的多項(xiàng)式;G3(α3)是最小多項(xiàng)式G3(x)的變量x為α3的多項(xiàng)式;G5(α5)是最小多項(xiàng)式G5(x)的變量x為α5的多項(xiàng)式;α為BCH碼的本原元。
并且,在圖4-6中,具體表示出這些伴隨多項(xiàng)式的生成方框圖,如下面進(jìn)一步描述的。
2.根據(jù)伴隨多項(xiàng)式S(x),得到差錯(cuò)位置多項(xiàng)式σ(x)在進(jìn)行BCH-3譯碼期間,在從伴隨多項(xiàng)式S(x)中得到差錯(cuò)位置多項(xiàng)式σ(x)時(shí),通常使用下面的彼得森(Peterson)算法公式6s3s2s1s4s3s2s5s4s3σ1σ2σ3=s4s5s6]]>式中,s2=s12;]]>s4=s14;]]>s6=s32;]]>由此解得公式7 σ1=s1;σ2=(s12s3+s5)/(s13+s3);]]>σ3=(s13+s3)+s1σ2;]]>其中σ1,σ2,σ3是差錯(cuò)位置多項(xiàng)式的元素。
3.通過對σ(x)求解,得到差錯(cuò)位置數(shù)通過求解多項(xiàng)式σ(x)根的倒數(shù),即得到差錯(cuò)位置數(shù)。在求根時(shí),利用錢氏(Chien)搜索來解決。錢氏搜索法是分析誤碼位置的一種常用方法。
在使用錢氏搜索驗(yàn)根時(shí),假定R(x)=r4358x4358+…+r39x39+…r0。為了校驗(yàn)xj是否有錯(cuò)誤,需要把xj=α-(8191-j)代入以下方程式公式8 σ1xj+σ2(xj)2+σ3(xj)3+1=0如果將公式7代入公式8,則得到公式9s1xj+((s12s3+s5)/(s13+s3))(xj)2+((s16+s32+s13s3+s1s5)/(s13+s3))(xj)3+1=0]]>如果上述方程式9成立,則碼字中的第j位有錯(cuò)。
以上步驟是BCH-3解碼的通常實(shí)現(xiàn)方法。
但是,通過分析公式9,就可以發(fā)現(xiàn)在使用錢氏搜索計(jì)算差錯(cuò)位置多項(xiàng)式時(shí),需要用到多項(xiàng)式除法器,即這種方法必須使用到乘法、除法、平方、三次方、六次方等高次方運(yùn)算,而在BCH碼中求解這些運(yùn)算都是相當(dāng)復(fù)雜的,并且各個(gè)運(yùn)算都不相同,而且除法運(yùn)算遠(yuǎn)比乘法運(yùn)算復(fù)雜得多。
為此,本發(fā)明提供了避免使用除法運(yùn)算的一種解碼方法,這也是本發(fā)明的理論基礎(chǔ)。
即,根據(jù)本發(fā)明,如果將公式9等式兩邊同乘以(s13+s3),則得到公式10(s14+s1s3)xj+(s12s3+s5)(xj)2+(s16+s32+s13s3+s1s5)(xj)3+(s13+s3)=0]]>其中,s1,s3,s5為BCH-3譯碼中伴隨多項(xiàng)式的元素,xj是方程式的未知量,j表示碼字多項(xiàng)式的第j項(xiàng)系數(shù)。
公式10中的系數(shù)可以表示為公式11σ0=s13+s3]]>σ1=s14+s1s3]]>σ2=s12s3+s5]]>
σ3=s16+s32+s13s3+s1s5]]>其中,σ1,σ2,σ3是差錯(cuò)位置多項(xiàng)式的元素;s1,s3,s5為BCH-3譯碼中伴隨多項(xiàng)式的元素。
再將公式11代入公式10,則得到公式12 σ1xj+σ2(xj)2+σ3(xj)3+σ0=0公式12等同于下式公式13 xj(xj(σ3xj+σ2)+σ1)+σ0=0分析上述的公式9、公式10,可以看出,根據(jù)本發(fā)明的改進(jìn)解碼算法比一般的解碼算法減少了除法運(yùn)算。從公式13可以看出,如果方程式中的σ0,σ1,σ2,σ3已知,那么,在進(jìn)行驗(yàn)跟運(yùn)算時(shí)就可以利用一個(gè)乘加器運(yùn)算3計(jì)算出方程式左邊的值,這樣就更加避免了使用更多的乘法器和高次運(yùn)算器。而且,根據(jù)本發(fā)明,對利用公式12計(jì)算σ0,σ1,σ2,σ3時(shí)出現(xiàn)的平方、立方、四次方、六次方、高次方運(yùn)算,都利用乘法運(yùn)算來實(shí)現(xiàn),因此本發(fā)明的改進(jìn)算法在解碼實(shí)現(xiàn)時(shí)就僅僅用到乘法運(yùn)算,從而避免使用難而復(fù)雜的除法和高次方的運(yùn)算。
注意,當(dāng)(s13+s3)為0時(shí),無法求解上面的公式10。在這一種情況下,如果研究分析BCH碼的性質(zhì),就可以發(fā)現(xiàn)當(dāng)錯(cuò)誤數(shù)為1的時(shí)候,公式7中的σ2和σ3都為0,并且(s13+s3)也為0,此時(shí)就可以利用這個(gè)性質(zhì)在σ2為0的時(shí)候,利用下面的公式來求解差錯(cuò)位置數(shù)公式14s1xj+σ0=0由此,相對于現(xiàn)有技術(shù),根據(jù)本發(fā)明的解碼方案具有多種優(yōu)勢。在本發(fā)明中,解碼器中的8個(gè)FEC塊完全時(shí)分復(fù)用伴隨多項(xiàng)式生成器和西格瑪生成器,而不是像現(xiàn)有技術(shù)按塊分別計(jì)算FEC塊,并且每塊獨(dú)自占用一套電路。
本發(fā)明在具體實(shí)現(xiàn)過程中合理利用了BCH-3原理和數(shù)學(xué)通理,從而避免使用GF域中的多項(xiàng)式除法、平方及更高次方的運(yùn)算。在根據(jù)本發(fā)明進(jìn)行這樣的處理之后,設(shè)計(jì)和實(shí)現(xiàn)FEC解碼非常簡便,并且大大降低了芯片面積。
下面,參見各個(gè)附圖,具體描述根據(jù)本發(fā)明的相應(yīng)實(shí)施例。
2.5G系統(tǒng)中接收方向的頂層設(shè)計(jì)參考圖1,該圖是在示例性的具有帶內(nèi)FEC功能的2.5G光同步傳輸系統(tǒng)中接收方向的各個(gè)功能模塊方框圖。通過光纖接收的光信號按順序經(jīng)過光電轉(zhuǎn)換模塊101、時(shí)鐘數(shù)據(jù)恢復(fù)(CDR)模塊103、數(shù)據(jù)解復(fù)用(DEMUX)模塊105之后,得到16位并行的電信號,該電信號輸入給搜幀模塊107,該搜幀模塊107根據(jù)幀定位字節(jié)A1和A2來識別幀的起始位置,然后根據(jù)幀起始位置把幀數(shù)據(jù)按16位并行的形式送給解擾模塊109進(jìn)行解擾,得到信息數(shù)據(jù)。在解擾模塊109中,利用擾碼生成模塊115所生成的擾碼對經(jīng)過搜幀處理的幀數(shù)據(jù)進(jìn)行解擾處理。隨后,將通過解擾處理得到的信息數(shù)據(jù)傳送給B1誤碼計(jì)算模塊113和FEC模塊111。B1誤碼計(jì)算模塊113對數(shù)據(jù)幀中的BIP(Bit Interleaved Parity比特交叉校驗(yàn))-8誤碼進(jìn)行統(tǒng)計(jì),在FEC糾錯(cuò)模塊111中對由線路不穩(wěn)定引起的錯(cuò)誤進(jìn)行糾正。
FEC解碼器設(shè)計(jì)參考圖2,本發(fā)明的解決方案適用于SDH和SONET系統(tǒng)中的帶內(nèi)前向糾錯(cuò)FEC解碼器,當(dāng)然本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識到,本發(fā)明也可應(yīng)用于其他合適的FEC解碼器。該FEC解碼器包括數(shù)據(jù)交織及控制器201、數(shù)據(jù)時(shí)分復(fù)用器203、BCH解碼器205、糾錯(cuò)電路207、FSI(FECStatus Indication狀態(tài)指示)字節(jié)處理器211、數(shù)據(jù)存儲器209和性能統(tǒng)計(jì)模塊213。該FEC解碼器中的各個(gè)組成部分之間的具體連接如圖2所示,當(dāng)然其他的連接形式也是有可能的,只要能夠?qū)崿F(xiàn)類似于本發(fā)明的功能即可。在例如16位并行2.5G數(shù)據(jù)進(jìn)入FEC解碼器的同時(shí),即傳送到數(shù)據(jù)交織及控制器201和存儲模塊209,其中交織及控制器201將2.5G系統(tǒng)的幀數(shù)據(jù)按行進(jìn)行比特交織,即幀中的每行數(shù)據(jù)被交織成8個(gè)FEC塊數(shù)據(jù),每塊數(shù)據(jù)例如由4320個(gè)BIT組成。
然后,每個(gè)FEC決數(shù)據(jù)以16位并行模式輸出,輸出的數(shù)據(jù)保持8個(gè)155M時(shí)鐘周期寬度;同時(shí)提取幀數(shù)據(jù)中的FSI字節(jié),以傳送給FSI處理模塊211。在數(shù)據(jù)交織及控制器201中,提取出幀中段開銷字節(jié)里面的FEC塊校驗(yàn)位數(shù)據(jù),并將其傳送給BCH解碼器205;數(shù)據(jù)交織及控制器201產(chǎn)生用于控制數(shù)據(jù)存儲器209的讀寫信號,并且輸出8個(gè)FEC塊(總共8×16位數(shù)據(jù)),以便輸入到數(shù)據(jù)時(shí)分復(fù)用器203。在數(shù)據(jù)時(shí)分復(fù)用器203中,這些FEC塊被時(shí)分復(fù)用成16BIT,每塊FEC數(shù)據(jù)保持1個(gè)155M時(shí)鐘周期寬度。經(jīng)過時(shí)分復(fù)用處理的FEC數(shù)據(jù)進(jìn)入BCH解碼器205。該BCH解碼器205主要用于查找每個(gè)FEC數(shù)據(jù)塊中錯(cuò)誤BIT的位置,并輸出錯(cuò)誤位置指示信號。從BCH解碼器205輸出的錯(cuò)誤位置指示信號傳送給糾錯(cuò)電路207,同時(shí)也輸出給性能統(tǒng)計(jì)模塊213,性能統(tǒng)計(jì)模塊213主要是統(tǒng)計(jì)出現(xiàn)的錯(cuò)誤數(shù)量,其具體實(shí)現(xiàn)的功能模塊請參考下述的詳細(xì)說明。
從BCH解碼器205輸出的錯(cuò)誤位置指示信號和從數(shù)據(jù)存儲器209輸出的數(shù)據(jù)一起輸入到糾錯(cuò)電路模塊207。如上所述,由于錯(cuò)誤位置指示信號與數(shù)據(jù)存儲器輸出的數(shù)據(jù)在幀結(jié)構(gòu)中是完全對齊的,所以糾錯(cuò)模塊207在FEC糾錯(cuò)使能有效的時(shí)候,把數(shù)據(jù)與錯(cuò)誤位置指示信號進(jìn)行異或運(yùn)算,即完成糾錯(cuò)處理。FSI字節(jié)處理模塊211通過一個(gè)狀態(tài)機(jī)來實(shí)現(xiàn)對FSI字節(jié)的檢測,以判斷是否需要對數(shù)據(jù)進(jìn)行FEC糾錯(cuò)處理。實(shí)驗(yàn)表明,通過本發(fā)明的FEC解碼器的總延時(shí)小于14.2ms。
如上所述,在2.5G系統(tǒng)應(yīng)用中,使用1個(gè)獨(dú)立的FEC解碼器來處理8個(gè)FEC塊字節(jié)中的每一位,以實(shí)現(xiàn)對2.5G系統(tǒng)的數(shù)據(jù)幀中的每行提供多達(dá)24個(gè)BIT突發(fā)糾錯(cuò)。
同樣,在10G系統(tǒng)應(yīng)用中,使用4個(gè)并行的FEC解碼器來處理字節(jié)中的每一位,以實(shí)現(xiàn)對10G系統(tǒng)的數(shù)據(jù)幀中的每行提供多達(dá)24個(gè)BIT突發(fā)糾錯(cuò)。
對于更高頻率的數(shù)據(jù),使用類似的方法。
因此,本發(fā)明的技術(shù)解決方案相比于現(xiàn)有技術(shù)具有多種優(yōu)勢,例如,F(xiàn)EC解碼器中的8個(gè)FEC決完全時(shí)分復(fù)用伴隨多項(xiàng)式S(x)生成器和差錯(cuò)位置多項(xiàng)式σ(x)生成器,而不是像現(xiàn)有技術(shù)中每個(gè)FEC塊獨(dú)占一套電路。根據(jù)本發(fā)明,在實(shí)現(xiàn)過程中,合理利用了BCH-3原理及數(shù)學(xué)特性,避免了GF域中的多項(xiàng)式除法、平方及更高次方的運(yùn)算。因此,根據(jù)本發(fā)明的FEC解碼的設(shè)計(jì)和實(shí)現(xiàn)非常簡便,并且大大降低了芯片面積。
用于查找錯(cuò)誤位置的BCH解碼器參考圖3,該BCH解碼器包括伴隨多項(xiàng)式S(x)生成器301、8個(gè)FEC塊σ(x)生成器和SIGMA選擇器305、奇數(shù)位ALPHA生成器309、偶數(shù)位ALPHA生成器311、校驗(yàn)位中奇數(shù)位ALPHA生成器313、校驗(yàn)位偶數(shù)位ALPHA生成器315、ALPHA選擇器317和查錯(cuò)器307。其中,伴隨多項(xiàng)式S(x)計(jì)算器301包含s1、s2、s3多項(xiàng)式生成器,SIGMA選擇器317區(qū)分當(dāng)前BIT是否是校驗(yàn)位。如果當(dāng)前BIT是校驗(yàn)位,就選擇校驗(yàn)位所對應(yīng)的值。ALPHA生成器是生成接收的碼元在GF(213)域中所對應(yīng)元素的多項(xiàng)式,其中生成器309、311分別是奇數(shù)和偶數(shù)位置碼元對應(yīng)的多項(xiàng)式,生成器313和315分別是校驗(yàn)位碼元對應(yīng)的多項(xiàng)式。ALPHA生成器請參考GF(213)域中加2多項(xiàng)式αj生成器的說明。ALPHA選擇器317是區(qū)分當(dāng)前處理的碼元是信息位還是校驗(yàn)位,如果是信息位則選擇信息位在GF(213)域中對應(yīng)元素的多項(xiàng)式,如果是校驗(yàn)位則選擇出校驗(yàn)位在GF(213)域中對應(yīng)元素的多項(xiàng)式。
又參見圖2,經(jīng)過時(shí)分復(fù)用處理之后進(jìn)入BCH解碼器205的16BIT數(shù)據(jù)和由數(shù)據(jù)交織及控制器201從幀數(shù)據(jù)中提取出來的8個(gè)FEC塊校驗(yàn)位直接輸入給圖3中所示的伴隨多項(xiàng)式計(jì)算器301,以生成8個(gè)FEC塊的伴隨多項(xiàng)式。差錯(cuò)位置多項(xiàng)式σ(x)生成器703從上述的伴隨多項(xiàng)式中計(jì)算出每個(gè)FEC塊的差錯(cuò)位置多項(xiàng)式σ(x),并輸出幀數(shù)據(jù)中當(dāng)前行和上一行的8個(gè)FEC塊的差錯(cuò)位置多項(xiàng)式σ(x)。在SIGMA選擇模塊305中,根據(jù)幀結(jié)構(gòu)中信息位和校驗(yàn)位的位置選擇輸出與幀數(shù)據(jù)對應(yīng)的差錯(cuò)位置多項(xiàng)式,可以分兩組輸出,一組表示偶數(shù)BIT位置所對應(yīng)的差錯(cuò)位置多項(xiàng)式,另一組表示奇數(shù)BIT位置所對應(yīng)的差錯(cuò)位置多項(xiàng)式。
奇數(shù)αi生成器309和偶數(shù)αi生成器311、校驗(yàn)位中奇數(shù)αi生成器313和校驗(yàn)位中偶數(shù)αi生成器315分別生成BCH-3碼中的信息位和校驗(yàn)位在GF域中的元素。
差錯(cuò)模塊307接收在SIGMA選擇器305輸出的差錯(cuò)位置多項(xiàng)式和在αi選擇器317中選擇之后輸入的αi多項(xiàng)式,并利用錢氏搜索原理來查找每個(gè)FEC塊中的錯(cuò)誤BIT位置。在該模塊307中一共由16個(gè)錢氏搜索器組成,每個(gè)FEC包括兩個(gè)錢氏搜索器,分別判斷FEC塊中奇數(shù)位和偶數(shù)位是否錯(cuò)誤,然后生成2個(gè)錯(cuò)誤指示信號。
伴隨多項(xiàng)式生成器參考圖4、圖5和圖6,分別是伴隨多項(xiàng)式S1、S3、S5生成流程圖,其中實(shí)現(xiàn)公式5s1=R(α)modG1(α)s3=R(α3)modG3(α3)s5=R(α5)modG5(α5)
其中s1,s3,s5為BCH-3譯碼中伴隨多項(xiàng)式的元素;R(α),R(α3),R(α5)是接收碼多項(xiàng)式R(x)中變量x分別為α,α3,α5時(shí)的多項(xiàng)式;G1(α)是最小多項(xiàng)式G1(x)的變量x為α的多項(xiàng)式;G3(α3)是最小多項(xiàng)式G3(x)的變量x為α3的多項(xiàng)式;G5(α5)是最小多項(xiàng)式G5(x)的變量x為α5的多項(xiàng)式;α為BCH碼的本原元。
通過3個(gè)并行的計(jì)算S1、S3、S5多項(xiàng)式的功能塊來生成伴隨多項(xiàng)式。每個(gè)功能塊由兩個(gè)線性反饋移位寄存器(LFSR)和兩塊大小為8×13的RAM組成。LFSR#1工作于16位并行模式,LFSR#2工作于13位并行模式,并且各個(gè)LFSR內(nèi)部電路是完全不一樣的,不能相互替代。每個(gè)功能塊中的兩個(gè)LFSR和RAM相互協(xié)同工作,使得數(shù)據(jù)能連續(xù)輸入以生成伴隨多項(xiàng)式。
在信息位剛開始計(jì)算,LFSR#1和RAM#1協(xié)同工作步驟如下1.在第1個(gè)時(shí)鐘周期時(shí),第一個(gè)FEC塊的16BIT信息數(shù)據(jù)輸入給LFSR#1;2.在第2個(gè)時(shí)鐘周期時(shí),第二個(gè)FEC塊的16BIT信息數(shù)據(jù)輸入給LFSR#1,LFSR#1計(jì)算出第一個(gè)FEC塊輸入信息數(shù)據(jù)后的結(jié)果,并寫入到RAM#1;3.循環(huán)執(zhí)行上面的第2步驟,直到第8個(gè)時(shí)鐘周期。此時(shí),第八個(gè)FEC的16BITs信息數(shù)據(jù)輸入給LFSR#1,LFSR#1計(jì)算出第七個(gè)FEC塊輸入信息數(shù)據(jù)后的結(jié)果,并寫入到RAM#1;控制RAM#1的讀地址,讀出RAM#1中存儲的第一個(gè)FEC塊數(shù)據(jù);4.在第9個(gè)時(shí)鐘周期,第一個(gè)FEC塊的16BITs信息數(shù)據(jù)和從RAM#1中讀取的數(shù)據(jù)輸入給LFSR#1,LFSR#1計(jì)算出第八個(gè)FEC塊輸入信息數(shù)據(jù)后的結(jié)果,并寫入到RAM#1數(shù)據(jù);控制RAM#1的讀地址,以讀出RAM#1中存儲的第二個(gè)FEC塊數(shù)據(jù);5.重復(fù)上面的第4步驟,直至8個(gè)FEC塊信息數(shù)據(jù)完全被16位并行模式LFSR處理完畢。
在信息位結(jié)束后,在控制信號的作用下開始計(jì)算FEC塊中的校驗(yàn)位時(shí),LFSR#2和RAM#2協(xié)同工作步驟如下1.在第1個(gè)時(shí)鐘周期,第一個(gè)FEC塊的13BIT校驗(yàn)數(shù)據(jù)和從RAM#1中讀取出來的第一塊FEC數(shù)據(jù)輸入給LFSR#2;2.在第2個(gè)時(shí)鐘周期,第二個(gè)FEC塊的13BIT校驗(yàn)數(shù)據(jù)和從RAM#1中讀取出來的第二塊FEC數(shù)據(jù)輸入給LFSR#2,LFSR#2計(jì)算出第一個(gè)FEC塊數(shù)據(jù)輸入后的結(jié)果,并寫入到RAM#2;3.重復(fù)上面的第2’步驟,到第8個(gè)時(shí)鐘周期時(shí),第八個(gè)FEC塊的13BIT校驗(yàn)數(shù)據(jù)和從RAM#1中讀取出來的第八塊FEC數(shù)據(jù)輸入給LFSR#2,LFSR#2計(jì)算出第七個(gè)FEC塊數(shù)據(jù)輸入后的結(jié)果,并寫入到RAM#2;并且控制RAM#2讀取地址,以讀出RAM#2中存儲的第一個(gè)FEC塊數(shù)據(jù);4.在第9個(gè)時(shí)鐘周期,第一個(gè)FEC塊的13BIT校驗(yàn)數(shù)據(jù)和從RAM#2中讀取出來的第一塊FEC數(shù)據(jù)輸入給LFSR#2;LFSR#2計(jì)算出第八個(gè)FEC塊數(shù)據(jù)輸入后的結(jié)果,并寫入到RAM#2;控制RAM#2讀取地址,以讀出RAM#2中存儲的第二個(gè)FEC塊數(shù)據(jù);5.重復(fù)上面的第4’步驟,直至8個(gè)FEC塊所用是校驗(yàn)數(shù)據(jù)完全處理完畢,此時(shí)RAM#2中存儲的數(shù)據(jù)就是8個(gè)FEC塊數(shù)據(jù)分別除以G1(x)、G3(x)、G5(x)后的結(jié)果。
在FEC塊數(shù)據(jù)處理完后,13位并行LFSR停止計(jì)算,RAM#2不再寫入數(shù)據(jù),圖4所示的RAM#2中的數(shù)據(jù)就是8個(gè)FEC塊的伴隨多項(xiàng)式中的S1;圖5所示的RAM#2中的8個(gè)FEC塊數(shù)據(jù)經(jīng)過在x=α3時(shí)模G1(α)運(yùn)算分別輸出FEC塊的伴隨多項(xiàng)式S3;圖6所示的RAM#2中的8個(gè)FEC塊數(shù)據(jù)經(jīng)過在x=α5時(shí)模G1(α)運(yùn)算分別輸出FEC塊的伴隨多項(xiàng)式S5。
2.5G系統(tǒng)中FEC塊的BCH-3算法的差錯(cuò)位置多項(xiàng)式σ(x)生成器參考圖7和圖8,2.5G系統(tǒng)中FEC塊σ(x)生成器包括一個(gè)選擇器701和一個(gè)差錯(cuò)位置多項(xiàng)式σ(x)生成器703,選擇器701分時(shí)選擇各個(gè)FEC塊的伴隨多項(xiàng)式s1、s3、s5給差錯(cuò)位置多項(xiàng)式σ(x)生成器703。差錯(cuò)位置多項(xiàng)式σ(x)生成器703產(chǎn)生FEC塊的差錯(cuò)位置多項(xiàng)式σ0、σ1、σ2、σ3。
在多項(xiàng)式σ(x)生成器703中,實(shí)現(xiàn)了公式11σ0=s13+s3]]>
σ1=s14+s1s3]]>σ2=s12s3+s5]]>σ3=s16+s32+s13s3+s1s5]]>其中,σ0,σ1,σ2,σ3是差錯(cuò)位置多項(xiàng)式的元素;s1,s3,s5為BCH-3譯碼中伴隨多項(xiàng)式的元素。
在控制信號的作用下,分時(shí)按序選擇出各個(gè)FEC塊的3個(gè)伴隨多項(xiàng)式S1、S3、S5,并傳送給差錯(cuò)位置多項(xiàng)式σ(x)生成器703,通過調(diào)用GF(213)多項(xiàng)式乘加器來計(jì)算,并把結(jié)果σ0、σ1、σ2、σ3對齊后輸出。
具體參考圖8,差錯(cuò)位置多項(xiàng)式σ(x)生成器703包括GF(213)域中的多個(gè)多項(xiàng)式乘加器0-9和一個(gè)加法器801。乘加器能在兩個(gè)時(shí)鐘周期內(nèi)完成GF域中三個(gè)元素其中兩個(gè)元素相乘,然后與第三個(gè)元素相加的運(yùn)算,加法器就是實(shí)現(xiàn)GF域中兩個(gè)元素模2加法運(yùn)算。乘加器的具體說明在下文詳細(xì)敘述。
從上面差錯(cuò)位置多項(xiàng)式σ(x)生成器703計(jì)算器703中使用的公式11中可以發(fā)現(xiàn),在計(jì)算σ0、σ1、σ2、σ3需要用到多項(xiàng)式的乘法、平方、冪和高次方運(yùn)算。然而,在數(shù)學(xué)運(yùn)算中我們知道,數(shù)的平方、立方、冪運(yùn)算都可以用一次、兩次或多次乘法運(yùn)算來代替,同樣,在GF(213)域中也可以利用這一性質(zhì)。因此,乘加器1有兩個(gè)輸入數(shù)都為s1作為乘數(shù)和一個(gè)加數(shù)為0,通過乘加運(yùn)算得到s12。把乘加器1計(jì)算的結(jié)果s12和s1作為乘數(shù)、將s3作為加數(shù)輸入給乘加器2,通過運(yùn)算得到s13+s3,即σ0。把乘加器1的結(jié)果s12輸入給乘加器6作為乘數(shù),加數(shù)為0,計(jì)算得到s14。然后,把s14作為加數(shù),并把s1和s3作為乘數(shù),輸入給乘加器5,計(jì)算得到s14+s1s3,即σ1。把乘加器1計(jì)算得到的s12和s3作為乘數(shù),同時(shí)把s5作為加數(shù),輸入給乘加器8,計(jì)算得到s12s3+s5,即σ2。乘加器4的乘數(shù)為s1和s12,加數(shù)為0,計(jì)算得到s13。乘加器9的乘數(shù)為s1和s3,加數(shù)為0,計(jì)算得到s1s3。把乘加器4的結(jié)果s13和s3作為乘數(shù),同時(shí)乘加器9的結(jié)果s1s3作為加數(shù),輸入給乘加器0計(jì)算得到s13s3+s1s5。乘加器6的兩個(gè)乘數(shù)都為s12,加數(shù)為0,計(jì)算得到s14。乘加器3的兩個(gè)乘數(shù)都為s3,加數(shù)為0,計(jì)算得到s32。乘加器7的乘數(shù)為s12和s14,加數(shù)為s32,計(jì)算得到s16+s32。把s13s3+s1s5和s16+s32輸入給加法器801,得到s16+s32+s13s3+s1s5,即σ3。由此,可以發(fā)現(xiàn),要計(jì)算出FEC塊的差錯(cuò)位置多項(xiàng)式σ(x),需要10個(gè)GF(213)域中多項(xiàng)式乘加器和一個(gè)加法器。
FEC塊的差錯(cuò)位置查找器參考圖9,查錯(cuò)器307完全復(fù)用了16個(gè)錢氏搜索,完成對8個(gè)FEC塊的每個(gè)FEC塊能同時(shí)查找2個(gè)BIT錯(cuò)誤位置的搜索,從而構(gòu)成16個(gè)錯(cuò)誤BIT位置指示信號。
參考圖10,錢氏搜索實(shí)現(xiàn)對方程式的驗(yàn)根。
錢氏搜索方程(公式12)為σ1(αj)+σ2(αj)2+σ3(αj)3+1=0在BCH糾錯(cuò)系統(tǒng)中,具體實(shí)現(xiàn)變換的方程(公式13)為αj(αj(σ3αj+σ2)+σ1)+σ0=0式中,α為BCH-3(4359,4320,7)的本原多項(xiàng)式的本原元,j是變量。
從上述方程中,利用錢氏搜索j,j=3833,…,8191如果上面的方程式成立,則8192-j所對應(yīng)的BIT位置出現(xiàn)錯(cuò)誤。
錢氏搜索包括三個(gè)GF域中的多項(xiàng)式乘加器1001-1003、兩個(gè)選擇器1004-1005,一個(gè)多項(xiàng)式判斷器1008和兩個(gè)延時(shí)器1006-1007。該糾錯(cuò)電路共有7個(gè)多項(xiàng)式輸入,依次是σ0、σ1、σ2、σ3、s1、αj。糾錯(cuò)電路中的第一個(gè)乘加器1001以αj和σ3為乘數(shù),并以σ2為加數(shù),實(shí)現(xiàn)(σ3αj+σ2)的計(jì)算。第二個(gè)多項(xiàng)式乘加器1002以經(jīng)過第一個(gè)延時(shí)器1006后的αj和第一個(gè)乘加器1001的計(jì)算結(jié)果(σ3αj+σ2)為乘數(shù),并以多項(xiàng)式σ1為加數(shù),完成(αj(σ3αj+σ2)+σ1)的計(jì)算,把這個(gè)運(yùn)算結(jié)果輸出給第一個(gè)選擇器1004。
由前面的理論推導(dǎo)可知,當(dāng)FEC塊中只有一個(gè)BIT錯(cuò)誤時(shí),差錯(cuò)位置多項(xiàng)式全部為0,并且可知,當(dāng)FEC塊不止一個(gè)BIT錯(cuò)誤時(shí)多項(xiàng)式σ2是不為0的,于是就可以用多項(xiàng)式σ2來判斷FEC塊中是否只有一個(gè)BIT錯(cuò)誤。
當(dāng)多項(xiàng)式σ2為0時(shí),第一選擇器1004把伴隨多項(xiàng)式s1送給第三個(gè)多項(xiàng)式乘加器1003作為一個(gè)乘數(shù),第二選擇器1005把‘1’送給第三個(gè)乘加器1003作為加數(shù);當(dāng)多項(xiàng)式σ2不為0時(shí),第一選擇器1004把第二個(gè)乘加器計(jì)算的結(jié)果(αj(σ3αj+σ2)+σ1)送給第三個(gè)乘加器作為一個(gè)乘數(shù),第二選擇器1005把σ0送給第三個(gè)乘加器1003作為加數(shù)。通過第一選擇器1004和第二選擇器1005,完成了對FEC塊中是否只有一個(gè)BIT錯(cuò)誤的區(qū)分。在第三個(gè)乘法器1003以經(jīng)過第二個(gè)延時(shí)器的αj為另外一個(gè)乘數(shù),并結(jié)合經(jīng)選擇器1004、1005選擇送進(jìn)來的乘數(shù)和加數(shù),在FEC塊中只有一個(gè)BIT錯(cuò)誤時(shí),對((αj)s1+1)進(jìn)行計(jì)算,并且在FEC塊中不止一個(gè)BIT錯(cuò)誤時(shí),計(jì)算(αj(αj(σ3αj+σ2)+σ1)+1),并把計(jì)算結(jié)果送給判斷器1008。該判斷器1008判斷第三個(gè)乘加器1003運(yùn)算的結(jié)果。如果該結(jié)果為0,則表示當(dāng)前BIT位置滿足錢氏搜速方程,即該位置也是錯(cuò)誤BIT,二如果不為0,則不是錯(cuò)誤BIT。判斷器1008把判斷結(jié)果作為指示信號輸出給查錯(cuò)器307。
用于FEC解碼的GF(213)域中加2多項(xiàng)式αj生成器參考圖11,該圖11表示加2多項(xiàng)式αj生成器的一個(gè)示例。在對FEC塊糾錯(cuò)時(shí),每個(gè)FEC塊同時(shí)有2個(gè)錢氏搜索電路并行工作在155MHz,因此需要生成2個(gè)αj多項(xiàng)式給錢氏搜索電路并行工作,以搜索誤差多項(xiàng)式的根。本生成器由13個(gè)D觸發(fā)器和5個(gè)模2加法器組成。
并行輸入并行輸出在GF(213)域中多項(xiàng)式乘加器為了使得計(jì)算SIGMA多項(xiàng)式和錢氏搜索時(shí)更加簡單,特設(shè)計(jì)一個(gè)在GF(213)域中多項(xiàng)式乘加器。本乘加器完成兩個(gè)多項(xiàng)式相乘之積再與另外一個(gè)多項(xiàng)式相加,即A*B+C,取3個(gè)多項(xiàng)式A、B、C輸入,并在2個(gè)時(shí)鐘周期后輸出在GF(213)域中的結(jié)果。
本本發(fā)明的技術(shù)方案在高頻率如155MHz時(shí)鐘時(shí),為了滿足時(shí)序要求,完成所需功能需要用兩個(gè)時(shí)鐘周期,第一個(gè)時(shí)鐘周期是實(shí)現(xiàn)在代數(shù)域中的兩個(gè)多項(xiàng)式相乘時(shí)的展開,并把積和第三個(gè)多項(xiàng)式相加。在第二個(gè)時(shí)鐘周期,實(shí)現(xiàn)在GF(213)域中把展開后的結(jié)果進(jìn)行模本原多項(xiàng)式G1(α),得到三個(gè)多項(xiàng)式在GF(213)域中的A*B+C之后的結(jié)果。
在低頻率時(shí)鐘如77MHz、38MHz、19MHz等等時(shí),完成此功能可以只用一個(gè)時(shí)鐘周期。
多項(xiàng)式乘加器原理在很多應(yīng)用中都要用到伽羅瓦域乘法、乘法-加法及乘法累加運(yùn)算。例如,在作BCH的前向糾錯(cuò)(FEC)編解碼方案時(shí),必須在伽羅瓦域使用多項(xiàng)式乘法、加法等等計(jì)算差錯(cuò)位置多項(xiàng)式和錢氏搜索的方程驗(yàn)根。在一般情況下處理兩個(gè)多項(xiàng)式相乘時(shí),總是象作算術(shù)中的乘法一樣用其中的一個(gè)多項(xiàng)式中的每個(gè)系數(shù)去依次乘以另一個(gè)多項(xiàng)式,然后把所有乘得結(jié)果相加,得到兩個(gè)多項(xiàng)式相乘的積,如果兩個(gè)多項(xiàng)式分別有M和N個(gè)項(xiàng)式,當(dāng)M>=N時(shí),最少需要N+1個(gè)時(shí)鐘周期才能得到乘積;當(dāng)M<N時(shí),也最少需要M+1個(gè)時(shí)鐘周期才能得到乘積結(jié)果。同時(shí)考慮到伽羅瓦域的性質(zhì),還需要把計(jì)算的積作一次模本原多項(xiàng)式的運(yùn)算。
GF(2m)域元素的產(chǎn)生與一個(gè)m次本原多項(xiàng)式相關(guān)聯(lián)的。每個(gè)域元素可以有三種表達(dá)方式本原元的冪次、m重或m-1次多項(xiàng)式。因此,域元素的加法乘法運(yùn)算可以歸結(jié)為多項(xiàng)式的加法和乘法運(yùn)算。
在作加法運(yùn)算時(shí),首先把域元素統(tǒng)一表示為m-1次多項(xiàng)式的形式。
設(shè)域元素αi=am-1xm-1+…+a1x1+a0,αj=bm-1xm-1+…+b1x1+b0,則αi+αj=(am-1+bm-1)xm-1+…+(a1+b1)x1+(a0+b0)由此可見,GF(2m)域中兩個(gè)域元素的相加,等效于兩個(gè)m-1次多項(xiàng)式相加,只要按多項(xiàng)式加法規(guī)律進(jìn)行同次項(xiàng)系數(shù)進(jìn)行模2相加即可。
在作乘法運(yùn)算時(shí),首先討論αi·α的算法,然后討論αi·αj的一般情況。討論說明通過舉例子的形式來體現(xiàn)。
設(shè)GF(24)中,α是本原多項(xiàng)式x4+x+1的根,試設(shè)計(jì)能完成αi·αj運(yùn)算的電路。
因?yàn)棣潦潜驹?,所以α,?,…αi,…α14構(gòu)成了全部非零域元素,且α4+α+1=0,即α4=α+1。
由于任何域元素可以用次數(shù)低于4的α多項(xiàng)式來表示,不妨設(shè)αi=a3α3+a2α2+a1α+a0,于是αi與α的積為αi·α=a3α4+a2α3+a1α2+a0α=a2α3+a1α2+(a0+a3)α+a3比較多項(xiàng)式αi和αi·α的系數(shù),就會發(fā)現(xiàn)只要將αi的系數(shù)向高位移一位,并將最高位的系數(shù)反饋到第0,1次項(xiàng)系數(shù)上,便可以得到αi·α的系數(shù)。
利用上述方法可以將進(jìn)行αi·α的運(yùn)算方法推廣到一般的域元素乘法αi·αj的運(yùn)算,即αi·αj=((((αi·α)·α)·α)·…·α),只要知道αi的多項(xiàng)式系數(shù)在利用αi·α算法作j次運(yùn)算,便得到乘積αi·αj。
上述乘法器的優(yōu)點(diǎn)在于電路的可復(fù)用,以時(shí)間換取電路的簡單。缺點(diǎn)是運(yùn)算時(shí)間不固定,給系統(tǒng)的定時(shí)設(shè)計(jì)帶來困難,且j越大運(yùn)算的次數(shù)越多,所需時(shí)間越長,使j實(shí)際上不允許很大。為了使運(yùn)算時(shí)間短并且固定,可以改用多項(xiàng)式乘α電路的形式來完成兩個(gè)域元素的相乘。
設(shè)GF(24)的兩個(gè)域元素為αi=a3α3+a2α2+a1α+a0和αj=b3α3+b2α2+b1α+b0,其中系數(shù)是二進(jìn)制,則多項(xiàng)式乘積αi·αj可整理成αi·αj=αi(b3α3+b2α2+b1α+b0)=(((b3αi)α+b2αi)α+b0αi式中,每個(gè)系數(shù)與αi的乘法可化成二元域乘法后用與門來實(shí)現(xiàn)bm·αi=bm(a3α3+a2α2+a1α+a0)=bma3α3+bma2α2+bma1α+bma0其中i,j為0到15的整數(shù);am,bm為布爾值;m=0,1,2,3。
用這種方法完成GF(2m)域中αi·αj的運(yùn)算需要m個(gè)時(shí)鐘周期,運(yùn)算時(shí)間是固定的。如果是固定乘以某一個(gè)域元素,可以設(shè)計(jì)一個(gè)專用電路,只要一個(gè)時(shí)鐘周期就能完成這個(gè)運(yùn)算。
現(xiàn)在設(shè)計(jì)一個(gè)乘加器方案來實(shí)現(xiàn)GF(213)域中三個(gè)元素,其中兩個(gè)元素相乘得到的積再與第三個(gè)元素相加。
本方案的目的有三個(gè)1.提供GF(213)域中一個(gè)改進(jìn)的乘法、加法、乘法-加法系統(tǒng),2.此系統(tǒng)能在2個(gè)時(shí)鐘周期內(nèi)完成乘法、加法、乘法-加法運(yùn)算,3.此系統(tǒng)能在高速時(shí)鐘下穩(wěn)定工作,如時(shí)鐘頻率為155MHz。
本方案通過使用一個(gè)多項(xiàng)式乘法器,多項(xiàng)式加法器和伽羅瓦域中的模多項(xiàng)式運(yùn)算器來實(shí)現(xiàn)GF(213)域中三個(gè)元素如(A*B+C)的運(yùn)算。當(dāng)A、B多項(xiàng)式中任意一個(gè)為1時(shí),本方案完成GF(213)域中兩個(gè)元素相加的功能;當(dāng)C多項(xiàng)式為0時(shí),本方案完成GF(213)域中兩個(gè)元素相乘的功能;當(dāng)此三個(gè)元素是任意時(shí),本方案完成A、B兩個(gè)元素相乘然后與C元素相加的功能,也就是說,本方案可以在這三種功能下任意使用,這樣大大提高了源代碼的利用率,降低了出錯(cuò)概率。
在GF(2m)域中,對于BCH-3(9181,8152)而言,m=13。假設(shè)乘加器輸入的三個(gè)元素為公式15 A(α)=a12α12+a11α11+…+a1α1+a0B(α)=b12α12+b11α11+…+b1α1+b0C(α)=c12α12+c11α11+…+c1α1+c0則A(α)和B(α)相乘得到公式16 A(α)*B(α)=d0+d1α1+…+d24α24其中d0=a0b0d1=a0b1+a1b0d2=a0b2+a1b1+a2b0d3=a0b3+a1b2+a2b1+a3b0d4=a0b4+a1b3+a2b2+a3b1+a4b0d5=a0b5+a1b4+a2b3+a3b2+a4b1+a5b0d6=a0b6+a1b5+a2b4+a3b3+a4b2+a5b1+a6b0d7=a0b7+a1b6+a2b5+a3b4+a4b3+a5b2+a6b1+a7b0d8=a0b8+a1b7+a2b6+a3b5+a4b4+a5b3+a6b2+a7b1+a8b0d9=a0b9+a1b8+a2b7+a3b6+a4b5+a5b4+a6b3+a7b2+a8b1+a9b0d10=a0b10+a1b9+a2b8+a3b7+a4b6+a5b5+a6b4+a7b3+a8b2+a9b1+a10b0d11=a0b11+a1b10+a2b9+a3b8+a4b7+a5b6+a6b5+a7b4+a8b3+a9b2+a10b1+a11b0d12=a0b12+a1b11+a2b10+a3b9+a4b8+a5b7+a6b6+a7b5+a8b4+a9b3+a10b2+a11b1+a12b0d13=a1b12+a2b11+a3b10+a4b9+a5b8+a6b7+a7b6+a8b5+a9b4+a10b3+a11b2+a12b1d14=a2b12+a3b11+a4b10+a5b9+a6b8+a7b7+a8b6+a9b5+a10b4+a11b3+a12b2d15=a3b12+a4b11+a5b10+a6b9+a7b8+a8b7+a9b6+a10b5+a11b4+a12b3d16=a4b12+a5b11+a6b10+a7b9+a8b8+a9b7+a10b6+a11b5+a12b4d17=a5b12+a6b11+a7b10+a8b9+a9b8+a10b7+a11b6+a12b5d18=a6b12+a7b11+a8b10+a9b9+a10b8+a11b7+a12b6d19=a7b12+a8b11+a9b10+a10b9+a11b8+a12b7d20=a8b12+a9b11+a10b10+a11b9+a12b8d21=a9b12+a10b11+a11b10+a12b9d22=a10b12+a11b11+a12b10d23=a11b12+a12b11d24=a12b12
于是,A(α)和B(α)相乘并與C(α)相加得到公式17A(α)*B(α)+C(α)=(d0+c0)+(d1+c1)α1+…+(d12+c12)α12+d13α13++d14α14+…+d24α24令f0=d0+c0f1=d1+c1f2=d2+c2f3=d3+c3…f12=d12+c12f13=d13f14=d14…f24=d24由GF(213)域的本原多項(xiàng)式P(x)=x13+x4+x3+x+1,本原元α滿足方程α13=α4+α3+α+1,代入A(α)*B(α)+C(α)并且化簡得A(α)*B(α)+C(α)=m12α12+m11α11+…+m1α+m0其中m0=f0+f13+f22+f23m1=f1+f13+f14+f22+f24m2=f2+f14+f15+f23m3=f3+f13+f15+f16+f22+f23+f24m4=f4+f13+f14+f16+f17+f22+f24m5=f5+f14+f15+f17+f18+f23m6=f6+f15+f16+f18+f19+f24m7=f7+f16+f17+f19+f20m8=f8+f17+f18+f20+f21m9=f9+f18+f19+f21+f22m10=f10+f19+f20+f22+f23m11=f11+f20+f21+f23+f24m12=f12+f21+f22+f24
上述公式中an,bn,cn,mn為布爾值,n為0到12的整數(shù);di,fi為布爾值,i為0到24的整數(shù);加法運(yùn)算是GF域中的模2加法。
參考圖12,在具體實(shí)現(xiàn)的時(shí)候可以用三個(gè)、兩個(gè)或者1個(gè)時(shí)鐘周期完成GF(213)域中(A*B+C)的運(yùn)算,其中A、B、C分別為GF(213)中的元素。利用三個(gè)時(shí)鐘周期來實(shí)現(xiàn)時(shí)多項(xiàng)式乘法、加法和化簡每個(gè)功能運(yùn)算分別用一個(gè)時(shí)鐘周期,優(yōu)點(diǎn)是時(shí)鐘頻率可以達(dá)到很高,缺點(diǎn)是D觸發(fā)器數(shù)量增多;在兩個(gè)時(shí)鐘周期的時(shí)候應(yīng)該讓乘法運(yùn)算用一個(gè)時(shí)鐘周期,用另外一個(gè)時(shí)鐘周期作加法和化簡處理,特點(diǎn)是時(shí)鐘頻率中等,D觸發(fā)器數(shù)量中等;在只用一個(gè)時(shí)鐘周期完成時(shí)有點(diǎn)D觸發(fā)器數(shù)量最少,缺點(diǎn)是時(shí)鐘頻率低。由于在作譯碼時(shí)要用155MHz的時(shí)鐘處理,在均衡考慮下選擇用兩個(gè)時(shí)鐘周期來實(shí)現(xiàn)的。
權(quán)利要求
1.一種用于SDH/SONET系統(tǒng)的帶內(nèi)FEC解碼器,包括數(shù)據(jù)交織及控制器,用于接收輸入數(shù)據(jù)并對輸入數(shù)據(jù)以行形式進(jìn)行比特交織;數(shù)據(jù)時(shí)分復(fù)用器,用于對從所述數(shù)據(jù)交織及控制器輸出的數(shù)據(jù)進(jìn)行時(shí)分復(fù)用;BCH解碼器,用于查找經(jīng)時(shí)分復(fù)用處理的數(shù)據(jù)中錯(cuò)誤比特的位置,并用于輸出錯(cuò)誤位置指示信號;和糾錯(cuò)電路,用于根據(jù)所述錯(cuò)誤位置指示信號進(jìn)行糾錯(cuò)處理。
2.根據(jù)權(quán)利要求1的帶內(nèi)FEC解碼器,進(jìn)一步包括數(shù)據(jù)存儲器,用于存儲所述輸入數(shù)據(jù)。
3.根據(jù)權(quán)利要求1的帶內(nèi)FEC解碼器,進(jìn)一步包括FEC狀態(tài)指示字節(jié)處理器,用于從所述數(shù)據(jù)交織及控制器輸出的數(shù)據(jù)中提取FEC校驗(yàn)數(shù)據(jù),以判斷是否需要啟動(dòng)所述糾錯(cuò)電路。
4.根據(jù)權(quán)利要求1的帶內(nèi)FEC解碼器,其中所述數(shù)據(jù)交織及控制器接收16位并行幀數(shù)據(jù),并將所述幀數(shù)據(jù)按行進(jìn)行比特交織,以生成并行的8個(gè)FEC塊數(shù)據(jù)。
5.根據(jù)權(quán)利要求4的帶內(nèi)FEC解碼器,其中每個(gè)FEC塊數(shù)據(jù)具有155M時(shí)鐘周期寬度。
6.根據(jù)權(quán)利要求5的帶內(nèi)FEC解碼器,其中所述數(shù)據(jù)時(shí)分復(fù)用器把所述FEC塊數(shù)據(jù)時(shí)分復(fù)用在一條數(shù)據(jù)線上。
7.根據(jù)權(quán)利要求6的帶內(nèi)FEC解碼器,其中所述BCH解碼器進(jìn)一步包括伴隨多項(xiàng)式S(x)生成器,用于計(jì)算FEC塊的伴隨多項(xiàng)式;8個(gè)FEC塊σ(x)生成器,用于計(jì)算FEC塊的差錯(cuò)位置多項(xiàng)式σ(x);SIGMA選擇器,用于選擇輸出正在處理的碼字所對應(yīng)FEC塊的差錯(cuò)位置多項(xiàng)式;多個(gè)ALPHA生成器,用于生成FEC塊中碼字在GF域中對應(yīng)的元素;ALPHA選擇器,用于選擇輸出正在處理的碼字在GF域中對應(yīng)的元素的值;查錯(cuò)器,用于把所述SIGMA選擇器輸出的差錯(cuò)位置多項(xiàng)式和所述ALPHA選擇器輸出的正在處理的碼字在GF域中對應(yīng)的元素的值代入錢氏搜索方程中,以查找FEC塊中的錯(cuò)誤比特位置。
8.根據(jù)權(quán)利要求7的帶內(nèi)FEC解碼器,其中在所述伴隨多項(xiàng)式S(x)生成器中利用下式生成伴隨多項(xiàng)式s1=R(α)modG1(α)s3=R(α3)modG3(α3)s5=R(α5)modG5(α5)其中s1,s3,s5為BCH-3譯碼中伴隨多項(xiàng)式的元素;R(α),R(α3),R(α5)是接收碼多項(xiàng)式R(x)中變量x分別為α,α3,α5時(shí)的多項(xiàng)式;G1(α)是最小多項(xiàng)式G1(x)的變量x為α的多項(xiàng)式;G3(α3)是最小多項(xiàng)式G3(x)的變量x為α3的多項(xiàng)式;G5(α5)是最小多項(xiàng)式G5(x)的變量x為α5的多項(xiàng)式;α為BCH碼的本原元。
9.根據(jù)權(quán)利要求7的帶內(nèi)FEC解碼器,其中在所述FEC塊σ(x)生成器中利用下式生成差錯(cuò)位置多項(xiàng)式σ0=s13+s3]]>σ1=s14+s1s3]]>σ2=s12s3+s5]]>σ3=s16+s32+s13s3+s1s5]]>其中σ0,σ1,σ2,σ3是差錯(cuò)位置多項(xiàng)式的元素;s1,s3,s5為BCH-3譯碼中伴隨多項(xiàng)式的元素。
10.根據(jù)權(quán)利要求7的帶內(nèi)FEC解碼器,其中在所述差錯(cuò)器中利用的錢氏搜索方程為xj(xj(σ3xj+σ2)+σ1)+σ0=0其中,σ0,σ1,σ2,σ3是差錯(cuò)位置多項(xiàng)式的元素。
11.根據(jù)權(quán)利要求7的帶內(nèi)FEC解碼器,其中所述伴隨多項(xiàng)式S(x)生成器進(jìn)一步包括工作于16位并行模式的線性反饋移位寄存器(LFSR#1)、工作于13位并行模式的線性反饋移位寄存器(LFSR#2)和大小為8×13的雙塊RAM。
12.根據(jù)權(quán)利要求9的帶內(nèi)FEC解碼器,其中所述差錯(cuò)位置多項(xiàng)式σ(x)生成器進(jìn)一步包括多項(xiàng)式乘加器和加法器,其中在所述乘加器中完成GF域中兩個(gè)元素相乘之后與第三個(gè)元素相加的運(yùn)算,并且在所述加法器中實(shí)現(xiàn)GF域中模2加法。
13.根據(jù)權(quán)利要求10的帶內(nèi)FEC解碼器,其中所述差錯(cuò)器進(jìn)一步包括三個(gè)多項(xiàng)式乘加器、兩個(gè)延時(shí)器、兩個(gè)選擇器和一個(gè)判斷器。
14.根據(jù)權(quán)利要求2的帶內(nèi)FEC解碼器,其中所述糾錯(cuò)電路對所述錯(cuò)誤位置指示信號和所述存儲器中存儲的數(shù)據(jù)進(jìn)行異或運(yùn)算,以完成糾錯(cuò)處理。
全文摘要
本發(fā)明涉及一種用于SDH/SONET系統(tǒng)的帶內(nèi)FEC解碼器,包括數(shù)據(jù)交織及控制器;數(shù)據(jù)時(shí)分復(fù)用器,用于對從數(shù)據(jù)交織及控制器輸出的數(shù)據(jù)進(jìn)行時(shí)分復(fù)用;BCH解碼器,用于查找經(jīng)時(shí)分復(fù)用處理的數(shù)據(jù)中錯(cuò)誤比特的位置,并用于輸出錯(cuò)誤位置指示信號;和糾錯(cuò)電路,用于根據(jù)錯(cuò)誤位置指示信號進(jìn)行糾錯(cuò)處理。所述BCH解碼器進(jìn)一步包括差錯(cuò)位置多項(xiàng)式σ(x)生成器,所述σ(x)生成器又包括多項(xiàng)式乘加器和加法器,其中在所述乘加器中完成GF域中兩個(gè)元素相乘之后與第三個(gè)元素相加的運(yùn)算,并且在所述加法器中實(shí)現(xiàn)GF域中模2加法。利用本發(fā)明的FEC解碼器,能夠簡化實(shí)現(xiàn)帶內(nèi)FEC算法,同時(shí)又能獲得希望的糾錯(cuò)解碼效果。
文檔編號H03M13/03GK1901428SQ200510084690
公開日2007年1月24日 申請日期2005年7月18日 優(yōu)先權(quán)日2005年7月18日
發(fā)明者王兆明 申請人:Ut斯達(dá)康通訊有限公司