<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          FFT作為數(shù)字信號處理中的重要的手段之一,主要在數(shù)字通信、語音信號處理、圖像處理、功率譜估計、仿真、系統(tǒng)分析、雷達理論、光學、醫(yī)學、地震以及數(shù)值分析等方面得到廣泛應用?;?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/FPGA">FPGA實現(xiàn)FFT,具有軟件編程的靈活性及電路擴展性強等優(yōu)點。隨著集成電路技術(shù)進步和制造工藝水平的提高,F(xiàn)PGA芯片具有的功能越來越強,成為快速實時實現(xiàn)FFT的重要手段。采用基2法完成基于FPGA的FFT。

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

          本文引用地址:http://www.ex-cimer.com/article/190672.htm

          a.jpg


          將32位分為3部分:31位為符號位S,S為0時表示正數(shù),為1時表示負數(shù);30~23為指數(shù)E,是一個0~255之間的八位二進制數(shù),其實際的指數(shù)是E-127,所表示的指數(shù)范圍是2-127~2128;22~0表示尾數(shù)F,小數(shù)點前還隱藏了一位‘1’,單精度尾數(shù)可表示最大數(shù)為2(23+1)=16 777 216。因為10716 777 216108,所以單精度浮點數(shù)的有效位數(shù)是7位,即浮點數(shù)的精度為10-6。為方便FFT的運算,文中采用原碼存儲。
          1.2 基2的DIT-FFT算法
          在蝶形運算中采用復數(shù)形式表示數(shù)據(jù)。對于一個2點的蝶形運算,輸入復數(shù)為A=x+jX,B=y+jY;經(jīng)c.jpg運算,輸出復數(shù)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個蝶形運算單元。在數(shù)據(jù)輸入時按照自然順序輸入,最后倒序輸出。
          1.3 FFT處理器
          FFT處理器主要對數(shù)據(jù)進行蝶形運算及數(shù)據(jù)存取。設計采用基2蝶形運算器,包括存儲器ROM和RAM,控制器及地址產(chǎn)生單元等。其FFT的結(jié)構(gòu)模型如圖3所示。

          d.jpg

          fpga相關文章:fpga是什么



          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術(shù)專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();