基于FPGA高精度浮點運算器的FFT設計與仿真
然后尾數經加減運算后規(guī)格化并輸出,為了以標準浮點格式輸出,規(guī)格化需要前導零檢測。
存儲在ROM中,由實部cos(2×k×π/8)和虛部sin(2×k×π/8)兩部分組成,讀取由時鐘單元的信號控制。由圖2可以看出每一級參加蝶形運算的旋轉因子不同。
(3)RAM數據地址。在整個地址單元中,分配RAM中數據的地址是重點,8點蝶形運算共需16個存儲單元,數據地址的產生遵循一定規(guī)則。例如,Butterfly的信號為“a3a2a1a0”,則x,y的地址產生規(guī)則如表1所示。本文引用地址:http://www.biyoush.com/article/190672.htm
數據的讀取靠時鐘信號來控制。
1.4 FFT仿真結果分析
圖7中輸入8點數據為[-l,1,2,-0.5,-3,-1,2,0]。仿真結果經轉換后,用10進制表示的最后結果為[0,3.76775-1.06065i,-8-0.5i,0.23225-1.06065i,0.5,0.23225+1.06065i,-8+0.5i.3.76775+1.06065i]。Matlab仿真后結果為[-0.5000,3.7678-1.0607i,-0.8000-0.5000i,0.2322-1.0607i,0.5000,0.2322+1.0607i,-0.8000+0.5000i,3.7678+1.0607i]兩結果很接近,誤差較小,仿真結果正確。
2 結束語
文中在分析了FFT算法后,描述了運算的蝶形單元,地址生成單元及FFT的實現過程。從實際設計出發(fā),完成了基于FPGA的單精度浮點運算器的FFT設計,精度達到10-6。其輸出結果與Matlab仿真結果相近,達到了利用FPGA實現FFT的目的。
fpga相關文章:fpga是什么
評論