專利名稱:一種消除譯碼器訪問沖突的準(zhǔn)循環(huán)ldpc碼構(gòu)造方法
技術(shù)領(lǐng)域:
本發(fā)明涉及線性糾錯碼的構(gòu)造方法,特別涉及一種能消除分層譯碼器訪問沖突的 采用逐行建立校驗節(jié)點方式的準(zhǔn)循環(huán)LDPC碼的構(gòu)造方法。
背景技術(shù):
最初的LDPC(低密度校驗low-density parity-check, LDPC)譯碼算法是由 Gallager提出,其置信度傳播方式為泛洪調(diào)度(flooding schedule)。Mansour等人提出了 一種Turbo譯碼的置信度傳播方式,Hocevar等人稱這種基于串行更新置信度的傳播方式 為分層譯碼算法(Layered Decoding)。分層譯碼算法能夠在不損失性能和降低運(yùn)算復(fù)雜度 的同時,使譯碼所需的迭代次數(shù)減少一半,因此受到廣泛關(guān)注。
塊行分層譯碼算法采用塊行內(nèi)所有行并行運(yùn)算,適用于準(zhǔn)循環(huán)LDPC碼 (Quas1-cyclicLDPC, QC-LDPC),采用分層置信度傳播方式,近年來很流行?,F(xiàn)有技術(shù)中 針對這種置信度傳播方式提出了不同的實現(xiàn)形式。在硬件實現(xiàn)時,一般采用修正的最小 和(Min-Sum)算法與分層算法結(jié)合,以降低復(fù)雜度。一般要采用流水線技術(shù)提高分層譯 碼器的吞吐率,但同時引入了訪問沖突問題。參考文獻(xiàn)(Sun Y, Karkooti M, Cavallaro J.High throughput,parallel,scalable LDPC encoder/decoder architecture for OFDM systems.Design, Applications, Integration and Software,2006 IEEE Dallas/CAS Workshop on, Oct.2006:39-42)中在流水線中添加空閑節(jié)拍來解決訪問沖突問題,卻降低 了譯碼器吞吐率;參考文獻(xiàn)(Bhatt T, Sundaramurthy V, Stolpman V, et al.Pipelined Block-Serial Decoder Architecture for Structured LDPC Codes.Speech and Signal Processing, 2006 IEEE International Conference on, 2006:225-228)中添加信道信 息鏡像RAM,由計算外信息改變量近似更新信道信息,提高流水線運(yùn)算效率,但性能有所損 失。參考文獻(xiàn)(Rovini M, Gentile G, Rossi F, et al.A minimum-latency block-serial architecture of a decoder for IEEE 802.1In LDPC codes.1FIP International Conference on Very Large Scale Integration, 2007:236_241)中調(diào)度各塊行的運(yùn) 算順序和校驗節(jié)點處理器中信道信息輸入和輸出順序,使相鄰運(yùn)算行的運(yùn)算順序匹配, 只能盡量減少空閑等待;參考文獻(xiàn)(Jin Jie, Tsui Ch1-ying.An Energy Efficient Layered Decoding Architecture for LDPC Decoder.1EEE Trans, on VLSI,2010,18(8): 1185-1195)中利用訪問沖突的特點,利用盡可能多的耦合以減少讀取信道RAM次數(shù),降低 功耗,但也受限于校驗矩陣結(jié)構(gòu);參考文獻(xiàn)(Marchand C, Dore J B, Conde-Canencia L, et al.Conflict resolution for pipelined IayeredLDPC decoders.Signal Processing Systems, 2009:220_225)中將QC-LDPC基矩陣分割為S*S的小基矩陣,然后重新排列,將流 水線間資源沖突寬松化,但是降低了譯碼器并行度,使吞吐率降低。
以上參考文獻(xiàn)中的方法都從譯碼器設(shè)計角度不同程度上解決訪問沖突問題,但是 都受限于LDPC碼校驗矩陣結(jié)構(gòu),設(shè)計過程復(fù)雜卻并不能確保完全消除沖突問題,同時需付 出資源或速率或性能代價。行分層譯碼實現(xiàn)中訪問沖突的根本原因是碼設(shè)計中沒有考慮這一問題。
發(fā)明內(nèi)容
針對現(xiàn)有方法的不足,本發(fā)明提出了一種能避免行分層譯碼算法變量訪問沖突的LDPC碼構(gòu)造方法,避免了譯碼器設(shè)計中的這一難點,以使分層譯碼器的實現(xiàn)簡化、速率提高,同時避免了為減少訪問沖突需多付出的硬件資源。本發(fā)明一種消除譯碼器訪問沖突的準(zhǔn)循環(huán)LDPC碼構(gòu)造方法的方案如下,一種準(zhǔn)循環(huán)LDPC碼的構(gòu)造方法,待構(gòu)造的準(zhǔn)循環(huán)LDPC碼通過樹圖模型Tanner圖表示,其準(zhǔn)循環(huán)校驗矩陣參數(shù)為,基矩陣的大小mXn、Block矩陣的大小pXp、基矩陣變量節(jié)點維度分布(dv);其步驟包括,I)根據(jù)所述基矩陣變量節(jié)點維度分布(dv)確定校驗節(jié)點均勻化維度分布(d。),根據(jù)所述維度分布(d。)向Tanner圖中添加所有η個變量節(jié)點;2)向Tanner圖中逐行添加m個校驗節(jié)點,并以校驗節(jié)點展開樹狀圖,選擇預(yù)挑選變量節(jié)點,通過邊線權(quán)重確定達(dá)到權(quán)重預(yù)設(shè)值的變量節(jié)點,所述確定的變量節(jié)點為一備選集合;在所述備選集合中篩選能使相鄰兩行之間規(guī)避度(ADeg)等于或大于譯碼處理時延(DLY)的變量節(jié)點,形成目的節(jié)點;3)根據(jù)步驟2)所獲得目的節(jié)點確定Tanner圖中邊線權(quán)重,在Tanner中添加相應(yīng)邊,根據(jù)該Tanner圖得到構(gòu)造的準(zhǔn)循環(huán)LDPC碼,完成準(zhǔn)循環(huán)LDPC碼的構(gòu)造。選擇預(yù)挑選變量節(jié)點的方法為,若所述校驗節(jié)點的當(dāng)前維度等于0,則從變量節(jié)點中隨機(jī)選擇一個節(jié)點作為目的變量節(jié)點連接,直接在Tanner中添加相應(yīng)邊,邊線的權(quán)重為一固定值或者隨機(jī)值。當(dāng)以校驗節(jié)點展開樹狀圖時,所述校驗節(jié)點維度設(shè)定為條件:
權(quán)利要求
1.一種準(zhǔn)循環(huán)LDPC碼的構(gòu)造方法,待構(gòu)造的準(zhǔn)循環(huán)LDPC碼通過樹圖模型Tanner圖表示,其準(zhǔn)循環(huán)校驗矩陣參數(shù)為,基矩陣的大小mXn、Block矩陣的大小pXp、基矩陣變量節(jié)點維度分布(dv);其步驟包括,1)根據(jù)所述基矩陣變量節(jié)點維度分布(dv)確定校驗節(jié)點均勻化維度分布(d。),根據(jù)所述維度分布(d。)向Tanner圖中添加所有η個變量節(jié)點;2)向Tanner圖中逐行添加m個校驗節(jié)點,并以校驗節(jié)點展開樹狀圖,選擇預(yù)挑選變量節(jié)點,通過邊線權(quán)重確定達(dá)到權(quán)重預(yù)設(shè)值的變量節(jié)點,所述確定的變量節(jié)點為一備選集合;在所述備選集合中篩選能使相鄰兩行之間的規(guī)避度(ADeg)等于或大于譯碼處理時延 (DLY)的變量節(jié)點,形成目的節(jié)點;3)根據(jù)步驟2)所獲得目的節(jié)點確定Tanner圖中邊線權(quán)重,在Tanner圖中添加相應(yīng)邊,根據(jù)該Tanner圖得到構(gòu)造后的準(zhǔn)循環(huán)LDPC碼。
2.如權(quán)利要求1所述的LDPC碼構(gòu)造方法,其特征在于,以校驗節(jié)點展開樹狀圖時,校驗節(jié)點維度設(shè)定為條件:
3.如權(quán)利要求1所述的LDPC碼構(gòu)造方法,其特征在于,選擇預(yù)挑選變量節(jié)點的方法為, 若所述校驗節(jié)點的當(dāng)前維度等于0,則從變量節(jié)點中隨機(jī)選擇一個節(jié)點作為目的變量節(jié)點連接,直接在Tanner中添加相應(yīng)邊,邊線的權(quán)重為一固定值或者隨機(jī)值。
4.如權(quán)利要求1所述的LDPC碼構(gòu)造方法,其特征在于,選擇預(yù)挑選變量節(jié)點的步驟還包括,若所述校驗節(jié)點的當(dāng)前維度不等于0,則以第i個校驗節(jié)點為根節(jié)點展開樹狀圖,選擇距離根節(jié)點最遠(yuǎn)且列重分布增長慢的變量節(jié)點作為備選節(jié)點。
5.如權(quán)利要求4所述的LDPC碼構(gòu)造方法,其特征在于,判斷最遠(yuǎn)節(jié)點方法為,以校驗節(jié)點為根節(jié)點展開成深度為I的樹狀子圖,直到第I層的當(dāng)前子圖變量節(jié)點集合數(shù)達(dá)到N,或者第1+1層的變量校驗節(jié)點集合為空,與當(dāng)前校驗結(jié)點沒有連接的變量節(jié)點是最遠(yuǎn)節(jié)點; 若不存在沒有連接的變量結(jié)點,則此時第I層中的變量節(jié)點就是最遠(yuǎn)的節(jié)點。
6.如權(quán)利要求4所述的LDPC碼構(gòu)造方法,其特征在于,確定列重分布增長慢的變量節(jié)點的方法為,計算所述預(yù)挑選變量節(jié)點各列前列重與其預(yù)期列重比值Rcw,選出其中最小值 Rcw_min,從中選擇Rcw ( Rcw_min *C,其中C經(jīng)驗值為1.5,的變量節(jié)點作為預(yù)挑選變量節(jié)點。
7.如權(quán)利要求1所述的LDPC碼構(gòu)造方法,其特征在于,譯碼處理時延與具體的行分層譯碼器設(shè)計有關(guān),其規(guī)避度范圍2 10,其中常用值為5或8。
8.如權(quán)利要求1所述的LDPC碼構(gòu)造方法,其特征在于,相鄰兩行間的規(guī)避度(ADeg)的計算方法為,在譯碼時相鄰處理的兩行中,下一行的非零元素與上一行的零元素所處列的交集的個數(shù)。
9.如權(quán)利要求1所述的LDPC碼構(gòu)造方法,其特征在于,邊線權(quán)重確定方法為,首先遍歷根節(jié)點到預(yù)挑選變量節(jié)點的所有路徑,根據(jù)
10.如權(quán)利要求1所述的LDPC碼構(gòu)造方法,一種準(zhǔn)循環(huán)LDPC碼的譯碼方法為: 1)從信道接收信道信息,首先緩存到存儲器RAM當(dāng)中;初始化所有外信息都為O; 2)從信道信息存儲器中同時串行取出所述LDPC構(gòu)造碼矩陣中某一層(P行)中非零元素所對應(yīng)的信道信息,形成寬度為P的數(shù)據(jù)流; 3)信道信息數(shù)據(jù)流經(jīng)過選擇模塊,然后根據(jù)準(zhǔn)循環(huán)LDPC碼基矩陣中的偏移量確定并行數(shù)據(jù)的循環(huán)偏移值,再送到對應(yīng)的P個CNP運(yùn)算單元中; 4)同時,從外信息存儲器中讀取準(zhǔn)循環(huán)LDPC碼矩陣該層所對應(yīng)的外信息,輸入到CNP運(yùn)算單元中; 5)CNP運(yùn)算器根據(jù)接收到的信道信息和外信息進(jìn)行運(yùn)算; 6)完成P行的置信度傳播后,繼續(xù)進(jìn)行迭代運(yùn)算,直到譯碼次數(shù)達(dá)到最大設(shè)定值或者譯碼收斂。
全文摘要
本發(fā)明涉及一種準(zhǔn)循環(huán)LDPC碼的構(gòu)造方法,待構(gòu)造的準(zhǔn)循環(huán)LDPC碼通過樹圖模型Tanner圖表示,其準(zhǔn)循環(huán)校驗矩陣參數(shù)為,基矩陣的大小m×n、Block矩陣的大小p×p、基矩陣變量節(jié)點維度分布(dv);其步驟包括,1)根據(jù)所述基矩陣變量節(jié)點維度分布(dv)確定校驗節(jié)點均勻化維度分布(dc),根據(jù)所述維度分布(dc)向Tanner圖中添加所有n個變量節(jié)點;2)向Tanner圖中逐行添加m個校驗節(jié)點并選擇預(yù)挑選變量節(jié)點,通過邊線權(quán)重確定達(dá)到權(quán)重預(yù)設(shè)值的變量節(jié)點,所述確定的變量節(jié)點為一備選集合;在所述備選集合中篩選變量節(jié)點規(guī)避度(ADeg)等于或大于時延(DLY)點;3)根據(jù)步驟2)所獲得點確定Tanner圖中邊線權(quán)重,添加Tanner中相應(yīng)邊,根據(jù)該Tanner圖得到構(gòu)造的準(zhǔn)循環(huán)LDPC碼,完成準(zhǔn)循環(huán)LDPC碼的構(gòu)造。
文檔編號H03M13/11GK103220002SQ20121001699
公開日2013年7月24日 申請日期2012年1月18日 優(yōu)先權(quán)日2012年1月18日
發(fā)明者董明科, 張建軍, 馮梅萍, 王達(dá), 吳建軍, 項海格, 金野 申請人:北京大學(xué)