新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 利用FFT IP Core實現(xiàn)FFT算法

利用FFT IP Core實現(xiàn)FFT算法

作者: 時間:2012-03-23 來源:網(wǎng)絡 收藏

Stratix II、Stratix GX、Stratix系列FPGA器件。該 功能是執(zhí)行高性能的正向復數(shù)或反向的(IFFT),采用基2/4頻域抽取(DIF)的FFT,其轉換長度為2m,這里6≤m≤14。在其內部,F(xiàn)FT采用塊浮點結構,以在最大信噪比(SNR)和最小資源需求之間獲得最大的收益。FFT 接收一個長度為N的、二進制補碼格式、順序輸入的復數(shù)序列作為輸入,輸出轉換域的、順序的復數(shù)數(shù)據(jù)序列。同時,一個累加塊指數(shù)被輸出,表示塊浮點的量化因子。FFT 的轉換方向事先由一個輸入端口為每個數(shù)據(jù)轉換塊指定。

FFT Core可以設置兩種不同的引擎結構:四輸出(Quad-output FFT engine)和單輸出(Single-output FFT engine)。對于要求轉換時間盡量小的應用,四輸出引擎結構是最佳的選擇;對于要求資源盡量少的應用,單輸出引擎結構比較合適。為了增加整個FFT Core的吞吐量,可以采用多并行引擎結構。

FFT Core支持3種I/O數(shù)據(jù)流結構:連續(xù)(streaming)、緩沖突發(fā)(Buffered Burst)、突發(fā)(Burst)。連續(xù)I/O數(shù)據(jù)流結構允許處理連續(xù)輸入數(shù)據(jù),輸出連續(xù)復數(shù)數(shù)據(jù)流,而不中斷輸入和輸出數(shù)據(jù);緩沖突發(fā)I/O數(shù)據(jù)流結構與連續(xù)結構相比,需要更少的存儲資源,但是,這是以減少平均吞吐量為代價的;突發(fā)數(shù)據(jù)流結構的操作與緩沖突發(fā)方式基本上一致,但突發(fā)方式則需要更少的存儲資源,這也是以降低吞吐量為代價的。

3 硬件設計

63.jpg
圖1整體原理圖

設計的整體原理圖如圖1所示。輸入和輸出緩沖器分別存儲預處理數(shù)據(jù)和FFT轉換結果;FFT運算器負責FFT運算;控制器為輸入和輸出緩沖器提供讀寫地址,并控制FFT運算的時序和緩沖器的讀寫操作;后處理單元從單路復數(shù)輸入頻譜數(shù)據(jù)中分離出兩路實數(shù)輸入頻譜數(shù)據(jù);求模運算器實現(xiàn)CORDIC,求取轉換結果的平方根。設計的輸入為兩路實數(shù)序列,一路作為實部,另一路作為虛部,由連續(xù)的256點的數(shù)據(jù)段組成;輸出是間斷的256點數(shù)據(jù)段,各數(shù)據(jù)段的前128點為第一路的頻譜數(shù)據(jù),后128點是第二路的頻譜數(shù)據(jù)。根據(jù)FFT頻譜關于中心點對稱的結果,只截取前半段頻譜數(shù)據(jù)并不會丟失任何信息。

整個系統(tǒng)的工作時序為:
①數(shù)據(jù)以5MHz的速率輸入到輸入緩沖器;
②FFT運算器以40MHz的速率從輸入緩沖器中取數(shù)進行運算;
③FFT運算結束時,將轉換結果存入到輸出緩沖器中;
④輸出緩沖器數(shù)據(jù)以20MHz的速率被送到后處理單元進行轉變;
⑤數(shù)據(jù)被送到求模運算器,進行CORDIC運算,輸出;
⑥當③結束時,F(xiàn)FT運算器又回到起始狀態(tài),等待處理下一組數(shù)據(jù),從而使運算周而復始地進行。整個設計由控制器嚴格控制。

輸入和輸出緩沖器由FPGA內部的RAM實現(xiàn),這些都相對簡單。下面重點介紹。FFT運算器、控制器、后處理單元和求模運算器。



關鍵詞: FFT Core IP 算法

評論


相關推薦

技術專區(qū)

關閉