LDPC(Low Density Parity Check)碼是一類可以用非常稀疏的校驗矩陣或二分圖定義的線性分組糾錯碼,最初由Gallager發現,故亦稱Gallager碼.它和著名Turbo碼相似,具有逼近香農限的性能,幾乎適用于所有信道,因此成為近年來信道編碼界研究的熱點。 LDPC碼的奇偶校驗矩陣呈現稀疏性,其譯碼復雜度與碼長成線性關系,克服了分組碼在長碼長時所面臨的巨大譯碼計算復雜度問題,使長編碼分組的應用成為可能。而且由于校驗矩陣的稀疏特性,在長的編碼分組時,相距很遠的信息比特參與統一校驗,這使得連續的突發差錯對譯碼的影響不大,編碼本身就具有抗突發差錯的特性。 本文首先介紹了LDPC碼的基本概念和基本原理,其次,具體介紹了LDPC碼的構造和各種編碼算法及其生成矩陣的產生方法,特別是準循環LDPC碼的構造以及RU算法、貪婪算法,并在此基礎上采用貪婪算法對RU算法進行了改進。 最后,選用Altera公司的Stratix系列FPGA器件EPls25F67217,實現了碼長為504的基于RU算法的LDPC編碼器。在設計過程中,為節省資源、提高速度,在向量存儲時采用稀疏矩陣技術,在向量相加時采用通過奇校驗直接判定結果的方法,在向量乘法中,采用了前向迭代方法,避開了復雜的矩陣求逆運算。結果表明,該編碼器只占用約10%的邏輯單元,約5%的存儲單元,時鐘頻率達到120MHz,數據吞吐率達到33Mb/s,功能上也滿足編碼器的要求。
標簽:
LDPC
FPGA
編碼
上傳時間:
2013-06-09
上傳用戶:66wji