新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA高精度浮點運算器的FFT設計與仿真

        基于FPGA高精度浮點運算器的FFT設計與仿真

        作者: 時間:2012-03-09 來源:網絡 收藏

        摘要 基于IEEE浮點表示格式及算法,提出一種基2方法,完成了基于的設計。利用VHDL語言描述了蝶形運算過程及地址產生單元,其仿真波形基本能正確的表示輸出結果。
        關鍵詞 快速傅里葉變換;浮點;蝶形運算;VHDL

        FFT作為數字信號處理中的重要的手段之一,主要在數字通信、語音信號處理、圖像處理、功率譜估計、仿真、系統分析、雷達理論、光學、醫學、地震以及數值分析等方面得到廣泛應用。基于實現FFT,具有軟件編程的靈活性及電路擴展性強等優點。隨著集成電路技術進步和制造工藝水平的提高,FPGA芯片具有的功能越來越強,成為快速實時實現FFT的重要手段。采用基2法完成基于FPGA的FFT。

        1 基于FPGA的FFT
        1.1 浮點的IEEE標準格式
        設計采用單精度浮點運算,IEEE定義的二進制浮點格式為32位。結構表示如圖1所示。

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

        a.jpg


        將32位分為3部分:31位為符號位S,S為0時表示正數,為1時表示負數;30~23為指數E,是一個0~255之間的八位二進制數,其實際的指數是E-127,所表示的指數范圍是2-127~2128;22~0表示尾數F,小數點前還隱藏了一位‘1’,單精度尾數可表示最大數為2(23+1)=16 777 216。因為10716 777 216108,所以單精度浮點數的有效位數是7位,即浮點數的精度為10-6。為方便FFT的運算,文中采用原碼存儲。
        1.2 基2的DIT-FFT算法
        在蝶形運算中采用復數形式表示數據。對于一個2點的蝶形運算,輸入復數為A=x+jX,B=y+jY;經c.jpg運算,輸出復數A’=(x+ycosφ+ Ysinφ)+j(X+Ycosφ-ysinφ),B’=[x-(ycosφ+Ysinφ)]+j[X-(Ycosφ-ysinφ)]。
        設計主要針對8點FFT進行設計,8點FFT算法的原理圖如圖2所示。

        b.jpg


        整個FFT過程中共有三級蝶形運算,每級蝶形運算有4個蝶形運算單元。在數據輸入時按照自然順序輸入,最后倒序輸出。
        1.3 FFT處理器
        FFT處理器主要對數據進行蝶形運算及數據存取。設計采用基2蝶形運算器,包括存儲器ROM和RAM,控制器及地址產生單元等。其FFT的結構模型如圖3所示。

        d.jpg

        fpga相關文章:fpga是什么



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 麻江县| 元阳县| 桑日县| 长宁区| 佛教| 宁阳县| 惠安县| 满城县| 南昌市| 报价| 凤城市| 宁波市| 宜黄县| 梧州市| 蕉岭县| 惠水县| 得荣县| 通城县| 湖州市| 金华市| 和林格尔县| 健康| 台东县| 桃江县| 闽侯县| 澜沧| 平安县| 临邑县| 静海县| 孝感市| 唐山市| 泰安市| 武乡县| 团风县| 保定市| 七台河市| 沅陵县| 墨竹工卡县| 科技| 绥棱县| 清流县|