欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

雙渦輪結(jié)構(gòu)低密度奇偶校驗(yàn)碼解碼器的制作方法

文檔序號:7963997閱讀:260來源:國知局
專利名稱:雙渦輪結(jié)構(gòu)低密度奇偶校驗(yàn)碼解碼器的制作方法
技術(shù)領(lǐng)域
本發(fā)明給出了一種雙渦輪結(jié)構(gòu)的低密度奇偶校驗(yàn)碼解碼器,屬于信道糾錯(cuò)編碼的解碼技術(shù)領(lǐng)域。
背景技術(shù)
低密度奇偶校驗(yàn)碼(Low Density Parity Check Codes,LDPC)是一種基于稀疏校驗(yàn)矩陣的線性分組碼,它有著接近于香農(nóng)限(Shannon Limit)的性能和低的錯(cuò)誤平板效應(yīng)(Error Floor),近年來得到了廣泛的應(yīng)用。LDPC碼一般用和其校驗(yàn)矩陣相應(yīng)的二分圖進(jìn)行描述,二分圖中包含校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn),分別和校驗(yàn)矩陣的行和列對應(yīng)。
由于LDPC碼的校驗(yàn)矩陣進(jìn)行高斯消去得到的矩陣不再稀疏,這使得LDPC碼的編碼復(fù)雜度比較高,硬件實(shí)現(xiàn)起來較為困難。在實(shí)際系統(tǒng)中,為了便于編碼,通常采用一類具有準(zhǔn)循環(huán)結(jié)構(gòu)的LDPC碼,其編碼可以通過簡單的移位寄存器實(shí)現(xiàn),復(fù)雜度較低。本發(fā)明中的解碼器就是針對這種結(jié)構(gòu)的LDPC碼進(jìn)行設(shè)計(jì)的,適用于規(guī)則的和非規(guī)則的準(zhǔn)循環(huán)LDPC碼。
LDPC碼的解碼一般采用基于二分圖的軟判決迭代譯碼算法,如和積算法、最小和算法以及最小和算法的各類修正等等。在迭代過程中,與校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)相關(guān)的信息交替被更新,相互之間通過二分圖中的邊進(jìn)行傳遞。這類算法易于并行實(shí)現(xiàn),但是由于硬件資源的限制,全并行方案不太可行,一般采用部分并行的方法實(shí)現(xiàn)。LDPC碼解碼器的性能一方面取決于所采用的解碼算法,另一方面和迭代的次數(shù)有關(guān)。對某一種解碼算法,迭代次數(shù)越多,性能越好,但是迭代次數(shù)增加使得譯碼時(shí)延增加,解碼速率將低,即解碼器的速率和性能之間存在著矛盾。現(xiàn)代通信系統(tǒng)對傳輸速率和傳輸質(zhì)量的要求越來越高,這就需要同時(shí)提高解碼器的速率和性能。其中,在有限的迭代次數(shù)下充分和有效地利用現(xiàn)有的硬件資源來加快迭代的收斂速度和提高性能是一種合理的方法,本發(fā)明所提出的雙渦輪結(jié)構(gòu)解碼器就具有這一特點(diǎn)。

發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種雙渦輪結(jié)構(gòu)低密度奇偶校驗(yàn)碼解碼器,提高低密度奇偶校驗(yàn)碼解碼速率和性能,通過對硬件資源的充分和有效的使用,加快迭代的收斂速度,以獲得更好的性能。該方法適合于各類準(zhǔn)循環(huán)結(jié)構(gòu)的LDPC碼(規(guī)則的和非規(guī)則的),且工作的魯棒性高。
技術(shù)方案本發(fā)明的雙Turbo結(jié)構(gòu)的低密度奇偶校驗(yàn)碼解碼器,根據(jù)碼字校驗(yàn)矩陣將變量節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)分塊,解碼器各個(gè)變量節(jié)點(diǎn)處理單元和校驗(yàn)節(jié)點(diǎn)處理單元同時(shí)工作,相互之間通過存儲器交互信息,進(jìn)行迭代譯碼。同時(shí),為了進(jìn)一步加快迭代譯碼的收斂速度,對各變量節(jié)點(diǎn)塊和校驗(yàn)節(jié)點(diǎn)塊處理的起始位置進(jìn)行優(yōu)化,提高解碼器的性能。
該解碼器包括校驗(yàn)節(jié)點(diǎn)處理單元陣列包括多個(gè)校驗(yàn)節(jié)點(diǎn)處理單元,用于計(jì)算相應(yīng)的校驗(yàn)節(jié)點(diǎn)到其鄰近的變量節(jié)點(diǎn)的輸出信息;變量節(jié)點(diǎn)處理單元陣列包括多個(gè)變量節(jié)點(diǎn)處理單元,用于計(jì)算相應(yīng)的變量節(jié)點(diǎn)到其鄰近的校驗(yàn)節(jié)點(diǎn)的輸出信息,同時(shí)完成和變量節(jié)點(diǎn)對應(yīng)碼字比特后驗(yàn)概率的計(jì)算,給出相應(yīng)比特取值的估計(jì);校驗(yàn)節(jié)點(diǎn)輸出信息存儲器用于存儲校驗(yàn)節(jié)點(diǎn)輸出給與之相連的變量節(jié)點(diǎn)的信息;變量節(jié)點(diǎn)輸出信息存儲器用于存儲變量節(jié)點(diǎn)輸出給與之相連的校驗(yàn)節(jié)點(diǎn)的信息;初始信息存儲器用于存儲當(dāng)前幀和下一幀輸入解碼器的初始信息;收斂測試單元用于檢驗(yàn)一個(gè)給定的序列是否為一個(gè)碼字;迭代控制單元用于迭代過程的控制,包括存儲器的訪問、各個(gè)模塊工作調(diào)度和迭代的提前終止;其中,根據(jù)碼字校驗(yàn)矩陣的結(jié)構(gòu),按行分塊,每塊對應(yīng)校驗(yàn)節(jié)點(diǎn)處理單元陣列中的一個(gè)單元,校驗(yàn)節(jié)點(diǎn)處理單元陣列的變量節(jié)點(diǎn)信息輸入端與變量節(jié)點(diǎn)輸出信息存儲器相連,處理完成后將信息輸出到校驗(yàn)節(jié)點(diǎn)輸出信息存儲器中;根據(jù)碼字校驗(yàn)矩陣的結(jié)構(gòu),按列分塊,每塊對應(yīng)變量節(jié)點(diǎn)處理單元陣列中的一個(gè)單元,變量節(jié)點(diǎn)處理單元陣列的校驗(yàn)節(jié)點(diǎn)信息輸入端和初始似然比信息輸入端分別與校驗(yàn)節(jié)點(diǎn)輸出信息存儲器和初始信息存儲器相連,處理完成后將信息輸出到變量節(jié)點(diǎn)輸出信息存儲器中,同時(shí)把迭代過程中得到的碼字序列估計(jì)輸出給收斂測試單元;迭代控制單元分別與校驗(yàn)節(jié)點(diǎn)處理單元陣列、變量節(jié)點(diǎn)處理單元陣列、收斂測試單元相接,控制整個(gè)迭代譯碼過程。
本發(fā)明的雙渦輪結(jié)構(gòu)的低密度奇偶校驗(yàn)碼解碼器的解碼方法為根據(jù)碼字校驗(yàn)矩陣的結(jié)構(gòu),將校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)分塊,每個(gè)塊對應(yīng)一個(gè)處理單元;在迭代譯碼過程中,校驗(yàn)節(jié)點(diǎn)處理單元陣列和變量節(jié)點(diǎn)處理單元陣列同時(shí)工作,它們分別從變量節(jié)點(diǎn)輸出信息存儲器、校驗(yàn)節(jié)點(diǎn)輸出信息存儲器中讀取信息,按照信息傳播規(guī)則計(jì)算輸出的信息,并寫入各自相應(yīng)的輸出信息存儲器,完成信息的更新;在校驗(yàn)節(jié)點(diǎn)處理單元陣列和校驗(yàn)節(jié)點(diǎn)處理單元陣列工作的同時(shí),收斂測試單元對迭代中得到的序列進(jìn)行檢驗(yàn),如果是一個(gè)碼字,則提前終止迭代,否則進(jìn)行下一次迭代,直至達(dá)到最大迭代次數(shù)。
具體的解碼方法如下設(shè)低密度奇偶校驗(yàn)碼的校驗(yàn)矩陣H是一個(gè)M行N列的矩陣,由J×L塊Z×Z的子矩陣Hjl構(gòu)成,J=M/Z,L=N/Z;解碼器使用J個(gè)校驗(yàn)節(jié)點(diǎn)處理單元和L個(gè)變量節(jié)點(diǎn)處理單元進(jìn)行并行解碼,分別用Rmnk,z、Qnmk,z(0≤z<Z)表示在第k次迭代的第z個(gè)節(jié)拍校驗(yàn)節(jié)點(diǎn)cm輸出給變量節(jié)點(diǎn)vn的信息、變量節(jié)點(diǎn)vn輸出給校驗(yàn)節(jié)點(diǎn)cm的信息,用Qnk表示變量節(jié)點(diǎn)vn的后驗(yàn)概率信息,用yn表示輸入解碼器的和變量節(jié)點(diǎn)vn對應(yīng)的碼字比特的初始似然比信息,并用dn表示根據(jù)Qnk硬判決得到的碼字序列當(dāng)前比特的估計(jì);其中,Rmnk,z、Qnmk,z分別存儲在校驗(yàn)節(jié)點(diǎn)輸出信息存儲器和變量節(jié)點(diǎn)輸出信息存儲器中;在譯碼過程中,每次迭代各校驗(yàn)節(jié)點(diǎn)處理單元和變量節(jié)點(diǎn)處理單元對應(yīng)的塊的起始位置向量分別為S=[S0,S1,…,SJ-2,SJ-1]、T=[t0,t2,…,tL-2,tL-1],解碼器按照如下步驟工作1.)初始化;迭代次數(shù)k初始化k=0;校驗(yàn)節(jié)點(diǎn)輸出信息存儲器初始化對所有的m,n∈B(m),Rmn0,Z-1=0;]]>變量節(jié)點(diǎn)輸出信息存儲器初始化對所有的n,m∈A(n),Qnm0,Z-1=yn,]]>其中yn為輸入解碼器的初始似然比信息;
2.)迭代譯碼;迭代次數(shù)加1k=k+1;對當(dāng)前迭代的第z(0≤z≤Z-1)個(gè)節(jié)拍,作如下處理①J個(gè)校驗(yàn)節(jié)點(diǎn)處理單元同時(shí)從變量節(jié)點(diǎn)輸出信息存儲器中讀取信息來計(jì)算輸出到相應(yīng)變量節(jié)點(diǎn)的信息,具體來說對第j(0≤j≤J-1)個(gè)校驗(yàn)節(jié)點(diǎn)處理單元,當(dāng)前節(jié)拍處理第m=j(luò)·Z+(sj+z)modZ個(gè)校驗(yàn)節(jié)點(diǎn),對所有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個(gè)變量節(jié)點(diǎn)處理單元同時(shí)從校驗(yàn)節(jié)點(diǎn)輸出信息存儲器中讀取信息,結(jié)合輸入解碼器的初始似然比信息,計(jì)算輸出到相應(yīng)校驗(yàn)節(jié)點(diǎn)的信息,具體來說對第l(0≤l≤L-1)個(gè)變量節(jié)點(diǎn)處理單元,當(dāng)前節(jié)拍處理第n=l·Z+(t1+z)modZ個(gè)變量節(jié)點(diǎn),先計(jì)算該節(jié)點(diǎn)的后驗(yàn)信息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;]]>以上過程①和②是同時(shí)進(jìn)行的;3.)收斂測試模塊對本次迭代得到的序列dn進(jìn)行校驗(yàn),如果滿足所有的校驗(yàn)式,則譯碼結(jié)束,將序列dn作為最終碼字輸出;否則轉(zhuǎn)到步驟2)繼續(xù)迭代,直到達(dá)到最大迭代次數(shù)或者某次迭代的結(jié)果滿足所有校驗(yàn)式為止。
在迭代譯碼中,各校驗(yàn)節(jié)點(diǎn)處理單元從變量節(jié)點(diǎn)輸出信息存儲器或各變量節(jié)點(diǎn)處理單元從校驗(yàn)節(jié)點(diǎn)輸出信息存儲器讀取的信息中有的是本次迭代更新過的,有的是上一次迭代得到的,即本次迭代得到的信息被提前使用;信息提前使用的情況與迭代過程中各個(gè)處理單元對應(yīng)塊的起始位置有關(guān),需要對起始位置進(jìn)行優(yōu)化;具體來說,把各個(gè)塊的起始位置作為待優(yōu)化的變量,以一次迭代中使用本次迭代得到信息的數(shù)量為目標(biāo)函數(shù),采用差分演化的方法就可以得到一個(gè)最優(yōu)的起始位置向量。
有益效果本發(fā)明的有益效果主要體現(xiàn)在以下幾個(gè)方面(1).在解碼器中校驗(yàn)節(jié)點(diǎn)處理單元和變量節(jié)點(diǎn)處理單元同時(shí)工作,兩者均使用提前更新的軟信息,加快了迭代過程中信息的更新速度。
(2).通過對各個(gè)校驗(yàn)節(jié)點(diǎn)處理單元和變量節(jié)點(diǎn)處理單元起始位置的優(yōu)化,加大軟信息提前使用的比重,性能得到進(jìn)一步提高。
(3).和其他硬件資源接近的解碼器相比,本解碼器收斂速度更快,性能更好。


圖1是一個(gè)LDPC碼二分圖連接示意圖。
圖2是準(zhǔn)循環(huán)LDPC碼的校驗(yàn)矩陣示意圖,其中J=4,L=24。
圖3是解碼器的總體結(jié)構(gòu)框圖。
圖4是解碼器校驗(yàn)節(jié)點(diǎn)處理單元示意圖。
圖5是解碼器變量節(jié)點(diǎn)處理單元示意圖。
圖6是解碼器工作的總體流程圖。
圖7是解碼器pipeline工作示意圖。
圖8給出了WiMAX系統(tǒng)中5/6碼率960長度碼字性能的仿真曲線。
以上的圖中有校驗(yàn)節(jié)點(diǎn)處理單元陣列1、變量節(jié)點(diǎn)處理單元陣列2、校驗(yàn)節(jié)點(diǎn)輸出信息存儲器3、變量節(jié)點(diǎn)輸出信息存儲器4、初始信息存儲器5、收斂測試單元6、迭代控制單元7;具體實(shí)施方式
設(shè)LDPC碼的校驗(yàn)矩陣H是一個(gè)M×N的矩陣,由J×L塊Z×Z的子矩陣Hjl構(gòu)成,J=M/Z,L=N/Z。每個(gè)子矩陣是一個(gè)單位陣,或者單位陣的循環(huán)移位陣Ip(單位陣各行向右循環(huán)移動p位),或者全0陣O。校驗(yàn)矩陣H對應(yīng)的二分圖變量節(jié)點(diǎn)核校驗(yàn)節(jié)點(diǎn)的集合分別為V={vn,1 ≤n≤N}、C={cm,1≤m≤M}。定義B(m)={n∶Hmn=1}為校驗(yàn)節(jié)點(diǎn)cm對應(yīng)的變量節(jié)點(diǎn)集合,A(n)={m∶Hmn=1}為變量節(jié)點(diǎn)vn對應(yīng)的校驗(yàn)節(jié)點(diǎn)集合,用B(m)\n表示和校驗(yàn)節(jié)點(diǎn)cm相連的除vn以外的變量節(jié)點(diǎn)集合,用A(n)\m表示和變量節(jié)點(diǎn)vn相連的除
cm以外的校驗(yàn)節(jié)點(diǎn)集合。
整個(gè)解碼器主要包括以下幾個(gè)部分校驗(yàn)節(jié)點(diǎn)處理單元陣列用于計(jì)算相應(yīng)的校驗(yàn)節(jié)點(diǎn)到其鄰近的變量節(jié)點(diǎn)的輸出信息。
變量節(jié)點(diǎn)處理單元陣列用于計(jì)算相應(yīng)的變量節(jié)點(diǎn)到其鄰近的校驗(yàn)節(jié)點(diǎn)的輸出信息,同時(shí)完成和變量節(jié)點(diǎn)對應(yīng)碼字比特后驗(yàn)概率的計(jì)算,給出相應(yīng)比特取值的估計(jì)。
校驗(yàn)節(jié)點(diǎn)輸出信息存儲器用于存儲校驗(yàn)節(jié)點(diǎn)輸出給與之相連的變量節(jié)點(diǎn)的信息。
變量節(jié)點(diǎn)輸出信息存儲器用于存儲變量節(jié)點(diǎn)輸出給與之相連的校驗(yàn)節(jié)點(diǎn)的信息。
初始信息存儲器用于存儲當(dāng)前幀和下一幀輸入解碼器的初始信息。
收斂測試單元用于檢驗(yàn)一個(gè)給定的序列是否為一個(gè)碼字。
迭代控制單元用于迭代過程的控制,包括存儲器的訪問、各個(gè)模塊工作調(diào)度和迭代的提前終止。
整個(gè)解碼器使用J個(gè)校驗(yàn)節(jié)點(diǎn)處理單元和L個(gè)變量節(jié)點(diǎn)處理單元進(jìn)行并行解碼,分別用Rmnk,z、Qnmk,z(0≤z<Z)表示在第k次迭代的第z個(gè)節(jié)拍校驗(yàn)節(jié)點(diǎn)cm輸出給變量節(jié)點(diǎn)vn的信息、變量節(jié)點(diǎn)vn輸出給校驗(yàn)節(jié)點(diǎn)cm的信息,用Qnk表示變量節(jié)點(diǎn)vn的后驗(yàn)概率信息,用yn表示輸入解碼器的和變量節(jié)點(diǎn)vn對應(yīng)的碼字比特的初始似然比信息,并用dn表示根據(jù)Qnk硬判決得到的碼字序列當(dāng)前比特的估計(jì)。其中,Rmnk,z、Qnmk,z分別存儲在校驗(yàn)節(jié)點(diǎn)輸出信息存儲器和變量節(jié)點(diǎn)輸出信息存儲器中。在譯碼過程中,每次迭代各校驗(yàn)節(jié)點(diǎn)處理單元和變量節(jié)點(diǎn)處理單元相應(yīng)的塊的起始位置向量分別為S=[S0,S1,…,SJ-2,SJ-1]、T=[t0,t2,…,tL-2,tL-1]。
下面具體描述解碼器工作的步驟(1)初始化迭代次數(shù)初始化k=0;校驗(yàn)節(jié)點(diǎn)輸出信息存儲器初始化對所有的m,n∈B(m),Rmn0,Z-1=0;]]>變量節(jié)點(diǎn)輸出信息存儲器初始化對所有的n,m∈A(n),Qnm0,z-1=yn,]]>其中yn為輸入解碼器的初始似然比信息。
(2)迭代譯碼迭代次數(shù)加1k=k+1;對當(dāng)前迭代的第z(0≤z≤Z-1)個(gè)節(jié)拍,作如下處理①J個(gè)校驗(yàn)節(jié)點(diǎn)處理單元同時(shí)從變量節(jié)點(diǎn)輸出信息存儲器中讀取信息來計(jì)算輸出到相應(yīng)變量節(jié)點(diǎn)的信息,具體來說對第j(0≤j≤J-1)個(gè)校驗(yàn)節(jié)點(diǎn)處理單元,當(dāng)前節(jié)拍處理第m=j(luò)·Z+(sj+z)modZ個(gè)校驗(yàn)節(jié)點(diǎn),對所有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個(gè)變量節(jié)點(diǎn)處理單元同時(shí)從校驗(yàn)節(jié)點(diǎn)輸出信息存儲器中讀取信息,結(jié)合輸入解碼器的初始似然比信息,計(jì)算輸出到相應(yīng)校驗(yàn)節(jié)點(diǎn)的信息,具體來說對第l(0≤l≤L-1)個(gè)變量節(jié)點(diǎn)處理單元,當(dāng)前節(jié)拍處理第n=l·Z+(t1+z)modZ個(gè)變量節(jié)點(diǎn),先計(jì)算該節(jié)點(diǎn)的后驗(yàn)信息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·]]>以上過程①和②是同時(shí)進(jìn)行的。
(3)收斂測試模塊對本次迭代得到的序列dn進(jìn)行校驗(yàn),如果滿足所有的校驗(yàn)式,則譯碼結(jié)束,將序列dn作為最終碼字輸出;否則轉(zhuǎn)到(2)繼續(xù)迭代,直到達(dá)到最大迭代次數(shù)或者某次迭代的結(jié)果滿足所有的校驗(yàn)式為止。
下面以IEEE 802.16e為標(biāo)準(zhǔn)的WiMAX系統(tǒng)中采用的LDPC碼為例,結(jié)合

本發(fā)明提出的解碼器的具體工作方式。
WiMAX系統(tǒng)采用的LDPC碼是一種非規(guī)則的準(zhǔn)循環(huán)碼,其校驗(yàn)矩陣每行有L=24個(gè)子塊,每列的子塊數(shù)J隨碼率的不同而不同。系統(tǒng)有1/2、2/3、3/4、5/6四種碼率,相應(yīng)的各列子塊數(shù)分別為12、8、6、4。在各種碼率下,碼字的長度N隨各個(gè)子塊大小Z的變化而變化,從576到2304共19種。圖2給出了5/6碼率碼字校驗(yàn)矩陣的示意圖,以下就以5/6碼率的碼字進(jìn)行說明。
圖3給出了整個(gè)解碼器的結(jié)構(gòu)示意圖,包括校驗(yàn)節(jié)點(diǎn)處理單元、變量節(jié)點(diǎn)處理單元、校驗(yàn)節(jié)點(diǎn)輸出信息存儲器、變量節(jié)點(diǎn)輸出信息存儲器、初始信息存儲器、收斂測試模塊、迭代控制單元等等。接下來具體介紹各個(gè)部分的結(jié)構(gòu)和功能。
圖4給出了校驗(yàn)節(jié)點(diǎn)處理單元的示意圖。在圖4(a)中,校驗(yàn)節(jié)點(diǎn)處理單元從變量節(jié)點(diǎn)輸出信息存儲器中讀取與之相連的變量節(jié)點(diǎn)傳遞過來的信息,進(jìn)行相應(yīng)處理后寫入到校驗(yàn)節(jié)點(diǎn)輸出信息存儲器中。這里采用的是修正的最小和算法,通過分段分層比較的方法得到最小值和次小值,再乘上修正因子之后寫入到校驗(yàn)節(jié)點(diǎn)輸出信息存儲器。修正因子β可以通過仿真的方法得到,也可以通過密度演變的方法獲得。對5/6碼率的碼字,仿真后發(fā)現(xiàn)β取0.8左右性能較好,為了便于硬件實(shí)現(xiàn),β取0.8125,通過移位的方法即可實(shí)現(xiàn)。圖4(b)給出了從輸入校驗(yàn)節(jié)點(diǎn)處理單元的信息中尋找最小值和次小值的電路圖。這里每個(gè)校驗(yàn)節(jié)點(diǎn)的度數(shù)均為20,采用分層分組比較的方法得到最小值和次小值,第一層分為5組,每組從4個(gè)數(shù)值中得到最小值和次小值;第二層將第一層比較得到的5個(gè)最小值和5個(gè)次小值分組比較,5個(gè)最小值比較得到20個(gè)數(shù)中的最小值;第三層再把上一層5個(gè)最小值比較得到的次小值和上一層5個(gè)次小值比較得到的比較,得到的最小值作為20個(gè)數(shù)中的次小值輸出。圖4(c)是從4個(gè)數(shù)中得到最小值和次小值的比較和譯碼電路,5個(gè)數(shù)的情況與此相似。在圖4(c)中,共使用6個(gè)減法器對4個(gè)數(shù)進(jìn)行兩兩比較,比較得到的結(jié)果通過譯碼電路得到最小值和次小值;圖中還給出了譯碼電路的內(nèi)部邏輯,其中沒有標(biāo)0或1的地方表示任意值。
圖7給出了變量節(jié)點(diǎn)處理單元的示意圖。變量節(jié)點(diǎn)處理單元從校驗(yàn)節(jié)點(diǎn)輸出信息存儲器中和初始信息存儲器中讀出相關(guān)信息,先求和再分別減掉與之相關(guān)的信息后輸出,同時(shí)根據(jù)所求的和的符號得到碼字當(dāng)前比特的估計(jì)。由于在存儲器中數(shù)據(jù)是按照原碼的形式表示的,不利于加減運(yùn)算,所以先將其轉(zhuǎn)成補(bǔ)碼形式進(jìn)行運(yùn)算,最后再轉(zhuǎn)成原碼形式送回存儲器。圖中的變量節(jié)點(diǎn)度數(shù)為3,其它度數(shù)的節(jié)點(diǎn)處理方法類似。
下面說明解碼器中存儲器的結(jié)構(gòu)。在整個(gè)解碼器中,存儲器分為三類初始信息存儲器、校驗(yàn)節(jié)點(diǎn)輸出信息存儲器、變量節(jié)點(diǎn)輸出信息存儲器。其中,初始信息存儲器用于存儲輸入解碼器的初始似然必信息,為了保持解碼器連續(xù)工作,解碼器中用兩塊Ram以乒乓的方式工作,一塊用于當(dāng)前幀,一塊用于下一幀。校驗(yàn)節(jié)點(diǎn)輸出信息存儲器和變量節(jié)點(diǎn)輸出信息存儲器所存儲的信息和碼字二分圖的邊一一對應(yīng),為了使多個(gè)校驗(yàn)節(jié)點(diǎn)運(yùn)算單元和變量節(jié)點(diǎn)運(yùn)算單元同時(shí)并行工作,需要將存儲器分塊,并采用雙端口Ram,從而可以同時(shí)讀寫多組數(shù)據(jù)。這里存儲器按照校驗(yàn)矩陣中的非全零子塊進(jìn)行分塊,每塊Ram存儲Z個(gè)數(shù)據(jù),并且校驗(yàn)節(jié)點(diǎn)輸出信息存儲器和變量節(jié)點(diǎn)輸出信息存儲器以乒乓的方式工作,在相鄰的迭代之間交替。在迭代譯碼過程中,校驗(yàn)節(jié)點(diǎn)處理單元從變量節(jié)點(diǎn)輸出信息存儲器中讀取信息,處理完成后寫回原先讀取的地址,供下面的迭代使用;變量節(jié)點(diǎn)處理單元的處理方式類似,從校驗(yàn)節(jié)點(diǎn)輸出信息存儲器中讀取信息,處理完成后寫回原先讀取的地址,供下面的迭代使用。
收斂測試單元檢驗(yàn)?zāi)炒蔚a(chǎn)生的序列dn是否滿足所有的校驗(yàn)式,并把測試的結(jié)果反饋給迭代控制單元。收斂測試模塊比較容易實(shí)現(xiàn),采用J個(gè)多輸入的異或門并行測試,每次對應(yīng)校驗(yàn)矩陣的J行,J個(gè)多輸入的異或門的輸出接入一個(gè)J輸入的或非門,用于判斷是否滿足校驗(yàn)矩陣中對應(yīng)的J行,這樣Z個(gè)節(jié)拍可以完成。如果某個(gè)節(jié)拍或非門輸出為0,則說明dn不滿足校驗(yàn)矩陣;如果Z個(gè)節(jié)拍中或非門的輸出都是1,說明dn滿足校驗(yàn)矩陣的所有行,是一個(gè)碼字。
圖6給出了解碼器工作的流程圖,通過迭代控制單元實(shí)現(xiàn)。在迭代控制單元的控制下,校驗(yàn)節(jié)點(diǎn)處理單元和變量節(jié)點(diǎn)處理單元分別從相應(yīng)的存儲器中讀取數(shù)據(jù),處理完成后再寫回存儲器,完成迭代譯碼。與此同時(shí),收斂測試單元對上一次迭代得到的序列dn進(jìn)行檢驗(yàn),決定停止譯碼或繼續(xù)迭代。為了提高解碼速率和器件的使用效率,解碼器的各單元采用pipeline的工作方式,具體如圖7所示。
由于在解碼器中校驗(yàn)節(jié)點(diǎn)處理單元和變量節(jié)點(diǎn)處理單元是同時(shí)工作的,在同一次迭代中,輸入某個(gè)節(jié)點(diǎn)處理單元的信息中,有的是本次迭代更新過的,有的是上一次迭代得到的,即提前使用了軟信息。這是本發(fā)明提出的解碼器的一個(gè)重要特征,通過軟信息的提前使用加快迭代的收斂速度,從而提高解碼器的性能。
本專利給出的解碼器在校驗(yàn)節(jié)點(diǎn)處理時(shí)采用的是作乘法修正的最小和算法,值得注意的是,當(dāng)校驗(yàn)節(jié)點(diǎn)采用和積算法、偏移的最小和算法等處理時(shí),也可以采用這種結(jié)構(gòu)。同時(shí),這里給出的解碼器還可以和系統(tǒng)前端的信道估計(jì)器、均衡器、軟解調(diào)器等聯(lián)合使用,各個(gè)模塊相互傳遞信息,通過迭代提高整個(gè)系統(tǒng)的性能。
權(quán)利要求
1.一種雙渦輪結(jié)構(gòu)的低密度奇偶校驗(yàn)碼解碼器,其特征在于該解碼器包括校驗(yàn)節(jié)點(diǎn)處理單元陣列(1)包括多個(gè)校驗(yàn)節(jié)點(diǎn)處理單元,用于計(jì)算相應(yīng)的校驗(yàn)節(jié)點(diǎn)到其鄰近的變量節(jié)點(diǎn)的輸出信息;變量節(jié)點(diǎn)處理單元陣列(2)包括多個(gè)變量節(jié)點(diǎn)處理單元,用于計(jì)算相應(yīng)的變量節(jié)點(diǎn)到其鄰近的校驗(yàn)節(jié)點(diǎn)的輸出信息,同時(shí)完成和變量節(jié)點(diǎn)對應(yīng)碼字比特后驗(yàn)概率的計(jì)算,給出相應(yīng)比特取值的估計(jì);校驗(yàn)節(jié)點(diǎn)輸出信息存儲器(3)用于存儲校驗(yàn)節(jié)點(diǎn)輸出給與之相連的變量節(jié)點(diǎn)的信息;變量節(jié)點(diǎn)輸出信息存儲器(4)用于存儲變量節(jié)點(diǎn)輸出給與之相連的校驗(yàn)節(jié)點(diǎn)的信息;初始信息存儲器(5)用于存儲當(dāng)前幀和下一幀輸入解碼器的初始信息;收斂測試單元(6)用于檢驗(yàn)一個(gè)給定的序列是否為一個(gè)碼字;迭代控制單元(7)用于迭代過程的控制,包括存儲器的訪問、各個(gè)模塊工作調(diào)度和迭代的提前終止;其中,根據(jù)碼字校驗(yàn)矩陣的結(jié)構(gòu),按行分塊,每塊對應(yīng)校驗(yàn)節(jié)點(diǎn)處理單元陣列(1)中的一個(gè)單元,校驗(yàn)節(jié)點(diǎn)處理單元陣列(1)中變量節(jié)點(diǎn)信息輸入端(a)與變量節(jié)點(diǎn)輸出信息存儲器(4)相連,輸出給變量節(jié)點(diǎn)的信息由端口(d)與校驗(yàn)節(jié)點(diǎn)輸出信息存儲器(3)相連接;根據(jù)碼字校驗(yàn)矩陣的結(jié)構(gòu),按列分塊,每塊對應(yīng)變量節(jié)點(diǎn)處理單元陣列(2)中的一個(gè)單元,變量節(jié)點(diǎn)處理單元陣列(2)的校驗(yàn)節(jié)點(diǎn)信息輸入端(c)和初始似然比信息輸入端(d)分別與校驗(yàn)節(jié)點(diǎn)輸出信息存儲器(3)和初始信息存儲器(5)相連,輸出給校驗(yàn)節(jié)點(diǎn)的信息由端口(e)和變量節(jié)點(diǎn)輸出信息存儲器(4)相連,同時(shí)通過端口(f)與收斂測試單元(6)相連,輸出迭代過程中得到的碼字序列的估計(jì);迭代控制單元(7)分別接校驗(yàn)節(jié)點(diǎn)處理單元陣列(1)、變量節(jié)點(diǎn)處理單元陣列(2)、收斂測試單元(6)。
2.一種如權(quán)利要求1所述的雙渦輪結(jié)構(gòu)的低密度奇偶校驗(yàn)碼解碼器的解碼方法,其特征在于根據(jù)碼字校驗(yàn)矩陣的結(jié)構(gòu),將校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)分塊,每個(gè)塊對應(yīng)一個(gè)處理單元;在迭代譯碼過程中,校驗(yàn)節(jié)點(diǎn)處理單元陣列(1)和變量節(jié)點(diǎn)處理單元陣列(2)同時(shí)工作,它們分別從變量節(jié)點(diǎn)輸出信息存儲器(4)、校驗(yàn)節(jié)點(diǎn)輸出信息存儲器(3)中讀取信息,按照信息傳播規(guī)則計(jì)算輸出的信息,并寫入各自相應(yīng)的輸出信息存儲器,完成信息的更新;在校驗(yàn)節(jié)點(diǎn)處理單元陣列(1)和校驗(yàn)節(jié)點(diǎn)處理單元陣列(2)工作的同時(shí),收斂測試單元(6)對迭代中得到的序列進(jìn)行檢驗(yàn),如果是一個(gè)碼字,則提前終止迭代,否則進(jìn)行下一次迭代,直至達(dá)到最大迭代次數(shù)。
3.根據(jù)權(quán)利要求2所述的雙渦輪結(jié)構(gòu)低密度奇偶校驗(yàn)碼解碼方法,其特征在于解碼方法具體如下設(shè)低密度奇偶校驗(yàn)碼的校驗(yàn)矩陣H是一個(gè)M行N列的矩陣,由J×L塊Z×Z的子矩陣Hjl構(gòu)成,J=M/Z,L=N/Z;解碼器使用J個(gè)校驗(yàn)節(jié)點(diǎn)處理單元和L個(gè)變量節(jié)點(diǎn)處理單元進(jìn)行并行解碼,分別用Rmnk,z、Qnmk,z(0≤z<Z)表示在第k次迭代的第z個(gè)節(jié)拍校驗(yàn)節(jié)點(diǎn)cm輸出給變量節(jié)點(diǎn)vn的信息、變量節(jié)點(diǎn)vn輸出給校驗(yàn)節(jié)點(diǎn)cm的信息,用Qnk表示變量節(jié)點(diǎn)vn的后驗(yàn)概率信息,用yn表示輸入解碼器的和變量節(jié)點(diǎn)vn對應(yīng)的碼字比特初始似然比信息,并用dn表示根據(jù)Qnk硬判決得到的碼字序列當(dāng)前比特的估計(jì);其中,Rmnk,z、Qnmk,z分別存儲在校驗(yàn)節(jié)點(diǎn)輸出信息存儲器和變量節(jié)點(diǎn)輸出信息存儲器中;在譯碼過程中,每次迭代各校驗(yàn)節(jié)點(diǎn)處理單元和變量節(jié)點(diǎn)處理單元對應(yīng)的塊的起始位置向量分別為S=[s0,s1,…,sJ-2,sJ-1]、T=[t0,t2,…,tL-2,tL-1],解碼器按照如下步驟工作1.)初始化;迭代次數(shù)k初始化k=0;校驗(yàn)節(jié)點(diǎn)輸出信息存儲器初始化對所有的m,n∈B(m), 變量節(jié)點(diǎn)輸出信息存儲器初始化對所有的n,m∈A(n), 其中yn為輸入解碼器的初始似然比信息;2.)迭代譯碼;迭代次數(shù)加1k=k+1;對當(dāng)前迭代的第z(0≤z≤Z-1)個(gè)節(jié)拍,作如下處理①J個(gè)校驗(yàn)節(jié)點(diǎn)處理單元同時(shí)從變量節(jié)點(diǎn)輸出信息存儲器中讀取信息來計(jì)算輸出到相應(yīng)變量節(jié)點(diǎn)的信息,具體來說對第j(0≤j≤J-1)個(gè)校驗(yàn)節(jié)點(diǎn)處理單元,當(dāng)前節(jié)拍處理第m=j(luò)·Z+(sj+z)modZ個(gè)校驗(yàn)節(jié)點(diǎn),對所有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個(gè)變量節(jié)點(diǎn)處理單元同時(shí)從校驗(yàn)節(jié)點(diǎn)輸出信息存儲器中讀取信息,結(jié)合輸入解碼器的初始似然比信息,計(jì)算輸出到相應(yīng)校驗(yàn)節(jié)點(diǎn)的信息,具體來說對第l(0≤l≤L-1)個(gè)變量節(jié)點(diǎn)處理單元,當(dāng)前節(jié)拍處理第n=l·Z+(tl+z)modZ個(gè)變量節(jié)點(diǎn),先計(jì)算該節(jié)點(diǎn)的后驗(yàn)信息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;]]>以上過程①和②是同時(shí)進(jìn)行的;3.)收斂測試模塊對本次迭代得到的序列dn進(jìn)行校驗(yàn),如果滿足所有的校驗(yàn)式,則譯碼結(jié)束,將序列dn作為最終碼字輸出;否則轉(zhuǎn)到步驟2)繼續(xù)迭代,直到達(dá)到最大迭代次數(shù)或者某次迭代的結(jié)果滿足所有校驗(yàn)式為止。
4.根據(jù)權(quán)利要求2或3所述的雙渦輪結(jié)構(gòu)低密度奇偶校驗(yàn)碼解碼方法,其特征在于在迭代譯碼中,各校驗(yàn)節(jié)點(diǎn)處理單元從變量節(jié)點(diǎn)輸出信息存儲器或各變量節(jié)點(diǎn)處理單元從校驗(yàn)節(jié)點(diǎn)輸出信息存儲器讀取的信息中有的是本次迭代更新過的,有的是上一次迭代得到的,即本次迭代得到的信息被提前使用;信息提前使用的情況與迭代過程中各個(gè)處理單元對應(yīng)塊的起始位置有關(guān),需要對起始位置進(jìn)行優(yōu)化;具體來說,把各個(gè)塊的起始位置作為待優(yōu)化的變量,以一次迭代中使用本次迭代得到信息的數(shù)量為目標(biāo)函數(shù),采用差分演化的方法就可以得到一個(gè)最優(yōu)的起始位置向量。
全文摘要
雙渦輪結(jié)構(gòu)低密度奇偶校驗(yàn)碼解碼器,主要包括校驗(yàn)節(jié)點(diǎn)處理單元陣列、變量節(jié)點(diǎn)處理單元陣列、校驗(yàn)節(jié)點(diǎn)輸出信息存儲器、變量節(jié)點(diǎn)輸出信息存儲器、初始信息存儲器、收斂測試單元、迭代控制單元等部分。解碼器根據(jù)碼字的校驗(yàn)矩陣將變量節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)分塊,各變量節(jié)點(diǎn)處理單元和校驗(yàn)節(jié)點(diǎn)處理單元同時(shí)工作,相互之間通過存儲器交互信息,進(jìn)行迭代譯碼。同時(shí),對各變量節(jié)點(diǎn)塊和校驗(yàn)節(jié)點(diǎn)塊處理的起始位置進(jìn)行優(yōu)化,加大迭代譯碼過程中軟信息提前使用的比重,進(jìn)一步提高解碼器的性能。這種同步并行迭代的解碼器和其它一些硬件資源接近的低密度奇偶校驗(yàn)碼解碼器相比,收斂速度快,性能更為優(yōu)越,其工作魯棒性適用于各種準(zhǔn)循環(huán)結(jié)構(gòu)的低密度奇偶校驗(yàn)碼。
文檔編號H04L1/00GK1937413SQ20061009653
公開日2007年3月28日 申請日期2006年9月30日 優(yōu)先權(quán)日2006年9月30日
發(fā)明者趙春明, 許恩楊, 姜明, 黃鶴 申請人:東南大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
资阳市| 蓬安县| 环江| 安龙县| 五华县| 虞城县| 九龙城区| 邹平县| 平邑县| 水富县| 水城县| 铜陵市| 邹城市| 福贡县| 阳谷县| 富民县| 舟山市| 阜新市| 平陆县| 都安| 郑州市| 富源县| 龙江县| 江北区| 潍坊市| 台中市| 喀喇沁旗| 大名县| 年辖:市辖区| 土默特右旗| 茶陵县| 德保县| 九江县| 德江县| 梓潼县| 乌鲁木齐市| 错那县| 新蔡县| 遂溪县| 华宁县| 临桂县|