FFT思路及心得

2021-08-31 04:32:52 字數 1111 閱讀 6004

fft編寫思路及其遇到的問題:

思路: 首先選取的是基於時間的fft演算法,可將該演算法分為以下步驟:

1.從檔案讀取要計算的fft的總點數n,(檔案中接下來存放的數按實部虛部分開表示),

由於序列數可能是複數,故開闢兩個長度為n的動態陣列,分別存放檔案中資料的虛部和實部。

2.開闢兩個長度為n/2的陣列分別存放wn(k)的實部和虛部,便於蝶形演算法中的係數查表。

3.用「倒位序」原理,將陣列內的數進行倒位序。

4.用乙個三層迴圈實現蝶形演算法:

1> 最外層為蝶形演算法的總級數。v=logn(2) (以2為底)

2> 第二層迴圈計算每級中小碟形的個數,分別為 n/2,n/4,n/8,......4,2,1.

3> 最內層迴圈計算每個小碟形的點的總數,據此確定蝶形計算的次數,分別為1,2,3....n/8,n/4,n/2.

5.將三次迴圈得到的陣列寫入檔案。

6.利用系統函式讀取系統時鐘,相減分別得到讀取檔案,fft計算和資料儲存的時間。

問題: 1.蝶形演算法的思路比較難想到,基於對8個點蝶形的觀察和總結,才慢慢完善了三次迴圈的蝶形演算法,雖然演算法實現了,

但是運算效率還可以有進一步的提高。

2.在計算級數的時候用v=log(n)/log(2)時,發現v的計算結果在n為8和64時不正確,

後分析應該是系統函式本身的侷限性,後改用迴圈語句for(v=1;(m=m/2)>1;v++); 解決了這個問題。

3.在n值較小時,計算時間太小以至於無法測得。後選取較大n:

n=1024時,開啟檔案讀取資料耗時:3.000000ms,計算fft耗時:11.000000ms,計算結果寫入檔案耗時:5.000000ms

n=2048時,開啟檔案讀取資料耗時:5.000000ms,計算fft耗時:27.000000ms,計算結果寫入檔案耗時:7.000000ms

n=4096時,開啟檔案讀取資料耗時:6.000000ms,計算fft耗時:64.000000ms,計算結果寫入檔案耗時:12.000000ms

程式演算法優點:

1.採用開闢動態陣列的方式,最大的節約了記憶體。

2.採用同址計算思路,故程式只用了2個陣列分別存放實部和虛部,節約了記憶體。

3.蝶形演算法直觀容易理解。

安全工作心得及今後的工作思路

郭守喜安全生產責任重於泰山。作為企業黨組織能否有效著力企業的安全生產能力建設,進而掌控安全生產的局面,反映了企業黨組織融入中心 把握重點 推動企業發展的能力,也是對企業黨組織開展學習實踐科學發展觀活動成效的有力檢驗。近年來,公司黨委結合深入開展學習實踐科學發展觀活動,努力踐行以人為本的理念,著力提高...

設計思路及流程

一 鋼結構單位在拿到圖紙後,專案專職深化人員首先要對整套圖紙讀懂吃透。對圖紙表達不詳細或不明白的地方進行歸納整理以書面的形式向總包 設計進行正式提交,在下乙個設計周例會上進行答疑再對答疑結果,總包 設計進行簽字確認。鋼結構深化單位在拿到正式的簽字確認單後,方可進行下一步工作。二 按照深化的程式要求對...

編制思路及提綱

永川區土地整治規劃編制思路 一 編制思路 掌握分析永川區已經開展的土地整治實施情況和新一輪土地整治規劃的形勢背景,在深入分析全區土地整治潛力的基礎上,結合 重慶市土地整治規劃 2010 2020 下達整治指標及 永川區土地利用總體規劃 2006 2020 提出的土地整治目標,制定規劃期內全區土地整治...