本發明專利技術公開了一種部分并行LDPC譯碼器的實現方法,主要解決現有DVB-X2系統中LDPC譯碼器硬件實現復雜度較高的問題;其實現步驟包括:(1)調整LDPC碼譯碼器輸入的對數似然比信息的順序;(2)將輸入的1路數據轉換成為180路并行的數據;(3)按并行度為180部分并行譯碼結構,對變量節點進行初始化;(4)進行校驗節點的更新處理;(5)進行變量節點的更新處理;(6)當完成所設定的最大迭代次數時,計算出硬判決信息;(7)對硬判決信息進行判決;(8)調整判決信息的順序,按照與譯碼器輸入順序相對應的順序將譯碼結果輸出。
【技術實現步驟摘要】
本專利技術屬于無線通信
,設及一種部分并行LDPC譯碼器的實現方法,具體 地說,設及一種適用于DVB-X2系統的部分并行LDPC譯碼器的實現方法。
技術介紹
為保證信息能夠高效可靠的傳輸,要求通信系統具有一定的檢糾錯能力。前向 糾錯碼能夠有效改善信道噪聲對信息傳輸的影響,在現代數字通信系統中已得到了廣泛 應用,可逼近香農限性能的低密度奇偶校驗碼(LowDensityParity化eck,LDPC)的糾 錯碼技術更是該領域的研究熱點。近年來,用于第二代數字視頻廣播值igitalVideo Broadcasting-Satellite2,Terrestrial2orC油le2,統稱DVB-X2)系統的LDPC碼的 低成本、高速FPGA實現得到了廣泛關注。現有的LDPC碼譯碼器硬件實現的復雜度較高,如 何降低LDPC譯碼器硬件實現的資源占用,成為了業內學者和技術人員研究的重點。 LDPC碼譯碼器可采用全串行譯碼結構、全并行譯碼結構或部分并行譯碼結構實 現。全串行譯碼結構只有一個變量節點更新單元和一個校驗節點更新單元,在每個時鐘周 期內只進行校驗節點的更新或只進行變量節點的更新,其硬件譯碼實現結構簡單,但由于 該結構中所有運算過程都采用流水線串行處理,使得其譯碼延遲非常嚴重,且延時會隨碼 長的增加而增加,導致其譯碼吞吐率很低,不能滿足DVB-X2高達80Mbps的吞吐率要求。而 全并行譯碼結構中所有校驗節點和變量節點的更新是在同一個時鐘周期內同時進行的,其 譯碼速率快、吞吐率高,但是W犧牲譯碼復雜度為代價的,且隨著碼長的增加其譯碼復雜度 指數增長。DVB系列標準中LDPC碼定義16200和64800兩種長度,全并行譯碼結構實現復 雜度過高,不利于相關巧片普及。部分并行譯碼結構各個子模塊間是并行處理的,但是每個 子模塊內部又有串行處理,在譯碼復雜度、硬件資源的占用、譯碼器的譯碼速率及譯碼吞吐 率等方面,部分并行譯碼結構是全串行和全并行譯碼結構的折中,是目前工程界和學術界 的主要研究方向。對部分并行LDPC譯碼器而言,并行度及譯碼器內部處理方式是衡量其實 現結構優劣的重要指標。2010年,G.Fernandes首現在其博:t論文"ParallelAlgorithms andArchitec1:uresforLDPCDecoding"中提出了一種義用部分并行譯碼結構的LDPC譯 碼器的硬件實現方法,并行度為180,內部使用桶狀移位處理模塊和譯碼參數分別ROM存儲 等設計,使得其在復雜度和吞吐率上取得了較好的折中,但譯碼復雜度仍較高,并且沒有針 對DVB-X2的多碼率、長短碼共存等特性進行專口的設計優化。
技術實現思路
為了克服現有技術中存在的缺陷,本專利技術利用目前在數字信號處理領域廣泛采用 的現場可編程邏輯口陣列(FPGA),提出了一種部分并行LDPC譯碼器的實現方法,通過優化 LDPC譯碼器中數據移位模塊及譯碼參數存儲模塊,W達到進一步降低其實現的復雜度的目 的。 其技術方案如下: 實現本專利技術的技術思路是;本專利技術設計的LDPC低復雜度部分并行譯碼器的實現 方法,包括W下過程:調整LDPC碼譯碼器輸入的對數似然比信息的順序,并將輸入的1路數 據轉換成為180路并行的數據,按并行度為180的部分并行譯碼結構,使用改進的數據移位 模塊對變量節點進行初始化,進行校驗節點的更新處理,然后再進行變量節點的更新,當完 成所設定的最大迭代次數時,計算出硬判決信息,最后對硬判決信息進行判決,調整判決信 息的順序,輸出對應順序的譯碼結果。一種部分并行LDPC譯碼器的實現方法,包括W下步 驟: 1)對輸入到譯碼器中的對數似然比(LLR)信息流進行順序調整,得到LLR信息流 a;[000引 2)將步驟1)所述的LLR信息流a轉換為并行的180路數據,存儲到第一存儲器 RAM1中,當一帖數據接收完成之后,將第一存儲器RAM1中的數據轉存到第二存儲器RAM2 中; 3)當下一帖數據到達時再次將輸入數據存入到第一存儲器RAM1中,同時,譯碼控 制模塊根據譯碼器輸入的碼率控制信息,輸出對應碼率下第二存儲器RAM2的讀地址信息, 輸出第二存儲器RAM2中的數據,得到化R信息流b,其對應變量節點i的化R信息為L(Pi), Pi表示變量節點i的概率信息; 4)譯碼控制模塊根據譯碼器輸入的碼率控制信息,輸出對應碼率的譯碼控制信 息,控制數據移位模塊將LLR信息流b進行移位,得到變量節點的初始值L? (qy),qy表示 變量節點i傳給校驗節點j的外部概率信息; 5)當譯碼使能信號有效時,根據譯碼控制模塊輸出的對應碼率的譯碼控制參數, 對校驗節點進行更新,校驗節點的更新公式如下:【主權項】1. 一種部分并行LDPC譯碼器的實現方法,其特征在于, 包括以下步驟: 1) 對輸入到譯碼器中的對數似然比LLR信息流進行順序調整,得到LLR信息流a; 2) 將步驟1)所述的LLR信息流a轉換為并行的180路數據,存儲到第一存儲器RAMI 中,當一幀數據接收完成之后,將第一存儲器RAMI中的數據轉存到第二存儲器RAM2中; 3) 當下一幀數據到達時再次將輸入數據存入到第一存儲器RAM1中,同時,譯碼控制模 塊根據譯碼器輸入的碼率控制信息,輸出對應碼率下第二存儲器RAM2的讀地址信息,輸出 第二存儲器RAM2中的數據,得到LLR信息流b,其對應變量節點i的LLR信息為L(PJ,Pi 表示變量節點i的概率信息; 4) 譯碼控制模塊根據譯碼器輸入的碼率控制信息,輸出對應碼率的譯碼控制信息,控 制數據移位模塊將LLR信息流b進行移位,得到變量節點的初始值Lto) (%),%_表示變量節 點i傳給校驗節點j的外部概率信息; 5) 當譯碼使能信號有效時,根據譯碼控制模塊輸出的對應碼率的譯碼控制參數,對校 驗節點進行更新,校驗節點的更新公式如下: ? -I其中k是譯碼的迭代次數,初始值為0,a是修正因子,&表示所有與校驗節點j相連 的變量節點的集合,&\i表示除變量節點i之外所有與校驗節點j相連的變量節點的集合, i'eRj\i表示i'是集合Rj\i中的元素,L(k)(rji)是第k次迭代得到的校驗節點j的LLR 信息,h表示校驗節點j傳給變量節點i的外部概率信息L(k) (qi;p表示第k次迭代時變 量節點i'向校驗節點j傳送的LLR信息,qi^表示變量節點i'傳給校驗節點j的外部概 率信息,sgn(L(k) (qi,」))表示求L(k) (qi;的符」)表示求所有滿足變量 節點i'的sgn(L(k)(qi,」))的乘積,|L(k)(qi, ) |表示L(k)(qi,的絕對值,忠知)|》 表示求出所有滿足變量節點i'e&\i的|L(k)(q^) |的最小值; 6) 根據譯碼控制模塊輸出的譯碼控制參數,使用數據移位模塊將步驟5)中計算得到 的校驗節點的LLR信息進行移位,用于變量節點的更新; 7) 當步驟6)所述的校驗節點LLR信息的移位完成之后,譯碼使能信號再次變為有效, 此時根據譯碼控制模塊輸出的譯碼控制參數,對變量節點進行更新,變量節點的更新公式 如下.其中C(i)表示所有與變量節點i相連的校驗節本文檔來自技高網...
【技術保護點】
一種部分并行LDPC譯碼器的實現方法,其特征在于,包括以下步驟:1)對輸入到譯碼器中的對數似然比LLR信息流進行順序調整,得到LLR信息流a;2)將步驟1)所述的LLR信息流a轉換為并行的180路數據,存儲到第一存儲器RAM1中,當一幀數據接收完成之后,將第一存儲器RAM1中的數據轉存到第二存儲器RAM2中;3)當下一幀數據到達時再次將輸入數據存入到第一存儲器RAM1中,同時,譯碼控制模塊根據譯碼器輸入的碼率控制信息,輸出對應碼率下第二存儲器RAM2的讀地址信息,輸出第二存儲器RAM2中的數據,得到LLR信息流b,其對應變量節點i的LLR信息為L(Pi),pi表示變量節點i的概率信息;4)譯碼控制模塊根據譯碼器輸入的碼率控制信息,輸出對應碼率的譯碼控制信息,控制數據移位模塊將LLR信息流b進行移位,得到變量節點的初始值L(0)(qij),qij表示變量節點i傳給校驗節點j的外部概率信息;5)當譯碼使能信號有效時,根據譯碼控制模塊輸出的對應碼率的譯碼控制參數,對校驗節點進行更新,校驗節點的更新公式如下:L(k)(rji)=αΠi′∈Rj\isgn(L(k)(qi′j))·mini′∈Rj\i(|L(k)(qi′j)|),]]>其中k是譯碼的迭代次數,初始值為0,α是修正因子,Rj表示所有與校驗節點j相連的變量節點的集合,Rj\i表示除變量節點i之外所有與校驗節點j相連的變量節點的集合,i′∈Rj\i表示i′是集合Rj\i中的元素,L(k)(rji)是第k次迭代得到的校驗節點j的LLR信息,rji表示校驗節點j傳給變量節點i的外部概率信息L(k)(qi′j)表示第k次迭代時變量節點i′向校驗節點j傳送的LLR信息,qi′j表示變量節點i′傳給校驗節點j的外部概率信息,sgn(L(k)(qi′j))表示求L(k)(qi′j)的符號,表示求所有滿足變量節點i′的sgn(L(k)(qi′j))的乘積,|L(k)(qi′i)|表示L(k)(qi′j)的絕對值,表示求出所有滿足變量節點i′∈Rj\i的|L(k)(qi′j)|的最小值;6)根據譯碼控制模塊輸出的譯碼控制參數,使用數據移位模塊將步驟5)中計算得到的校驗節點的LLR信息進行移位,用于變量節點的更新;7)當步驟6)所述的校驗節點LLR信息的移位完成之后,譯碼使能信號再次變為有效,此時根據譯碼控制模塊輸出的譯碼控制參數,對變量節點進行更新,變量節點的更新公式如下:L(k)(qij)=L(Pi)+Σj′∈C(i)\jL(k)(rj′i),]]>其中C(i)表示所有與變量節點i相連的校驗節點的集合,C(i)\j表示除校驗節點j之外所有與變量節點i相連的校驗節點的集合,j′∈C(i)\j表示j′是集合C(i)\j的元素,L(k)(qij)表示第k次迭代得到的變量節點i的LLR信息,L(k)(rj′i)表示第k次迭代時校驗節點j′向變量節點i傳送的LLR信息,rj′i表示校驗節點j′傳給變量節點i的外部概率信息,表示求所有滿足校驗節點j′的所有L(k)(rj′i)的和;8)根據譯碼控制模塊輸出的譯碼控制參數,使用數據移位模塊將步驟7)中計算得到的變量節點的LLR信息進行移位,用于下一次譯碼迭代過程中校驗節點的更新;9)迭代次數k增加1,重復步驟5)~8),進行下一次的譯碼迭代過程;10)當迭代次數k達到設定的最大迭代次數h時,計算所有變量節點的硬判決信息,進行硬判決并將判決結果進行緩存,其計算公式如下:L(h)(qi)=L(Pi)+Σj∈C(i)L(h)(rji)]]>其中j∈C(i)表示j是集合C(i)中的元素,表示求解所有滿足校驗節點j的L(k)(rji)的和,rji表示校驗節點j傳給變量節點i的外部概率信息;11)調整判決信息的順序,按照與譯碼器輸入順序相對應的順序將譯碼結果輸出;同時,譯碼使能信號變為有效;12)重復步驟3)~11)對下一幀數據進行譯碼。...
【技術特征摘要】
【專利技術屬性】
技術研發人員:宮豐奎,安寧,袁云云,張南,
申請(專利權)人:宮豐奎,
類型:發明
國別省市:陜西;61
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。