• 沒有找到結果。

馬可夫鏈-蒙地卡羅方法應用於多輸入多輸出系統進行資料偵測之研究

N/A
N/A
Protected

Academic year: 2021

Share "馬可夫鏈-蒙地卡羅方法應用於多輸入多輸出系統進行資料偵測之研究"

Copied!
54
0
0

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

全文

(1)

國 立 交 通 大 學

電信工程學系碩士班

碩士論文

馬可夫鏈-蒙地卡羅方法應用於多輸入多輸出系統進行資料

偵測之研究

A Study on applying

Markov Chain Monte Carlo Method for Data Detection in

MIMO systems

研究生:余建勳

指導教授:黃家齊

博士

(2)

馬可夫鏈

-蒙地卡羅方法應用於多輸入多輸出系統進行資料

偵測之研究

A Study on applying

Markov Chain Monte Carlo Method for Data Detection in

MIMO systems

研 究 生:余建勳 Student:Chien-Hsun Yu

指導教授:黃家齊 Advisor:Dr. Chia-Chi Huang

國 立 交 通 大 學

電 信 工 程 學 系 碩 士 班 碩 士 論 文

A Thesis

Submitted to Department of Communication Engineering

College of Electrical and Computer Engineering

National Chiao Tung University

In Partial Fulfillment of the Requirements

for the Degree of

Mater of Science

in Communication Engineering

July 2007

Hsinchu, Taiwan , Republic of China

(3)

馬可夫鏈

-蒙地卡羅方法應用於多輸入多輸出系統進行資料

偵測之研究

學生:余建勳

指導教授:黃家齊

國立交通大學電工程學系

碩士班

在現代的通訊系統中,由於所需要的傳輸速率越來高,

因此有許多高階的調變方法,例如

16QAM,64QAM 等方法

都被應用到現有以 MIMO 為基本架構的通信系統上,如此可

以再不改變系統架構的情況下提升資料傳輸的速度。然而當

調變越來越複雜,原本的接收方法便會顯得過於複雜,因此

我們需要找尋新的接收方式來進行資料的接收。馬可夫鏈-蒙地卡羅方法利用簡單的統計學原理,來進行資料的解調,

以達到降低複雜度的目的。同時再搭配一個簡單的軟式解碼

器,利用遞迴地傳遞軟資訊,可以更改善其錯誤率的表現。

(4)

A Study on applying

Markov Chain Monte Carlo Method for Data Detection in

MIMO systems

Student:Chien-Hsun Yu

Advisor:Dr. Chia-Chi Huang

Department of Communication Engineering

National Chiao Tung University

ABSTRACT

In modern communication systems, in order to achieve higher bit rate,

more complex modulation methods such as 16QAM, 64QAM, are

applied to an MIMO based wireless communication system. As a result,

the complexity of the receiver becomes higher than usual. Markov Chain

Monte Carlo methods are very simple and thus provides a very efficient

scheme for data detection . The complexity of the algorithm grows

linearly either with the number of the antenna or the complexity of the

modulation scheme. If we apply the soft-in soft-out decoder after the

MCMC detector, the performance can be comparable with other good yet

more complex receiver schemes.

(5)

誌謝

感謝黃家齊教授兩年的指導,並在碩士論文上提供許多

的建議與觀念,使這一篇論文的完成更加的順利與完整。此

外,更感謝老師介紹耶穌給我認識,讓我在低潮的時候有力

量,失意的時候不沮喪,我知道這些考驗是神賜給我的磨

難,他希望我更堅強。

這一篇論文的完成要特別感謝古孟霖,黃朝旺,邱麟

凱,以及鄭有財等四位學長。學長們在這兩年來不辭辛苦的

解答我的問題與疑惑,並且提供許多論文的方向與提點我應

該注意的細節,更重要的是讓我了解此研究在通訊領域上相

關的應用與發展方向。

感謝這兩年一同患難的實驗室同學陸裕威、陳文娟、李

思潔,沒有他們幫忙分享生活及研究上的壓力,我也沒有辦

法調適好自己的身心,可以每天面對研究的挑戰。

最後,感謝我的父母及家人,在我心灰意冷時,總是給

我最堅強的支持。

(6)

摘要……….………..ii Abstract……….. iii 致謝………...v 圖目錄………..vii 表目錄……….viii 第一章 多輸入多輸出系統簡介………..1 第二章 馬可夫鏈-蒙地卡羅方法 ...4 2.1 蒙地卡羅積分 ...4 2.2 權重取樣 ...6 2.3 馬可夫鏈 ...6 2.4 Metropolis-Hastings Algorithm...8

2.5 The Gibbs Sampler ...10

第三章 軟式輸出維特比解碼理論(SOVA) ...13

3.1 迴旋碼(Convolutional Code)...13

3.2 維特比理論(Viterbi Algorithm)...15

3.3 軟式輸出維特比理論(Soft Output Viterbi Algorithm)...17

第四章 球狀解碼 ...22

4.1 球狀解碼 ...22

4.2 複數球狀解碼...26

4.3 表列式球狀解碼(List Sphere Decoding)...28

第五章 渦輪式解碼器(Turbo Decoder) ...30 5.1 使用馬可夫鏈-蒙地卡羅方法的渦輪式解碼器 ...30 5.2 使用表列式球狀解碼之渦輪式解碼器 ...33 第六章 模擬結果 ...36 6.1 模擬環境與參數 ...36 6.2 模擬結果與討論 ...37 6.2.1 無編碼之傳送效能 ...37 6.2.2 有編碼之傳送效能 ...39 第七章 結論與未來方向 ...44 參考文獻...45

(7)

圖目錄

圖1 多輸入多輸出系統架構圖...1 圖2 1 傳 1 收與 4 傳 4 收通道容量比較圖 [摘自 reference 16] ...2 圖 3 一個渦輪式解碼系統示意圖...3 圖 4 具不可化簡性的馬可夫鏈...7 圖 5 馬可夫鏈的取樣變化過程...9 圖6 取樣點數 500 點的機率分佈圖,其中α=2,β = ,n=16,sample 4 size=500 ...11 圖 7 一個(5,7)的迴旋碼編碼器...14 圖 8 (5,7)摺積碼之格狀圖...15 圖 9 格狀圖某一區間放大圖...16 圖10 SOVA 示意圖 ...19 圖 11 球狀解碼示意圖 [摘錄自 reference 15] ...23 圖 12 一個可能的樹狀圖結構 [摘錄自 reference 15] ...26 圖 13 8PSK 複數信號搜尋半徑[摘錄自 reference 17] ...27 圖 14 16QAM 複數信號搜尋半徑圖[摘錄自 reference 17]...28 圖 15 表列式球狀解碼與傳統球狀解碼之半徑比較圖...29 圖 16 渦輪式解碼器示意圖 [摘錄自 reference5] ...30 圖17 軟式球狀解碼的系統架構圖[摘自 reference 9] ...34 圖18 沒有錯誤更正碼的馬可夫鏈-蒙地卡羅方法與其他系統的比較 ..38 圖19 8 根傳送天線,4 根接收天線之效能圖...39 圖20 4 根傳送天線,4 根接收天線的系統效能圖...40 圖21 4 傳 4 收系統下,各種方式的錯誤率比較(BPSK)...41 圖22 4 傳 4 收系統下,各種方式的錯誤率比較(16QAM)...42 圖23 4 傳 4 收系統下,各種方式的錯誤率比較(64QAM)...43

(8)

表目錄

表格 1 迴旋積分碼編碼器輸入輸出關係圖...14 表格 2 傳送10 個位元的運算複雜度比較表...38 4 表格 3 傳送10240個位元的運算複雜度比較表(BPSK) ...41 表格 4 傳送10240個位元的運算複雜度比較表(16QAM)...42 表格 5 傳送10240個位元的運算複雜度比較表(64QAM)...43

(9)

第一章

多輸入多輸出系統簡介

為了追求更高的資料傳輸速率,現代的通訊系統多採用了多輸入多輸出 (Multi input Multi Output)的系統架構,即在傳送及接收端都有複數根天線來執行 傳送與接收的工作。下圖即為一多輸入多輸出之系統架構示意圖。 . 圖 1 多輸入多輸出系統架構圖 接下來我們將探討多輸入多輸出系統架構的系統模型(System Model)。一般 而言,我們假設傳送與接收間的關係如下式 1 1 1 r r t t r N× = N×N N× + N× Y H X n 其中N 為傳送端天線的數目,t N 為接收端天線的數目。r X 為我們所送的資料矩 陣,Y 則為經過通道所接收到的訊息。 H 代表通道矩陣,其中的元素h 代表由i j, 傳送端的第 i 根天線到接收端的第 j 根天線所經過的通道,通常是一個複數高斯 隨機變數。 使用多根天線來進行傳輸有什麼好處呢?首先得到的好處就是空間上的多 工(Spatial Multiplexing),以及多樣性(Diversity)。因每個通道都是彼此獨立的,因 此相同的信號會經過不同衰減(Fading)的通道而抵達接收端,只要在接收端所收 到的訊號當中有一個是經過訊雜比(Signal to Noise Ratio)較佳的通道,則我們可以 順利地得到我們當初所傳送的信號。此外,由消息理論我們可以知道,一個通道 的通道容量(Channel Capacity)是由下式決定

(10)

† 2

{log [det( )]} min{ , }

H R T R C E n n n ρ = I+ HH ∝ 其中,ρ代表通道的訊雜比,n 指的是接收端的天線個數。且由上式可以看出R 通道容量是正比於傳送與接收的天線個數的。 圖2 1 傳 1 收與 4 傳 4 收通道容量比較圖 [摘自 reference 16] 一般而言,常見於多輸入多輸出系統解調的有如下幾種方法:ML、ZF、 VBLAST+OSIC 等,以下就一一的來做介紹。最大概似法(Maximum Likelihood, ML) 是一種暴力式的搜尋法,此方法須將所有可能的解代入判別式中,並一一計算其 概似函數(Likelihood function)的大小,而概似函數其值最大者即為最有可能的 解。以前面的系統架構為例,最有可能的解x 為符合判別式 arg min ∈Λ − x y Hx 其中Λ 為所有可能解所形成之集合。Zero Forcing(ZF)方法則是簡單地利用矩陣的 數學特性將通道矩陣之假反矩陣(Pseudo Inverse)乘上所收到的信號y ,以去除信 號間彼此的干擾,即 † 1 ( )− = ^ x H H H y 其中x 為所預估的信號,† 則代表對一矩陣做共軛加轉置的運算。ZF 的缺點在於^

(11)

其會將所收到的雜訊放大,造成錯誤率的增加。而 VBLAST+OSIC 則是先找出通 道訊雜比最佳的那一個訊號來求解,完成後再將其由所收到的信號中扣除,以降 低不同資料信號間的影響。以前面的例子為例,我們以通道矩陣H 中行向量的絕 對值最大者當作第一個解調的資料信號,因其通道的訊雜比最佳,錯誤機率相對 較低。其缺點在於若前面的信號出現錯誤,則連帶地會影響後面信號的解調,造 成一連串的錯誤(Burst Error)。 當我們在解碼的同時,若是能夠針對每個位元求其軟式資訊(Soft Information),並且重複利用這些資訊以增進解碼效率的解碼器,稱為渦輪式解碼 器(Turbo Decoder),其架構如下圖所示 圖 3 一個渦輪式解碼系統示意圖 前面一級我們稱為多使用者偵測(Multi-User Detector),其目的在於分別求出 每一個位元的軟式資訊。此資訊可以提供較接收訊號y 更為可靠的資訊給後面一 級的軟式錯誤更正碼解碼器,並利用錯誤更正碼的能力將前一級尚未更正的錯誤 給更正回來。而錯誤更正碼所輸出的軟式資訊也可以視為第一級每個位元的事前 機率。這也是為何渦輪式解碼器可以改善錯誤率表現的原因。 在本篇論文中,在多使用者偵測這一級我們使用兩種方法,分別為馬可夫鏈 -蒙地卡羅法以及表列式球狀解碼法,並分別在第二章及第四章說明之;在錯誤 更正碼這個部分使用的是軟式維特比演算法(Soft Output Viterbi Algorithm),我們 將在第三章中做說明;第五章則針對渦輪式解碼器的運作模式做一個詳細的解 說,包括在前後兩級間,軟式資訊是如何互相傳送。第六章則是模擬的結果,可 以觀察在同樣的錯誤率表現下,馬可夫鏈-蒙地卡羅方法的複雜度可以降低多少。

(12)

第二章

馬可夫鏈-蒙地卡羅方法

貝氏估計(Bayesian approach)是一種常使用的資料偵測方法,其主要限制在

於如何求出後驗機率( posterior probability),通常後驗機率都需要經過高維度的積 分才能求出,而這樣的計算通常對於現有的硬體而言過於複雜,也因此有許多計 算高維度積分的方法被提了出來,在此我們專注於探討馬可夫鏈-蒙地卡羅 (Markov Chain Monte Carlo, MCMC) 方法。其主要概念為針對某個複雜的機率分佈

( ) f x 來做取樣,藉由建立一個馬可夫鏈,其平衡機率分佈(Equilibrium Distribution) 亦為 f x 。MCMC 方法中的其中一種演算法為 Metropolis-Hasting 演算法,此法( ) 在一開始的時候被物理學家用於計算複雜的積分,像是一些熱力學的問題。在 1990, Gelfand 與 Smith 提出了一個可以很容易的實踐 MCMC 的方法[4],稱為 Gibbs sampler, 並且在之後被廣泛的運用在各種貝氏機率的問題上。 2.1 蒙地卡羅積分 最原始的蒙地卡羅方法是用來計算複雜的積分,舉例來說,我們希望計算一 個積分如下 ( ) b a h x dx

(2.1) 如果我們可以將 ( )h x 分解成一個函數 ( )f x 與一個機率密度函數(probability

density function) ( )p x , ( )p x 被定義在區間[a,b]中,則由式(2.1)可推得

( ) ( ) ( ) ( ) [ ( )] b b p x a a h x dx= f x p x dx=E f x

(2.2) 由上式可知積分可以被表示成對 f x 取期望值,而每一個變數( ) x的機率密度函數 都是p x 。換句話說,如果我們用 ( )( ) p x 產生一組取樣點,由蒙地卡羅模擬可以 得到

(13)

( ) 1 1 ( ) [ ( )] ( ) b n p x i i a h x dx E f x f x n = = ≅

(2.3)

式(2.3)亦被稱為蒙地卡羅積分( Monte Carlo Integration )。

蒙地卡羅積分可以被用來近似貝氏分析所需要的後驗機率或是邊際機率 ( marginal posterior)分佈。考慮一個積分 ( )I y =

f y x p x dx( | ) ( ) ,則我們可以近似 其為^ 1 1 ( ) n ( | )i i I y f y x n = =

x 為 ( )i p x 的取樣點。另外一個由取樣點來求原始函數 值的例子是我們可以利用取樣來求出圓周率π 值,過程如下。 Ex: 如下圖為一個半徑為1的圓,正方形的部分為我們的取樣空間 接下來我們任意產生取樣點,並且記錄取樣點落在圓內與落在圓外到方型間的點 數比,可以得到如下的結果: 10 6 0.6 2.4 100 0.89 3.56 1000 750 0.75 3 π π π π π π ⇒ = = ⇒ = = ⇒ = = 產生 個取樣點,落在圓內的有 個 4 產生 個取樣點,落在圓內的有89個 4 產生 個取樣點,落在圓內的有 個 4 由上面的例子可以得到一個結論,即觀察的取樣點越多,越接近原始的函數表現。

(14)

2.2 權重取樣 由2.1 節我們已經知道積分可以用蒙地卡羅積分來近似,然而,並不是每一 個機率分佈p x 都是適合取樣的。因此,我們可以假設一個很容易取樣的機率( ) 分佈 q(x),並且由下式可以得知 ( ) 1 ( ) ( ) 1 ( ) ( ) ( ) ( )( ) ( ) [ ( ) ] ( ) ( ) ( ) ( ) n i q x i i i p x p x p x f x p x dx f x q x dx E f x f x q x q x n = q x = = ≅

(2.4) i x 是由q(x)所產生的取樣點。另外一種表示方式為 1 1 ( ) ( ) ( ) ( ) ( ), ( ) ( ) n i i i p x f x q x dx f x w x w x n = q x

=

被稱作每個取樣點的權重。而 這樣的積分方法我們稱之為權重取樣( Importance Sampling )。 2.3 馬可夫鏈 在介紹Metropolis-Hastings演算法與Gibbs sampler之前,先介紹一下馬可夫鏈 的定義及其性質。定義X 代表在時間 t 變數t x的值(state),所有變數x的可能值則

形成一個集合,稱之為值域(state space)。欲描述一個馬可夫鏈( Markov Chain)可 以用其轉移機率(transition probabilities)來加以描述,列式如下 Pr(Xt+1=st+1|X0 =s Xo, 1 =s1,...,Xt =st) Pr(= Xt+1=st+1|Xt =st) (2.5) 換句話說,馬克夫程序中的所有變數x,都只與所有變數x的可能值其前一 個時間的值有關。如果一個序列中的每一個元素(X0,...,Xn)都符合馬可夫程序 之性質,則此序列可稱之為馬可夫鏈。定義轉移機率P i j( , )=P i( → j),表示一 個馬可夫鏈由值s 跳到i s 的機率,以式子來表示即為j 1 ( , ) ( ) Pr( t j| t i) P i j =P ij = X+ =s X =s 。我們以πj( ) Pr(t = Xt =sj)來代表一個馬 可夫鏈在時間t 時其值為 j 的機率, ( )π t 代表在時間t 時所有值域中值的機率所 形成的集合。以π(0)代表一開始每個值的機率,通常假設為等機率。在時間t + 1 的時候,值s 的機率可以用Chapman-Kolomogrov equation來得到,如下所示: i

(15)

1 1 ( 1) Pr( ) Pr( | ) Pr( ) = ( ) ( ) ( , ) ( ) i t i t i t k t k k k k k k t X s X s X s X s P k i t P k i t π π π + + + = = = = = ⋅ = → ⋅ = ⋅

(2.6) Chapman-Kolomogrov equation描述了馬可夫鏈隨著時間的變化,也因此我們可以 將其寫成矩陣的形式來分析。定義機率轉移矩陣( probability transition matrix ) P ,其第i 列第 j 行的元素P(i, j)代表了由值 i 到值 j 的機率,則 Chapman-Kolomogrov equation可以寫成 (π t+ =1) π( )t P 。 為了描述一些馬可夫鍊的重要性質,我們先定義由值i經過n次轉換到值j的 轉移機率 ( )n ij p ,換句話說, ( )n ij pP 的第i列第j行的元素,即n ( )n Pr( | ) ij t n j t i p = X+ =s X =s 。第一個性質是不可化簡性( irreducible ),意謂著所有的 值都是可能出現的,其出現機率大於零,即 ( ,) , 0 , i j n i j p > for all i j。如圖4所示。 圖 4 具不可化簡性的馬可夫鏈 另外一個性質是非週期性,意謂著由值i到值j 所經過的轉換次數不會是某 個數的整數倍。換句話說,當一個馬可夫鏈達到穩定的時候,代表每個值出現 的機率不會再有所變動。我們以π*來表示當馬可夫鏈達穩定時所有值的機率, 並且很明顯地π*與由哪個值開始無關,則平衡可以式子π*= P 表示。要達成π* 平衡的必要條件是此馬可夫鏈必須要是非週期並且不可化簡的。當一個馬可夫 鏈是可化簡的時候,代表如果我們走到一個可以化簡的值時,就再也沒有辦法 在有限的步驟中,抵達另外一個可能的值。當一個馬可夫鍊是週期性的,在其 趨於穩定之後,其值出現的機率不會是固定的,而會在某些數字間交替週期性

(16)

的出現。馬可夫鏈是穩定的充分條件可以寫成細微平衡方程式( detailed balance function ) ,即 * * ( ) j ( ) k for , p jk π = p kj π ∀i j。 (2.7) 如果式(2.7)是成立的,則此馬可夫鏈又被稱為可逆的(reversible),因此式(2.7) 又被稱為可逆條件,因為: ( )j i ( ) j ( ) j ( ) j i i i p i j p j i p j i πP =

π → =

π → =π

→ =π (2.8) 2.4 Metropolis-Hastings Algorithm 在計算蒙地卡羅積分的時候,有一個很重要的議題就是「如何由複雜的機率 分佈獲得取樣點」,而這也是馬可夫鍊-蒙地卡羅方法所要解決的最重要的問題。 實際上,在20世紀中葉提出的Metropolis-Hasings algorithm ( Metropolis and Ulam 1949, Metropolis et al. 1953, Hastings 1970),目的就是為了解決這個棘手的問題。

由前人的研究[3]可知,一個馬可夫鏈的平衡機率 * (.) π 可以由下式表示 *( ) ( , ) ( ) d R dy P x dy x dx π =

π (2.9) 其中,π( )y 為π*(.)之Lebesque Measure,即π*( )dy =π( )y dy,且P x dy 為此馬可( , ) 夫鏈的轉移機率且可以表示為式(2.10) ( , ) ( , ) ( ) ( )x P x dy = p x y dy+r x δ dy (2.10) 其中 ( ) 1δx dy = ,如果 x dy∈ ; ( ) 0δx dy = ,如果 x dy∉ ,以及 ( ) 1 ( , ) d R r x = −

p x y dy。 因此若能求出p x y 即可知道一個馬可夫鏈的轉移機率。 ( , ) 舉例而言,假設一個任意的可能值x(0)與轉移機率q x y ,由 ( , )( , ) q x y 產生一 個取樣點 y ,若此 y 與x(0)間滿足細微平衡方程式,即 (0) (0) (0) (x ) ( |q y x ) ( ) (y q x | )y π =π (2.11) 則 y 即為 (.)π 的取樣點。當這樣的情形不成立時,例如當 (0) (0) (0) (x ) ( |q y x ) ( ) (y q x | )y π >π ,則我們需要定義一個比值α( , )x y , 使得π(x(0)) (q x(0), ) (yα x(0), )y =π( ) ( ,y q y x(0))成立 。由前述可以知道α( , )x y 可以

(17)

定義如下 ( ) ( , ) ( , ) min{1, } ( ) ( , ) y p y x x y x p x y π α π = (2.12) 茲將Metropolis-Hastings演算法整理如下 1.由任意可能的值 (0) x 出發,滿足p x( (0)) 0> 。 2.j=1:N,由 ( ( )j ,.) q x 產生 y 及由一個均勻分配(Uniform Distribution)產生一個 隨機變數u。 3.如果 ( ( )j , ) u≤α x y ,則 (j 1) x + = y 4.若不符合則 (j 1) ( )j x + =x 接下來我們以圖5來說明M-H演算法

Y1

Y2

Y3

X(1)=Y1 X(2)=Y1 X(3)=Y3 u<α u>α u<α

X

(0) 圖 5 馬可夫鏈的取樣變化過程 圖5 中Y 代表由1 q X( (0),.)所取樣的取樣點,而拒絕此取樣點的機率為

(18)

1 1 0 0 0 1 ( ) ( , ) min{1, } ( ) ( , ) Y q Y X X q X Y π α π = ,在此假設Y 被接受,即1 X1= 。接下來我們重複上Y1 述動作,Y 代表由 ( 1,.)2 q Y 所取樣的取樣點,但此時我們假設此取樣點被拒絕, 此時X(2) = 。如此反覆進行,即可產生一組由 ( )Y1 f x 所產生的取樣點 ( )X t 。 當重複幾次之後(稱為訓練期間(burn-in period) ),此馬可夫鍊會達到其平衡狀 態,而在訓練期間之後所產生的取樣點即為機率函數π(.)的取樣點。

2.5 The Gibbs Sampler

Gibbs sampler是由Geman在1984年所提出,原意是用來解決影像處理的問

題,並且是Metropolis-Hastings取樣在接受機率永遠是一(即 α = 1)時的一個特 例。Gibbs sampler的關鍵點在於將一個多維度的機率分佈視為一個單維度的條件 機率分佈,每一次觀察一個變數會比一次觀察多個變數來的簡單。換句話說,一 個多隨機變數,我們可以將其中一個變數視為未知,而假設其他的變數已知,並 且給這些隨機變數一個初始值,在處理完一個變數之後,再選取下一個變數設為 未知,並且重複這個動作,即可將原本n維的機率分佈轉換成n個一維的機率分 佈來處理。舉例來說,欲求一個二維的隨機機率分佈p x y ,但是只知道 ( | )( , ) p x y 以及p y x ,假定由 ( | )( | ) p x y 出發,任意給 y 一個初始值y ,則我們可以由此機0 率分佈p x y( | = y0)產生一個取樣點x ,再將其帶回到 ( | )0 p y x ,使用p y x( | =x0) 產生一個取樣點y ,並且重複下去,即可產生一組 ( , )1 x y 是由 ( , )p x y 所產生的取 樣點。寫成式子表示即為 1 ~ ( | ), 1, 2,... i i x p x y= y i= n 1 ~ ( | ), 1, 2,... i i y p y x=x i= n 重複k次之後,產生了長度為k的Gibbs sequence ( , )x y ,1j j ≤ ≤ ,這些 ( , )j k x y 皆j j 為直接由p x y 做取樣的取樣點,也都具有 ( , )( , ) p x y 的統計特性。最後,由Tierney 在1994年的研究,我們可以知道Gibbs sequence最後會收斂到我們所想要的目標函 數。以演算法形式表示如下 第一步:隨機產生一個 y 0

(19)

第二步: 令j=1 第三步:對p x( |j yj1)做取樣產生x j 第四步:對p y( j|xj1)做取樣產生x j 之後迴圈執行到 j= 即停止。 n Ex:

(

)

1 1 | ~ ( , ) ( | ) ~ ( , - ) , ( | ) (1 ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) n x n x x n x f x y binomial n y f y x beta x n x x y f x y C y y x x n x f x C n α β α β α β α β α α α β + − − + − + + = − Γ + Γ + Γ − + = Γ Γ Γ + + 我們已知 並已知 的聯合機率分佈函數 由直接計算我們可以直接推得隨機變數 的機率分佈為 由圖 可以看出經由疊代所得到的變數 其機率分佈非常接近真正的機率分佈6 x 0 5 10 15 0 20 40 60 80 100 120 Gibbs sampling Direct sampling from f(x)

圖6 取樣點數 500 點的機率分佈圖,其中 =2,α β = ,n=16,sample size=500 4

此外,當所需要取樣的變數超過兩個時,Gibbs sampler 一樣可以使用。假設

隨機變數有[ , ,... ]x x1 2 x ,並令其聯合機率密度函數(Joint Probability Density d

Function)為 f x x( , ,... )1 2 xd = f( )x 。則我們將前面兩個變數的 Gibbs sampler 演算

(20)

第一步:隨機產生一個 (0) (0) (0) 1 2 [x ,x ,...xd ] 第二步: 令 j=1 第三步:對 ( |1 2(j 1), 3(j 1),.... (j 1)) d f x xxx − 做取樣產生x1( )j 對 ( |2 1( )j , 3(j 1),.... (j 1)) d f x x xx − 做取樣產生x2( )j # 對 ( | 2( )j , 3( )j ,.... ( )j1) d d f x x x x 做取樣產生 ( )j d x 之後迴圈執行到 j= 需要的點數為止。 接下來,我們在此總結Gibbs sampler 的優點如下: 1.不需要複雜的積分。 2.取樣機率分佈 q 可以任意選取。 3.不需要複雜的運算。 Gibbs sampler 的缺點: 1. q 的選擇。 2.起始值的選擇。 3.通常需要一段時間才能收斂。

(21)

第三章

軟式輸出維特比解碼理論(SOVA)

為了更增進系統的效能,降低錯誤率,在現代的通訊系統中,都會使用錯誤 更正技術,以對抗雜訊,增加通道的容量,其中最常被採用的手段就是錯誤更正 碼(Forward Error Control Code)。錯誤更正碼即在我們所欲傳送的位元當中,加入 一些預先設計好的多餘資訊,使得在接收端我們可以利用此多餘資訊將信號還原 回來,這個過程我們稱為通道編碼(Channel Coding)。通道編碼的方式可以分為兩 種,一種是區塊碼 (Block Code),另一種則是摺積碼(Convolutional Code)。 在此處我們將專注於討論摺積碼。摺積碼最早由維特比(Andrew J. Viterbi)所提 出,其主要概念是利用維特比理論(Viterbi Algorithm)來達成錯誤更正的目的。維 特比理論[11]是由維特比在1967年所提出,其理論基礎在於利用格狀圖(Trellis Diagram)來搜尋所有可能的路徑並試著找出最有可能的那一條。藉由比較路徑所 代表的輸入位元與接收到信號間的漢明距離(Hamming Distance)或是尤拉距離 (Euclidean Distance),距離最小者,機率最大,也因此可以得出我們所需要的解。 此外,根據此種方法得出來的解為最大概似解(Maximum Likelihood Solution)。 3.1 迴旋碼(Convolutional Code)

在 傳 送 端 我 們 利 用 簡 單 的 移 位 暫 存 器 (Shift Register) 以 及 二 位 元 加 法 器

(22)

Register 1 Register 2 Output 1 Output 2 Input 圖 7 一個(5,7)的迴旋碼編碼器 如上圖所示,每一個位元送入這個編碼器會得到兩個位元的輸出,也因此其編碼

效率(Code Rate)為1/2。其中(5 ,7 ) 代表編碼多項式(Generator Polynomial),當其以8 8

二進位方式(1012,111 解讀時,可以描述哪些位移暫存器會輸出其內存值到二位2) 元加法器進行運算。假設一個輸入的序列為0,1,0,1,1,1,0,0,1,0,1,0,0,0,1 ,則其輸2 出序列可以簡單地得出為00 ,11, 10, 00, 01, 10, 01, 11, 11, 10, 00, 10, 11, 00, 11 。2 底下我們將輸入,輸出的關係列成一張表 輸出 暫存器內存 輸入 = 0: 輸入= 1: 00 00 11 01 11 01 10 01 10 11 10 01 表格 1 迴旋積分碼編碼器輸入輸出關係圖

(23)

一般而言,如果原始資料的結尾不是00的話,在編碼時我們會在結尾多加上 兩個位元00,,其用途在於將暫存器的狀態歸零。此種位元我們稱其為尾端位元 (tail bit)。 3.2 維特比理論(Viterbi Algorithm) 迴旋碼(Convolutional Code)的解碼端使用的是維特比理論[11]來進行解碼的 動作,而最常用來說明解碼過程的圖稱之為格狀圖(Trellis Diagram)。茲以上例為 例,我們可以畫出其格狀圖為 00 01 10 11 0/00 1/11 0/11 1/00 0/01 1/10 0/10 1/01 0/00 1/11 0/01 1/10

……

圖 8 (5,7)摺積碼之格狀圖 圖8中四個狀態(State)代表當時的暫存器狀態,而虛線代表輸出為0的路徑(Path), 實線代表輸出為1的分支。再更仔細地來看某一個特定區間的所有分支是如何轉 換其狀態,就可以更清楚的了解維特比演算法,如下圖所示:

(24)

00 01 10 11 0/00 1/11 0/11 1/00 0/01 1/10 0/10 1/01 圖 9 格狀圖某一區間放大圖 根據我們對於接收信號的處理,可以將維特比演算法分為硬式維特比演算法 (Hard Decision Viterbi Algorithm)與軟式維特比演算法(Soft Decision Viterbi

Algorithm)。硬式維特比演算法在剛接受到信號時會先做硬式決策(Hard Decision) ,即所收到的信號大於0即判斷成+1,小於0則判斷成-1,之後再算其漢明距離 。相對地,軟式維特比演算法並不會針對所收到的信號做任何處理,所運算的是 其尤拉距離。舉例來說,假設在t=0 ~t= 之間 ,所收到的信號為 ( 0.8, 0.8)1 + − , 對硬式維特比演算法而言,會將其判定為( 1, 1)+ − ,而其與由state 00→state 00這 個分支的路徑距離(Path Metric)可得為 (1 ( 1))− − 2 + − − −(( 1) ( 1))2 = 。同樣的,對2 軟式維特比演算法而言,其距離為 (0.8 ( 1))− − 2+ −( 0.8 ( 1))− − 2 ≅1.811。當有兩 個分支同時到達同一個狀態(State)時,比較兩分支的大小,取其小者並記錄之。 當格狀圖走到底時,我們可以藉由之前的紀錄得到一條距離最小的路徑,此路徑 稱之為存活路徑(Survivor Path)。此外,存活路徑所記錄的最小距離值,我們稱之

(25)

為分支距離(Branch Metric)。值得注意的是,分支距離表示的是由起始點到觀察點 的距離和,而路徑距離(Path metric)則表示某兩個觀察點間的距離。

3.3 軟式輸出維特比理論(Soft Output Viterbi Algorithm)

軟式輸出維特比理論(SOVA)是在1989年由Hagenauer[13]所提出,SOVA與前 面所提到的軟式決策維特比演算法(Soft Decision Viterbi Algorithm)的差別在於:

1. 順向與逆向的路徑距離計算。

2. SOVA解碼器之輸出為解碼後位元的後驗機率的LLR值(A Posteriori LLR)。

為了等一下的說明,在這邊要先引入一個數學的觀念—Log Likelihood Ratio(LLR) ,其定義為 ( 1) ( ) : log( ) ( 1) k k k p u L u p u = + = = − (3.1) 其中,u 代表的是我們所傳送的那個位元,分子代表該位元為1之機率,而分母k 則代表該位元為0之機率。一般而言,若是在傳送端隨機地產生0與1,則這一項 通常為0。LLR值可以幫助我們決定該位元0與1的發生機率各有多少,其過程如 下 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 2 2 ( ) ( 1) 1 ( 1) ( 1) ( 1) 1 1 ( 1) 1 1 1 ( 1) 1 1 ( 1) ( ) 1 k k k k k k k k k k L u k k k k L u k L u L u L u k L u L u L u L u k L u p u e p u p u p u e p u e e e p u e e e p u e e − − − − ± − = + = − = − = + + = − = ⇒ = + = = + + = − = = + + ⇒ = ± = + (3.2) 根據後驗機率所求出的比值,我們稱之為條件的LLR值(Conditional LLR),其定義 為 ( | ) : log( ( 1| )) ( 1| ) k k k p u y L u y p u y = + = = − 。舉例而言,對於一個常見的白高斯雜訊(AWGN) 通道,其傳送信號x=1之事後機率分佈為 2 2 ( 1) 2 2 1 ( | 1) 2 y p y x e σ πσ − − = + = ;同理,x=0

(26)

之事後機率分佈為 2 2 ( 1) 2 2 1 ( | 1) 2 y p y x e σ πσ + − = − = 其條件LLR值可以經由式(3.1)計 算而得 2 2 2 1 [ ( 1) ( 1) ] 2 2 ( 1| ) ( | ) log( ) ( 1| ) ( | 1) log( ) ( | 1) log( ) 2 k k k k k y y c p u y L u y p u y p y u p y u e y L y σ σ − − − − + = + = = − = + = = − = = = (3.3) 式(3.3)中的第二個等號是根據貝式定理所推導得出的結果,其中L 又稱做可靠度c

值(Reliablity Value),且只跟信號雜訊比(Signal to Noise Ratio, SNR)有關。又根據貝

式定理,存在p u( | )k y = p y u( | ) ( )k p uk 這樣的關係,帶入式(3.1)可以導出事前機

率與後驗機率的關係為

( | )k ( )k ( | )k

L u y =L u +L y u (3.4)

其中,L u( )k 對應式(3.1),因此項通常為事前已知的機率,故又被稱為事前資訊

(A Prior Information)或是本質資訊(Intrinsic Information);L y u( | )k 為事後機率的比

值,又常被稱作外部資訊(Extrinsic Information) ;p u( | )k y 一般被稱做後驗機率(A

Posteriori Probability),因此L u( | )k y 常被稱為後驗資訊(A Posteriori Information)。

接下來,為了簡化,我們定義一個系統,此系統使用一個碼率 (Code Rate)

為1/N的編碼,且每一個端點(node)只有兩條分支會同時抵達,在經過一段時間δ

後,這段時間必須足夠長以便所有可能的存活路徑會合為一條。ν 代表的是暫存

(27)

圖10 SOVA 示意圖[摘錄自 reference 13] 此時,傳統的維特比演算法必須決定一條最有可能的路徑,而其決定的方法是選 擇具有最小距離(Metric)的路徑。以AWGN為例[13] ( ) 2 1 ( ) 1, 2 k N m b m jn jn j k n o E M y x m N = −δ = =

∑ ∑

− = (3.5) ( )m jn x 代表的是在時間 j 時,第 m 條路徑上的總共 N 個位元中的第 n 個位元,y 則jn 代表相同時間所收到的第 n 個位元,且 b o E

N 為信號雜訊比(Signal to Noise Ratio)。

由這樣的系統我們可以得到,選擇第 m 個路徑的機率為 ( ) Mm 1, 2 prob path mem= (3.6) 此外,我們假設比較小的距離為M ,即1 M1M2。換句話說,選到錯誤路徑(即 選到M )的機率為 2 2 1 2 2 1 1 1 1 1 M w M M M M e p e e e e − − − − Δ = = = + + + (3.7) 其中,Δ =M2M1≥ 。這樣的一個系統,維特比演算法所犯的錯誤即為第 2 條0 路徑與第 1 條路徑的不同處。假設有 e 個地方不同,即u(1)ju(2)j j=1, 2,...e。 此時,若路徑 1 在第 j 個錯誤之前累積之錯誤機率為p^ j,在路徑 1 被選取的前提 下,第 j+1 個錯誤的發生機率為 ^ ^ ^ (1 w) (1 ) w 1, 2,... j j j ppp + −p p j= e (3.8) 注意式(3.8)成立的條件為p 與w ^ j p 兩者獨立,而在大部份的編碼下這都是成立的。 此時每個位元的 LLR 可以求得

(28)

^ ^ ^ ^ 1 log( j) 0 j j j p L L p − = ≤ ≤ ∞ (3.9) 由(3.7)(3.8)(3.9)可以推得 ^ ^ ^ ^ 1 1 ( , ) ( ) j j L j j L e L f L log e e α α α +Δ Δ + ← Δ = + (3.10) 其中, α 為一常數,其目的在於使得E L[ ] 1^ j = 。 一個適當的α 值可以選取為 =4 s free o E d N α (3.11) 又,式(3.10)有一個良好的近似如下 ^ ^ ( , ) min{ , }j j f L L α Δ Δ = (3.12) 接下來我們將此演算法做一個整理。 儲存部分: k: time index(modulo δ ) +1 ^ ^ ^ ^ ^ ( ) [ ( ),... ( )] { 1 } ( ) [ ( ),... ( )] { } ( ) : ( ) k k k k k k k k k k k s u s u s u L s L s L s

s Accumulated metrice value

δ δ − − = ∈ ± = Γ ^ ^ u 硬式決策值 軟式資訊值 累積距離值 迴圈部分: ( ) 2 1 1 1 ^ ) Viterbi algorithm ( , ) ( ) ( ) ( ) ( ) N m s k k k kn kn n o k k k a E s s s y x N s u s − − = Γ = Γ + − Γ

傳統 計算 找到 的最小值儲存並且存取相對應的存活者

(29)

1 1 1 2 ^ ^ ) max ( , ) min ( , ) ( ) ( ) : ( , ) k k k k k k j j j j j j b s s s s s j k to j k s u s u s L f L ν δ − − Δ = Γ − Γ = − = − ≠ = Δ 決定軟式資訊 每個狀態(state) 其軟式資訊為 比較進入狀態 的兩個路徑 如果 則

(30)

第四章

球狀解碼

4.1 球狀解碼 在通訊系統中,球狀解碼(Sphere Decoding)是一種常被用來尋找最大近似解 (Maximum-Likelihood Solution)的方法,其所欲解之最基本的方程式如下: ^ 2 arg min ML ∈Λ = − X X Y AX (4.1) A 指的是一個 M 列 N 行的矩陣,此處假設M <NY 是一個 N 列1行的矩陣, X 亦是 N 列 1 行的矩陣,Λ 則為所描述的是所有可能解 X 所形成之集合。有兩 種方法較常用來解式(4.1)的問題,其中一種是利用 Cholosky 分解,其過程如下所 示: ^ 2 1 1 1 1 arg min arg min( ) ( ) arg min arg min( ( ) ) [ ( ) ] arg min( ( ) ) ( ( ) ) ML T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T ∈Λ ∈Λ ∈Λ − − ∈Λ − − ∈Λ = − = − − = − − + = − − + + − = − − + + − X X X X X X Y AX Y AX Y AX Y Y Y AX X A Y X A AX Y A A A A Y Y AX X A Y X A AX Y Y Y A A A A Y Y A A A IA Y Y AIX X IA Y X A AX Y I A A A A Y 1 1 1 1 1 † † † † 1 arg min ( ) ( )( ) ( )( ) ( )( ) + ) ( ( ) ) arg min ( ) ( ) ) ( ( ) ) arg min T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T − − − − ∈Λ − ∈Λ − = − − + − = − − + + − = X X Y A A A A A A A A Y Y A A A A A X X A A A A A Y X A AX Y I A A A A Y Y A A AA Y Y A A AX X A AA Y X A AX Y I A A A A Y † † 1 ^ ^ ( ( )) ( ( )) ( ( ) ) arg min( ) ( ) (4.2) T T T T T T β − ∈Λ ∈Λ − − + − = − − + X X A A Y X A A Y X Y I A A A A Y X X A A X X 在第(4.2)式中, β代表的是一個常數,並且不隨X 而改變。A† =(A A A 代T )−1 TA 之假反矩陣(Pseudo-Inverse),即X 代表的是^ AX Y 之最小平方近似解(Least = Square Solution)。換言之,欲解第(4.1)式,即等效於解第(4.3)式如下: ^ ^ ^ arg min( ) T ( ) ML ∈Λ = − − X X X X A A X X (4.3)

(31)

一個最簡單的方法就是嘗試Λ 中每個可能的解 X 直到找到滿足上式的最小解為 止,這種方法我們稱為窮舉搜尋法(Exhaustive Search)。然而,窮舉搜尋法的複雜 度太高以至於非常難以實現。也因此,球狀解碼(Sphere Decoding)可以解決這個 問題,其方法的概念為訂定一個搜尋半徑並在其中尋找解答,如圖 11 所示。 明顯地,以這種概念來尋找可以避免嘗試過多的解,且最大近似解,必定會落在 此球當中。以式(4.4)表示即為: ^ ^ ^ 2 arg min( ) T ( ) ML r ∈Λ = − − ≤ X X X X A A X X (4.4) 圖 11 球狀解碼示意圖 [摘錄自 reference 15] 若是我們可以求得一個上三角矩陣U,使其滿足U U A A ,則式(4.4)可以改T = T 寫成 ^ ^ ^ ^ 2 ^ ^ 2 1 1 ( ) ( ) ( ) ( ) [ ( )] T T M M ij i j ii i j i j i ii u u x x x x u = = + − − = − − =

− +

X X A A X X X X U U X X (4.5) 由i=M 開始可得 ^ 2 ( )2 2 M MM M u xxr (4.6) 並且將i=M M, −1,....1依次代入。 然而,此處會產生兩個問題: 1. 如何決定半徑 r ?如果選的太大,則球內之可能解太多,運算複雜度仍然很

(32)

高;如果選的太小,則球內可能不存在可能解。 2. 如何決定某個點是否存在球中?若是我們直接求每個可能解與收到信號間的 距離,則仍然需要做 N 維的運算。 球狀解碼並沒有明確地回答第一個問題,但是對於第二個問題,確實有提出 一個非常有效率的解法。要如何解決第二個問題呢?直覺地,解決一個一維空間 的問題是簡單的,而解決一個 N 維空間的問題則非常複雜。因此,若是我們能 將一個 N 維空間的問題拆解成 N 個一維空間的問題,複雜度將可以得到明顯的 降低。舉例而言,假設一個集合,其中的元素是滿足所有 K 個維度都落在我們 預設的搜尋球中的點,則我們在尋找可能解時,只需要觀察在這樣的一個集合當 中,哪一個解的第 K+1 個維度也落在此球中。原因在於若是前面 K 個維度就已 經不存在搜尋球中,則第(K+1)的維度當然亦不可能在搜尋範圍當中。至於第一 個問題,在此我們使用最小平方近似解(Least Square Solution)來決定球之半徑,原 因是最小平方近似解為在沒有任何限制條件之下,所能得出的最佳解。且以如此 的搜尋法,最少會存在一個解在我們的搜尋球當中,這個解就是我們的最小平方 近似解。最小平方近似解可以由式子X A A A Y 求出。 ^ =( T )-1 T 另外一種方法,我們可以針對矩陣A 做 QR 分解,以式子表示如下: ( ) [ ] N M xM− = R A Q 0 (4.7) 其中R 為 M M× 的上三角矩陣,Q=[Q Q 代表正交矩陣 Q 的前面 M 行與後1 2] 面(N-M)行。 由(4.5)可以再往下推得 2 2 2 2 2 [ ][ ] [ ] [ ] (4.8) d ≥ − = − = − + 1 2 * 1 * 2 * * 1 2 R Y Q Q X 0 R Q Y X 0 Q Q Y RX Q Y 其中() 代表的是做赫密特(Hermitian)矩陣運算。由上式可以繼續推得 * 2 2 2 dQ Y*2 = Q Y RX (4.9) *1

(33)

接下來我們令Z Q Y 以及= 1* '2 2 d =dQ Y ,則式(4.7)可以被改寫成為 *2 2 2 , 1 1 ' ( ) M M i i j j i j d z r x = = ≥

(4.10) 其中r 代表在矩陣 R 當中的元素,i j, z 代表矩陣 Z 中的元素,而i x 則代表了矩陣 Xj 中的元素。為了更進一步地了解式(4.8),我們將式(4.8)中的

符號展開,可以 得到 2 2 2 , 1 1, 1, 1 1 ' ( M M M M) ( M M M M M M M ) dzr x + z r xr x +" (4.11) 由式(4.9)可以得知,第一項僅跟x 有關;換句話說,此解 X 落在球中的必M 要條件為 2 2 , ' ( M M M M) dzr x (4.12) 藉由 QR 分解,我們將原本是 M 維的向量問題,分解為一次只考慮一維的向量 問題。式(4.10)的另外一種表示方法為 , , ' M ' M M M M M M d z d z s r r− + ⎤ ⎢ + ⎥ ≤ ≤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ (4.13) 在此 ⎢ ⎥⎣ ⎦. 代表最靠近且最小的可能解,⎡ ⎤⎢ ⎥. 代表最靠近且最大的可能解。找出所 有符合的s 後,我們只需要針對這些M s 來檢查他的下一個維度是否滿足式M (4.9),即令d'2M1=d'2−(zMrM M, xM)2(4.12)以及zM1|M =zM1rM1,MxM。經過這 樣的假設之後,我們可以將式(4.11)往上推一個維度到 M-1,並且決定xM1的範 圍。茲以式(4.12)表示如下: 1 1| 1 1| 1 1, 1 1, 1 ' ' M M M M M M M M M M M d z d z s r r − − − − − − − − − ⎡− + ⎤ ⎢ + ⎥ ≤ ≤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ (4.14) 重複如上之動作,即可求出信號 M 個維度的解,而這樣的蒐尋過程恰巧可以樹 狀圖的方式加以說明。茲繪出一個可能的樹狀圖範例如下:

(34)

圖 12 一個可能的樹狀圖結構 [摘錄自 reference 15] 圖 12 中,左邊的 K 代表我們解到信號的第 K 個維度,而圓圈中的數字代表 的是x 有幾個可能的解(以本圖為例,一個 QPSK 的系統其解之最多可能有四個)。 K 4.2 複數球狀解碼 在 4.1 節中所描述的,為考慮實數系統下之球狀解碼。然而,實數系統僅能 運用在二相位鍵移(Binary Phase Shift Keying)調變上,當我們想進一步提升傳輸速 率時,勢必得使用更複雜的條變,例如四相位鍵移(Quadrature Phase Shift Keying)。

其差別在於式(4.3)中的A 、X 與X 都是複數。有兩種方法可以解決這樣的問題;^ 第一種是將A 、 X 與X 分成實數的部分與虛數的部分,如此這兩個部分都可以^ 被視為獨立的實數系統。我們將式子(4.3)改寫如下 (4.15) 其中 ~ ~ ~ ~ ~ ~ arg min( )T ( ) ML = LSLSX X X A X X

(35)

~ ~ ^ ^ ~ ~ [Re{ } Im{ }] [Re{ } Im{ }] Re{ } Im{ } [ ] Im{ } Re{ } [{Re( ) Im( ) }] T T T T LS T T T T = − = − − = Λ = Λ Λ X X X X X X A A A A A 如果X 是一個 QPSK 系統,則X 為兩個 BPSK 系統(包含實部與虛部)。令~ x 是向MX 之第 M 個維度,且 jM M c x =r eθ ,其中 {0, 2 ,...2 (2 1)} 2 2 c c c M M M M π π θ ∈ − 為2Mc角度 相鍵移的星座圖(Constellation),r 為形成此星座圖之半徑,為一個信號(Symbol)c 所代表的符元(bit)數,如下兩圖所示: 圖 13 8PSK 複數信號搜尋半徑[摘錄自 reference 17]

(36)

圖 14 16QAM 複數信號搜尋半徑圖[摘錄自 reference 17] 因為是複數系統,所以將 jM M c x =r eθ 帶入式(4.10)可以得到如下列之結果: ^ ^ M M j j M c M c x =r eθ z =r e θ 2 ^ ^ ^ 2 2 2 2 , , 2 , cos( M) ' M M M M c M M c c M M c M zr x =r +r rr r r θ −θ ≤d 2 ^ 2 2 2 ^ , ^ , ' cos( ) : 2 c M M c M M c M M c d r r r r r r θ −θ ≤ − − = η (4.16) ^ ^ 1 1 2 2 2 ( cos ( ) ( cos ( ) 2 2 2 c c c M M M M M M θ η θ θ η π − π π − ⎡ ⎤ ⎢ ⎥ ⇒≤ ≤ + ⎢ ⎥ ⎣ ⎦ (4.17) 對於 M-QAM 的系統而言,因為不同的可能解其r 皆不同,因此當我們要搜尋落c 在此球中的可能點時,僅需解式(4.15),滿足式(4.15)即滿足式(4.10)[ref]。 4.3 表列式球狀解碼(List Sphere Decoding)

(37)

時,解碼器會產生一個表,其內容為所有滿足式(4.1)條件的可能解X 。若我們欲 將球狀解碼修正為表列式球狀解碼,我們需要實行兩個步驟: 1. 每找完一個維度不要將半徑更新,即式(4.12)在表列式球狀解碼中並不會被 執行。如此可以避免我們遺漏了某些可能的解。 2. 表所預定的空間大小為 L。若是 L 未滿則將可能解存入;若是已經沒有空間, 則將所儲存的可能解中距離所接收到的信號最遠的那一個解丟棄,並將新的可能 解存入。 圖 15 表列式球狀解碼與傳統球狀解碼之半徑比較圖 [摘錄自 reference 15] 由上圖可以很清楚地解釋表列式球狀解碼與球狀解碼的不同。圖中圓心到 A1 代表的是表列式球狀解碼的半徑,而圓心到 A2 代表的是球狀解碼的半徑。由 圖中可以很明顯地知道,C1 以及 C2 是落在表列式球狀解碼的可能解範圍中,若 是單純的球狀解碼則會將此兩個解排除掉。C3 則是對兩種方式而言都會是可能 解。

(38)

第五章

渦輪式解碼器

(Turbo Decoder)

5.1 使用馬可夫鏈-蒙地卡羅方法的渦輪式解碼器 在這一章中,我們所要描述一個軟式信號決策(Soft Decision)的系統,並且 說明前幾章所提到的內容如何實做一個軟進-軟出(Soft-in Soft-out)的系統。欲說 明 一 個 這 樣 的 過 程 , 我 們 先 定 義 我 們 所 採 用 的 多 輸 入- 多 輸 出 (Multi-Input Multi-Output)的通道模型。茲列如下: = + y Hd n (5.1) 其中,y 代表我們所收到的信號,矩陣大小為Mx1;H 是一個 MxN 的通道矩陣, 其中的每一個元素都是複數高斯分佈(Complex Gaussian)所形成的隨機變數;d為 欲傳送的信號,矩陣大小為 Nx1;n 代表的是一個 Mx1 的複數高斯雜訊。圖 16 可以用來說明整個解碼的過程。 圖 16 渦輪式解碼器示意圖 [摘錄自 reference5]

圖16 中λ1、λ2分別代表軟進-軟出多使用者偵測器(Soft-in Soft-out Multi-user

detector)以及軟進-軟出前向式錯誤更正碼解碼器(Soft-in Soft-out Forward Error

Correction Decoder)的軟資訊 (Soft Output)輸出,而λ1e

、λ2e

則代表了相對應的外 部資訊(Extrinsic Information)。傳統上,軟進-軟出多使用者偵測器會先將軟式資訊 (Soft Information)用來做軟式消除(Soft Canceling),例如 V-BLAST 方法,並且在 後面的解碼器使用最小平方誤差(Minimum Mean Square Error,MMSE)或是最大概 似解(Maximum Likelihood solution,ML)解碼器。在此,我們並不會做軟式資訊的消 除,而是將這些資訊送到下一級的軟進-軟出前向式錯誤更正碼解碼器中,利用

(39)

這些資訊來做解碼的動作。如圖16 所示,多使用者偵測器與解碼器會不停地反 覆交換軟式資訊,因此我們稱這個架構是渦輪式的(Turbo-Like)[5]。而解碼器可 以使用摺積碼(Convolutional Code)或是渦輪碼(Turbo Code)。

為了說明整個解碼的過程,我們先定義 1( ) [ ( (1)) ( (2))... ( ( ))]1 1 1 e e e e T k k k k = λ d λ d λ d M λ (5.2) 2( ) [ ( ( )) ( ( ))... (2 1 2 2 2 ( ))] e e e e T K i = λ d i λ d i λ d i λ (5.3) 其中 1e( ) k λ 表示第 k 個使用者在某一個資料區塊(data block)中的外部資訊,而 2e( ) i λ 代表第 k 個時間格(Time Slot)中所有使用者之外部資訊。而為了說明方便,我們 再假設傳送的資料符元(data symbol)只有+1 與-1 兩種可能。在這樣的條件下,每 個符元的 LLR(Log Likelihood Ratio)可以式(5.4)、(5.5)表示。

2 1 2 ( ( ) 1| ( ), ( )) ( ( )) log( ) ( ( ) 1| ( ), ( )) e k k e k P d i i i d i P d i i i λ = = + = − y λ y λ (5.4) 1 2 1 ( ( ) 1| ( ), ) ( ( )) log( ) ( ( ) 1| ( ), ) e k k e k P d i k decoding d i P d i k decoding λ = = + = − λ λ (5.5)

(5.5)中的 LLR 值可以標準的渦輪解碼理論(Turbo Decoding Algorithm)來得

解,因此我們的問題變成如何有效的求出式(5.4)中的λ1。為了解釋求λ1的困難 度,我們將式(5.4)做一個簡單的推導: 2 2 ( ) 2 2 ( ) ( ( ) 1| ( ), ( )) ( ( ) 1, ( ) | ( ), ( )) ( ( ) 1| ( ), ( ), ( )) ( ( ) | ( ), ( )) k k e e k k k i e e k k k i P d i i i P d i i i i P d i i i i P i i i − − − − − = + = = + = = +

d d y λ d y λ y λ d d y λ (5.6) 其中,第一個等式到第二個等式是利用機率的貝式定理,dk( )i 代表 1 1 1 [ ( )... ( ), ( ),... ( )]T i i K d i d i d+ i d i ,而相加的對象包括所有d ik( )= + 的符元,當使1 用者越來越多時(即 K 越來越大),其運算複雜度會是以指數型的方式增加,而想 要直接求出式(5.6)也變得過於複雜以至於不能實現。在此我們利用馬可夫鏈-蒙 地卡羅方法來解決這個問題,因這個方法在第二章已經詳細地介紹過了,在此我 們只簡單地列出所用到的性質與結果。

(40)

由蒙地卡羅積分我們可以知道,欲求一函數h x 的期望值,可以利用其機率( ) 分佈 f x 產生一些取樣點,再代入 ( )( ) h x 即可,茲以下列式子表示: [ ( )] ( ) ( ) ( ) 0 f E h x =

h x f x dx f x ≥ ∀ ∈x X X 1 1 [ ( )] s ( ) N f n n s E h x h x N = ⇒ =

其中,xn n=1....Nsf x 所產生的取樣點,而( ) N 為取樣的個數。我們可以將(5.6)s 式以同樣地方法求出,如式(5.7) 2 2 1 1 ( ( ) 1| ( ), ( )) s ( ( ) 1| ( ), ( ), ( )) N e n e k k k n s P d i i i P d i i i i N = − = + y λ =

= + y d λ (5.7) 其中, n ( ) k id 為函數 ( ( ) | ( ), ( ))2e k P d i y i λ i 的取樣點,也因此接下來我們會利用馬可 夫鏈-蒙地卡羅方法中的吉布斯取樣(Gibbs Sampler)來對函數 ( ( ) | ( ), ( ))2e k P d i y i λ i 做取樣。 1. 先隨機產生一組d ,n=0 (0) 2. 接下來為一個 for loop,可以產生取樣點 'd s i 3. for n=1 to Ns 由 ( |1 2(n 1), 3(n 1),..., (n 1), , )2e K P d dddy λ 產生取樣點d1( )n 由 ( 2| 1( )n , 3(n 1),..., (n 1), , )2e K P d d ddy λ 產生取樣點d2( )n . . . 由 ( | 1( )n , 2( )n ,..., ( )n1, , )e2 K K P d d d d y λ 產生取樣點 ( )n K d 吉布斯取樣會重複做Ns 次,且經過了一段時間(這段時間稱為訓練區間(Burn-in Period))的運行之後,所產生的取樣點d s 即為機率分佈k' P(dk( ) | ( ), ( ))i y i λe2 i 的取 樣點。

(41)

在求得λ 後,我們不能將值直接代入第二級的前向式錯誤更正碼解碼器1e 中,原因在於我們求出來的值是LLR,而不是真正收到的訊號。然而,我們所接 收的信號,本質上為一個高斯隨機變數,其平均值為我們所傳送的信號,而變異 數則隨不同的通道雜訊而改變。而我們收到的數值則是這個機率分佈的一個取樣 點,而我們可以將這個取樣點當作此機率分佈的平均值,原因是高斯分佈出現機 率最高的值即為此分佈之平均。有了這個概念之後,我們可以將 LLR 值轉換成 這個位元的期望值,之後即可代入第二級的解碼器作運算。其過程如下: (b=+1| ) L(b)=log( ( 0 | ) p p b= y y ,b 即為我們所要做轉換的位元。 (5.8) (b=+1| )+ ( 0 | ) 1 p y p b= y = (5.9) 由式(5.8)、(5.9)可推得 L(b) L(b) L(b) e (b=+1| )= 1+e 1 (b=0| )= 1+e p py y L(b) L(b) L(b) e 1 E[b]=1* (b=+1| )+(-1)* (b=0| )= tanh( ( ) / 2) 1+e 1+e p y p y − = L b (5.10) 其中 x 2 x 2 e 1 tanhx= e 1 x x x x e e e e − − − = − + + 5.2 使用表列式球狀解碼之渦輪式解碼器 球狀解碼也可以輸出軟式資訊,其系統如圖17 所示。

(42)

圖17 軟式球狀解碼的系統架構圖[摘自 reference 9] 其中,x( )lr( )l 分別代表我們所傳送與接收的訊號, ch ( | ( )) app k L x r l 與 ( | ( )) pri Ecc k L x r l 分別對應到 5.1 節中所提到的λ1、λ1eEcc( | ( )) app k L x r lch ( | ( )) pri k L x r l 則 分別對應到λ2、λ2e 。此外, ch pri L 的物理意義為所傳送的位元的事前機率,即在我 們所使用的系統當中 0 與 1 的比例各占多少。在一般的情形下,我們都假設其為 等機率分佈;Lch app的物理意義則是經過通道解碼之後,每個位元的後驗機率(A Posteriori Probability),另外一個解釋方法為提供通道的外部資訊給下一級的解碼 器,也因此在式(5.8)中我們以 ch ext L 來代表他,而在圖中則是以LEccpri來表示,因為 他同樣可以看作是提供錯誤更正碼解碼器的事前機率。茲將上述的關係整理成式 (5.8)、(5.9)、(5.10): ( 1| ( )) ( | ( )) : log( ) ( 1| ( )) ( | ( )) ( | ( )) ch k app k k ch ch pri k ext k p x l L x l p x l L x l L x l = + = = − = + r r r r r (5.11)

(43)

( 1) log( ) ( 1) ch k pri k p x L p x = + = = − (5.12) k [ ] [ ] 1 [ ] [ ] 1 [ ] [ ] 2 x 1 1 ( ( ) | ) exp( ) 2 ( | ( ) log( ) 1 ( ( ) | ) exp( ) 2 1 1 max{ } 2 2 k k T ch k pri k x Ecc ch pri ext k T ch k pri k x H T ch k pri k p l L L L x p l L Q R L σ =+ =− =+ = = ≅ − − + −

r x x r r x x r x x A k 2 [ ] [ ] x 1 [ ] 1 2 1 1 max{ } 2 2 [ , ,... ,... ] H T ch k pri k k k n Q R L x x x x σ =− − − + = r x x x 其中 (5.13) 2 1 2 2 exp ( ( ) | ) (2 ) H Q R M p l σ πσ − − = r x r x (5.14) 由式(5.13)我們可以知道,當我們在做表列式球狀解碼時,不單單只是將可 能的解儲存,而更要將其每一項的 H Q rRx 儲存起來。因為對球狀解碼器而 言, H Q rRx 就是他所得出信號的軟式資訊。原因如式(5.12)所示,我們所接受 到的訊號r( )l ,其機率分佈是呈現一個彼此互相獨立且相同(Independent and Identical,i i d. . )的多維高斯分佈。當然同樣地,我們在將軟式資訊送入第二級的解 碼器時,仍然需要做雙曲正切(Hyper-Tangent)的轉換。

(44)

第六章

模擬結果

6.1 模擬環境與參數

Modulation BPSK,QPSK,16QAM,64QAM

Number of Transmitted Antenna 4,8

Number of received Antenna 4

Number for Gibbs Sampler 50

Number for Burn-in Period 20

Encoding Scheme (5,7)Convolutional Code

Channel Fast Rayleigh Fading

(45)

6.2 模擬結果與討論 6.2.1 無編碼之傳送效能 由圖18 可以看出在沒有錯誤更正碼的幫忙下,馬可夫鏈-蒙地卡羅方法雖然 仍能降低錯誤率,但其下降的幅度並不能讓人滿意,也因此並沒有看到有相關的 論文是單獨地以馬可夫鏈-蒙地卡羅方法來進行解調。其原因在於馬可夫鏈-蒙地 卡羅方法並沒有錯誤更正的能力。當我們所收到的信號因雜訊干擾,而使得正確 的取樣點出現的機率很低,則在有限的取樣點數中,很有可能產生的皆為錯誤的 取樣點,而這也解釋了為何軟式維特比解碼可以改善其錯誤率。軟式維特比解碼 器可以提供此位元的信賴程度,也使得在產生取樣點時的正確率提高很多。 而由表2 可以看出在 BPSK 的系統架構下,馬可夫鏈-蒙地卡羅的複雜度與 球狀解碼的複雜度並沒有相差很多。原因在於馬可夫鏈-蒙地卡羅方法需要一段 訓練時間(Training Period),約 50 個取樣點。在這樣的情形下,由於我們的模擬 是以 BPSK 來進行,因此就運算複雜度上不會相差很多。然而,當以更複雜的系 統,例如 QPSK、16QAM 等,馬可夫鏈-蒙地卡羅方法的複雜度只會以線性上升, 相較於其他幾種接收端解調方法,其複雜度就會有明顯地差別。

(46)

0 2 4 6 8 10 12 14 16 18 20 10-5 10-4 10-3 10-2 10-1 100 SNR(db) BER MCMC SD VBLAST+OISC ML ML+rep. 圖 18 沒有錯誤更正碼的馬可夫鏈-蒙地卡羅方法與其他系統的比較 ADD Multiply ML 2000000 2400000 Sphere 1051398 2720263 Gibb 1400000 1600000 VBLAST 2200000 2200014 表格 2 傳送10 個位元的運算複雜度比較表 4 此外,要補充說明的一點是,球狀解碼需要用到Matlab 中內建的函數 QR 分解,而由 Matlab 的說明手冊中可以知道,其 QR 分解是採用 lapack 方法來 進行運算,而每做一次運算其加法與乘法的複雜度分別為 2 3 2 2 3 2 1 1 23 : 3 2 6 1 1 5 : 3 2 6 mn n mn n n mn n n n − + + + − + + 乘法 加法 假設運算的對象是一個m 列 n 行的矩陣。

(47)

6.2.2 有編碼之傳送效能

圖19 完全依照論文[5]的步驟來執行,其目的在於驗證對於渦輪式解碼的了

解度以及系統程式的正確性。此外,由圖中我們可以發現在迴圈執行次數少的時 候,位元錯誤率(Bit Error Rate)非常的高,原因在於我們的傳送天線比接收天線 來得多,因此所形成的聯立方程是不足以將原始的資料解出來。然而,隨著迴圈 執行次數增加,訊號中所含有的軟資訊可以一再地被利用,而能幫助我們將原本 無法解出的信號解出。由論文的描述中我們可以知道,即使是MMSE 解調,在 八根傳送天線,四根接收天線的系統之下,他的位元錯誤率依然不佳,而藉由渦 輪式解碼在位元錯誤率是10−3時可以得到約2db 的增益。 圖 19 8 根傳送天線,4 根接收天線之效能圖 圖20 說明了在 4 根傳送天線,4 根接收天線的系統下,還沒有進入迴圈(即 iteration=1)的渦輪式解碼器即具有較單純的 ML 解更佳的位元錯誤率表現。而當 迴圈數增加,錯誤率的改善也是非常地明顯。

(48)

圖 20 4 根傳送天線,4 根接收天線的系統效能圖 圖21 比較兩種不同的多使用者偵測器的錯誤率表現,包括馬可夫鏈-蒙地卡 羅(MCMC)以及表列式球狀解碼(LSD)兩種方法。由 ML 與 LSD 的曲線我們可以 看出,在沒有編碼的情況之下,LSD 的表現是跟 ML 相當的。而在渦輪式解碼 的架構下,MCMC 與 LSD 都可以達到不錯的效能。同時根據其他的論文的模擬 結果,在BPSK 與 QPSK 的情形之下,LSD 與 MCMC 的錯誤率曲線應是接近重 合的,這個模擬結果也許其他的文獻記載相符。而由表格3 我們可以知道,兩種 方法的運算複雜度均較ML 少了一半。

數據

圖 6 取樣點數 500 點的機率分佈圖,其中 =2, α β = ,n=16,sample size=500  4 此外,當所需要取樣的變數超過兩個時,Gibbs sampler 一樣可以使用。假設 隨機變數有 [ , ,....
圖 16 中 λ 1 、 λ 2 分別代表軟進-軟出多使用者偵測器(Soft-in Soft-out Multi-user  detector)以及軟進-軟出前向式錯誤更正碼解碼器(Soft-in Soft-out Forward Error  Correction Decoder)的軟資訊 (Soft Output)輸出,而 λ 1 e 、 λ 2 e 則代表了相對應的外 部資訊(Extrinsic Information)。傳統上,軟進-軟出多使用者偵測器會先將軟式資訊 (Soft Informatio
圖 17 軟式球狀解碼的系統架構圖[摘自 reference 9]
圖 19 完全依照論文[5]的步驟來執行,其目的在於驗證對於渦輪式解碼的了 解度以及系統程式的正確性。此外,由圖中我們可以發現在迴圈執行次數少的時 候,位元錯誤率(Bit Error Rate)非常的高,原因在於我們的傳送天線比接收天線 來得多,因此所形成的聯立方程是不足以將原始的資料解出來。然而,隨著迴圈  執行次數增加,訊號中所含有的軟資訊可以一再地被利用,而能幫助我們將原本 無法解出的信號解出。由論文的描述中我們可以知道,即使是 MMSE 解調,在 八根傳送天線,四根接收天線的系統之下,他的位元錯誤率

參考文獻

相關文件

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

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

譚志忠 (1999)利用 DEA 模式研究投資組合效率指數-應用

在做容忍度的分析時,又有四種的分析方法可以選擇:極值分析 (Extreme Value Analysis,簡稱 EVA),和方根(Root-Sum-Square,簡稱 RSS)分析,快速蒙地卡羅分析(Fast Monte

Jones, &#34;Rapid Object Detection Using a Boosted Cascade of Simple Features,&#34; IEEE Computer Society Conference on Computer Vision and Pattern Recognition,

近年來國內外許多學者也紛紛投入 RFID 安全性的研究,2003 年首先由 Weis 等 學者提出了 RFID 認證協定之論文,開啟了 RFID

本研究是以景觀指數進行對 1993 年、2008 年與擴大土地使用三個時期之評 估,其評估結果做比較討論。而目前研究提供研究方法的應用-GIS 與 FRAGSTATS 之使用方法。從 1993 年至

本研究以河川生態工法為案例探討對象,應用自行開發設計之網