国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于rmp調(diào)度的部分并行qc-ldpc譯碼方法

      文檔序號:7543194閱讀:476來源:國知局
      基于rmp調(diào)度的部分并行qc-ldpc譯碼方法
      【專利摘要】本發(fā)明涉及一種基于行消息傳遞(RMP)調(diào)度的部分并行QC-LDPC譯碼方法,屬于通信【技術(shù)領(lǐng)域】。本發(fā)明在采用基于RMP調(diào)度的最小和譯碼算法的QC-LDPC譯碼器中實(shí)現(xiàn)部分并行的譯碼結(jié)構(gòu),在每次迭代譯碼的過程中,較最小和譯碼算法減少了近一半的迭代延時;針對QC-LDPC校驗(yàn)矩陣具有的準(zhǔn)循環(huán)特點(diǎn),采用了部分并行處理的譯碼結(jié)構(gòu),將校驗(yàn)矩陣進(jìn)行分區(qū),在分區(qū)內(nèi)進(jìn)行并行迭代譯碼,譯碼延時和每個分區(qū)內(nèi)譯碼并行度呈線性反比關(guān)系,成倍地提高了譯碼器的吞吐量,并且保證了此并行方式與串行的RMP方式具有相同的性能,使LDPC譯碼器適應(yīng)高速數(shù)據(jù)處理的要求。
      【專利說明】基于RMP調(diào)度的部分并行QC-LDPC譯碼方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種基于行消息傳遞(RMP)調(diào)度的部分并行QC-LDPC譯碼方法,屬于通信【技術(shù)領(lǐng)域】。
      【背景技術(shù)】
      [0002]低密度奇偶校驗(yàn)碼(LDPC)是一種接近香農(nóng)限的編碼,其譯碼復(fù)雜度低、結(jié)構(gòu)靈活,被廣泛應(yīng)用于現(xiàn)代通信系統(tǒng),已經(jīng)被多個通信與廣播標(biāo)準(zhǔn)采納。如數(shù)字衛(wèi)星電視(DVB-S2)、無線局域網(wǎng)(WLAN)以及中國數(shù)字電視地面廣播傳輸標(biāo)準(zhǔn)(DTMB)等。隨著無線通信技術(shù)的發(fā)展,無線通信網(wǎng)絡(luò)需具備更高速率的數(shù)據(jù)服務(wù)能力及綜合實(shí)時多媒體業(yè)務(wù),信道編碼的快速譯碼成為迫切需求。
      [0003]LDPC譯碼器多基于標(biāo)準(zhǔn)消息傳遞(SMP)的最小和算法(Min-Sum Algorithm)進(jìn)行設(shè)計實(shí)現(xiàn),該算法是一種對數(shù)似然比(Log-LLR)置信傳播算法近似簡化算法,雖然在譯碼性能上會有所損失,但硬件實(shí)現(xiàn)復(fù)雜度很低,譯碼過程中只存在數(shù)值比較和加減運(yùn)算,適于工程實(shí)現(xiàn)。
      [0004]其譯碼器主要包括以下功能模塊:變量節(jié)點(diǎn)軟信息存儲單元RAM_Q,與變量節(jié)點(diǎn)i對應(yīng)存儲;校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_R,與校驗(yàn)節(jié)點(diǎn)j對應(yīng)存儲;接收信息存儲單元RAM_Y,與變量節(jié)點(diǎn)i對應(yīng)存儲;校驗(yàn)節(jié)點(diǎn)更新單元CNU,與校驗(yàn)節(jié)點(diǎn)j對應(yīng),完成校驗(yàn)節(jié)點(diǎn)更新的運(yùn)算,并將結(jié)果返回給控制單元;變量節(jié)點(diǎn)更新單元VNU,與變量節(jié)點(diǎn)j對應(yīng),完成變量節(jié)點(diǎn)更新的運(yùn)算,并將結(jié)果返回給控制單元;控制單元,用于產(chǎn)生各種控制信號控制譯碼器的讀寫地址,協(xié)調(diào)各個單元的工作。
      [0005]譯碼過程中,譯碼器接收到的軟信息首先儲存到接收信息存儲單元RAM_Y中,隨后開始初始化的過程:通過接收信息存儲單元RAM_Y中的軟信息對變量節(jié)點(diǎn)軟信息存儲單元RAM_Q進(jìn)行更新;然后,進(jìn)行校驗(yàn)節(jié)點(diǎn)更新:將變量節(jié)點(diǎn)軟信息存儲單元RAM_Q中的數(shù)據(jù)按照控制單元產(chǎn)生的讀取地址讀入校驗(yàn)節(jié)點(diǎn)更新單元CNU,完成運(yùn)算,按照控制單元提供的存儲地址將運(yùn)算結(jié)果儲存到校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_R中;接著,進(jìn)行變量節(jié)點(diǎn)更新:將校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_R中的數(shù)據(jù)按照控制單元產(chǎn)生的讀取地址讀入變量節(jié)點(diǎn)更新單元VNU,完成運(yùn)算,檢測是否達(dá)到最大迭代次數(shù),如果是則進(jìn)行判決并將結(jié)果輸出,否則按照控制單元提供的存儲地址將運(yùn)算結(jié)果儲存到變量節(jié)點(diǎn)軟信息存儲單元RAM_Q中,并繼續(xù)進(jìn)行校驗(yàn)節(jié)點(diǎn)更新直到達(dá)到最大迭代次數(shù)。
      [0006]2005 年 Radosavljevic( “Optimized message passing schedules for LDPCdecoding”,Signals, Systems and Computers, 2005:591-595)提出了一種基于行消息傳遞(RMP)的譯碼算法。
      [0007]上述譯碼過程的譯碼器主要包括以下功能模塊:變量節(jié)點(diǎn)軟信息存儲單元RAM_N,與變量節(jié)點(diǎn)n對應(yīng)存儲;校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_M,與校驗(yàn)節(jié)點(diǎn)m對應(yīng)存儲;迭代譯碼更新單元ICU,完成迭代譯碼的運(yùn)算,并將結(jié)果返回給控制單元;控制單元,用于產(chǎn)生各種控制信號控制譯碼器的讀寫地址,協(xié)調(diào)各個單元的工作。[0008]譯碼過程中,譯碼器接收到的軟信息開始初始化的過程:將接收到的軟信息存儲到變量節(jié)點(diǎn)軟信息存儲單元RAM_N中,同時將校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_M進(jìn)行初始化置零;然后,進(jìn)行迭代更新:將變量節(jié)點(diǎn)軟信息存儲單元RAM_N和校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_M中的數(shù)據(jù)按照控制單元產(chǎn)生的讀取地址讀入迭代譯碼更新單元I⑶,完成運(yùn)算,按照控制單元提供的存儲地址將運(yùn)算結(jié)果儲存到校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_N和校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_M中;接著,檢測譯碼迭代是否達(dá)到最大迭代次數(shù),如果是則進(jìn)行判決并將結(jié)果輸出,否則繼續(xù)進(jìn)行校驗(yàn)節(jié)點(diǎn)更新直到達(dá)到最大迭代次數(shù)。
      [0009]但是,上述的兩種算法設(shè)計的譯碼器都存在一些問題:
      [0010]1.基于SMP的最小和算法每次更新都是用的上一次迭代之后的結(jié)果,每個節(jié)點(diǎn)更新的結(jié)果無法馬上傳遞給其他節(jié)點(diǎn),需要等到下一次迭代,導(dǎo)致算法的收斂速度慢。而且,每次迭代需要分別進(jìn)行校驗(yàn)節(jié)點(diǎn)更新和變量節(jié)點(diǎn)更新,譯碼器每次迭代都要對存儲器進(jìn)行兩次讀取和寫入操作。這些導(dǎo)致了譯碼需要更大的譯碼時延。
      [0011]2.基于RMP的最小和譯碼算法雖然能解決一些基于SMP的最小和算法的問題,但是,從上面對基于RMP的最小和譯碼算法的介紹中可以看出,這種基于RMP的最小和譯碼算法進(jìn)行更新時,后更新的行會使用到先更新的行中更新的數(shù)據(jù),所以只能進(jìn)行串行的更新,無法采用并行譯碼方式提高譯碼延時。

      【發(fā)明內(nèi)容】

      [0012]本發(fā)明的目的是為了降低了 QC-LDPC碼譯碼器的譯碼延時和采用QC-LDPC碼作為信道編碼的通信系統(tǒng)的通信延時,提出一種基于RMP調(diào)度的部分并行LDPC譯碼方法,針對QC-LDPC碼,對基于RMP調(diào)度的LDPC譯碼器的譯碼處理結(jié)構(gòu)進(jìn)行了優(yōu)化。
      [0013]本發(fā)明在采用基于RMP調(diào)度的最小和譯碼算法的QC-LDPC譯碼器中實(shí)現(xiàn)部分并行的譯碼結(jié)構(gòu),具體通過以下技術(shù)方案實(shí)現(xiàn):
      [0014]步驟一,對行重為a,列重為b的QC-LDPC碼的校驗(yàn)矩陣H(M,N)進(jìn)行分區(qū),具體方法為:
      [0015](I)尋找QC-LDPC碼校驗(yàn)矩陣的最小循環(huán)子矩陣,并得到其大小為1X1,I為常數(shù);
      [0016](2)在保證每個分區(qū)的列重為I的前提下,以每J行為一個分區(qū)將校驗(yàn)矩陣分為K個分區(qū),其中I=nJ,M=KJ, n為整數(shù),一般情況下n=l,即I=J ;
      [0017](3)確定分區(qū)內(nèi)多路并行譯碼處理數(shù)P,有Pl=J, I為每個分區(qū)內(nèi)每一路譯碼處理的行數(shù)。
      [0018]步驟二,在分區(qū)的基礎(chǔ)上,建立基于RMP調(diào)度的QC-LDPC碼譯碼器,其組成包括:
      [0019]變量節(jié)點(diǎn)軟信息存儲單元RAM_A,用于對迭代譯碼過程中的初始化信息和變量節(jié)點(diǎn)軟信息進(jìn)行存儲,其中包含P塊RAM存儲塊M X p ;第p塊RAM存儲塊M A p,存儲了每一個分區(qū)中的第P路譯碼迭代包含的行中的非零元素所對應(yīng)的變量節(jié)點(diǎn)軟信息;
      [0020]校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_A,用于對迭代譯碼過程中更新的校驗(yàn)節(jié)點(diǎn)軟信息進(jìn)行存儲,其中包含P塊RAM存儲塊M A p ;其中第p塊RAM存儲塊M A p,存儲了每一個分區(qū)中的第P路譯碼迭代包含的行中的非零元素所對應(yīng)的校驗(yàn)節(jié)點(diǎn)軟信息;
      [0021]存儲器地址產(chǎn)生模塊ADU,用于產(chǎn)生QC-LDPC譯碼器中所用的變量節(jié)點(diǎn)軟信息存儲單元和校驗(yàn)節(jié)點(diǎn)軟信息存儲單元;由RAM_ X存儲器地址產(chǎn)生子模塊和RAM_A存儲器地址產(chǎn)生子模塊組成,每個子模塊由P個初始地址存儲器和P個地址偏移計算器組成;每個子模塊具有P個綜合信號輸出端口,其輸出由初始地址存儲器的來自P個初始地址存儲器和計數(shù)器;ADU有2P個輸出端口,分別與RAM_ A模塊和RAM_A模塊的P個讀寫端口的讀寫地址端口相連。
      [0022]迭代譯碼模塊IDU,用于對迭代過程中的校驗(yàn)節(jié)點(diǎn)軟信息和變量節(jié)點(diǎn)軟信息進(jìn)行并行更新運(yùn)算,其中包含P個CNU計算模塊;
      [0023]譯碼判決模塊DJU,用于對變量節(jié)點(diǎn)軟信息存儲單元中即將輸出的信息進(jìn)行判決處理;
      [0024]軟信息交換模塊INU,用于在迭代譯碼時將來自RAM_ A模塊中不同RAM存儲塊的數(shù)據(jù)送到相應(yīng)的CNU計算模塊,以及將相應(yīng)的更新數(shù)據(jù)返回給RAM存儲塊;INU有2P輸入端口和2P個輸出端口,其中P個輸入端口和輸出端口與RAM_A模塊中的RAM的輸出端口及輸入端口相連,P個輸入端口和輸出端口與P個CNU計算模塊中的RAM的輸出端口及輸入端口相連;通過INU模塊綜合信號,將RAM_ A模塊中P個輸出軟信息分配到P個CNU模塊中,并將P個CNU模塊的輸出軟信息存儲到RAM_ A模塊中對應(yīng)的RAM中。
      [0025]譯碼流程控制模塊P⑶,用于產(chǎn)生整個譯碼流程的控制信號,其中包括INU模塊綜合信號。
      [0026]所述每塊RAM存儲塊M X p和M Ap含有兩個讀寫端口,其讀寫模式均是“先讀后寫”,每個讀寫端口均與第p塊CNU計算模塊相連,每個端口各負(fù)責(zé)一路數(shù)據(jù)的讀寫;
      [0027]步驟三,對步驟二所建立的基于RMP調(diào)度的QC-LDPC碼譯碼器的迭代譯碼器進(jìn)行初始化:將接收到的一幀信道似然比軟信息信息,按照校驗(yàn)矩陣中的分區(qū)將信道信息存儲到變量節(jié)點(diǎn)軟信息存儲單元MM_ A的P塊RAM存儲塊M X p中,第p塊存儲塊MXp的數(shù)據(jù)與地址按照分區(qū)中的第P路對應(yīng)的行中的非零元素所在的列進(jìn)行對應(yīng),每個存儲塊的存儲地址范圍為0?aj-l,a為QC-LDPC碼的行重,J為每個分區(qū)第p路對應(yīng)的行數(shù);同時,將校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_ A中存儲的數(shù)據(jù)全部初始化為0,并將迭代次數(shù)iter_time初始化為0次;
      [0028]步驟四,進(jìn)行迭代譯碼運(yùn)算:譯碼流程控制模塊P⑶和存儲器地址產(chǎn)生模塊ADU共同控制所述的迭代譯碼模塊IDU和軟信息存儲模塊進(jìn)行運(yùn)算更新;
      [0029]步驟4.a)迭代譯碼模塊IDU中的第p個CNU計算模塊對第k個分區(qū)中的第p路并行信息進(jìn)行迭代譯碼計算,模塊輸入的信息來自變量節(jié)點(diǎn)軟信息存儲單元RAM_X和校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_A,迭代譯碼的結(jié)果則保存到這兩個存儲單元相應(yīng)的位置上;
      [0030]其中,在更新該路第i行的信息時,與第p個CNU計算模塊對應(yīng)的變量節(jié)點(diǎn)軟信息存儲單元RAM_ A的RAM存儲塊,是其中的第p個RAM存儲的信息按照存儲器地址產(chǎn)生模塊ADU給出的地址讀出,RAM_A得到的地址可以按照如下計算得到:〈第k個分區(qū)第p路譯碼初始化地址 addr_kpO>+〈1-l> ;
      [0031]在更新該路第i行的信息時,與第p個CNU計算模塊對應(yīng)的校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_ A的RAM存儲塊是其中的第p個RAM存儲的信息按照存儲器地址產(chǎn)生模塊ADU給出的地址讀出,RAM_ A得到的地址是按照存儲塊順序的a個連續(xù)的地址,a為QC-LDPC碼的行重;[0032]步驟4.b)CNU計算模塊計算的結(jié)果通過軟信息交換模塊INU分別保存到變量節(jié)點(diǎn)軟信息存儲單元RAM_X和校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_A對應(yīng)的存儲塊中,寫入的地址是由對應(yīng)的讀取地址進(jìn)行a個時鐘的延遲得到的;
      [0033]步驟4.c)重復(fù)步驟4.a)-步驟4.b),直到完成每個分區(qū)中的所有行的更新;
      [0034]步驟4.d),重復(fù)步驟4.a)?步驟4.C),直到完成整個校驗(yàn)矩陣中所有分區(qū)的更新;
      [0035]步驟五,重復(fù)步驟四,直到達(dá)到最大迭代次數(shù),并將變量節(jié)點(diǎn)軟信息存儲單元RAM_A中每個存儲塊中的數(shù)據(jù)按照存儲的順序讀出進(jìn)行判決,得到譯碼結(jié)果。
      [0036]有益效果
      [0037]與傳統(tǒng)的譯碼器相比,本發(fā)明設(shè)計的譯碼器采用了基于RMP的譯碼算法,在每次迭代譯碼的過程中,較最小和譯碼算法減少了近一半的迭代延時;另外,針對QC-LDPC校驗(yàn)矩陣具有的準(zhǔn)循環(huán)特點(diǎn),采用了部分并行處理的譯碼結(jié)構(gòu),將校驗(yàn)矩陣進(jìn)行分區(qū),在分區(qū)內(nèi)進(jìn)行并行迭代譯碼,譯碼延時和每個分區(qū)內(nèi)譯碼并行度呈線性反比關(guān)系,從而成倍地提高了譯碼器的吞吐量,并且保證了這種并行方式與串行的RMP方式具有相同的性能,使LDPC譯碼器適應(yīng)高速數(shù)據(jù)處理的要求。應(yīng)用本發(fā)明的譯碼器設(shè)計,可使LDPC譯碼器適應(yīng)更多高吞吐量的通信應(yīng)用場合。
      【專利附圖】

      【附圖說明】
      [0038]圖1為本發(fā)明LDP {Calderbank, 1999#38} C譯碼方法流程圖;
      [0039]圖2為【具體實(shí)施方式】中采用的LDPC譯碼器的結(jié)構(gòu)示意圖;
      [0040]圖3為【具體實(shí)施方式】中LDPC譯碼器的存儲器地址控制模塊說明圖;
      [0041]圖4為【具體實(shí)施方式】中的地址分配方法說明圖。
      【具體實(shí)施方式】
      [0042]下面結(jié)合附圖和實(shí)施例對本發(fā)明做進(jìn)一步詳細(xì)的說明。
      [0043]參照圖2本發(fā)明提供的基于RMP的部分并行QC-LDPC譯碼器主要分為6個部分,分別為變量節(jié)點(diǎn)軟信息存儲單元RAM_A,校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_A,迭代譯碼模塊IDU,譯碼判決模塊DJU,譯碼流程控制模塊PCU。其中,變量節(jié)點(diǎn)軟信息存儲單元RAM_入,用于對迭代譯碼過程中的初始化信息和變量節(jié)點(diǎn)軟信息進(jìn)行存儲,其中包含P塊RAM存儲塊MX p,;校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_A,用于對迭代譯碼過程中更新的校驗(yàn)節(jié)點(diǎn)軟信息進(jìn)行存儲,其中包含P塊RAM存儲塊M Ap,;存儲器地址產(chǎn)生模塊ADU,用于產(chǎn)生QC-LDPC譯碼器中所用的變量節(jié)點(diǎn)軟信息存儲單元和校驗(yàn)節(jié)點(diǎn)軟信息存儲單元;迭代譯碼模塊IDU,用于對迭代過程中的校驗(yàn)節(jié)點(diǎn)軟信息和變量節(jié)點(diǎn)軟信息進(jìn)行并行更新運(yùn)算,其中包含P個CNU計算模塊;譯碼判決模塊DJU,用于對變量節(jié)點(diǎn)軟信息存儲單元中即將輸出的信息進(jìn)行判決處理;譯碼流程控制模塊PCU,用于產(chǎn)生整個譯碼流程的控制信號。其中,RAM_A和RAM_A模塊中第p塊RAM存儲塊,存儲了每一個分區(qū)中的第p路譯碼迭代包含的行中的非零元素所對應(yīng)的變量節(jié)和校驗(yàn)節(jié)點(diǎn)軟信息;每塊RAM存儲塊含有兩個讀寫端口,其讀寫模式均是“先讀后寫”,每個讀寫端口均與第P塊CNU計算模塊相連,每個端口各負(fù)責(zé)一路數(shù)據(jù)的讀寫;存儲器地址產(chǎn)生模塊ADU,由RAM_A存儲器地址產(chǎn)生子模塊和RAM_A存儲器地址產(chǎn)生子模塊組成,每個子模塊由P個初始地址存儲器和P個地址偏移計算器組成;存儲器地址產(chǎn)生模塊ADU,有2P個輸出端口,分別與RAM_ A模塊和RAM_ A模塊的P個讀寫端口的讀寫地址端口相連。
      [0044]譯碼器的各個模塊之間的連接關(guān)系如下:
      [0045]RAM_ A模塊中的每一塊RAM都含有兩個讀寫端口,分別負(fù)責(zé)迭代譯碼軟信息的讀取和寫入,其模式都為“先讀取后寫入”模式,第p塊RAM的“讀”端口同時與INU模塊的第P個輸入端口、譯碼判決模塊DJU輸入端口相連,第p塊RAM的“寫”端口同時與INU模塊的第P個輸入端口、譯碼器的輸入端口相連;RAM_A模塊中的每一塊RAM都含有兩個讀寫端口,分別負(fù)責(zé)迭代譯碼軟信息的讀取和寫入,其模式都為“先讀取后寫入”模式,第P塊RAM的兩個端口同時與第P個迭代譯碼計算單元CNU_p的輸入輸出端口相連;INU模塊的其中P個輸出端口和輸入端口分別與P個迭代譯碼計算單元CNU的輸入端口和輸出端口相連,另外P個輸出端口和輸入端口分別與RAM_X模塊中的P塊RAM的輸入端口和輸出端口相連;ADU模塊的2p個輸出端口分別與RAM_X模塊以及RAM_A模塊中的p個RAM讀寫地址端口相連,負(fù)責(zé)讀寫地址的控制。
      [0046]參照圖1,本發(fā)明提供的迭代譯碼的方法,其步驟如下:
      [0047]步驟1,初始化:將接收到的一幀信道似然比軟信息信息,按照校驗(yàn)矩陣中的分區(qū)將信道信息存儲到變量節(jié)點(diǎn)軟信息存儲單元RAM_ A的P塊RAM存儲塊M X p中,第p塊存儲塊M A p的數(shù)據(jù)與地址按照分區(qū)中的第p路對應(yīng)的行中的非零元素所在的列進(jìn)行對應(yīng),每個存儲塊的存儲地址范圍為0~aj_l,a為QC-LDPC碼的行重,J為每個分區(qū)第p路對應(yīng)的行數(shù);同時,將校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_ A中存儲的數(shù)據(jù)全部初始化為0,并將迭代次數(shù)iter_time初始化為0次;
      [0048]步驟2,迭代譯碼運(yùn)算,迭代譯碼模塊IDU對軟信息存儲模塊進(jìn)行運(yùn)算更新:
      [0049]迭代譯碼模塊IDU中的每一個計算單元CNU_p以行的順序逐個更新與之相連的RAM_A和RAM_A模塊的第p塊RAM中的信息,P個計算單元同時對校驗(yàn)矩陣一個分區(qū)中的P路進(jìn)行并行譯碼;
      [0050]所述的迭代譯碼模塊IDU中的每個計算模塊CNU_p對每個RAM中的信息的更新分為三步:CNU_p首先分別從RAM_X和RAM_A模塊的第p塊RAM中讀取更新所需要的軟信息;CNU_p再根據(jù)讀取的軟信息進(jìn)行迭代譯碼更新計算;最后將更新計算得到的外信息寫回到RAM_ A和RAM_ A模塊的第p塊RAM中;
      [0051 ] 所述的迭代譯碼模塊IDU對RAM_ A和RAM_ A模塊的每塊RAM進(jìn)行信息更新,需要對每塊RAM中的軟信息進(jìn)行讀出和寫入,其中每塊RAM的數(shù)據(jù)讀寫采用一種循環(huán)的地址讀寫管理方法,參照圖4,其地址分配方法如下:
      [0052]a)校驗(yàn)節(jié)點(diǎn)軟信息存儲模塊RAM_ A按照每個分區(qū)的行順序?qū)⒌趐路并行處理的校驗(yàn)軟信息保存到第P塊RAM_p中,I≤p≤P (P是并行處理路數(shù),圖中P=4),每個RAM的地址位為0~(aj-l);
      [0053]b)每個子單位矩陣按照列順序分為P個部分,每個子矩陣的第P個部分對應(yīng)的變量節(jié)點(diǎn)軟信息保存到RAM_A模塊的第p塊RAM_p中,I ≤ p≤ P (P是并行處理路數(shù),圖中P=4),每塊RAM的地址位為0~J-1 ;
      [0054]c)在上述的前提下,ADU模塊通過每個子矩陣的初始地址進(jìn)行偏移計算,得到變量節(jié)點(diǎn)軟信息存儲模塊中每一塊RAM所存儲的變量節(jié)點(diǎn)軟信息對應(yīng)的校驗(yàn)節(jié)點(diǎn)軟信息,并將結(jié)果送到INU模塊中,對從P塊RAM得到的變量節(jié)點(diǎn)軟信息送到相應(yīng)的計算模塊CNU中進(jìn)行迭代譯碼更新。
      [0055]例如,如果一個由64X64的單位矩陣循環(huán)得到的循環(huán)矩陣,其首地址為23,進(jìn)行4路并行譯碼,RAM_A模塊中的每一個RAM存儲8個校驗(yàn)節(jié)點(diǎn)軟信息,地址為0~15,類似地,RAM_ A模塊中的每一個RAM存儲8個校驗(yàn)節(jié)點(diǎn)軟信息,地址為0~15 ;每塊RAM中存儲
      的軟信息地址與計算模塊之間的關(guān)系如下表所示:
      [0056]
      【權(quán)利要求】
      1.基于RMP調(diào)度的部分并行QC-LDPC譯碼方法,其特征在于:具體包括以下步驟: 步驟一,對行重為a,列重為b的QC-LDPC碼的校驗(yàn)矩陣H(M,N)進(jìn)行分區(qū),具體方法為: (1)尋找QC-LDPC碼校驗(yàn)矩陣的最小循環(huán)子矩陣,并得到其大小為1X1,I為常數(shù); (2)在保證每個分區(qū)的列重為I的前提下,以每J行為一個分區(qū)將校驗(yàn)矩陣分為K個分區(qū),其中I=nJ,M=KJ, n為整數(shù),一般情況下n=l,即I=J ; (3)確定分區(qū)內(nèi)多路并行譯碼處理數(shù)P,有Pl=J,I為每個分區(qū)內(nèi)每一路譯碼處理的行數(shù); 步驟二,在分區(qū)的基礎(chǔ)上,建立基于RMP調(diào)度的QC-LDPC碼譯碼器,其組成包括: 變量節(jié)點(diǎn)軟信息存儲單元RAM_A,用于對迭代譯碼過程中的初始化信息和變量節(jié)點(diǎn)軟信息進(jìn)行存儲,其中包含P塊RAM存儲塊M X p ;第p塊RAM存儲塊M X p,存儲了每一個分區(qū)中的第P路譯碼迭代包含的行中的非零元素所對應(yīng)的變量節(jié)點(diǎn)軟信息; 校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_A,用于對迭代譯碼過程中更新的校驗(yàn)節(jié)點(diǎn)軟信息進(jìn)行存儲,其中包含P塊RAM存儲塊M A p ;其中第p塊RAM存儲塊M A p,存儲了每一個分區(qū)中的第P路譯碼迭代包含的行中的非零元素所對應(yīng)的校驗(yàn)節(jié)點(diǎn)軟信息; 存儲器地址產(chǎn)生模塊ADU,用于產(chǎn)生QC-LDPC譯碼器中所用的變量節(jié)點(diǎn)軟信息存儲單元和校驗(yàn)節(jié)點(diǎn)軟信息存儲單元;由RAM_ X存儲器地址產(chǎn)生子模塊和RAM_A存儲器地址產(chǎn)生子模塊組成,每個子模塊由P個初始地址存儲器和P個地址偏移計算器組成;每個子模塊具有P個綜合信號輸出端口,其輸出由初始地址存儲器的來自P個初始地址存儲器和計數(shù)器;ADU有2P個輸出端口,分別與RAM_ A模塊和RAM_ A模塊的P個讀寫端口的讀寫地址端口相連; 迭代譯碼模塊IDU,用于對迭代`過程中的校驗(yàn)節(jié)點(diǎn)軟信息和變量節(jié)點(diǎn)軟信息進(jìn)行并行更新運(yùn)算,其中包含P個CNU計算模塊; 譯碼判決模塊DJU,用于對變量節(jié)點(diǎn)軟信息存儲單元中即將輸出的信息進(jìn)行判決處理; 軟信息交換模塊INU,用于在迭代譯碼時將來自RAM_A模塊中不同RAM存儲塊的數(shù)據(jù)送到相應(yīng)的CNU計算模塊,以及將相應(yīng)的更新數(shù)據(jù)返回給RAM存儲塊;INU有2P輸入端口和2P個輸出端口,其中P個輸入端口和輸出端口與RAM_ A模塊中的RAM的輸出端口及輸入端口相連,P個輸入端口和輸出端口與P個CNU計算模塊中的RAM的輸出端口及輸入端口相連;通過INU模塊綜合信號,將RAM_ A模塊中P個輸出軟信息分配到P個CNU模塊中,并將P個CNU模塊的輸出軟信息存儲到RAM_ A模塊中對應(yīng)的RAM中; 譯碼流程控制模塊P⑶,用于產(chǎn)生整個譯碼流程的控制信號,其中包括INU模塊綜合信號; 所述每塊RAM存儲塊M X p和M A p含有兩個讀寫端口,其讀寫模式均是“先讀后寫”,每個讀寫端口均與第p塊CNU計算模塊相連,每個端口各負(fù)責(zé)一路數(shù)據(jù)的讀寫; 步驟三,對步驟二所建立的基于RMP調(diào)度的QC-LDPC碼譯碼器的迭代譯碼器進(jìn)行初始化:將接收到的一幀信道似然比軟信息信息,按照校驗(yàn)矩陣中的分區(qū)將信道信息存儲到變量節(jié)點(diǎn)軟信息存儲單元RAM_ A的P塊RAM存儲塊M X p中,第p塊存儲塊MXp的數(shù)據(jù)與地址按照分區(qū)中的第P路對應(yīng)的行中的非零元素所在的列進(jìn)行對應(yīng),每個存儲塊的存儲地址范圍為O~aj-l,a為QC-LDPC碼的行重,J為每個分區(qū)第p路對應(yīng)的行數(shù);同時,將校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_ A中存儲的數(shù)據(jù)全部初始化為O,并將迭代次數(shù)iter_time初始化為O次; 步驟四,進(jìn)行迭代譯碼運(yùn)算:譯碼流程控制模塊P⑶和存儲器地址產(chǎn)生模塊ADU共同控制所述的迭代譯碼模塊IDU和軟信息存儲模塊進(jìn)行運(yùn)算更新; 步驟4.a)迭代譯碼模塊IDU中的第p個CNU計算模塊對第k個分區(qū)中的第p路并行信息進(jìn)行迭代譯碼計算,模塊輸入的信息來自變量節(jié)點(diǎn)軟信息存儲單元RAM_X和校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_A,迭代譯碼的結(jié)果則保存到這兩個存儲單元相應(yīng)的位置上; 其中,在更新該路第i行的信息時,與第P個CNU計算模塊對應(yīng)的變量節(jié)點(diǎn)軟信息存儲單元RAM_ A的RAM存儲塊,是其中的第p個RAM存儲的信息按照存儲器地址產(chǎn)生模塊ADU給出的地址讀出,RAM_A得到的地址可以按照如下計算得到:〈第k個分區(qū)第p路譯碼初始化地址 addr_kpO>+〈1-l> ; 在更新該路第i行的信息時,與第P個CNU計算模塊對應(yīng)的校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_ A的RAM存儲塊是其中的第p個RAM存儲的信息按照存儲器地址產(chǎn)生模塊ADU給出的地址讀出,RAM_A得到的地址是按照存儲塊順序的a個連續(xù)的地址,a為QC-LDPC碼的行重; 步驟4.b)CNU計算模塊計算的結(jié)果通過軟信息交換模塊INU分別保存到變量節(jié)點(diǎn)軟信息存儲單元RAM_X和校驗(yàn)節(jié)點(diǎn)軟信息存儲單元RAM_A對應(yīng)的存儲塊中,寫入的地址是由對應(yīng)的讀取地址進(jìn)行a個時鐘的延遲得到的; 步驟4.c)重復(fù)步驟4.a)-步驟4.b),直到完成每個分區(qū)中的所有行的更新; 步驟4.d),重復(fù)步驟4.a)~步驟4.C),直到完成整個校驗(yàn)矩陣中所有分區(qū)的更新;步驟五,重復(fù)步驟四,直到達(dá)到最大迭代次數(shù),并將變量節(jié)點(diǎn)軟信息存儲單元RAM_A中每個存儲塊中的數(shù)據(jù)按照存儲的順序讀出進(jìn)行判決,得到譯碼結(jié)果。
      【文檔編號】H03M13/11GK103618556SQ201310676642
      【公開日】2014年3月5日 申請日期:2013年12月11日 優(yōu)先權(quán)日:2013年12月11日
      【發(fā)明者】鄭浩, 李林濤, 李祥明 申請人:北京理工大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1