轉載于:https://www.cnblogs.com/sleepy/archive/2011/07/12/2104703.html
采用基 2 演算法(頻率抽樣)
首先確定有幾級 DFT:

N = 8,所以 v = 3(級)

-0/8 0 度
-1/8 -45 度
-2/8 -90 度
-3/8 -135 度
為節約時間,0 度與 -90 度不采用 cordic(achieved by 2's complement and BUS exchange)
故整個三級 DFT 只有第一級需要兩個 CORDIC
注意:第一級是輸入是 real(時域采樣回來的值) 第二和第三極輸入是 real,image
有很多方法完成這三級,這里簡單說下三個方案:
a,迭代方式:用一級模塊反復計算 3 次
特點:占用資源少 耗時大
b,流水線方式:使用 3 個模塊分別計算
特點:占用資源大 耗時小
c(推薦),使用兩個模塊,第一個用流水方式,第二個用迭代方式,組合而成
特點:折中了時間與空間
12位串行資料輸入 8*12 并行資料輸出:

蝶形演算法框圖:


輸入的最高位為符號位 1 為負
(cordic 演算法在前一篇文章中以講,這兒就不重復了)
之前已經說過用同一個模塊完成 2,3 兩個 DFT
如何用同一個電路進行兩個不同的運算呢?
對輸入的資料序列做如下變換(可見兩個結構就相同啦):

將輸出的資料輸入 VECTORING CORDIC image 則可得矢量的模(即頻域的模)
最后,并行變串行輸出:

時間總耗:

參考資料:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/10849.html
標籤:智能硬件
上一篇:ZYNQ雙CPU使用問題
下一篇:基于FPGA的路徑優化演算法實作
