• 沒有找到結果。

題目:管線式 Radix-4 快速傅立葉轉換之 FPGA 實現 FPGA Implementation Of Pipeline Radix-4 FFT

N/A
N/A
Protected

Academic year: 2022

Share "題目:管線式 Radix-4 快速傅立葉轉換之 FPGA 實現 FPGA Implementation Of Pipeline Radix-4 FFT"

Copied!
55
0
0

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

全文

(1)

中 華 大 學 碩 士 論 文

題目:管線式 Radix-4 快速傅立葉轉換之 FPGA 實現 FPGA Implementation Of Pipeline Radix-4 FFT

系 所 別:電機工程學系碩士班 學號姓名:M09101003 李秋樺 指導教授:辛錫進 博士

中華民國 九十三 年 七 月

(2)

中 文 摘 要

802.11a 標準被視為下一代高速無線區域網路規格,其所使用的調變方式為正 交分頻多工(OFDM)。由於IFFT/FFT 可以做高效率的轉換並產生相互正交的載波,因 此是實現整個 OFDM 系統的一個關鍵元件。本篇論文介紹 Radix-4 DIF FFT 演算法,其優 點是所用的乘法器數目比 Radix-2 少,再配合使用管線(Pipeline)處理技術更以達到快 速、即時處理的要求。我們在第一章中會先探討 OFDM 調變的原理,再介紹它與 快速傅立葉轉換的演算法之間有何關聯;第二章裡會詳加說明本論文所採用的 FFT 演算法;第三章主要是利用 Matlab 來做模擬並且找出最佳的資料位元長度、

交互因子位元長度等等;而在第四章中會使用硬體描述語言 Verilog 完成 IFFT/FFT 之電路設計,並以 FPGA 技術予以硬體實現。

(3)

摘 要

Abstract

The 802.11a standard is regarded as the standard of high-speed Wireless LAN in next generation, its modulation uses OFDM. IFFT/FFT processor is the key component in the implementation of OFDM system, because it performs the transformation very efficiently and provides a simply way of ensuring the carrier signals produced are orthogonal. This paper introduces Radix-4 DIF FFT algorithm ,it has the smaller numbers of multiplier then radix-2 algorithm and coordinate pipeline processing technology to meet the fast and real time processing demand. In the first chapter we discuss the principle of OFDM and introduce relation between OFDM and fast fourier transform; In second chapter we explain the paper used architecture of FFT; Third chapter mainly uses Matlab to simulation ,then we seeks the best bit length of the data and twiddle factor. In the fourth chapter we use hardware description language (Verilog) to complete circuit design of IFFT/FFT , and gives the hardware implementation by the FPGA technology.

(4)

致 謝

兩年的研究所生涯,能夠順利完成學業,最應該感謝的人就是指導教授辛錫 進博士。在這短暫的兩年中,老師不但增加了我專業上的知識,也讓我了解如何 去做研究,如何去發現問題並想辦法解決,以及凡事獨立思考的能力。更重要的 是在老師身上學到做學問的努力、處事的態度,令我受用不盡。

其次要感謝陳棟洲老師、張建緯、周良昌、蔣政國、許木榮學長,於論文與 課業遭遇問題時,更是鼎力相助。而同學國華、譯鋒、寧崧、柏成、帥帥宗憲、

學敏、明志、黃新、宜龍、世明、佳清、嘉豪、家銓、育誼、忠易、俊豪、道倫、

英堂、邵雋、光慶與昭陽,和學弟永彬、子傑、皓清和其他未提及的同學與學弟 於在學期間,彼此相互提攜成長,同儕之情,此心長存。

最後,要感謝最辛苦的父母親,因為你們的勞心勞力,使我能全心全意的專 注於課業上,同時在求學的路上給予最大的鼓勵和支持,因此能讓我順利的完成 研究所碩士學位。要感謝的人太多,能回報的太少。在此以最誠心的敬意,祝福 各位關心我的人。

李秋樺 筆於 新竹風城

(5)

目 錄

目 錄

中文摘要……….…I

ABSTRACT……….. II 致謝……….. III 目錄……….. IV 圖目錄………. VI 表目錄………...VIII

第一章 緒論……… 1

1.1 OFDM 概論………... 1

2.2 OFDM 與傅立葉的相關性……….3

第二章 傅立葉的演算………...5

第三章 IFFT/FFT 系統架構模擬………...…………..10

3.1 資料的來源與型態………...10

3.2 運算模組的考量…..……….12

3.3 IFFT/FFT 架構的模擬與評估…...………….………..15

3.3.1 模擬的介面.………17

(6)

3.3.2 修正因子(1/N)的考量………...16

3.4 量化位元的評估………..………...20

3.5 在 AWGN 通道下系統效能的評估………...25

3.6 802.11a 部份系統的模擬……….………...29

第四章 IFFT/FFT 硬體實現……….………...31

4.1 FFT 硬體架構的說明……….………...31

4.2 IFFT 硬體架構的說明……….………...33

4.3 IFFT/FFT 硬體設計與模擬………..33

4.3.1 Commutator 模組的設計………..….…………..33

4.3.2 Butterfly 模組的設計…..….………….….…………..34

4.3.3 Complex Multiplier 模組的設計…..……….….…….35

4.3.4 ROM 模組的設計……...……….………….………….35

4.3.5 控制模組的設計……...……….………….………....39

4.4 整體電路的模擬與驗證…..………40

第五章 結論………..………43

參考文獻……….. 44

(7)

圖 目 錄

圖目錄

圖 1-1 傳統的多重載波傳送技術--- 1

圖 1-2 OFDM 調變技術--- 1

圖 1-3 OFDM 傳送與接收系統方塊圖--- 2

圖 1-4 OFDM 調變器--- 3

圖 1-5 OFDM 解調變器--- 3

圖 2-1 radix-2 FFT 蝶狀結構--- 5

圖 2-2 radix-4 FFT 蝶狀結構--- 5

圖 2-3 16point radix-4 FFT 流程圖---9

圖 3-1 在四種調變下的星狀圖---11

圖 3-2 FFT 演算法的基本的運算模組---12

圖 3-3 IFFT 的輸入和輸出---13

圖 3-4 模擬誤差百分比(%)的方塊圖---14

圖 3-5 在 64QAM 調變下演算誤差造成飄移---14

圖 3-6 GUI 模擬介面---15

圖 3-7 在模擬 A 條件下四種不同調變之誤差百分比的模擬結果---16

圖 3-8 在模擬 B-1 條件下 64QAM 之誤差百分比的模擬結果---17

圖 3-9 在模擬 B-2 條件下 64QAM 之誤差百分比的模擬結果---17

圖 3-10 在模擬 B-3 的條件下 64QAM 之誤差百分比的模擬結果---18

圖 3-11 在模擬 B-4 的條件下 64QAM 之誤差百分比的模擬結果---18

圖 3-12 在模擬 B-5 的條件下 64QAM 之誤差百分比的模擬結果---19

圖 3-13 調整後 IFFT/FFT 內部架構---19

圖 3-14 在不同輸入資料位元下運算誤差再星狀圖上所造成的飄移---20

圖 3-15 評估量化位元的方塊圖---21

圖 3-16 針對四種調變在不同的(M,N)下的誤差百分比曲線圖---22

圖 3-17 針對四種調變在不同的(O,P)下的誤差百分比曲線圖---23

圖 3-18 針對四種調變在不同的(M,N)&(O,P)下的誤差百分比曲線圖---24

圖 3-19 評估系統在 AWGW 通道下之效能的方塊圖---25

(8)

圖 3-20 針對四種調變加入 AWGN 雜訊後星雲圖上所產生的變化---26

圖 3-21 針對四種調變加入 AWGN 雜訊後系統效能(BER)---27

圖 3-22 以 64QAM 調變來測試資料位元(M,N)與系統效能(BER)的關係---28

圖 3-23 802.11a 部份系統之基頻等效模型---30

圖 3-24 以 64QAM 調變模擬 802.11a 部份系統之系統效能(BER)---31

圖 4-1 64point radix-4 FFT 硬體架構方塊圖---32

圖 4-2 Commutator 模組內部架構---32

圖 4-3 stage 2 -Commutator 模組動作原理---33

圖 4-4 Butterfly 模組內部架構---33

圖 4-5 IFFT-Butterfly 模組內部架構---34

圖 4-6 Commutator 合成後的電路---35

圖 4-7 Butterfly 合成後的電路---35

圖 4-8 Complex Multiplier 合成後的電路---36

圖 4-9 由 Mage Function 所產生之 ROM 的圖示---36

圖 4-10 FFT-stage1 控制模組合成後的電路---40

圖 4-11 FFT simulation 輸出的時序圖---41

圖 4-12 整合 IFFT/FFT 的電路方塊圖---41

圖 4-13 IFFT/FFT Compilation 的結果---42

圖 4-14 IFFT/FFT simulation 輸出的時序圖---42

圖 4-15 下載到 EP20K1500EBC652-1X 晶片的發展板之輸出時序圖---43

(9)

表 目 錄

表目錄

表 3-1 在四種調變下的正規化因子(KMOD)---15

表 3-2 正規化後的 I 與 Q---15

表 3-3 IFFT/FFT 硬體架構的規格---29

表 4-1 當交互因子(O,P)=(10,8)時,FFT 之第一階 ROM 中所儲存的值---37

表 4-2 當交互因子(O,P)=(10,8)時,IFFT 之第一階 ROM 中所儲存的值---38

表 4-3 當交互因子(O,P)=(10,8)時,FFT 之第二階 ROM 中所儲存的值---39

表 4-4 當交互因子(O,P)=(10,8)時,IFFT 之第二階 ROM 中所儲存的值---39

(10)

第一章 緒 論

近年來,無線區域網路技術的提升免除以往的佈線的困難,並克服環境上的 障礙提供使用者隨時隨地的網路環境。在這方面的技術發展在顯著的的就是 802.11b(或稱為 Wi-Fi),其傳輸速率最高可達到 11Mbps、傳輸距離最大可支援到 100 公尺。但由於 WLAN 的應用範圍越來越廣泛,對於在數位動態影像得應用上,

其傳輸必須要有 50Mbps 以上才夠,所以需改用資料傳輸速率可達到 54Mbps 的 802.11a 標準,在提高了傳輸速率後,使得無線區域網路更具競爭力與普及化,因 此它被視為下一代高速無線區域網路規格。

1.1 OFDM 概論

IEEE 802.11a 所使用的調變方式為正交分頻多工(Orthogonal Frequency

Division Multiplexing,OFDM),在一個多路徑衰減的室內通道之中,正交分頻多工 被證明能夠有效的對抗由多路徑衰減所帶來的不理想因素,藉由此一調變方式,

能夠使原本在舊的無線區域網路標準裡所能提供的最大傳輸速率由 2Mbps 提升至 54Mbps,並且透過子載波(subcarrier)載入不同的調變及錯誤更正碼,選擇最適合 當時通道的資料傳輸數率。

傳統的單一載波頻帶之傳輸技術是把資料放在單一載波中傳送,此傳送方式 太沒有效率,而另一種傳統的多重載波傳送技術主要是將資料放在多個子載波上 平行的傳送,雖然資料量提高了但所佔的頻寬也變大了(如圖 1-1),所以為了增加 頻寬使用率,因此就會新的調變技術被發展出來,它就是現在常常聽到的 OFDM 調變技術(如圖 1-2)。

圖 1-1 傳統的多重載波傳送技術

(11)

第一張 緒 論

1.2 OFDM 原理

FEC

Coder Interleaving IFFT +Mapping

GI Addition

Symbol Wave Shaping

IQ Mod.

HPA

IQ Det.

Remove GI

AFC Clock Recovery

FFT Demapping+

Deinterleaving

FEC Decoder AGC Amp

Rx Lev. Det.

圖 1-3 OFDM 傳送與接收系統方塊圖

在 IEEE 802.11a 所採用的調變方式就是正交分頻多工(如圖 1-3),可視為多載 波調變的一種。多載波調變的技術始於 60 年代,傳統的多載波調變是運用許多 的帶通濾波器來區隔不同載波的資料,但這種方式不僅頻帶的使用率不佳且製作 的成本會受限於高品質的帶通濾波器。OFDM 是透過基頻的訊號處理來分離每一 個載波所乘載的資料,由數學式子的分析可以證明使用適當的頻帶間距,即使每 個載波互相重疊,每個載波的正交性仍然可以維持,如此一來不僅大量提升了頻 帶的使用率,而且再積體電路技術日新月異的今天,複雜的訊號處理可在基頻頻 帶來完成,因此也大大減低了成本。如今,正交分頻多工的技術已經廣泛的應用 於各式的通訊環境中,不論是有線或是無線的環境都能看見它的應用,如數位電 視廣播、無線區域網路及非對稱數位用戶迴路等。

OFDM 的基本概念在於將可用的頻帶劃分成許多小的頻帶,如此每個子頻帶 所載入的資料通過通道後都可以視作只遭受了 flat fading,而非整個頻帶所承受的 frequency selective fading,這樣一來,接收端的等化器就不需太複雜,只需要一組 乘法器即可做補償。以時域的角度來看,符元經過通道會造成 time spread 只要加 上適當長度的 Cyclic prefix 之後,被傳送符元都可避免 ISI 所造成的干擾,因此正 交分頻多工的調變技術可以有效對抗傳輸通道中多路徑衰減。

(12)

1.2 OFDM 與傅立葉的相關性

圖 1-4 OFDM 調變器 圖 1-5 OFDM 解調變器

首先我們可由圖 1-4 ~ 1-5可知 OFDM 系統的調變與解調變的處理流程,接下 來我將處理過程以數學式子來表示並加以說明:

假設輸入訊號 X,且有 N 個載波,則發射的訊號為 S:

) ) (

( )

(

1

0

,

=

−∞

=

= N

k

s k

m k m

mT t x t

S ψ

若只考慮某一個 OFDM symbol 時 ( ) ( )

1

0

=

=N

k k

k t

x t

S ψ ----〈1.1〉式 其中 1 exp( 2 )

)

( j f t

t T k

s

k π

ψ = fk = f0 +k⋅∆ff =1/Ts f 為最小載波頻率頻率 0 又因為

⎩⎨

=⎧

= =

s

T k

k t t dt k k

0

1 0

) ( )

( )

( l

l δ l l

ψ ψ

所以在接收端之解調,便可利用每個子載之間正交的特性,使用 N 個 matched fliter 來實現訊號的解調,其關係式為:

Zk =T

sS t t dt

0

) ( ) ( ψl

在 1.1 節中我們知道早年要實現 OFDM 系統是有些困難,因為要找到振盪頻率如 此準確的振盪器幾乎是不可能,所以在 1971 年 Weinstein 和 Ebert 提出使用 IDFT 和 DFT(Discrete Fourier Transform)分別來實現 OFDM 系統的調變與解調變,為何

(13)

第一張 緒 論

首先由〈1.1〉式可知

∑ ∑

=

=

=

= 1

0 1

0

) 2 exp(

) ( )

(

N

k

k k

N

k k

k t x j f t

x t

S ψ π

=

⋅ +

= 1

0

0 ) )

( 2 exp(

) (

N

k

k j f k f t

x t

S π

若我們在 Ts 這段期間對訊號做 N 次取樣,因此取樣時間為

N t =Ts

=

⋅ +

= 1

0

0 ) )

( 2 exp(

) (

N

k

s

k n

N f T k f j x

n

S π

其中載波間距 f∆ 為 Ts

1 ,若讓 f 為0 0

=

= 1

0

2 ) exp(

) (

N

k

k N

kn x j

n

S π

上式與 IDFT 的標準式相同,因此 OFDM 系統發射端的調變可由 IDFT 來完成,

並且在接收端的部份即可由 DFT 來還原訊號。

(14)

第二章 傅立葉的演算

由上一個章節可知我們可以用 IDFT 與 DFT 來實現 OFDM 調變與解調變系 統,但 IDFT 與 DFT 的運算非常繁複,為了加快它的運算速度,有人就提出利用 快速傅立葉轉換(FFT)的方式來運算,此方式是利用分階的觀念來將乘法的運算減 少,所以原本繁複的運算就可被化簡,這樣不僅增加運算速度,在硬體實現的時 候,由於使用乘法器的數量減少了,所以硬體面積也變小。

FFT 的演算方式有很多型式,這是由於在簡化過程所使用不同基底,也因此 造就出不同的運算效能,以長度為 N 點的複數資料為例,直接計算 DFT 時需 要 N 複數乘法 (即 2 4 N2 實數乘法),若使用以 2 為基底的快速傅力葉轉換計 算法則 (radix-2 FFT algorithms),其基本的組成元素是所謂的 2 點蝶狀 (2-point butterfly)結構,N 點的複數資料以 radix-2 分解後有 log2N 層,每一層有 N/2 butterflies, 每一個 butterfly 需要一個複數乘法,所以 radix-2 FFT algorithms 計 算 N 點 DFT 時只需要 N/2‧log2N 複數乘法,因此運算效能提升了,若想更 進一步提升效能,可以使用較高 radix-數為基底的 FFT algorithms 因為它具有更 少的分解層數,所以計算 DFT 時所需的總乘法數可再進一步降低。例如: 使用 radix-4 FFT algorithms, 將 N 點的資料分解成 log4N 層,其總乘法數量減為 (3/8)N(log2N-2) 複數乘法。這時你可以很明顯看到運算效能又提升,但是你是否 也發覺到圖 2-1 與圖 2-2的變化呢?較高 radix-數為基底的 FFT algorithms 缺點是 組成的基本元素變得較複雜 (如 4 點蝶狀結構比 2 點蝶狀結構複雜),在硬體實現 上也會變得較困難,所以我們在增加運算效能的同時也必須去考量硬體設計的複 雜度,因此在決定的 FFT 演算的基底時,需在這兩者之間做些取捨。

圖 2-1 radix-2 FFT 蝶狀結構 圖 2-2 radix-4 FFT 蝶狀結構

-1

x0

x1

y0

y1

(15)

第二章 傅立葉的演算

IEEE802.11a 所使用的調變方式為正交分頻多工(OFDM),在實現 OFDM 系統 的一個重要關鍵就是快速傅立葉轉換 FFT/IFFT 的硬體電路實現,配合管線 (pipeline)的結構使他更快速、即時處理處理資料及低功率消耗在整個系統中極為 重要。

本篇論文它是以 pipeline 的形式分級處理一序列輸入的資料,其演算方式如 下:

N-point DFT:

若分成 V 階級來做管線處理,則令

For Radix-r1

=

= 1

0

) ( )

(

N

n

nk

WN

n x k

Xx(n)=x(N1P+q1) 其中 P=0,1,2,3…..r1-1 q1=0,1,2,3…..N1-1

=

+

+ +L

=

+

=

1

0

) 1 ( 1

1

0 1

1

1 1

1 ( 1)

) ( )

(

r

P

k P N N r

P

Pk N

N x N P W

W P N x k

X

=

+

+ + 1

0

) 1 ( 1

1

1

1

) 1

1 (

r

P

k N P N

WN

N P N L x

L

∑ ∑

=

+

=

+

= 1

0

) ( 1 1 1

0

1

1 1 1

1

) (

r

P

k q P N N N

q

W q P N x

Nqk

r

P

Pk N N N

q

W W q P N

x 1

1

1 1

1

1

0

1 1 1

0

)

(

=

=

+

= ;N=r1N1

∑ ∑

=

=

+

= 1

0

1 1 1

0

1

1 1

1

1 ( )

r

P

Pk r N

q k q

N x N P q W

W

令 k= r1k1+m1 其中 k1=0,1,2,3…..N1-1 m1=0,1,2,3…..r1-1

1 , 2 , 1 ,

0

= N

k LL

) / 2

( N

j

N e

W = π

=

×

= 1

0

) ( )

(

N

n

nk

WN

n x k

X

rv

r r N = 12 ⋅⋅ ⋅⋅

rt

r r N N

⋅⋅

= ⋅

2 1

1 1tv1

(16)

1 1 1

1 1

1

1 1 1 1 1

1

0

1 1 1

0

)

( rPm

r

P

Pk N

q

m q N k q

N W x NP q W W

W

=

=

+

=

∑ ∑

=

+

=

+ +

= +

= 1

0

) ( 1 1 1

0

) ( 1

1 1

1

1 1 1 1 1

1

1 1 1

1 ( )

) (

) (

r

P

m k r P r N

q

m k r q

N x N P q W

W m

k r X k X

1

1 1

1 1 1 1

1

1 1 1 1 1

1

0

Pr 1 1 1

0

)

( rPm

r

P

k r N

q

m q N k r q

N W x N P q W W

W

=

=

+

=

可得

針對(1)做繼續分解:

For Radix-r2

=

=

+ 1

0

1 1 1 1

1

1

1

1 1

) 1

, ( )

1 (

N

q

k q

WN

m q x m

k r

Xx1(q1,m1)= x(N2P+q2,m1)

其中 P=0,1,2,3…..r2-1 q2=0,1,2,3…..N2-1

⇒ + =

+

+ +L

=

+

=

1

0

) , 1 ( 1 2 1 1

0

1 2 1 1

1

2

1 1 2 1 2

1 2

1 ( 1, )

) , ( )

1 (

r

P

k m P N N r

P

Pk N

N x N P m W

W m P N x m

k r X

=

+

+ + 1

0

) 1 ( 1 2 2 1

2

1 2 2

) 1

, 1 (

r

P

k N P N

WN

m N P N L x

L

∑ ∑

=

+

=

+

= 1

0

) ( 1 2 2 1 1

0

2

1 2 2 1 2

21

) , (

r

P

k q P N N N

q

W m q P N x

21

1 2

1 2 1 2

2

1

0

1 2 2 1 1

0

) ,

( Nqk

r

P

Pk N N N

q

W W m q P N

x

=

=

+

= ;N1=r2N2

∑ ∑

=

=

+

= 1

0

1 2 2 1 1

0

2

1 2 2

2 1 2

1 ( , )

r

P

Pk r N

q k q

N x N P q m W

W

令 k1= r2k2+m2 其中 k2=0,1,2,3…..N2-1 m2=0,1,2,3…..r2-1

1

=

×

=

+ 1

0

1 1 1 1

1 1

1

1

1 1

) 1

, ( )

(

N

q

k q

WN

m q x m

k r X

=

× +

= 1

0

1 1 1

1 1

1

1 1 1

1 ( )

) , (

r

p

pm r m

q

N x N p q W

W m q

{

x ……..(1) ……...(2)

(17)

第二章 傅立葉的演算

X(r1k1+m1)=X(r1r2k2+r1m2+m1)

=

+

=

+ +

= 1

0

) ( 1 2 2 1 1

0

)

( 2 2 2 2

2 2

2

2 2 2 2

1 ( , )

r

P

m k r P r N

q

m k r q

N x N P q m W

W

2

2 2

2 1 2 2

2 2 1 2 2 2 1

1

0

Pr 1 2 2 1 1

0 2

) ,

( rPm

r

P

k r N

q

m q N k r q

N W x N P q m W W

W

=

=

+

=

2 2 2

2 2

2 2 1 2 2 2

1

0

1 2 2 1 1

0 2

) ,

( rPm

r

P

Pk N

q

m q N k q

N W x N P q m W W

W

=

=

+

=

可得

再針對(3)做繼續分解:

For Radix-r3:同理我們可得到

繼續分解直到第 rv-1階層,從計算過程中我們可以整理出下面的通式:

其中

r1~ rv可以是任何正整數,上述這組通式可以被使用於 mixed-radix 的計算或 uniform-radix 的計算。

1

=

×

= +

+ 1

0

2 2 2 1

2 1 2 2 1

2

2

2 2

) 2

, ( )

(

N

q

k q

WN

m q x m

m r k r r X

=

× +

= 1

0

1 2 2 1 2

2 2

2

2 2 2

2

1 ( , )

) , (

r

p

pm r m

q

N x N p q m W

W m q

{

x ……..(3) ……...(4)

=

×

= + +

+ 1

0

3 3 3 1

2 1 3 2 1 3 3 2 1

3

3

3 3

) 3

, ( )

(

N

q

k q

WN

m q x m

m r m r r k r r r X

=

× +

= 1

0

2 3 3 2 3

3 3

3

3 3 3

3

2 ( , )

) , (

r

p

pm r m

q

N x N p q m W

W m q x

……..(5)

……...(6)

{

) (r1r2 r 1m r1r2 r 2m 1 r1m1 m1

X L v v+ L v v +L+ +

=

×

= 1

0

1 1 1

1

) 1

, (

v

v

v v v

r

q

m q r v v

v q m W

x

1

2tv 0≤miri−1 0≤qiNi−1 2iv

= + ×

= 1

0

1

1( , )

) ,

( 1

t

t t t

t t

r

p

pm r t t t t m q N t t

t q m W x N p q m W

x

=

× +

= 1

0

1 1 1

1 1

1

1 1 1

1 ( )

) , (

r

p

pm r m

q

N x N p q W

W m q x

(18)

我們就以 16-point Radix-4 FFT 來說明:

圖 2-3 16 point radix-4 FFT 流程圖

3 0≤ m2 3

0≤ m1

=

×

=

+ 3

0

4 1 1 1 1

2

1

2

) 1

, ( )

4 (

q

m

Wq

m q x m

m X

=

× +

= 3

0

4 1 16

1 1 1

1 1

1 (4 )

) , (

p

pm m

q x p q W

W m q x

2 16 log log4 = 4 =

= N

v

t

t r r r

N N

⋅⋅

= ⋅

2 1

1 1tv

4 4 16 16

1

1 = = =

N r

Stage1 Stage2

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 4 8 12 1 5 9 13 2 6 10 14 3 7 11 15

(19)

第三章 IFFT/FFT 系統架構模擬

第三章 IFFT/FFT 系統架構模擬

3.1 資料的來源與型態

在模擬前我們必須先了解輸入到 IFFT/FFT 的資料來源,而在 802.11a 上所使 用的調變技術共有四種分別為 BPSK、QPSK、16-QAM 與 64-QAM 等,每一種的 調變技術所使用的格雷碼(Gary Code)編碼長度都不同,它們所對應的格雷碼編碼 的信號空間圖(如圖 3-1)。為了讓調變後之符元(symbol)的平均能量為 1,必須再符 元送到 IFFT 之前做正規化(normalize)的步驟,也就是在 IFFT/FFT 的前一電路 interleaving +mapping 電路中要做正規化,其正規化因子(KMOD)如表 3-1所列,正 規化的動作是將(I+jQ)值乘上正規化因子,其值列在表 3-2。

圖 3-1 在四種調變下的星狀圖

(20)

Modulation KMOD

BPSK 1

QPSK 16-QAM 64-QAM 表 3-1 在四種調變下的正規化因子(KMOD)

I or Q (I or Q)*KMOD 備 註

-1 -1

BPSK

1 1

Only I

-1 -0.7071 QPSK

1 0.7071

-3 -0.9487 -1 -0.3162

1 0.3162

16-QAM

3 0.9487

-7 -1.0801 -5 -0.7715 -3 -0.4629 -1 -0.1543

1 0.1543

3 0.4629

5 0.7715

64-QAM

7 1.0801

表 3-2 正規化後的 I 與 Q

2 1

10 1

42 1

(21)

第三章 IFFT/FFT 系統架構模擬

3.2 運算模組的考量

圖 3-2 FFT 演算法的基本的運算模組

首先我們可由上一章節的演算過程得知要完成 FFT 需要使用到許多的加減法 器與複數乘法器,並且為了配合硬體上的模擬,我們在設計時都必須以位元的型 式來做傳輸和計算,就因為這樣,在計算的過程中可能會產生溢位或擷取位元的 誤差,所以我們需加入旗標的觀念來設計。由圖 3-2可知最基本模組就是加法器,

接下來就針對我所設計加法器來探討其設計流程:

假設 A、B 兩筆資料要相加,其實際結果如下:

A=3.625 B=1.25 Î A+B=4.875 若用我所設計的加法器,則演算流程如下:

A= 3.625 B=1.25

a= 0 0 0 1 1 1 0 1 b=0 1 0 1 0

Î c=a+b

總位元數及小數精密度(La,Ba)=(8,3) 總位元數及小數精密度(Lb,Bb) =(5,3)

正負位元 整數位元 小數位元 正負位元 整數位元 小數位元

a 0 0 0 1 1 1 0 1 b 0 1 0 1 0

0 0 1 0 0 1 1 1 FFT 演算法

加法器 減法器 複數乘法器法

加法器 取二補數

一般乘法器法 加法器 減法器

加法器 加法器

取二補數

(22)

若結果 c 的總位元與小數密度為(Lc,Bc)=(6,2),所以我們必須從相加的結果 中做位元的擷取,則 c = 0 1 0 0 1 1,此時就會產生誤差,而我們會將溢位 與誤差的資訊存於(flag)=(0 1 1 0),這樣一來就可利用 flag 變數去評估 FFT 演算法誤差的分佈情形。

flag 變數的格式

3.3 IFFT/FFT 架構的模擬與評估

在 IEEE 802.11a 系統中,使用 64 點的反向快速傅立葉轉換(IFFT)。如圖 3-3 所示,在這 64 個子通道中,4 個子通道是用來傳送導頻(pilot),48 個子通道是用 來傳送資料,其它的 12 個通道則不使用。,所以我們利用 MATLAB 軟體來完成 64-point IFFT/FFT 的程式設計,並且模擬演算時所造成的誤差,在進一步針對設 計的架構做最佳化的調整。

0 1 0

1

26

62 2

27

38

63

26 27

37 38

62 2

63 IFFT Null

#1

#2

#3

#26 Null Null

#-26 37

#-2

#-1

Frequency domain input Time domain output

圖 3-3 IFFT 的輸入和輸出

套用上一章的通式可得:(64 point Radix-4 FFT)

溢位 未溢位 小數擷取誤差 整數擷取誤差

=

×

= +

+ 3

0

4 2 2 2 1

2 3

2

3

) 2

, ( )

4 16 (

q

m

Wq

m q x m

m m X

+ ×

= qm 3 pm

=

× +

= 3

0

4 1 2 1

16 2

2 2

2 2

2 (4 , )

) , (

p

pm m

q x p q m W

W m q x

≤ m 3 0≤ m2

3 0≤ m3

(23)

第三章 IFFT/FFT 系統架構模擬

根據上述的推導,可將 64 point Radix-4 FFT 的演算分成 3 個階層(stage)處理 (如圖 3-4), 理論上來說,當我們執行DATA=IFFT{FFT{data}}後 DATA 應該會等 於 data,但由於我們是在做定點 IFFT/FFT 的運算,所以會造成演算誤差

(DATAdata)。我們以 64QAM 來做例子,你可以看到演算誤差造成資料點在星雲 圖的飄移(如圖 3-5)。所以我們要針對圖 3-4來做模擬並且計算定點運所造成誤差 百分比,利用此參數再來做 IFFT/FFT 架構上的調整。

圖 3-4 模擬誤差百分比(%)的方塊圖

圖 3-5 在 64QAM 調變下演算誤差造成飄移

× 為原始資料(data)

為 IFFT/FFT 後的資料(DATA)

對應(Mapping) BPSK QPSK 16QAM 64QAM

+ 誤差百分比(%) -

64 poiit IFFT 64 poiit FFT

Stage 3

Stage 2

Stage 1

D1 D2 D3 Stage 3

Stage 2

Stage 1

D4

(24)

3.3.1 模擬的介面

在 Matlab 模擬中我們並不需要考慮工作頻率,只要考慮解析度的問題,也就 是運算位元要取多少位元?我們以符號(M,N)來表示整個 IFFT/FFT 系統輸入資料 的位元數,M 表示總共需要的位元數,N 代表小數位元有多少位,例如:(10,6) 表示系統運算的字元總長為 10 位元,而小數位元取 6 位元,整數位元為 4 位元。

符號(O,P)表示在 IFFT/FFT 系統中儲存交互因子(twiddle factor)所需的位元,O 代 表總共的位元,而 P 表小數位元。而在運算位元方面分成加法器運算位元 (Ladd,Badd)與乘法器輸出位元(Lc,Bc)。

為了讓模擬的操作更清晰易懂,我們是以 Matlab 的圖形使用者介面 GUI 方式 完成 IFFT/FFT 的軟體模擬,其模擬程式介面(如圖 3-6)。在 GUI 模擬程式中包含 了下列幾種輸入選項與輸出:

設定點數:必須為 64 的倍數。

設定調變方式:共有 64QAM、16QAM、QPSK 與 BPSK 四種。

設定量化位元:包含輸入資料位元(M,N)、交互因子位元(O,P)、運算位元。

輸出參數;旗標的評估、平均誤差、SNR 值、最大誤差百分比等等。

輸出訊號空間圖:秀出處理(IFFT/FFT)前後所對應的訊號空間圖。

訊號空間圖

輸入模擬的規格

旗標的評估

參數輸出

(25)

第三章 IFFT/FFT 系統架構模擬

3.3.2 修正因子(1/N)的考量

當我們在執行 IFFT/FFT 時,不僅要做資料點與交互因子之間的運算,還需乘上 1/N 這個修正因子,所以我們會利用圖 3-4裡的[D1 D2 D3 D4]來將 1/64 乘於整個 運算過程。接下來針對不同[D1 D2 D3 D4 ]的分佈來評估系統所造成的誤差。

模擬A: IFFT D1=1/64 D2=1 D3=1 D4=1

圖 3-7 在模擬 A 條件下四種不同調變之誤差百分比的模擬結果

從模擬A的結果可得知 64QAM 的誤差百分比為 45.6%,其演算的誤差非常 的大,這樣會對整個系統的效能(performance)影響很大,所以我們就針對 64QAM 來做系統架構最佳化的調整。模擬A會有那麼大的誤差是因為我們將 1/64 因子都 放在 IFFT 的 stage 1,所以模擬B1~B5就是要改變此因子的分佈去降低誤差百分 比,進而達成系統架構的最佳化。

Mapping :BPSK

3.37 % 9.81 %

45.6 % 24.6 %

Mapping :QPSK

Mapping :16QAM Mapping :64QAM

(26)

模擬B-1:IFFT D1=1/4 D2=1/4 D3=1/4 D4=1

圖 3-8 在模擬 B-1 條件下 64QAM 之誤差百分比的模擬結果

模擬B-2:IFFT D1=1 D2=1/4 D3=1/4 D4=1/4

19 %

237 %

(27)

第三章 IFFT/FFT 系統架構模擬

模擬B-3:IFFT D1=1/2 D2=1/4 D3=1/2 D4=1/4

圖 3-10 在模擬 B-3 的條件下 64QAM 之誤差百分比的模擬結果

模擬B-4:IFFT D1=1/4 D2=1/2 D3=1/4 D4=1/2

圖 3-11 在模擬 B-4 的條件下 64QAM 之誤差百分比的模擬結果

10.8 % 240%

(28)

模擬B-5:IFFT D1=1/4 D2=1/2 D3=1/2 D4=1/4

圖 3-12 在模擬 B-5 的條件下 64QAM 之誤差百分比的模擬結果

經過模擬B後我們的 IFFT/FFT 的內部架構變成圖 3-13。

圖 3-13 調整後 IFFT/FFT 內部架構

9.81 %

64 poiit IFFT 64 poiit FFT

Stage 3

Stage 2

Stage 1

1/4 1/2 1/2 Stage 3

Stage 2

Stage 1

1/4

(29)

第三章 IFFT/FFT 系統架構模擬

3.4 量化位元的評估

由於所設計 IFFT/FFT 是定點的運算,為了近似浮點運算的 IFFT/FFT,所以 我們可以增加輸入資料的位元使得運算誤差越小(如圖 3-14),這樣也就可以越接近 實際的運算,但這樣卻會使得硬體實現上的複雜度,所以我們必須對輸入資料位 元、交互因子位元做評估。

圖 3-14 在不同輸入資料位元下運算誤差再星狀圖上所造成的飄移

輸入資料的位元:8bit 輸入資料的位元:9bit

輸入資料的位元:10bit 輸入資料的位元:11bit

輸入資料的位元:12bit 輸入資料的位元:13bit

(30)

如圖 3-15是用來模擬量化位元與 IFFT/FFT 誤差百分比之間的關係,進而找 出一個適當的長度讓整體達到最好的效益。接下來我們開始針對四種不同的調變 技術來做模擬與探討(模擬C -1~模擬C-3)。

圖 3-15 評估量化位元的方塊圖 對應(Mapping)

BPSK QPSK 16QAM 64QAM

+ 誤差百分比(%) -

64 poiit IFFT 64 poiit FFT

Stage 3

Stage 2

Stage 1

D1 D2 D3 Stage 3

Stage 2

Stage 1

D4

輸入內部運算位元 twiddle factor (O , P) 加法器(Ladd,Badd) 乘法器(Lc ,Bc)

輸入內部運算位元 twiddle factor (O , P) 加法器(Ladd,Badd) 乘法器(Lc ,Bc) 輸入資料位元

( M , N) 總長度 小數長度

(31)

第三章 IFFT/FFT 系統架構模擬

模擬C-1: 固定 twiddle factor 的位元長度,改變輸入資料的位元,模擬誤差百分 比有何變化?

輸入的參數如下:

z 測量資料的點數:1024 點

z 輸入資料位元長度:對 X 軸掃描做圖。

z 交互因子位元長度:(O,P)=(10,8)

z 加減法器長度(Ladd,Badd)與乘法器長度(Lc,Bc)隨著輸入資料位元的改 變而變化。

輸出曲線如下:

圖 3-16 針對四種調變在不同的(M,N)下的誤差百分比曲線圖

我們可以由上圖的結果得知當(M,N)>(15,13)時,這四種調變所造成的誤差百分比 幾乎不會有變化。所以在決定(M,N)時最多不要超過(15,13)。

Mapping :BPSK Mapping :QPSK

Mapping :16QAM Mapping :64QAM

參考文獻

相關文件

理解並欣賞幾何的性質可以透過坐標而轉化成數與式的 關係,而數與式的代數操作也可以透過坐標產生對應的

請繪出交流三相感應電動機AC 220V 15HP,額定電流為40安,正逆轉兼Y-△啟動控制電路之主

首先考慮針對 14m 長之單樁的檢測反應。如圖 3.14 所示為其速 度反應歷時曲線。將其訊號以快速傅立葉轉換送至頻率域再將如圖

Singleton,”A methd for computing the fast Fourier Transform with auxiliary memory and limited high-speed storage”, IEEE Trans. Audio

FPGA(Field Programmable Gate Array)為「場式可程式閘陣列」的簡稱,是一 個可供使用者程式化編輯邏輯閘元件的半導體晶片

無線感測網路是個人區域網路中的一種應用,其中最常採用 Zigbee 無線通訊協 定做為主要架構。而 Zigbee 以 IEEE802.15.4 標準規範做為運用基礎,在下一小節將 會針對 IEEE

「Web Service 是一種介面,能夠使應用軟體相互溝通的一個平台,它以和程式語言無 關的方式描述一組可經由標準 XML 訊息存取的網路操作;Web Service

MH 由 Foreign Agent 1 的管理範圍移到 Foreign Agent 2 的管理範圍,移動主機經由收 到 Foreign Agent 2 的伺服器廣播(Agent Advertisement;圖 2.2-2 STEP 1