新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > FFT實時譜分析系統的FPGA設計和實現

        FFT實時譜分析系統的FPGA設計和實現

        作者:劉桂華, 傅佑麟, 嚴 平 時間:2008-09-12 來源:電子技術應用 收藏

        摘要: 采用按時間抽選的基4原位算法和坐標旋轉數字式計算機(CORDIC)算法實現了一個實時譜分析系統。整個設計采用流水線工作方式,保證了系統的速度,避免了瓶頸的出現;整個系統采用實現,實驗表明,該系統既有DSP器件實現的靈活性又有專用 芯片實現的高速數據吞吐能力,可以廣泛地應用于數字信號處理的各個領域。

        關鍵詞: 現場可編程門陣列()

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

          (Fast Fourier Transformation, ) 實時譜分析是DSP應用的核心技術之一,而在高速實時信號處理中,常采用專門集成電路(ASIC)來實現。是一種具有大量的可編程邏輯單元的器件,它的應用使得電子產品不僅具有高速度、高集成度和高可靠性,而且具有用戶可編程特性,能降低設計風險。實驗表明,用FPGA實現的實時譜分析系統既有專用ASIC電路實現的快速性,又有DSP器件實現的靈活性,非常適用于高速實時的數字信號處理。

        1 FFT實時信號處理系統的總體設計

          FFT頻譜分析系統主要由1024點基-4 FFT模塊和接口控制電路組成。其中,基-4 FFT模塊用于實現一組1024點復數數據的FFT變換;接口控制電路負責控制1024點基-4 FFT模塊,并對A/D采樣輸出的數據進行緩存、速率匹配等,協調整個FFT頻譜分析系統的工作時序。

          在本設計中,FFT實時譜分析系統的1024點基-4 FFT算法采用FPGA實現。FPGA的總體框圖如圖1所示。其中,衰減限幅模塊負責對數據進行衰減及限幅壓縮處理;雙口RAM負責存儲外部輸入的原始數據及經過蝶形運算后的中間數據;四點FFT模塊完成4點DFT運算;地址控制模塊負責產生讀地址、寫地址、寫使能信號以及相關模塊的啟動、控制信號,是FFT系統的控制核心;復乘運算模塊是系統運算的核心部分,采用實現;旋轉因子產生器產生復乘運算中的旋轉因子的角度數據;倒序模塊實現頻譜正常順序輸出。

        2 功能模塊的設計

        2.1 衰減限幅模塊

          FFT實時譜分析系統采用的算術運算方案是定點運算,衰減限幅模塊實現了定比例衰減、尾數處理和壓縮信號電平的作用,用以防止數據溢出。模塊框圖如圖2所示,其壓縮特性如圖3所示。

        2.2 四點FFT模塊

          四點FFT模塊完成四點DFT變換,變換公式如下:

          

          四點FFT模塊中完全不需要復數乘法,乘-j只需將實部虛部交換,再加上必要的正負號即可。四點FFT模塊采用流水線工作方式,每四個時鐘周期完成一組四點FFT運算。在輸入一組四點原始數據x(i)時,要完成兩項工作:①進行上一組四點FFT的第二級運算,即計算并輸出上一組四點FFT的結果X(k);②進行本組四點FFT的第一級運算,即計算本組四點FFT的中間結果X′(k)。這樣充分利用了硬件資源。

        2.3 復乘運算模塊

          復乘運算是FFT處理器中兩種最頻繁的運算之一,因而復乘運算模塊也是FFT處理器中的一個重要模塊。輸入復數數據xr+jxi與旋轉因子cosα+jsinα相乘的公式為:


          利用CORDIC的圓周旋轉的向量工作模式可以實現復乘運算,所采用的迭代方程組如下:

          所以,只需將需要運算的角度值作為z0輸入,經過旋轉迭代后,迭代結果的xn和yn就是所需要的旋轉因子復乘的運算值。即:


          復乘運算模塊的工作流程如圖4所示。

          從復乘運算的算法流程中可以看到,實現復乘運算的主要元件有加法器、移位器和多選一數據選擇器等。組成流水線后,各流水單元結構相似,很適合用FPGA實現。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 剑阁县| 石泉县| 乌拉特中旗| 普格县| 阿鲁科尔沁旗| 宕昌县| 聂拉木县| 镇平县| 南宫市| 广昌县| 比如县| 浑源县| 伊春市| 烟台市| 来宾市| 射洪县| 澜沧| 马龙县| 平凉市| 广西| 噶尔县| 南岸区| 建始县| 改则县| 微山县| 通榆县| 达拉特旗| 德令哈市| 临夏县| 宜都市| 乌拉特后旗| 陵水| 祁阳县| 繁昌县| 宽甸| 永新县| 麻栗坡县| 河北区| 建湖县| 滁州市| 普格县|