本帖最后由 我愛(ài)輝叔叔 于 2020-10-15 18:58 編輯
1系統(tǒng)結(jié)構(gòu)框圖 提高FFT運(yùn)算速度的途徑是并行和流水,FFT算法有四種典型的硬件結(jié)構(gòu):遞歸結(jié)構(gòu)、級(jí)聯(lián)結(jié)構(gòu)、并行結(jié)構(gòu)和陣列結(jié)構(gòu)。FFT運(yùn)算速度的提高是以付出相應(yīng)的硬件量為代價(jià)的,選擇不同的FFT運(yùn)算結(jié)構(gòu),即是在運(yùn)算速度和硬件開銷間進(jìn)行折中。比較這四種FFT結(jié)構(gòu):遞歸機(jī)構(gòu)占用最少的資源,控制簡(jiǎn)單,處理速度最慢,級(jí)聯(lián)結(jié)構(gòu)資源消耗一般,流水性能好,處理速度快,并行結(jié)構(gòu)和陣列結(jié)構(gòu)資源消耗大,控制復(fù)雜,處理速度很快,但工程實(shí)現(xiàn)困難。根據(jù)本系統(tǒng)的特點(diǎn),本系統(tǒng)選擇遞歸結(jié)構(gòu)。 由于采用流水線結(jié)構(gòu),數(shù)據(jù)的存儲(chǔ)和運(yùn)算同時(shí)進(jìn)行, RAM_A和RAM_B可稱為乒乓RAM,當(dāng)有一塊用于當(dāng)前級(jí)輸入運(yùn)算數(shù)據(jù)伺服(讀數(shù)據(jù)時(shí)),其乒乓RAM用于該級(jí)結(jié)果的存儲(chǔ)(寫數(shù)據(jù))。當(dāng)該級(jí)蝶形迭代結(jié)束后,這兩塊RAM交換功能。
2、碟形單元 蝶形運(yùn)算是FFT的核心運(yùn)算單元。對(duì)于基2的FFT運(yùn)算,一個(gè)蝶形運(yùn)算完成一個(gè)兩點(diǎn)的FFT。BUTTCORE從RAMA(或RAMC)中讀取兩個(gè)14位復(fù)數(shù)A和B,同時(shí)從ROM中讀取相應(yīng)的旋轉(zhuǎn)因子W,計(jì)算完成后的數(shù)據(jù)寫入RAMB中。完成一個(gè)蝶形運(yùn)算需要6個(gè)CLK。式(1)和式(2)為一個(gè)BUTTCORE的計(jì)算公式,從式中我們可以看出BUTTCORE由一個(gè)復(fù)數(shù)乘法器和兩個(gè)復(fù)數(shù)加法器組成。
|