新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FFT 在單片機(jī)C8051中的實(shí)現(xiàn)

FFT 在單片機(jī)C8051中的實(shí)現(xiàn)

作者: 時(shí)間:2009-12-10 來源:網(wǎng)絡(luò) 收藏

3 優(yōu)化
已經(jīng)出現(xiàn)了很多優(yōu)化的方法。而這些優(yōu)化方法的目的都是為了使得計(jì)算速度增快且盡可能的減少存儲(chǔ)數(shù)據(jù)所需要的RAM。
我們都知道,計(jì)算的一個(gè)重要方法是蝶式方法。但是蝶式計(jì)算的每一次迭代都需要一個(gè)復(fù)雜的乘法(總共是四次的長(zhǎng)整數(shù)乘法)。長(zhǎng)整數(shù)乘法需要很多處理內(nèi)存來完成。但是我們仔細(xì)觀察會(huì)發(fā)現(xiàn)其中一些乘法是不需要的,并且是可以省去的。特別是,當(dāng)乘數(shù)為零時(shí),結(jié)果將為零和當(dāng)乘數(shù)為1時(shí),相乘的結(jié)果將不變。對(duì)那些正弦和余弦函數(shù)是否為0或1進(jìn)行查詢的代碼可以利用這些優(yōu)點(diǎn)來減少計(jì)算量。這種優(yōu)化方法能節(jié)省的計(jì)算量為:其中N為FFT的點(diǎn)數(shù)。


4 程序總體設(shè)計(jì)
首長(zhǎng)分成三個(gè)模塊集合而成。即數(shù)據(jù)采集模塊,A/D轉(zhuǎn)換模塊及FFT運(yùn)算模塊。數(shù)據(jù)采集模塊主要是通過定時(shí)器來控制A/D轉(zhuǎn)換器的采樣周期,將采集到的數(shù)據(jù)轉(zhuǎn)換成有符號(hào)數(shù),并且可以以復(fù)數(shù)形式存貯。FFT的運(yùn)算模塊是在8051的數(shù)據(jù)存貯器上運(yùn)行256點(diǎn)的FFT,并經(jīng)一快速平方根或快速對(duì)數(shù)運(yùn)算,計(jì)算出對(duì)應(yīng)128個(gè)頻率點(diǎn)的幅值或分貝表示值。具體流程如圖3。

5 在電話視頻中的應(yīng)用
在一個(gè)會(huì)議中,當(dāng)說話人變換時(shí)。我們需要攝像頭能自動(dòng)跟蹤并檢測(cè)出說話人的位置,這就需要用到FFT及其反變換來計(jì)算角度。


6 結(jié)論
本文主要介紹了一種在中實(shí)現(xiàn)FFT算法的優(yōu)化方法,由于這可大大減少FFT的計(jì)算量及減少存儲(chǔ)數(shù)據(jù)所需要的RAM。因此其可應(yīng)用在電話視頻會(huì)議中。


上一頁 1 2 下一頁

關(guān)鍵詞: DSP C8051 單片機(jī) FFT

評(píng)論


相關(guān)推薦

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

關(guān)閉