基於FPGA的高速卷積硬體設計及實現

2021-01-10 電子產品世界

在數位訊號處理領域,離散時間系統的輸出響應,可以直接由輸入信號與系統單位衝激響應的離散卷積得到。離散卷積在電子通信領域應用廣泛,是工程應用的基礎。如果直接在時域進行卷積,卷積過程中所必須的大量乘法和加法運算,一定程度地限制了數據處理的實時性,不能滿足時效性強的工程應用。本文從實際工程應用出發,使用快速傅立葉變換(FFT)技術,探討卷積的高速硬體實現方法。

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

1 卷積算法的原理

設線性時不變系統的衝激響應為h(n),則衝激響應和輸入δ(n)之間有關係

假設該系統的輸入為x(n),輸出為y(n),則根據線性時不變系統的定義,有

根據式(3),線性時不變系統的輸出信號可以由輸入信號與單位衝激響應的卷積求得。實際應用中,x(n)與y(n)的序列長度均為有限的,假設均為N,顯然,求出N點的y(n)需要N2次複數乘法,當序列長度大時,所需計算量是龐大,在需要實時處理的系統中,難以滿足實時性要求。

將M點序列x(n),L點序列h(n)分別作擴展,構造新的序列x』(n),h』(n),使得長度N滿足如下條件

根據時域循環卷積定理,x(n)與h(n)的線性卷積可以用循環卷積來代替。即

根據式(9),給出了一種基於快速傅立葉變換(FFT)的卷積的實現方法,如圖1所示。分別對補零後的z(n)和h(n)進行FFT運算,得到對應的頻域響應X(k)和H(k),將X(k)和H(k)相乘的結果再做IFFT,即可以得到x(n)和h(n)的卷積結果y(n)。

2 基於FPGA的高速卷積的實現

隨著電子技術的發展,現階段FFT硬體實現的方法主要有ASIC,DSP和FPGA這3類。專用FFT處理晶片ASIC,例如PDSPl6510,這類晶片的主要特點是技術簡單。但是由於此類ASIC處理點數有限,實現大點數FFT時,需要多晶片並行工作,會導致所需的配套控制複雜、存儲晶片較多,加大了系統實現難度。使用DSP,如TMS320DSP6416,控制程序設計比較簡單,但由於DSP的串行式軟體工作機理,當點數較大時,處理速度難以滿足實時要求。使用FPGA實現FFT功能,其並行處理機制允許FFT運算過程中使用流水線的形式,大大提高處理速度,而且隨著技術發展,FFT IP核技術日臻完善,使得基於FFT IP核的系統在速度、靈活性等方面均展現出優越性。本文使用Altera公司的StraTIx II系列晶片EP2S60實現線性卷積的功能。

Stratix II是Altera公司生產的一款高性能FPGA器件。它採用臺積電的90 nm工藝技術生產,等效邏輯單元(LE)最高可達180 kB,嵌入式存儲器容量最高可達9 MB。該器件不但具有較高的性能和密度,而且還針對器件總功率進行了優化,同時可以支持高達l Gb/s的高速差分I/O信號,因而是一款高性能的FPGA。該晶片中所含的高性能嵌入式DSP塊的運行頻率高達370 MHz。另外Stratix II還有12個可編程PLL,並具有完善的時鐘管理和頻率合成能力,能滿足高性能系統的需求。

EP2S60集成了60 440個等效邏輯單元(LES),內嵌M512 RAM模塊329個,M4K RAM模塊255個,M-RAM模塊2個,總存儲單元2 544 192 bit,併集成了DSP模塊36個、18 bit×18 bit嵌入式硬體乘法器144個,含有2個增強性鎖相環和8個快速鎖相環,可滿足本系統的要求。

3 FFT IP核的實現方法

為了節省開發時間,加速產品的投放,本文使用Ahera提供的FFT IP核來實現FFT和IFFT功能。Ahera FFT IP核函數是一個高性能、參數化的快速傅立葉變換(FFT)處理器,完全支持Ahera的FPGA系列。可以完成變換長度為2m(6≤m≤14)的基2、基4按照頻率抽選的高性能複數FFT以及逆FFT運算。

FFT IP核支持3種數據流模式,流模式(streaming)、緩衝突發模式(Buffered Burst)、突發(Burst)模式。並可以參數化設置變換點數和FFT或IFFT轉換方向。表l給出了FFT在Stratix II系列FPGA上使用流模式(Streaming)的性能。


相關焦點

  • 基於FPGA的實時中值濾波器硬體實現
    在許多實際應用場合,如高清視頻監控、X光圖像的降噪等,需要快速且實時地進行中值濾波,軟體實現達不到實時處理的要求,因此選用硬體實現。 在硬體實現上,文獻[1]、[2]等採用行延遲的方法形成鄰域數據,以實現3×3的中值濾波。文獻[7]為了提高紅外成像跟蹤器設計了大窗口的中值濾波器。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    2 系統硬體總體設計 系統的硬體功能是實現語音指令的採集和步進電機的驅動控制,為系統軟體提供開發和調試平臺。如圖1所示。 系統硬體分為語音信號的採集和播放,基於dsp的語音識別,fpga動作指令控制、步進電機及其驅動、dsp外接快閃記憶體晶片,jtag口仿真調試和鍵盤控制幾個部分。
  • 基於FPGA的無損圖像壓縮系統設計
    編者按:  摘要:本文簡要介紹了圖像壓縮的重要性和常用的無損圖像壓縮算法,分析了快速高效無損圖像壓縮算法(FELICS)的優勢,隨後詳細分析了該算法的編碼步驟和硬體實現方案,最後公布了基於該方案的FPGA性能指標。
  • 基於FPGA的卷積層並行加速方案
    卷積層在整幅圖像上使用相對很小的卷積核(convolutional kernel)進行特徵檢測,實現了將原始圖像直接輸入神經網絡而不會引發維數災難。克服了之前基於手工特徵和分類器的系統需要分別訓練的缺點,使得圖像分類任務實現了端到端(end-to-end)。
  • 基於FPGA的高速流水線浮點乘法器設計與實現
    因此,為了進一步提高微處 理器性能,開發高速高精度的乘法器勢在必行。同時由於基於IEEE754 標準的浮點運算具 有動態範圍大,可實現高精度,運算規律較定點運算更為簡捷等特點,浮點運算單元的設計 研究已獲得廣泛的重視。
  • 基於fpga二維小波變換核的實時可重構電路
    項目背景及可行性分析本文引用地址:http://www.eepw.com.cn/article/266432.htm  2.1 項目名稱及摘要:  基於fpga二維小波變換核的實時可重構電路  現場可編程門陣列為可進化設計提供了一個理想的模板
  • 基於FPGA的FFT算法硬體實現
    基於FPGA的FFT算法硬體實現
  • 基於FPGA的自然對數變換器的設計與實現
    引言  在需要硬體實現對數運算的場合[1],其精度和速度是必須考慮的問題。目前硬體實現對數變換的方法主要有查表法、泰勒公式展開法和線性近似法。查表法[2]所需要的存儲單元隨著精度的增加或輸入值範圍的增大而成指數增加;泰勒公式展開法[3]需要乘法器,面積大不易實現;線性近似法[4]的精度有限,且需要誤差校正電路,實現較難。
  • 基於FPGA的複數浮點協方差矩陣實現
    故目前國內外協方差運算的FPGA實現都是採用定點運算方式。 在所有運算都是定點運算的情況下,每次乘法之後數據位寬都要擴大一倍。若相乘後的數據繼續做加減運算,為了保證數據不溢出,還必須將數據位寬擴展一位,而協方差矩陣的運算核心就是乘累加單元,隨著採樣點數的增加,位寬擴展呈線性增加。最終導致FPGA器件資源枯竭,無法實現設計。
  • 基於FPGA的高效FIR濾波器設計與實現
    摘要: 給出了一種基於FPGA的數字濾波器的設計方法。該方法先通過MATLAB設計出一個具有具體指標的FIR濾波器, 再對濾波器係數進行處理, 使之便於在FPGA中實現, 然後採用基於分布式算法和CSD編碼的濾波器結構進行設計, 從而避免了乘法運算, 節約了硬體資源,其流水線的設計方式也提高了運行速度。Matlab和Modelsim仿真表明, 該設計功能正確, 能實現快速濾波。
  • 基於FPGA的巴特沃茲IIR數字帶通濾波器設計
    數字濾波器通常採用計算機軟體、專用數字濾波器、DSP器件或可編程邏輯器件(如FPGA) 實現。因為,用FPGA實現數字濾波器具有實時性強、靈活性高、處理速度快以及小批量生產成本低等優點,所以得到了較為廣泛的應用。本文以巴特沃思數字帶通濾波器為例,較為詳細地介紹了其設計和實現方法。給定巴特沃茲數字帶通濾波器的抽樣頻率為500Hz,上、下邊帶截止頻率分別為150Hz和30Hz.
  • 基於FPGA IP核的FFT實現
    目前現有的文獻大多致力於研究利用FFT算法做有關信號處理、參數估計、F+FT蝶形運算單元與地址單元設計、不同算法的FFT實現以及FFT模型優化等方面。而FPGA廠商Altera公司和Xilinx公司都研製了FFT IP核,性能非常優越。在FFT的硬體實現中,需要考慮的不僅僅是算法運算量,更重要的是算法的複雜性、規整性和模塊化,而有關利用FFT IP核實現FFT算法卻涉及不多。
  • 基於FPGA的結構光圖像中心線提取
    編者按:在線結構光視覺三維測量系統中,為了實現對結構光圖像線條紋中心的實時高精度提取,本文採用了極值法、閾值法和灰度重心法相結合的中心線提取方法。利用現場可編程門陣列器件(FPGA)的流水線技術以及並行技術的硬體設計來完成運算,保證了光條紋中心點的實時準確提取。
  • 基於FPGA高精度浮點運算器的FFT設計與仿真
    摘要 基於IEEE浮點表示格式及FFT算法,提出一種基2FFT的FPGA方法,完成了基於FPGA高精度浮點運算器的FFT的設計。利用VHDL語言描述了蝶形運算過程及地址產生單元,其仿真波形基本能正確的表示輸出結果。
  • 基於FPGA和IP核的FIR低通濾波器的設計與實現
    打開APP 基於FPGA和IP核的FIR低通濾波器的設計與實現 秩名 發表於 2012-12-03 11:50:23   FIR
  • 基於FPGA的伺服驅動器分周比設計與實現
    為此提出一種基於FPGA的整數分周比實現方法。該方法邏輯結構簡單,配置靈活,易於擴展,具有很高的實用價值。  1 電子齒輪比與分周比  電子齒輪比與分周比是數控工具機和數控加工中心中一個很重要的概念。  3 仿真研究  根據圖2,利用ACTEL公司的Libro 8.1開發平臺,採用VHDL硬體語言,創建了相應的功能模塊,原理圖如圖3所示。
  • 基於FPGA的多級小波逆變換實時系統設計
    由於受實現複雜度高、成本控制困難等因數制約,未能得到廣泛應用。據統計,JPEG2000實現複雜度約是目前主流JPEG實現的30倍。因此,一種廉價、有效、實時的解決方案,對於JPEG2000的推廣應用較為有利。
  • 基於高速定點FFT算法的FPGA設計方案
    在高速數位訊號處理領域,如雷達信號處理,FFT的處理速度往往是整個系統設計性能的關鍵所在。 針對高速實時信號處理的要求,軟體實現方法顯然滿足不了其需要。近年來現場可編程門陣列(FPGA)以其高性能、高靈活性、友好的開發環境、在線可編程等特點,使得基於FPGA的設計可以滿足實時數位訊號處理的要求,在市場競爭中具有很大的優勢。 在FFT算法中,數據的寬度通常都是固定的寬度。
  • 基於FPGA的OFDM系統設計與實現
    在本文的幀同步信號提取電路的建模與設計中,是以7位巴克碼識別器作為幀同步碼組的。在同步系統處於捕獲階段時,設置自動判決門限為7;在幀同步建立以後,則把判決門限降為6,這樣做的目的一方面是減少假同步的概率,另一方面是為了減少漏同步的概率。
  • 基於FPGA的幀內預測編碼器硬體架構設計詳解
    ,而FPGA 以其高速的計算速度和強大的並行處理能力成為H.264 和AVS 編解碼的理想平臺。視頻編碼器幀內預測部分的硬體架構設計方案一般分為兩種。第一種是基於可重構硬體電路的設計。這種電路結構設計思想是根據幀內預測各模式算法上的相似性,設計出能夠處理所有預測模式的可重構的運算單元。該運算單元可根據預測模式的不同對輸入的數據選擇相應的數據通路,從而達到資源的最優化利用。由於該電路結構是逐個處理各個模式的預測,因此其缺點是處理速度慢。