• 沒有找到結果。

離散傅利葉轉換之階層式架構設計及實現

N/A
N/A
Protected

Academic year: 2021

Share "離散傅利葉轉換之階層式架構設計及實現"

Copied!
5
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫成果報告

離散傅利葉轉換之階層式架構設計及實現

Hier ar chical Ar chitectur e Design and Implementation of

Discr ete Four ier Tr ansfor m

計畫編號:NSC 89-2215-E-009-057

執行期限:88 年 8 月 1 日至 89 年 7 月 31 日

主持人:沈文仁 交通大學電子研究所

一、中文摘要 傳統的管線式架構,是以雙緩衝記憶 體的架構來達成重新安排各運算單元的輸 出入順序。但是當離散傅利葉轉換運算點 數愈來愈大時,緩衝記憶體所佔的面積將 會大增,甚至會超過運算單元。針對這個 現象,在本計劃中我們將特別著重在降低 緩衝記憶體的使用量。利用快速演算法則 的特性,提出一個階層式的硬體架構。在 此架構下僅需要用單緩衝器記憶體即可完 成原先雙緩衝記憶體的工作。如此緩衝記 憶體所佔的晶片面積將大幅縮小為原先的 一半。而在運算單元方面,由於分散算數 法僅需使用到少量的加法器及唯讀記憶 體,因此我們利用分散算術法並配合管線 式設計來取代運算單元中最佔面積的乘法 器。 在計劃中,我們完成這個階層式架構 的理論推導及其架構設計。此外,我們還 以單晶片方式來實現一個 4096 點的高速離 散傅利葉轉換器晶片以證明本階層式架構 的效能及其可行性。使用 0.35µm 製程, 此 DFT 晶片的 data rate 可達到 66MHz, 而晶片面積為 2 m 7202 5822× µ 。完成一個 4096 點的 DFT 運算僅需要 62.06µs。 關鍵詞:離散傅利葉轉換、階層式架構 Abstr act

Traditional pipelined FFT architectures use the double RAM buffer technique to re-index processing data. However the memory size will become incredibly large when the transfer length is very long. This project proposes a new pipelined hierarchy architecture. By using the single RAM buffer technique, about half of the memory size can

be reduced while keeping the high processing speed. In addition, a 4096-point DFT processor is implemented based on this pipelined hierarchy architecture. Using 0.35µm technology, the data rate of this DFT chip can achieve 66MHz and the chip area is

2

m 7202

5822× µ . It takes only 62.06µs for this DFT processor to complete a 4096-point DFT computation.

Keywor ds : Discrete Fourier Transform

(DFT), Hierarchical Architecture 二、緣由與目的 數位訊號處理的應用近十年來大幅地 成長,舉凡在語音處理、影像處理、視頻 傳輸、雷達、醫學電子等各方面都已逐漸 取代傳統類比訊號處理的地位。而在這些 數位訊號處理的應用中,離散傅利葉轉換 (Discrete Fourier Transform, DFT)一直扮演 著很重要的角色。但是因為離散傅利葉轉 換的運算複雜度與其轉換點數的平方成正 比,而且在大部份的應用中離散傅利葉轉 換所需要運算的點數都很長,因此完成一 個離散傅利葉轉換需要極大的運算量。再 加上許多系統都要求即時處理,所以要設 計一個能以高速處理長點數輸入的離散傅 利葉轉換系統是相當困難的。 針對離散傅利葉轉換系統設計上的困 難,許多快速演算法則就被發展出來。過 去這些快速演算法則大都著眼於以軟體方 式來實現離散傅利葉轉換,其焦點在於減 低其運算量。但是即使利用這些快速演算 法則,以軟體方式來實現離散傅利葉轉換 也常不能達到某些應用即時處理長點數輸 入的需求。現在因為積體電路製程的快速 發展使得我們有機會直接以硬體來完成離 散傅利葉轉換。由於這些硬體架構是專為

(2)

離散傅利葉轉換而設計的,因此可以達到 高速運算的需求。 近年來以硬體設計為基礎的離散傅利 葉轉換運算架構陸續被提出,這些硬體運 算器在選擇其演算法則時所考慮的重點就 有別於以軟體方式來實現,當然盡量減少 各種運算的數量還是相當重要,但是更需 要考慮在超大型積體電路中各數學運算單 元之間通訊的複雜度,因為它可能比數學 運算單元更佔晶片面積。所以當我們在選 擇演算法則時不但要考慮其運算的數量, 還要考慮它的規則性、模組性、區域性、 是否易於控制等等。目前以超大型積體電 路來實現離散傅利葉轉換運算器的研究所 採用的方法非常多,但在架構上大致可以 分為以快速法則為基礎、以質因數演算法 為基礎和以矩陣乘法為基礎者三類。這三 種方式各有其優缺點,而目前國內外各界 還是最常使用快速演算法則來實現其晶片 設計。 但使用快速演算法則無可避免的會遇 到繞線及輸出入序列順序的問題。大部分 的設計會採用雙記憶體緩衝器的架構來解 決此問題,但是當運算點數愈來愈長時, 這些緩衝器所佔的晶片面積會明顯的增 加,甚至會超過數學運算單元的面積。所 以在以積體電路來實現長點數離散傅利葉 轉換時,不僅要考慮到降低運算量,更要 考慮如何減少記憶體緩衝器的使用。所 以,本計畫希望能擷取快速演算法則的優 點,但改善其緩衝記憶體過大的缺點,推 導出一個能適用於各種應用的硬體架構。 不但可以降低長點數離散傅利葉轉換的運 算量,並且使緩衝記憶體的使用大量減 少。另外,為驗證本架構的效能,我們也 以此硬體架構為基礎,以單晶片積體電路 實現一個 4096 點的高速離散傅利葉轉換 器。 三、計劃結果與討論 本計畫的目的就是希望能克服離散傅 利葉轉換設計上的困難,研發出經濟且實 用的演算法則與硬體架構,並根據此硬體 架構,以單晶片完成一個能處理四千點連 續輸入資料的高速離散傅利葉轉換器。 在演算法則分析方面,一般而言,快 速演算法則與質因數演算法則應是比較適 合於長點數離散傅利葉轉換。這兩種演算 法則的精神都是將一維的長點數離散傅利 葉轉換變換成多維的短點數離散傅利葉轉 換以減少其運算量。 首先來看快速演算法則。令輸入點數 的長度為 N,則離散傅利葉轉換可定義如 下: 1 ,..., 1 , 0 ) ( ) ( 1 0 − = =

− = N k W n x k X N n nk N 其中WN =ej(2π/N) 假設 N 有兩個因數,N=N1×N2, 令 n=N2n1+n2k=k1+N1k2 其 中 1 ,..., 1 , 0 , 1 ,..., 1 , 0 , 1 1 2 2 2 1 k = Nn k = Nn ,則可得到, 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 1 2 2 1 1 2 2 1 1 1 0 1 2 2 1 1 0 1 0 ) )( ( 2 1 1 0 1 0 2 1 ) , ( ) ) , ( ( ) , ( ) , ( N k N N n N k N N k N N n N n k n N n n N k N k N N n N n W k n G W W n n x W W n n x k k X

∑∑

− = − = − = + + − = − = = = = 利 用 列 行 分 解 法 , 上 式 中 的

− = = 1 0 1 2 1 1 2 1 1 1 ) , ( ) , ( N n N k N W n n x k n G 可 視 為 是 一 個 N1點的 DFT 乘上 twiddle factor WNn2k1後, 再 經 過 另 一 個 N2 點 的 DFT , 2 2 2 2 1 0 1 2, ) ( NkN N n W k n G

− = , 運算後即可得到 N 點 的 DFT 輸出,圖一是其對應架構的方塊示 意圖。同樣的方法可延伸到 r 個因數, r N N N N N= 1× 2× 3...× , 由圖一我們可看出原來需要 N 點的 DFT 運算,現在僅需N1點加上 N2點的 DFT 運算,其運算量確是減低不少。但是每兩 級之間的資料必須乘上 twiddle factor,這 將需要用到額外的乘法器來完成。此外, 由上圖亦可看出因資料的產生順序問題而 需要用到 reorder buffer。傳統上,這部分的 設計都是採用雙記憶體緩衝器的架構來實 現,如圖二所示。 圖二中利用記憶體緩衝器來完成快速 法則中複雜的資料繞線與輸出入順序問 題。為了使運算資料能不斷地輸入,每一 級的緩衝器均需要使用雙記憶體架構,當

(3)

其中一個記憶體的資料被讀出時,另一個 記憶體則正被寫入新資料。以 64 點 DFT 為例,若輸入為複數,則需要用到 64x4x2x2 = 1024 word 的記憶體容量。若是 4096 點 的 DFT 則需要 4096x7x2x2 = 56k word 的 記憶體容量。由此可看出當運算點數變大 後,其所需的記憶體也變得十分龐大。 為解決上述記憶體使用量隨運算點數 增加而擴增的問題,我們提出一個新的階 層式架構,在此架構下每個記憶體緩衝器 將只需要使用單記憶體架構而非傳統的雙 記憶體架構。如此一來,記憶體的使用量 可以大幅降低為原先的一半。這將使得我 們有機會以單晶片來實現長點數 DFT。 必須使用雙記憶體緩衝器的原因是資 料寫入與讀出的順序不同,若只使用一個 記憶體則會發生舊資料尚未被讀出就被新 寫入的資料蓋過的情形。只要能避免這種 情形發生就可使用單記憶體緩衝器架構。 最簡單的方法就是令N1=N2 = N , 則其記憶體定址架構就如圖三所示。記憶 體被視為一個有 N 行乘上 N 列的矩 陣 。 任 一 記 憶 體 位 置(i,j) 的 地 址 就 是 j N i+ × 。而每次讀出及寫入的順序就如 下所述。

Initial Wr ite Oper ation:

for (i=0;i< N;i++)

for (j=0;j< N;j++)

write data at address (i+ N×j); 在 initial write operation 時先按照列的方向 將第一組資料寫入。之後則按照行的方向 將資料讀出並同時將第二組新資料寫入同 一位置。其動作如下:

Read /Wr ite Oper ation 1:

for (j=0;j< N;j++)

for (i=0;i< N;i++)

read data from address (i+ N×j);

write data at address (i+ N×j); 既然第二組資料是以行的方向寫入,所以 接著應該以列的方向讀出,同時將第三組 資料寫入。其動作如下:

Read/Wr ite Oper ation 2 :

for (i=0;i< N;i++)

for (j=0;j< N;j++)

read data from address (i+ N×j);

write data at address (i+ N×j); 接下來只要不斷重複 operation 1 及 2 即可以在不影響速度的情形下以單記憶體 完成 reorder 的工作。 基於這個單記憶體讀寫方式,我們提 出一個適於計算 N 點 DFT 的階層式管線架 構。如圖四所示,首先我們將 N 點 DFT 拆 成兩個 N點的 DFT。如此我們就可以 3 個單記憶體緩衝器及 2 個 N點的 DFT 單 元來實現 N 點 DFT 的運算。若是 N點的 DFT 單元仍然太大,我們可以再進一步將 其分解為兩個4 N點的 DFT。這個步驟可 持續到最後被分解出來的短點數 DFT 單元 是可用合理晶片面積來實現為止。 以 4096 點 DFT 運算為例,使用此架 構 只 需 要 4 個 8 點 的 DFT 單 元 以 及 ) 64 3 ( 2 4096 3× + × = 12,672-word 的 記 憶 體。若以傳統的管線式架構則需要,4 個 8 點的 DFT 單元以及 24,720-word 的記憶體 至於短點數離散傅利葉轉換的設計, 在計劃中我們採用分散算術法(Distributed Arithmetic, DA)。因為分散算術法在硬體上 只需要用到少量加法器與唯讀記憶體,透 過適當的安排可使唯讀記憶體的與大小與 加法器的數目達到最少,相較於直接實現 乘法器可以節省極多的硬體花費。 在 VLSI 實現方面,我們採用 TSMC 0.35µm 1P4M 的 CMOS 製程,利用 CIC 提供的單元資料庫及設計輔助軟體完成如 圖 五 所 示 的 晶 片 。 其 面 積 大 約 為 2 m 7202 5822× µ , 資 料 處 理 速 率 可 達 66MHz。計算一組 4096 點的 DFT 僅需 62.06µs。 由於長點數 DFT 的應用極為廣泛,例 如在 ADSL、Digital Audio Broadcasting 等 系統中都會用到。本計劃的成果可適用於 這些長轉換點數及高速處理的運用。未來 若能 IP 化,更可適用於 SOC 整合。

四、參考文獻

[1] A. V. Oppenheim and R. W. Schafer,

Discrete-Time Signal processing,

Prentice Hall, 1989.

[2] L. R. Rabiner and B. Gold, Theory and Application of Digital Signal processing,

Englewood Cliffs, NJ:Prentice Hall, 1975.

(4)

[3] R. E. Blahunt, Fast Algorithms for Digital Signal Processing,

Addison-Wesley, 1985.

[4] E.H.Wold and A.M.Despain, “Pipeline and parallel-pipeline FFT processors for VLSI implementations,” IEEE Transaction on Computers, Vol. c-33,

May 1984

[5] S. I. Sayegh, “A pipelin Processor for mixed-size FFT’s”, IEEE Transaction on Signal Processing, Vol. 40, Aug. 1992

[6] Y. U. Ma, “A VLSI-oriented parallel FFT algorithm,” IEEE Transaction on Signal Processing, Vol. 44, Feb. 1996

[7] E. Bidet, D. Castelain, C. Joanblanq, and P. Senn, “A fast single-chip implementation of 8192 complex point FFT”, IEEE Journal of Solid-State Circuits, Vol.30, Mar. 1995.

N1-point DFT Input buffer ) (n x x(n1,n2) G(k1,n2) 1 2k n N W

X

N2-point DFT Reorder buffer ) , ( ~ 2 1 n k G Output buffer ) , (k1 k2 X X(k) 圖一、快速演算法則硬體架構示意圖 Divide-by-N up Counter Index mapping ROM Address Sequencer

Write Address Read Address

Upper RAM Lower RAM Double RAM Input Output 圖二、雙記憶體緩衝器架構 . . . . . . N−1 1 − N i 0 1 ) , (i j 0 1 j . . . . . .

The address of location is(i,j) i+ N×j

圖三、單記憶體緩衝器定址結構 圖五、4096 點 DFT 處理器晶片 RAM N N× RAM N N× DFT point − N x DFT point − N RAM N N× N W IN OUT DFT point 4 − N DFT point 4 − N x RAM 4 4 N N× RAM 4 4 N N× RAM 4 4 N N× N W 圖四、N 點 DFT 的階層管線式架構

(5)

行政院國家科學委員會補助專題研究計畫成果報告

※※※※※※※※※※※※※※※※※※※※※※※※※※

※      ※

※   離散傅利葉轉換之階層式架構設計及實現   ※

※      ※

※※※※※※※※※※※※※※※※※※※※※※※※※※

計畫類別:■個別型計畫  □整合型計畫

計畫編號:NSC 89-2215-E-009-057

執行期間:88 年 08 月 01 日至 89 年 07 月 31 日

計畫主持人:沈文仁

共同主持人:

本成果報告包括以下應繳交之附件:

□赴國外出差或研習心得報告一份

□赴大陸地區出差或研習心得報告一份

□出席國際學術會議心得報告及發表之論文各一份

□國際合作研究計畫國外研究報告書一份

執行單位:國立交通大學電子研究所

中 華 民 國 89 年 8 月 1 日

參考文獻

相關文件

[r]

[r]

聘期依據本校核定後實 驗教育計畫書(110學年 度所聘代理教師聘期為 完整一年期,自本學年 度起,至翌年7月31日

A30:印刷費之報支無須檢附樣張或樣本。現如仍有要求,並非共同 性規範之規定,爰機關宜就其必要性適時檢討妥處。 (行政院主計 總處 89 年 8 月 29 日台 89

國文   翻轉 教學專刊 發行人:李枝昌 編 輯:李珮瑜 出刊日:民國 發行所:龍騰文化事業股份有限公司 104 年 08 月 地 址:新北市五股區五權七路 1

(1)針對具有中子研究專長者,具備下列要件之 一:①物理、化學、核工系所博士畢業,具 二年以上中子研究經驗;執行中子散射、繞

具二年以上中子研究經驗;執行中子散 射、繞射以及台澳中子計畫 SIKA 實驗設施 運轉計畫。2.凝態物理系所博士畢業,具良

序號 編號 主持人 公文主旨 公文摘要 發文日期 為「12 Hours:60%~85%」,然未提供更新之. 試驗用藥 Corever Extended-release Tablets