TW200534121A - Fft architecture and method - Google Patents

Fft architecture and method Download PDF

Info

Publication number
TW200534121A
TW200534121A TW093137558A TW93137558A TW200534121A TW 200534121 A TW200534121 A TW 200534121A TW 093137558 A TW093137558 A TW 093137558A TW 93137558 A TW93137558 A TW 93137558A TW 200534121 A TW200534121 A TW 200534121A
Authority
TW
Taiwan
Prior art keywords
fft
memory
value
values
column
Prior art date
Application number
TW093137558A
Other languages
English (en)
Inventor
Raghuraman Krishnamoorthi
Chinnappa K Ganapathy
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200534121A publication Critical patent/TW200534121A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2649Demodulators
    • H04L27/265Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators
    • H04L27/2651Modification of fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators for performance improvement

Description

200534121 九、發明說明: 【發明所屬之技術領域】 本揭不内容係關於訊號處理之領域。本揭示内容尤其係 關於用於建構快速傅立葉變換(FFT)之裝置及方法。 【先前技術】 傅立葉變換可用於將時域訊號映射至其頻域副本。相反 地’反向傅立葉變換可用於將頻域訊號映射至其時域副 本傅立葉變換尤其適用於時域訊號之頻譜分析。另外, 諸如彼等建構正交頻分多工(〇FDM)之通訊系統可使用傅 立葉變換之特性以自線性間隔音調(lineady啊⑽t〇叫產 生多個時域符號,並自該等符號恢復頻率。 。取樣貝料系統可建構離散傅立葉變換⑴f巧以允許處理 器在預定數目之樣本上執行變換。然而,耐計算密集且 而要極大里之處理功率來執行。執行^^點所需之計算數 目、力為N,表不為〇 。在多個系統中,專用於執行丁 之處理功率量可減少可用於其它系統操作之處理量。另 外、、且恶為作為即時系統操作之系統可不具有足夠之處理 功率以在為計算配置之時間内執行所要大小之DFT。 丨、速傅立葉變換(Fft)為傅立葉變換之離散建構,其允許 將執行之傅立葉變換與DFT建構相比具有顯著較少之操 作。視特定建構而定,執行基數r2FF丁所需之計算量通常 約為 Nxl〇gr (N),表示為 0 (Nl〇gr(N))。 在過去,建構FFT之系統可已使用通用處理器或單機數位 訊號處理器(DSP)來執行FFT。然而,越來越多的系統合併 98059.doc 200534121 了經特㈣計為建構設備所需之大多數功能性之特殊應用 積體電路(ASIC)。在ASIC内建構系統功能性可使建立多積 體電路介面所需之晶片數及膠合邏輯達到最小。減少之晶 片數通常允許用於設備之較少物理佔據面積而不需犧牲任 何功能性。 ASIC晶粒内之面積量係受限制的,且需要對asic内建構 之功能組塊進行大小最優化、速度最優化及功率最優化以 改良總體ASIC設計之功能性。應將專用於卯丁之資源量降 至最小以限制專用於附之可用資源之百分比。然而需將足 夠之資源專用於F F T以確保以足以支援系統要求之速度執 行該變換。另外,需要將由卯丁模組消耗之功率量降至最小 以使電源要求及相關聯之熱耗散降至最小。因此,可需要 將用於在諸如ASIC之積體電路内建構之叩丁架構最優化 【發明内容】 FFT硬體建構及方法提供有效之FFT處理同時使積體電 路(ic)中所需之晶粒區域降至最小。FFT硬體可用於建構n 點FFT,其中N = r為基數⑴之函數。該硬體建構包括具有 N/r列之樣本記憶體,每一列儲存r個樣本。用於儲存旋轉因 子之記憶體中每列具有k個旋轉因子,其中❹^^表示可用 之複數旋轉乘法器之數目。FFT模組自記憶體讀取『列(其中 列位址為FFT階段之函數),在每一列之樣本上執行適當之r 點複數FFT接著旋轉乘法(除了最終階段以外),並將結果寫 入Γ Χ Γ大小之矩陣記憶體(暫存器組)。將r X r大小之矩陣圮 憶體之内容以轉置次序或可視情況不需轉置寫回樣本記憔 98059.doc 200534121 體。對於每一階段將此操作重複N/r2次,且然後階段 以產生N點FFT。 在一悲樣中,揭示了判定一點、基數r之FFT的方法。該 方法包括:將待變換之樣本寫入每列具有^固樣本之記憶體 中,自δ己憶體碩取r列;判定基數[之r個部分FFT以產生— 個邛分FFT值,將旋轉因子應用至Γ2個部分FFT值以產生— 個加權部分FFT值;將Γ2個加權部分FFT值寫入暫存器組 中;將暫存器組中之r2個加權部分FFT值轉置以產生經轉置 值,將經轉置值寫入記憶體中;及自記憶體之内容判定fft 值。 在另一態樣中,揭示了判定,點、基數『之卯丁的方法。 該方法包括··將待變換之樣本寫入每列具有r個樣本之記憶 體中;初始化階段值;初始化塊值;處理FFT階段;重複處 理該FFT階段n次;及自記憶體之内容判定叮了值。處理FFT 階段包括:a)基於階段值判定若干塊;b)自記憶體擷取〖列; c)判定基數r之r個部分FFT以產生r2個部分FFT值;d)將旋轉 因子應用至r2個部分fft值以產生r2個加權部分FFT值;e) 將暫存器組中之r2個加權部分FFT值轉置以產生經轉置 值,f)將經轉置值寫入記憶體;g)基於塊值及階段值重複步 驟b)至f)並增加階段值。 在另一態樣中,揭示了判定rn點、基數r之FFT的方法。 該方法包括:將待變換之樣本寫入每列具有r個樣本之記憶 體中;a)初始化階段計數器;b)初始化塊計數器及部分ρρτ 輸出計數器;c)基於階段計數器、塊計數器及部分FFt計數 98059.doc 200534121 器的值自記憶體擷取r列;d)判定基數r個部分FFT以產生 P個部分FFT值;e)將旋轉因子應用至—個部分fft值以產生 r2個加權部分FFT值;f)W個加權部分fft值寫入暫存器 組;g)將暫存器組中之r2個加權部分FFT值轉置以產生經轉 置值,i)將經轉置值寫入§己憶體;j)更新部分計數器及 塊計數器的值;k)基於塊計數器及部分FFT計數器的值重複 步驟Ο至j)·,1)更新階段計數器的值;m)基於階段計數器的 值重衩步驟b)至k),及自§己憶體之内容判定ρρτ值。 在另一怨樣中,揭示了 r11點、基數r2FFT裝置。該裝置 包括:組態為儲存rn個樣本之記憶體,其中每一記憶體列具 有r個樣本;組態為在來自記憶體之1^列的樣本上執行^固^ 點邛刀FFT之FFT引擎,組態為!·列r行且組態為自ρρτ引擎 接收輸出值之暫存器組,其具有『2個暫存器;及組態為轉置 暫存器組中之值且將經轉置之值寫入記憶體中由FFT引擎 操作之r列之轉置模組。 【實施方式】 本發明揭示了適用於FFT或反向FFT(IFFT)之硬體架構、 合併FFT模組之設備及執行FF 丁或IFFT之方法。將FF 丁架構 統一為允許任何基數之FFT之建構。FFT架構允許用於執行 FF丁之循環數目降至最小同時保持小的晶片面積。詳言之, FFT架構將記憶體及暫存器空間組態為最優化在適當FFT 期間所執行之記憶體存取之數目。FFT架構在其建構中提供 額外之靈活性,且依特定之設計約束而定允許基數及複數 束法杰的數目變化。在對速度敏感而對晶粒面積較少敏感 98059.doc 200534121 之建構中,可用額外之複數乘法器及較高之基數來建構fft 木構。在對晶粒面積較敏感之建構中,可減小基數及減小 複數乘法器之數目。 FFT架構包括樣本記憶體,其組態為具有足以儲存與fft 基數相等數目之樣本之記憶體列寬度。因此,樣本記憶體 組恶為具有每列以固樣本之N/r列,其中1^表示砰丁之大小及『 表不FFT基數。FFT塊組態為自記憶體擷取〇彳且在每列中之 樣本上執行x^FFT。FFT塊擷取與卯丁基數相等數目之樣 本,但在來自每一個別列之樣本上執行厂點FF丁。 FFT塊將!*點FFT之結果寫入組態為儲存—個樣本之暫存 器組。耦接至暫存器組及旋轉因子記憶體之複數乘法器利 用適當之旋轉因子對FFT結果進行加權。將加權因子返回至 相同之暫存器。 在將暫存器組之内容重寫至樣本記憶體之原始列之前將 其轉置。暫存器組中值的轉置允許藉由保持樣本記憶體之 相同列中FFT樣本之關係來適當執行FFT。樣本記憶體中之 樣本歷經足以執行N點FFT之若干階段經擷取、處理且返回 至樣本記憶體。 重要的是在進行基於所揭示架構中折衷方案之硬體之討 論之前首先審查各種FFT演算法之算術複雜性。審查了基數 為2、4、8、16之Cooley-Tukey演算法及分裂基演算法。即 使基於質因子之演异法之複雜性可低於基於c〇〇ley_Tukey 之演算法之複雜性,基於質因子之演算法因其沒有規則結 構且對量子化較敏感而不被考慮。 98059.doc 10 200534121 此處基於所需之實際實數乘法及加法之數目來評估演算 法之複雜性。假定複數乘法等於四個實數乘法加上兩個; 數加法。 藉由注意:此等演算法以(Γη-Μ)(Μ)個旋轉乘法為代價 將r點DFT計算分裂為厂點DFT及Γη·ι點DFT之計算,並進一 步藉由點FFT進行處理,以此可判定基數r之演算法所 需之實數乘法及加法之數目。圖❻證實此結構的8點基數 2FFT之訊號流之一實例。 由Mnr來表示,點卯丁所需之實數乘法之數目,及由人/來 表不所需之實數加法之數目,由以下遞歸式來界定處理 雜性:
Mnr = r.Mn\x +(rn-i -1).(1-1).4+1^^/ ΑηΓ = r.Arn·, +(rn'1)(M)2 + rn'Air 其中初始條件為: M!4 = 〇 , Mi8 = 4 ? Mj16 = 24
Mi2= M22-0 , m32=4 A12 =4,V,,Ai8 =52,Ai16 =144 以類似方式來評估分裂基演算法之複雜性。分裂基數算 法以某些旋轉乘法為代價將N點FFT分裂為一大小gN/2之 FFT及兩個大小為N/4之FFT。用以下遞歸式來界定該演算 法之複雜性:
Mn = Μΐ^λ + 2M5n^2 + (2^1 - 4)4 + 4 心令+义2,… ^!5 98059.doc 200534121 基於此等遞歸式,可將若干通用FFT演算法之複雜性進行 製表及比較。表1及表2編輯了用於通用FFT演算法之複雜性 結果。該表包括用於彼等未評估組態之空白單元。 表1 ··用於不同FFT演算法之實數乘法 FFT大小 基數2 基數4 基數8 基數16 分裂基 64 452 324 260 248 128 1156 660 256 2820 2052 1668 1656 512 6660 4100 3988 1024 15364 11268 9336 2048 34820 21396 4096 77828 57348 49156 48132 48248 8192 172036 107412 2 :用於不同FFT演算法之漬 數加法 FFT大小 基數2 基數4 基數8 基數16 分裂基 64 994 930 930 892 128 2370 2122 256 5506 5122 5058 4924 512 12546 11650 11210 1024 28162 26114 25148 2048 62466 55754 4096 137218 126978 126978 125442 122428 8192 299010 107412 表1及表2中之演算法複雜性並未給出在不同演算法中建 構FFT之硬體成本的全部描述。必須考慮自記憶體存取資料 及旋轉因子並將資料寫入記憶體之成本。下表顯示了用於 不同基數大小之不同演算法所需之記憶體存取的數目(僅 計算資料存取)。藉由注意:對於N點FFT/IFFT之基數r建 構,階段之總數目為l〇gr(N)且每一階段需要2N次讀取及寫 入操作,導致2Nlogr(N)次記憶體複數樣本存取操作,以此 98059.doc 12 200534121 獲得貪料存取之數目。 表3 ··用於不同FFT演算法之記憶體存取 FFT大小 基數2/分裂基 基數4 基數8 基數16 64 768 384 256 128 1792 256 4096 2048 1024 512 9216 3072 1024 20480 10240 2048 45056 4096 98304 49152 32768 24576 8192 212992 硬體中FFT建構之分析顯示了所用之呈循環形式之主要 成本消耗於記憶體存取中。記憶體存取之數目隨著基數的 增大而減小。然而,存取一複數樣本/循環對於多種應用可 是不足夠的。一簡單實例說明了潛在問題。 考慮如下問題:為具有4 /is之符號持續時間為及40 MHz之 時鐘頻率之正交頻分多工(OFDM)系統建構64點FFT。此系 統可為(例如)為具有40 MHz之時鐘之IEEE 802.1 1a系統。 OFDM中4 gs之符號持續時間與40 MHz之時鐘頻率轉化為 符號間可用之160個循環。 首先審查藉由使用基數2演算法建構64點FFT之成本。如 上表所示,所需之記憶體存取總數為768。因此,使用每循 環僅有一樣本讀取或寫入之記憶體來建構基數2演算法將 花費最少768循環,其為可用於計算之循環數目之約5倍。 分裂基演算法遭受與基數2演算法相同的需要相當記憶體 存取數目之問題。 98059.doc -13- 200534121 然而,對於使用基數4演算法之64點FFT,所需記憶體存 取數目為3 84。此狀況較好但仍比可用循環之數目高得多。 當FFT演算法之基數進一步增大時,由於FFT中階段之數目 下降,所需記憶體存取之數目將進一步減小。 可藉由使用使得並行讀取及寫入之記憶體結構來達成用 於任何基數演算法之高速建構。對於特定基數r演算法,允 烀在一循環中存取(無論讀寫操作或寫入操作片個值之記憶 體結構改良了演算法之處理量。可將並行存取概念地認為 每列中具有r個字組之RAM。然而,為了自此記憶體結構獲 得最大益處,在演算法之每一階段計算^點卯了所需之^個樣 本必須在相同列中。此可藉由讀取樣本記憶體之1^列、計算 r個r點FFT並將轉置後之結果寫入樣本記憶體中來達成。可 在r個暫存器之矩陣記憶體中執行該轉置操作。由於基數『 增大’ FFT引擎之大小及矩陣記憶體之大小亦增大。對於任 何特定建構可執行面積至速度之交換。 圖2為FFT模組200之一實施例之功能方塊圖。可將fft模 組200組態為具有僅僅小變化之IFFT模組,此歸因於正向變 換與反向變換之間的對稱性。可將FFT模組2〇〇建構在單一 ic晶粒上,且可建構為ASIC之部分。或者,可將fft模組 200建構為彼此通訊之多個元素。另外,附模組細不限於 -特定FFT結構。舉例而言’ FFT模組細可組態為執行時 間消去法FF丁或頻率消去法FFT。 T模、、且200包括組恶為儲存待變換樣本之記憶體2 1 〇。另 外因為FFT板組2〇〇組態為執行變換之適當計算,所以將 98059.doc 200534121 。己憶體210用於儲存砰丁每一階段之結果及fft模組2〇〇之 輸出。 可。卩》基於FFT之大小& FFT之基數來判定記憶體21〇之 大小。對基數I·之N點FFT (其tN=rn),可將記憶體21〇之大 小判定為在广1列中儲存N個樣本,其中每列具有!*個樣本。 記憶體210可組態為具有與每一樣本之位元數目乘以每列 樣本之數目的結果相等之寬度。記憶體2丨〇通常組態為將樣 本儲存為實數分量及虛數分量。因此,對於基數2FFT,記 憶體210組態為每列儲存兩個樣本,且可將樣本儲存作為第 一樣本之實數部分、第一樣本之虛數部分、第二樣本之實 數部分及第二樣本之虛數部分。若將樣本之每一分量組態 為10位元,則記憶體210之每列使用40位元。記憶體21〇可 為具有足夠之速度以支援模組之操作的隨機存取記憶體 (RAM)。 將記憶體210耦接至組態為執行厂點FFTi FFT引擎22〇。 FFT模組200可組態為執行類似於圖1中所示結構之叮丁,其 中在部分FFT (亦稱為FFT蝶形)之後由旋轉因子執行加 權。此組態允許FFT引擎220組態為使用最小數目之乘法 器’因此將FFT引擎220之大小及複雜性降至最小。FFT引 擎220可組態為自記憶體210擷取一列並在該列中樣本上執 行FFT。因此,FFT引擎220可在單一循環中擷取用於成FFT 之所有樣本。FFT引擎220可為(例如)管線式FFT引擎且可能 夠在時鐘之不同相位上操作列中的值。 將FFT引擎220之輸出耦接至暫存器組230。暫存器組23〇 98059.doc -15- 200534121 組“基於fft之基數來錯存若干值。在一實 =。可組態為儲存r2個值。在使用樣本之狀況= =存器組中的值通常為具有實數分量及虛數 ^ U2则作臨時儲存器,但其㈣為用於快速存取 …、需經由位址匯流排存取之儲存器提供專用位置。兴 例而言,可用正反器來建構暫存器組23〇中暫存器之每一: 7。結果,暫存器使用了與相當大小之記憶體位置相比更 ^的晶粒面積。因為存取暫存器㈣實際上不存在循 本,所以特㈣項組建構可藉由操控暫存器組咖及記 憶體210之大小來以速度交換晶粒面積。 可將暫存器組230之大小有利判定為健存^個冑,使得可 (例如)藉由將該等值以列寫入及藉由將該等值以行讀出(或 错由將該等值以行寫入及藉由將該等值以列讀出)來直接 執行該等值之轉置。值的轉置用於為FFT之所有階段保持記 憶體2 1 〇中FFT值之列對準。 卜第二記憶體240組態為儲存用於使FFT引擎22〇之輸出加 推旋轉因子。在某些實施例中,FFT引擎22〇可組態為在 部分FFT輸出(FFT蝶形)之計算期間直接使用旋轉因子。可 預定用於任何FFT之旋轉因子。因此,可將第二記憶體24〇 建構為唯4 σ己憶體(ROM)、非揮發性記憶體、非揮發性RAM 或快閃可程式化記憶體,儘管第二記憶體24〇亦可組態為 Ram或記憶體之某些其它類型。可將第二記憶體24〇之大小 判定為儲存用於N點FFT之Nx(n-l)個複數旋轉因子,其中 98059.doc -16- 200534121 N- r。可自第二記憶體240中省略諸如j、_丨、」·或·〕·之某些 旋轉因子。另外,亦可自第二記憶體24〇省略相同值之複 製。因此,第二記憶體240中旋轉因子之數目可小於
Nx(n-l)。有效之建構可利用以下事實:用於卯丁所有階段 之旋轉S子為用於FFT第H或最終階段中之旋轉因子 的子集,此取決於FFT建構頻率消去演算法還是時間消去演 算法。 、 將複數乘法态250a-250b耦接至暫存器組及第二記憶體 240。該等複雜乘法器25〇a_2鳥組態為用來自第二記憶體 240之適當旋轉因子使儲存於暫存器組23〇中之引擎 之輸出加權。圖2中所示之實施例包括兩個複數乘法器25如 及250b丨而,可基於速度至晶粒面積之交換來選擇包括 於FFT模組200中複數乘法器(例如25〇a)之數目。可在一晶 粒上建構較大數目之複數乘法器以便加快附之執行。然 而,增加之速度是以晶粒面積為代價的。當晶粒面積臨界 時’可減少乘法器之數目。通常,在建構mFFT引擎220 時設計將不包括超過Μ個之複數乘法器,因^個複數乘 法器足以將所有非平凡旋轉因子並行供應至附引擎22〇之 輸出。舉例而言’組態為執行8點基數2 FFT之FFT模组 2〇〇(例如圖1中所示)可建構2個複數乘法器,但其可建構僅 僅一複數乘法器。 在母乘法知作期間,每一複數乘法器(例如2心)對來自 :存器組230之單—值及儲存於第二記憶體⑽中之相應旋 轉因子進㈣作。若複數乘法器之數目比待執行之複數乘 98059.doc 200534121 法的數+目少,則一複數乘法器將對來自暫存器組230之多 個FFT值執行操作。 將複數乘法器(例如250a)之輸出寫入暫存器組230,通常 為提供輸入至複數乘法器之相同位置。因此,在複數乘法 之後,無論複數乘法器建構於FFT引擎220之内或與圖2中所 示暫存器組230相關聯,暫存器組之内容表示FFT階段輸出 係不變的。 耦接至暫存器組230之轉置模組232對暫存器組230之内 容執行轉置。轉置模組232可藉由重排暫存器值來轉置暫存 器内容。或者,轉置模組232可在自暫存器組230讀取其内 容時對暫存器組230之内容進行轉置。在將暫存器組230之 内容寫回記憶體210中供應輸入至FFT引擎220之列處之前 對其進行轉置。暫存器組230中值的轉置保持了 FFT所有階 段中用於FFT輸入之列結構。 處理器262與指令記憶體264可組態為在模組間執行資料 流,且可組態為執行圖2之一或多個組塊之某些或全部。舉 例而言,指令記憶體264可儲存一或多個處理器可用指令作 為引導處理器262處理FFT模組200中資料之軟件。 可將處理器262及指令記憶體264建構為FFT模組200之部 分或可為FFT模組200之外部。或者,處理器262可位於FFT 模組200之外部,但指令記憶體264可位於FFT模組200之内 部,且可(例如)與用於樣本之記憶體210或儲存旋轉因子之 第二記憶體240通用。 圖2中所示實施例之特徵為:當演算法之基數改變時速度 98059.doc -18- 200534121 可將所需循 與面積之間的交換。對於建構N =,點之卯丁 環之數目估計為: #週期= 其中, ρ·ϋ =待計算之r個基數riFFT之數目 州1^=1^對]·個元素之向量執行一讀取、fft、旋轉乘法 及寫入所用時間 〆 假定nfft為獨立於基數之常數。循環數減少約μ (〇(l/r))。當轉置所需之暫存器數目增加為『2時,建構所需 之面積將增加〇(r2)。暫存器之數目及建構暫存器所需之面 積支配了大N之面積。 可選擇提供所要速度之最小基數以建構用於不同感興趣 狀況之FFT。假若模組之速度足夠,則基數之最小化將用於 建構模組之晶粒面積降至最小。 圖3 A-3D為FFT處理300之實施例之流程圖。可藉由(例如) 圖2中之FFT模組200來執行該處理300。或者,可將處理3〇〇 作為一或多個處理器可用指令實施並由處理器與記憶體執 打。在其它實施例中,處理3〇〇之部分可在硬體中執行及其 它部分由軟體執行。 處理300開始於塊3〇2,其中FFT模組(例如,使用處理器) 將待變換之資料寫入記憶體,該記憶體具有足以儲存至少 與FFT基數相等數目之樣本的寬度。舉例而言,若丁模組 組態為執行8點基數2之FFT (如圖1中所示),則將記憶體組 98059.doc -19- 200534121 態為4列2行且每-行可組態為儲存兩個複數樣本。處理器 可(例如)自第一行開始將樣本逐行寫入記憶體行中並在^ 第一行填滿時繼續寫入第二行中。 一旦將樣本資料寫入記憶體中,FFT模組進入塊3〇4,其 中處理器初始化階段計數器。如以上所述及圖丨中所示, Ν=Λ點FFT包括„個階段。在FFT開始處,處理器可將階段 计數益初始化至1。在初始化階段計數器之後,fft模組進 入塊310且處理器初始化部分FFT及塊計數器。可將部分 FFT及塊汁數器初始化為(例如)〇。 如圖1之實例中所示,在FFT之每一階段中所執行之部分 FFT之數目保持不變,但跟蹤包括於每一 FFT計算中之樣本 指數之計數器視階段而改變。 在對部分FFT及塊計數器初始化之後,FFT模組進入塊 3 12,其中處理器對列位址指標初始化。該列位址指標判定 由FFT引擎操作之記憶體的列。舉例而言,處理器可如下判 定列位址指標之值: P列= Ck.rn-k+fk. FFT模組進入塊3 14並基於列位址指標之值自樣本記憶體 讀取列。舉例而言,處理器可自樣本記憶體讀取列並將其 寫入FFT引擎中之位置。處理器可讀取由位址指標判定之 列: 卜其中^表示階段之總數及k表示 階段計數器的值。 一旦將該等列讀入FFT引擎,FFT模組進入塊320並在所 98059.doc -20- 200534121 擷取樣本上計算r點FFT。在實施例中由fFt引擎執行之點 FFT之數目等於自記憶體所讀取之列的數目, I·。將FFT引擎之輸出寫入rxr暫存器組中。 土 FFT模組進入塊322並將儲存於旋轉因子記憶體中之旋轉 因子應用至FFT輸出值以用旋轉因子使該等值加權。可=用 一或多個乘法器來應用旋轉因+,且該等乘法器可组態為 複數乘法器。在用旋轉因子加權之後’在步驟324中乘=器 將結果寫回rxr暫存器組中。 °
FFT模組然後進入步驟33〇並對暫存器組中該等值的次序 進行轉置。在-實施例中,處理器可對儲存於暫存器㈣ 之值的次序進行轉h在另—實施例中,可在自暫存器植 中讀取值時發生轉置。舉例而言,可以列次序將乘法器之 輸出寫入暫存器組中並以行次序將其自暫存器組中讀出, 以此導致具有相對少處理之轉置。 圖3A及圖3B中所示之連接^ 331用於連接顯示於兩個 圖頁中之流程圖之部分,且不形成處理器3〇〇之實質部分。 FFT模組經由連接器八331進入步驟332,並將來自暫存器組 之轉置結果寫入樣本記憶體中。將暫存器組中之轉置結果 寫入在塊3 14中所判定由位址指標識別之列中。若藉由行至 列轉換來執行轉置,則FFT模組可使用處理器讀取暫存器組 之行並以列將結果寫入由位址指標識別之位址中。 FFT模組進入塊334並更新部分卯丁及塊計數器的值。如 初期所討論,將FFT之每一階段作為基數r部分FFT之一或多 個塊來執行。在步驟334中,FFT模組更新部分fft及塊計 98059.doc 21 200534121 數器的值。處理器可更新(例如)部分FFT計數器的值 fk=(fk+l)mod(rnH),及若部分FFT計數器的值為0,則增加 · 塊計數器的值。 FFT模組進入決策塊340並判定是否已計算完所有部分 FFT及塊。若塊計數器中的值小於該階段中塊之數目(ck< r11·1),則並非已判定完所有部分FFT。若並未已計算完所有 部分FFT及塊,則FFT模組進入塊342以更新部分FFT及塊計 數器的值以處理額外之部分FFT。FFT模組然後經由連接器 φ C 343返回至塊310以繼續處理用於當前或下一 FFT塊之部 分FFT。連接器C 343不是處理300之實質部分,而是用於連 接頁面間之流程圖。 若在決策塊340處之FFT模組判定已計算完當前階段之所 有塊,則FFT模組進入決策塊350以判定是否已處理完η-1 個階段。若未完成,則FFT模組進入塊352以更新階段計數 器的值並經由連接器B 353返回至塊310。連接器B 353不是 處理300之實質部分,而是用於連接頁面間之流程圖。 籲 在決策塊350處,若FFT模組判定已處理完η-1個階段,貝|J FFT模組經由連接器D 351繼續處理FFT之最終階段。FFT模 組可在不同實施例中建構FFT之最終階段。圖3C說明了 FFT 模組可建構最終FFT階段之一實施例。圖3D說明了用於建 構FFT之最終階段之一替代實施例。因此,FFT模組可自圖 ▼ 3B上之連接器D 351進入圖3C或3D上之連接器D 351,但並 - ψ 非兩者皆可,因為圖3C及3D說明了相同之最終FFT階段之 : 替代實施例。 98059.doc -22- 200534121 在一實施例中,FFT模組可建構如圖3C中所示之最終FFT 階段處理。在圖3C中說明之最終階段處理中,FFT模組連 續取出列,但在部分FFT之後不執行任何轉置。結果為:FFT 結果在每一列中具有如初始FFT階段中獨立之樣本,但其中 該等列以基數反向次序排列。若在FFT之後存在IFFT階段則 該次序係有利的。在存取FFT結果時FFT模組可將基數反向 次序考慮在内,或者,若所要的是按次序結果,則FFT模組 可建構列重新排序引擎以對該等列重新排序。 為了執行圖3C中所示之最終階段處理,FFT模組自圖3B 上之連接器D 351進入圖3C上之連接器D 351。FFT模組進 入塊362並對列位址指標初始化。可將列位址指標初始化為 P列=cn.r,其中將cn初始設定為0及r為FFT基數。 FFT模組然後以與處理先前FFT階段幾乎相同之方式繼 續處理最終FFT階段。在塊364中,FFT模組自記憶體讀取 由位址列指標如下計算而識別的列:ai=p列+i,i = 0··.(!*-1)。 FFT模組進入塊366並對所擷取列中的值計算部分FFT。 FFT弓1擎在所擷取歹上計算I*個不同之r點部分FFT。 FFT模組進入塊368並將部分FFT輸出值寫入暫存器組。 FFT模組進入塊370並將暫存器組中的值寫入供應資料至 FFT弓I擎之樣本記憶體歹|J 〇 FFT模組增力口塊;370中計數器的 值cn 〇
FFT模組進入決策塊372並判定是否已處理完最終塊中所 有部分FFT。若未完成,FFT模組返回塊362並繼續處理樣 本記憶體之列。若已處理完最終階段中所有部分FFT,FFT 98059.doc -23- 200534121 模組自決策塊372進入可選之列重新排序塊374,其中FFT 模組執行列重新排序。FFT模組然後進入塊399並完成N點 FFT。 作為一替代最終FFT階段,FFT模組可替代執行圖3D中所 示之處理。在圖3D之流程圖中所說明之最終FFT階段中, FFT模組根據用於FFT之第一階段之相同次序來取出該等 列中的樣本。結果為:每一列中之樣本以連續順序排列, 但其中該等列以部分基數反向次序排列。另外,部分基數 反向次序僅在FFT階段之數目大於3時出現。儘管存在部分 基數反向列次序,此最終階段處理因為每一列中之樣本連 續可是有利的。 為了執行圖3D之最終階段處理,FFT模組自圖3B上之連 接器D 351進入圖3D上之連接器D 351。FFT模組進入塊382 並使用用於FFT之初始階段之相同演算法來設定列位址指 標。 FFT模組進入塊384並讀取由指標識別之列,且進入塊386 並在該等列上執行部分FFT。FFT模組然後進入塊388並將 部分FFT之結果寫入暫存器組中。FFT模組然後進入塊390 並對暫存器組中值的次序進行轉置。 FFT模組然後進入塊392並將經轉置值寫回樣本記憶體。 FFT模組然後進入決策塊396以判定是否已計算完最終階段 塊中之所有部分FFT。若未完成,則FFT模組返回至塊382 並更新指標以用於下一部分FFT。 在決策塊396處,若FFT模組判定已計算完最終階段中之 98059.doc -24- 200534121 所有部分FFT,則FFT模組進入塊398並執行列重新排序。 如同圖3 C中所示之先前最終階段實施例,列重新排序步驟 係可遠的。右未執行列重新排序,或在執行可選之列重新 排序之後,則FFT模組進入塊399並完成FFT。 圖4為根據圖3A-3B之處理而執行之8點基數22FF 丁實施 例之。己隱體内谷及暫存器組内容之功能方塊圖。該8點 使用4列及2行之樣本記憶體。暫存器組係組態為r>^矩陣, 在此狀況下為2x2矩陣。 以兩行(412及414)排列顯示了樣本記憶體41〇之初始内 谷。可以仃次序來寫入樣本記憶體,將值寫入第一行412 中直至該行填滿,且然後將值寫入第二行414中。樣本記憶 體410之每一列包括用於執行初始2點叩丁之正確樣本值。 自樣本記憶體初始擷取列a〇&a2,並在儲存於該等列中 的值上執订FFT。以適當之旋轉因子使結果加權,並將該等 j果寫入暫存器組422。然後在寫回樣本記憶體之前對暫存 為組值422轉置。類似地,自記憶體榻取列mu,在贿 引擎中進打處理,以適當之旋轉因子使其加權,並寫入暫 存器組424。424中的暫存器值覆寫了已轉置且重寫入樣本 記憶體中之該暫存器之先前暫存器值422。將新的暫存器組 值424轉置且重寫入記憶體。 …樣本s己憶體430顯示了完成第一階段及第一轉置後之内 谷:貧料仍組織於兩行432及434中,但基於轉置對該等值 進仃調整以保持將一起處理的樣本之列關係。 自樣本圮憶體初始擷取列叻及al並在儲存於該等列中的 98059.doc -25· 200534121 值上執行FFT。以適當之旋轉因子使結果加權,並將該等結 果寫入暫存器組442中。然後在寫回樣本記憶體之前將暫存 器組值442轉置。類似地,自記憶體擷取列a2及a3,在FFT 引擎中進行處理,以適當之旋轉因子使其加權,並將結果 寫入暫存器組444中。將值轉置並重寫入樣本記憶體中。 樣本記憶體450顯示了完成第二階段及第二轉置後的内 容。在第三樣本記憶體450排列中,自樣本記憶體初始擷取 列a0及al並在儲存於該等列中的值上執行FFT。以適當之旋 轉因子使結果加權,並將該等結果寫入暫存器組462中。然 後在寫回樣本記憶體之前將暫存器組值462轉置。類似地, 自記憶體擷取列a2及a3,在FFT引擎中進行處理,以適當之 旋轉因子使其加權,並寫入暫存器組464中。將該等值轉置 並重寫入樣本記憶體中。寫入樣本記憶體470中之轉置結果 表示8點FFT之輸出。 圖5 A及5B為可合併如本文所述FFT模組之OFDM系統組 件之功能方塊圖。討論了 OFDM傳輸器500及OFDM接收器 540。可在組態為在OFDM系統内通訊之設備或裝置之内建 構每一 OFDM傳輸器500或OFDM接收器540。此等設備包括 (但不限於)諸如蜂巢式電話之無線電話、個人數位助理及其 類似物,或某些其它通訊設備。 圖5A為OFDM傳輸器500之功能方塊圖,該OFDM傳輸器 500可建構圖2之FFT模組及圖3A及3B之FFT處理。可在單一 1C或ASIC中建構圖5A之OFDM傳輸器500之某些或全部組 塊0 98059.doc -26- 200534121 OFDM傳輸器500包括資料源502,其通常包括組態為儲 存資料樣本之某種類型之儲存設備。該等資料樣本使用搞 接至記憶體設備之類比數位轉換器(ADC)(未圖示)可產生 於OFDM傳輸器500之外部或可產生於〇fdM傳輸器500之 内部。 單一資料流之特徵可為串列資料流。串列轉並列轉換器 5 10耦接至資料源502並形成並列資料流用於OFDM傳輸器 500中之每一正交載波。串列轉並列轉換器510之輸出耦接 至調變器,其中每一並列資料流可調變OFDM載波之相應載 波。 然後將多個經調變OFDM載體耦接至IFFT模組520,其可 自圖2之FFT模組組態得到且可使用圖3A及圖3B之處理。 IFFT模組520將正交頻率變換為時域〇fdM符號。IFFT模組 520之輸出耦接至並列轉串列轉換器522以將並列輸出轉換 為單一串列符號。並列轉串列轉換器522之輸出可耦接至可 為無線傳輸器之傳輸器5 3 0。 圖5B為OFDM接收器540之功能方塊圖,該OFDM接收器 540為圖5A之OFDM傳輸器500之補充物。同OFDM傳輸器 500之狀況相同,可在單一 1〇或ASIc中建構〇fdM接收器 540 ° OFDM接收器54〇包括接收器542,其可組態為接收由傳 輸器廣播之OFDM符號之無線接收器。接收器542可組態為 來對所接收訊號進行放大、濾波及降頻轉換以恢復基頻訊 號。 98059.doc 200534121 基頻訊號耦接至串列轉並列轉換器544,操作該串列轉並 列轉換器544以將串列基頻資料流轉換為並列資料流以用 於處理。串列轉並列轉換器544之輸出耦接至FFT模組55〇, 其可為圖2之執行圖3A及3B之處理的FFT模組。 FFT模組550將時域符號變換為多個正交頻率分量。fFT 椟組550之輸出耦接至解調器56〇,操作該解調器56〇以解調 變正交頻率來恢復資料。 並列轉串列轉換器562耦接至FFT模組55〇之輸出並將並 列資料轉換為串列資料流。將串列資料流耦接至資料處理 态用於進一步處理。舉例而言,可將語音資料轉換成類比 格式以用於放大並傳遞至揚聲器。可進一步處理視訊資料 並將其引導至顯示設備。 建構FFT架構之FFT模組可在與先前之FFT建構相比減少 數目之指令中執行適當變換。FFT模組包括將多個值排列在 單一列中之樣本記憶體。在單一列之樣本上執行FFT操作並 將其寫入暫存器組。可使用一或多個複數乘法器以將旋轉 因子應用至部分FFT結果。 將暫存器組中加權部分FFT結果轉置並重寫入樣本記憶 體。該轉置保持了 FFT輸入之關係以用於在樣本記憶體之相 同列中的部分FFT。重複該過程多個FFT階段直至完成所要 之 FFT。 可直接在硬體、由處理器執行之軟體模組或兩者之組合 中實施本文所揭示之方法、處理或演算法以及實施例之步 驟。 98059.doc -28- 200534121 軟體模組可存在於RAM# i咅驊^ 。己U體、快閃纪憶體、非揮發性 卜R〇M5己憶體、ERr〇M記憶體、EEPR〇M記憶體、 子裔、硬碟、抽取式磁碟、CD-職或此項技術中已知 它形式之儲存媒體中。將例示性儲存媒體麵接至 °。i侍處理夯可自儲存媒體讀取資訊及將資訊寫入 =子媒體。在替代方法中’儲存媒體可與處理器成一整體。 卜可以實&例中所不次序來執行或使用已修正次序之 乂驟來執订各種方法。另外,可省略—或多個處理步驟或 f法步驟’或可將一或多個處理步驟或方法步驟增加至該 等方法及過程。可在該等方法及過程之開始、末端或介入 現有元件中添加額外之步驟、組塊或措施。 提i、所揭示貫轭例之以上描述以使得任何普通熟習此項 技術者可製造或使用此揭示内容。普通熟習此項技術者將 易瞭解對此等實施例進行之多種修正,且在不脫離本揭示 内容之精神或範嘴的情況下可將本文所界定之通用原則應 用至:它實施例。因此,本揭示内容並不意欲限於本文所 不之實施例,而是與本文所揭示之原則及新穎特徵相一致 之最廣泛範疇相符合。 【圖式簡單說明】 圖1為8點基數2之FFT之流程圖。 圖2為FFT模組之一實施例之功能方塊圖。 圖3A-3D為FFT處理之實施例之流程圖。 圖4為用於8點基數2之FFT之一實施例之階段的記憶體内 容之功能方塊圖。 98059.doc -29- 200534121 圖5A-5B為使用本文所揭示之FFT模組之OFDM系統組件 之實施例之功能方塊圖。 【主要元件符號說明】 200 FFT模組 210 記憶體 220 FFT引擎 230 暫存器組 232 轉置模組 240 第二記憶體 250a、250b 複數乘法器 262 處理器 264 指令記憶體 33卜 343 > 35卜 353 連接器 410 、 430 、 450 、 470 樣本記憶體 412 、 414 樣本記憶體410之行 422 > 424 > 442 、 444 > 462 〜464 暫存器組 432 、 434 樣本記憶體430的行 452 、 454 樣本記憶體450之行 472 、 474 樣本記憶體470之行 500 OFDM傳輸器 502 資料源 510 、 544 串列轉並列轉換器 512 調變器 520 98059.doc - 30 - IFFT模組 200534121 522 、 562 並列轉串列轉換器 530 傳輸器 540 OFDM接收器 542 接收器 550 FFT模組 560 解調器 570 資料處理器 98059.doc -31 -

Claims (1)

  1. 200534121 十、申請專利範圍: 種判疋r點基數速傅立葉變換(FFT)之方法,該方 法包含: 將待變換之樣本寫入一每列具有r個樣本之記憶體中; 自該記憶體讀取r列; 判定r個基數r部分FFT以產生—個部分fft值; 將旋轉因子應用至該等r2個部分FFT值以產生r2個加權 部分FF丁值; 將該等r2個加權部分FFT值寫入一暫存器組; 字"亥暫存器組中之該等r2個加權部分FFT值轉置以產 生經轉置值; 將该等經轉置值寫入該記憶體;及 自§己憶體之該等内容判定FFT值。 $月求項1之方法,其中將樣本寫入該記憶體中包含將符 變$之樣本逐行寫入一具有广1列及r行之記憶體中。 求員1之方法’其中將樣本寫入該記憶體中包栝將涛 變換之複數樣本寫入該記憶體中。 π求項丨之方法,其中自該記憶體讀取r列包含: 判定r個列指數;及 自4記憶體讀取對應於該等r個列指數之列。 、π求項4之方法,其中判定r個列指數包含判定一對庳於 式& 1Xr" 之列指數,其中i=〇至(r-1),k表示該FF丁厶 階段。 月求項1之方法,其中將旋轉因子應用至該等r2個邡亥 98059.doc 200534121 FFT值包含: 擷取至少一複數旋轉因子;及 计异該至少一複數旋轉因子與該等r2個部分FFT值中 之一相應值之複數乘法。 7·如請求項1之方法,其中將該等r2個加權部分叩1值寫入該 暫存器組包含將該等r2個加權部分FFT值寫入一組態為r 列及r行之暫存器組。 8·如晴求項7之方法,其中轉置該等r2個加權部分值包 含: 擷取一對應於該暫存器組之一列及一行之加權部分 FFT 值; 轉置咸列指數及該行指數;及 將該加權部分FFT值寫入對應於該等經轉置指數之列 及行。 9· 一種判定一 rn點基數r快速傅立葉變換(FFT)之方法,該方 法包含: 將待變換之樣本寫入一每列具有r個樣本之記憶體中; 初始化一階段值; 初始化一塊值; 處理一 FFT階段,該處理包含: a) 基於該階段值判定若干個塊; b) 自該記憶體擷取r列; c) 判疋r個基數r部分FFT以產生r2個部分fft值; d) 將旋轉因子應用至該等Γ2個部分FFT值以產生『2個 98059.doc 200534121 加權部分fft值; e) 轉置該暫存器組中之該等r2個加權部分FFT值以 產生經轉置值; f) 將該等經轉置值寫入該記憶體;及 g) 基於該塊值及該階段值重複步驟…至f); h) 增量該階段值;及 重複處理該FFT階段η次;及 自兄憶體之該等内容判定FFT值。 10· —種判定一 rn點基數〇夬速傅立葉變換(ff 丁)的方法,該方 法包含: 將待變換之樣本寫入一每列具有r個樣本之記憶體中; a) 初始化一階段計數器; b) 初始化一塊計數器及一部分FFT計數器; C)基於該等階段計數器、塊計數器及部分FFT計數器的 值自該記憶體擷取r列; d) 判疋r個基數r部分fft以產生r2個部分fft值; e) 將旋轉因子應用至該等r2個部分FFT值以產生r2個加 權部分FFT值; f) 將該等r2個加權部分FFT值寫入一暫存器組; g) 轉置该暫存器組中之該等Γ2個加權部分FFT值以產生 經轉置值; 1)將該等經轉置值寫入該記憶體; j)更新該部分FFT計數器及塊計數器; 基於該塊計數器及該部分FFT計數器的值重複步驟c) 98059.doc 200534121 至j); l) 更新該階段計數器的值; m) 基於該階段計數器的值重複步驟…至“;及 自e己憶體之该等内容判定FFT值。 11 -種rn點基數r快速傅立葉變換(FFT)裝置;該《置包含: -記憶體’其組態為儲存rn個樣本其中每一記憶體列具 有r個樣本; ^ -FFT引擎’其組態為在來自該記憶體之^列之樣本上 執行r個r點FFT部分FFT ; :暫存器組’其具有^組態為咖行之暫存器,且其 組態為接收來自該砰丁引擎之輸出值,·及 ’、 :轉置模組’其組態為轉置該暫存器組中之該等值並 將經轉置值寫入記憶體中由該FFT引擎進行操作的 列。 12·如請求項U之裝置,其進一步包含·· 一旋轉因子記憶體,其組態為儲存至少_fft旋轉因 子;及 至少一乘法器,其組態為使-來自該暫存器組中之一 暫存器的值與—來自該旋轉因子記憶體之FFT旋轉因子 相采且組怨為將一輸出值寫入該暫存5|。 13·如請求項12之裝置,其中該至 數乘法器。 …包含至少一複 14_如請求項12之裝置, 乘法器。 采法為包含Μ個複數 98059.doc 200534121 ROM、之1置’其中該旋轉因子記憶體包含選自由 記憶體AM、NV切及快閃記憶體組成之群的至少一 1 6·如明求項J J之裝置,其中該 17如嗜卡像本包合1*個複數樣本。 .=項Η之裝置’其中該記憶體包含⑽。 月、、項11之裝置,其中該砰丁 擎。 ^丨举包含一管線式FFT引 1 9·如睛求項j丨之裝 #碗# 八 轉置杈組藉由以一逐行方式 存态組中的該等值。 +傅直4瞀 士明求項11之裝置,其中該 該暫存器組中的、,且错由如下步驟轉置 編_ w取一對應於該暫存器組之- J值及一行值的暫存 該暂存哭伯# 褥置忒列值及該行值;及將 暫存器。 得直幻值及该經轉置行值之 21 •種或多種組態為儲存一或多彳gj # g % 設備,,+ η 飞夕個處理裔可用指令之儲存 含:下:驟r 將待變換之樣本寫入一备 母列具有r個樣本之記憶體中; 自该記憶體讀取r列; 判定Η固基數r部分FFT以產生—個部分FFT值; 將旋轉因子應用至該等^個 部分FFT值; FT值以產L個加權 將該等r2個加權部分啊值寫入一暫存器组; 98059.doc 200534121 轉置該暫存器組中 T 4寺r個加權部分FFT值以產生 經轉置值; 將4等k轉置值寫入該記憶體;及 自"己隐體之该等内容判定FF丁值。 種判定r點基婁心快速傅立葉變換㈣丁)之裝置,該裝 置包含: 用於將待變換之檨太宦 — 樣本寫入一母列具有r個樣本之記憶體 中之構件; 用於自該記憶體讀取r列之構件; 用於判疋r個基數㈣分贿以產生^個部分抓值之構 件; 用於將旋轉因子應用至該等r2個部分FFT值以產生r2個 加權部分FFT值之構件; 用於將該等Γ2個加權部分附值寫入-暫存器組之構 件; 用於轉置該暫存器組φ夕兮楚2 、、’ r之石亥等r個加權部分FFT值以 產生經轉置值之構件; 用於將該等經轉置值寫入該記憶體之構件;及 用於自s己憶體之該等内容判定FFT值之構件。 2 3 ·如清求項2 2之裝置,盆中兮用於 八甲4用於將樣本寫入該記憶體中 之構件包含逐行將待變換之樣本寫入—具有广]列及诉 之記憶體中。 24·如請求項22之裝置,其中該用於將 τ 4用y、肘樣本寫入該記憶體中 之構件包含將待變換之複數樣本寫入該記憶體中。 98059.doc 200534121 25·如請求項22之裝置,其中該用於自嗜 日成记憶體讀取r列之楳 件包含: 用於判定r個列指數之構件;及 用於自該記憶體讀取對應於該等r個列指數之列 件。 1如請求項24之裝置,其中該用於到心個列指數之構件包 含判定一對應於式Pixfk」之列指數,其中卜〇至⑹),k 表不該F F T之一階段。 27.如請求項22之裝置’其中該用於將旋轉因子應用至該等^ 個部分FFT值之構件包含: 用於擷取至少一複數旋轉因子之構件;及 用於。十亥至少一複數旋轉因子與該等r2個部分FFT 值中之一相應值之一複數乘法之構件。 28·如請求項22之裝置,其中該用於將該等—個加權部分fft 值寫入該暫存器組之構件包含將該等r2個加權部分FFT值 寫入一組態為r列及r行之暫存器組。 29.如請求項28之裝置,其中該用於轉置該等〆個加權部分 FFT值之構件包含·· 用於掘取一對應於該暫存器組之一列及一行之加權部 分FFT值之構件; 用於轉置該列指數及該行指數之構件;及 用於將該加權部分FFT值寫入對應於該等經轉置指數 之列及行之構件。 3〇B —種用於判定一 Γη點基數γ快速傅立葉變換(FFT)之裝 98059.doc 200534121 置,該裝置包含: 入一母列具有r個樣本之記憶體 用於將待變換之樣本寫 中之構件; 用於初始化一階段值之構件; 用於初始化一塊值之構件; 用於處理一 FFT階段之構件,該處理包含·· a) 用於基於該階段值判定若干塊之構件; b) 用於自該記憶體擷取r列之構件; c) 用於判定r個基數以卩分FFT以產生Η個部分汀丁值 之構件; W用於將旋轉因子應用至該等r2個部分阳值以產 生r2個加權部分FFT值之構件; e)用於轉置該暫存器組中之該等^個加權部分 值以產生經轉置值之構件; 〇用於將該等經轉置值寫入該記憶體之構件;及 g)用於基於該塊值及該階段值重複步驟"至〇之 件; h)用於增量該階段值之構件;及 用於重複處理該FFT階段n次之構件;及 用於自圯憶體之該等内容判定FFT值之構件。 31. 一種判定一rn點基數r快速傅立葉變換(]?171^之裝置,該裝 置包含: μ、 用於將待變換之樣本寫入一每列具樣本之記憶體 中之構件; 98059.doc 200534121 a) 用於初始化一階段計數器之構件; b) 用於初始化-塊計數器及-部分FFT計數器之構件; /用於基於料階段計數器、塊特H及部分FFT計數 口口的值自该έ己憶體中擷取r列之構件; d) 用於判定r個基數4卩分FFT以產生—個部分fft值之 構件; e) 用於將旋轉因子應用至該等r2個部分FFT值以產生ρ 個加權部分FFT值之構件; f) 用於將該等r2個加權部分FFT值寫入一暫存器組之構 件; ' g) 用於轉置該暫存器組中之該等Γ2個加權部分fft值以 產生經轉置值之構件; 1)用於將該等經轉置值寫入該記憶體之構件; j) 用於更新該部分FFT計數器及該塊計數器之構件; k) 用於基於該塊計數器及該部分FFT計數器 步驟啦υ之構件; " l) 用於更新該階段計數器的值之構件; m) 用於基於該階段計數器的值重複步驟b)至k)之構 件;及 用於自記憶體之該等内容判定pFT值之構件。 98059.doc
TW093137558A 2003-12-05 2004-12-03 Fft architecture and method TW200534121A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US52719603P 2003-12-05 2003-12-05

Publications (1)

Publication Number Publication Date
TW200534121A true TW200534121A (en) 2005-10-16

Family

ID=34676710

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093137558A TW200534121A (en) 2003-12-05 2004-12-03 Fft architecture and method

Country Status (17)

Country Link
US (1) US7702712B2 (zh)
EP (1) EP1690196B1 (zh)
JP (1) JP2007513431A (zh)
KR (1) KR20060096511A (zh)
CN (1) CN1914607A (zh)
AR (1) AR046869A1 (zh)
AT (1) ATE412220T1 (zh)
AU (1) AU2004297978A1 (zh)
BR (1) BRPI0417222A (zh)
CA (1) CA2547488A1 (zh)
DE (1) DE602004017351D1 (zh)
ES (1) ES2315735T3 (zh)
IL (1) IL176050A0 (zh)
MX (1) MXPA06006391A (zh)
RU (1) RU2006123934A (zh)
TW (1) TW200534121A (zh)
WO (1) WO2005057423A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI402695B (zh) * 2010-07-12 2013-07-21 Novatek Microelectronics Corp 分裂基數-2/8快速傅立葉轉換裝置及方法
TWI601066B (zh) * 2013-03-13 2017-10-01 高通公司 具有用於提供多模基-2x蝶形向量處理電路的可程式設計資料路徑的向量處理引擎以及相關的向量處理器、系統和方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430575B2 (en) * 2003-12-19 2008-09-30 Fujitsu Limited One-dimensional fourier transform program, method and apparatus
US7720162B2 (en) * 2005-03-10 2010-05-18 Qualcomm Incorporated Partial FFT processing and demodulation for a system with multiple subcarriers
US8266196B2 (en) * 2005-03-11 2012-09-11 Qualcomm Incorporated Fast Fourier transform twiddle multiplication
US8229014B2 (en) * 2005-03-11 2012-07-24 Qualcomm Incorporated Fast fourier transform processing in an OFDM system
WO2007066964A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute Memory address generating method and twiddle factor generator using the same
KR100762281B1 (ko) * 2005-12-08 2007-10-01 한국전자통신연구원 고속 푸리에 변환 시스템의 메모리 주소 생성 방법 및 그를이용한 트위들 팩터 생성 장치
US7702713B2 (en) * 2006-03-24 2010-04-20 Debashis Goswami High speed FFT hardware architecture for an OFDM processor
US20070239815A1 (en) * 2006-04-04 2007-10-11 Qualcomm Incorporated Pipeline fft architecture and method
US20070266070A1 (en) * 2006-05-12 2007-11-15 Chung Hua University Split-radix FFT/IFFT processor
US8503545B2 (en) * 2006-08-31 2013-08-06 Advanced Micro Devices, Inc. I/Q imbalance compensation
KR100836624B1 (ko) * 2006-12-08 2008-06-10 한국전자통신연구원 가변 고속 푸리에 변환 장치 및 그 방법
US8738680B2 (en) 2008-03-28 2014-05-27 Qualcomm Incorporated Reuse engine with task list for fast fourier transform and method of using the same
US8959133B2 (en) * 2008-04-18 2015-02-17 Nxp, B.V. System and method for configurable mixed radix FFT architecture for multimode device
KR20110081971A (ko) * 2008-09-10 2011-07-15 코-오퍼레이티브 리서치 센터 포 어드밴스드 오토모티브 테크놀로지 리미티드 이산 푸리에 변환 계수의 행렬을 계산하는 방법 및 장치
CN101478785B (zh) * 2009-01-21 2010-08-04 华为技术有限公司 资源池管理系统及信号处理方法
CN102238348B (zh) * 2010-04-20 2014-02-05 上海华虹集成电路有限责任公司 一种可变数据个数的fft/ifft处理器的基4模块
CN102339272A (zh) * 2010-07-16 2012-02-01 联咏科技股份有限公司 分裂基数-2/8快速傅立叶转换装置及方法
US8819097B2 (en) * 2011-09-09 2014-08-26 Texas Instruments Incorporated Constant geometry split radix FFT
US8825729B1 (en) * 2011-09-19 2014-09-02 Altera Corporation Power and bandwidth efficient FFT for DDR memory
US9275013B2 (en) * 2012-03-16 2016-03-01 Qualcomm Incorporated System and method for analysis and reconstruction of variable pulse-width signals having low sampling rates
KR101335367B1 (ko) * 2012-04-26 2013-12-02 숭실대학교산학협력단 메모리 제어 장치 및 방법
US9098449B2 (en) * 2013-03-15 2015-08-04 Analog Devices, Inc. FFT accelerator
US9311274B2 (en) * 2013-10-17 2016-04-12 Texas Instruments Incorporated Approach for significant improvement of FFT performance in microcontrollers
WO2018170400A1 (en) * 2017-03-16 2018-09-20 Jaber Technology Holdings Us Inc. Apparatus and methods of providing an efficient radix-r fast fourier transform
US10783216B2 (en) 2018-09-24 2020-09-22 Semiconductor Components Industries, Llc Methods and apparatus for in-place fast Fourier transform
CN109558638B (zh) * 2018-10-23 2023-03-24 清华大学 Fft处理器
US11221397B2 (en) * 2019-04-05 2022-01-11 Texas Instruments Incorporated Two-dimensional FFT computation
KR20200143030A (ko) 2019-06-14 2020-12-23 한국전자통신연구원 입력 신호의 특정 주파수 성분들을 분석하기 위한 고속 푸리에 변환 장치
CN115859003A (zh) * 2021-09-27 2023-03-28 华为技术有限公司 执行fft的方法、装置及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59189474A (ja) 1983-04-13 1984-10-27 Yokogawa Medical Syst Ltd 高速フ−リエ変換演算装置
JP3749022B2 (ja) * 1997-09-12 2006-02-22 シャープ株式会社 高速フーリエ変換を用いて短い待ち時間でアレイ処理を行う並列システム
US6088714A (en) * 1998-07-27 2000-07-11 Agilent Technologies Mechanism for calculating one-dimensional fast fourier transforms
US6839728B2 (en) * 1998-10-09 2005-01-04 Pts Corporation Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture
US6609140B1 (en) * 1999-11-30 2003-08-19 Mercury Computer Systems, Inc. Methods and apparatus for fast fourier transforms
KR100481852B1 (ko) * 2002-07-22 2005-04-11 삼성전자주식회사 고속 푸리에 변환 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI402695B (zh) * 2010-07-12 2013-07-21 Novatek Microelectronics Corp 分裂基數-2/8快速傅立葉轉換裝置及方法
TWI601066B (zh) * 2013-03-13 2017-10-01 高通公司 具有用於提供多模基-2x蝶形向量處理電路的可程式設計資料路徑的向量處理引擎以及相關的向量處理器、系統和方法

Also Published As

Publication number Publication date
ATE412220T1 (de) 2008-11-15
WO2005057423A2 (en) 2005-06-23
ES2315735T3 (es) 2009-04-01
US20050182806A1 (en) 2005-08-18
AR046869A1 (es) 2005-12-28
RU2006123934A (ru) 2008-01-10
US7702712B2 (en) 2010-04-20
CN1914607A (zh) 2007-02-14
KR20060096511A (ko) 2006-09-11
JP2007513431A (ja) 2007-05-24
AU2004297978A1 (en) 2005-06-23
DE602004017351D1 (de) 2008-12-04
EP1690196B1 (en) 2008-10-22
WO2005057423A3 (en) 2006-06-01
CA2547488A1 (en) 2005-06-23
MXPA06006391A (es) 2006-08-23
EP1690196A2 (en) 2006-08-16
IL176050A0 (en) 2006-10-05
BRPI0417222A (pt) 2007-02-21

Similar Documents

Publication Publication Date Title
TW200534121A (en) Fft architecture and method
US20080071848A1 (en) In-Place Radix-2 Butterfly Processor and Method
TWI275005B (en) Fast Fourier transform processor and method using half-sized memory
KR20060061796A (ko) 리코드 radix-2 파이프라인 FFT 프로세서
US8917588B2 (en) Fast Fourier transform and inverse fast Fourier transform (FFT/IFFT) operating core
CN101149730A (zh) 使用主要因素算法的最佳离散傅利叶转换方法及装置
US20030041080A1 (en) Address generator for fast fourier transform processor
WO2008132510A2 (en) Fft processor
JP4160564B2 (ja) 処理速度の向上した高速フーリエ変換装置およびその処理方法
US9098449B2 (en) FFT accelerator
US20170103042A1 (en) System and method for optimizing mixed radix fast fourier transform and inverse fast fourier transform
Abbas et al. An FPGA implementation and performance analysis between Radix-2 and Radix-4 of 4096 point FFT
TWI274262B (en) Digital signal processing apparatus
US8484273B1 (en) Processing system and method for transform
JP2001101160A (ja) 高速フーリエ変換用データ記憶パターン
Lee et al. Modified sdf architecture for mixed dif/dit fft
US8601045B2 (en) Apparatus and method for split-radix-2/8 fast fourier transform
JP3709291B2 (ja) 高速複素フーリエ変換方法及び装置
CN104572578B (zh) 用于显著改进微控制器中fft性能的新颖方法
US9952648B2 (en) Digital filtering device, digital filtering method, and storage media storing program
US20090172062A1 (en) Efficient fixed-point implementation of an fft
WO1999053417A1 (en) Device for converting series of data elements
CN115982525A (zh) 基于带低功耗加速器单片机的多点数快速傅里叶变换方法
CN118051709A (zh) 一种fft处理器及运算方法
Ku et al. A design methodology of buffer-memory architectures for FFT computation