專利名稱:一種混合基dft和idft快速實(shí)現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)通信領(lǐng)域,特別是涉及數(shù)字信號(hào)處理系統(tǒng)DFT (Discrete Fourier ^Transform,離散傅立葉變換)和 IDFT (Inverse Discrete Fourier Transform,離散傅立葉 逆變換)算法定點(diǎn)實(shí)現(xiàn)的一種高速硬件實(shí)現(xiàn)方案。
背景技術(shù):
在數(shù)字信號(hào)處理中,特別是對(duì)于有限長序列,DFT是一種尤為重要的數(shù)學(xué)變換,其 實(shí)質(zhì)是有限長序列傅立葉變換的有限點(diǎn)離散采樣,開辟了頻域離散化的道路,使數(shù)字信號(hào) 處理可以在頻域采用數(shù)字運(yùn)算的方法進(jìn)行,大大增加了數(shù)字信號(hào)處理的靈活性。DFT在數(shù)字 通信、語音信號(hào)處理、圖像處理、功率譜估計(jì)、地震以及數(shù)值分析等各個(gè)領(lǐng)域都有廣泛的應(yīng) 用。其中,稱不能使用基2類快速FFT O^st Fourier Transform,快速傅立葉變換)算法來 計(jì)算的DFT為一般數(shù)DFT運(yùn)算。目前計(jì)算一般數(shù)DFT的算法大概有兩類,一類是混合基算法,以Cooley-Tukey算 法理論為基礎(chǔ),基2類的FFT算法也是以此理論為基礎(chǔ)修改得到;另一類就是以快速卷積算 法理論為基礎(chǔ)的,代表算法是素因子算法(PFA)和Winograd付里葉變換算法(WFTA)。這兩 類算法的設(shè)計(jì)思想都是想通過把大點(diǎn)數(shù)的DFT轉(zhuǎn)化成小點(diǎn)數(shù)的DFT進(jìn)行運(yùn)算來達(dá)到減少運(yùn) 算復(fù)雜度的目的,PFA和WFTA算法則都要求所分解的小長度之間互素,因?yàn)橹挥谢ニ?,這兩 種算法才能發(fā)揮出通過不斷嵌套直到最后調(diào)用小點(diǎn)數(shù)DFT進(jìn)行運(yùn)算來節(jié)省計(jì)算復(fù)雜度的 目的,且PFA算法的映射過程較為復(fù)雜?;旌匣鵇FT算法是把大點(diǎn)數(shù)據(jù)進(jìn)行分解,得到多個(gè)不同因子的乘積,再根據(jù)小點(diǎn) 數(shù)DFT公式計(jì)算不同因子的DFT。其原理見文獻(xiàn)《self-sorting mixed-radix fast fourier transforms)), C TEMPERT0N Journal of computational physics (Print) 52 :11,1-23, Elsevier,1983,整個(gè)算法過程簡單,便于實(shí)現(xiàn),且混合基算法不要求分解的小長度之間互 素,相對(duì)于直接運(yùn)算DFT,復(fù)雜度得到了減小?,F(xiàn)有混合基DFT算法通常采用兩個(gè)存儲(chǔ)器并在之間進(jìn)行乒乓操作,實(shí)現(xiàn)每一級(jí)的 運(yùn)算,如
圖1所示,從存儲(chǔ)器1中讀取數(shù)據(jù),經(jīng)過蝶形運(yùn)算后,結(jié)果數(shù)據(jù)存入存儲(chǔ)器2,完成第 一級(jí)運(yùn)算,然后從存儲(chǔ)器2讀數(shù),經(jīng)過蝶形運(yùn)算后,存入存儲(chǔ)器1中,完成第二級(jí)運(yùn)算,如此 切換,完成各級(jí)運(yùn)算,但這種處理方法需要在前面一級(jí)運(yùn)算完成后才能進(jìn)行后面一級(jí)運(yùn)算, 所需要時(shí)間量為所有各級(jí)運(yùn)算耗時(shí)之和,導(dǎo)致其處理所耗時(shí)間很長。
發(fā)明內(nèi)容
本發(fā)明所解決的問題是提供一種計(jì)算速度更快、處理時(shí)間更短的高速混合基DFT 實(shí)現(xiàn)方法及裝置。為解決以上問題,本發(fā)明提供一種混合基DFT和IDFT快速實(shí)現(xiàn)方法,包括以下步 驟步驟A 初始化,并為第一級(jí)DFT運(yùn)算產(chǎn)生整序讀數(shù)地址;
所述初始化為在混合基DFT運(yùn)算之前根據(jù)系統(tǒng)需要處理的點(diǎn)數(shù)計(jì)算各級(jí)中間緩 存大小,為每一級(jí)DFT運(yùn)算預(yù)生成兩個(gè)中間緩存,為每一級(jí)DFT運(yùn)算生成一個(gè)蝶形運(yùn)算次數(shù) 計(jì)數(shù)器Bt,清零Bt;優(yōu)選地,兩個(gè)中間緩存大小相等。所述產(chǎn)生整序讀數(shù)地址的方法進(jìn)一步包括以下步驟步驟a 求順序基底權(quán)值,方法為 各級(jí)DFT運(yùn)算基底為f1; f2,f3……fN,則每個(gè)基底對(duì)應(yīng)的權(quán)值為
權(quán)利要求
1.一種混合基DFT和IDFT快速實(shí)現(xiàn)方法,其特征在于,包括以下步驟 步驟A 初始化,并為第一級(jí)DFT運(yùn)算產(chǎn)生整序讀數(shù)地址;步驟B 判斷當(dāng)前DFT運(yùn)算的級(jí)數(shù)是否小于最大級(jí)數(shù)N,若是,則進(jìn)入下一步,否則轉(zhuǎn)到 步驟G;步驟C 當(dāng)前級(jí)DFT運(yùn)算讀數(shù)并進(jìn)行蝶形運(yùn)算,將蝶形運(yùn)算結(jié)果存儲(chǔ)于一個(gè)中間緩存, 當(dāng)前級(jí)蝶形運(yùn)算計(jì)數(shù)器Bt加1 ;步驟D 判斷是否滿足進(jìn)入下一級(jí)運(yùn)算條件,若滿足,則當(dāng)前級(jí)DFT運(yùn)算轉(zhuǎn)換中間緩存, 即將其后蝶形運(yùn)算結(jié)果存儲(chǔ)于另一個(gè)中間緩存,同時(shí)進(jìn)入步驟E和F ;否則,進(jìn)入步驟E ;步驟E 判斷當(dāng)前級(jí)DFT運(yùn)算是否結(jié)束,即判斷其蝶形運(yùn)算次數(shù)是否達(dá)到當(dāng)前級(jí)蝶形運(yùn) 算的最大次數(shù),若未達(dá)到,則重復(fù)步驟C至D,否則,結(jié)束當(dāng)前級(jí)DFT運(yùn)算。步驟F 進(jìn)入下一級(jí)DFT運(yùn)算,下一級(jí)DFT運(yùn)算從當(dāng)前級(jí)DFT運(yùn)算的中間緩存讀數(shù),重 復(fù)步驟B至D步驟G 最后一級(jí)的處理。
2.如權(quán)利要求1所述混合基DFT和IDFT快速實(shí)現(xiàn)方法,其特征在于,步驟A所述初始化 為在混合基DFT運(yùn)算之前根據(jù)系統(tǒng)需要處理的點(diǎn)數(shù)計(jì)算各級(jí)中間緩存大小,為每一級(jí)DFT 運(yùn)算預(yù)生成兩個(gè)中間緩存,為每一級(jí)DFT運(yùn)算生成一個(gè)蝶形運(yùn)算次數(shù)計(jì)數(shù)器Bt,清零Bt ;所述產(chǎn)生整序讀數(shù)地址的方法進(jìn)一步包括以下步驟 步驟a 求順序基底權(quán)值;N各級(jí)DFT運(yùn)算基底為f1; f2,f3……fN,則每個(gè)基底對(duì)應(yīng)的權(quán)值為
3.如權(quán)利要求2所述混合基DFT和IDFT快速實(shí)現(xiàn)方法,其特征在于,兩個(gè)中間緩存大 小相等。
4.如權(quán)利要求1所述混合基DFT和IDFT快速實(shí)現(xiàn)方法,其特征在于,步驟D所述判斷 是否滿足進(jìn)入下一級(jí)運(yùn)算的條件為蝶形運(yùn)算次數(shù)Bt是否滿足modGf^-DXpi/fi+l,Bt) =0。
5.如權(quán)利要求1所述混合基DFT和IDFT快速實(shí)現(xiàn)方法,其特征在于,步驟G的處理方 式為首先獲得最后一級(jí)處理的相關(guān)參數(shù)fi,Pi, IV qi,其中i = N ;然后由數(shù)據(jù)讀取控制模 塊選擇,從前一級(jí)的中間緩存中連續(xù)讀數(shù)據(jù),讀數(shù)地址為每份中再每隔Ph取一個(gè)點(diǎn),總共 可以取fi個(gè)點(diǎn)。
6.如權(quán)利要求1-4任一所述混合基DFT和IDFT快速實(shí)現(xiàn)方法,其特征在于,在各級(jí)DFT 運(yùn)算開始時(shí),先計(jì)算本級(jí)蝶形運(yùn)算旋轉(zhuǎn)因子并保存,在進(jìn)行蝶形運(yùn)算時(shí)直接調(diào)用。
7.一種實(shí)現(xiàn)權(quán)利要求1所述方法的混合基DFT和IDFT快速實(shí)現(xiàn)裝置,其特征在于,包 括接口單元、控制單元、地址整序單元和級(jí)運(yùn)算處理單元;所述接口單元,包含外部輸入輸出數(shù)據(jù)存儲(chǔ)器和參數(shù)存儲(chǔ)模塊,存儲(chǔ)外部輸入輸出數(shù) 據(jù);將外部送入數(shù)據(jù),存入輸入輸出數(shù)據(jù)存儲(chǔ)器中,并在相關(guān)參數(shù)存儲(chǔ)模塊中根據(jù)相應(yīng)參數(shù) 配置寄存器,指示啟動(dòng)DFT或者IDFT運(yùn)算,并指明各級(jí)運(yùn)算的基底;所述控制單元,完成接口和功能時(shí)鐘的切換,實(shí)現(xiàn)外部對(duì)整個(gè)模塊的控制,并控制級(jí)間 流水線處理時(shí)各級(jí)的啟動(dòng),同時(shí)在計(jì)算結(jié)束時(shí)產(chǎn)生中斷;啟動(dòng)計(jì)算過程,并控制啟動(dòng)第一級(jí) 處理單元,開始從接口單元的輸入輸出數(shù)據(jù)模塊按整序方法讀數(shù),并統(tǒng)計(jì)當(dāng)前級(jí)蝶形運(yùn)算 次數(shù)Bt,同時(shí)判斷Bt是否滿足mod ((fi+1-l) X Pi/f,Bt) = 0,若滿足,則控制啟動(dòng)下一級(jí) 的運(yùn)算,并將下一級(jí)作為控制模塊統(tǒng)計(jì)蝶形運(yùn)算次數(shù)的當(dāng)前級(jí),重新統(tǒng)計(jì)該級(jí)的次數(shù)和判 斷。若不滿足,則繼續(xù)統(tǒng)計(jì)。所述地址整序單元,為第一級(jí)DFT運(yùn)算產(chǎn)生整序讀數(shù)地址;所述級(jí)運(yùn)算處理單元,完成相應(yīng)級(jí)數(shù)的數(shù)據(jù)處理和中間結(jié)果存儲(chǔ)。
8.如權(quán)利要求7所述混合基DFT和IDFT快速實(shí)現(xiàn)裝置,其特征在于,所述接口單元還 可以包括旋轉(zhuǎn)因子存儲(chǔ)模塊,預(yù)先存儲(chǔ)各級(jí)蝶形運(yùn)算所需旋轉(zhuǎn)因子。
9.如權(quán)利要求7所述混合基DFT和IDFT快速實(shí)現(xiàn)裝置,其特征在于,所述地址整序單 元進(jìn)一步包括順序基底權(quán)值計(jì)算單元和讀數(shù)地址產(chǎn)生單元;所述順序基底權(quán)值計(jì)算單元計(jì)算基底權(quán)值,各級(jí)DFT運(yùn)算基底為f2,f3……fN,則每N個(gè)基底對(duì)應(yīng)的權(quán)值為
全文摘要
本發(fā)明公開了一種混合基DFT和IDFT快速實(shí)現(xiàn)方法及裝置,本發(fā)明為第一級(jí)DFT運(yùn)算產(chǎn)生整序讀數(shù)地址,便于在后續(xù)計(jì)算中原地址讀數(shù),并為每級(jí)DFT運(yùn)算配置二個(gè)中間緩存用于交替存儲(chǔ)蝶形運(yùn)算數(shù)據(jù),采用級(jí)間流水控制,不會(huì)等到當(dāng)前級(jí)處理完成后再進(jìn)行下一級(jí)運(yùn)算,而是在進(jìn)行當(dāng)前級(jí)運(yùn)算時(shí),當(dāng)滿足下一級(jí)運(yùn)算條件時(shí)即開始進(jìn)行下一級(jí)運(yùn)算,極大提高了計(jì)算速度,節(jié)省了處理時(shí)間,且所需的整體存儲(chǔ)量不會(huì)增大。
文檔編號(hào)G06F17/14GK102081592SQ200910191638
公開日2011年6月1日 申請(qǐng)日期2009年11月27日 優(yōu)先權(quán)日2009年11月27日
發(fā)明者徐翼, 朱志輝, 韓佳佳 申請(qǐng)人:重慶重郵信科通信技術(shù)有限公司