國 立 交 通 大 學
電信工程學系
碩 士 論 文
通道匹配疊代解碼演算法之研究
A study of channel-matched iterative decoding
algorithm
研究生:許忠安
指導教授:張文輝博士
通道匹配疊代解碼演算法之研究
學生:許忠安 指導教授:張文輝 博士
國立交通大學電信工程學系碩士班
中文摘要
在數位通訊系統,訊源編碼器的設計受限於複雜度與延遲,其編 碼輸出序列仍有殘餘冗息存在。為了加強系統的強健性,我們在接收 端以渦輪碼原理設計疊代解碼演算法。其關鍵在於利用訊源殘餘冗息 和通道編碼提供的保護位元,在通道解碼器與訊源解碼器之間交叉利 用解碼輸出的額外訊息。藉由疊代次數增加,額外訊息的準確性也跟 著增加,而解碼效能也隨之提升。此外,在無線通道環境中常出現叢 集性錯誤,疊代解碼設計應考量錯誤之間的相關性。模擬結果顯示, 基於迴旋碼的疊代解碼效能較好,特別是與通道匹配的解碼機制可進 一步改善系統強健性。A study of channel-matched iterative decoding
algorithm
Student:Zo-Ein Shi Advisor:Dr. Wen-Whei Chang
Department of Communication Engineering
National Chiao Tung University
Abstract
Due to complexity and delay limit of source encoder, there exits source residual redundancy in digital communication. In order to enhance the system robustness, we proceed with iterative source-channel decoding based on a turbo principal at the receiver. The basic strategy is to exchange extrinsic information can be between the channel decoder and source decoder. Real channel are characterized by error burst due to the combined effects of intersymbol interference and multipath fading. It is therefore believed that further enhancement can be realized through a more precise characterization of the channel on which the iterative decoder design is based. Simulation results indicate that channel-matched iterative decoding based on convolutional code achieves the highest robustness against channel errors.
致謝
本篇論文的完成,首先感謝指導教授張文輝老師這兩年來的悉心 指導,讓我瞭解應該要以怎樣的態度作研究。尤其本來不是在通訊領 域上有所接觸的我,使老師要加倍教導。衷心感激老師不嫌棄我的資 質孥鈍,春風化雨。同時,也要謝謝實驗室的學長學弟們,平常在功 課生活及研究上有所照顧與討論,讓我能順利作研究。還要感謝家人 們及朋友們的鼓勵。最後再次感激實驗室 812A 的學長學弟及老師。目錄
中文摘要 ...i 英文摘要 ...ii 致謝 ...iii 目錄 ...iv 圖目錄 ...vii 表目錄 ...ix 第一章 緒論 ...1 1.1 研究動機與方向 ... 1 1.2 章節概要 ... 2 第二章 疊代編解碼演算法 ...3 2.1 疊代編解碼架構 ... 3 2.2 軟性位元訊源解碼 ... 6 2.3 額外訊息推導 ... 9 第三章 基於單一同位檢查碼的疊代解碼機制 ...12 3.1 通道編碼模型 ... 12 3.2 位元後驗機率推導 ... 133.3 通道解碼額外訊息的推導 ... 17 3.4 訊源解碼額外訊息的推導 ... 20 第四章 基於迴旋碼的疊代解碼機制 ...25 4.1 通道編碼模型 ... 25 4.2 無記憶性通道的解碼額外訊息推導 ... 27 4.3 記憶性通道的解碼額外訊息推導 ... 34 4.3.1 通道解碼額外訊息的計算 ... 35 4.3.2 訊源解碼額外訊息的計算 ... 37 第五章 實驗模擬與結果分析 ...39 5.1 基於單一同位檢查碼之疊代解碼實驗 ... 39 5.1.1 系模擬之步驟說明 ... 39 5.1.2 結果分析 ... 42 5.2 基於迴旋碼之疊代解碼實驗 ... 43 5.2.1 系統模擬之步驟說明 ... 43 5.2.2 結果分析 ... 44 5.3 記憶性通道之疊代解碼實驗 ... 45 5.3.1 系統模擬之步驟說明 ... 45 5.3.2 結果分析 ... 53
第六章 結論與未來展望 ...55
參考文獻 ...56
附錄 A 對數相似比率代數...57
圖目錄
圖 2.1 疊代編解碼機制 ... 4 圖 2.2 疊代解碼機制 ... 5 圖 2.3 區塊交錯器………6 圖 2.4 隨機交錯器 ... 6 圖 3.1 碼字的位元組合 ... 13 圖 3.2 接收區塊的相對位置 ... 14 圖 3.3 碼字位元的相對位置 ... 14 圖 4.1 R=1/2 的迴旋系統碼 ... 26 圖 4.2 迴旋系統碼的狀態圖(左)和籬柵圖(右) ... 26 圖 4.3 籬柵終止 ... 27 圖 4.4 前項遞迴機率籬柵圖 ... 30 圖 4.5 後項遞迴機率籬柵圖 ... 31 圖 4.6 Gilbert 模型 ... 35 圖 5.1 基於單一同位檢查碼之疊代解碼結果 ... 42 圖 5.2 基於迴旋碼之疊代解碼結果 ... 44 圖 5.3 使用區塊交錯器(L=150)但不考慮通道記憶性之結果 47 圖 5.4 利用通道記憶性與區塊交錯器(L=150)之結果 ... 48 圖 5.5 不考慮通道記憶性與交錯器之結果 ... 49圖 5.6 考慮通道記憶性但不使用交錯器之結果 ... 50
圖 5.7 考慮通道記憶性與隨機交錯器(L=150)之結果 ... 51
圖 5.8 考慮通道記憶性與隨機交錯器(L=1500)之結果 ... 52
表目錄
表 5.1 使用區塊交錯器(L=150)但不考慮通道記憶性的結果 46 表 5.2 利用通道記憶性與區塊交錯器(L=150)之結果 ... 47 表 5.3 不考慮通道記憶性與交錯器之結果 ... 48 表 5.4 考慮通道記憶性但不使用交錯器之結果 ... 49 表 5.5 考慮通道記憶性與隨機交錯器(L=150)之結果 ... 50 表 5.6 考慮通道記憶性與隨機交錯器(L=1500)之結果 ... 51 表 5.7 考慮通道記憶性與區塊交錯器(L=1500)之結果 ... 52第一章 緒論
1.1 研究動機與方向
在 1948 年,C.E.Shannon[1]發表了兩篇重要的理論:訊源編碼 理論(source coding theorem)和通道編碼理論(channel coding theorem)。訊源編碼理論指出,假設在通道不會發生錯誤情形下,當 資料壓縮速率至少為訊源的熵(entropy)時,則在訊源解碼時不會有 任何的失真發生。通道編碼理論指出,在訊源受到錯誤更正碼保護 後,假如經由無記憶通道傳輸時,資料傳輸速率小於或等於通道容量 (channel capacity)時,在解碼時不會有任何錯誤發生。依據上述理 論,訊源編碼和通道編碼雖然可以分別獨立處理,即在設計訊源編碼 時假設通道為零錯誤,在設計通道編碼時假設訊源完全被壓縮,即訊 源編碼輸出位元視為獨立同等分佈(i.i.d),可達到傳輸最佳化。但 仍有諸多條件限制,以致於在實際通訊系統裡無法實現。舉例而言, 對訊源和通道編碼器的複雜度和延遲沒有限制,且訊源和通道的編碼 區塊長度要趨於無限長度才可符合理論需求。但在真實通訊系統裡, 複雜度和延遲必須有所限制,所以當系統限制條件變多時,訊源和通 道編碼分開設計的模式變成次佳。因此實際情形是,訊源編碼後仍有 殘餘冗息存在,且經過通道解碼後仍有殘餘的位元錯誤存在。為了對 抗通道雜訊所衍生的錯誤,通道解碼器必須提供軟性輸出,而不是作
硬性判斷,且訊源解碼應利用到訊源編碼殘餘冗息。若通道環境會發 生叢發性錯誤,即通道有記憶特性,則在解碼時必須考量到記憶特性 以對抗雜訊干擾。
1.2 章節概要
第二章介紹疊代解碼概念及軟性位元訊源解碼架構。第三章則推 導疊代解碼演算法。第四章介紹基於迴旋碼的疊代解碼演算。第五章 為系統模擬。第六章為結論與未來展望。第二章 疊代編解碼演算法
依據 C.E.Shannon 的編碼理論,只要資料傳輸速率小於或等於通 道容量(channel capacity)時,則一定存在著一種通道編碼技術,使 其通道錯誤修正為一任意小的數值。然而並未指出如何去建構此最佳 理論系統,常見的線性區塊碼與迴旋碼都與 Shannon 的理論值有一段 差距。直到 1993 年,C.Berrou, A.Glavieux,和 P.Thitimajshima 共同提出渦輪碼(turbo codes)[2]才有突破。其編碼器由兩個遞迴系 統迴旋碼(recursive systematic convolutional codes)平行連結 (parallel concatenation)組成,並且以交錯器(interleaver)分 開。解碼時則以疊代方式在兩通道解碼器之間,交叉利用輸出的額外 訊息(extrinsic information),此額外訊息來自於兩個通道編碼器 提供的冗息。渦輪碼原理可應用在本論文的疊代架構[3]裡,不同的 是我們在通道解碼器與訊源解碼器之間進行,而額外訊息則來自於通 道編碼的冗息與訊源編碼的殘餘冗息。在本章中我們首先介紹採用渦 輪碼原理的疊代解碼架構,接著介紹疊代解碼的組成元件。
2.1 疊代編解碼架構
考慮在時間τ
內傳送一組由 M 個參數組成的參數向量{
,1, ,2,..., ,M}
uτ = uτ uτ uτ 至一雜訊通道,如圖 2.1 所示。針對一特定參數 ,k uτ ,進行 m 個位元的量化器處理後,所得的索引值經由位元映射(bit mapping)後,產生一組由 m 個位元所構成的位元組合{
}
,k ,k(0),..., ,k( 1) xτ xτ xτ m− 。交錯器Φ以明確的映射方式插置整組位 元組合xτ ={
xτ,1,...,xτ,M}
而得xτ ={
xτ,1,...,xτ,M}
。因量化後殘餘冗息存 在於位元組合xτ,k之間,若取代之以彼此沒有相關性的位元組合xτ,k進 行通道編碼,則產生的同位檢查位元就會與xτ,k沒有相關性,這樣一 來從通道解碼和訊源解碼攫取的額外訊息互相獨立,即可避免重複利 用到相同訊息的可能。通道編碼的碼字 yτ採用系統碼(systematic codes)形式,則在接收端即可直接取得訊息位元(information bits) 及其通道的相關訊息。 圖 2.1 疊代編碼機制 在接收端為了能進行疊代解碼,通道解碼器與訊源解碼器必須能提供 軟性輸入/輸出的功能,且軟性輸出值須能拆解成 3 項:事前訊息 , ( k( ) p xτλ
),通道相關訊息 p q( τ,k( ) |λ
xτ,k( )λ
),與額外訊息{
( ) ( )}
, , ( ( )), ( ( )) ext ext cd k sbsd k p xτ λ p xτ λ 。如圖 2.2 所示,為了簡化,標記符號不考慮交錯器影響。在第一次疊代解碼過程裡,沒有訊源解碼輸出的額 外訊息 ( ) , ( ( ) ext sbsd k p xτ λ )當作通道解碼器的附加事前訊息。反之,通道解 碼輸出的額外訊息 ( ) , ( ( ) ext cd k p xτ λ )則可傳遞給訊源解碼,視為其附加的 事前訊息而提升解碼輸出額外訊息 ( ) , ( ( ) ext sbsd k p xτ λ )的準確性。第二次疊 代時再把 ( ) , ( ( ) ext sbsd k p xτ λ )傳遞給通道解碼當作附加的事前訊息,之後疊 代依此類推。藉由額外訊息在兩解碼器之間的交叉傳遞,隨著疊代 次數增加,額外訊息的準確性也跟著提升。 圖 2.2 疊代解碼機制 此外,交錯器的大小和結構也會影響系統效能。以下介紹在實驗中使 用的交錯器。 [1] 區塊交錯器(block interleaver) 一個長度 L K⋅ 區塊交錯器可以以一個L K× 的矩陣表示。資料依 序寫入矩陣的列向量而以行向量讀取。如圖 2.3 所示,假設有一長度
24 的輸入序列,以3×8矩陣插置。 圖 2.3 區塊交錯器 [2] 隨機交錯器(random interleaver) 隨機交錯器使用一固定的隨機排列次序把輸入序列映射至輸出 序列。如圖 2.4 所示,假設有一長度 24 的輸入序列。 圖 2.4 隨機交錯器
2.2 軟性位元訊源解碼
在數位通訊系統裡,即使訊源受到通道編碼保護來對抗雜訊,但 在通道解碼後仍不能避免殘餘錯誤的存在。不同於硬性判斷(hard decision),軟性位元訊源解碼[4]利用訊源編碼後的殘餘冗息,並結 合參數預估以隱匿殘餘的錯誤。傳輸架構如圖 2.5 所示。圖 2.5 軟性位元訊源解碼器 考慮在時間
τ
傳送一參數uτ,k,進行量化處理得最近似碼字 , , ( ) k k x Q uτ =cτ ,其中xτ,k為該碼字對應的索引值。經由位元映射(bit mapping)後,產生一組由 m 個位元所構成的位元組合{
}
,k ,k(0),..., ,k( 1) xτ xτ xτ m− 。通道編碼以系統碼且碼率為 1/2 為例, 則輸出位元組yτ,k{
(
xτ,k( ),λ π
τ,k( ) , 0,1,...,λ
)
λ
= m−1}
,其中xτ,k( )λ
為 訊息位元而π
τ,k( )λ
為同位檢查位元。在接收端,分別令訊息位元與同 位檢查位元的接收實數序列為qτ,k{
qτ,k( ), 0,1,...,λ λ = m−1}
,以及{
}
,k ,k( ), 0,1,..., 1 zτ zτ λ λ = m− 1 ) τ τ− 。至於訊源解碼過程中的參數預估,則 根據下列步驟依序完成。 [1] 事前訊息的計算 為了適當利用訊源編碼的殘餘冗息,量化索引可模擬成 n 階馬可 夫程序 1 , 1, , , ( k | k ) ( k | n k p xτ xτ− = p xτ x − (2.1) 其中 1{
}
1,k 1,k, 2,k,..., 1, xτ− x x xτ− k ,而xττ−−1n k,{
xτ−n k, ,...,xτ−1,k}
) 。若n=0,我們 稱p x( τ,k 為零階事前訊息(0th其在統計上的描述為零階的馬可夫程序,即為一沒有記憶性的程序。 若n=1, 稱為一階事前訊息(first-order a priori knowledge,AK1),因其代表了一階的馬可夫程序。這些機率值皆以訓 練大量語料求得。至於階數設定則需考慮三項要點:量化索引的殘餘 冗息,運算複雜度,及效能和運算複雜度之間的取捨。 , 1, ( k | p xτ xτ− k) ) [2] 量化索引事後機率的計算 (A) AK0 模型: 如果量化索引序列提供零階事前訊息,利用貝氏定理則事後機率 為 , , , , , ( k | k) ( k | k) ( k p xτ zτ = ⋅C p zτ xτ ⋅ p xτ (2.2) 其中正規化常數 C= , , , , 1 ( | ) ( k k k k x ) p z x p x τ τ τ ⋅ τ
∑
。假設通道為 AWGN,則 ( )2 , , 0 1 , , , , 0 1 ( ) ( ) 0 0 ( | ) ( ( ) | ( )) 1 s k k m k k k k E m z x N p z x p z x e N τ τ τ τ τ τ λ λ λ λλ
λ
π
− = − − − = = = ⋅∏
∏
(2.3) (B) AK1 模型 如果量化索引序列提供一階事前訊息,則可利用事前機率 和接收序列 , 1, ( k | p xτ xτ− k) z1,τk{
z1,τ,z2,τ,...,zτ,k}
,求得個別索引的事後機 率。以遞迴形式呈現如下1, 1 , 1, , , , 1, 1, 1, ( | ) ( | ) ( | ) ( | k k k k k k k k k x p x z C p z x p x x p x z τ τ τ τ τ τ τ τ τ − − − − = ⋅ ⋅
∑
⋅ ) (2.4) 其中正規化常數 C= , 1, 1 , , , 1, 1, 1, 1 ( | ) ( | ) ( | k k k k k k k k x x ) p z x p x x p x z τ τ τ τ τ τ τ τ − − − − ⋅ ⋅∑
∑
[3] 參數估測使用最小均方誤差準則(minimum mean square error criterion), 重建後的參數為 (2.5) , , , ˆ ( | k k k x k x u cτ p x z τ τ τ =
∑
⋅ τ, 1,k) 其中 ,k x c τ 為索引xτ,k對應的量化參數碼字2.3 額外訊息推導
為了方便說明,我們以 AK0 模型來推導訊源解碼輸出的額外訊息 ( ) , ( ( ) ext sbsd k p xτ λ ),亦即考量存在於索引xτ,k所屬的個別位元之間的殘餘冗 息。令 ( ){
}
, , ( ), ext k k xτ = xτ j j≠ λ ,則xτ,k ={
xτ(,extk ),xτ,k( )λ}
,而其接收序列為{
( ) , , , , ( ) ext k k k zτ = zτ zτ λ}
。該位元後驗機率可表示為 { , , } , , , : ( ) ( ( ) | ) ( | k k k k k x x p x z p x z τ τ τ τ τ λλ
=∑
τ,k) (2.6) 其中{
xτ,k :xτ,k( )λ}
代表具有相同xτ,k( )λ
的索引集合。利用貝氏定理與 連鎖法則,並假設通道獨立可展開得 { , , } , , , , : ( ) ( ( ) | ) ( | ) ( ) k k k k k k x x p x z C p z x p x τ τ τ τ τ τ λλ
=∑
⋅ ⋅ τ,k = ⋅C p x( τ,k( ))λ
⋅ p z( τ,k( ) |λ
xτ,k( )λ
)( ) , ( ) ( ) ( ) , , , , ( | ) ( | ( ext k
ext ext ext
k k k k x p z x p x x τ τ τ τ τ
λ
)) ⋅∑
⋅ (2.7) 基於通道無記憶性假設,(2.7)式最後一項可簡化為 ( ) , ( ) ( ) ( ) , , , , ( | ) ( | ( ext kext ext ext
k k k k x p z x p x x τ τ τ ⋅ τ τ
λ
))∑
( ) , ( ) ( ) , , , ( , | ( )) ext k ext ext k k k x p z x x τ τ τ τλ
=∑
( ) , , ( extk | k( )) p zτ xτ λ = ) (2.8) 綜合(2.7)式和(2.8)式,訊源解碼的額外訊息定義為 ( ) ( ) , , , ( ( )) ( | ( ) ext ext sbsd k k k p xτ λ = p zτ xτ λ , , , , , ( ( ) | ) ( ( )) ( ( ) | ( ) k k k k k p x z C p x p z x τ τ τ τ τ )λ
λ
λ
λ
= ⋅ ⋅ (2.9) 其中正規化常數 C= , , , , 1 ( | ) ( k k k k x ) p z x p x τ τ τ ⋅ τ∑
。 此外,我們也以單一同位檢查碼來說明通道解碼輸出的額外訊息 ( ) , ( ( ) ext cd k p xτ λ )。 假設有一訊息位元序列xτ,k( )λ
,λ
=0,1,...,m−1,其單一同位檢查位 元為 ,k(0) ,k(1) ... ,k( 1) x x x m τ τ τ τπ
= ⊕ ⊕ ⊕ − 。 (2.10) 任一訊息位元xτ,k( )λ
可由同位檢查位元πτ與其剩餘訊息位元{
xτ,k( ), j j≠λ}
共同決定如下 ,k( ) ,k(0) ... ,k( 1) ,k( 1) ... ,k( 1) xτλ
=xτ ⊕ ⊕xτλ
− ⊕xτλ
+ ⊕ xτ m− ⊕π
τ。(2.11) 定義(
( ))
, , ( ), ext k k cd xτ = xτ λ x ,其中 ( ) , , , , ( (1),..., ( 1), ( 1),..., ( ), ) ext cd k k k k x xτ xτ λ− xτ λ + xτ m πτ (2.12)為同位檢查位元與其剩餘訊息位元xτ,k( )j 組成。若經由 AWGN 通道雜 訊干擾,接收一實數序列
{
( )}
, ( ), ext k cd qτ = qτ λ q 。藉由貝氏定理且假設通 道無記憶性,則該位元的後驗機率可表示成 p x( τ,k( ) |λ
qτ)= ⋅C p q( τ |xτ,k( ))λ
⋅ p x( τ ,k( )λ
) ( ) , , , , ( k( )) ( k( ) | k( )) ( cdext | k( )) C p xτ λ p qτ λ xτ λ p q xτ = ⋅ ⋅ ⋅ λ (2.13) 其中正規化常數 C= , , , ( ) 1 ( | ( )) ( ( )) k k k x p q x p x τ τ τ τ λλ
⋅λ
∑
定義通道解碼輸出的額外訊息為 ( ) ( ) , , ( ( )) ( | ( ) ext ext cd k cd k p xτ λ = p q xτ λ ) , , , , ( ( ) | ) ( ( )) ( ( ) | ( ) k k k k p x q C p x p q x τ τ τ τ τ )λ
λ
λ
λ
= ⋅ ⋅ (2.14)第三章 基於單一同位檢查碼的疊代解碼機制
疊代解碼演算首要工作為決定個別位元的後驗機率(a
posteriori probability),為了攫取最大的可靠增益以提升其準確 性,接收位元區塊必須完整地利用。我們嘗試以簡單的單一同位檢查 碼(single parity check code)執行通道編碼,同時整合訊源編碼所 殘餘的冗息,完成位元後驗機率的相關推導。結果發現其可拆解成四 項,其中兩項為額外消息(extrinsic information),分別由同位檢 查位元與訊源編碼殘餘冗息所提供。類似於渦輪碼原理(turbo principle),此兩項額外消息將是疊代解碼製作的關鍵元件,我們將 在以下章節中詳述其推導過程。
3.1 通道編碼模型
所謂的(n,k)二位元線性區塊碼(binary linear block codes),
其編碼機制為由一組 k 個位元組成的向量 xτ 映射至 n 個位元組成的向
量 yτ,此為一對一關係。此編碼過程可用 yτ = ⋅ 來表示,其中 Gx Gτ
為一k×n維度的矩陣。假設碼字(codeword) yτ之間作位元與位元的
modulo-2sum 的運算後仍為一合理碼字,則稱之為線性區塊碼。一個
元之中有 k 個位元來自 xτ 本身,剩下的 r=n-k 個位元則稱之為同位檢 查位元(parity check bits)。單一同位檢查碼(single parity check codes)就是一系統碼,以(4,3)碼且 r=1 為例, 1001 0101 0011 yτ xτ ⎛ ⎞ ⎜ ⎟ = ⋅⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 則同位檢查碼 ⊕ 3 1 (1) (2) (3) ( ) x x x x τ τ τ τ τ λ π λ = = ⊕ ⊕ =
∑
若考慮時間τ
內有一組參數向量 uτ,由三個參數{
uτ,k,k =1, 2,3}
組成。 個別參數uτ,k經量化器處理後,所得的索引值經由位元映射(bit mapping)後,產生一組 3 個位元的組合xτ,k{
xτ,k(1),xτ,k(2),xτ,k(3)}
。 同位檢查碼附加在每一行上,π λ
τ( )=xτ,1( )λ
⊕xτ,2( )λ
⊕xτ,3( )λ
, λ=1,2,3,則碼字yτ{
xτ.1( ),λ xτ,2( ),λ xτ,3( ),λ π λτ( )}
,λ=1,2,3,如圖 3.1 所示。 ,3 xτ ,2 xτ ,1 xτ τ π 圖 3.1 碼字的位元組合3.2 位元後驗機率推導
假設通道編碼如上一節所提,考慮經由雜訊干擾的通道接收一組12 個實數組成的序列
{
( ) ( )}
, ( ), , , ext ext k cd sbsd RE qτ qτ λ q q q S 。相對於特定的接收 位置qτ,k( )λ
, (ext)及 cd q qsbsd(ext)分別應用於通道解碼軟性位元訊源解碼,而 則包括其餘 6 個位置的接收值。接收區塊相對位置如圖 3.2 所示。 RES q := qτ := ,k( ) qτ λ := (ext) cd q q(sbsdext:=) qRES:= 圖 3.2 接收區塊的相對位置 依此區塊劃分原則,碼字yτ所屬的 12 個位元也可區分為{
( ) ( )}
, ( ), , , ext ext k cd sbsd RE yτ xτ λ x x x S ,其相對位置如圖 3.3 所示。 :=yτ xτ,k( )λ := xcd(ext):= xsbsd(ext):= xRES:=
圖 3.3 碼字位元的相對位置 為了得到特定位元xτ,k( )λ 的最大準確性預估值,其位元後驗機率可由 整組碼字yτ的邊際分佈機率(marginal distribution)求得 { , } , : ( ) ( ( ) | ) ( | k k y x p x q p y q τ τ ) τ τ λ
λ
=∑
τ τ (3.1) 其中{
y xτ τ: ,k( )λ}
代表具有相同xτ,k( )λ
位元值的碼字集合。利用貝氏定理 ( 'Bayes theorem)及連鎖法則(chain rule),可展開得
( | )
p yτ qτ =C p q⋅ ( τ | yτ)⋅ p y( τ)= ( ) ( ) ,
( | ) ( RES | cdext , sbsdext , k( )) C p q⋅ τ yτ ⋅ p x x x xτ
λ
( ) ( )
, ,
( cdext , sbsdext | k( )) ( k( ))
其中 C 為正規化常數 1 ( | ) ( ) y p q y p y τ τ τ ⋅ τ
∑
。 進一步的簡化則須考慮三個假設,首先假設訊源解碼與通道解碼過程 互相獨立,則 ( ) ( ) , ( cdext , sbsdext | k( )p x x xτ λ )= p x( cd(ext) |xsbsd(ext),xτ,k( ))λ ⋅ p x( sbsd(ext)|xτ,k( ))λ
, )) τ = ( ) ( ) , ( cdext | k( )) ( sbsdext | k( p x xτ λ ⋅ p x x λ 。 (3.3) 接著假設xRES與xτ,k( )
λ
沒有相關性,而且假設通道無記憶性,則 ( ) ( ) ,( RES | cdext , sbsdext , k( )) ( | (ext), (ext))
p x x x xτ λ = p xRES xcd xsbsd (3.4) ( | ) p qτ yτ = (3.5) ( ) ( ) ( ) ( ) , ,
( k( ) | k( )) ( cdext | cdext ) ( sbsdext | sbsdext ) ( RES | RES
p qτ λ xτ λ ⋅ p q x ⋅ p q x ⋅ p q x ) 整合(3.1)至(3.5)式,xτ,k( )
λ
的位元後驗機率為 , ( k( ) | ) p xτλ
qτ = C⋅p x( τ,k( ))λ
⋅ p q( τ,k( ) |λ
xτ,k( )λ
) ( ) ( ) ( ) ( ) , ( | ) ( | ( ext cdext ext ext
cd cd cd k x p q x p x xτ
λ
)) ⋅∑
⋅ ( ) ( ) ( ) ( ) , ( | ) ( | ( ext sbsdext ext ext sbsd sbsd sbsd k x p q x p x xτ
λ
)) ⋅∑
⋅ (3.6) ( ) ( ) ( | ) ( | , RES ext ext ) RES RES RES cd sbsd x p q x p x x x ⋅∑
⋅ 基於通道無記憶性假設,(3.6)式中最後一項可簡化成 ( ) ( ) ( | ) ( | , ) RES ext ext RES RES RES cd sbsd x p q x ⋅p x x x∑
( ) ( ) ( , | , ) RES ext ext = RES RES cd sbsd x p q x x x∑
= ( ) ( )( RES | cdext , sbsdext )
p q x x (3.7)
再利用通道解碼與訊源解碼互相獨立作用的假設,
( ) ( )
( RES | cdext , sbsdext )
= ( ) ( )
(
( ) ( ))
( cdext | RES) ( sbsdext | RES) ( RES) / ( cdext ) ( sbsdext )
p x q ⋅ p x q ⋅ p q p x ⋅ p x
)
= ( ) ( )
( RES | cdext ) ( RES | sbsdext ) / ( RES
p q x ⋅ p q x p q 。 (3.8) 將(3.7)和(3.8)式帶回(3.6)式可得 , , , ( k( )) ( k( ) | k( )) p xτ p qτ xτ p(xτ,k( ) |
λ
qτ)=C'⋅λ
⋅λ
λ
) ) ( ) ( ) ( ) ( ) ( ) , ( | ) ( | ( )) ( | ext cdext ext ext ext
cd cd cd k RES cd x p q x p x xτ
λ
p q x ⋅∑
⋅ ⋅ ( ) ( ) ( ) ( ) ( ) , ( | ) ( | ( )) ( | ext sbsdext ext ext ext
sbsd sbsd sbsd k RES sbsd x p q x p x xτ
λ
p q x ⋅∑
⋅ ⋅ (3.9) 其中 ' / ( RES) C =C p q ,而最後一項在無記憶性通道假設下又可化簡成 ( ) ( ) ( ) ( ) ( ) , ( | ) ( | ( )) ( | ext sbsdext ext ext ext
) sbsd sbsd sbsd k RES sbsd x p q x ⋅p x xτ
λ
⋅ p q x∑
= ( ) ( ) ( ) ( ) ( ) , , ( | , , ( )) ( | , ( )) ( | ( )) ext sbsdext ext ext ext
sbsd RES sbsd k RES sbsd k sbsd k x p q q x xτ
λ
⋅ p q x xτλ
⋅ p x xτ,λ
∑
= ( ) ( ) ( ) , ( , , | ( ) ext sbsd ext ext sbsd RES sbsd k x p q q x xτλ
)∑
( ) , p(qsbsdext ,qRES |xτ k( )) = λ (3.10) 同理第三項亦可作此化簡,所以(3.9)式 , , , ( k( ) | ) ' ( k( )) ( k( ) | ( )) p xτλ
qτ = ⋅C p xτλ
⋅ p qτλ
xτ ,kλ
, ) τ ( ) ( ) , ( ( )) ( ( ) ext ext cd k sbsd k p xτ λ p x λ ⋅ ⋅ (3.11) 其中 ( ) ( ) , , ( ( )) ( , | ( ) ext ext cd k cd RES k p xτ λ = p q q xτ λ ), ( ) ( ) , ( ( )) ( , | ( ) ext ext sbsd k sbsd RES k p xτ λ = p q q xτ, λ )由(3.11)式可知特定位元的後驗 機率可拆解成四個獨立成分,前兩項稱為固有訊息(intrinsic information),第一項為事前訊息,第二項為與通道有關的訊息。後 兩項稱為額外訊息(extrinsic information),即它們是從其他接收 值獲得訊息而不是從qτ,k( )λ
本身得知,其中 ( ) , ( ( ) ext cd k p xτ λ )來自於同位檢查位元所提供以位元為基礎(bit level)的冗息以及qRES, ( ) , ( ( ) ext sbsd k p xτ λ )則來自於qRES以及訊源編碼後以符號為基礎(parameter level)的殘餘冗息,相較於 ( ) , ( ( ) ext sbsd k p xτ λ ),(2.9)式中 ( ) , , ( extk | k( )) p zτ xτ λ p q( sbsd(ext) |xτ,k(λ))對於額外訊息的攫取只是從接收值 (ext) sbsd q 獲得資訊,這也是造成軟性位元訊源解碼系統效能無法進一步地 提升的主要原因。進一步分析(3.10)式可以得知額外訊息 ( ) , ( ( ) ext sbsd k p xτ λ )的攫取有 3 個來源。分別來自於通道相關訊息 ( ) ( ) ( sbsdext | sbsdext ) p q x ,位元組合xτ,k所屬位元之間的相關性 ( ) , ( sbsdext | k( p x xτ
λ
)),以及從其他位置接收值qRES獲取xsbsd(ext)的資訊p q( RES |xτ,k(
λ
))。假使(ext) sbsd x 個別位元分別經由通道編碼成為碼字內xRES的一部份,則 ( ) ( RES | sbsdext ) p q x 可經由通道解碼攫取 (ext) sbsd x 個別位元的額外訊息,這意味 著通道解碼輸出的額外訊息可以當作訊源解碼器輸入端的附加事前 訊息。同理可說明訊源解碼輸出的額外訊息可當作通道解碼器輸入端 的附加事前訊息。
3.3 通道解碼額外訊息的推導
為了得到通道額外訊息,通道解碼器必須可以提供軟性輸出值, 此值定義為對數相似比率(log-likelihood ratio)。我們將以對數相 似代數(log-likelihood algebra)[5]為基礎作演算。相較於在機率領域計算,可以節省複雜的運算,同時避免了在計算機上以有限位數 表示數值的問題。(3.11)式以對數相似比率表示 , , , , , , ( ( ) 1) ( ( ) | ( ) 1) ( ( ) | ) log log ( ( ) 1) ( ( ) | ( ) 1 k k k k k k p x p q x L x q p x p q x τ τ τ τ τ τ τ τ , ) k
λ
λ
λ
λ
λ
λ
λ
= = = + = − = − + ( ) ( ) , , ( ) ( ) , , ( ( ) 1) ( ( ) 1) log log ( ( ) 1) ( ( ) 1 ext ext cd k sbsd k ext ext cd k sbsd k p x p x p x p x τ τ τ τλ
λ
λ
λ
) = = + = − = − (3.12) 其中第二項在 AWGN 通道假設下可化簡為 , , , , , , ( ( ) | ( ) 1) ( ( ) | ( )) log ( ( ) | ( ) 1 k k k k k k p q x L q x p q x τ τ τ τ τ τ )λ
λ
λ
λ
λ
λ
= = = − = 2 , 0 , 2 0 , 0 exp ( ( ) 1) log 4 ( ) exp ( ( ) 1) s k s k s k E q N E q N E q N τ τ τλ
λ
λ
⎧ ⎫ − − ⎨ ⎬ ⎩ ⎭ = ⎧ ⎫ − + ⎨ ⎬ ⎩ ⎭ (3.13) (3.13)式的化簡可視為以對數運算降低計算複雜度的具體實現。 (3.12)式中第 3 項代表傳送位元xτ,k( )λ 由通道解碼所得的額外訊息, 可表示為 ( ) , ( ) , ( ) , ( ( ) 1) ( ( )) log ( ( ) 1 ext cd k ext cd k ext cd k p x L x p x τ τ τλ
λ
λ
) = = = − = ( ) , ( ) , ( ) , ( , | ( ) 1) log ( , | ( )) ( , | ( ) 1) ext cd RES k ext cd RES k ext cd RES k p q q x L q q x p q q x τ τ τλ
λ
λ
= = = − (3.14) 我們暫時先不考慮qRES,因其對L(cdext)(xτ,k( )λ )的影響可藉由額外訊息 的迴授來達成。由 3.1 節可知xτ,k( )λ
與 (ext) cd x 的關係以 modulo-2 sum表示 ( ) , , ( ) ( ) ext k cd k x l of x x l τ τ
∑
⊕ (3.15) ,k( ) xτ λ = 此累加必須作用於所有 (ext)包括的 cd x xτ,k( )l ( ) , ( ) , ( ) ,k ( ) ( ) , ( ) ,k ( ) ( | x ( ) 1) ( | ( )) log ( | x ( ) 1) ext k cd ext k cd ext cd x l of x ext cd k ext cd x l of x p q l L q x p q l τ τ τ τ τ λ ⎛ ⎞ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ = ⎛ ⎞ = − ⎜ ⎟ ⎜ ⎟ ⎝ ⎠∑
∑
⊕ ⊕ 假設xτ,k( )l 互相獨立(詳細推導過程示於附錄 A),則 ( ) , ( ) , , , ( ) ( ) , , , ( ) 1 tanh( ( ( ) | ( )) / 2) ( | ( )) log 1 tanh( ( ( ) | ( )) / 2) ext k cd ext k cd k k x l of x ext cd k k k x l of x L q x L q x L q x τ τ τ τ τ τ τλ
λ
λ
λ
λ
+ = −∏
∏
(3.17) 使用關係式tanh( / 2)u =(eu −1) /(eu +1)則{
}
( ) , ( ) , , ( ) ( ( ( )) 2 tanh tanh(L(q ( ) | ( )) / 2) ext k cd ext cd k k x l of x L q x ar l x l τ τλ
=∏
τ k τ, (3.18) 假設所有值 L(qτ,k( ) |l xτ,k( )) / 2l 都不一樣,且除了其中一項以外其他值都 很大,則 tanh 函數將趨進於飽和,{
}
, , , , tanh( (L qτk( ) |l xτk( )) / 2)l ≈sign L q( τ k( ) |l xτ k( ))l 。所以他們都可被提出,而 最小的一項留下。對這一項而言,tanh 和 artanh 函數作用抵銷,所 以(
)
( ) , ( ) , , ( ( ) ) ( | ( )) ( ( ) | ( ) ext k cd ext cd k k k x and of x L q x sign L q x τ τ τ τ λ π , ) τλ
≈∏
λ
λ
( ) , , , ( ( ) ) min ( ( ) | ( )) ext k cd k k x and of x L q x τ λ πτ τ τλ
λ
⋅ (3.19)我們以 符號簡略表達(3.19)式為 ( ) , ( ) , ,k ( ) ( ( )) L(q ( ) | ( )) ext k cd ext cd k k x l of x L x l x l τ τ λ =
∑
τ τ, 假使有額外訊息迴授,即把qRES影響考慮進來且事前訊息不為零,則 ( ) ( ) , , ( ( )) ( , | ( )) ext ext cd k cd RES k L xτ λ = L q q xτ λ = ( ) , ( ) , , , , ( ) ( ( )) ( ( ) | ( )) ( ( )) ext k cd ext k k k sbsd k x of x L x L q x L x τ τ τ τ τ λ λ + λ λ + λ∑
(3.20)3.4 訊源解碼額外訊息的推導
依據不同程度的訊源冗息,我們將利用 0 階事前訊息與 1 階事前訊 息來攫取額外訊息。同樣地 暫時不予考慮,我們從訊源解碼器的 軟性輸出值著手 RES q ( ) , ( ) , ( ) , ( ( ) 1) ( ( )) log ( ( ) 1 ext sbsd k ext sbsd k ext sbsd k p x L x p x τ τ τλ
λ
λ
) = = = − ( ) , ( ) , ( | ( ) 1 log ( | ( ) ext sbsd k ext sbsd k p q x p q x τ τλ
λ
) 1) = = = − ( ) ( ) ( ) ( ) ( ) , ( ) ( ) ( ) , ( | ( ) 1) ( | log ( | ( ) 1) ( | ext sbsd ext sbsdext ext ext
sbsd k sbsd sbsd x
ext ext ext
) ) sbsd k sbsd sbsd x p x x p q x p x x p q x τ τ
λ
λ
= ⋅ = = − ⋅∑
∑
(3.20) 為了簡化標記符號,我們使用另一變數 來表示用於訊源解碼過程的 接收序列 z= z sbsd q 。 [1] 0 階事前訊息的應用 由於量化索引值的不均勻機率分佈,量化索引xτ 所屬的個別位元之間存在著殘餘冗息。所以當只有考慮這層關係時
(
( ))
, , , , ( ) ext k k k xτ = xτ xτ λ , 其中 ( ) ( ) , ext ext k sbsd xτ = x 。(3.20)式可表示為 ( ) , ( ) , ( ) ( ) ( ) , , , , ( ) , ( ) ( ) ( ) , , , , ( | ( ) 1) ( | ( ( )) log ( | ( ) 1) ( | ext k ext kext ext ext
k k k k
x ext
sbsd k ext ext ext
k k k k x p x x p z x L x p x x p z x τ τ τ τ τ τ τ τ τ τ τ
λ
λ
λ
= ⋅ = = − ⋅∑
∑
) ) (3.21) 以 3 位元作量化為例,此累加 ( ) , ext k xτ 與有xτ,k( )λ
關連性共有 4 種組合。 假設通道無記憶性, ( ) ( ) , , , ( ) ( ) , , , ( ) , , , , ( ) ( ) , ( ) , , , , ( ) ( | ( ) 1) ( ( ) | ( ) ( ( )) log ( | ( ) 1) ( ( ) | ( ext ext k k k ext ext k k k ext k k k k x x l of x ext sbsd k ext k k k k x x l of x ) )) p x x p z l x l L x p x x p z l x l τ τ τ τ τ τ τ τ τ τ τ τ τ τ τλ
λ
λ
= ⋅ = = − ⋅∑
∏
∑
∏
(3.22) 此乘積必須作用於 ( ) , ext k xτ 所有位元。此外進一步分析,p z( τ,k( ) |l xτ,k( )l )可 表示成 (詳細推導過程示於附錄 B) ( , ( ) | , ( )) ( ) exp , ( ) ( , ( ) | , ( )) 2 k k k k k x l p zτ l xτ l = Ψ ⋅l ⎧⎨ τ ⋅L zτ l xτ l ⎫⎬ ⎩ ⎭ (3.23) 其中Ψ( )l 此項與其所處的位元位置有關,但對xτ,k( ) 1l = 與 則分別為一常數。當對 所有l , ,k( ) 1 xτ l = − ( )l Ψ l≠λ作乘積時 ( ) (3.24) , ( ) , ( ) , ( ) ext k ext k k x x l of x l C τ τ τ Ψ =∏
Ψ = 所以(3.22)式簡化成為( ) , ( ) , ( ) ( ) ( ) , , 1 , , ( ) , ( ) ( ) ( ) , , 1 , , ( | ( ) 1) ( | ( ( )) log ( | ( ) 1) ( | ext k ext k
ext ext ext
k k k k
x ext
sbsd k ext ext ext
k k k k x p x x z x L x p x x z x τ τ τ τ τ τ τ τ τ τ τ
λ
λ
λ
= ⋅ Θ = = − ⋅ Θ∑
∑
) ) (3.25) 其中 ( ) , , , ( ) ( ) 1 , , , , ( ) ( ) ( | ) exp ( ( ) | ( )) 2 ext k k k ext ext k k k k x l of x x l z x L z l x l τ τ τ τ τ τ τ ⎧ ⎫ ⎪ ⎪ Θ = ⎨ ⋅ ⎬ ⎪ ⎪ ⎩∑
⎭ ,而 ( ) , , ( extk | k( p xτ xτ λ))可由參數的非均勻分佈求得,即 0 階馬可夫性質 , ( k) p xτ 。此外 包含著通道的相關訊息。若進一步考慮將 通道額外訊息當作附加的事前消息,即把 ( ) ( ) 1( , | , ext ext k k zτ xτ Θ ) RES q 的影響納入考量,則修 改(3.25)式如下 ( ) , ( ) , ( ) ( ) ( ) , , 2 , , ( ) , ( ) ( ) ( ) , , 2 , , ( | ( ) 1) ( | ( ( )) log ( | ( ) 1) ( | ext k ext kext ext ext
k k k k
x ext
sbsd k ext ext ext
k k k k x p x x z x L x p x x z x τ τ τ τ τ τ τ τ τ τ τ
λ
λ
λ
= ⋅ Θ = = − ⋅ Θ∑
∑
) ) (3.26) 其中(
)
( ) , , , ( ) ( ) ( ) 2 , , , , , ( ) ( ) ( | ) exp ( ( ) | ( )) ( ( )) 2 ext k k kext ext ext
k k k k cd k x l of x x l z x L z l x l L x l τ τ τ τ τ τ τ τ ⎧ ⎫ ⎪ ⎪ Θ = ⎨ ⋅ + ⎬ ⎪ ⎪ ⎩
∑
⎭ [2] 1 階事前訊息的應用 除了考量xτ,k( )λ
與 ( ) , ext k xτ 之間的相關性,同時考慮音框間 (inter-frame)冗息將可大幅提升系統效能。我們從後驗機率著手, 令z1,τk ={
z1,k,z2,k,,,zτ,k}
, , , 1, , 1 ( ( ) 1| ) ( ( ) | ) log ( ( ) 1| k k k k k p x z L x z 1, , ) k p x z τ τ τ τ τ τλ
λ
λ
= = = − (3.27), , , , , 1, : ( ) 1 , 1, : ( ) 1 ( | ) log ( | k k k k k k x x k k x x ) p x z p x z τ τ τ τ τ τ λ τ τ λ = =− =
∑
∑
根據(2.4)式,利用個別索引事後機率替代 p x( τ,k |z1,τk)可得 , , 1, , , 1, 1 , , , 1, 1, 1, : ( ) 1 , 1, 1 , , , 1, 1, 1, : ( ) 1 ( | ) ( | ) ( | ) ( ( ) | ) log ( | ) ( | ) ( | k k k k k k k k k k k k x x x k k k k k k k k x x x p z x p x x p x z L x z ) p z x p x x p x z τ τ τ τ τ τ τ τ τ τ τ τ λ τ τ τ τ τ τ τ τ λλ
− − − − − = − − − =− ⋅ = ⋅∑
∑
∑
∑
(3.28) 在通道無記憶性情況下,p z( τ,k |xτ,k)可寫為個別位元的乘積, , , 1, 1 , , , 1, 1, 1, : ( ) 1 1 , 1, 1 , , , 1, 1, 1 : ( ) 1 1 ( ( ) | ( )) ( | ) ( | ) ( ( ) | ) log ( ( ) | ( )) ( | ) ( | k k k K k k k k k x x m x k k K k k k k k x x m x p z m x m p x x p x z L x z p z m x m p x x p x z τ τ τ τ τ τ τ τ τ λ τ τ τ τ τ τ τ τ λ λ − − − − = = − − − =− = ⋅ = ⋅∑
∏
∑
∑
∏
∑
, , 1, , ) k k k k k τ τ τ− k (3.29) 1, , 1, , 1 , , , , , 1, 1, 1, 1, : ( ) 1 1 , , , , , 1, 1, 1, 1, : ( ( ) | ( ) 1) ( ( ) | ( )) ( | ) ( | ) log ( ( ) | ( ) 1) ( ( ) | ( )) ( | ) ( | ) k k k k K k k k k k k k k x m m x x K k k k k k k k x m m x x p z x p z m x m p x x p x z p z x p z m x m p x x p x z τ τ τ τ τ τ τ τ τ τ τ τ τ λ λ τ τ τ τ τ τ τ τ λ λ λ λ λ − − − − − = ≠ = − − − = ≠ = ⋅ ⋅ ⋅ = = − ⋅ ⋅ ⋅∑
∏
∑
∑
∏
( ) 1 τ λ =−∑
1, , 1, , 1 , , , 1, 1, 1, 1, : ( ) 1 , , 1 , , , 1, 1, 1 1, : ( ) 1 ( ( ) | ( )) ( | ) ( | ) ( ( ) | ( )) log ( ( ) | ( )) ( | ) ( | k k k k K k k k k k x m m x x k k K k k k k k x m m x x p z m x m p x x p x z L z x , ) k k p z m x m p x x p x z τ τ τ τ τ τ τ τ τ τ τ τ λ λ τ τ τ τ τ τ τ τ λ λ λ λ − − − − − = ≠ = − − − = ≠ =− ⋅ ⋅ = + ⋅ ⋅∑
∏
∑
∑
∏
∑
(3.30) 此外,1 階事前消息p x( τ,k |xτ −1,k)可寫成 k − ) k 1 , 1 , 1 , 1, , 1, ( k( ), k(K ) | k( ), k) ( k( ) | ) p xτ λ− xτ λ+ xτ λ xτ− ⋅ p xτ λ xτ (3.31) ( ) , , 1, , 1, ( extk | k( ), k) ( k( ) | p xτ xτ λ xτ− p xτ λ xτ− = ⋅ 假設xτ,k( )λ
與xτ −1,k獨立,則p x( τ,k( ) |λ
xτ−1,k)= p x( τ,k( )λ
),而且, 1, , , , ( k( ) | k) ( k( )) ( k( ) | k( ) L xτ λ zτ = L xτ λ + L zτ λ xτ λ )+ , , 1, ( ) 1 , , , 1, , 1, 1, , ( ) 1 1, ( ) 1 , , , 1, , 1, 1, , ( ) 1 1, ( ( ) | ( )) ( | , ( ) 1) ( | ) log ( ( ) | ( )) ( | , ( ) 1) ( | k k k K ext k k k k k k k x x m m x K ext k k k k k k x x m m x p z m x m p x x x p x z p z m x m p x x x p x z τ τ τ τ τ τ τ τ τ τ λ λ τ τ τ τ τ τ τ λ λ λ λ − − − − = = ≠ − − − =− = ≠ = ⋅ = − ⋅
∑
∏
∑
∑
∏
∑
, , 1, ) k k k k τ τ τ− ) (3.32) 此後驗機率可拆解成 3 項,L x( τ,k( )λ
為事前訊息,L z( τ,k( ) |λ
xτ,k( )λ
)為 與通道有關的消息,第 3 項則為訊源解碼輸出的額外訊息。若進一步 將通道解碼輸出的額外訊息當作附加事前訊息,利用 替 代 ( ) ( ) 2( , | , ext ext k k zτ xτ Θ ) ) , , 1, ( ( ) | ( ) K k k m m p zτ m xτ m λ =∏
≠ ,則(3.32)式中第三項修改 ( ) 1, , ( ) 1, , ( ) ( ) ( ) 1 2 , , , 1, , 1, 1, ( ) , ( ) ( ) ( ) 1 2 , , , 1, , 1, 1, ( | ) ( | , ( ) 1) ( | ) ( ( )) log ( | ) ( | , ( ) 1) ( | ext k k ext k kext ext ext
k k k k k k k
x x
ext
sbsd k ext ext ext
k k k k k k k x x z x p x x x p x z L x z x p x x x p x z τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ λ λ λ − − − − − − − − Θ ⋅ = ⋅ = Θ ⋅ = − ⋅
∑
∑
∑
∑
) (3.33)第四章 基於迴旋碼的疊代解碼機制
在本章中我們使用迴旋碼為通道編碼,以期比單一同位檢查碼攫 取更多的通道額外訊息以提升效能。基於通道解碼器必須能提供軟性 輸出值,我們使用 BCJR 當作解碼演算法[6],因它能依最小化錯誤位 元原則作最佳估測。問題是 BCJR 演算法原是根據無記憶性通道假設 而推導,但在無線通訊環境中,傳輸信號常因符號間干擾(intersymbol interference)及多路徑衰減(multipath fading)等因 素,使錯誤不再像在加成性白色高斯雜訊通道中獨立發生,而是傾向 於叢集性出現。此通道稱具有記憶性,即錯誤之間在統計上具有相關 性,無記憶性二元對稱通道將不足以描述通道記憶的特性。所以我們 嘗試在迴旋碼的籬柵(trellis)結構下,在通道解碼時利用通道記憶 性以有效對抗這種叢發性錯誤。我們在 4.1 節簡介通道編碼模型,接 著在 4.2 節中先推導無記憶性通道的解碼額外訊息,最後在 4.3 節中 計算額外訊息時把通道記憶性納入考量。
4.1 通道編碼模型
迴旋碼為另一種常見的通道編碼機制,不同於區塊碼,它具有記憶特性,其編碼器是以線性序向電路(linear sequential circuit) 實現。考慮一個碼率 R=1/n,由 J 個暫存器組成的編碼器,假設在時 間 t 輸入端有一訊息位元 ,而輸出的碼字位元組合為ut
{
,0, ,1,..., , 1}
t t t t n y = y y y − 。迴旋編碼機制可利用生成多項式(generator polynomial)G Dl( )來描述, l=0,1,…,n-1,D 為一延遲作用子(delayoperator)。本論文所採用的迴旋系統碼(recursive systematic code) 如圖 4.1 所示,n=J=2,兩個生成多項式分別為G D0( )= ,1 2 1 2 1 ( ) 1 D G D D D + = + + 。 圖 4.1 R=1/2 的遞迴系統碼 此時輸出位元 與訊息位元 相同, 為同位檢查位元。我們可以 使用狀態圖來描述編碼器編碼運作,若以時間為軸將狀態圖做展開即 可得到籬柵圖,這將運用在解碼過程,如圖 4.2 所示 0 t y, ut yt,1
圖 4.2 遞迴系統碼的狀態圖(左)和籬柵圖(右) 1/11 表示訊息位元 為 1,輸出位元 為 11。此外當編碼結束時 會再多輸入非訊息位元的尾巴位元,迫使編碼器狀態回復原來的起始 狀態 S=0。以下為一可行作法, t u yt,0 yt,1 圖 4.3 籬柵終止 在編碼器輸入端做一開關,當在編碼時開關在 A,結束時在 B。
4.2 無記憶性通道的解碼額外訊息推導
假設通道編碼如上一節所提,並假設每次傳送是以訊息位元加上 尾巴位元共 M 個為一區塊,則接收的實數序列,t=0,1,…,M-1。對個 別位元言,qt l, = yt l, +nt l, ,qt{
qt,0,qt,1,...,qt n, −1}
,其中 為一零平均 值且變異數 t l n, 2 0/ 2 s N Eσ
= 的高斯雜訊取樣, 為通道的單邊雜訊功率 頻譜密度, 0 N s E 為每一編碼符號能量。我們以 BCJR 演算法估測每一訊 息位元 的後驗機率ut 1 , 0 0 ( k( ) | M ) ( | p xτλ
q − = p u qt M−1),並利用迴旋碼籬柵 結構,則通道解碼器的軟性輸出值為 1 0 1 0 ( 1| ) ˆ ( ) log ( 1| M t t M t p u q L u p u q − ) − = = = −1 1 0 ( ', ) 1 1 0 ( ', ) ( ', , log ( ', , t t M t t s s M t t s s p s s s s q p s s s s q + − − + ∈Ω − + ∈Ω = = = = = ) )
∑
∑
(4.4) 其中Ωt+為在時間 t 位元 =1 所對應從狀態ut st = 轉移到時間 t+1 狀s' 態st+1 = 的合理途徑集合,同理s Ω 為在時間 t 位元 =-1 所對應從狀t− 態 ' t u t s = 轉移到時間 t+1s st+1 = 的合理途徑集合,結合機率(joint s probability)可以表示為 1 1 0 1 0 1 ( t ', t , M ) ( t ', t , t , ,t t p s =s s+ =s q − = p s =s s+ =s q−1 q qM+−1) (4.5) 其中 1 0 t q− 表示在時間 t 以前接收的序列, 1 1 M t q+− 表示在時間 t 之後接收 的序列。 1 1 1 1 1 0 1 1 0 1 0 ( t ', t , M ) ( tM | t ', t , t , )t ( t ', t , t , p s =s s+ =s q − = p q+− s =s s+ =s q− q ⋅ p s =s s+ =s q− qt) 1 1 1 1 1 0 1 0 ( tM | t ', t , t , )t ( t , t | t ', t ) ( t ', 0t 1) p q+− s s s+ s q − q p s+ s q s s q− p s s q = = = ⋅ = = ⋅ = − (4.6) 因為在時間 t+1 之後的路徑僅視狀態st+1決定,而從狀態s 轉移至t st+1 與接收序列 1 0 M q − 無關,所以 1 1 1 1 0 (qtM+− |st =s s', t+ =s q, t−, )qt = p p(qtM+1−1|st+1 =s) (4.7) 1 1 0 1 ( t , t | t ', t ) ( t , t | t ') p s+ =s q s =s q− = p s+ =s q s =s (4.8) 結合機率則可以化簡為, 1 1 1 0 1 1 1 0 ( t ', t , M ) ( tM | t ) ( t , t | t ') ( t ', p s =s s+ =s q − = p q+− s+ = ⋅s p s+ =s q s =s ⋅ p s =s qt−1)=βt+1( )s ⋅γt( ', )s s ⋅αt( ')s (4.9) 其中 1 0 ( ') ( ', t ) t s p st s q
α
= − (4.10) 1 1( ) ( 1 | 1 ) M t s p qt st sβ
− + + + = (4.11) 1 ( ', ) ( , | ') t s s p st s q st t sγ
= + = = (4.12)α
,β
分別為前項(forward)和後項(backward)機率,因此 BCJR 演算 法也稱作前後項演算法。此外,前項和後項機率可以各自推導成遞迴 形式以降低運算,詳細推導如下。前項機率αt+1( )s 可展開為 1 1 0 1 ' ( ) ( , ) ( ', , ) t t t t t t t s 0 s p s s q p s s s s q σα
+ + + ∈ = = =∑
= = 1 1 0 ' ( , | ', ) ( ', t t t t t t s 1 0 ) t p s s q s s q p s s q σ − − + ∈ =∑
= = ⋅ = (4.13) 因為接收序列 1 0 t q− 與s 至t st+1的轉移路徑無關,所以前項機率可寫為 1 1 1 0 ' ( ) ( , | ') ( ', ) t t t t t t t s 0 s p s s q s s p s s q σα
− + + ∈ =∑
= = ⋅ = ' ( ', ) ( ') t t t s s s s σγ
α
∈ =∑
⋅ (4.14) 其中σt為在時間 t 所有狀態的集合。因編碼器的起始狀態為 , 前項遞迴機率在時間 t=0 的初始設定為 0 0 s = 0 1, s=0 ( ) 0, s 0 sα
= ⎨⎧ ≠ ⎩ (4.15) 此外,為了避免在計算上出現數值過小的問題,我們必須正常化 1( ) t s α +1 ' 1 ' ( ', ) ( ') ( ) ( ', ) ( ') t t t t t s t t t s s s s s s s s s σ σ σ