可編程邏輯器件FPGA(現場可編程門陣列)和CPLD(復雜可編程邏輯器件)越來越多的應用于數字信號處理領域,與傳統的ASIC(專用集成電路)和DSP(數字信號處理器)相比,基于FPGA和CPLD實現的數字信號處理系統具有更高的實時性和可嵌入性,能夠方便地實現系統的集成與功能擴展。 FFT的硬件結構主要包括蝶形處理器、存儲單元、地址生成單元與控制單元。本文提出的算法在蝶形處理器內引入流水線結構,提高了FFT的運算速度。同時,流水線寄存器能夠寄存蝶形運算中的公共項,這樣在設計蝶形處理器時只用到了一個乘法器和兩個加法器,降低了硬件電路的復雜度。 為了進一步提高FFT的運算速度,本文在深入研究各種乘法器算法的基礎上,為蝶形處理器設計了一個并行乘法器。在實現該乘法器時,本文采用改進的布斯算法,用以減少部分積的個數。同時,使用華萊士樹結構和4-2壓縮器對部分積并行相加。 本文以32點復數FFT為例進行設計與邏輯綜合。通過設計相應的存儲單元,地址生成單元和控制單元完成FFT電路。電路的仿真結果與軟件計算結果相符,證明了本文所提出的算法的正確性。 另外,本文還對設計結果提出了進一步的改進方案,在乘法器內加入一級流水線寄存器,使FFT的速度能夠提高到當前速度的兩倍,這在實時性要求較高的場合具有極高的實用價值。
標簽:
FPGA
CPLD
FFT
算法
上傳時間:
2013-07-18
上傳用戶:wpt