新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的線性卷積的實時實現

        基于FPGA的線性卷積的實時實現

        作者: 時間:2010-08-10 來源:網絡 收藏

        摘要:從實際工程應用出發,研究了在基于上快速傅里葉變換實現的方法,并搭建了一個基于Altera的EP2S60硬件處理平臺,利用Altera提供的FFT IP核,在100 MHz系統時鐘下,數據吞吐率可達100 Ms/s,
        關鍵詞:快速傅里葉變換;卷積;現場可編程門陣列

        本文引用地址:http://www.104case.com/article/191628.htm

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

        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 基于的高速卷積的實現
        隨著電子技術的發展,現階段FFT硬件實現的方法主要有ASIC,DSP和這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個快速鎖相環,可滿足本系統的要求。


        上一頁 1 2 3 4 下一頁

        關鍵詞: FPGA 線性卷積

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金平| 南华县| 德江县| 望奎县| 黄骅市| 阿拉善右旗| 广丰县| 万安县| 阿尔山市| 宜阳县| 乡城县| 龙胜| 保亭| 玉龙| 民乐县| 赤峰市| 莱芜市| 望江县| 五河县| 冀州市| 屏东县| 射洪县| 济源市| 肥东县| 宁晋县| 保靖县| 德江县| 正镶白旗| 民勤县| 洪洞县| 平昌县| 棋牌| 广水市| 彰化县| 宝山区| 广宁县| 眉山市| 兰州市| 台湾省| 台州市| 南充市|