基於FPGA的LDPC編碼設計

2020-12-05 電子產品世界

在通信系統中糾錯碼被用來提高信道傳輸的可靠性和功率利用率,低密度奇偶校驗碼LDPC(Low Density Parity Check code)是目前性能最好的糾錯碼,最初由GaUager提出,但當時並沒有引起足夠的重視。直到Turbo碼提出後,人們在研究Turbo碼的迭代解碼時,發現二者具有相同的特性,即約束隨機碼集合和迭代解碼算法,這導致了隨後LD-PC碼的復出。1996年,Mackay和Neal隨機構造出的LDPC碼,當碼長很長時其性能超過Turbo碼,並在實現上更有優勢,從而激起編碼界對LDPC碼的研究熱情,成為當今信道編碼領域最令人矚目的研究熱點之一。LDPC碼出色的糾錯性能以及可以並行解碼的特點特別是其簡單實用性使其成為下一代通信糾錯編碼的首選。因此,這裡介紹一種基於FPGA的LDPC編碼設計。

1 LDPC碼
LDPC碼是一種線性分組碼,其校驗矩陣是稀疏矩陣,因為相應的校驗矩陣中包含絕大多數的0而僅有極少數的1而得名。一個(n,k)二進位LDPC碼可以用一個非常稀疏的奇偶校驗矩陣H來表示。其中,H是一個mxn的矩陣,n表示編碼比特長度,m表示校驗比特長度,k=n-m是信息比特長度。與校驗矩陣H相對應的是一個生成矩陣G,生成矩陣將要發送的信息s={sl,s2,…,sm}轉換成被傳輸的碼子c={c1,c2,…,cn},n>m。對於任何一個合法的碼字c,都有校驗方程HcT=0。

2 RU編碼算法
LDPC碼屬於線性分組碼。信號通過LDPC編碼後的碼字符合公式:

式中,c為碼字,H為校驗矩陣。
直接的編碼方案:1)高斯消元,將校驗矩陣H化為下三角形式:2)將c分為信息比特和校驗比特2部分,如x=(s,p),其中s為已知信息比特向量,p為待求校驗信息比特向量;3)利用前向迭代方法解方程HcT=O,得到p。由於高斯消元後的矩陣不再具有稀疏性,因此這種編碼方法的硬體實現方案,其複雜度是與碼長的平方成正比。為了降低複雜度,Richardson和Urbanke充分利用校驗矩陣的稀疏性,將LDPC碼的編碼複雜度降到與碼長n成線性關係,即RU算法。
RU算法包括兩個階段:預處理階段和信號編碼階段。通過預處理將校驗矩陣日變為一個近似下三角的矩陣,由於這種變換僅僅通過行置換來實現,所以矩陣的稀疏特性被保留。如圖1所示,在校驗矩陣H的近似下三角形式中,分塊矩陣A、B、C和c都保持了稀疏性,D為密集矩陣,T為稀疏的下三角矩陣。當g很小時,即矩陣D很小時,可以大大降低編碼運算複雜度。為減少運算量應在設計H矩陣時使g越小越好。
實際編碼由矩陣相乘、前向迭代和向量相加操作組成。對於給定的一個校驗矩陣,預處理編碼預處理過程和矩陣的計算只需要做一次,所以可先用軟體完成,實際編碼在硬體上完成。RU編碼算法中可以進行部分並行運算,使得吞吐率最大化。通過有效的矩陣存儲,降低存儲單元的消耗量。
2.1 編碼器設計

本文引用地址:http://www.eepw.com.cn/article/191682.htm


預處理包括2步:三角化和秩校驗。三角化通過行列置換處理將校驗矩陣轉化成圖1所示的形式,則:

式中,A為(m-g)×(n-m),B為(m-g)×g,T為(m-g)×(m-g),C為gx(n-m),D為gxg,E為gx(m-g)。除D外,其他全是稀疏矩陣,且T為對角線上全為l的下三角矩陣。


相關焦點

  • 基於FPGA的無損圖像壓縮系統設計
    編者按:  摘要:本文簡要介紹了圖像壓縮的重要性和常用的無損圖像壓縮算法,分析了快速高效無損圖像壓縮算法(FELICS)的優勢,隨後詳細分析了該算法的編碼步驟和硬體實現方案,最後公布了基於該方案的FPGA性能指標。
  • 基於FPGA的RCN226絕對式編碼器通信接口設計
    為了減小體積,絕對式編碼器一般採用串行通信方式輸出絕對編碼,針對伺服電機控制等高端場合,為了滿足快速的電流環、速度環、位置環的控制需要,編碼輸出的速度又應該非常快,這些不利因素都對絕對式編碼的接收增加了難度。 絕對式編碼器廠家大多為其編碼器配套了接收晶片,實現串行編碼到並行編碼的轉換,便於控制器的讀取操作。
  • 基於FPGA高精度浮點運算器的FFT設計與仿真
    摘要 基於IEEE浮點表示格式及FFT算法,提出一種基2FFT的FPGA方法,完成了基於FPGA高精度浮點運算器的FFT的設計。利用VHDL語言描述了蝶形運算過程及地址產生單元,其仿真波形基本能正確的表示輸出結果。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    系統硬體分為語音信號的採集和播放,基於dsp的語音識別,fpga動作指令控制、步進電機及其驅動、dsp外接快閃記憶體晶片,jtag口仿真調試和鍵盤控制幾個部分。語音信號特徵向量採用mel頻率倒譜係數mfcc(mel frequency cepstrum coeficient的提取,mfcc參數是基於人的聽覺特性的,他利用人聽覺的臨界帶效應[3],採用mel倒譜分析技術對語音信號處理得到mel倒譜係數矢量序列,用mel倒譜係數表示輸入語音的頻譜。
  • 基於FPGA與有限狀態機的高精度測角系統的設計與實
    光電編碼器按編碼方式主要分為兩類:增量式與絕對式。由於增量式光電編碼器成本低、測角的精度高,因此本系統的增量式光電編碼器選用Renishaw公司的高精度圓光柵。然而,由於機械振動或抖動等原因,增量式編碼器的輸出脈衝會出現抖動毛刺的現象,因此需要在對編碼器輸出脈衝進行計數的過程中採取有效的方法來去掉抖動幹擾。
  • 基於FPGA的結構光圖像中心線提取
    利用現場可編程門陣列器件(FPGA)的流水線技術以及並行技術的硬體設計來完成運算,保證了光條紋中心點的實時準確提取。實驗表明採用FPGA 實現圖像處理的專用算法能滿足圖像數據進行實時準確提取的要求。利用現場可編程門陣列器件(FPGA)的流水線技術以及並行技術的硬體設計來完成運算,保證了光條紋中心點的實時準確提取。實驗表明採用FPGA 實現圖像處理的專用算法能滿足圖像數據進行實時準確提取的要求。
  • 基於fpga二維小波變換核的實時可重構電路
    項目背景及可行性分析本文引用地址:http://www.eepw.com.cn/article/266432.htm  2.1 項目名稱及摘要:  基於fpga二維小波變換核的實時可重構電路  現場可編程門陣列為可進化設計提供了一個理想的模板
  • 基於Spartan-6 FPGA的Sinc3 Filter設計
    濾波器相關文章:濾波器原理 fpga相關文章:fpga是什麼 濾波器相關文章:濾波器原理 電源濾波器相關文章:電源濾波器原理
  • 基於FPGA的巴特沃茲IIR數字帶通濾波器設計
    由圖1可見,系統的上、下邊帶分別為150Hz和30Hz,滿足系統設計要求。4.FPGA設計4.1 濾波器的結構同一系統函數的IIR濾波器可以用不同的結構來實現,如直接I型、直接II型(典範型)、級聯型和並聯型。不同的結構有不同的特點,為便於硬體實現及容易確定數據位數,本文選用直接I型這一結構形式。系統的直接I型結構如圖2所示。
  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    摘要 FIR濾波器的設計分為濾波器係數計算和濾波器結構的具體兩個部分。2 使用MatIab Fdatool設計FIR濾波器FDATool(Fliter Design & Analysis Tool)是Matlab信號處理工具箱專用的濾波器設計分析工具,操作簡單、靈活,可採用多種方法設計FIR和IIR濾波器。在Matlab命令窗口輸入FDATool後回車就會彈出FDATool界面。
  • WIMAX LDPC碼解碼器的FPGA實現
    摘 要: 設計了基於TDMP-NMS算法的碼率碼長可配置LDPC碼解碼器,支持採用一種工作於增量模式的基於填充算法的桶形移位寄存器結構,實現了對該標準中576、768、1152、2304 4種碼長LDPC 碼解碼的支持。結果表明所設計的解碼器完全能滿足WIMAX標準對數據吞吐率的要求。
  • 基於FPGA IP核的FFT實現
    這裡從Altera IP核出發,建立了基4算法的512點FFT工程,對不同參數設置造成的誤差問題進行分析,並在EP2C70F896C8器件上進行基於Quartus II的綜合仿真,得到利用FFT IP核的FFT算法高效實現,最後利用Matlab進行的計算機仿真分析證明了工程結果的正確性。
  • 一種基於FPGA的全光纖電流互感器控制電路設計
    本文利用FPGA來實現精密時序控制的同時,實現非常複雜的信號處理算法,並以FPGA為核心器件完成光纖電流互感器信號檢測和控制電路設計,利用該電路控制光纖電流互感器傳感頭進行電流測試和標定。試驗結果表明,系統控制精度達到0.2 S級測量準確度的要求。
  • 一種基於FPGA的實時紅外圖像預處理方法
    針對這一問題,提出一種基於FPGA的實時紅外圖像預處理方法。該方法採用了流水線技術來並行完成非均勻校正、空間濾波、直方圖統計等多個紅外圖像預處理算法,對系統結構進行了改進和優化。經過實驗測試驗證,該方法合理可行,能夠實時高效地完成紅外圖像預處理任務。與DSP圖像預處理系統相比可以節約將近50%的處理時間。
  • 零基礎學FPGA(七)淺談狀態機
    首先,是一種典型的狀態機寫法,這種寫法我們稱為一段時狀態機,用於一些簡單的設計是可以的,但如果是複雜的狀態機,不建議大家用這種寫法。  //***********************************************************  //可綜合的狀態機設計的典型方法  //實現典型的狀態機設計  //**********************************************  module fsm (clk,rst_n
  • 基於FPGA的複數浮點協方差矩陣實現
    最終導致FPGA器件資源枯竭,無法實現設計。為了保證算法的實現,必須對中間運算數據進行截斷,將每次累加的結果除2(可以通過移位運算來實現),以避免溢出。 此外,在應用MUSIC算法時,各種計算都是複數運算。
  • 基於FPGA的伺服驅動器分周比設計與實現
    為此提出一種基於FPGA的整數分周比實現方法。該方法邏輯結構簡單,配置靈活,易於擴展,具有很高的實用價值。  1 電子齒輪比與分周比  電子齒輪比與分周比是數控工具機和數控加工中心中一個很重要的概念。 fpga
  • 基於FPGA的實時中值濾波器硬體實現
    文獻[7]為了提高紅外成像跟蹤器設計了大窗口的中值濾波器。文獻[3]、[4]提出了鄰域圖像幀存的存儲結構,該結構充分利用了圖像幀存的數據結構轉換特性,並行高速提供鄰域圖像數據,配以FPGA作為並行處理器,高速實時地實現了中值濾波。但是以上研究都是基於標清圖像的中值濾波器,處理的圖像大小一般為256×256、512×512的灰度圖等,很少有實現高清圖像的中值濾波器。
  • 基於CMMB系統的LDPC解碼器的設計與實現
    該設計充分利用了LDPC校驗矩陣的規律,採用了一種適當的硬體結構和獨特的存儲器調用控制策略,故可在保證高性能和較大吞吐率的情況下,以較少的硬體資源實現兩種碼率的復用。中國移動多媒體廣播(CMMB)中使用的就是LDPC糾錯編碼。在CMMB標準中,LDPC碼長為9216,可支持1/2和3/4兩種碼率。作者通過深入分析CMMB中LDPC碼校驗矩陣的特點,採用了一種合適的硬體實現結構,因而在保證解碼器較高性能和較快解碼速度的情況下,以較低的硬體資源實現了兩種碼率的復用。
  • 《生命遊戲》FPGA實例評測:有限狀態機用哪種編碼更好?
    綜合工具通常會檢查你的代碼以檢測FSM,並執行可能會修改狀態編碼的優化。FSM的三種編碼用於FSM的三種最受歡迎的編碼是二進位(Binary)、格雷(Gray)和獨熱碼(one-hot)。 二進位編碼二進位編碼是在將值順序分配給狀態時可以直觀使用的簡單方法。這樣,您將使用儘可能少的位來編碼狀態。