專利名稱:基于fifo分段存儲(chǔ)的qc-ldpc碼部分并行譯碼方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信技術(shù)領(lǐng)域,具體涉及一種基于先進(jìn)先出FIFO的分段存儲(chǔ)的準(zhǔn)循 環(huán)低密度奇偶校驗(yàn)QC-LDPC碼部分并行譯碼方法,可用于高速Q(mào)C-LDPC譯碼器的實(shí)現(xiàn)。
背景技術(shù):
LDPC碼最早由Villager于1962年首次提出,并與上個(gè)世紀(jì)90年代重新被研究。 LDPC碼是一種具有稀疏校驗(yàn)矩陣的線性分組碼,具有以下特點(diǎn)能夠逼近香農(nóng)限的性能特 性,在許多場(chǎng)合下性能優(yōu)于Turbo碼;而且由于校驗(yàn)矩陣的稀疏性,譯碼的復(fù)雜度低,并可 實(shí)現(xiàn)并行操作,便于硬件實(shí)現(xiàn);具有較大的靈活性和較低的差錯(cuò)平層特性;描述簡(jiǎn)單,對(duì)嚴(yán) 格的理論分析具有可驗(yàn)證性;具有簡(jiǎn)單的二分圖編碼的數(shù)學(xué)模型。LDPC碼是近年信道編 碼領(lǐng)域的研究熱點(diǎn),目前已廣泛應(yīng)用于深空通信、光纖通信、衛(wèi)星數(shù)字視頻和音頻廣播等領(lǐng) 域。QC-LDPC碼是一類特殊的LDPC碼,其校驗(yàn)矩陣由一系列相同大小的稀疏矩陣組合 而成,也就是說(shuō),其H校驗(yàn)矩陣具有準(zhǔn)循環(huán)的特性。QC-LDPC碼的校驗(yàn)矩陣表示形式如下
~ Au A12 Λ Ain — A2·1 A2,2 Λ Axn
權(quán)利要求
1.一種基于FIFO分段存儲(chǔ)的QC-LDPC碼部分并行譯碼方法,包括如下步驟(1)已知校驗(yàn)矩陣HbMXbN由MXN個(gè)大小為bXb的循環(huán)方陣Ai"構(gòu)成,其中Ai"由ω 個(gè)bXb的單位陣循環(huán)右移ο〗"次的方陣相加而成,這些方陣記為J〗",并以^〗"作為獨(dú)立的譯 碼單元,下標(biāo)d的取值范圍為1 《,0〗"是方陣^4〗"第一行中“1”的位置,0〗"稱為起始地址, ^的取值范圍為0 (b-Ι);(2)將獨(dú)立的譯碼單元分成均勻的塊,設(shè)塊的大小為JXJ,分成的塊數(shù)K= b/J,該 塊數(shù)K稱為譯碼并行度,中第m行第η列的塊用^^表示,并以^;丨 作為最小的譯碼單元, jt中下標(biāo)m和η的取值范圍都為1 K ;(3)設(shè)起始地址ο〗"的表達(dá)式為ο〗"=a·/+凡其中a是 被J整除的最大整數(shù),a稱為 空間起始位置,a的可能取值為0 (K-I),β是ο〗"除以J的余數(shù),β稱為偏移地址,β的 可能取值為0 (J-I);(4)將A-Ik一共K個(gè)最小譯碼單元合并成一個(gè)大塊,記為巧,則 ^7 = ,O , A^k],每個(gè)巧包含J行,b列,則々=[E;1 ^ A^ii,把每一個(gè)巧作 為譯碼時(shí)校驗(yàn)節(jié)點(diǎn)更新的最小更新單元,根據(jù)每個(gè)構(gòu)建對(duì)應(yīng)的一個(gè)CFU存儲(chǔ)空間R’m,下 標(biāo)m的取值范圍是1 K,在每個(gè)周期內(nèi)完成對(duì)K個(gè)最小更新單元Z=中同一行的更新,經(jīng)過(guò) J = b/K個(gè)周期,完成對(duì)獨(dú)立譯碼單元的行更新;(5)將A;:卜Α。一共K個(gè)最小譯碼單元合并成一個(gè)大塊,記為C ,則 C1n1 = [4Κ ,Λ ,每個(gè)包含 b 行,J 列,則= [C;J,Q\A,Q"],把每一個(gè)d乍 為譯碼時(shí)變量節(jié)點(diǎn)更新的最小更新單元,根據(jù)每個(gè)C="構(gòu)建對(duì)應(yīng)的一個(gè)VFU存儲(chǔ)空間R”n,T 標(biāo)η的取值范圍是1 K,在每個(gè)周期內(nèi)完成對(duì)K個(gè)最小更新單元中同一列的更新,經(jīng)過(guò) J = b/K個(gè)周期,完成對(duì)獨(dú)立譯碼單元的列更新;(6)設(shè)譯碼過(guò)程的迭代次數(shù)為N,重復(fù)步驟(4)和步驟(5)N次,得到譯碼結(jié)果為C,直到 滿足譯碼終止條件時(shí)好^^她-Cr = O,完成QC-LDPC碼部分并行譯碼。
2.根據(jù)權(quán)利要求1所述的部分并行譯碼方法,其中步驟(4)所述的根據(jù)每個(gè)Z=構(gòu)建對(duì) 應(yīng)的一個(gè)CFU存儲(chǔ)空間R’ m,它由1 2個(gè)FIFO根據(jù)偏移地址β的不同取值構(gòu)建當(dāng)β = 0時(shí),每個(gè)CFU存儲(chǔ)空間R’m由一個(gè)深度為J的先進(jìn)先出FIFO構(gòu)成,每個(gè)FIFO 包含J = b/K個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元都連接數(shù)據(jù)輸入和數(shù)據(jù)輸出線,數(shù)據(jù)輸出線與相鄰 的前一個(gè)存儲(chǔ)單元數(shù)據(jù)輸入線連接,第1個(gè)存儲(chǔ)單元的數(shù)據(jù)輸出線與譯碼器中的校驗(yàn)節(jié)點(diǎn) 更新單元的數(shù)據(jù)輸入線連接,校驗(yàn)節(jié)點(diǎn)更新單元的數(shù)據(jù)輸出線與第J個(gè)存儲(chǔ)單元的數(shù)據(jù)輸 入線連接,這樣構(gòu)建形成CFU存儲(chǔ)空間R’ m ;當(dāng)β興0時(shí),每個(gè)CFU存儲(chǔ)空間R,m由兩個(gè)FIFO組合而成,將這兩個(gè)FIFO記為SClm 和SC4,其中SClm包含J-β個(gè)存儲(chǔ)單元,Sam包含β個(gè)存儲(chǔ)單元,則CFU存儲(chǔ)空間R’m — 共包含J個(gè)存儲(chǔ)單元,SCln^n SC、中的每個(gè)存儲(chǔ)單元都連接數(shù)據(jù)輸入和數(shù)據(jù)輸出線,數(shù)據(jù) 輸出線與相鄰的前一個(gè)存儲(chǔ)單元數(shù)據(jù)輸入線連接,SClffl中第1個(gè)存儲(chǔ)單元的數(shù)據(jù)輸出線與 譯碼器中的校驗(yàn)節(jié)點(diǎn)更新單元的數(shù)據(jù)輸入線連接,SC2ffl中的第1個(gè)存儲(chǔ)單元的數(shù)據(jù)輸出線 與SClm中第J-β個(gè)存儲(chǔ)單元的數(shù)據(jù)輸入線連接,校驗(yàn)節(jié)點(diǎn)更新單元的數(shù)據(jù)輸出線與SC、 中第β個(gè)存儲(chǔ)單元的數(shù)據(jù)輸入線連接,這樣構(gòu)建形成CFU存儲(chǔ)空間R’m。
3.根據(jù)權(quán)利要求1所述的部分并行譯碼方法,其中步驟( 所述的根據(jù)每個(gè)C="構(gòu)建對(duì) 應(yīng)的一個(gè)VFU存儲(chǔ)空間R”n,它是根據(jù)偏移地址β的不同取值和空間起始位置a,通過(guò)對(duì)K 個(gè)CFU存儲(chǔ)空間R’ m調(diào)整順序或重新組合構(gòu)建當(dāng)β = 0時(shí),調(diào)整K個(gè)CFU存儲(chǔ)空間R’ m的順序形成對(duì)應(yīng)的K個(gè)VFU存儲(chǔ)空間R”n, 設(shè)CFU存儲(chǔ)空間R’ s為VFU存儲(chǔ)空間R”t,s, t之間的關(guān)系為 s+ a,
4.根據(jù)權(quán)利要求1所述的部分并行譯碼方法,其中步驟(4)所述的在每個(gè)周期內(nèi)完成 對(duì)K個(gè)最小更新單元Z=中同一行的更新,經(jīng)過(guò)J = b/K個(gè)周期,完成對(duì)獨(dú)立譯碼單元的 行更新,是通過(guò)CFU存儲(chǔ)空間R’m的內(nèi)部循環(huán)移位完成的,即從每個(gè)存儲(chǔ)CFU存儲(chǔ)空間的第 1個(gè)存儲(chǔ)單元取出存儲(chǔ)信息送入校驗(yàn)節(jié)點(diǎn)計(jì)算單元,同時(shí)將每個(gè)CFU存儲(chǔ)空間中的第2 J 個(gè)存儲(chǔ)單元中的存儲(chǔ)信息逐個(gè)上移到第1 (J-I)個(gè)存儲(chǔ)單元,并將校驗(yàn)節(jié)點(diǎn)計(jì)算單元的 計(jì)算結(jié)果送入每個(gè)CFU存儲(chǔ)空間的第J個(gè)存儲(chǔ)單元,完成一次CFU存儲(chǔ)空間R’ m的內(nèi)部循 環(huán)移位,重復(fù)上述操作J次后停止。
5.根據(jù)權(quán)利要求1所述的部分并行譯碼方法,其中步驟( 所述的在每個(gè)周期內(nèi)完成 對(duì)K個(gè)最小更新單元中同一列的更新,經(jīng)過(guò)J = b/K個(gè)周期,完成對(duì)獨(dú)立譯碼單元的 列更新,是通過(guò)對(duì)VFU存儲(chǔ)空間R”n的內(nèi)部循環(huán)移位完成的,從每個(gè)VFU存儲(chǔ)空間的第1個(gè) 存儲(chǔ)單元取出存儲(chǔ)信息送入變量節(jié)點(diǎn)計(jì)算單元,同時(shí)將每個(gè)VFU存儲(chǔ)空間中的第2 J個(gè) 存儲(chǔ)單元中的存儲(chǔ)信息逐個(gè)上移到第1 (J-I)個(gè)存儲(chǔ)單元,并將變量節(jié)點(diǎn)計(jì)算單元的計(jì) 算結(jié)果送入每個(gè)VFU存儲(chǔ)空間的第J個(gè)存儲(chǔ)單元,完成一次VFU存儲(chǔ)空間R”n的內(nèi)部循環(huán) 移位,重復(fù)上述操作J次后停止。
全文摘要
本發(fā)明公開(kāi)了一種基于FIFO分段存儲(chǔ)的QC-LDPC碼部分并行譯碼方法,主要解決現(xiàn)有技術(shù)在QC-LDPC譯碼硬件實(shí)現(xiàn)中存在的大量地址控制邏輯的問(wèn)題。其技術(shù)要點(diǎn)是根據(jù)校驗(yàn)矩陣H的準(zhǔn)循環(huán)特性,確定獨(dú)立的譯碼單元,并對(duì)其分塊;將譯碼更新過(guò)程轉(zhuǎn)化成了獨(dú)立譯碼單元的行更新和列更新;利用一組FIFO建立形成CFU存儲(chǔ)空間和VFU存儲(chǔ)空間,將存儲(chǔ)單元進(jìn)行連接,并加入切換信號(hào);在獨(dú)立譯碼單元的行更新和列更新時(shí),通過(guò)切換信號(hào)對(duì)CFU存儲(chǔ)空間和VFU存儲(chǔ)空間進(jìn)行選擇,并通過(guò)對(duì)CFU存儲(chǔ)空間或者VFU存儲(chǔ)空間的內(nèi)部循環(huán)移位完成。該譯碼方法操作簡(jiǎn)單,取消了硬件實(shí)現(xiàn)中的大量地址控制邏輯操作,便于在工程上實(shí)現(xiàn)QC-LDPC碼的高速并行譯碼,可用于QC-LDPC碼部分并行譯碼器的硬件實(shí)現(xiàn)。
文檔編號(hào)H03M13/11GK102064837SQ20101060464
公開(kāi)日2011年5月18日 申請(qǐng)日期2010年12月24日 優(yōu)先權(quán)日2010年12月24日
發(fā)明者劉玲, 閆建華, 陳彥輝, 黃興 申請(qǐng)人:西安電子科技大學(xué)