matlab 倒位序fft程序,FFT算法设计与实现
FFT算法研究報(bào)告
1、程序設(shè)計(jì)背景(FFT算法理解)
FFT(fast fourier transformation),快速傅里葉變換。是對(duì)DFT算法的改進(jìn),其利用了WNnk的周期性、共軛對(duì)稱性和可約性,使得DFT中有些項(xiàng)可以合并,大大減小了計(jì)算量。
按輸入序列在時(shí)間上的次序是屬于偶數(shù)還是奇數(shù)來(lái)分解稱為“按時(shí)間抽取法”(DIT)。另一種是把輸出序列X(k)按順序的奇偶分解為越來(lái)越短的序列,稱為按頻率抽樣的FFT算法(DIF)。DIT算法是先作復(fù)乘后作加減,而DIF的復(fù)乘只出現(xiàn)在減法之后。本次程序采用DIT算法實(shí)現(xiàn)FFT。
用c語(yǔ)言實(shí)現(xiàn)FFT的難點(diǎn)在于數(shù)據(jù)倒位序的處理,以及各級(jí)蝶形運(yùn)算的實(shí)現(xiàn)。倒位序的實(shí)現(xiàn)可以使用“反向進(jìn)位加法”,即倒位序二進(jìn)制數(shù)的下面一個(gè)數(shù)是上面一個(gè)數(shù)在最高位加一并由高位向低位進(jìn)位而得到的。
對(duì)于點(diǎn)數(shù)為N = 2^L的FFT運(yùn)算,可以分解為L(zhǎng)階蝶形圖級(jí)聯(lián),第M階蝶形圖內(nèi)又分為2^(L-M)個(gè)蝶形組,每個(gè)蝶形組內(nèi)包含2^(M-1)個(gè)蝶形。而且旋轉(zhuǎn)因子與蝶形階數(shù)和蝶形分組內(nèi)的蝶形個(gè)數(shù)存在關(guān)聯(lián)。因此我們就可以構(gòu)造循環(huán)來(lái)實(shí)現(xiàn)蝶形運(yùn)算。
2、FFT算法流程圖
總結(jié)
以上是生活随笔為你收集整理的matlab 倒位序fft程序,FFT算法设计与实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [vue] 怎么缓存当前打开的路由组件,
- 下一篇: matlab 倒位序fft程序,[转载]