專利名稱:提高節(jié)點處理并行度的qc-ldpc譯碼器的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字通信信道編碼領(lǐng)域,特別是涉及一種提高節(jié)點處理并行度的QC-LDPC譯碼器的設(shè)計方法。
背景技術(shù):
對于LDPC碼譯碼器的設(shè)計,理論上可以根據(jù)二部圖中的所有節(jié)點及邊線實現(xiàn)全并行結(jié)構(gòu)的LDPC碼譯碼器,但隨著碼長的增長,過高的布線復(fù)雜度及龐大的資源需求量將導(dǎo)致全并行結(jié)構(gòu)的譯碼器難以實現(xiàn)。采用串行結(jié)構(gòu)雖然可以減少硬件資源的消耗量,但較低的譯碼吞吐量通常不能滿足實際應(yīng)用的需求。2001年Kou等人(Y.Kou,S.Lin, andΜ.P.C.Fossorier, “Low-density parity-check codes based on finite geometries:Arediscovery and new results, ” IEEE Trans.1nform.Theory, 2001, 47(7):2711 - 2736)提出了準(zhǔn)循環(huán)結(jié)構(gòu)的LDPC (QC-LDPC)碼。通過合理的構(gòu)造方法,QC-LDPC碼能夠獲得與隨機(jī)構(gòu)造的LDPC碼相比擬的性能,并且由于其校驗矩陣的準(zhǔn)循環(huán)特性,QC-LDPC碼能夠采用部分并行結(jié)構(gòu)設(shè)計出基于長碼的高吞吐量譯碼器,實現(xiàn)硬件資源需求量和譯碼吞吐量的有效折中。公式⑴給出了一個由mXn個LXL的循環(huán)矩陣A。(方陣中每一行的內(nèi)容向右循環(huán)移動一個元素,就獲得了矩陣的下一行內(nèi)容,最后一行內(nèi)容向右循環(huán)移動一個元素,就獲得了矩陣的第一行內(nèi)容)構(gòu)成的大小為MXN的QC-LDPC校驗矩陣。
權(quán)利要求
1.提高節(jié)點處理并行度的QC-LDPC譯碼器的實現(xiàn)方法,其特征在于:所述QC-LDPC譯碼器包括變量節(jié)點信息更新單元VNU,變量節(jié)點信息打包單元VP,校驗節(jié)點信息更新單元CNU,校驗節(jié)點信息打包單元CP,校驗方程計算單元PCU,存儲位寬均為(Qh) bits的存儲塊RAM_f和RAM_m,存儲位寬為h bits的存儲塊RAM_c,具體實現(xiàn)方法包括如下步驟: (1)初始化 接收位寬為(Qh) bits的信道信息存儲到存儲塊RAM_f中,將RAM_m初始化為全零,設(shè)定初始化迭代次數(shù)iter=0,最大迭代次數(shù)iter=MAX_ITER ;其中:Q為量化比特數(shù),h為并行路數(shù); (2)變量節(jié)點的更新 變量節(jié)點信息更新單元 VNU對從存儲塊RAM_f和RAM_m讀出的(Qh) bits的數(shù)據(jù)進(jìn)行處理后得到更新的(Qh)bits輸出數(shù)據(jù)給變量節(jié)點信息打包單元VP,同時輸出h bits的輸出數(shù)據(jù)給存儲塊RAM_c進(jìn)行存儲;變量節(jié)點信息打包單元VP對輸入h路并行的Q bits數(shù)據(jù)進(jìn)行順序調(diào)整,產(chǎn)生出的數(shù)據(jù)輸出給存儲塊RAM_m存儲; (3)校驗節(jié)點的更新 校驗節(jié)點信息更新單元CNU對從存儲塊RAM_m讀出(Qh) bits的數(shù)據(jù)進(jìn)行處理后得到更新的(Qh)bits的輸出數(shù)據(jù)給校驗節(jié)點信息打包單元CP ;校驗節(jié)點信息打包單元CP對輸入h路并行的Q bits數(shù)據(jù)進(jìn)行順序調(diào)整,產(chǎn)生出的數(shù)據(jù)輸出給存儲塊RAM_m存儲; (4)校驗方程計算 校驗方程計算單元PCU從存儲塊RAM_c讀出h bits的碼字信息進(jìn)行計算處理后得到伴隨式向量s ;本次迭代結(jié)束,迭代次數(shù)iter加I ; (5)判決譯碼器是否結(jié)束 判斷伴隨式向量s是否為O或者迭代次數(shù)iter是否達(dá)到MAX_ITER ;若s=0,則表示此次更新的譯碼碼字為許用碼字,轉(zhuǎn)步驟(6);若s古O且iter=MAX_ITER,則停止迭代,譯碼失敗,轉(zhuǎn)步驟(6);若s關(guān)O且iter MAX_ITER,轉(zhuǎn)步驟(2)開始繼續(xù)迭代; (6)譯碼器輸出 從存儲塊RAM_c中讀出數(shù)據(jù)即為需要輸出的譯碼碼字。
2.根據(jù)權(quán)利要求1所述的提高節(jié)點處理并行度的QC-LDPC譯碼器的實現(xiàn)方法,其特征在于:所述步驟(2)中變量節(jié)點信息更新單元VNU包括h個變量節(jié)點信息更新子單元VNUk并行工作,每個變量節(jié)點信息更新子單元VNUk的輸入分別為(Qh) bits的數(shù)據(jù)分離出來的Qbits的外信息,其中每個變量節(jié)點信息更新子單元VNUk采用5級流水線進(jìn)行數(shù)據(jù)處理,具體為 第I級流水線將輸入的Qbits的外信息和信道信息原碼轉(zhuǎn)換為補(bǔ)碼,并將輸入的Qbits的外信息延遲;第2級流水線繼續(xù)將Qbits的外信息延遲,并將Qbits的外信息和信道信息求和;第3級流水線將所述的和值延遲,并將所述和值與所述的Qbits的外信息分別求差;第4級流水線對所述差值進(jìn)行截位處理,并繼續(xù)將所述和值延遲;第5級流水線將截位處理后的數(shù)據(jù)由補(bǔ)碼轉(zhuǎn)換為原碼輸出,并取出和值的符號作為碼字信息輸出。
3.根據(jù)權(quán)利要求1所述的提高節(jié)點處理并行度的QC-LDPC譯碼器的實現(xiàn)方法,其特征在于:所述步驟(3)中校驗節(jié)點信息更新單元CNU包括h個校驗節(jié)點信息更新子單元CNUk并行工作,每個校驗節(jié)點信息更新子單元CNUk的輸入分別為(Qh) bits的數(shù)據(jù)分離出來的Qbits的外信息,其中每個校驗節(jié)點信息更新子單元CNUk采用5級流水線進(jìn)行數(shù)據(jù)處理,具體為:第I級流水線用來分離出輸入的QbitS的外信息的符號位和絕對值,第2級流水線求輸入的Qbits的外信息的符號位的和值及將所述的符號位進(jìn)行延遲,并求出第I級流水線分離出的絕對值的最小值和次小值,及將所述的絕對值進(jìn)行延遲 ’第3級流水線繼續(xù)將所述符號位、絕對值、符號位的和值、最小值及次小值分別進(jìn)行延遲,并求出最小值、次小值分別與歸一化修正因子alpha相乘的結(jié)果;第4級流水線對第3級流水線輸出的所有符號位分別與符號位的和值求和,并將第3級流水線輸出的所有絕對值與最小值進(jìn)行比較并選擇輸出;第5級流水線將第4級流水線的所有輸出進(jìn)行合并后輸出。
4.根據(jù)權(quán)利要求3所述的提高節(jié)點處理并行度的QC-LDPC譯碼器的實現(xiàn)方法,其特征在于:所述第4級流水線對第3級流水線輸出的所有符號位分別與符號位的和值求和,并將第3級流水線輸出的所有絕對值與最小值進(jìn)行比較,若絕對值為最小值,選擇次小值與歸一化修正因子alpha相乘的結(jié)果作為輸出;若絕對值不為最小值,選擇最小值與歸一化修正因子alpha相乘的結(jié)果作為輸出。
5.根據(jù)權(quán)利要求1所述的提高節(jié)點處理并行度的QC-LDPC譯碼器的實現(xiàn)方法,其特征在于:所述步驟(4)中校驗方程計算單元PCU包括h個校驗方程計算子單元PCUk并行工作,每個校驗方程計算子單元PCUk的輸入分別為h bits的數(shù)據(jù)分離出來的Ibits的碼字信息,其中每個校驗方程計算子單元PCUk采用I級流水線進(jìn)行計算處理,輸入的碼字信息在I級流水線中求異或得到伴隨式向量S,通過延遲將伴隨式向量S中的所有元素相加,得到和V,當(dāng)V=O時,伴隨式向量s為零。
6.根據(jù)權(quán)利要求1所述的提高節(jié)點處理并行度的QC-LDPC譯碼器的實現(xiàn)方法,其特征在于:所述步驟(2)中變量節(jié)點信息打包單元VP將dh_w,…Cllri路并行數(shù)據(jù)分別通過一個D觸發(fā)器延時I個時鐘周期后并與屯,…,ClhI1路并行數(shù)據(jù)組合為并行的h路數(shù)據(jù)后輸出給存儲塊RAM_m存儲。
7.根據(jù)權(quán)利要求1所述的提高節(jié)點處理并行度的QC-LDPC譯碼器的實現(xiàn)方法,其特征在于:所述步驟(2)中校驗節(jié)點信息打包單元CP將dw,…Cllri路并行數(shù)據(jù)分別通過一個D觸發(fā)器延時1個時鐘周期后并與‘…,C^1組合為并行的h路數(shù)據(jù)后輸出給存儲塊RAM_m存儲。
全文摘要
本發(fā)明涉及提高節(jié)點處理并行度的QC-LDPC譯碼器的實現(xiàn)方法,譯碼器包括變量節(jié)點信息更新單元VNU,變量節(jié)點信息打包單元VP,校驗節(jié)點信息更新單元CNU,校驗節(jié)點信息打包單元CP,校驗方程計算單元PCU,存儲位寬均為(Qh)bits的存儲塊RAM_f和RAM_m,存儲位寬為hbits的存儲塊RAM_c,本方法采用節(jié)點信息打包單元可以有效地實現(xiàn)存儲器批量數(shù)據(jù)的同時讀入和寫出,解決存儲器訪問沖突問題。通過增加存儲器每個地址單元中存儲的數(shù)據(jù)個數(shù),可以提高LDPC譯碼器處理單元的并行度,本發(fā)明QC-LDPC譯碼器的實現(xiàn)方法具有吞吐量高,硬件資源少,設(shè)計復(fù)雜性低等特點。
文檔編號H03M13/11GK103220003SQ20131010866
公開日2013年7月24日 申請日期2013年3月29日 優(yōu)先權(quán)日2013年3月29日
發(fā)明者謝天嬌, 袁瑞佳, 靳凡, 楊新權(quán), 李立 申請人:西安空間無線電技術(shù)研究所