專利名稱:雙渦輪結(jié)構(gòu)低密度奇偶校驗碼解碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明給出了一種雙渦輪結(jié)構(gòu)的低密度奇偶校驗碼解碼器,屬于信道糾錯編碼的解碼技術(shù)領(lǐng)域。
背景技術(shù):
低密度奇偶校驗碼(Low Density Parity Check Codes,LDPC)是一種基于稀疏校驗矩陣的線性分組碼,它有著接近于香農(nóng)限(Shannon Limit)的性能和低的錯誤平板效應(yīng)(Error Floor),近年來得到了廣泛的應(yīng)用。LDPC碼一般用和其校驗矩陣相應(yīng)的二分圖進行描述,二分圖中包含校驗節(jié)點和變量節(jié)點,分別和校驗矩陣的行和列對應(yīng)。
由于LDPC碼的校驗矩陣進行高斯消去得到的矩陣不再稀疏,這使得LDPC碼的編碼復(fù)雜度比較高,硬件實現(xiàn)起來較為困難。在實際系統(tǒng)中,為了便于編碼,通常采用一類具有準循環(huán)結(jié)構(gòu)的LDPC碼,其編碼可以通過簡單的移位寄存器實現(xiàn),復(fù)雜度較低。本發(fā)明中的解碼器就是針對這種結(jié)構(gòu)的LDPC碼進行設(shè)計的,適用于規(guī)則的和非規(guī)則的準循環(huán)LDPC碼。
LDPC碼的解碼一般采用基于二分圖的軟判決迭代譯碼算法,如和積算法、最小和算法以及最小和算法的各類修正等等。在迭代過程中,與校驗節(jié)點和變量節(jié)點相關(guān)的信息交替被更新,相互之間通過二分圖中的邊進行傳遞。這類算法易于并行實現(xiàn),但是由于硬件資源的限制,全并行方案不太可行,一般采用部分并行的方法實現(xiàn)。LDPC碼解碼器的性能一方面取決于所采用的解碼算法,另一方面和迭代的次數(shù)有關(guān)。對某一種解碼算法,迭代次數(shù)越多,性能越好,但是迭代次數(shù)增加使得譯碼時延增加,解碼速率將低,即解碼器的速率和性能之間存在著矛盾?,F(xiàn)代通信系統(tǒng)對傳輸速率和傳輸質(zhì)量的要求越來越高,這就需要同時提高解碼器的速率和性能。其中,在有限的迭代次數(shù)下充分和有效地利用現(xiàn)有的硬件資源來加快迭代的收斂速度和提高性能是一種合理的方法,本發(fā)明所提出的雙渦輪結(jié)構(gòu)解碼器就具有這一特點。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種雙渦輪結(jié)構(gòu)低密度奇偶校驗碼解碼器,提高低密度奇偶校驗碼解碼速率和性能,通過對硬件資源的充分和有效的使用,加快迭代的收斂速度,以獲得更好的性能。該方法適合于各類準循環(huán)結(jié)構(gòu)的LDPC碼(規(guī)則的和非規(guī)則的),且工作的魯棒性高。
技術(shù)方案本發(fā)明的雙Turbo結(jié)構(gòu)的低密度奇偶校驗碼解碼器,根據(jù)碼字校驗矩陣將變量節(jié)點和校驗節(jié)點分塊,解碼器各個變量節(jié)點處理單元和校驗節(jié)點處理單元同時工作,相互之間通過存儲器交互信息,進行迭代譯碼。同時,為了進一步加快迭代譯碼的收斂速度,對各變量節(jié)點塊和校驗節(jié)點塊處理的起始位置進行優(yōu)化,提高解碼器的性能。
該解碼器包括校驗節(jié)點處理單元陣列包括多個校驗節(jié)點處理單元,用于計算相應(yīng)的校驗節(jié)點到其鄰近的變量節(jié)點的輸出信息;變量節(jié)點處理單元陣列包括多個變量節(jié)點處理單元,用于計算相應(yīng)的變量節(jié)點到其鄰近的校驗節(jié)點的輸出信息,同時完成和變量節(jié)點對應(yīng)碼字比特后驗概率的計算,給出相應(yīng)比特取值的估計;校驗節(jié)點輸出信息存儲器用于存儲校驗節(jié)點輸出給與之相連的變量節(jié)點的信息;變量節(jié)點輸出信息存儲器用于存儲變量節(jié)點輸出給與之相連的校驗節(jié)點的信息;初始信息存儲器用于存儲當前幀和下一幀輸入解碼器的初始信息;收斂測試單元用于檢驗一個給定的序列是否為一個碼字;迭代控制單元用于迭代過程的控制,包括存儲器的訪問、各個模塊工作調(diào)度和迭代的提前終止;其中,根據(jù)碼字校驗矩陣的結(jié)構(gòu),按行分塊,每塊對應(yīng)校驗節(jié)點處理單元陣列中的一個單元,校驗節(jié)點處理單元陣列的變量節(jié)點信息輸入端與變量節(jié)點輸出信息存儲器相連,處理完成后將信息輸出到校驗節(jié)點輸出信息存儲器中;根據(jù)碼字校驗矩陣的結(jié)構(gòu),按列分塊,每塊對應(yīng)變量節(jié)點處理單元陣列中的一個單元,變量節(jié)點處理單元陣列的校驗節(jié)點信息輸入端和初始似然比信息輸入端分別與校驗節(jié)點輸出信息存儲器和初始信息存儲器相連,處理完成后將信息輸出到變量節(jié)點輸出信息存儲器中,同時把迭代過程中得到的碼字序列估計輸出給收斂測試單元;迭代控制單元分別與校驗節(jié)點處理單元陣列、變量節(jié)點處理單元陣列、收斂測試單元相接,控制整個迭代譯碼過程。
本發(fā)明的雙渦輪結(jié)構(gòu)的低密度奇偶校驗碼解碼器的解碼方法為根據(jù)碼字校驗矩陣的結(jié)構(gòu),將校驗節(jié)點和變量節(jié)點分塊,每個塊對應(yīng)一個處理單元;在迭代譯碼過程中,校驗節(jié)點處理單元陣列和變量節(jié)點處理單元陣列同時工作,它們分別從變量節(jié)點輸出信息存儲器、校驗節(jié)點輸出信息存儲器中讀取信息,按照信息傳播規(guī)則計算輸出的信息,并寫入各自相應(yīng)的輸出信息存儲器,完成信息的更新;在校驗節(jié)點處理單元陣列和校驗節(jié)點處理單元陣列工作的同時,收斂測試單元對迭代中得到的序列進行檢驗,如果是一個碼字,則提前終止迭代,否則進行下一次迭代,直至達到最大迭代次數(shù)。
具體的解碼方法如下設(shè)低密度奇偶校驗碼的校驗矩陣H是一個M行N列的矩陣,由J×L塊Z×Z的子矩陣Hjl構(gòu)成,J=M/Z,L=N/Z;解碼器使用J個校驗節(jié)點處理單元和L個變量節(jié)點處理單元進行并行解碼,分別用Rmnk,z、Qnmk,z(0≤z<Z)表示在第k次迭代的第z個節(jié)拍校驗節(jié)點cm輸出給變量節(jié)點vn的信息、變量節(jié)點vn輸出給校驗節(jié)點cm的信息,用Qnk表示變量節(jié)點vn的后驗概率信息,用yn表示輸入解碼器的和變量節(jié)點vn對應(yīng)的碼字比特的初始似然比信息,并用dn表示根據(jù)Qnk硬判決得到的碼字序列當前比特的估計;其中,Rmnk,z、Qnmk,z分別存儲在校驗節(jié)點輸出信息存儲器和變量節(jié)點輸出信息存儲器中;在譯碼過程中,每次迭代各校驗節(jié)點處理單元和變量節(jié)點處理單元對應(yīng)的塊的起始位置向量分別為S=[S0,S1,…,SJ-2,SJ-1]、T=[t0,t2,…,tL-2,tL-1],解碼器按照如下步驟工作1.)初始化;迭代次數(shù)k初始化k=0;校驗節(jié)點輸出信息存儲器初始化對所有的m,n∈B(m),Rmn0,Z-1=0;]]>變量節(jié)點輸出信息存儲器初始化對所有的n,m∈A(n),Qnm0,Z-1=yn,]]>其中yn為輸入解碼器的初始似然比信息;
2.)迭代譯碼;迭代次數(shù)加1k=k+1;對當前迭代的第z(0≤z≤Z-1)個節(jié)拍,作如下處理①J個校驗節(jié)點處理單元同時從變量節(jié)點輸出信息存儲器中讀取信息來計算輸出到相應(yīng)變量節(jié)點的信息,具體來說對第j(0≤j≤J-1)個校驗節(jié)點處理單元,當前節(jié)拍處理第m=j(luò)·Z+(sj+z)modZ個校驗節(jié)點,對所有n∈B(m),按照修正的最小和算法,Rmnk,z=β·Πn′∈B(m)\nsgn(Qn′mk,z-1)·minn′∈B(m)\n|Qn′mk,z-1|]]>其中β為修正因子,Qn′mk,-1=Qn′mk-1,z-1;]]>②L個變量節(jié)點處理單元同時從校驗節(jié)點輸出信息存儲器中讀取信息,結(jié)合輸入解碼器的初始似然比信息,計算輸出到相應(yīng)校驗節(jié)點的信息,具體來說對第l(0≤l≤L-1)個變量節(jié)點處理單元,當前節(jié)拍處理第n=l·Z+(t1+z)modZ個變量節(jié)點,先計算該節(jié)點的后驗信息Qnk=yn+Σm∈A{n}Rmnk,z-1]]>對Qnk硬判決得到dn;再對所有m∈A{n},Qnmk,z=Qnk-Rmnk,z-1]]>其中Rmnk,-1=Rmnk-1,z-1;]]>以上過程①和②是同時進行的;3.)收斂測試模塊對本次迭代得到的序列dn進行校驗,如果滿足所有的校驗式,則譯碼結(jié)束,將序列dn作為最終碼字輸出;否則轉(zhuǎn)到步驟2)繼續(xù)迭代,直到達到最大迭代次數(shù)或者某次迭代的結(jié)果滿足所有校驗式為止。
在迭代譯碼中,各校驗節(jié)點處理單元從變量節(jié)點輸出信息存儲器或各變量節(jié)點處理單元從校驗節(jié)點輸出信息存儲器讀取的信息中有的是本次迭代更新過的,有的是上一次迭代得到的,即本次迭代得到的信息被提前使用;信息提前使用的情況與迭代過程中各個處理單元對應(yīng)塊的起始位置有關(guān),需要對起始位置進行優(yōu)化;具體來說,把各個塊的起始位置作為待優(yōu)化的變量,以一次迭代中使用本次迭代得到信息的數(shù)量為目標函數(shù),采用差分演化的方法就可以得到一個最優(yōu)的起始位置向量。
有益效果本發(fā)明的有益效果主要體現(xiàn)在以下幾個方面(1).在解碼器中校驗節(jié)點處理單元和變量節(jié)點處理單元同時工作,兩者均使用提前更新的軟信息,加快了迭代過程中信息的更新速度。
(2).通過對各個校驗節(jié)點處理單元和變量節(jié)點處理單元起始位置的優(yōu)化,加大軟信息提前使用的比重,性能得到進一步提高。
(3).和其他硬件資源接近的解碼器相比,本解碼器收斂速度更快,性能更好。
圖1是一個LDPC碼二分圖連接示意圖。
圖2是準循環(huán)LDPC碼的校驗矩陣示意圖,其中J=4,L=24。
圖3是解碼器的總體結(jié)構(gòu)框圖。
圖4是解碼器校驗節(jié)點處理單元示意圖。
圖5是解碼器變量節(jié)點處理單元示意圖。
圖6是解碼器工作的總體流程圖。
圖7是解碼器pipeline工作示意圖。
圖8給出了WiMAX系統(tǒng)中5/6碼率960長度碼字性能的仿真曲線。
以上的圖中有校驗節(jié)點處理單元陣列1、變量節(jié)點處理單元陣列2、校驗節(jié)點輸出信息存儲器3、變量節(jié)點輸出信息存儲器4、初始信息存儲器5、收斂測試單元6、迭代控制單元7;具體實施方式
設(shè)LDPC碼的校驗矩陣H是一個M×N的矩陣,由J×L塊Z×Z的子矩陣Hjl構(gòu)成,J=M/Z,L=N/Z。每個子矩陣是一個單位陣,或者單位陣的循環(huán)移位陣Ip(單位陣各行向右循環(huán)移動p位),或者全0陣O。校驗矩陣H對應(yīng)的二分圖變量節(jié)點核校驗節(jié)點的集合分別為V={vn,1 ≤n≤N}、C={cm,1≤m≤M}。定義B(m)={n∶Hmn=1}為校驗節(jié)點cm對應(yīng)的變量節(jié)點集合,A(n)={m∶Hmn=1}為變量節(jié)點vn對應(yīng)的校驗節(jié)點集合,用B(m)\n表示和校驗節(jié)點cm相連的除vn以外的變量節(jié)點集合,用A(n)\m表示和變量節(jié)點vn相連的除
cm以外的校驗節(jié)點集合。
整個解碼器主要包括以下幾個部分校驗節(jié)點處理單元陣列用于計算相應(yīng)的校驗節(jié)點到其鄰近的變量節(jié)點的輸出信息。
變量節(jié)點處理單元陣列用于計算相應(yīng)的變量節(jié)點到其鄰近的校驗節(jié)點的輸出信息,同時完成和變量節(jié)點對應(yīng)碼字比特后驗概率的計算,給出相應(yīng)比特取值的估計。
校驗節(jié)點輸出信息存儲器用于存儲校驗節(jié)點輸出給與之相連的變量節(jié)點的信息。
變量節(jié)點輸出信息存儲器用于存儲變量節(jié)點輸出給與之相連的校驗節(jié)點的信息。
初始信息存儲器用于存儲當前幀和下一幀輸入解碼器的初始信息。
收斂測試單元用于檢驗一個給定的序列是否為一個碼字。
迭代控制單元用于迭代過程的控制,包括存儲器的訪問、各個模塊工作調(diào)度和迭代的提前終止。
整個解碼器使用J個校驗節(jié)點處理單元和L個變量節(jié)點處理單元進行并行解碼,分別用Rmnk,z、Qnmk,z(0≤z<Z)表示在第k次迭代的第z個節(jié)拍校驗節(jié)點cm輸出給變量節(jié)點vn的信息、變量節(jié)點vn輸出給校驗節(jié)點cm的信息,用Qnk表示變量節(jié)點vn的后驗概率信息,用yn表示輸入解碼器的和變量節(jié)點vn對應(yīng)的碼字比特的初始似然比信息,并用dn表示根據(jù)Qnk硬判決得到的碼字序列當前比特的估計。其中,Rmnk,z、Qnmk,z分別存儲在校驗節(jié)點輸出信息存儲器和變量節(jié)點輸出信息存儲器中。在譯碼過程中,每次迭代各校驗節(jié)點處理單元和變量節(jié)點處理單元相應(yīng)的塊的起始位置向量分別為S=[S0,S1,…,SJ-2,SJ-1]、T=[t0,t2,…,tL-2,tL-1]。
下面具體描述解碼器工作的步驟(1)初始化迭代次數(shù)初始化k=0;校驗節(jié)點輸出信息存儲器初始化對所有的m,n∈B(m),Rmn0,Z-1=0;]]>變量節(jié)點輸出信息存儲器初始化對所有的n,m∈A(n),Qnm0,z-1=yn,]]>其中yn為輸入解碼器的初始似然比信息。
(2)迭代譯碼迭代次數(shù)加1k=k+1;對當前迭代的第z(0≤z≤Z-1)個節(jié)拍,作如下處理①J個校驗節(jié)點處理單元同時從變量節(jié)點輸出信息存儲器中讀取信息來計算輸出到相應(yīng)變量節(jié)點的信息,具體來說對第j(0≤j≤J-1)個校驗節(jié)點處理單元,當前節(jié)拍處理第m=j(luò)·Z+(sj+z)modZ個校驗節(jié)點,對所有n∈B(m),按照修正的最小和算法,Rmnk,z=β·Πn′∈(m)\nsgn(Qn′mk,z-1)·minn′∈B(m)\n|Qn′mk,z-1|]]>其中β為修正因子,Qn′mk,-1=Qn′mk-1,z-1.]]>②L個變量節(jié)點處理單元同時從校驗節(jié)點輸出信息存儲器中讀取信息,結(jié)合輸入解碼器的初始似然比信息,計算輸出到相應(yīng)校驗節(jié)點的信息,具體來說對第l(0≤l≤L-1)個變量節(jié)點處理單元,當前節(jié)拍處理第n=l·Z+(t1+z)modZ個變量節(jié)點,先計算該節(jié)點的后驗信息Qnk=yn+Σm∈A{n}Rmnk,z-1]]>對Qnk硬判決得到dn;再對所有m∈A{n},Qnmk,z=Qnk-Rmnk,z-1]]>其中Rmnk,-1=Rmnk-1,Z-1·]]>以上過程①和②是同時進行的。
(3)收斂測試模塊對本次迭代得到的序列dn進行校驗,如果滿足所有的校驗式,則譯碼結(jié)束,將序列dn作為最終碼字輸出;否則轉(zhuǎn)到(2)繼續(xù)迭代,直到達到最大迭代次數(shù)或者某次迭代的結(jié)果滿足所有的校驗式為止。
下面以IEEE 802.16e為標準的WiMAX系統(tǒng)中采用的LDPC碼為例,結(jié)合
本發(fā)明提出的解碼器的具體工作方式。
WiMAX系統(tǒng)采用的LDPC碼是一種非規(guī)則的準循環(huán)碼,其校驗矩陣每行有L=24個子塊,每列的子塊數(shù)J隨碼率的不同而不同。系統(tǒng)有1/2、2/3、3/4、5/6四種碼率,相應(yīng)的各列子塊數(shù)分別為12、8、6、4。在各種碼率下,碼字的長度N隨各個子塊大小Z的變化而變化,從576到2304共19種。圖2給出了5/6碼率碼字校驗矩陣的示意圖,以下就以5/6碼率的碼字進行說明。
圖3給出了整個解碼器的結(jié)構(gòu)示意圖,包括校驗節(jié)點處理單元、變量節(jié)點處理單元、校驗節(jié)點輸出信息存儲器、變量節(jié)點輸出信息存儲器、初始信息存儲器、收斂測試模塊、迭代控制單元等等。接下來具體介紹各個部分的結(jié)構(gòu)和功能。
圖4給出了校驗節(jié)點處理單元的示意圖。在圖4(a)中,校驗節(jié)點處理單元從變量節(jié)點輸出信息存儲器中讀取與之相連的變量節(jié)點傳遞過來的信息,進行相應(yīng)處理后寫入到校驗節(jié)點輸出信息存儲器中。這里采用的是修正的最小和算法,通過分段分層比較的方法得到最小值和次小值,再乘上修正因子之后寫入到校驗節(jié)點輸出信息存儲器。修正因子β可以通過仿真的方法得到,也可以通過密度演變的方法獲得。對5/6碼率的碼字,仿真后發(fā)現(xiàn)β取0.8左右性能較好,為了便于硬件實現(xiàn),β取0.8125,通過移位的方法即可實現(xiàn)。圖4(b)給出了從輸入校驗節(jié)點處理單元的信息中尋找最小值和次小值的電路圖。這里每個校驗節(jié)點的度數(shù)均為20,采用分層分組比較的方法得到最小值和次小值,第一層分為5組,每組從4個數(shù)值中得到最小值和次小值;第二層將第一層比較得到的5個最小值和5個次小值分組比較,5個最小值比較得到20個數(shù)中的最小值;第三層再把上一層5個最小值比較得到的次小值和上一層5個次小值比較得到的比較,得到的最小值作為20個數(shù)中的次小值輸出。圖4(c)是從4個數(shù)中得到最小值和次小值的比較和譯碼電路,5個數(shù)的情況與此相似。在圖4(c)中,共使用6個減法器對4個數(shù)進行兩兩比較,比較得到的結(jié)果通過譯碼電路得到最小值和次小值;圖中還給出了譯碼電路的內(nèi)部邏輯,其中沒有標0或1的地方表示任意值。
圖7給出了變量節(jié)點處理單元的示意圖。變量節(jié)點處理單元從校驗節(jié)點輸出信息存儲器中和初始信息存儲器中讀出相關(guān)信息,先求和再分別減掉與之相關(guān)的信息后輸出,同時根據(jù)所求的和的符號得到碼字當前比特的估計。由于在存儲器中數(shù)據(jù)是按照原碼的形式表示的,不利于加減運算,所以先將其轉(zhuǎn)成補碼形式進行運算,最后再轉(zhuǎn)成原碼形式送回存儲器。圖中的變量節(jié)點度數(shù)為3,其它度數(shù)的節(jié)點處理方法類似。
下面說明解碼器中存儲器的結(jié)構(gòu)。在整個解碼器中,存儲器分為三類初始信息存儲器、校驗節(jié)點輸出信息存儲器、變量節(jié)點輸出信息存儲器。其中,初始信息存儲器用于存儲輸入解碼器的初始似然必信息,為了保持解碼器連續(xù)工作,解碼器中用兩塊Ram以乒乓的方式工作,一塊用于當前幀,一塊用于下一幀。校驗節(jié)點輸出信息存儲器和變量節(jié)點輸出信息存儲器所存儲的信息和碼字二分圖的邊一一對應(yīng),為了使多個校驗節(jié)點運算單元和變量節(jié)點運算單元同時并行工作,需要將存儲器分塊,并采用雙端口Ram,從而可以同時讀寫多組數(shù)據(jù)。這里存儲器按照校驗矩陣中的非全零子塊進行分塊,每塊Ram存儲Z個數(shù)據(jù),并且校驗節(jié)點輸出信息存儲器和變量節(jié)點輸出信息存儲器以乒乓的方式工作,在相鄰的迭代之間交替。在迭代譯碼過程中,校驗節(jié)點處理單元從變量節(jié)點輸出信息存儲器中讀取信息,處理完成后寫回原先讀取的地址,供下面的迭代使用;變量節(jié)點處理單元的處理方式類似,從校驗節(jié)點輸出信息存儲器中讀取信息,處理完成后寫回原先讀取的地址,供下面的迭代使用。
收斂測試單元檢驗?zāi)炒蔚a(chǎn)生的序列dn是否滿足所有的校驗式,并把測試的結(jié)果反饋給迭代控制單元。收斂測試模塊比較容易實現(xiàn),采用J個多輸入的異或門并行測試,每次對應(yīng)校驗矩陣的J行,J個多輸入的異或門的輸出接入一個J輸入的或非門,用于判斷是否滿足校驗矩陣中對應(yīng)的J行,這樣Z個節(jié)拍可以完成。如果某個節(jié)拍或非門輸出為0,則說明dn不滿足校驗矩陣;如果Z個節(jié)拍中或非門的輸出都是1,說明dn滿足校驗矩陣的所有行,是一個碼字。
圖6給出了解碼器工作的流程圖,通過迭代控制單元實現(xiàn)。在迭代控制單元的控制下,校驗節(jié)點處理單元和變量節(jié)點處理單元分別從相應(yīng)的存儲器中讀取數(shù)據(jù),處理完成后再寫回存儲器,完成迭代譯碼。與此同時,收斂測試單元對上一次迭代得到的序列dn進行檢驗,決定停止譯碼或繼續(xù)迭代。為了提高解碼速率和器件的使用效率,解碼器的各單元采用pipeline的工作方式,具體如圖7所示。
由于在解碼器中校驗節(jié)點處理單元和變量節(jié)點處理單元是同時工作的,在同一次迭代中,輸入某個節(jié)點處理單元的信息中,有的是本次迭代更新過的,有的是上一次迭代得到的,即提前使用了軟信息。這是本發(fā)明提出的解碼器的一個重要特征,通過軟信息的提前使用加快迭代的收斂速度,從而提高解碼器的性能。
本專利給出的解碼器在校驗節(jié)點處理時采用的是作乘法修正的最小和算法,值得注意的是,當校驗節(jié)點采用和積算法、偏移的最小和算法等處理時,也可以采用這種結(jié)構(gòu)。同時,這里給出的解碼器還可以和系統(tǒng)前端的信道估計器、均衡器、軟解調(diào)器等聯(lián)合使用,各個模塊相互傳遞信息,通過迭代提高整個系統(tǒng)的性能。
權(quán)利要求
1.一種雙渦輪結(jié)構(gòu)的低密度奇偶校驗碼解碼器,其特征在于該解碼器包括校驗節(jié)點處理單元陣列(1)包括多個校驗節(jié)點處理單元,用于計算相應(yīng)的校驗節(jié)點到其鄰近的變量節(jié)點的輸出信息;變量節(jié)點處理單元陣列(2)包括多個變量節(jié)點處理單元,用于計算相應(yīng)的變量節(jié)點到其鄰近的校驗節(jié)點的輸出信息,同時完成和變量節(jié)點對應(yīng)碼字比特后驗概率的計算,給出相應(yīng)比特取值的估計;校驗節(jié)點輸出信息存儲器(3)用于存儲校驗節(jié)點輸出給與之相連的變量節(jié)點的信息;變量節(jié)點輸出信息存儲器(4)用于存儲變量節(jié)點輸出給與之相連的校驗節(jié)點的信息;初始信息存儲器(5)用于存儲當前幀和下一幀輸入解碼器的初始信息;收斂測試單元(6)用于檢驗一個給定的序列是否為一個碼字;迭代控制單元(7)用于迭代過程的控制,包括存儲器的訪問、各個模塊工作調(diào)度和迭代的提前終止;其中,根據(jù)碼字校驗矩陣的結(jié)構(gòu),按行分塊,每塊對應(yīng)校驗節(jié)點處理單元陣列(1)中的一個單元,校驗節(jié)點處理單元陣列(1)中變量節(jié)點信息輸入端(a)與變量節(jié)點輸出信息存儲器(4)相連,輸出給變量節(jié)點的信息由端口(d)與校驗節(jié)點輸出信息存儲器(3)相連接;根據(jù)碼字校驗矩陣的結(jié)構(gòu),按列分塊,每塊對應(yīng)變量節(jié)點處理單元陣列(2)中的一個單元,變量節(jié)點處理單元陣列(2)的校驗節(jié)點信息輸入端(c)和初始似然比信息輸入端(d)分別與校驗節(jié)點輸出信息存儲器(3)和初始信息存儲器(5)相連,輸出給校驗節(jié)點的信息由端口(e)和變量節(jié)點輸出信息存儲器(4)相連,同時通過端口(f)與收斂測試單元(6)相連,輸出迭代過程中得到的碼字序列的估計;迭代控制單元(7)分別接校驗節(jié)點處理單元陣列(1)、變量節(jié)點處理單元陣列(2)、收斂測試單元(6)。
2.一種如權(quán)利要求1所述的雙渦輪結(jié)構(gòu)的低密度奇偶校驗碼解碼器的解碼方法,其特征在于根據(jù)碼字校驗矩陣的結(jié)構(gòu),將校驗節(jié)點和變量節(jié)點分塊,每個塊對應(yīng)一個處理單元;在迭代譯碼過程中,校驗節(jié)點處理單元陣列(1)和變量節(jié)點處理單元陣列(2)同時工作,它們分別從變量節(jié)點輸出信息存儲器(4)、校驗節(jié)點輸出信息存儲器(3)中讀取信息,按照信息傳播規(guī)則計算輸出的信息,并寫入各自相應(yīng)的輸出信息存儲器,完成信息的更新;在校驗節(jié)點處理單元陣列(1)和校驗節(jié)點處理單元陣列(2)工作的同時,收斂測試單元(6)對迭代中得到的序列進行檢驗,如果是一個碼字,則提前終止迭代,否則進行下一次迭代,直至達到最大迭代次數(shù)。
3.根據(jù)權(quán)利要求2所述的雙渦輪結(jié)構(gòu)低密度奇偶校驗碼解碼方法,其特征在于解碼方法具體如下設(shè)低密度奇偶校驗碼的校驗矩陣H是一個M行N列的矩陣,由J×L塊Z×Z的子矩陣Hjl構(gòu)成,J=M/Z,L=N/Z;解碼器使用J個校驗節(jié)點處理單元和L個變量節(jié)點處理單元進行并行解碼,分別用Rmnk,z、Qnmk,z(0≤z<Z)表示在第k次迭代的第z個節(jié)拍校驗節(jié)點cm輸出給變量節(jié)點vn的信息、變量節(jié)點vn輸出給校驗節(jié)點cm的信息,用Qnk表示變量節(jié)點vn的后驗概率信息,用yn表示輸入解碼器的和變量節(jié)點vn對應(yīng)的碼字比特初始似然比信息,并用dn表示根據(jù)Qnk硬判決得到的碼字序列當前比特的估計;其中,Rmnk,z、Qnmk,z分別存儲在校驗節(jié)點輸出信息存儲器和變量節(jié)點輸出信息存儲器中;在譯碼過程中,每次迭代各校驗節(jié)點處理單元和變量節(jié)點處理單元對應(yīng)的塊的起始位置向量分別為S=[s0,s1,…,sJ-2,sJ-1]、T=[t0,t2,…,tL-2,tL-1],解碼器按照如下步驟工作1.)初始化;迭代次數(shù)k初始化k=0;校驗節(jié)點輸出信息存儲器初始化對所有的m,n∈B(m), 變量節(jié)點輸出信息存儲器初始化對所有的n,m∈A(n), 其中yn為輸入解碼器的初始似然比信息;2.)迭代譯碼;迭代次數(shù)加1k=k+1;對當前迭代的第z(0≤z≤Z-1)個節(jié)拍,作如下處理①J個校驗節(jié)點處理單元同時從變量節(jié)點輸出信息存儲器中讀取信息來計算輸出到相應(yīng)變量節(jié)點的信息,具體來說對第j(0≤j≤J-1)個校驗節(jié)點處理單元,當前節(jié)拍處理第m=j(luò)·Z+(sj+z)modZ個校驗節(jié)點,對所有n∈B(m),按照修正的最小和算法,Rmnk,z=β·Πn′∈B(m)\nsgn(Qn′mk,z-1)·minn′∈B(m)\n|Qn′mk,z-1|]]>其中β為修正因子,Qn′mk,-1=Qn′mk-1,z-1;]]>②L個變量節(jié)點處理單元同時從校驗節(jié)點輸出信息存儲器中讀取信息,結(jié)合輸入解碼器的初始似然比信息,計算輸出到相應(yīng)校驗節(jié)點的信息,具體來說對第l(0≤l≤L-1)個變量節(jié)點處理單元,當前節(jié)拍處理第n=l·Z+(tl+z)modZ個變量節(jié)點,先計算該節(jié)點的后驗信息Qnk=yn+Σm∈A{n}Rmnk,z-1]]>對Qnk硬判決得到dn;再對所有m∈A{n},Qnmk,z=Qnk-Rmnk,z-1]]>其中Rmnk,-1=Rmnk-1,z-1;]]>以上過程①和②是同時進行的;3.)收斂測試模塊對本次迭代得到的序列dn進行校驗,如果滿足所有的校驗式,則譯碼結(jié)束,將序列dn作為最終碼字輸出;否則轉(zhuǎn)到步驟2)繼續(xù)迭代,直到達到最大迭代次數(shù)或者某次迭代的結(jié)果滿足所有校驗式為止。
4.根據(jù)權(quán)利要求2或3所述的雙渦輪結(jié)構(gòu)低密度奇偶校驗碼解碼方法,其特征在于在迭代譯碼中,各校驗節(jié)點處理單元從變量節(jié)點輸出信息存儲器或各變量節(jié)點處理單元從校驗節(jié)點輸出信息存儲器讀取的信息中有的是本次迭代更新過的,有的是上一次迭代得到的,即本次迭代得到的信息被提前使用;信息提前使用的情況與迭代過程中各個處理單元對應(yīng)塊的起始位置有關(guān),需要對起始位置進行優(yōu)化;具體來說,把各個塊的起始位置作為待優(yōu)化的變量,以一次迭代中使用本次迭代得到信息的數(shù)量為目標函數(shù),采用差分演化的方法就可以得到一個最優(yōu)的起始位置向量。
全文摘要
雙渦輪結(jié)構(gòu)低密度奇偶校驗碼解碼器,主要包括校驗節(jié)點處理單元陣列、變量節(jié)點處理單元陣列、校驗節(jié)點輸出信息存儲器、變量節(jié)點輸出信息存儲器、初始信息存儲器、收斂測試單元、迭代控制單元等部分。解碼器根據(jù)碼字的校驗矩陣將變量節(jié)點和校驗節(jié)點分塊,各變量節(jié)點處理單元和校驗節(jié)點處理單元同時工作,相互之間通過存儲器交互信息,進行迭代譯碼。同時,對各變量節(jié)點塊和校驗節(jié)點塊處理的起始位置進行優(yōu)化,加大迭代譯碼過程中軟信息提前使用的比重,進一步提高解碼器的性能。這種同步并行迭代的解碼器和其它一些硬件資源接近的低密度奇偶校驗碼解碼器相比,收斂速度快,性能更為優(yōu)越,其工作魯棒性適用于各種準循環(huán)結(jié)構(gòu)的低密度奇偶校驗碼。
文檔編號H04L1/00GK1937413SQ20061009653
公開日2007年3月28日 申請日期2006年9月30日 優(yōu)先權(quán)日2006年9月30日
發(fā)明者趙春明, 許恩楊, 姜明, 黃鶴 申請人:東南大學