基于FPGA的高速卷積硬件設計及實(shí)現
在數字信號處理領(lǐng)域,離散時(shí)間系統的輸出響應,可以直接由輸入信號與系統單位沖激響應的離散卷積得到。離散卷積在電子通信領(lǐng)域應用廣泛,是工程應用的基礎。如果直接在時(shí)域進(jìn)行卷積,卷積過(guò)程中所必須的大量乘法和加法運算,一定程度地限制了數據處理的實(shí)時(shí)性,不能滿(mǎn)足時(shí)效性強的工程應用。本文從實(shí)際工程應用出發(fā),使用快速傅里葉變換(FFT)技術(shù),探討卷積的高速硬件實(shí)現方法。
本文引用地址:http://dyxdggzs.com/article/148300.htm1 卷積算法的原理
設線(xiàn)性時(shí)不變系統的沖激響應為h(n),則沖激響應和輸入δ(n)之間有關(guān)系

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


根據式(3),線(xiàn)性時(shí)不變系統的輸出信號可以由輸入信號與單位沖激響應的卷積求得。實(shí)際應用中,x(n)與y(n)的序列長(cháng)度均為有限的,假設均為N,顯然,求出N點(diǎn)的y(n)需要N2次復數乘法,當序列長(cháng)度大時(shí),所需計算量是龐大,在需要實(shí)時(shí)處理的系統中,難以滿(mǎn)足實(shí)時(shí)性要求。
將M點(diǎn)序列x(n),L點(diǎn)序列h(n)分別作擴展,構造新的序列x’(n),h’(n),使得長(cháng)度N滿(mǎn)足如下條件

根據時(shí)域循環(huán)卷積定理,x(n)與h(n)的線(xiàn)性卷積可以用循環(huán)卷積來(lái)代替。即

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

隨著(zhù)電子技術(shù)的發(fā)展,現階段FFT硬件實(shí)現的方法主要有ASIC,DSP和FPGA這3類(lèi)。專(zhuān)用FFT處理芯片ASIC,例如PDSPl6510,這類(lèi)芯片的主要特點(diǎn)是技術(shù)簡(jiǎn)單。但是由于此類(lèi)ASIC處理點(diǎn)數有限,實(shí)現大點(diǎn)數FFT時(shí),需要多芯片并行工作,會(huì )導致所需的配套控制復雜、存儲芯片較多,加大了系統實(shí)現難度。使用DSP,如TMS320DSP6416,控制程序設計比較簡(jiǎn)單,但由于DSP的串行式軟件工作機理,當點(diǎn)數較大時(shí),處理速度難以滿(mǎn)足實(shí)時(shí)要求。使用FPGA實(shí)現FFT功能,其并行處理機制允許FFT運算過(guò)程中使用流水線(xiàn)的形式,大大提高處理速度,而且隨著(zhù)技術(shù)發(fā)展,FFT IP核技術(shù)日臻完善,使得基于FFT IP核的系統在速度、靈活性等方面均展現出優(yōu)越性。本文使用Altera公司的StraTIx II系列芯片EP2S60實(shí)現線(xiàn)性卷積的功能。
Stratix II是Altera公司生產(chǎn)的一款高性能FPGA器件。它采用臺積電的90 nm工藝技術(shù)生產(chǎn),等效邏輯單元(LE)最高可達180 kB,嵌入式存儲器容量最高可達9 MB。該器件不但具有較高的性能和密度,而且還針對器件總功率進(jìn)行了優(yōu)化,同時(shí)可以支持高達l Gb/s的高速差分I/O信號,因而是一款高性能的FPGA。該芯片中所含的高性能嵌入式DSP塊的運行頻率高達370 MHz。另外Stratix II還有12個(gè)可編程PLL,并具有完善的時(shí)鐘管理和頻率合成能力,能滿(mǎn)足高性能系統的需求。
EP2S60集成了60 440個(gè)等效邏輯單元(LES),內嵌M512 RAM模塊329個(gè),M4K RAM模塊255個(gè),M-RAM模塊2個(gè),總存儲單元2 544 192 bit,并集成了DSP模塊36個(gè)、18 bit×18 bit嵌入式硬件乘法器144個(gè),含有2個(gè)增強性鎖相環(huán)和8個(gè)快速鎖相環(huán),可滿(mǎn)足本系統的要求。
3 FFT IP核的實(shí)現方法
為了節省開(kāi)發(fā)時(shí)間,加速產(chǎn)品的投放,本文使用Ahera提供的FFT IP核來(lái)實(shí)現FFT和IFFT功能。Ahera FFT IP核函數是一個(gè)高性能、參數化的快速傅里葉變換(FFT)處理器,完全支持Ahera的FPGA系列??梢酝瓿勺儞Q長(cháng)度為2m(6≤m≤14)的基2、基4按照頻率抽選的高性能復數FFT以及逆FFT運算。
FFT IP核支持3種數據流模式,流模式(streaming)、緩沖突發(fā)模式(Buffered Burst)、突發(fā)(Burst)模式。并可以參數化設置變換點(diǎn)數和FFT或IFFT轉換方向。表l給出了FFT在Stratix II系列FPGA上使用流模式(Streaming)的性能。

評論