并行向下兼容的多模ira_ldpc譯碼器及其譯碼方法
【技術(shù)領域】
[0001] 本發(fā)明涉及通信領域,特別是涉及一種能應用于高速無線數(shù)字通信、多媒體數(shù)字 電視、光纖通信和衛(wèi)星通信等諸多系統(tǒng)并行向下兼容的多模IRA_LDPC譯碼器。本發(fā)明還涉 及一種并行向下兼容的多模IRA_LDPC譯碼方法。
【背景技術(shù)】
[0002] LDPC碼,又稱低密度奇偶校驗碼。在目前的編碼方法中,它能很好地接近香農(nóng)極限 的編碼性能;在譯碼性能方面,錯誤碼字無法檢測的概率幾乎為零,而且還擁有相對簡單的 譯碼算法,具有很高的實用價值。因此LDPC碼能夠廣泛應用于現(xiàn)代通信標準中的各個領 域。準循環(huán)的低密度奇偶校驗碼是一種特殊的LDPC碼,它的校驗矩陣的每一個子矩陣或是 全0或是單位矩陣的循環(huán)移位。送一特性使得LDPC在ASIC實現(xiàn)時擁有更低的復雜度,可 W并行操作來提高吞吐率,也便于LDPC譯碼的調(diào)度。
[0003] 通信信道的多樣化,不同信道環(huán)境所需要的糾錯能力也不一樣,靈活的可變碼率 或者碼長的糾錯碼技術(shù)研究顯得迫不及待?,F(xiàn)代通信系統(tǒng)的數(shù)據(jù)量越來越大,為了保證實 時性,增加系統(tǒng)的效率,提高數(shù)據(jù)的吞吐率也是LDPC碼譯碼器研究必不可少的熱點之一。
[0004] LDPC譯碼算法主要有和積算法和最小和算法兩種。在實現(xiàn)的結(jié)構(gòu)上,LDPC譯碼主 要有兩相位數(shù)據(jù)傳遞(TPM巧和分層迭代兩種。TPMP的結(jié)構(gòu)是在單次迭代過程中先進行校 驗節(jié)點更新,再完成變量節(jié)點的更新。分層迭代結(jié)構(gòu)是將校驗矩陣的所有行列分為若干層, 每更新完一行的信息,接著就更新所有列的信息。傳統(tǒng)的TPMP算法或者是分層迭代結(jié)構(gòu)都 是建立在校驗矩陣具有準循環(huán)的特點,并行向下兼容的多模IRA_LDPC譯碼器詳細展示了 一種譯碼順序重排的譯碼算法,擴展了LDPC譯碼器的使用范圍,增加了其兼容性。
[0005] LDPC譯碼器提高數(shù)據(jù)吞吐率的方法有很多,傳統(tǒng)的LDPC譯碼器采用的是全并行 或者半并行的方式,而且基本都是研究的單一碼率標準。全并行的LDPC碼,不能夠適用于 多標準、碼率變化的硬件的結(jié)構(gòu)設計,而且硬件實現(xiàn)隨著碼長的增加會越來越復雜;分塊處 理的LDPC譯碼器,對碼率結(jié)構(gòu)的設計有所要求;對于涉及到的多標準和碼率變化的LDPC譯 碼器,其硬件結(jié)構(gòu)缺乏靈活性,不能做到并行兼容,吞吐率速度方面有一定的困難和瓶頸。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明要解決的技術(shù)問題是提供一種能兼容不同的并行度提高數(shù)據(jù)吞吐率,節(jié)約 單次迭代譯碼需要的時間的并行向下兼容多模IRA_LDPC譯碼器。本發(fā)明還提供了一種并 行向下兼容的多模IRA_LDPC譯碼方法。
[0007] 為解決上述技術(shù)問題,本發(fā)明的并行向下兼容多模IRA_LDPC譯碼器,包括:
[0008] 后驗信息存儲單元QRAM連接后驗信息存儲和數(shù)據(jù)處理單元間的數(shù)據(jù)切換模塊 QIF,后驗信息存儲單元QRAM共有2XZ個單口隨機存取存儲器,深度Lwam跟碼長Lidp。的 關(guān)系式為Lidp。=ZXLwam,后驗信息存儲單元QRAM位寬由定點量化后驗信息得到,Z表示并 行度;
[0009] 初始化輸入信息單口存儲單元IRAM連接初始化輸入信息存儲和數(shù)據(jù)處理單元間 的數(shù)據(jù)切換模塊HF,用于列掃描變量節(jié)點的更新,其存儲空間位寬和深度都與后驗信息存 儲單元QRAM-致,個數(shù)為后驗信息存儲單元QRAM的一半;
[0010] 后驗信息存儲和數(shù)據(jù)處理單元間的數(shù)據(jù)切換模塊QIF連接數(shù)據(jù)處理單元CCU,根 據(jù)主控模塊CTL傳入的后驗信息存儲單元QRAM的讀寫控制信號,實現(xiàn)數(shù)據(jù)的切換與后驗信 息存儲單元QRAM直接相連;具體的切換功能是根據(jù)主控模塊CTL傳入給后驗信息存儲單元 QRAM的讀寫控制信號轉(zhuǎn)換為對應實際連接到隨機存取存儲器RAM上面的控制信號;
[0011] 后驗信息存儲和數(shù)據(jù)處理單元間的數(shù)據(jù)切換模塊QIF連接數(shù)據(jù)處理單元CCU,根 據(jù)主控模塊CTL傳入的后驗信息存儲單元QRAM的讀寫控制信號,實現(xiàn)數(shù)據(jù)的切換連;具體 的切換功能是根據(jù)主控模塊CTL傳入給后驗信息存儲單元QRAM的讀寫控制信號轉(zhuǎn)換為對 應實際連接到隨機存取存儲器RAM上面的控制信號;
[0012] 初始化輸入信息存儲和數(shù)據(jù)處理單元間的數(shù)據(jù)切換模塊IIF連接數(shù)據(jù)處理單元 CCU,根據(jù)主控模塊CTL傳入的初始化輸入信息單口存儲單元IRAM的讀寫控制信號,進行數(shù) 據(jù)切換;具體的切換功能是根據(jù)主控模塊CTL傳入給初始化輸入信息單口存儲單元IRAM的 讀寫控制信號轉(zhuǎn)換為對應實際連接到隨機存取存儲器RAM上面的控制信號;
[0013] 數(shù)據(jù)處理單元CCU是譯碼器的核必運算單元,其連接先驗信息和數(shù)據(jù)處理單元之 間的數(shù)據(jù)切換模塊RIF,用于變量節(jié)點和校驗節(jié)點的更新計算,包括循環(huán)移位寄存器,歸一 化最小值搜索模塊W及數(shù)據(jù)恢復模塊;
[0014] 先驗信息和數(shù)據(jù)處理單元之間的數(shù)據(jù)切換模塊RIF連接先驗信息壓縮存儲單元 RMINRAM和壓縮后的先驗信息符號位存儲單元RSIGNSELFRAM,根據(jù)主控模塊CTL傳入的 先驗信息壓縮存儲單元MINRAM和壓縮后的先驗信息符號位存儲單元RSIGNSELFRAM的 讀寫控制信號,進行數(shù)據(jù)切換;具體的切換功能是根據(jù)主控模塊CTL傳入給先驗信息壓縮 存儲單元MINRAM的讀寫控制信號轉(zhuǎn)換為對應實際連接到隨機存取存儲器RAM上面的控 制信號;
[0015] 先驗信息壓縮存儲單元MINRAM用于存儲先驗信息的最小值、次小值、符號異或 值和最小值位置索引壓縮值,先驗信息壓縮存儲單元的個數(shù)有Z個,深度Luuam與不同碼率校 驗矩陣的行數(shù)町的關(guān)系式為町=ZXLkkam,其位寬由歸一化最小值算法得到的最小值、次小 值、符號異或位和索引值的累加和得到;
[0016] 壓縮后的先驗信息符號位存儲單元RSIGNSELFRAM,壓縮后的先驗信息符號位存 儲單元RSIGNSELFRAM位存儲器位寬為并行度Z,深度為非零子塊的個數(shù)SUB_MAX_CNT,采 用雙口隨機存取存儲器能解決自符號位在讀寫操作過程中的讀寫沖突;
[0017] 讀寫W及功能模塊動作控制的主控單元模塊C化,分別控制初始化輸入信息單口 存儲單元IRAM、數(shù)據(jù)處理單元CCU和先驗信息壓縮存儲單元RMINRAM的整體讀寫時序,即 分為初始化控制,譯碼迭代控制W及譯碼輸出控制,其連接第一~第H只讀存儲器;
[0018] 第一只讀存儲器HR0M1,用于存儲行掃描校驗節(jié)點更新時的每一個非零子矩陣的 行塊號、列塊號W及偏移量,其存儲深度是非零子塊的個數(shù)SUB_MX_CNT,存儲器的寬度為 行掃描時的行塊號、列塊號和偏移量位寬累加和;
[0019] 第二只讀存儲器HR0M2,用于存儲列掃描變量節(jié)點更新時的每一個非零子矩陣的 列塊號、行塊號W及偏移量,其存儲深度是非零之塊的個數(shù)SUB_MX_CNT,存儲器的寬度為 列掃描時的列塊號、行塊號和偏移量位寬累加和;
[0020] 第H只讀存儲器HR0M3,用于存儲所有碼率對應每個子塊外信息數(shù)據(jù)壓縮后自身 符號位列尋址的地址W及此非零子塊對應每行塊的偏移地址,其存儲深度是非零子塊的個 數(shù)SUB_MAX_CNT,存儲器的寬度為列掃描時的子塊在行掃描的行偏移地址及列尋址地址。
[0021] 本發(fā)明提供一種上述譯碼器進行IRA_LDPC譯碼的方法,包括:
[0022] 步驟1)初始化,根據(jù)并行度Z調(diào)序存儲輸入信息,用于后續(xù)變量節(jié)點的更新,即對 輸入信息進行QC行列變換和矩陣拆分;
[0023] 在初始化的過程中,根據(jù)并行度Z來調(diào)序存儲輸入的信息I。,用于后面的變量節(jié)點 的更新。IRA_LDPC碼的構(gòu)造特點決定了,對IRA_LDPC碼進行QC變換處理(QC變換指的是 對校驗矩陣做行列變換,使IRA_LDPC的校驗矩陣變換后有準循環(huán)特性)后,得到的準循環(huán) 特性矩陣維度為P??蒞通過拆分變換將PXP的原矩陣拆成維度較低的不含有雙對角線的 子矩陣,拆分因子S和并行度Z具有如下關(guān)系;Z巧=P
[0024] 對PXP矩陣進行拆分變換時,拆分因子S的選取非常重要,選擇合適的S可W使 拆分后多對角線矩陣的個數(shù)降到最小或者完全消除。
[0025] 步驟2)行掃描,校驗節(jié)點的更新,行掃描遍歷所有校驗矩陣的每行的所有的非零 元,得到每行行重個數(shù)的變量節(jié)點對應的后驗信息與校驗節(jié)點對應的先驗信息差值,用于 歸一化最小值算法的處理,最終完成校驗節(jié)點的更新;在行掃描的同時,根據(jù)取出的上次迭 代的后驗信息,對其截取最高位即符號位,通過異或邏輯能夠?qū)崟r完成硬判決,實現(xiàn)提前迭 代判斷;
[0026] 實時通過后驗信息確定校驗矩陣的完全更新與否,判斷其能否滿足提前迭代條 件。迭代中行掃描運算采用外信息來更新先驗信息。行掃描的運算可采用公式為:
[0029] 公式中絞^''叫旨的是上一次迭代的后驗信息,礎;A指的是上次迭代獲得的先驗信 息,錢:,,i>指的是本次迭代獲得的外信息,此外信息通過歸一化最小和算法能夠?qū)崿F(xiàn)本次迭 代先驗信息成,',!的更新。在第一次迭代的時候,先驗信息的值與輸入信息一致,外信息初始 化為0值。每一次行掃描迭代的過程中都會有后驗信息的讀取,可W截取后驗信息的最高 位,通過異或取值來完成硬判決,進而達到提前迭代判斷的目的。
[0030] 步驟扣列掃描,變量節(jié)點的更新;
[0031] 列掃描遍歷所有校驗矩陣的每列的所有的非零元,得到每列列重個數(shù)的先驗信息 的累加和值,與輸入信息相加,最終完成后驗信息的更新;
[0032] 迭代中列掃描運算采用輸入信息與先驗信息來更新后驗信息。列掃描的運算可采 用公式為:
[0033] 紡'Z.,':…C