• 沒有找到結果。

MIMO-OFDM系統之偵測與解碼-設計與實現

N/A
N/A
Protected

Academic year: 2021

Share "MIMO-OFDM系統之偵測與解碼-設計與實現"

Copied!
76
0
0

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

全文

(1)國. 立. 交. 通. 大. 學. 電信工程學系碩士班 碩士論文 多輸入多輸出正交分頻多工系統之偵測與 Viterbi 解碼:設計及實現. Joint Detection and Viterbi Decoding for MIMO-OFDM Systems – Design and Implementation. 研 究 生:李峰宇 指導教授:吳 文 榕. 中華民國九十四年七月. 博士.

(2) 多輸入多輸出正交分頻多工系統之偵測與 Viterbi 解碼:設 計及實現 Joint Detection and Viterbi Decoding for MIMO-OFDM Systems – Design and Implementation 研 究 生:李峰宇. Student:Fong-Yu Lee. 指導教授:吳文榕 博士. Advisor:Dr. Wen-Rong Wu. 國 立 交 通 大 學 電信工程學系碩士班 碩 士 論 文 A Thesis Submitted to Department of Communication Engineering College of Electrical Engineering and Computer Science National Chiao-Tung University in Partial Fulfillment of the Requirements for the Degree of Master of Science In Communication Engineering July 2005 Hsinchu, Taiwan, Republic of China. 中華民國九十四年七月.

(3) 多輸入多輸出正交分頻多工系統之偵測與 Viterbi 解碼:設計 及實現. 研究生:李峰宇. 指導教授:吳文榕 教授. 國立交通大學電信工程學系碩士班 中文摘要 傳統上,在 MIMO-OFDM 系統中 V-BLAST 及 Viterbi 解碼器是分開考量的。由 於 V-BLAST 演算法會在 Viterbi 解碼之前做符元(symbol)決策(decision),因此高 錯誤率便往往導致嚴重錯誤延展(error propagation)問題。在本論文中,我們發展 出一個結合傳送器之位元資料流先前排序(stream pre-ordering)、接收器之 V-BLAST 處理及 Viterbi 解碼器的系統來將錯誤率最小化。在本方法中,首先接 收器會將能使 V-BLAST 有最大效能(在每個子載波上)的解碼順序回傳給傳送 器。傳送器便根據這個順序將位元資料流做先前排序。接收訊號之後,接收器便 將接收訊號做反排序的動作再經過 V-BLAST 處理及 Viterbi 解碼。模擬結果也証 實了此演算法的確能達到較佳的效能。在 IEEE 802.11n WLAN 系統下,我們也 使用了 FPGA 設計流程實現了 MMSE 估測器、軟性反對映(soft-bit demapper)及 Viterbi 解碼器。. I.

(4) Joint Detection and Viterbi Decoding for MIMO-OFDM Systems – Design and Implementation. Student: Fong-Yu Lee. Advisor: Dr. Wen-Rong Wu. Institute of Communication Engineering National Chiao-Tung University Abstract Conventionally, the V-BLAST and Viterbi decoding algorithms are considered separately in MIMO-OFDM systems. Since the V-BLAST algorithm makes its own symbol decisions before Viterbi decoding, the performance of the overall system is not satisfactory. If the V-BLAST algorithm can use the decisions from the Viterbi decoder, the performance can be enhanced. In this thesis, we propose a scheme to realize this idea. The distinct feature of the proposed scheme is a pre-ordering technique allowing an optimal combination of V-BLAST processing and Viterbi decoding. Simulations conform that the proposed algorithm significantly outperforms the conventional approach. Using an FPGA design flow, we also implement an IEEE 802.11n back-end receiver including an MMSE estimator, a soft-bit demapper, and a Viterbi decoder.. II.

(5) 誌謝 首先我要感謝指導老師吳文榕教授,在研究所求學期間對於論文研究詳盡的指 導,使我在論文研究中研究方向都不會偏離正軌。而老師細心、嚴謹的求學態度 更使我受益匪淺。同時感謝口試委員李大嵩教授、紀翔峰教授與鐘嘉德教授,對 本篇論文提出寶貴意見與建議,使得論文內容更佳充實、完備。 其次,我要感謝謝雨滔學長、陳仁智學長、楊華龍學長、李彥文學長和許兆元學 長他們在研究及課業學習上不吝指導及鼓勵,且同時感謝寬頻傳輸與訊號處理實 驗室所有同學與學弟妹們的幫忙。再來感謝我女友多年來不斷地鼓勵與支持。最 後致上我最深的感謝給我父母,他們給予我精神和經濟上的支持,使我無後顧之 憂順利完成研究所的碩士學位。. III.

(6) 內容目錄. 第 1 章 簡介 .................................................................................................................1 第 2 章 BICM MIMO OFDM 系統 ..........................................................................4 2.1 BICM MIMO OFDM 系統 ............................................................................4 2.2 MMSE 及 V-BLAST 偵測 ...........................................................................5 2.3 Soft de-mapping and decoding ........................................................................8 2.3.1 軟性反對映(Soft de-mapping) ................................................................8 2.3.2 軟性輸入軟性輸出之MMSE接收機................................................14 2.4 802.11n 編碼器及交錯器(Interleaver) ...................................................16 第 3 章 BICM MIMO-OFDM 系統演算法.............................................................23 3.1 Pre-ordering for V-BLAST and coding..........................................................23 3.1.1 V-BLAST 及解碼 ..................................................................................23 3.1.2 Pre-ordering V-BLAST 及解碼 .............................................................25 3.2 遞迴解碼(Iterative decoding).......................................................................27 3.3 模擬結果.......................................................................................................30 第 4 章 硬體實現 .......................................................................................................39 4.1 設計流程.......................................................................................................39 4.2 組成元件介紹...............................................................................................40 4.2.1 接收機訊號流程....................................................................................41 4.2.2 最小均方差估測....................................................................................43 4.2.4 反交錯器................................................................................................46 4.2.5 Viterbi 解碼器 .......................................................................................48 4.3 硬體模擬結果...............................................................................................61 第 5 章 結論 ...............................................................................................................64 參考文獻 .....................................................................................................................65. IV.

(7) 表目錄 表 2-1 ..........................................................................................................................17 表 2-2 頻率交錯參數表 .............................................................................................21 表 2-3 頻率旋轉參數表 .............................................................................................21. 圖目錄 圖 2-1 BICM-MIM-OFDM 傳送端方塊圖 ................................................................4 圖 2-2 單天線傳送接收器 ...........................................................................................8 圖 2-3 16QAM 星狀圖的分割示意圖......................................................................12 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 2-4 In-phase 位元中,16QAM 之簡化對精確 LLR 計算方法比較圖...............12 2-5 In-phase 位元中,64QAM 之簡化對精確 LLR 計算方法比較圖...............13 2-6 2 × 2 之軟性輸入軟性輸出 MMSE 接收器 ..................................................14 2-7 TGN Sync 之傳送方塊圖 ...............................................................................16 2-8 直接對映轉換之傳送方塊圖 ........................................................................18 2-9 迴旋編碼器 ....................................................................................................18 2-10 壓縮流程圖 ..................................................................................................19 2-11 頻率交錯器 ...................................................................................................20 3-1 V-BLAST 偵測及解碼方塊圖 ........................................................................24 3-2 Pre-ordering 系統傳送方塊圖 ........................................................................25 3-3 Pre-ordering 系統接收偵測及解碼方塊圖 ....................................................26 3-4 遞迴偵測及解碼方塊圖 .................................................................................28 3-5 簡化之遞迴軟性反對映方塊圖 ....................................................................29 3-6 MMSE(64QAM) .............................................................................................31 3-7 V-BLAST (64QAM)........................................................................................32 3-8 comparison soft V-BLAST with MMSE (16QAM) ........................................32 3-9 comparison soft V-BLAST with MMSE (64QAM) ........................................33 3-10 3x3 comparison soft V-BLAST with MMSE (64QAM) ............................33 3-11 iterative MRC (16QAM) ............................................................................34 3-12 iterative MRC (64QAM) ...............................................................................35 3-13 iterative MRC V.S iterative V-BLAST (16QAM) .........................................35 3-14 iterative MRC V.S iterative V-BLAST (64QAM) ......................................36 3-15 NO ordering (64QAM)..................................................................................37 3-16 Pre-ordering v.s No ordering (16QAM) ........................................................37 V.

(8) 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 3-17 Pre-ordering v.s In-ordering SIC for 64QAM ...............................................38 4-1 硬體實現流程圖 ............................................................................................40 4-2 實作之接收器方塊圖 ....................................................................................41 4-3 MMSE 結構方塊圖 ........................................................................................46 4-4 反交錯器結構方塊圖 ....................................................................................47 4-5 Viterbi 解碼器方塊圖 ....................................................................................48 4-6 (2,1,2)之迴旋碼編碼器...................................................................................50 4-7 (2,1,2)迴旋碼編碼器之狀態圖.......................................................................50 4-8 (2,1,2) 迴旋碼編碼器之格狀圖.....................................................................50 4-9 Viterbi 演算法步驟 I.......................................................................................52 4-10 Viterbi 演算法步驟 II ...................................................................................52 4-11 Viterbi 演算法步驟 III ..................................................................................53 4-12 Viterbi 演算法之截斷長度示意圖 ...............................................................54 4-13 BMG 方塊圖 .................................................................................................55 4-14 ACS 設計流程圖...........................................................................................56 4-15 平行 ACS 架構方塊圖 ................................................................................57 4-16 模正規化架構方塊圖 ..................................................................................57 4-17 TBM k point even 流程圖 .............................................................................60 4-18 接收機之 RTL 架構圖 .................................................................................61 4-19 Viterbi 解碼器之 RTL 架構圖 ......................................................................62 4-20 接收機之 Mapping report ............................................................................62 4-21 接收機之 Timing report ...............................................................................62 4-22 接收機浮點模擬對定點模擬之比較圖 ......................................................63. VI.

(9) 第1章簡介 MIMO 系統,該技術最早是由 Marconi 於 1908 年提出的,它利用多天線來 抑制通道衰落。根據收發兩端天線數量,相對於普通的 SISO (Single-Input. Single-Output)系統,MIMO 還可以包括 SIMO (Single-Input Multi-ple-Output)系統 和 MISO(Multiple-Input Single-Output)系統。原則上,通道容量(capacity)隨著天 線數量的增大而線性增大。也就是說可以利用 MIMO 系統倍數地提高無線通道 容量,在不增加頻寬和天線發送功率的情況下,頻譜利用率可以倍數地提高。. MIMO 的核心概念為利用多根發射天線與多根接收天線所提供之空間自由 度提升傳輸速率與改善通訊品質;它主要有兩種功能形式:一為空間多工(spatial. multiplex),另一為空間分集(spatial diversity)。前者是在發射端利用多根天線傳 送不同資料序列,並在接收端利用多根天線的空間自由度將該組資料序列分別解 出。經由此一程序,在發射端與接收端之間彷彿形成一組虛擬的平行空間通道, 可在同一時間、同一頻段,以同一功率傳送多個資料序列。如此一來,整體系統 的有效資料傳輸率便可以在不增加任何通訊資源的前題下提升數倍。而後者是利 用利用發射或接收端的多根天線所提供的多重傳輸途徑來對抗通道衰落(fading) 的影響;所謂分集意即多重選擇性,它可由多個獨立的傳輸途徑中選擇或組合出 衰落現象較輕微的接收訊號,以維持穩定的鏈路品質。空間多工接收機的演算法 主要有貝爾實驗室的 BLAST 演算法、ZF 演算法、MMSE 演算法、ML 演算法等. [1]-[6]。而空間分集主要代表便是空時區塊編碼(Space-Time Block Coding, STBC)[7],它於發射端將待傳送之資料符元(data symbol)在空間與時間上作預前 編碼,產生適當的冗餘(redundancy),並在接收端經由簡易的處理將此冗餘轉化 為「分集增益」(diversity gain)。. OFDM 的優點歸納如下:1.相較於單載波調變,頻帶上不需額外的保護區間 (guard band),擁有較佳的頻譜使用效率 2.能有效對抗多路徑通道,降低接收端 通道等化器之複雜度。3.硬體上可採用制式化之 FFT 與 IFFT 模組實現調變與解 1.

(10) 調變,縮短開發時程與降低硬體成本。 雖然 OFDM 有著諸多優點,但其調變系統的複雜度相較於單載波系統仍顯 得複雜許多,且系統對於時間與頻率同步誤差非常敏感,一旦存在同步誤差,則 接收機將遭遇嚴重之載波間干擾(Inter-Carrier Interference, ICI),影響系統效能甚 鉅。此外,OFDM 發射訊號之峰均功率比(Peak-to-Average Power Ratio, PAPR)較 單載波訊號大,不利於功率放大器之運作,也會使得接收訊號失真。 近年來,BICM(bit-interleaved coded modulation)已成為一個有效率的技術而 廣泛地應用在無線區域網路系統上。BICM 原先是由 Zehavi 所提出來的[15],它 透過由位元上的交錯(bit-level interleaver)而將編碼和調變分開。事實上在瑞雷快 速型衰落(Rayleigh fast fading)通道中,BICM 比起將編碼和調變一起做的傳統系 統有更好的碼分集(code diversity)。當通道是頻率選擇衰落(frequency selective. fading)時,BICM 將會和 OFDM(orthogonal frequency division multiplexing)結合而 使得訊號可以在頻域上獲得分集(diversity)而將通道轉為平衰落(flat fading)。例如. IEEE802.11a 無線區域網路便是在 5-GHZ 的頻帶上採用 BICM-OFDM 的系統。 MIMO(multi-input multi-output) OFDM 則是藉由多傳送接收天線及頻率選擇衰落 通道而獲得在空間及頻率上的分集。 在本篇論文中,吾人模擬比較現存 MIMO 偵測(detection)方法並提出一 個結合 MIMO 偵測及 Viterbi 解碼的 BICM MIMO OFDM 系統。現存的系統中大 多以 MMSE 及 VBLAST 為 MIMO 偵測的方法,再經過解碼器後輸出。然而在. VBLAST 中依序干擾消除(SIC)的效能則取決於前一級決策(Decision)的錯誤率, 若能結合解碼器勢必能提高效能表現。本論文以 Pre-ordering 及 iterative 二種系 統討論如何在 BICM MIMO OFDM 系統中結合 VBLAST 及 Viterbi 解碼器。最 後再根據在西元 2005, 3 月由 TGN SYNC 所提出的 802.11n 的草案[8]來設計並以. VHDL 實做出簡化的接收機。值得注意的是,本篇論文中所發展的 Pre-ordering 系統同時間在[17]也有類似的作法。 本篇論文的結構如下: 第二章將簡介 BICM MIMO OFDM 系統,包括此系 2.

(11) 統的數學模型建立、主要的 MIMO 偵測演算法(MMSE 及 VBLAST)、BICM 的 軟式(soft) de-mapping 和解碼(decoding)和在 TGN SYNC 所提出的 11n 草案中的 編碼過程。第三章則說明吾人所提出的系統並將其和其它系統模擬比較。第四章 介紹吾人所實現的簡化之 802.11n 接收機,主要分成二部分,一部分為 MIMO 偵 測,另一部分則為 Viterbi 解碼器。最後總結在第五章中。. 3.

(12) 第2章 BICM MIMO OFDM 系統 2.1 BICM MIMO OFDM 系統 我們考慮一個 BICM MIMO OFDM[22]的系統,包括了 N t 的傳送天線及 N r 的接收天線,系統如圖 2-1 所示。傳送端包括了迴旋編碼器(FEC encoder),位元 交錯器(π),將位元對映到 QAM(2 M )訊號的 Mapping 及 OFDM 系統中 IFFT(size. Nc )及循環前序(cyclic prefix)的插入。接收端則主要由 OFDM-demodulation 的 FFT 及 CP 去除、符元反對映(demapping)計算位元計量值(bit metrics)、反位元交 錯器(π-1)及 Viterbi 解碼器所構成。. 圖 2-1 BICM-MIM-OFDM 傳送端方塊圖. 資料位元一開始經過一個編碼率(coding rate)為 Rc 的迴旋編碼器。這些位元 再通過一個位元上的(bitwise)交錯器產生新的位元。這些經過編碼且交錯器的位 元資料接著會被以大小為 N t × M × N c 分塊,成為多天線的 OFDM symbol。在這 塊的資料中又以大小為 N t × M 分群,對應到 N t × 1 複數訊號的向量,令此向量為. S (k , n) , k = 1, 2,...N c 。之後對應至相同 OFDM symbol 的訊號便通過 IFFT 及加 CP 方塊。每根多天線的 OFDM symbol 的資料率為 Rc × N t × M × N c 。 我們假設 MIMO 通道為頻率選擇衰落通道(frequency selective channel),並有 4.

(13) 適當長度的 CP 及完美的同步。在頻域上,在第 n 個 OFDM symbol 的第 k 個子載 波(subcarrier)中,假設傳送訊號為 X (k , n) ,我們將會收到 N r × 1 的複數訊號. Y (k , n) k = 1, 2,...N c 。. Y ( k , n) = H ( k , n ) S ( k , n) + N ( k , n) (2-1) 這裡 N (k , n) 是指 AWGN 而 H (k , n) 則是指在第 n 個 OFDM symbol 中的第 k 個子 載波中的通道。 H (k , n) 的第( i, j )項則為從第 i 根傳送天線到第 j 個接收天線的增 益(gain)。另外在理想的交錯(interleaving)下,我們可假設 H (k , n) 對不同的 k 和 n 而言是獨立且相等的分佈(iid)的。而為了表示方便,在本論文之後的數學模式中 都將 n 省略,也就是(2-1)可表示為(2-2):. Y (k ) = H (k ) S (k ) + N (k ) (2-2). 2.2 MMSE 及 V-BLAST 偵測 在上一節中,我們可以將 BICM MIMO OFDM 系統如(2-2)所示,傳送訊號. S (k ) 經過通道 H (k ) 後,加上高斯雜訊 N (k ) 得到接收訊號 Y (k ) 。在空間多工的應 用中, MIMO 偵測(detection)就是要在接收端將其它根天線的訊號消除,從 Y (k ) 去推算出 S (k ) ,在現行的方法中,大致可以分成三大類的偵測方法,一為最大 可能性解碼為基礎的 Sphere decoding[13]-[14],二為以 Bell lab 所提出來 MMSE 加 SIC 的 VBLAST[4]-[6],三則是以 QR 分解為主的方法[10]-[12]。底下則介紹 在本論文中所採用 MMSE 及 V-BLAST[4]演算法。. 2.2.1 最小均方差估測(MMSE) 在收到接收訊號的條件下: Y (k ) = H (k ) S (k ) + N (k ) ,我們定義一個錯誤向量. e(k ) ,此向量代表傳送的訊號與接收訊號乘上 MMSE 壓抑矩陣後的誤差,也就 5.

(14) 是 e(k ) = Y (k ) − G H Y (k ) ,其中 G 是 MMSE 壓抑矩陣。另外,定義一個成本函數. (Cost Function) J ,如下式:. J = E{e H (k )e(k )} = tr[ E{e(k )e(k ) H }] (2-3) 為了使成本最小,我們對 J 微分,使其等於零,並找出此時的 MMSE 壓抑矩陣 的值,於是可以推導出 Wiener-Hopf equation:. G H RYY = RSY (2-4) 其中. RYY = E{Y (k )Y H (k )} RXY = E{S (k )Y H (k )} (2-5) 前者為接收訊號向量的協方差矩陣(Covariance Matrix),後者為傳輸和接收向量 的交互相關矩陣(Cross-Correlation Matrix)。然後我們假設:. E[ SS H ] =. 1. α. I Nt , E[ NN H ] = I Nr , E[ SN H ] = 0 (2-6). 這裡 α =. Nt. σ2. 。換句話說,訊號 S 及外加雜訊 N 在空間上是白色(white)及沒有相. 關的隨機向量,而變異數分別為. 1. α. I Nt 及 I Nr (我們可以將. 1. α. 想像成在每根天線上. SNR),便可以推導出 MMSE 壓抑矩陣 G 如下: G = [ HH H + α I N r × Nr ]−1 H. (2-7). 2.2.2 V-BLAST 在 V-BLAST 的過程中,偵測的順序對於系統整體的效能影響很大,若第一個解 出來的訊號是錯的,在接下來的遞迴過程中,錯誤會延續到第二個訊號上,也就 是所謂的錯誤延展(Error Propagation)。因此,有效的排序將可以對系統效能有很 6.

(15) 大的提升。因此,我們底下討論如何對訊號排序。首先,我們知道 MMSE 壓抑 矩陣可表示成 G = QH ,且 Q = [ H H H + α I Nt × Nt ]−1 。當我們計算誤差向量 e(k ) 的協 方差矩陣時,可得下式:. Ree = E{e(k )e H (k )} = σ n2Q (2-8) 觀察(2-8),擁有 SNR 最高的訊號就是有最小的誤差變異數,所以要解的第一個 訊號可以從(2-9)獲得,其中 qmm 代表矩陣 Q 之第 m 個對角線的值。. p1 = arg min qmm m. (2-9) 而 V-BLAST 的流程主要分為三大步驟,依序如下:. I.. 使用(2-7)MMSE 壓抑矩陣,我們可以使用(2-10)計算 Z (k ) :. Z (k ) = G H Y (k ) (2-10) II.. 利用(2-9)找出 Z (k ) 裡面 SNR 最高的子資料符元,並將此符元偵測出來。假 設找出在 Z(k ) 裡面的第 p1 個子資料符元擁有最高的 SNR,於是可對第 p1 個 符元作判斷(slice): Sˆ p1 ( k ) = Q[ Z p1 (k )] 其中, Q[.] 是根據訊號的星狀圖. (Constellation)對符元作判斷。 III. 假設 Sˆ p1 (k ) = S p1 (k ) ,我們就可以把 S p1 (k ) 從接收訊號向量 Y (k ) 中移除,並 獲得一組新的接收向量 Y2 (k ) ,如下所示:. Y2 (k ) = Y (k ) − Sˆ p1 (k )h: p1 =. ∑h. m ≠ p1. :m. Sm + N (k ). = H Nt −1 (k ) S Nt −1 (k ) + N (k ) (2-11) 其中 h: p1 是 H (k ) 中的第 p1 列,而 H Nt −1 (k ) 是指把 H (k ) 的第 p1 個行移除而獲. 7.

(16) 得的一個 N r × ( N t − 1) 之矩陣。而 S Nt −1 (k ) 是把 S (k ) 的第 p1 個資料移除,獲得 一個長度為 N t − 1 的向量。. 由步驟 I 到 III,每得到一個新的 H 就要重新計算(2-9)以獲得新的排序。經由算 出來的 p2 ,..., pNt 順序,並搭配更新後的接收向量 Y2 (k ),..., YNt (k ) ,如此遞迴的運 算直到所有 S (k ) 的資料都判斷出來後才停止。. 2.3 Soft de-mapping and decoding 2.3.1 軟性反對映(Soft de-mapping) 符元對映(symbol mapping)在 BICM 的系統中扮演著很重要的角色,在非遞 迴解碼裡[15],証明了葛雷碼(Gray-code)對映的最佳性。然而,在遞迴解碼裡葛 雷 mapping 便並沒有辨法提供明顯的效果,這是因為在相鄰的 M-QAM 裡,對映 位元最多只相差 2 位元而已,如此一來遞迴迴授並沒有辨法明顯地改善 soft-bit. metrics。雖然在本論文中有提到使用遞迴的方式來做,但在本論文中還是只考慮 使用葛雷對映。在使用葛雷編碼下,如果使用最大可能性解碼時,則反對映. (de-mapping)則有明顯簡化的方法[16],我們將在下面說明。. FEC encoder. Bit interleaver. QAM mapping. OFDM modulator. RF transmitter. Dispersive channel. Viterbi decoder. De-interleaver. QAM demapping. OFDM demodulator. RF receiver. 圖 2-2 單天線傳送接收器. 所謂的軟性反對映(soft de-mapping)即在決定在每個接收到的 symbol 裡的位 8.

(17) 元的機率是 0 或是 1,metric 的值愈大便代表著位元是 1 的機率愈大,反之值愈 小的話便代表著位元是 0 的機率大。在說明應用在 MIMO 的情況之前,我們先 說明在單天線的情況。 單天線傳送接收器如圖 2-2 所示,在頻域上訊號可以表示為:. Z ( k ) = H (k ) S (k ) + N ( k ) Y (k ) = S (k ) +. N (k ) = S (k ) + N '(k ) H (k ). (2-12) H (k ) 是通道頻率響應(Channel Frequency Response, CFR)在第 k 個子載波的複數 係數, S 是傳送訊號, N 則是指外加雜訊, σ. 2 N'. σ N2 = 。傳送訊號 S 是一個 2 H [k ]. 從有限星狀圖(constellation) ϒ = {S1 , S 2 ,...S ϒ } 取出的 QAM symbol, 由資料位元 b = [b0 , b1 ,...bM ] 所對映而來。位元數 M 則是根據使用的 QAM 大小所決定。在接. 收到每個 Z (n) 都有 4 M 個 metric 需要計算,in-phase 和 quadrature 位元 bI ,k、bQ ,k 各需計算 0 和 1 的可能性,對 bI ,k ( bQ ,k 是同樣的)而言,我們將 QAM 集合 ϒ 分成 二部分, S I(0) , k 代表著在位置 ( I , k ) 的位元是 0 的點,也就是在 in-phase( I )位元群 中第 k 個位元。相對的,是 1 的點便用 S I(1),k 表示。如此這二個 metrics 即可由下式 表示: mc (bI , k ) = max log p ( Z (k ) | S (k ) = α ) , c = 0,1 (c) α ∈S I ,k. (2-13) Z (k ) 的機率是個高斯函數 ⎧⎪ 1 Z (k ) − H (k )α 1 exp ⎨− p( Z (k ) | S (k ) = α ) = σ2 2πσ ⎩⎪ 2. 2. ⎫⎪ ⎬ ⎭⎪ (2-14). 9.

(18) 且 Z (n) = H (n)Y (n) ,如此(2-13)即可改寫成. mc (bI ,k ) = H (k ) min Y (k ) − α , c = 0,1 (c) 2. 2. α ∈S I ,k. (2-15) LLR(log likelihood ratio): L(bI , k ) ≡ log = log. p (bI ,k = 1| Z (k )) p (bI ,k = 0 | Z (k )). ∑α ∑α. ∈S I(1) ,k ∈S I( 0,k). p ( S (k ) = α | Z (k )) p ( S (k ) = α | Z (k )). (2-16) 提供了第 ( I , k ) 的位元到底是 0 或是 1 的可靠度計算方法,由 L(bI ,k ) 的正負號便 可決定第 m 個位元是 0 或是 1,而值的大小則表示著可靠度。 當雜訊並非很大時,我們可以將 log-sum 簡化成: log ∑ j Z j ≈ max j log Z j ,如此. (2-16)可寫成: max p( S (k ) = α | Z (k )). L(bI , k )= log. α ∈S I(1) ,k. max p ( S (k ) = α | Z (k )). α ∈S I( 0,k). (2-17) 將(2-14)代入(2-17)可得: 2. H (k ) 2 2 L(bI , k )= {min Y (k ) − α − min Y (k ) − α } 2 (0) (1) α ∈S I ,k α ∈S I ,k 2σ (2-18) 在圖 2-3 我們以 16QAM 為例子,為了計算 L(bI , k ) 而在 ( S I(1),k , S I(0) , k ) 這二個集合裡找 離接收訊號最近的點時,我們可以發現在這二個集合裡最近的點都是會在同一條 垂直的線上,同樣地為了計算 L(bQ ,k ) 在 ( SQ(1), k , SQ(0),k ) 裡找最近的點時,這二點便會 在同一條水平線上。因此(2-18)可以簡化成:. 10.

(19) 2. H (k ) 2 2 L(bI , k )= { min( 0 ) Y (k ) − α − min(1) Y (k ) − α } 2 α ∈S 'I ,k α ∈S 'I ,k 2σ 2. H (k ) 1 2 2 × 4 × × { min( 0 ) Y (k ) − α − min(1) Y (k ) − α } = 2 α ∈ α ∈ S S ' ' 2σ 4 I ,k I ,k =. 2 H (k ). σ. 2. 2. 1 2 2 × { min( 0) Y (k ) − α − min(1) Y (k ) − α } α ∈S 'I ,k 4 α ∈S 'I ,k. ≡ CSI × DI , k (2-19) 式中子集合 S '(Ic, k) 定義為: S '(Ic, k) ≡ ℜ{S I(,ck) } , c = 0,1 。因此在計算 L(bQ ,k ) 便是先由 通道和雜訊算出在(2-19)中所需的 CSI(channel state information),而 DI ,k 可利用圖. 2-3 而計算得(2-20): ⎧1 2 2 | YI (k ) | ≤ 2 ⎪ 4 ⎡⎣ (YI (k ) + 1) − (YI (k ) − 1) ⎤⎦ = YI (k ), ⎪ ⎪1 DI ,1 = ⎨ ⎡⎣(YI (k ) + 1) 2 − (YI (k ) − 3) 2 ⎤⎦ = 2(YI (k ) − 1), YI (k ) < 2 ⎪4 ⎪1 2 2 ⎪ 4 ⎣⎡(YI (k ) + 3) − (YI (k ) − 1) ⎦⎤ = 2(YI (k ) + 1), YI (k ) > − 2 ⎩ DI ,2. ⎧1 2 2 ⎪⎪ 4 ⎡⎣(YI (k ) − 1) − (YI (k ) − 3) ⎤⎦ = −YI (k ) + 2, YI (k ) > 0 =⎨ ⎪ 1 ⎡(Y (k ) + 3) 2 − (Y (k ) + 1) 2 ⎤ = Y (k ) + 2, Y (k ) < 0 I I ⎦ I ⎪⎩ 4 ⎣ I. (2-20) 由(2-20)可整理成(2-21):. YI (k ) ≤ 2 ⎧ YI (k ), ⎪ DI ,1 = ⎨2(YI (k ) − 1), YI (k ) > 2 ⎪2(Y (k ) + 1), Y (k ) < −2 I ⎩ I DI ,2 = − YI (k ) + 2 (2-21) 我們可以很容易地推出 DQ ,k 的式子,只要將(2-21)中的 YI (k ) 改成 YQ (k ) 即可。. 11.

(20) Im 0010. 0110. Im 1010. 1110. 3. 0010. 0110. 3. 1110. 1010. 1111. 1011. 1101. 1001. 2d i , k 0011. 0111. 0001. 0101. 1. 1111. 1011. 1101. 1001. 0011. 0111. 0001. 0101. 1. Re. S. -1. (0 ) I ,1. 0000. S 0100. 1100. -3. -1. SI(,02). (1) I ,1. S I(1, 2). 0000. 1000. 0100. Im 0110. 1000. 1100. -3. bI,2. bI,1 0010. S I(,02). 3. Im. 1110. 1010. 0010. 1111. 1011. 0011. 0110. SQ( 0, )2. 3. 1110. 1010. S Q(1,)1 0011. 0111. 1. 0111. S. 1. 1011. 1111. (1 ) Q, 2. 2d Q , k. Re 0001. 0101. -1. 1101. 1001. 1100. 1000. 0001. S Q( 0,1) 0000. 0100. -3. 0000. 0101. SQ(0, )2. 0100. -1. -3. 1101. 1001. 1100. 1000. bQ,2. bQ,1. 圖 2-3 16QAM 星狀圖的分割示意圖. (2-21)在計算上還是令人困擾,但如果犠牲一點效能的話,則可以再進一步化簡 為: DI ,1 ≅ YI (k ) DI ,2 = − YI (k ) + 2. (2-22) (2-21)及(2-22)所算出之 DI ,1 及 DI ,2 的比較如圖 2-4 所示:. 圖 2-4 In-phase 位元中,16QAM 之簡化對精確 LLR 計算方法比較圖. 12.

(21) 相同地,在 64QAM 的情況下可以導出(2-23)及其簡化式(2-24) ⎧ YI (k ), ⎪ ⎪2(YI (k ) − 1), ⎪ 3(YI (i ) − 2), ⎪ DI ,1 = ⎨ 4(YI (i ) − 3) ⎪ 2(Y (i ) + 1) I ⎪ ⎪ 3(YI (i ) + 2) ⎪ ⎩ 4(YI (i ) + 3) DI ,2. ⎧2(− YI (k ) + 3), ⎪ = ⎨ 4 − YI (k ) ⎪ 2(− Y (k ) + 5) I ⎩. YI (k ) ≤ 2 2 < YI (k ) ≤ 4 4 < YI (k ) ≤ 6 YI (k ) > 6 −4 ≤ YI (k ) < −2 −6 ≤ YI (k ) < −4 YI (k ) < −6 YI (k ) ≤ 2 2 < YI (k ) ≤ 6 YI (k ) > 6. YI (k ) ≤ 4 ⎧⎪ Y (k ) − 2, DI ,3 = ⎨ I ⎪⎩ − YI (k ) + 6, YI (k ) > 4. (2-23) DI ,1 ≅ YI (k ) DI ,2 ≅ − YI (k ) + 4 DI ,3 ≅ − − YI (k ) + 4 + 2 (2-24) (2-23)及(2-24)所算出之 DI ,1 、 DI ,2 及 DI ,3 的比較如圖 2-5 所示:. 圖 2-5 In-phase 位元中,64QAM 之簡化對精確 LLR 計算方法比較圖. (2-24)可以推展到使用類似葛雷編碼的任意平方 QAM 的星狀圖上,假設 d I ,k 及 dQ ,k 為當 k > 1 時,二個集合之間距離的一半當如圖 2-3 所示,則從(2-21)到(2-24) 13.

(22) 便可一般化為:. k =1 ⎧⎪YI (k ), DI , k = ⎨ ⎪⎩ − DI , k −1 + di ,k , k > 1 L(bI , k ) = CSI × DI , k and k =1 ⎧⎪YQ (k ), DQ ,k = ⎨ ⎪⎩− DQ ,k −1 + dQ , k , k > 1 L(bQ ,k ) = CSI × DQ ,k (2-25). 2.3.2 軟性輸入軟性輸出之MMSE接收機 這個接收器如圖 2-6 所示,為了方便說明,這裡用 2 × 2 的模型,也很容易 推廣到多根傳送接收天線模型。相對於將接收訊號視為訊號向量,我們直接使用 線性的接收器將此向量分成二條獨立的資料流,並分開地計算其軟性輸出(Soft. output)。. 圖 2-6 2 × 2 之軟性輸入軟性輸出 MMSE 接收器 在 2 × 2 的情況下(2-2)中的接收訊號可以表示為: Yk = ⎡⎣ h1, k. ⎡ s1,k ⎤ h2,k ⎤⎦ ⎢ ⎥ + N k ⎣ s2, k ⎦. (2-26) hi ,k 是 si ,k 的通道影響,也就是 H 的第 i 列。而 MMSE 的等化器則可以表示為. 14.

(23) W = ( H kH H k +. ⎡ wT ⎤ I ) −1 H kH = ⎢ 1T ⎥ ρ ⎣ w2 ⎦ 2. (2-27). ρ 是 SNR. ES ,則此等化過後的訊號即變成 Z k = WYk ,假設 wiT 是 W 的第 i 行,則 N0. 對第 i 根天線而言,等化後的訊號即可表示為: Z i , k = wiT hi ,k si ,k + wiT h j ≠i ,k s j , k + wiT N k { 144 42444 3 H eff. N eff. (2-28) 使用(2-28)中 Z k 、 H eff 及 Neff 則可得等效之雜訊變異數為:. σ N2 = wiH h j ≠i ,k h Hj ≠i , k wi + wi eff. 2. N0 (2-29). 如此(2-28)便和在 2.3.1 中所介紹軟性反對映有相同的格式。注意本方法的計算複 雜度跟 QAM 的大小和天線數成線性增加,且在這裡我們將其它根天線的殘餘天 擾訊號當成雜訊處理而避免向量的解碼。. 15.

(24) 2.4 802.11n 編碼器及交錯器(Interleaver) 2.4.1 總覽 在 2005 3 月由 TGN SYNC 所提出來的 11n 提案[8]中,介紹了幾種傳輸技術及模 式,如表 2-1 所示。而傳送架構便如圖 2-7 所示。. 圖 2-7 TGN Sync 之傳送方塊圖 在 FEC 架構中有一個編碼器,對迴旋碼(convolutional code ,CC)來說,其主要的 編碼率是 1/2。而這些編碼過後的位元資料可以經由壓縮(puncture)而產生 2/3、. 3/4 或 5/6 共四種編碼率。而對 LDPC 碼來說,則不應用其它的編碼率。 被壓縮後的位元透過空間資料流分離器(spatial stream parser)將資料分成. N SS 個空間資料流。對每個資料流都會成塊地做交錯(interleaving)而會對映到一 個 OFDM symbol 的大小。這樣的交錯稱為「頻率交錯」 ,這是因為資料是在不同 子載波中間交錯的。這頻率交錯器和在 802.11a[9]中是十分相似的。結合空間資 料流分離和頻率交錯便成了空時(space-time)交錯。交錯後的位元將會對映到. QAM 的星狀圖上,這對映可能是 BPSK、QPSK、16QAM、64QAM 或是 256QAM。. 16.

(25) Feature. Mandatory. Optional. Number of Spatial Streams. 1 and 2. 3 and 4. Number of Transmit Antennas. 2. Greater than 2. Channelization bandwidth. 20MHz. 40MHz. Number of Occupied Subcarriers. 56 in 20MHz. 114 in 40MHz. Number of Data Subcarriers. 52. 108. Number of Pilot Subcarriers. 4. 6. Modulation Order. BPSK, QPSK,. 256-QAM in. 16-QAM, 64-QAM. Beamforming mode. Code Rate. 1/2, 2/3, 3/4, 5/6. Guard Interval. 400ns and 800ns. Convolutional Coding. R=1/2, K=7, (g1=1338, g2=1718). LDPC TX Beamforming. TX and RX Optional RX mandatory. TX Optional. 表 2-1. 下一步是天線對應轉換(antenna map transformation)。這轉換是將 N SS 個空間 資料流對應到 NTx 個傳送天線資料流。注意,在 MIMO 的傳送下必須要. N SS ≤ min{NTx , N Rx }。特別地,我們總是讓 N SS ≤ NTx 。將 N SS 資料對應到 NTx 根天 線的動作可以由一個矩陣 Q 表示。Q 轉換模式總共有三種,在下一節中將只介紹 本論文所模擬實現的直接對映(direct map)轉換架構,且主要介紹在本論文中所用 到的元件,這包括了編碼、壓縮、空間分離及交錯。. 17.

(26) 2.4.2 直接對映(direct map) MIMO 直接對映轉換是在這提案中的基本模式,如圖 2-8 直接對映轉換之傳送方塊圖 所示。在這基本模式中,矩陣 Q 是一個簡單的單位矩陣,也就是說每個空間資料 流都對應到一根天線。因此對每個空間資料流都有個一對一的對映。. 圖 2-8 直接對映轉換之傳送方塊圖. 2.4.2.1 編碼(Encoding) 在 11n 所用的是使用限定長度(constrain length)為 7 的迴旋碼,編碼多項式分 別為 g0 = 1338. g1 =1718 如所示。. 圖 2-9 迴旋編碼器 18.

(27) 2.4.2.2 壓縮(Puncture) 資料位元在經過編碼後的編碼率是 1/2,如果想要有更高的編碼率則藉由在將固 定順序的編碼後的資料位元打掉不送,而在解碼器時便在相同位置補上沒有意義 的位元而使得編碼率變高。在這提案中,共有 1/2、2/3、3/4、5/6 四種速率可以 選擇,其中除了 5/6 是 11n 所新增的,其它的速率都和 11a 相同。圖 2-10 壓縮 流程圖為編碼率為 2/3、3/4 及 5/6 的例子。. 圖 2-10 壓縮流程圖 19.

(28) 2.4.2.3 交錯器(Interleaver) 資料在經過編碼及壓縮後,會交錯地送到各個天線及子載波上。而此交錯器共有 二個步驟:. 1.. 空間分離(space parsing):. s = max{N BPSC / 2,1} (2-30) N BPSC 是指在每個子載波上的位元數(number of bits per subcarrier)也就是使用的 QAM 的等級(order),例如當 BPSK 時, N BPSC =1,而 QPSK 時是 4。在壓縮後的 資料會以大小為 s 的方塊,以 round-robin 的方式從第一根天線開始地放到各天線 上去。. 2.. 頻率交錯器(frequency interleaver) 所有被分到各個天線上的資料位元都會被獨立的交錯到不同的子載波上. 去,而每個天線都有各自己的交錯器,大小為一個 OFDM symbol 的長度, N CBPS 。 交錯器是根據 802.11a 中所定義的交錯器而加以修改成適用於多天線及 40MHZ 的傳輸。如圖 2-11 所示。. 圖 2-11 頻率交錯器. 20.

(29) 此交錯器分為三步驟。第一次對調(permutation)為保證相隣的位元能對映到 不相隣的子載波上。第二次對調則是能讓資料位元輪流地對映到星狀點上的. MSB 及 LSB 上。第三次對調保證讓資料位元透過頻率旋轉(frequency rotation)在 所有的天線之間達到較好的頻率-空間分集。 基本的交錯器陣列有 N row 行及 N column 列,且頻率旋轉的基底則表示為 N rot 。 這些參數如表 2-2 及表 2-2 所示。. N row. N column. N rot. 20MHZ. 13. 4 N BPSC. 11. 40MHZ. 18. 6 N BPSC. 29. 表 2-2 頻率交錯參數表. 不同的天線則有頻率旋轉數,列表如下: Total Number of Streams Frequency Rotation. 1st stream 2nd. 1. 2. 3. 4. 0. 0. 0. 0. 2 N rot. 2 N rot. 2 N rot. N rot. N rot. stream. 3rd stream. 3N rot. 4th stream. 表 2-3 頻率旋轉參數表 假設在第一次對調之前資料的索引(index)為 k ,而在第一次對調之後第二次 對調之前的索引為 i , j 則為第二次對調及第三次對調之間的索引, r 是第三次 對調之後 QAM 對映之前的索引。則我們可以將這三次對調用數學表示:. 21.

(30) 第一次對調是根據以下規則所定義: i = N row × ( k mod N column ) + floor ( k / N column ). k = 0,1,K , N CBPS − 1 (2-31). 第二次對調是根據以下規則所定義:. j = s × floor ( i / s ) + ( i + N CBPS − floor ( N column × i / N CBPS ) ) mod s. i = 0,1,K , N CBPS − 1 (2-32). 其中 s = max{N BPSC / 2,1} 。 第三次對調是根據以下規則所定義:. (. ). r = j − ( ( 2 × iss ) mod 3 + 3 × floor(iss / 3) ) × N rot × N BPSC mod N CBPS j = 0,1,K , N CBPS − 1 (2-33) iSS = 0,1,K , N SS − 1 ,代表天線的索引,第一根天線 iSS =1。 反交錯器(deinterleaver) 則相對應地分成三次對調來定義: 假設在第一次對調之前資料的索引(index)為 r ,而在第一次對調之後第二次對調 之前的索引為 j , i 則為第二次對調及第三次對調之間的索引, k 是第三次對調 之後 QAM 的反對映之前的索引。則我們可以將這三次對調用數學表示: 第一次對調是根據以下規則所定義:. (. ). j = r + ( ( 2 × iss ) mod 3 + 3 × floor(iss / 3) ) × N rot × N BPSC mod N CBPS ,. r = 0,1,K , N CBPS − 1. (2-34) 第二次對調是根據以下規則所定義: i = s × floor ( j / s ) + ( j + floor ( N column × j / N CBPS ) ) mod s ,. j = 0,1,K , N CBPS − 1. (2-35) 第三次對調是根據以下規則所定義: k = N column × i − ( N CBPS − 1) floor ( i / N row ) ,. i = 0,1,K , N CBPS − 1 (2-36). (2-36)至(2-34)即是(2-31)至(2-33)的反對調。 22.

(31) 第3章BICM MIMO-OFDM 系統演算法 現存的系統中大多以 MMSE 及 VBLAST 為 MIMO 偵測的方法,再經過解 碼器後輸出。然而在 VBLAST 中依序干擾消除演算法(SIC)的效能則取決於前一 級決策(Decision)的錯誤率,若能結合解碼器勢必能提高效能表現。本論文以多(平 行)解碼器架構及單一解碼器(iterative)二種系統討論如何在 BICM MIMO OFDM 系統中結合 VBLAST 及 Viterbi 解碼器。在 3.1 中的多(平行)解碼器架構中,訊 號在一定的延遲後便可有和在第二章中介紹的系統有相同的吞吐量(through. put),然而硬體的增加則是它的代價。相對的在 3.2 中的具遞迴之單一解碼器架 構,其硬體增加不大,但吞吐量則隨著遞迴次數增加而降低。. 3.1 Pre-ordering for V-BLAST and coding 3.1.1 V-BLAST 及解碼 在本節中我們先介紹在[18]所提出的之多解碼器之架構,如圖 3-1 所示。在 第二章所介紹的 VBLAST,由於訊號在頻域上處理,所以訊號在經過 FFT 之後, 共會分成 N c (FFT size)個 VBLAST 處理單元,和 2.2 中所介紹的不同的是,在 這架構中,並無法使用最佳排序,所以訊號總是從第一根天線依序往下解。在[18] 所提出的架構並沒有說明是否使用軟性偵測,而在本節將使用如 2.3 中所介紹軟 性偵測輸出。定義在經過 Soft Demapping 之後的軟性訊號為 vkn,i , n 是第幾個位 元, k 是第幾個幾個子載波, i 則是在第幾根天線上,則(2-19)可以表示為 vkn,i =CSI k ,i × D ( s%k ,i , n). (3-1) 定義 Z k ,i 為經過 MMSE 等化後的訊號,而 CSI k ,i 可以解釋為偵測訊號對干擾雜訊 比(SINR)。 23.

(32) 圖 3-1 V-BLAST 偵測及解碼方塊圖. 在(3-1)中 Z k ,i 及 CSI k ,i 是根據不同偵測方去而有不同的算法。例如在這裡所要介紹 的 MMSE-SIC 偵測器, Z k ,i 便可以由以下的式子所表示: Z k ,i = [( H kH ( j ) H ( j ) + α I ) −1 ]i H kH ( j )Yk ( j ). (3-2). H k ( j ) = [hk ,i K hk , Nt ] Yk ( j ) = Yk (i − 1) − hk ,i −1sˆk ,i −1 , Yk (1) = Yi [ A]i 代表 A 的第 i 行。 H k (i ) 及 Yk (i ) 代表『等效』的通道矩陣及接收訊號向量。 在(3-2)中 sˆk ,i −1 原本在 MMSE-SIC 的演算中是指 Q[ Z k ,i -1 ],也就是將 Z k ,i -1 判斷(slice) 到最近的 QAM 上所得到的訊號。然而這裡所代表的是指 Z k ,i -1 經過反交錯器、解 碼器之後,再重建回來訊號。在使用 MMSE-SIC 偵測器的情況下, CSI k ,i 的計算 便如同 2.3.2 中所介紹的步驟一樣。首先由 (3-2)算出在(2-23)中的 N eff 及 H eff ,. 再套入 CSI 的定義 CSI k ,i =. ( H eff ) k ,i. σ eff 2. 2. 。值得注意的是,這樣的 CSI 算法是建立在. 24.

(33) 假設 sˆk ,i −1 = sk ,i −1,然而這樣的假設卻不一定成立,這使得 CSI 的算法要有所改變。 但是考慮 sˆk ,i −1 的錯誤率並不容易計算。而有一更簡單的做法是直接使用 MMSE 的 CSI 如同 2.3.2 中所描述,不同的是,CSI 產生用 MMSE 的方法,訊號偵測使 用本節所介紹的 MMSE 加上 SIC。. 3.1.2 Pre-ordering V-BLAST 及解碼 在 3.1.1 在介紹的系統都是從第一根天線開始解,如果第一根天線的通道狀況差 的話,便有可能導致錯誤傳遞(error propagation),因此吾人提出一個系統,修改 由 3.1.1 所提出的架構,在傳送端及接收端都有一個資料流排序(stream ordering) 的動作,而使得第一根天線開始解的訊號是 SNR 最高的通道所傳送的訊號,系 統修改如圖 3-2 及圖 3-3 所示。在吾人所提出的系統中,在傳送端的排序是最 重要的部分,而在各頻率排序所需要的資訊便得從接收端傳送過來。. 圖 3-2 Pre-ordering 系統傳送方塊圖. 25.

(34) 圖 3-3 Pre-ordering 系統接收偵測及解碼方塊圖. 我們舉個簡單的例子來說明傳送端是如何做排序的。為了說明方便,我們將. FFT 的大小設定為 6,而傳送天線數為 3,如此一來整個要傳送的 MIMO-OFDM symbol 大小即是 18,我們將整個在 QAM 對映後的 MIMO-OFDM symbol S 編號 為:. ⎡ s1 s2 s3 ⎢ S = ⎢ s7 s8 s9 ⎢ s13 s14 s15 ⎣. s4 s10. s5 s11. s16. s17. s6 ⎤ ⎥ s12 ⎥ s18 ⎥⎦. 而假設在上個時間由接收端傳送回來的 SNR 順序可用一個矩陣 O 表示: ⎡1 1 2 1 1 2 ⎤ O = ⎢⎢ 2 2 1 3 2 3⎥⎥ ⎢⎣ 3 3 3 2 3 1⎥⎦ O 矩陣中,同一行代表同一天線而不同頻率,而同一列則代表同一頻率而不同天. 線,而 V-BLAST 則是同一頻率下做不同天線之間的干擾消除,在同一頻率下(同 一列)的數字(1、2 或是 3)代表著 SNR 的高低順序,〝1〞代表在這頻率下,這根 天線有著最高的 SNR,也就是希望在接收端時這根天線的訊號能最先解。則. pre-ordering 的動作便是將 S 根據 O 重新排序為 S ' : 26.

(35) ⎡ s1 s2 s9 ⎢ S ' = ⎢ s7 s8 s3 ⎢ s13 s14 s15 ⎣. s4 s16 s10. s5 s12 ⎤ ⎥ s11 s18 ⎥ s17 s6 ⎥⎦. 可以看出原本在 S 中打算給第一根天線傳送的 s1 , s2 … s6 在重新排序後的被放到 在 O 矩陣中數字為 1 的位置上去了,這代表著 s1 , s2 … s6 將會在不同頻率中,SNR 最高的天線上傳送。相對的在接收端時,便是將 S ' 再重新排回 S ,當然通道矩陣 也要有相對應的排列,而之後的動作便和 3.1.1 中描述的相同。如此一來,在圖 3-3 中最上面的那根天線所解的必是在不同頻率中,通道最好的訊號。而且這些訊號 是連續的,這樣一來訊號可以經過 Viterbi 解碼器後,再回授給偵測器而幫助. MIMO 偵測。值得注意的是,在使用這樣的方法時,我們需要通道狀況的資訊來 排序,所以如果通道狀況變化太快便使得上個時間點由接收端回傳的資訊不太準 確,這會使得效能降低。因此 Pre-ordering 演算法是較適用在通道變化較為緩和 的環境中。. 3.2 遞迴解碼(Iterative decoding) 一般而言, 「遞迴(iterative)」這個字代表著「渦輪(turbo)」 ,也就是藉由著傳遞各 個接收器的所有單元的外在資訊(extrinsic information),這接收器的所有處理單元 都是軟性輸入軟性輸出(soft input soft output),包括 Viterbi 解碼器。而方面的處 理技術[19][20]雖然效能很好,但運算複雜度卻非常高,這並不是本論文所要討 論的重點。相對的,在本論文中所描述的遞迴是指資料經過解碼器之後錯誤率降 低,進而將資料回授再去幫助 MIMO 偵測所產生之更好的 MIMO 偵測的軟性輸 出值,而有更好的效能表現。這裡的使用的解碼器是軟性輸入硬性輸出(soft input. hard output),如圖 3-4 所示。. 27.

(36) 圖 3-4 遞迴偵測及解碼方塊圖. 在圖 3-4 中,Vector QAM De-mapper 這處理單元中,做法可以有很多,舉例來 說,因為 V-BLAST 在解碼時,需要準確的估計值來消除它對其它根天線的干擾, 然而如果沒有經過編碼器而直接判斷(slice)的話,錯誤率會有太高會有錯誤延展 的可能,也使得 CSI 的計算變的複雜而困難,結果反而使用 V-BLAST 在結合. Viterbi 時效能表現反而不如 MMSE 好,因此,可以在第一次用 MMSE 先解出值 來,經過 Viterbi 之後再回來使用 V-BLAST 做 MIMO 偵測。另外有一種更簡單 而有效的方式,是第一次使用 MMSE 而回授時再使用最大比例結合(MRC)的方 式做偵測[21]。底下將介紹這演算法: 套用之前假設: vkn,i =CSI k,i × D( s% k ,i , n) , vkn,i 是指在第 i 個天線的第 k 個子載波 上第 n 個位元的機率值,而 s%k ,i 則是第 i 根天線第 k 個子載波上的將接收訊號 Y 等化過後的 QAM 訊號。我們將這演算法分成二部分,分別為初始階段及遞迴階 段,在二階段中,目的都是求出 Z k ,i ,再代入 (3-1)求出 vkn,i ,分述二階段如下:. I.. Initial Stage(MMSE Receiver): Z k(1),i = ( H kH H k +. 1. ρ. I ) −1 H kH Yk (3-3). II.. Iterative Stage(Maximal Ratio Combining with Interference Cancellation) Z. Z. (2) k ,1. (2) k ,2. =. hkH,1 hk ,1. =. 2. (Yk − hk ,2 sˆ(1) k ,2 ). 2. (Yk − hk ,1sˆ(1) k ,1 ). hkH,2 hk ,2. 28.

(37) (3-4) 在遞迴階段的演算法如圖 3-5 所示。在(3-3)及(3-4)中,便是列出如何求得在(3-1) 所需要的 Z k ,1 , sˆ(km,i ) 是代表由 Z k( m,1 ) 算出的 vk( m,i ) 再經過解碼器後重組回來的訊號,上 標 m 則是代表遞迴次數。這裡要強調的是不管在初始階段還是遞迴階段,我們 都使用由 MMSE 所算出來的 CSI,這和在[20]中所描述的傳統做法不同,它描述. CSI 應該要在根據前次的估計值是正確的假設下而更新。然而在我們模擬中卻是 在這樣的 CSI 有較好的效能改進。在假設前次的輸出值是正確的情況下,(3-4) 則等效於 1 根傳送天線 2 根接收天線所做的 MRC。嚴格上來說,我們應該使用 2. MRC 的 CSI, 即 CSI k ,i = hk ,i ,然而這個值總是比 MMSE 的 CSI 大,所以在決 策值有誤差的情況下,這可能使得雜訊放大,而讓效能表現不如預期。. 圖 3-5 簡化之遞迴軟性反對映方塊圖. 29.

(38) 3.3 模擬結果 在本節中,我們主要模擬 11n 提案中的 2 × 2 的基本模式,詳細的環境已在第二章 中說明,在這樣的環境下我們模擬第二章及第三章所提及的各種演算法。首先我 們先定義模擬用的通道,在每根傳送天線 i 跟每根接收天線 j 之間的通道可以模 擬為一個 FIR 濾波器,並且可以用序列 [...H ij ,l ...], l = 0, L, L 表示, L 代表最大 tap 數,且這些 taps 都是由獨立複數高斯隨機變數所產生。而每個 tap 可用表示如下:. H ij ,l = N (0, σ l2 ) + j ⋅ N (0, σ l2 ). σ l2 = σ 02 exp(−lTs / TRMS ) σ 02 = 1 − exp(−Ts / TRMS ). (3-5) 我們令 Ts = 50ns 且 TRMS = 150ns,且在模擬用的 SNR 是定義在接收到每個 OFDM 符碼後,計算出經過通道後的訊號能量加入在這 SNR 下該有的雜訊能量,因此 我們並沒有將通道正規化。 模擬的演算法主要分成 3 部分,第一部分主要在模擬比較 Soft MMSE 及. V-BLAST 演算法在上述的環境中的效能表現,而 CSI(channel state information) 便是影響 MMSE 及 V-BLAST 的效能最主要的因素,這部分的模擬結果包括了圖. 3-6 至圖 3-10。圖 3-6 比較了 2 種 MMSE 作法,包括了二種 Soft CSI 計算方式, 其中 SC 是代表單一編碼器的架構,這是相對於之後多編碼器架構的 MC。MMSE 的 CSI 計算方式是使用 2.3.2 所介紹,而在圖中 NO CSI MMSE 則是令 CSI 為 1 的情況。圖 3-7 是比較不同 CSI 計算方式對 V-BLAST 的效能表現,其中 CSI1 是在 V-BLAST 演算法中,假設前一級的決策是正確的情況下,使用一級一級降 低的通道矩陣所計算出來的 CSI,而 CSI2 則是直接使用第一級 MMSE 的計算出 來的 CSI,也就是使用演算法 MMSE 的 CSI。而 V-BLAST bound 則是指在演算 法中遞迴階段需要扣除前一級的決策時,我們使用完全正確的值來扣除,這提供 30.

(39) 了 Soft V-BLAST 演算法的界線。而圖 3-8 至圖 3-10 則綜合比較 MMSE 及 Soft. V-BLAST 在其它環境下的表現,共包括了不同的星狀圖及不同天線。從模擬結 果發現,MMSE 的效能明顯較 V-BLAST 好,這結果與一般的認知相反,這可能 是 Soft V-BLAST 在計算 CSI 上並不容易,而假設前一級的決策是正確的情況下, 所計算出來的 CSI1 效能又不如預期。而使用 CSI2 的 Soft V-BLAST 所表現出來 的效果又和單純使用 MMSE 差不多。. 圖 3-6 MMSE(64QAM). 31.

(40) 圖 3-7 V-BLAST (64QAM). 圖 3-8 comparison soft V-BLAST with MMSE (16QAM). 32.

(41) 圖 3-9 comparison soft V-BLAST with MMSE (64QAM). 圖 3-10. 3x3 comparison soft V-BLAST with MMSE (64QAM). 33.

(42) 第二部分的模擬則是模擬在 3.2 中所介紹的使遞迴的方來增加效能,遞迴的 演算法主要包括二個階段,第一階段是使用 MMSE,而第二階段便可使用 MRC. combining 及 soft V-BLAST 二種方法。這部分的模擬便是比較 MRC combining 及 V-BLAST 二種演算及各別使用 CSI1 及 CSI2 的情況。同樣的,CSI1 是指在第 二階段中,使用假設決策值是正確的情況下所算出來的 CSI,而 CSI2 則是使用. MMSE 的 CSI 也就是和第一階段 soft MMSE 使用同樣的 CSI。此部分的模擬結 果包括了圖 3-11 至圖 3-14。在圖 3-11 中 iterative bound 的曲線是指我們使用正 確的值來供演算法中第二階段使用。在這部分的模擬中,我們可以發現其實不管 是 MRC combining 或是 V-BLAST 對效能的改進都並不是非常明顯,這可能是 因為在吾人使用的通道環境下,使用 MMSE 演算法已經有相當好的效能,而使 得其它演算法並無法提供很大的幫助。. 圖 3-11 iterative MRC (16QAM). 34.

(43) 圖 3-12 iterative MRC (64QAM). 圖 3-13 iterative MRC V.S iterative V-BLAST (16QAM). 35.

(44) 圖 3-14 iterative MRC V.S iterative V-BLAST (64QAM). 最後第三部分則是模擬在 3.1 節中所介紹的二種結合 V-BLAST 及 Viterbi 的 偵測演算法。這部分的模擬和前二部分不同的地方是在傳送端使用多個迴旋編碼 器,也就是在每根傳送天線上都有各自己的編碼器,這使得可以接收便端同時使 用多個 Viterbi 解碼器幫助偵測,此部分的模擬結果包括了由圖 3-15 至圖 3-18。 圖 3-15 中 MC-NOR 的情況是指在第 3.1.1 節中所介紹在接收端偵測時是由第一 根天線依序往下偵測的演算法,CSI1 同樣是指假設前一級的決策是正確的情況 所算出來的 CSI,CSI2 則是指使用 MMSE 的 CSI。我們可以發現在. Pre-ordering(POR)的演算法中,效能表現明顯較其它的 Soft 演算法來的好,且使 用 CSI1 及 CSI2 幾乎沒有差別。. 36.

(45) 圖 3-15 NO ordering (64QAM). 圖 3-16 Pre-ordering v.s No ordering (16QAM). 37.

(46) 圖 3-17 Pre-ordering v.s In-ordering SIC for 64QAM. 38.

(47) 第4章硬體實現 4.1 設計流程 吾人使用電腦輔助工具來做模擬硬體實現,設計流程如圖 4-1 所示。設計流程主 要分成軟體及硬體二部分,軟體使用 Matlab 模擬而硬體模擬使用 Modelsim 及 ISE. 6 模擬。Matlab 模擬包括了浮點系統的模擬及定點(fixed-point)系統的模擬。浮點 系統的模擬可以檢查各函數的正確性和設定參數,也可以評估系統的效能。而定 點系統的模擬,用來決定各個訊號的所需要的表示位元數(word length)。各個信 號表示位元數確定以後,便進入硬體實現模擬。在硬體實現模擬中,吾人使用. VHDL 作為硬體描述語言做程式編寫,且使用 Modelsim 作硬體的行為模擬來驗 證 VHDL 程式碼的正確性,用 ISE 6 作為合成軟體。 硬體實現模擬流程中,首先使用硬體描述語言編輯(HDL Editor)模擬電路輸 入。將電路輸入後,接下來可做行為模擬(Beaver simulation),這可以快速的了解 所設計電路正確與否,並做修改更正。在這一步驟時,會參照由 Matlab 定點系 統模擬所產生的數據來幫助驗證函數功能正確。當硬體的行為模擬正確之後,便 使用合成軟體 ISE 6 加入 VirtexE xcv-2000e 的 library 將 VHDL 程式轉為. RTL(register transfer level),合成完之後,就可做時序模擬(Timing simulation),模 擬所設計電路在燒入 FPGA 晶片後,所造成的邏輯延遲及繞線延遲是否符合所 需,在此便完成了所有的硬體模擬。. 39.

(48) 圖 4-1 硬體實現流程圖. 4.2 組成元件介紹 吾人實作的接收機便如圖 4-2 所示,這是在 2.3.2 軟性輸入軟性輸出之MMSE 接收機那一節中所介紹的接收機的簡化版,主要實作元件包括了最小均方差估測. (MMSE)、軟性反對映(Soft demapping)、反交錯器(De-interleaver)及 Viterbi 解碼 器。這樣的模式是在 11n 提案中基本的模式(2 根接收天線、20MHZ、編碼率 1/2、. 64QAM),訊號流程大致和 2.3.2 中所推導的相同。底下則對這種情況下的訊號 處理及在為了實作上的需求而做的修改做詳細介紹。在 4.2 中的安排中,會先對 所要實作的接收機訊號流程做介紹,再分別介紹各元件如何實作。. 40.

(49) 圖 4-2 實作之接收器方塊圖. 4.2.1 接收機訊號流程 如同在 2.3.2 推導的,接收訊號在 2 × 2 的情況下可以表示為: Yk = ⎡⎣ h1, k. ⎡ s1,k ⎤ h2,k ⎤⎦ ⎢ ⎥ + N k ⎣ s2, k ⎦. (4-1) hi ,k 是 si ,k 的通道影響,也就是 H 的第 i 列。而 MMSE 的等化器則可以表示為 W = (H H k + H k. 2. ρ. −1. I) H. H k. ⎡ w1T ⎤ =⎢ T⎥ ⎣ w2 ⎦. (4-2). ρ 是 SNR:. ES ,則此等化過後的訊號即變成 Z k = WYk ,假設 wiT 是 W 的第 i 行,則 N0. 對第 i 根天線而言,等化後的訊號即可表示為: Z i , k = wiT hi ,k si , k + wiT h j ≠i , k s j ,k + wiT N k. (4-3) 我們假設 MMSE 等化效果很好,也就是假設 wiT hi ,k ≅ 1 ,且 wiT h j ≠i , k s j ,k ≅ 0 ,如此 我們便可以將(4-3)化簡為:. Z i , k = si , k + wiT N k { N eff. (4-4) 41.

(50) 如此一來, σ N2 eff = wi. 2. N 0 且 H eff = 1 ,由等化過後的在第 i 根天線下第 k 個子載. 波的 QAM symbol( Z i , k )要反對映到位元( vkn,i )時,代入(3-1): vkn,i =CSI k,i × D ( Z i ,k , n). (4-5) n 代表著第幾個位元,在吾人的實作中使用 64QAM,所以 n = 1L 6 。而 CSI 則. 可以代入其定義: CSI k ,i =. 2 ( H eff ) k ,i. σ eff. 2. 2. 2. = wi. 2. N0. (4-6) 而 D( Z i ,k , n) 在 64QAM 如同在 2.3 節中推導可表示成:. ⎧ ⎪ R{Zi ,k } ⎪- R{Zi ,k } +4 ⎪ ⎪⎪ - R{Z } -4 +2 i ,k D ( Z i ,k , n)= ⎨ ⎪ I {Zi ,k } ⎪ ⎪ - I {Zi ,k } +4 ⎪ ⎪⎩ - I {Zi ,k } -4 +2. n =1 n=2 n=3 n=4 n=5 n=6 (4-7). R{Z i ,k } 是指 Z i ,k 的實部,而 I {Z i ,k } 則是指 Z i ,k 的虛部。再來位元訊號經過反交錯 器及 Viterbi 解碼器後便完成了整個訊號處理。 我們整理上述的訊號處理流程,接收訊號首先會經過 MMSE 將混合在一起 的訊號分開二個獨立處理的資料流,因此必須利用(4-2)算出由在頻域的通道係數 所組成的 MMSE 等化矩陣,再來便是使用(4-6)算出由 MMSE 等化矩陣係數所組 成的 CSI。因此在吾人的實作中,圖 4-2 中的 MMSE 方塊,即是先算出由 52 組. (11n 提案中所定義的一個 OFDM symbol 中的資料個數) 2 × 2 頻域通道係數所組 成的 52 組 2 × 2 MMSE 等化器係數,及 52 組 2 ×1 的 CSI,然後將這 52 組等化器 係數及 CSI 放在 RAM 中等待之後的接收訊號使用。而圖 4-2 中的 Soft Demapping 42.

(51) 方塊便是接收由 MMSE 方塊算出的 CSI 及等化過後訊號再利用(4-5)及(4-7)算出 位元訊號 v 。最後再經過反交錯器及解碼器便完成了整個接收機了。我們將於. 4.2.2-4.2.4 中詳細介紹 MMSE 方塊、反交錯器及 Viterbi 解碼器是如何實作出來 的。. 4.2.2 最小均方差估測 我們令在第 k 個子載波上的通道矩陣係數 H k 為: ⎡ hk ,1 Hk = ⎢ ⎣ hk ,3. hk ,2 ⎤ hk ,4 ⎥⎦. (4-8) 因為底下的推導都是在同樣的子載波上,為了表示方便,我們令 hk ,m = hm ,則通 道矩陣可以改寫為: ⎡h Hk = ⎢ 1 ⎣ h3. 且令 α =. 2. ρ. h2 ⎤ h4 ⎥⎦. ,如此由(4-3),所要求的 MMSE 等化器的矩陣係數則可寫成:. ⎡ wT ⎤ W = ⎢ 1T ⎥ ⎣ w2 ⎦ = ( H kH H k + ⎛ ⎡ h1* =⎜⎢ * ⎜ h ⎝⎣ 2. 2. ρ. I ) −1 H kH. h3* ⎤ ⎡ h1 ⎥⎢ h4* ⎦ ⎣ h3. ⎛ h*h + h*h + α = ⎜ 1 1* 3 3* ⎝ h2 h1 + h4 h3. −1. h2 ⎤ ⎡1 0 ⎤ ⎞ ⎡ h1* +α ⎢ ⎥⎟ ⎢ * h4 ⎥⎦ ⎣0 1 ⎦ ⎟⎠ ⎣ h2 −1. h1*h2 + h3*h4 ⎞ ⎡ h1* ⎟ ⎢ h2*h2 + h4*h4 + α ⎠ ⎣ h2*. h3* ⎤ ⎥ h4* ⎦ h3* ⎤ ⎥ h4* ⎦ (4-9). −1. ⎡A B⎤ ⎡D 1 ⎢C D ⎥ = AD − BC ⎢ −C ⎣ ⎦ ⎣. −B⎤ A ⎥⎦ (4-10). 利用(4-10) 2 × 2 的反矩陣公式則(4-9)可改寫成(4-11)及(4-12) 43.

(52) ⎛ h* h + h* h + α W = ⎜ 1 1* 3 3* ⎝ h2 h1 + h4 h3. −1. h1*h2 + h3*h4 ⎞ ⎡ h1* ⎟ ⎢ h2*h2 + h4*h4 + α ⎠ ⎣ h2*. h3* ⎤ ⎥ h4* ⎦. −(h1*h2 + h3*h4 ) ⎤ ⎡ h1* ⎥⎢ h1*h1 + h3*h3 + α ⎦ ⎣ h2*. h3* ⎤ ⎥ h4* ⎦. =. * * 1 ⎡ h2 h2 + h4 h4 + α ⎢ g ⎣ −(h2*h1 + h4*h3 ). =. * * * * * * * * ⎡ h1* 1 ⎛ ⎡ h1 (h4 h4 ) − h4 (h2 h3 ) h3 (h2 h2 ) − h2 (h1 h4 ) ⎤ α + ⎜⎜ ⎢ * * ⎥ ⎢ * g ⎝ ⎣ h2 (h3 h3 ) − h3 (h4*h1* ) h4* (h1*h1 ) − h1 (h2*h3* ) ⎦ ⎣ h2. h3* ⎤ ⎞ ⎥⎟ h4* ⎦ ⎠⎟. (4-11) g = (h1*h1 )(h4*h4 ) + (h2*h2 )(h3*h3 ) − (h1*h4* )(h2 h3 ) − (h2*h3* )(h1h4 ) + α (h1*h1 + h2*h2 + h3*h3 + h4*h4 ) + α 2. (4-12) 然而在(4-11)中,W 要算出來需要四個複數除法,因此我們讓 MMSE 矩陣係數整 個放大 g 倍,而避免除法: ⎡ h1* (h4*h4 ) − h4 (h2*h3* ) h3* (h2*h2 ) − h2 (h1*h4* ) ⎤ ⎡ w '1T ⎤ ⎡ h1* +α ⎢ * W ' = ⎢ T ⎥ = gW = ⎢ * * * * * * * * ⎥ ⎣ w '2 ⎦ ⎣ h2 ⎣ h2 (h3 h3 ) − h3 (h4 h1 ) h4 (h1 h1 ) − h1 (h2 h3 ) ⎦. h3* ⎤ ⎥ h4* ⎦. (4-13) 使用 W ' 取代 W 會使得訊號經過 MMSE 等化過後放大 g 倍,然而我們發現之後的 軟性反對映中,由只需要修改(4-7)為(4-14)便不影響其機率值。. ⎧ R{Z } i ,k ⎪ ⎪ - R{Zi ,k } +4g ⎪ ⎪⎪- R{Z } -4g +2g i ,k D( Z i ,k , n)= ⎨ ⎪ I {Zi ,k } ⎪ ⎪ - I {Zi ,k } +4g ⎪ ⎪⎩ - I {Zi ,k } -4g +2g. n =1 n=2 n=3 n=4 n=5 n=6 (4-14). 由(4-13)算出放大的 MMSE 矩陣後,則第一根天線的 CSI1 及第一根天線的 CSI2 便可由(4-6)算出:. 44.

(53) CSI1 =. CSI 2 =. ( H eff )1. σ eff. 2. 2. =. 2. ( H eff ) 2. σ eff. 2. w '1. 2. N0. 2. 2. = w '2. 2. N0. 將 CSI 中的 2 及 N 0 正規化後,我們可以得最後 CSI 的計算方式:. CSI1 =. 1 w ' + w '12 2. CSI 2 =. 1 w ' + w '22 2. 2 11. 2 21. (4-15) ⎡w' 如果 W ' = ⎢ 11 ⎣ w '21. w '12 ⎤ 。 w '22 ⎥⎦. MMSE 方塊圖如圖 4-3 所示: 在 MMSE 這個方塊中,一開始由頻域上通道係數 計算 52 組的 W ' 、CSI 及 g 並將這些值存在 RAM 中,而之後資料訊號 Y 進來時 便從 RAM 中讀出 W ' 由 Z ' = W 'Y 做矩陣相乘而可得到 Z ' 。而 Z ' 便可進入軟 性反對映了。值得注意的是,MMSE 這樣子的計算複雜度實在太高,於是在實 現時吾人提高系統的時脈變為原來的四倍,共用乘法器而能有效減小面積。. 45.

(54) 圖 4-3 MMSE 結構方塊圖. 4.2.4 反交錯器 如同 2.4.2.3 中所描述,反交錯器是由(2-36)至(2-34)所定義的三次對調所組成。 假設在第一次對調之前資料的索引(index)為 r ,而在第一次對調之後第二次對調 之前的索引為 j , i 則為第二次對調及第三次對調之間的索引, k 是第三次對調 之後 QAM 的反對映之前的索引。三次對調如下所示:. (. ). j = r + ( ( 2 × iss ) mod 3 + 3 × floor(iss / 3) ) × N rot × N BPSC mod N CBPS ,. i = s × floor ( j / s ) + ( j + floor ( N column × j / N CBPS ) ) mod s ,. k = N column × i − ( N CBPS − 1) floor ( i / N row ) ,. r = 0,1,K , N CBPS − 1. j = 0,1,K , N CBPS − 1. i = 0,1,K , N CBPS − 1. 我們使用二塊 RAM 來完成上述的對調。然而在吾人的實作中,使用 64QAM 及. 2 根接收天線及 20MHZ 所以上述三次對調所需要的參數便可以決定為:. 46.

(55) N BPSC = 6 N CBPS = 52 × N BPSC = 312 s = max(. N BPSC ,1) = 3 2. N row = 13 N colmn = 4 × N BPSC = 24 N rot = 11 如此,我們便可以將二根天線個別經過三次對調的索引值存在 ROM 中,當作所 使用的 RAM 的位址。如圖 4-4 所示。. 圖 4-4 反交錯器結構方塊圖. 47.

(56) 4.2.5 Viterbi 解碼器 在吾人的實作當中,吾人選擇了 Viterbi 演算法當作在 802.11n 中所使用的迴旋編 碼器的解碼器。一般而言,為了達到模組化及管線式處理,可以將解碼器的電路 分成四個主要的處理單元,如圖 4-5 所示。其中包括:分支計量值單元. BMU(Branch Metric Unit ;BMU)、相加-比較-選擇單元(add-Compare-Select Unit ; ACSU)、路徑計量值記憶單元(Path Metric Memory Unit ; PMMU)及存活路徑記憶 單元(Survivor Memory Unit ; SMU)。各單元的功能簡述如下:. I.. 分支計量值單元(BMU):根據所收到的值計算在格狀圖(trellis)每一級的分支 計量值。. II.. 相加-比較-選擇單元(ACSU):對每個狀態執行相加-比較-選擇運算,用來計算 所有狀態的存活計量值和產生決策位元(或存活路徑). III. 路徑計量值記憶單元(PMMU):用來儲存存活計量值,以供下一級在 ACSU 中計算路徑計量值及存活計量值。. IV. 存活計憶單元(SMU):負責記錄 ACSU 所產生的決定位元,並找出存活路徑 中最早時間點的位元,而當作解碼輸出。. 圖 4-5 Viterbi 解碼器方塊圖 在本節的安排中,我們將先對 Viterbi 的原理做介紹,再將上述的四個單元一一 做較詳細的介紹。. 48.

(57) 4.2.5.1 Viterbi 演算法 Viterbi 演算法是在 1967 年由 Viterbi 所提出來的[23]來對迴旋碼進行解碼 的,近年來,Viterbi 演算法則有非常廣泛的應用,例如數位通訊系統、語音辨識 等。此演算法為最大近似解碼(Maximum Likelihood Decoding ; MLD),簡單地說 便是依據接收訊號來尋找在格狀圖上所有可能的路徑,最後選擇一條最短路徑來 當作最佳解碼路徑。演算法中包括了計算各個路徑與所收到訊號之間的相似度, 並且去除掉一些不可能成為最佳選擇的路徑。當幾個路徑進入同一狀態時,在這 幾個路徑之間的其中一個會因有「適當」的計量值(metric)而被選擇,而這被選 擇的路徑也就是存活路徑(survivor path)。所謂的「適當」則要根據計量值的定義。 在格狀圖中的所有狀態都要進行這樣的存活路徑選擇。在接下來的時間也是根據 這樣的法則來去除不可能的路徑,如此,在收集到一定長度的訊號後便可以將解 碼位元輸出了。底下我們用一個例子來說明這演算法。 為了描述 Viterbi 演算法是如何動作之前,我必需先定義出格狀圖,這是根 據編碼器而產生的。如圖 4-6 所示,我們用一個簡單的(n,k,m)=(2,1,2)的迴旋碼 編碼器來舉例說明,它由 2 個移位暫存器,2 個模 2(Modulo-2)加法器所組成, 而模 2(Modulo-2)的加法器可以由 XOR 閘來實現。迴旋碼編碼器基本上是一個有 限狀態機(Finite state Machines),我們可以用狀態圖來描述其輸入輸出的關係, 由之編碼器可以建立如圖 4-7 所示的狀態圖。其中每一狀態點為編碼器內暫存器 之值,輸入與輸出位元則表為 v (1) v (2) / u 。通常我們會將這狀態圖轉成格狀圖來說 明,因為對於時間與狀態之間的轉換有較好的表達能力。如圖 4-8 所示,實線代 表輸入 0,虛線代表輸入 1。對圖 4-8 來說,因為編碼器有二個移位暫位器,所 以共會有 4 個狀態,分別為 S0(0,0),S1(1,0),S2(0,1),S3(1,1),每一個狀態有 2 條路徑指向下一個狀態,一條為當輸入位元 0 時,另一條則是輸入位元為 1 時。. 49.

(58) 圖 4-6 (2,1,2)之迴旋碼編碼器. 圖 4-7 (2,1,2)迴旋碼編碼器之狀態圖. 圖 4-8 (2,1,2) 迴旋碼編碼器之格狀圖. 為了說明方便,我們使用 Hard Decision 的 Viterbi 來說明 Viterbi 是如何運作的, 然而在吾人的實作中是使用 Soft Decision 的 Viterbi,而二者的差別只需將底下所 使用的漢明距離改為歐幾里德(Euclidean)距離即可。在說明 Viterbi 演算法之前, 我們先定義一些名詞: z. 碼句(code word) Cw(i, j ) :由狀態 Si 轉移到狀態 S j 所對應的編碼器輸 出。. z. 分支計量值(Branch metric) Bm(i, j , t ) :在時間 t ,接收到的訊號( r (t ) )和 碼句之間的相似度(Likelihood),可用漢明距離表示。. z. 路徑計量值(Path metric) Pm(i, j, t ) :在時間 t ,接收到的碼和由狀態 Si 轉 50.

(59) 移到狀態 S j 之間的相似度。 z. 存活計量值(Survivor metric) Sm( j , t ) :在時間 t ,進入狀態 S j 的最小路徑 計量值。. Cw(i, j ) 、 Bm(i, j , t ) 、 Pm(i, j , t ) 、 Sm( j , t ) 之間可表示如下: Bm(i, j , t ) = Cw(i, j ) **r (t ) Pm(i, j , t ) = Bm(i, j , t ) + Sm( j , t − 1). (4-16). where ** is hamming distance calculation 假設有一全零資料序列 u =(0000000),經過編碼後,我們可以得到編碼後的輸出 序列為 v =(00,00,00,00,00,00,00),而 v 序列在經過通道的輸輸過程中受到雜訊的 干擾,使得第 1 及第 3 位元由 0 變成 1,而解碼器所收到的序列為. (10,00,00,00,10,00,00),經由以下的 Viterbi 演算法,可求得解碼之結果為 uˆ =(0000000)= u 。. I.. 如圖 4-9 所示,在 t = 0 時,從狀態 S0 開始,其存活計量值為 0。若輸入 0, 則路徑向上,在 t = 1 時,狀態 S0 輸出 00。若輸入 1,則路徑向下,在 t = 1 時,狀態點 S1 ,輸出為 11。若輸出位元與 r 之所對應的位元相同時,則我 們給此位元之計量值為 0,反之為 1。因此,我們可以算出分支計量值. Bm(0, 0,1) = 1 及 Bm(0,1,1) = 1。因為在 t = 1 時,每一狀態只有一條路徑進入, 所以存活計量值 Sm(0,1) = 1 、 Sm(1,1) = 1 。. 51.

(60) 圖 4-9 Viterbi 演算法步驟 I. II.. 重覆 I。如圖 4-10 所示,在 t = 3 時,每一狀態都有二條路徑進入,我們選 擇路徑較小的為存活計量值,此一路徑稱為存活路徑,同時把另一較大的路 徑刪除。若兩路徑計量值相同時,則任取一條路徑為存活路徑。因此, S0 、. S0 、 S0 、 S3 的存活計量值 Sm(0,3) 、 Sm(1,3) 、 Sm(2,3) 、 Sm(3,3) 分別為 1、 2、3、3。. 圖 4-10 Viterbi 演算法步驟 II 重覆 II,經過時間 t = 4 ~ 7。如. III. 圖 4-11 所示,在最後 t = 7 時,我們挑選有存活計量值的狀態所走的路徑為 52.

(61) 存活路徑,由存活路徑,也就是在圖中線條較粗者的,得到解碼之結果為 uˆ =(0000000)= u ,在此路徑中,實線為 0 而虛線為 1。. 圖 4-11 Viterbi 演算法步驟 III. 最後 Vitebi 演算法總結如下:. I.. 從單元時間 t=1 開始,計算進入每一狀態之單一路踁的路徑計量值(path. metric) Pm(i, j , t ) ,並記錄每一狀態之存活路徑和存活計量值(survivor metric) Sm(i, j , t ) 。 II.. t 增加 1,對於每一個狀態中,比較進入此狀態的路徑,且將含有最小路徑 計量值的路徑和其值記錄起來,而這個記錄起來的計量值便是存活計量值, 而其它路徑便給予刪除。. III. 如果 t<L+m,則重覆步驟 2,否則停止。其中 L 為資料的長度,m 為編碼器 中移位暫存器的個數。最後,比較在所有狀態的存活路徑計量值,有最小計 量值的存活路徑便可以當作解碼路徑。. 在 Viterbi 演算法中,我們必須將所有狀態及其對應的存活路徑儲存起來, 若路徑很長(也就是訊號序列長),則需要一個很大的記憶體。因此,我們必須在 53.

(62) 路徑到達一定長度時加以截斷。當我們要截斷最前面的路徑時,必須要將其資料 取出(解碼)。一般而言,若路徑之截斷長度(也就是被截斷存活路徑的長度)為 5.8m 時,不管任何一種路徑取出資料,所增加的解碼錯誤率是可以忽略的,也就是說, 其最後面的一個分支都會重合成一條,如圖 4-12 所示。. 圖 4-12 Viterbi 演算法之截斷長度示意圖. 4.2.5.2 分支計量值單元 分支計量值單元(BMU),是根據所收到的值計算在格狀圖(trellis)每一級的分支計 量值,也就是在計算在格狀圖上任二個節點之間的計量值。舉例說明,在 圖 4-11 中,由節點 S1 走到節點 S2 的路徑是 01,所以假設我們收到的訊號是. r(t)=01,則此二節點的計量值便是 0,如果 r(t)=11,則此二節點的計量值便是 1。 而在這個單元中的目的便是要計算出任二節點之間的計量值,而在 圖 4-11 中,任二節點之間的路徑只有 00、01、10、11 四種,所以只要計算 所收到的訊號跟 00、01、10、11 之間的距離,而任二個節點之間的計量值,便 是這四個值的其中一個。在 VLSI 中,BMU 主要有二個實現的架構: (1)由記憶體 產生,也就是說 BMU 是以查表的方式由 ROM 或 RAM 實現,而節省硬體面積。. (2)由運算單元產生,將接收訊號直接運算出在格狀圖中所需的計量值,而這種 方法的硬體複雜度則根據計量值的定義。在吾人的實作中是以絕對值,做為計算 計量值的方法,且採用(2)由運算單元產生計量值的架構。圖 4-13 便是吾人使用 的 BMU 架構。. 54.

(63) 圖 4-13 BMG 方塊圖. 4.2.5.3 相加-比較-選擇單元(ACSU) ACSU 是整個 Viterbi 解碼器的核心,在高速傳輸的應用中(如 WLAN),平行 架構的 ACSU 則是必要的,因此在格狀圖的每一節點,便代表著一個 ACS 處理 單元。 圖 4-14 為 ACSU 架構的例子,這是在 4.2.5.1 中所用使(2,1,2)的架構。這. ACS 處理單元有四個輸入(2 個分支計量值及 2 個存活計量值)和 2 個輸出(下一級 的存活計量值及決定位元)。我們先由格狀圖畫分出有幾個蝴蝶模組,且決定各 蝴蝶模組的輸入輸出關係,而一個蝴蝶模組是由二個 ACS 所組成。在 ACS 中, 其主要功能有二:. 1.. 在路徑計量值中選擇最小的當作存活路徑值,並儲存之。. 2.. 產生存活路徑之決定位元,並送至存活路徑記憶單元(SMU)。 決定位元是在 ACS 中所產生最重要的資訊。它暗示了下一級的存活計量值. 是由哪一組存活計量值及分支計量值之和所產生的。假設決定位元為 0,代表著 在 ACS 中上面那條是被選擇為下一級的存活路徑。反之決定位元為 1 的話,存 活路徑便是挑下面那條。代表著所有節點的 ACS 所產生的決定位元,將會被送 55.

(64) 到 SMU 中做解碼而產生出最後的輸出。 然而在吾人的實作中,是使用 6 個移位暫存器的編碼器,這代表了格狀圖會 有 64 個狀態節點,便有 32 個蝴蝶模組、64 個 ACS,蝴蝶模組的目的為指示 ACS 應該抓取怎樣的路徑計量值及分支計量值,其架構如圖 4-15 所示。. 圖 4-14 ACS 設計流程圖. 56.

參考文獻

相關文件

最後特別提出說明,本研究用戶端作業系統為 Win 2000 Professional,伺服 器端作業系統為 Windows 2000 Server 並啟動 Active Directory

真實案例 4 阿維奧爾公司 善用 真實案例 4:阿維奧爾公司:善用 資訊科技,從失敗中再創生機. ¾你覺得為什麼阿維奧爾在導入 ERP

住友商事株式會社與挪威的 Tomra 系統公司所屬的合資子公司 Tomra(日本)公 司啟動了一個回收中心系統,用於回收 PET 瓶和廢紙,該系統安裝在東京 Machida-shi 福得旺超市的

由於醫療業導入 ISO 9000 品保系統的「資歷」相當資淺,僅有 三年多的年資 11 ,因此,對於 ISO 9000 品保系統應用於醫療業之相關 研究實在少之又少,本研究嘗試以通過

傳統的 RF front-end 常定義在高頻無線通訊的接收端電路,例如類比 式 AM/FM 通訊、微波通訊等。射頻(Radio frequency,

圖 2.31 Piercentransit 系統輸出畫面 (十一)Washington Metropolitan Area Transit Authority(UW2).

我們分別以兩種不同作法來進行模擬,再將模擬結果分別以圖 3.11 與圖 3.12 來 表示,其中,圖 3.11 之模擬結果是按照 IEEE 802.11a 中正交分頻多工符碼(OFDM symbol)的安排,以

針對 WPAN 802.15.3 系統之適應性柵狀碼調變/解調,我們以此 DSP/FPGA 硬體實現與模擬測試平台進行效能模擬、以及硬體電路設計、實現與測試,其測 試平台如圖 5.1、圖