TWI393015B - 管線化快速傅利葉轉換電路架構及其轉換方法 - Google Patents
管線化快速傅利葉轉換電路架構及其轉換方法 Download PDFInfo
- Publication number
- TWI393015B TWI393015B TW97151761A TW97151761A TWI393015B TW I393015 B TWI393015 B TW I393015B TW 97151761 A TW97151761 A TW 97151761A TW 97151761 A TW97151761 A TW 97151761A TW I393015 B TWI393015 B TW I393015B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- data stream
- input
- output
- unit
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Description
本發明係有關於一種可提高運算處理單元使用率及降低硬體設計成本之管線化快速傅利葉轉換電路架構及其轉換方法。
快速傅立葉轉換演算法(FFT Algorithm)常見使用於正交分頻多工系統(OFDM)上,而正交分頻多工系統在近幾年中被廣泛地應用於各種通信系統,特別是無線通信系統,因此,讓許多通訊相關研究對於快速傅立葉轉換處理器投下相當的心力。目前快速傅立葉轉換的硬體設計架構,大略可分為非管線化(non-pipeline)和管線化(pipeline)兩類,其中非管線化的快速傅立葉轉換,主要採用一組主記憶單元並搭配數組蝴蝶運算處理器,以從主記憶單元按適當的順序讀出資料處理,且必須在同一級的所有資料運算完成後才能接續下一級的運算,然而,非管線化方法在處理如正交分頻多工系統時,需將要處理的資料先存入記憶體中,並且要額外增加一塊記憶體,以在處理前組資料時同時暫存新輸入的資料才可以處理連續輸入之資料。相較於非管線化的設計,管線化快速傅利葉轉換設計比其更適合應用於連續性單一輸入資料的系統上,其因在於管線化快速傅立葉轉換係在各級的處理單元之間加入由記憶單元構成之資料交換器(Data Commutator),用來將前級運算後的結果排序成合適於下一級處理單元處理資料的順
序。
如第1圖所示,其係顯示習知MDF型式之管線化快速傅立葉轉換架構,該架構係擁有很高的資料產出量(throughput),然而,為了讓輸入資料作預先的排列,使其可方便第一級執行的序列,其必須先暫存前半段的輸入資料,也因此使得硬體的使用率只能達到50%,並且內部的緩衝區需多花N/2的大小將輸入資料重整,使得整體緩衝區的總計大小增為,其中N為樣本數、W為輸入資料的資料位元長度(bit word-length)。此外,管線化快速傅立葉轉換硬體架構在運算處理後所得到的輸出順序都是特殊的位元反向(bit-reversal)輸出順序,因此,必須在最後一級輸出之後加上一個額外的輸出順序轉換器,以將輸出的結果轉換成一般輸出順序之結果,才能夠將所運算的結果拿來加以使用,如此,將增加額外硬體成本的支出。
本發明之主要目的係在於提供一種管線化快速傅利葉轉換電路架構,係用於處理一具有N個樣本數之循序輸入資料,其包含一資料分割單元、一前置資料處理單元以及M個資料運算單元,該資料分割單元係用以將該循序輸入資料分割成一第一輸入資料流及一第二輸入資料流,該前置資料處理單元係接收該第一輸入資料流及該第二輸入資料流,並將該第一輸入資料流排序成一奇數索引資料流及將該第二輸入資料流排序成一偶數索引資料流,各該資料運算單元係具有一資料交換器及一連接該資料交換
器之蝴蝶運算器,其中M=log2
N,且第1個資料運算單元之該資料交換器係連接該前置資料處理單元。本發明係將該循序輸入資料分割成該第一輸入資料流及該第二輸入資料流,以進行後續M次資料運算處理,其功效上可將該些資料交換器及該些蝴蝶運算器所需運算的空間大小減至原本所需的一半,且可提高該些資料運算單元之使用率至近100%及降低硬體設計成本,此外,本發明亦將該輸出順序轉換單元整合於第M個資料運算單元中,利用該輸出順序轉換單元原有內部之記憶空間,可在不需額外記憶模組的情形下達到正常循序資料的輸出。
本發明之另一目的係在於提供一種管線化快速傅利葉轉換方法,係用於處理一具有N個樣本數之循序輸入資料,其包含將該循序輸入資料分割成一第一輸入資料流及一第二輸入資料流,該第一輸入資料流及該第二輸入資料流二者之資料位元長度係分別為該循序輸入資料之資料位元長度的一半;將該第一輸入資料流及該第二輸入資料流分別排序成一奇數索引資料流及一偶數索引資料流;以及分別對該奇數索引資料流及該偶數索引資料流進行M次資料運算處理,其中M=log2
N,且每次資料運算處理係包含進行一資料交換處理及一蝴蝶運算處理。
請參閱第2圖,其係本發明之一較佳實施例,一種管線化快速傅利葉轉換電路架構,係用於處理一具有N個樣本數之循序輸入資料S,其中N係為2的冪次方,該管線
化快速傅利葉轉換電路架構係包含一資料分割單元10、一前置資料處理單元20、M個資料運算單元30以及一輸出順序轉換單元40,該資料分割單元10係用以將該循序輸入資料S分割成一第一輸入資料流S1及一第二輸入資料流S2,在本實施例中,該循序輸入資料S係具有一資料位元長度w,該第一輸入資料流S1及該第二輸入資料流S2係分別具有一第一資料位元長度w1及一第二資料位元長度w2,較佳地,該第一資料位元長度w1及該第二資料位元長度w2係分別為該循序輸入資料S之該資料位元長度w的一半,即w1=w2=w/2,該前置資料處理單元20係接收該第一輸入資料流S1及該第二輸入資料流S2,並將該第一輸入資料流S1排序成一奇數索引資料流及將該第二輸入資料流S2排序成一偶數索引資料流,在本實施例中,該前置資料處理單元20係為一資料交換器,各該資料運算單元30係具有一資料交換器31及一連接該資料交換器31之蝴蝶運算器32,其中M=log2
N,且第1個資料運算單元30之該資料交換器31係連接該前置資料處理單元20,又,請再參閱第2圖,該輸出順序轉換單元40係設置於第M個資料運算單元30之該資料交換器31與該蝴蝶運算器32之間,以在經過第M次資料運算處理後,能夠直接產生正常順序的輸出結果,並可避免增加額外的暫存空間,此外,第M個資料運算單元30之該資料交換器31係具有一輸出端O,而該輸出順序轉換單元40係具有一第一輸入端P1、一第二輸入端P2、一第一輸出端D1以及
一第二輸出端D2,在本實施例中,該資料交換器31之該輸出端O係連接該輸出順序轉換單元40之該第一輸入端P1,此外,第M個資料運算單元30之該蝴蝶運算器32係具有一第三輸入端P3、一第四輸入端P4、一第三輸出端D3以及一第四輸出端D4,在本實施例中,該蝴蝶運算器32之該第四輸出端D4係連接該輸出順序轉換單元40之該第二輸入端P2,而該輸出順序轉換單元40之該第一輸出端D1及該第二輸出端D2係分別連接該蝴蝶運算器32之該第三輸入端P3及該第四輸入端P4。
有關根據該管線化快速傅利葉轉換電路架構所提出之管線化快速傅利葉轉換方法,請參閱第2及3圖所示。首先,請參閱第3圖之步驟(a)及第2圖,利用該資料分割單元10將該循序輸入資料S分割成一第一輸入資料流S1及一第二輸入資料流S2,在本實施例中,該循序輸入資料S係具有一資料位元長度w,該第一輸入資料流S1及該第二輸入資料流S2係分別具有一第一資料位元長度w1及一第二資料位元長度w2,較佳地,該第一資料位元長度w1及該第二資料位元長度w2係分別為該循序輸入資料S之該資料位元長度w的一半,即w1=w2=w/2;之後,請參閱第3圖之步驟(b)及第2圖,利用該前置資料處理單元20將該第一輸入資料流S1及該第二輸入資料流S2分別排序成一奇數索引資料流及一偶數索引資料流;最後,請參閱第3圖之步驟(c)及第2圖,分別利用該些資料運算單元30對該奇數索引資料流及該偶數索引資料流進行M次資
料運算處理,其中M=log2
N,且每次資料運算處理係包含進行一資料交換處理及一蝴蝶運算處理,在本實施例中,在第1次資料運算處理後,該偶數索引資料流係排序在該奇數索引資料流之前,以進行後續M-1次之資料運算處理,且在第M次資料交換處理後,另包含進行一輸出順序轉換步驟,在本實施例中,該輸出順序轉換步驟係包含將具有半字元大小之資料流匯合成一具有完整字元之資料流,而在第M次資料運算處理中,更包含對該具有完整字元之資料流進行蝴蝶運算處理,且在蝴蝶運算處理後會產生兩筆輸出結果,其中一筆為正常輸出,另一筆則回存至該輸出順序轉換單元40的緩衝區中,等到正確的輸出時間再將值輸出,請參閱第2及4圖,如0,1做完蝴蝶運算處理後所得結果為y0
及y8
,此時會將y0
先輸出,並將y8
回存至該輸出順序轉換單元40,以此類推,直到前面一半的8筆資料y0
至y7
輸出後,後面一半的y8
至y15
再從該輸出順序轉換單元40中逐一輸出。
本發明係將該循序輸入資料S分割成該第一輸入資料流S1及該第二輸入資料流S2,其功效上可將該些資料交換器31及該些蝴蝶運算器32所需運算的空間大小減至原本所需的一半,且可提高該些資料運算單元30之使用率至近100%及降低硬體設計成本,此外,本發明亦將該輸出順序轉換單元40整合於第M個資料運算單元30中,利用該輸出順序轉換單元40原有內部之記憶空間,可在不需額外記憶模組的情形下達到正常循序資料的輸出。
本發明之保護範圍當視後附之申請專利範圍所界定者為準,任何熟知此項技藝者,在不脫離本發明之精神和範圍內所作之任何變化與修改,均屬於本發明之保護範圍。
10‧‧‧資料分割單元
20‧‧‧前置資料處理單元
30‧‧‧資料運算單元
31‧‧‧資料交換器
32‧‧‧蝴蝶運算器
40‧‧‧輸出順序轉換單元
N‧‧‧樣本數
O‧‧‧輸出端
P1‧‧‧第一輸入端
P2‧‧‧第二輸入端
P3‧‧‧第三輸入端
P4‧‧‧第四輸入端
D1‧‧‧第一輸出端
D2‧‧‧第二輸出端
D3‧‧‧第三輸出端
D4‧‧‧第四輸出端
S‧‧‧循序輸入資料
S1‧‧‧第一輸入資料流
S2‧‧‧第二輸入資料流
w‧‧‧資料位元長度
w1‧‧‧第一資料位元長度
w2‧‧‧第二資料位元長度
(a)‧‧‧將該循序輸入資料分割成一第一輸入資料流及一第二輸入資料流,該第一輸入資料流及該第二輸入資料流二者之資料位元長度係分別為該循序輸入資料之資料位元長度的一半
(b)‧‧‧將該第一輸入資料流及該第二輸入資料流分別排序成一奇數索引資料流及一偶數索引資料流
(c)‧‧‧分別對該奇數索引資料流及該偶數索引資料流進行M次資料運算處理,其中M=log2
N,且每次資料運算處理係包含進行一資料交換處理及一蝴蝶運算處理
第1圖:習知MDF型式之管線化快速傅利葉轉換電路架構。
第2圖:依據本發明之一較佳實施例,一種管線化快速傅利葉轉換電路架構圖。
第3圖:依據本發明之一較佳實施例,一種管線化快速傅利葉轉換方法流程圖。
第4圖:依據本發明之一較佳實施例,N=16時,輸出順序轉換單元之資料處理排程圖。
10‧‧‧資料分割單元
20‧‧‧前置資料處理單元
30‧‧‧資料運算單元
31‧‧‧資料交換器
32‧‧‧蝴蝶運算器
40‧‧‧輸出順序轉換單元
N‧‧‧樣本數
O‧‧‧輸出端
P1‧‧‧第一輸入端
P2‧‧‧第二輸入端
P3‧‧‧第三輸入端
P4‧‧‧第四輸入端
D1‧‧‧第一輸出端
D2‧‧‧第二輸出端
D3‧‧‧第三輸出端
D4‧‧‧第四輸出端
S‧‧‧循序輸入資料
S1‧‧‧第一輸入資料流
S2‧‧‧第二輸入資料流
w‧‧‧資料位元長度
w1‧‧‧第一資料位元長度
w2‧‧‧第二資料位元長度
Claims (11)
- 一種管線化快速傅利葉轉換電路架構,係用於處理一具有N個樣本數之循序輸入資料,其包含:一資料分割單元,其係用以將該循序輸入資料分割成一第一輸入資料流及一第二輸入資料流;一前置資料處理單元,其係接收該第一輸入資料流及該第二輸入資料流,並將該第一輸入資料流排序成一奇數索引資料流及將該第二輸入資料流排序成一偶數索引資料流;以及M個資料運算單元,各該資料運算單元係具有一資料交換器及一連接該資料交換器之蝴蝶運算器,其中M=log2 N,且第1個資料運算單元之該資料交換器係連接該前置資料處理單元。
- 如申請專利範圍第1項所述之管線化快速傅利葉轉換電路架構,其中該前置資料處理單元係為一資料交換器。
- 如申請專利範圍第1項所述之管線化快速傅利葉轉換電路架構,其另包含有一輸出順序轉換單元,該輸出順序轉換單元係設置於第M個資料運算單元之該資料交換器與該蝴蝶運算器之間。
- 如申請專利範圍第3項所述之管線化快速傅利葉轉換電路架構,其中第M個資料運算單元之該資料交換器係具有一輸出端,該輸出順序轉換單元係具有一第一輸入端及一第二輸入端,該資料交換器之該輸出端係 連接該輸出順序轉換單元之該第一輸入端。
- 如申請專利範圍第4項所述之管線化快速傅利葉轉換電路架構,其中第M個資料運算單元之該蝴蝶運算器係具有一第三輸出端及一第四輸出端,該蝴蝶運算器之該第四輸出端係連接該輸出順序轉換單元之該第二輸入端。
- 如申請專利範圍第3項所述之管線化快速傅利葉轉換電路架構,其中該輸出順序轉換單元係具有一第一輸出端及一第二輸出端,第M個資料運算單元之該蝴蝶運算器係具有一第三輸入端及一第四輸入端,該輸出順序轉換單元之該第一輸出端及該第二輸出端係分別連接該蝴蝶運算器之該第三輸入端及該第四輸入端。
- 一種管線化快速傅利葉轉換方法,係用於處理一具有N個樣本數之循序輸入資料,其包含:將該循序輸入資料分割成一第一輸入資料流及一第二輸入資料流,該第一輸入資料流及該第二輸入資料流二者之資料位元長度係分別為該循序輸入資料之資料位元長度的一半;將該第一輸入資料流及該第二輸入資料流分別排序成一奇數索引資料流及一偶數索引資料流;以及分別對該奇數索引資料流及該偶數索引資料流進行M次資料運算處理,其中M=log2 N,且每次資料運算處理係包含進行一資料交換處理及一蝴蝶運算處理。
- 如申請專利範圍第7項所述之管線化快速傅利葉轉換方法,其中在第1次資料運算處理後,該偶數索引資料流係排序在該奇數索引資料流之前。
- 如申請專利範圍第7項所述之管線化快速傅利葉轉換方法,其中在第M次資料交換處理後,另包含進行一輸出順序轉換步驟。
- 如申請專利範圍第9項所述之管線化快速傅利葉轉換方法,其中該輸出順序轉換步驟係包含將具有半字元大小之資料流匯合成一具有完整字元之資料流。
- 如申請專利範圍第10項所述之管線化快速傅利葉轉換方法,其中在第M次資料運算處理中,係包含對該具有完整字元之資料流進行蝴蝶運算處理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97151761A TWI393015B (zh) | 2008-12-31 | 2008-12-31 | 管線化快速傅利葉轉換電路架構及其轉換方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97151761A TWI393015B (zh) | 2008-12-31 | 2008-12-31 | 管線化快速傅利葉轉換電路架構及其轉換方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201025033A TW201025033A (en) | 2010-07-01 |
TWI393015B true TWI393015B (zh) | 2013-04-11 |
Family
ID=44852413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97151761A TWI393015B (zh) | 2008-12-31 | 2008-12-31 | 管線化快速傅利葉轉換電路架構及其轉換方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI393015B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI499969B (zh) * | 2014-06-13 | 2015-09-11 | Univ Nat Chiao Tung | 重新調序緩衝器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060167964A1 (en) * | 2005-01-21 | 2006-07-27 | Texas Instruments Incorporated | Methods and systems for a multi-channel fast fourier transform (FFT) |
TWI276975B (en) * | 2004-12-01 | 2007-03-21 | Ind Tech Res Inst | Fast fourier transform processor |
TW200821865A (en) * | 2006-11-10 | 2008-05-16 | Univ Nat Yunlin Sci & Tech | Fast Fourier transform system |
-
2008
- 2008-12-31 TW TW97151761A patent/TWI393015B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI276975B (en) * | 2004-12-01 | 2007-03-21 | Ind Tech Res Inst | Fast fourier transform processor |
US20060167964A1 (en) * | 2005-01-21 | 2006-07-27 | Texas Instruments Incorporated | Methods and systems for a multi-channel fast fourier transform (FFT) |
TW200821865A (en) * | 2006-11-10 | 2008-05-16 | Univ Nat Yunlin Sci & Tech | Fast Fourier transform system |
Also Published As
Publication number | Publication date |
---|---|
TW201025033A (en) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090031089A1 (en) | Transpose Memory And Method Thereof | |
KR101162649B1 (ko) | 가변적 크기의 고속 직교 변환을 구현하기 위한 방법 및장치 | |
CN105975251B (zh) | 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法 | |
US8396913B2 (en) | Fast fourier transform architecture | |
US20100128818A1 (en) | Fft processor | |
WO2013097219A1 (zh) | 一种用于并行fft计算的数据存取方法及装置 | |
JP2007148623A5 (zh) | ||
US20140330880A1 (en) | Methods and devices for multi-granularity parallel fft butterfly computation | |
Marcelino et al. | Sorting units for FPGA-based embedded systems | |
WO2011036918A1 (ja) | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 | |
US20220069840A1 (en) | Methods, devices and systems for efficient compression and decompression for higher throughput | |
US8787422B2 (en) | Dual fixed geometry fast fourier transform (FFT) | |
TWI393015B (zh) | 管線化快速傅利葉轉換電路架構及其轉換方法 | |
WO2013097436A1 (zh) | 一种fft/dft的倒序排列系统与方法及其运算系统 | |
WO2001078290A2 (en) | Traced fast fourier transform apparatus and method | |
CN111368250B (zh) | 基于傅里叶变换/逆变换的数据处理系统、方法及设备 | |
US6789097B2 (en) | Real-time method for bit-reversal of large size arrays | |
US9880974B2 (en) | Folded butterfly module, pipelined FFT processor using the same, and control method of the same | |
TWI564735B (zh) | 資料分配裝置、訊號處理裝置及其資料分配方法 | |
CN109753629B (zh) | 多粒度并行fft计算装置 | |
CN115146222A (zh) | Fft处理系统、处理方法及dsp处理器 | |
US20090172062A1 (en) | Efficient fixed-point implementation of an fft | |
US20230289397A1 (en) | Fast fourier transform device, digital filtering device, fast fourier transform method, and non-transitory computer-readable medium | |
Long et al. | A low-complexity generalized memory addressing scheme for continuous-flow fast Fourier transform | |
CN107894966A (zh) | 一种基于流水线的块浮点模式下的fft处理器引擎原型 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |