• 沒有找到結果。

在本節中我們依照 4.1 所描述的設計流程將所設計之接收機用 Verilog 語言寫成 行為模式(behavioral model)的硬體架構,流程主要有以下幾點:

1. 使用 MATLAB 做定點模擬,在和浮點模擬有可接受的效能衰減下,決定各 個單元中變數的位元數,而定點模擬和浮點模擬之比較如上一節中所示。

2. 以 Modelsim 軟體模擬驗證此行為模式是否正確,再和步驟 1 中的 MATLAB 定點模擬比較來驗證。

3. 行為模式正確後就可將此 Verilog 程式輸入 Xilinx 的 ISE 6 軟體就可得到合 成後的 RTL 巢狀(netlist)架構檔,此是根據所撰寫行為模式下 Verilog 程式所 做合成後的輸出檔案,而所設計之接收機之 RTL 架構圖如圖 4-32 至圖 4-34 所示。

然而吾人在硬體實現中並沒有做 FPGA download 後之驗証,僅針對其進行硬體 模擬驗證。最後由 ISE 6 所產生的 Mapping report 及 Timing report 如圖 4-35 及 圖 4-36 所示。

最後,吾人將部分硬體模擬圖放上,用以說明硬體模擬驗證的結果,圖 4-37 至 圖 4-39 為 Viterbi 解碼器的硬體模擬圖,其中 clk 為解碼器之輸入訊號所用的時 脈,rst 為解碼器外部的重置(Reset)訊號,encoder_en 為 1 時,表示整個解碼器開 始輸入,mes_i 為輸入 encoder 的訊號,其來源為 Matlab 輸出之 stimulus,g_1_i、

g_2_i 為 mes_i 經由 Matlab 完成之無雜訊系統,至反壓縮器後的輸出,來當 Viterbi 解碼器硬體的輸入,start_of_packet_o 為解碼器內部的 Reset 訊號,decoder_o 為 解碼器的輸出,message_shift_reg[121]為在 Test bench 上將 mes_i 做 122 級的延 遲,而 err_ind 為在 Test bench 上做一機制來顯示 decoder_o 和

message_shift_reg[121]是否相同。圖 4-40 至圖 4-41 為反交錯器的硬體模擬圖。

圖 4-42 至圖 4-43 為反空間分離器至反壓縮器的硬體模擬圖,其中 n_ss_para_i=1

表示資料流為 2,s_para_i=2 表示 max( ,1) 3 2

NBPSC

s= = ,rate_para_i=3 表示編碼 率

R = 5 / 6

,input_packet0_i、input_packet1_i 表示反空間分離器的輸入訊號,

output_stream_o_conv 表示反空間分離器的輸出訊號,也就是反壓縮器的輸入訊 號,output_stream_u_o_depun、output_stream_d_o_depun 表示反壓縮器的輸出訊 號。從圖 4-37 至圖 4-38 硬體模擬結果發現,decoder_o 在剛開始並不會輸出,

而在 122 級的延遲後才會輸出,這是因為 Viterbi 解碼器硬體實現上,我們使用 截斷長度 M

= 40

,而由 4.2.6.3 可知,全部的延遲為 3M

= 120

,再加上 RAM 輸 出時造成的延遲,以及 decoder_o 輸出時多加的一級延遲,總共是 122 級延遲,

而 decoder_o 會和 message_shift_reg[121]相同,這是因為 Matlab 所使用的是無雜 訊系統。從圖 4-39 硬體模擬結果發現,start_of_packet_o 會在 decoder_o 輸出結 束時,也就是輸入延遲 122 級後,由 1 變為 0,這是為了將 Viterbi 解碼器內部的 暫存器(Registers)在沒有使用時,全部 Reset 為 0。從圖 4-40 硬體模擬結果發現,

反交錯器每個資料流都使用 2 塊 RAM 的架構,2 塊 RAM 的讀寫控制都是交替 產生的,如圖,當 wen_sel_u(表示寫上面的 RAM)由 1 變 0 時,rd_sel_u(表示讀 上面的 RAM)才會由 0 變 1,這樣可以確保每塊 RAM 都是寫完再讀且同一時間 只做讀或寫,另外 packet_start_o(表示開始輸出)在 rd_sel_u 由 0 變 1 起才會由 0 變 1,以確保輸出的為寫入以後之資料。從圖 4-41 硬體模擬結果發現,n_ss_para_i 為 1 時,表示資料流為 2,onto_no_i 為(11) 時,表示 64QAM,由 4.2.4 節可知,2

52 312

CBPS BPSC

N = ×N = ,故 wen_sel_u 下的 addr_ram_1_u(表示資料流 1 的上面 那塊 RAM 的位址),其範圍為

0...311

,而 rd_sel_u 下的 addr_ram_1_u 為 ROM 中所放的索引值,最後將 output_stream_1_o、output_stream_2_o(資料流 1、2 的 輸出)與 Matlab 中的模擬結果比較即可驗證。從圖 4-42 硬體模擬結果發現,反 空間分離器硬體模擬結果與 4.2.4 節之圖 4-11 中 max( ,1) 3

2 NBPSC

s= = 的情形相吻

合。從圖 4-43 硬體模擬結果發現,反壓縮器硬體模擬結果與 4.2.5 節之圖 4-12 中編碼率

R = 5 / 6

的情形亦有相同的結果。

ZF Quantizer

Demapper

Deinterleaver Deparser Clock

Converter Depuncturer Viterbi Decoder

圖 4-32 接收機之 RTL 架構圖

B M U R a d ix -4

P r e - S M U

A C S B lo c k

A d d r _ c tr l

R d /W r _ c tr l R a d ix - 1 6

S M U

O u tp u t_ c tr l ( in c lu d in g L I F O )

圖 4-33 Viterbi 解碼器之 RTL 架構概圖 – (1)

P M M U

A C S B lo c k A d d r _ c tr l

A d d r _ c tr l R d /W r _ c tr l

O u t p u t _ c tr l

圖 4-34 Viterbi 解碼器之 RTL 架構概圖 – (2)

D e s ig n S u m m a ry

-N u m b e r o f e r ro rs : 0 N u m b e r o f w a r n in g s : 0 L o g ic U tiliz a tio n :

N u m b e r o f S lic e F lip F lo p s : 1 , 9 2 1 o u t o f 3 8 ,4 0 0 5 % N u m b e r o f 4 in p u t L U T s : 4 ,5 5 0 o u t o f 3 8 , 4 0 0 1 1 % L o g ic D is trib u tio n :

N u m b e r o f o c c u p ie d S lic e s : 2 ,9 2 5 o u t o f 1 9 ,2 0 0 1 5 % N u m b e r o f S lic e s c o n ta in in g o n ly re la te d lo g ic : 2 , 9 2 5 o u t o f 2 , 9 2 5 1 0 0 % N u m b e r o f S lic e s c o n ta in in g u n re la te d lo g ic : 0 o u t o f 2 , 9 2 5 0 % * S e e N O T E S b e lo w fo r a n e x p la n a tio n o f th e e ffe c ts o f u n re la te d lo g ic T o ta l N u m b e r 4 in p u t L U T s : 5 ,3 9 1 o u t o f 3 8 ,4 0 0 1 4 %

N u m b e r u s e d a s lo g ic : 4 ,5 5 0 N u m b e r u s e d a s a ro u te -th ru : 5 5 5 N u m b e r u s e d fo r 3 2 x 1 R A M s : 2 4 0 ( T w o L U T s u s e d p e r 3 2 x 1 R A M )

N u m b e r u s e d a s 1 6 x 1 R A M s : 4 6

N u m b e r o f b o n d e d IO B s : 1 2 8 o u t o f 4 0 4 3 1 % I O B F lip F lo p s : 2

N u m b e r o f B lo c k R A M s : 1 2 o u t o f 1 6 0 7 % N u m b e r o f G C L K s: 2 o u t o f 4 5 0 % N u m b e r o f G C L K IO B s: 2 o u t o f 4 5 0 % T o ta l e q u iv a le n t g a te c o u n t fo r d e s ig n : 4 0 7 ,1 7 3

A d d itio n a l J T A G g a te c o u n t fo r I O B s : 6 ,2 4 0 P e a k M e m o r y U s a g e : 1 6 0 M B

圖 4-35 接收機之 Mapping report

T im in g S u m m a ry :

---S p e e d G ra d e : - 8

M in im u m p e rio d : 9 .0 3 8 n s ( M a x im u m F re q u e n c y : 1 1 0 .6 4 4 M H z ) M in im u m in p u t a rriv a l tim e b e fo re c lo c k : 9 .0 1 9 n s

M a x im u m o u tp u t re q u ire d tim e a fte r c lo c k : 7 .9 0 1 n s M a x im u m c o m b in a tio n a l p a th d e la y : N o p a th fo u n d

圖 4-36 接收機之 Timing report

圖 4-37 Viterbi 解碼器硬體模擬圖 – (1)

圖 4-38 Viterbi 解碼器硬體模擬圖 – (2)

圖 4-39 Viterbi 解碼器硬體模擬圖 – (3)

圖 4-40 反交錯器硬體模擬圖 – (1)

圖 4-41 反交錯器硬體模擬圖 – (2)

圖 4-42 反空間分離器硬體模擬圖

圖 4-43 反壓縮器硬體模擬圖

第5章結論

在本論文中,吾人考量如何在 BICM MIMO-OFDM 系統中結合 Viterbi 解碼 器及偵測單元,而做一個整體的設計。論文主要的工作環境是在由 TGn Sync 所 提出的 11n 草案中之傳送架構,在這個傳送架構下,吾人的設計重點包括了偵測 演算法的選擇、CSI 計算與選擇及軟性反對映以及 Viterbi 解碼器。因此本論文在 第 2 章中首先介紹了 11n 的系統,其中包括天線對應轉換之三種模式、11n 在不 同頻寬模式下之 Tone 的配置以及 11n Preamble 格式之介紹,另外介紹了 BICM MIMO-OFDM 系統,其中包括了 11n 草案中傳送端之編碼器、壓縮器、交錯器 等單元的介紹。而在第 3 章中,吾人介紹了在 MIMO-OFDM 中常用的偵測方法 包括了 ZF、MMSE 及 V-BLAST 三種。接著介紹簡化之軟性反對映,並且在這 樣的軟性反對映下,介紹了軟性輸入軟性輸出之 ZF 偵測單元以及 MMSE 偵測 單元。另外介紹了 Viterbi 解碼器之演算法,而在第 3 章最後的模擬結果發現,

ZF 演算法和 MMSE 演算法在效能上是非常接近的,故吾人決定在硬體實現上使 用 ZF 演算法來降低計算的複雜度,進而達到節省面積降低成本的目的,而模擬 結果分兩部分,在第一部分中,吾人使用一個簡單通道做模擬,而在第二部分中,

吾人則針對 11n TGn Sync 所定義的通道模型做更進一步的模擬。

在論文的最後,吾人依一般 FPGA 設計流程使用 Verilog 實現第 3 章所介紹 的 ZF 接收機,主要包括 ZF 偵測單元及 Viterbi 解碼器。在硬體實現上,ZF 偵測 器相較於 MMSE 偵測器的確有較低的複雜度,而在 Viterbi 解碼器方面,Radix-4 之 Viterbi 解碼器架構的確在維持相同的面積效率下,提昇了資料的傳輸速度。

然而吾人僅針對 2 2× 之 MIMO-OFDM 系統做實現,當天線數增加時,ZF 偵測單 元實現上所產生的乘法器個數將大大的提高,而 Viterbi 解碼器的資料傳輸速度 也將提高,因此降低偵測單元的運算複雜度及提高 Viterbi 解碼器資料傳輸的速 度將是未來實現的主要改進空間。

參考文獻

[1] G.. J. Foschini and M.J. Gans, “On limits of wirelesss communications in a fading environment when using multiple antennas, ” Wireless Pres. Commun., vol. 6, no. 3, pp.311-335, Mar. 1998

[2] A. van Zelst, “Space division multiplexing algorithms,” in Proc. 10th Mediterranean Electrotech. Conf., vol. 44, pp. 744-756, Mar, 1998.

[3] A. van Zelst, R. van Nee, and G. A. Awater, “Space division multiplexing(SDM) for OFDM system,” In Proc. IEEE Veh. Technol. Conf., May 200, pp. 1070-1074.

[4] B. Hassibi, “A fast square-root implementation for BLAST,” in Conf. Rec.

Thirty-Fourth Asilomar Conf. Signals, Syst. Comput., 2000, pp. 1255–1259.

[5] P. W. Wolniansky, G. J. Foschini, G. D. Golden, and R. A. Valenzuela, “V-BLAST:

An architecture for realizing very high data rates over the rich-scattering wireless channel,” in Proc. ISSSE, 1998, pp. 295–300.

[6] G. D. Golden, C. J. Foschini, R. A. Valenzuela, and P. W. Wolniansky, “Detection algorithm and initial laboratory results using V-BLAST space-time

communication architecture,” Electron. Lett., vol. 35, no. 1, pp. 14–16, Jan.

1999.

[7] V. Tarokh, N. Seshadri, and A. R. Calderbank, “Space-time codes for high data rate wireless communication: Performance criterion and code construction,”

IEEE Trans. Inform Theory, vol. 44, pp. 744–756, Mar.1998.

[8] “TGn Sync proposal technical specification, ” TGn Sync, Mar. 2005.

[9] IEEE 802.11a Stand., ISO/IEC 8802-11:1999/Amd 1:2000(E)

[10] B. Wubben, R. Bohnke, J. Rinas, V. Kuhn, and K. D. Kammeyer, “Efficient algorithm for decoding layered space-time codes,” Electron. Lett., vol. 37, no. 22, pp. 1348–1350, Oct. 2001.

[11] Choi , Jinho, “A bi-directional zero-forcing BLAST receiver” IEEE transactions on Signal Processing, vol. 52, no.9, pp.2670-2673, Sept. 2004.

[12] D., Wubben, , Bohnke, R., Kuhn, V., Kammeyer, K.-D.,“MMSE extension of V-BLAST based on sorted QR decomposition,” Vehicular Technology

Conference, 2003. VTC 2003-Fall. 2003 IEEE 58th , vol. 1, Oct. 2003.

[13] Viterbo, E., Bouros, J., “A universal lattice code decoder for fading channels,”

IEEE Transactions on Information Theory, vol. 45, pp. 1639–1642, July 1999.

[14] H. Vikalo and B. Hassibi, “The Expected Complexity of Sphere Decoding, Part I: Theory, Part II: Applications," IEEE transactions on Signal Processing, submitted for publication, 2003.

[15] G. Caire, G. Taricco and E. Biglieri, “Bit-interleaved coded modulation,” IEEE Trans. Info. Theory, vol. 44, pp. 927-946, May 1998.

[16] F. Tosato and P. Bisaglia, “Simplified soft-output demapper for binary

interleaved COFDM with application to HIPERLAN/2,” Proc. IEEE Int’l. Conf.

on Comm. 2002, vol. 2, pp. 664-668 , 2002.

[17] P.J.Black, and T.H.-Y.Meng, “A 140Mb/s, 32-state, radix-4 Viterbi decoder,” in ISSCCDig. Tech. Paper, Feb. 1992, pp. 70-71.

[18] J. A. Heller and I. M. Jacobs, “Viterbi decoding for satellite and space communication, ” IEEE Trans. Commun. Technol., vol. COM-19, no. 5, pp.

835-848, Oct. 1971.

[19] Yu-xin You, Jin-xiang Wang, Feng-chang Lai, Yi-zheng Ye, “VLSI design and implementation of high-speed Viterbi decoder,” Proc. IEEE Int’l. Conf. on Comm. 2002, vol. 1, July 2002, pp. 64-68

[20] Fettweis G., Meyr H., “A 100 Mbit/s Viterbi decoder chip: novel architecture and its realization,” Communications, 1990. ICC 90, Including Supercomm Technical Sessions. SUPERCOMM/ICC '90. Conference Record., IEEE International

Conference 1990, vol. 2, April 1990, pp. 463-467

[21] Gemmeke T., Gansen M., Noll T.G., “Implementation of scalable power and area efficient high-throughput Viterbi decoders,” Solid-State Circuits, IEEE Journal 2002, vol. 37, Issue 7, July 2002, pp. 941-948

[22] O. Oteri, A. Paulraj, W. J. Chimitt, K. Holt, “SPACE-TIME-FREQUENCY CODING FOR OFDM-BASED WLANs,”

http://whitepapers.zdnet.co.uk/0,39025945,60131031p-39000516q,00.htm [23] A. Viterbi, “Error bounds for convolutional codes and an asymptotically

optimum decoding algorithm” IEEE Transactions on Information Theory ,vol. 13, issue 2, Apr 1967, pp.260 – 269.

[24] C. B. Shung, Gottfrried Ungerboeck, H. K. Thapar, “VLSI Architectures for Metric Normalization in the Viterbi Algorithm”, IEEE International Conference vol.4, 1999, pp. 1723 –1728.

[25] Stephen B. Wicker, “Error Control Systems for digital communication and storage”, 1995 by Prentice-Hall, Inc.

[26] C. M. Rader, “Memory management in a Viterbi algorithm” IEEE Trans.

Commun., vol. 29, Sept.1981, page(s) : 1399-1401.

[27] Gennady Feygin and P. G. Gulak, “Architectural Tradeoffs for Survivor Sequence Memory Management in Viterbi Decoders”, IEEE Trans. Commun, vol. 41. No.

3. March 1993.

[28] Michael Horwitz and Robin Braun, “A generalized Design Technique For Trace back Survivor Memory Management In Viterbi Decoders”, IEEE, 1997.

簡歷 姓 名 : 蔡耀毅

性 別 : 男

出生日期 : 民國 60 年 12 月 28 日 出生地 : 新竹市

學 歷 :

新竹市立民富國小 (1977.9~1983.6) 新竹市立成德國中 (1983.9~1986.6) 省立新竹高級中學 (1986.9~1989.6) 國立台北工專電子科 (1989.9~1992.6) 國立台灣科技大學電子系 (1996.9~1998.6) 國立交通大學電信工程研究所碩士班(2002.9~2005.10)

公元 2005 年 10 月獲得碩士學位

相關文件