專利名稱:一種實現基4 fft/ifft計算的fft處理器的制作方法
技術領域:
本發明涉及一種實現基4 FFT/IFFT計算的FFT處理器。
背景技術:
數字處理技術的發展使得廣播從模擬方式向數字方式過渡成為一種趨勢。 目前,部分無線廣播已經采用了數字傳輸,其它的正準備采用數字傳輸方式。 數字音頻廣播采用了正交頻分多路復用(OFDM)技術,其中采用的FFT處理 器可以處理長度為256、 512、 1024、 2048四種數字音頻廣播(DAB)信號?
通常,用基2算法來處理長度為2n的DAB信號的FFT運算,如256、 512、 1024、 2048等;用基4的算法來處理長度為4n的DAB信號的FFT運算,如256、 1024等。基2算法和基4算法相比,運算速度慢。但是,基4算法不能處理長 度為512、 2048等非4"的數據。
為解決上述問題,現有技術中,如2004年08月11日公開的,公開號為 CN1520071A,名稱為"含有FFT處理器的數字音頻廣播接收器及其操作方法" 的中國發明專利申請公開說明書公開了一種含FFT處理器的數字音頻廣播接收 器,如圖1所示,包括地址發生器,用于生成預定個數的寫地址和讀地址;快 速FFT處理器,用于重復FFT模式的數據,生成預定個數的數據,并利用預定 個數的數據實現快速FFT;以及控制器,用于根據FFT處理器的操作,控制地 址發生器生成寫地址和讀地址。預定個數是4096個,并且FFT處理器使用4096 個數據來實現快速付里葉變換。這樣,利用重復FFT模式的數據生成的4096個 數據來實現基于基4的運算,對于2048、 1024、 256和512不同長度的DAB信 號可以用結構相同的FFT處理器進行處理,從而簡化了它的硬件結構和FFT的 運算控制。
但上述的基4算法的FFT處理器只能處理基4輸入數據的FFT計算,不能 同時處理基4輸入數據的IFFT計算。
發明內容
本發明的目的在于克服現有技術的不足,提供一種實現基4 FFT/IFFT計算 的FFT處理器。
為了達到上述發明目的,本發明的一種實現基4FFT/IFFT計算的FFT處理 器,包括FFT蝶形運算單元和數據存儲器,其特征在于,還包括
一個數據交換單元,用于接收FFT蝶形運算單元輸出的四點計算結果數據;
如果當前進行的是IFFT計算,則數據交換單元工作,數據交換單元將四點 計算結果數據中的第二點數據與第四點數據進行交換,交換后的計算結果數據 存入數據存儲器中;
如果當前進行的是FFT計算,則數據交換單元不工作,四點計算結果數據 不進行數據交換,FFT蝶形運算單元直接將四點計算結果數據存入數據存儲器 中。 '
本發明的發明目的是這樣實現的
按時間抽取的基4 FFT計算推導公式為-
U + ,p + OF2/ + ZW3/
c'=爿-5『+ ,2" - w3p
iT =」-W『-W + j曹" (1) 按時間抽取的基4 IFFT計算推導公式為 yf = +彥〃 + ,2/7 +服3/
5" = /4 — 一 c『2〃 + /d『V
n 5『+c『2"-鮮3/7
zr-^+^『-OF2",3p (2)
其中,a仏c、 d為蝶形運算單元的四點輸入數據,,、5'、 c'、 z)'為蝶形運 算單元輸出的四點FFT計算結果數據,t、 5"、 c"、 w是蝶形運算單元輸出的四 點IFFT計算結果數據,ff = e-w 。
如式(1) (2)所示,從兩式中可以看出,FFT計算中的Z、 b'、 c'、 d'分別和 IFFT計算中的Z、 ZT、 c"、 S"結構相同。在本發明中,利用這一關系,用相同的 電路結構,即同一FFT蝶形運算單元,實現了FFT和IFFT計算在進行IFFT
計算時.,多了一個數據交換過程,即數據交換單元將FFT蝶形運算單元輸出的
四點計算結果數據中的第二點數據與第四點數據進行交換,從而既簡化了硬件
設計又減小了芯片面積,最關鍵的是可以在同一個FFT處理器上實現FFT和 IFFT計算。
圖1是一種現有技術的FFT處理器結構圖2是本發明FFT處理器一種具體實施方式
的結構圖3是圖2所示的FFT蝶形運算單元的一種具體實施方式
的結構圖4是16點的基4算法的FFT信號流圖。
具體實施例方式
為更好地理解本發明,下面結合具體實施方式
對本發明進行更為詳細描述。 需要提醒注意的是,盡管相似部件出現在不同附圖中,但它們被賦予相似的附 圖標記。在以下的描述中,當采用的已知功能和設計的詳細描述也許會淡化本 發明的主題內容時,這些描述在這兒將被忽略。 '
圖1是一種現有技術的FFT處理器結構圖。現有技術的FFT處理器在背景 技術中已有描述,在此不再贅述。
圖2是本發明FFT處理器一種具體實施方式
的結構圖。在本實施例中,存 儲器地址控制單元605,控制輸入數據和旋轉因子在數據存儲器RAM 601及旋 轉因子存儲器ROM603中的存放位置;FFT蝶形運算單元602每次從數據存儲 器RAM 601中取四點數據,從旋轉因子存儲器ROM 603中取出相應的旋轉因 子,進行蝶形運算。
在本實施例中,所述的FFT處理器通過一控制信號IFFT一on控制數據交換 單元606是否工作,同時控制蝶形運算單元602將計算結果數據傳遞給數據交 換單元606還是存儲器RAM 601。
如果當前進行的是.IFFT計算,則控制信號IFFT—on有效,數據交換單元606 工作,蝶形運算單元602將四點計算結果數據傳遞給數據交換單元606,數據交 換單元606將四點計算結果數據中的第二點結果數據與第四點結果數據進行交 換,交換后的計算結果數據存入數據存儲器RAM601中;
如果當前進行的是FFT計算,則控制信號IFFT—on無效,數據交換單元606 不工作,蝶形運算單元602將四點計算結果數據傳遞給存儲器RAM601,直接 將四點計算結果數據存入數據存儲器中RAM 601。
當計算N二4"點數據的FFT/IFFT變換時,共需要n級迭代運算,每一級需 要進行N/4次的蝶形運算;當n級迭代運算進行完之后就得到了 N點數據的 FFT/IFFT變換結果。從圖4的信號流圖可以看出,當輸入數據是按照自然順序 輸入時,FFT/IFFT變換結果數據是亂序的。整序模塊604實現將結果數據整序 為自然順序。
在計算IFFT運算時,多了一個數據交換過程,控制信號IFFT_on用來控制 數據交換單元606是否工作。當進行IFFT運算時,控制信號IFFT—on信號有效, 數據交換單元606工作,將四點計算結果數據中的第二點數據與第四點數據交 換后輸出,從而既簡化了硬件設計又減小了芯片面積,最關鍵的是可以在同一 個FFT處理器上實現FFT和IFFT計算。
圖3是圖2所示的FFT蝶形運算單元的一種具體實施方式
的結構圖。從公
式(1)或(2)中可知,在進行四點蝶形運算時,除輸入數據A外,其他三點
數據都需要和旋轉因子進行復數相乘。在本實施例中,復數相乘采用CORDIC
算法實現。B、 C、 D三點輸入數據采用CORDIC算法實現和對應的旋轉因子 WP、W^、WSP相乘后結合輸入數據A進行加減運算得到四點蝶形運算結果數據。
其中,"^"^>"~用來實現和y的相乘,即實現復數的實虛部交換。
圖4是16點的基4算法的FFT信號流圖。圖中,輸入數據是按照自然順序 輸入的。N=16=42,所以需要進行2級的迭代運算,每一級需要進行1^/4=16/4=4 次蝶形運算。計算輸出結果是亂序的。
盡管上面對本發明說明性的具體實施方式
進行了描述,但應當清楚,本發明 不限于具體實施方式
的范圍,對本技術領域的普通技術人員來講,只要各種變 化在所附的權利要求限定和確定的本發明的精神和范圍內,這些變化是顯而易 見的, 一切利用本發明構思的發明創造均在保護之列。
權利要求
1、一種實現基4 FFT/IFFT計算的FFT處理器,包括FFT蝶形運算單元和數據存儲器,其特征在于,還包括一個數據交換單元,用于接收FFT蝶形運算單元輸出的四點計算結果數據;如果當前進行的是IFFT計算,則數據交換單元工作,數據交換單元將四點計算結果數據中的第二點數據與第四點數據進行交換,交換后的計算結果數據存入數據存儲器中;如果當前進行的是FFT計算,則數據交換單元不工作,四點計算結果數據不進行數據交換,FFT蝶形運算單元直接將四點計算結果數據存入數據存儲器中。
2、根據權利要求1所述的實現基4 FFT/IFFT計算的FFT處理器,其特征 在于,所述的FFT處理器通過一控制信號控制數據交換單元是否工作,同時控 制蝶形運算單元將計算結果數據傳遞給數據交換單元還是存儲器。如果當前進行的是IFFT計算,則控制信號有效,數據交換單元工作,蝶形 運算單元將四點計算結果數據傳遞給數據交換單元,數據交換單元將四點計算結果數據中的第二點結果數據與第四點結果數據進行交換,交換后的計算結果 數據存入數據存儲器中;如果當前進行的是FFT計算,則控制信號無效,數據交換單元不工作,蝶 形運算單元將四點計算結果數據傳遞給存儲器,直接將四點計算結果數據存入數據存儲器中。
全文摘要
本發明公開了一種實現基4 FFT/IFFT計算的FFT處理器,包括FFT蝶形運算單元、數據存儲器以及一個用于接收FFT蝶形運算單元輸出的四點計算結果數據的數據交換單元;如果進行的是IFFT計算,則數據交換單元工作,將四點計算結果數據中的第二點數據與第四點數據進行交換,交換后的計算結果數據存入數據存儲器中;如果進行的是FFT計算,則數據交換單元不工作,四點計算結果數據不進行數據交換,FFT蝶形運算單元直接將四點計算結果數據存入數據存儲器中。在本發明中,用同一FFT蝶形運算單元,實現了FFT和IFFT計算,從而既簡化了硬件設計又減小了芯片面積,最關鍵的是可以在同一個FFT處理器上實現FFT和IFFT計算。
文檔編號H04H40/27GK101354701SQ20081004607
公開日2009年1月28日 申請日期2008年9月16日 優先權日2008年9月16日
發明者翔 謝, 霍永青 申請人:四川虹微技術有限公司