• 沒有找到結果。

軟性位元解碼在錯誤隱匿之研究

N/A
N/A
Protected

Academic year: 2021

Share "軟性位元解碼在錯誤隱匿之研究"

Copied!
58
0
0

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

全文

(1)國 立 交 通 大 學 電信工程學系 碩 士 論 文 軟性位元解碼在錯誤隱匿之研究 Softbit Decoding for Error Concealment over Noisy Channels. 研 究 生:葉志杰 指導教授:張文輝 博士. 中. 華. 民. 國. 九. 十. 四. 年. 六. 月.

(2) 軟性位元解碼在錯誤隱匿之研究 Softbit Decoding for Error Concealment over Noisy Channels 研 究 生:葉志杰. Student:Chih-Chieh Yeh. 指導教授:張文輝. Advisor:Wen-Whei Chang. 國立交通大學 電信工程學系碩士班 碩士論文 A Thesis Submitted to Institute of Communication Engineering College of Electrical Engineering and Computer Science National Chiao Tung University in Partial Fulfillment of Requirements for the Degree of Master of Science in Communication Engineering. June 2005 Hsinchu, Taiwan, Republic of China. 中 華 民 國 九 十 四 年 六 月.

(3) 軟性位元解碼在錯誤隱匿之研究. 學生:葉志杰. 指導教授:張文輝 博士. 國立交通大學電信工程學系碩士班. 中文摘要 在數位通訊系統的設計,針對通道編碼器無法消除之殘餘位元錯 誤作進一步的隱匿處理有其必要性。本論文研究一種結合硬性位元判 定和其可靠度的軟性位元解碼演算法,其關鍵在利用量化索引的事前 消息且使用 BCJR 軟性輸出解碼演算法所提供的位元可靠消息。傳統 的 BCJR 演算法以位元層級為基礎,其目標為計算每一個傳送位元的 事後機率。為了改善錯誤隱匿功能,我們修改軟性輸出通道解碼的 BCJR 演算法,主要特色是同時利用位元層級和索引層級的相關性。 自迴歸訊號源的模擬結果指出,基於索引的 BCJR 演算法和索引的一 階事前消息的使用,對於軟性位元解碼有最好的錯誤隱匿表現。. i.

(4) Softbit Decoding for Error Concealment over Noisy Channels Student:Chih-Chieh Yeh. Advisor:Dr. Wen-Whei Chang. Institute of Communication Engineering National Chiao Tung University Abstract In digital communication over noisy channels there is a need for concealment of residual bit errors which have not been eliminated by standard channel decoding. A soft-bit decoding scheme based on joint knowledge of a hard bit and its reliability is studied and applied to quantization of autoregressive sources over AWGN channels. This approach exploits a priori knowledge about the quantizer’s indexes and requires bit reliability information provided by the soft-output channel decoder using the BCJR algorithm. Conventional BCJR algorithm aims to compute the a posteriori probability of each transmitted bit and hence is based on the bit-level. For further improvement, we propose a modified BCJR algorithm which exploits bit-level correlation as well as index-level correlation in the soft-output channel decoding process. Simulation results indicate that for the soft-bit decoding, the combined use of a modified BCJR algorithm and the index’s first-order a priori knowledge performs the best for error concealment under noisy channel conditions. ii.

(5) 誌謝. 本篇論文的完成,首先要感謝指導教授張文輝老師,由於老師的 悉心指導,讓我了解到做研究的態度與方法。另外也要感謝實驗室的 學長、同學以及學弟們,在課業或研究上協助我解決問題,同時,也 要感謝我的朋友們,一路伴隨我走過研究所。最後,僅將此論文獻給 我親愛的父母與家人。. iii.

(6) 目錄 中文摘要..................................................i 英文摘要.................................................ii 致謝....................................................iii 目錄.....................................................iv 圖目錄..................................................vii. 第一章 緒論...............................................1 1.1. 研究動機與方向...................................1. 1.2. 章節概要.........................................2. 第二章 軟性位元解碼.......................................3 2.1. 硬性位元解碼演算法...............................3. 2.2. 軟性位元解碼演算法...............................5. 第三章 基於位元的軟性輸出通道解碼........................13 3.1. 迴旋編碼器的架構................................14. 3.2. 以位元為基礎的 BCJR 演算法.......................15. iv.

(7) 3.2.1 前向機率的推導.............................18 3.2.2 後向機率的推導.............................20 3.2.3 機率 γ 的推導...............................22 3.2.4 對數相似比率的計算.........................24. 第四章 基於索引的軟性輸出通道解碼........................26 4.1. 基於索引的迴旋編碼器架構........................26. 4.2. 基於索引的 BCJR 演算法...........................28. 4.3. 前向和後向機率的初始條件設定....................32. 第五章 實驗模擬與結果分析................................36 5.1. 基於位元的軟性輸出通道解碼系統之模擬............36 5.1.1 系統模擬之步驟說明.........................36 5.1.2 結果分析...................................40. 5.2. 基於索引的軟性輸出通道解碼系統架之模擬..........40 5.2.1 系統模擬之步驟說明.........................40 5.2.2 結果分析...................................43. 5.3. 基於位元與基於索引之系統綜合結果分析和比較......43. v.

(8) 第六章 結論與未來展望....................................46 6.1. 結論............................................46. 6.2. 未來展望........................................47. 參考文獻.................................................48. vi.

(9) 圖目錄 圖 2.1 硬性位元解碼系統架構................................5 圖 2.2 軟性位元解碼系統架構................................6 圖 3.1 迴旋編碼器架構.....................................15 圖 3.2 前向機率計算的格子架構.............................20 圖 3.3 後向機率計算的格子架構.............................22 圖 4.1 基於索引的迴旋編碼器架構...........................28 圖 5.1 基於位元的軟性位元解碼之系統模擬...................39 圖 5.2 基於索引的軟性位元解碼之系統模擬...................42 圖 5.3 基於位元與索引系統之比較...........................44 圖 5.4 結合 AK1 與不同解碼之比較...........................45. vii.

(10) 第一章 緒論. 1.1 研究動機與方向 在典型的數位通訊系統裡,傳送的訊號源經通道到接收端,通常 都會遭受到通道環境雜訊等諸多效應的干擾,致使接收到的訊號無法 判別重建出原始傳送訊號的樣貌。所以我們必須設法改進通訊系統, 以期增強其對抗通道雜訊之能力。 又在傳統的數位通訊系統裡,通常都是將訊源編碼(source coding)和通道編碼(channel coding)兩個系統區塊分開考量和獨 立設計,此設計概念乃源自於沈農(Shannon)的消息理論[1]。此理 論假設在設計個別的編碼架構時,前提假設另一個編碼器是最佳化設 計,但這不符合實際的通訊環境。訊源編碼器在編碼處理後,無法完 全去除輸出訊號間之關聯性,即輸出訊號之間彼此不是獨立同等分佈 (i.i.d.),其間存在某種型式的分佈或隱含有記憶性,而通道編碼 的輸出亦然。因此,若能妥善利用訊號源在編碼後之殘餘冗息 (residual redundancy) ,應能有效提升系統效能,進而對抗通道雜 訊之干擾。有鑑於此,合併訊源通道解碼(joint source-channel decoding)[2]相關研究之目的是,在接收端將訊源解碼器和通道解 碼器之效應一併納入架構設計的考量。. 1.

(11) 1.2 章節概要 第二章介紹了軟性位元解碼演算法。第三章描述了基於位元的軟 性輸出通道解碼演算法的架構。第四章則為基於索引的軟性輸出通道 解碼演算法。第五章為實驗模擬,模擬前二章所提及之演算法架構, 並且為基於此兩架構下之模擬結果作效能評估與比較。第六章為結論 與未來展望。. 2.

(12) 第二章 軟性位元解碼. 在本章中,我們介紹了一個近年來發展用於對語音在傳送時做錯 誤隱匿(error concealment)[3]的方法,稱為軟性位元解碼演算法 (soft-bit decoding)[4]。有別於傳統的硬性位元解碼(hard-bit decoding),其主要的差異點在於軟性位元解碼不僅須執行位元為 0 或 1 的硬性判定,還得知道該位元判定的可靠度(reliability) ,亦 即位元錯誤機率的正確估計。結合這兩項資訊,並利用事前針對大量 訓練語料分析所得的殘餘冗息(residual redundancy) ,實驗證實可 以有效對抗傳輸錯誤取得語音參數的最佳估測結果。 以下,我們將首先在第一節裡介紹硬性位元解碼演算法,接著在 第二節介紹軟性位元解碼演算法,並說明其演算法之流程架構。. 2.1 硬性位元解碼演算法 考慮傳送一個特定參數 vt ∈ R 至一個雜訊通道,其系統架構圖如 圖 2.1 所 示 。 首 先 將 此 參 數 v t 進 行 M 位 元 的 量 化 處 理 而 得 Q ( vt ) = cxt ,其中 xt 為一索引(index)且屬於一組有限的整數集合. J = {0,1,..., 2 M − 1} 。經由位元對映轉換(bit mapping, BM ),針對. 每一個整數索引值 xt 指派一個由 M 個位元所構成的位元組合:. 3.

(13) Xt. {x. t ,0. , xt ,1 ,..., xt ,M −1} 。. (2.1). 為 了 標 記 符 號 的 簡 化 , 我 們 使 用 另 一 個 變 數 uk 來 表 示 訊 息 位 元 (information bit) uk = xt ,m , m = 0,1,..., M − 1 ,其中 k = tM + m 是 以位元方式表示的時間索引(bit-wise time index) 。在時間為 k 時, ,作編碼 將單一訊息位元 uk 送進一個通道編碼器(channel encoder). {y. 處理後再輸出一個 N l 位元組合 Y k. k ,0. }. , yk ,1 ,..., yk , Nl −1 ,其中1 N l 為通. 道編碼率(channel coding rate)。若考慮經由雜訊干擾的通道傳送 一群 N c 個訊息位元,則接收到的實數序列為 Yˆ k. { yˆ. k ,0. }. , yˆ k ,1 ,..., yˆ k , Nl −1 ,. k = 0,1,..., N c − 1 。對個別位元而言,. yˆ k ,l = yk ,l + n k ,l ,. (2.2). 其中的 nk ,l 為零平均值,且變異數為 σ 2 = N 0 ( 2 Es ) 的高斯雜訊取樣, Es 為每一編碼符號的能量,而 N 0 為通道的單邊雜訊功率頻譜密度。. 在接收端,硬性位元解碼的工作流程如下:經過通道解碼器(channel decoder)處理後,所得的位元組合 X t. {x. t ,0. , xt ,1 ,..., xt ,M −1} 執行反向位. 元對映轉換(inverse bit mapping, BM -1 )找出相對應的索引 xt 。 最後,再經過碼書查詢(codebook lookup)而決定出被重建的參數 vˆt 。. 4.

(14) 圖 2.1 硬性位元解碼系統架構. 2.2 軟性位元解碼演算法 軟性位元具有雙重的涵意,除了對接收訊號位元 xt ,m 作硬性判定 而得一位元 xt ,m = i ∈ {−1,1} 之外,作此判定的位元錯誤機率 Pe ( xt ,m ) 也 要被考慮進去。而其中的 Pe ( xt ,m ) 代表接收到的訊號受到通道特性和 通道編碼的影響,而致使 xt ,m 是否能被正確解碼的機率。換言之,所. {. }. 謂的軟性位元 xt ,m , Pe ( xt ,m ) [5],結合了接收訊號的硬性判定(hard decision)和關於此判定的可靠訊息(reliability information)。 軟性位元解碼的整體系統架構,如圖 2.2 所示,主要包括下列五項執 行步驟。. 5.

(15) 圖 2.2 軟性位元解碼系統架構. 【1】可靠訊息的計算 在傳送端使用通道編碼器的情況下,為了得到每一個解碼後位元 的可靠訊息,我們需要採用有軟性輸出的通道解碼器(soft-output channel decoder)。在軟性輸出通道解碼器[6]的輸出端,一個傳送 位元 xt ,m 的對數相似比率(log-likelihood ratio, LLR)通常表示為:. L0 ( xt ,m ) = log. (. N c −1 P xt ,m = 1| Yˆ 0. (. P xt ,m. ) ). N c −1 = −1| Yˆ 0. (2.3). ). (. N c −1 , i ∈ {1, −1} 為 訊 息 位 元 xt ,m 的 事 後 機 率 ( a 其 中 P xt ,m = i | Yˆ 0. posteriori probabilities, APPs),而接收端輸入至通道解碼器的. {. }. N c −1 序 列 則 為 Yˆ 0 = Yˆ 0 , Yˆ 1 ,..., Yˆ Nc −1 。 當 使 用 迴 旋 碼 ( convolutional. code)於通道編碼器時,對數相似比率 L0 ( xt ,m ) 及解碼位元的事後機 6.

(16) 率的推導將於下個章節中詳述。 取得 L0 ( xt ,m ) 值之後,傳送位元 xt ,m 的硬性判定為:. xt ,m = sign ⎡⎣ L0 ( xt ,m ) ⎤⎦. (2.4). 而其相對應的可靠訊息為:. ). ( (. ⎧ P x = 1| Yˆ Nc −1 0 t ,m ⎪⎪ Pe ( xt ,m ) = ⎨ ⎪ P x = −1| Yˆ Nc −1 0 t ,m ⎪⎩. if L0 ( xt ,m ) < 0. ). if L0 ( xt ,m ) > 0. (2.5). 由(2.3)式,我們可以推導出:. ). (. N c −1 P xt ,m = −1| Yˆ 0 =. 1 1 + exp ⎡⎣ L0 ( xt ,m ) ⎤⎦. (2.6). 和. ). (. (. N c −1 N c −1 P xt ,m = 1| Yˆ 0 = 1 − P xt ,m = −1| Yˆ 0. ). exp ⎡⎣ L0 ( xt ,m ) ⎤⎦. =. 1 + exp ⎡⎣ L0 ( xt ,m ) ⎤⎦. =. 1 1 + exp ⎡⎣ − L0 ( xt ,m ) ⎤⎦. (2.7). 比較(2.6)、 (2.7)、及(2.5)式,可靠訊息可表示為:. Pe ( xt ,m ) =. 1 1 + exp L0 ( xt ,m ). 【2】索引的通道移轉機率之計算 7. (2.8).

(17) 在給定一傳送位元 xt ,m 情況下,解碼所得的硬性位元為 xt ,m 的通道 移轉機率(channel transition probability)為: ⎧1 − Pe ( xt ,m ) ⎪ P ( xt ,m | xt ,m ) = ⎨ ⎪⎩ Pe ( xt ,m ). if xt ,m = xt ,m if xt ,m ≠ xt ,m. (2.9). 進一步假設通道為無記憶性(memoryless),則索引 xt 的通道移轉機 率將為: M −1. P ( xt | xt ) = ∏ P ( xt ,m | xt ,m ) , xt ∈ {0,1,..., 2 M − 1} (2.10) m =0. 此項提供了 2M 種可能的傳送索引 xt 最後經解碼判定為索引 xt 的機率。. 【3】事前消息的計算 在一般的情況下,通常會把量化輸出的索引序列模擬成一個 N 階 馬可夫程序( Nth -order Markov process),即 P ( xt | x0t −1 ) = P ( xt | xtt−−1N ). 其中 x0t −1. (2.11). { x0 , x1 ,..., xt −1}。由此可知,量化索引序列若視為 N 階馬可夫. 程序,意謂著現在發生的事件僅與過去剛發生的 N 個事件有關聯性, 亦即此序列在時間上有可回溯 N 個時間點的記憶特性。 為了找出適當的馬可夫階數,我們通常會先行量測索引序列的相 關機率,如 P ( xt ) 、 P ( xt | xt −1 ) ,或者是更高階的條件機率。這些機率 值皆以訓練(training)方式求得,主要是將語音資料庫裡的大量語 8.

(18) 料作量化處理,然後計算每一量化索引的發生次數或相鄰兩量化索引 共同發生的次數,進而求得其條件機率。 我們稱 P ( xt ) 為零階事前消息( 0th order a priori knowledge, AK0) ,因其在統計上的描述為零階的馬可夫程序,亦即表示為一個沒 有記憶性的程序。若假設每一個索引的發生機率相同,P ( xt ) = 1 2 M , 則稱之為無事前消息(no a priori knowledge, NAK)。除此之外, 我們稱 P ( xt | xt −1 ) 為一階事前消息(first-order a priori knowledge, AK1) ,因其代表了一階的馬可夫程序。至於馬可夫程序階數的最佳設 定,必須參考三項要點:1)量化索引的殘餘冗息,2)運算複雜度,及 3)效能和運算複雜度之間的衡量取捨。. 【4】量化索引事後機率的計算 在接收端,首要任務是準確估測每一個量化索引 xt 的事後機率(a posteriori probabilities)。而其計算方法,又會因為索引序列的 馬可夫階數作不同假設而有明顯差異。 (A) NAK 的計算方法: 如果沒有索引序列的事前消息可用,就必須假設量化器的輸出索 引互不相關(uncorrelated)且機率皆為均等(equally likely)。 在此情形下,就只能利用通道的相關訊息,因此 xt 的事後機率為:. 9.

(19) P ( xt | xt ) = C ⋅ P ( xt | xt ). (2.12). 其中 C 為正規化常數:. C=. 1 ∑ P ( xt | xt ). xt ∈J. 其 中 J = {0,1,..., 2 M − 1} 。 常 數 C 是 用 來 正 規 化 事 後 機 率 , 而 使 得. ∑. xt ∈J. P ( xt | xt ) = 1 。特別強調的是,在一般實際的編碼架構下,量化. 輸出索引為機率均等的假設,通常是不成立的。舉例而言,廣為使用 的 Lloyd-Max 量化器,在每一個量化間隔內,會產生相同的量化錯誤 變異數(quantization error variance) ,但並不會產生出均等的機 率值 P ( xt ) 。 (B) AK0 的計算方法: 如果量化索引序列提供零階事前消息,再配合使用貝氏定理 (Bayes rule),即可推導其事後機率為:. P ( xt | xt ) = C ⋅ P ( xt | xt ) ⋅ P ( xt ). (2.13). 其中正規化常數 C 為:. C=. 1 ∑ P ( xt | xt ) ⋅ P ( xt ). xt ∈J. 若所有量化輸出索引的機率均等,即 P ( xt ) = 2− M ,那麼(2.13)式將 簡化為(2.12)式,使用 AK0 與 NAK 的方法完全相同。 (C) AK1 的計算方法:. 10.

(20) 在上述 AK0 的方法中,僅使用到個別索引的事前機率 P ( xt ) ,這 是因為我們假設相鄰兩索引之間為互相獨立。但若是索引間仍存在有 一階的殘餘相關性,便可擴充我們的事後機率計算,將此一階的索引 事前訊息也納入考量之中。 在接收端,我們可利用的最大訊息量來自直至目前為止已完成的 通道解碼器輸出序列 x0 , x 1 ,..., xt 。因此利用大量語料訓練而得的事前 機率 P ( xt | xt −1 ) 和已接收到的索引序列 x0t. { x0 , x1 ,..., xt } ,我們可以求. 得個別索引的事後機率,並以遞迴的形式呈現如下: P ( xt | x0t ) = C ⋅ P ( xt | xt ) ⋅. ∑ P(x | x )⋅ P(x. xt −1∈J. t. t −1. t −1. | x0t −1 ) (2.14). 其中正規化常數 C 為:. C=. ∑ P( x | x ) ⋅ ∑. xt ∈J. t. t. xt −1∈J. 1 P ( xt | xt −1 ) ⋅ P ( xt −1 | x0t −1 ). 倘若相鄰索引間沒有殘餘的相關性, P ( xt | xt −1 ) = P ( xt ) ,則使用 AK1 與使用 AK0 的結果相同。另外,值得一提的是,(2.14)在計算上並 不需要任何時間上的延遲。. 【5】參數估測 若能順利依次完成上述的幾個步驟,取得每一個傳送索引的事後 機率 P ( xt | xt ) 或 P ( xt | x0t ) , xt ∈ J ,最後一個步驟就是根據事後機率 進行參數估測。就一般語音參數而言,大多使用最小均方錯誤準則 11.

(21) (minimum mean square error criterion)來估測參數。依其估測 準則,重建後的參數 vˆt 如下所示: vˆt = ∑ cxt ⋅ P ( xt | x0t ) xt ∈J. 其中的 cxt 為索引 xt 所對應的量化參數值。. 12. (2.15).

(22) 第三章 基於位元的軟性輸出通道解碼. 為了使通訊系統在傳送的過程中,擁有錯誤保護的功能,我們加 入了通道編碼。在此,加入的通道編碼為廣受一般所使用的迴旋碼。 伴隨著迴旋碼的使用而在通道解碼器擔任相對應解碼工作的通常是 Viterbi 演算法,但如上一章所述,為了使用軟性位元解碼,通道解 碼器必須提供解每一解碼後位元的硬性判定和其可靠訊息。不幸的 是,在傳統的 Viterbi 演算法架構下,通道解碼器僅能執行硬性判定 而 提 供 最 大 可 能 傳 送 序 列 ( the most probable transmitted sequence)的訊息,無法供給軟性位元解碼所需的可靠訊息。為克服 這個問題,於是有軟性輸出 Viterbi 演算法(soft-output Viterbi algorithm, SOVA)[7]被提出。雖然藉著其改善,可以提供每一解碼 後位元的軟性輸出,但其仍屬於次佳(sub-optimal)的估測,因為 SOVA 不是針對每一解碼後位元的可靠訊息作最佳的估測。而就我們 所知的,BCJR 演算法[6][8]可以提供每一解碼後位元的可靠訊息, 且它會針對最小化位元錯誤機率作最佳估測。因此在軟性位元解碼演 算法裡,我們用 BCJR 演算法當作是迴旋碼的解碼演算法。 在本章中,我們將先大略簡介迴旋碼通道編碼器的架構,接著詳 述以位元為基礎的 BCJR 演算法(bit-based BCJR algorithm)架構. 13.

(23) 及推導。. 3.1 迴旋編碼器的架構 考慮一個限制長度(constraint length)為 M c + 1 而暫存記憶 體為 M c 的迴旋碼編碼器,假設在時間 k ,編碼器的輸入為消息位元 ( information bit ) uk , 而 輸 出 為 編 碼 位 元 組 ( coded bits ). Yk. {y. k ,0. }. , yk ,1 ,..., yk , Nl −1 ,其中1 N l 為編碼率(coding rate)。對個別. 位元而言, yk ,l , l = 0,1,..., Nl − 1 由下式產生: Mc. yk ,l = ∑ g il uk −i mod 2, gil ∈ {0,1}. (3.1). i =0. 其中編碼產生器多項式(encoder generator polynomials)定義為:. Gl ( D ) = g0l + Dg1l + D 2 g1l + … + D M c g Ml c , l = 0,1,…, Nl − 1 (3.2) 一個典型的迴旋碼編碼器的架構圖如圖 3.1 所示,圖中架構的限制長 度為 5 和編碼率為1 2 ,而產生器多項式為 G1 ( D ) = 1 + D 2 + D 3 + D 4. (3.3). G2 ( D ) = 1 + D1 + D 4. (3.4). 編碼器的狀態 Sk 由移位暫存器(shift register)的最近 M c 個輸入 位元所決定: Sk =. M c −1. ∑2u i =0. 14. i. k −i −1. (3.5).

(24) 在時間為零時,初始狀態 S0 = 0 ,當消息位元傳送結束時,必須多輸 入額外 M c 個為 0 的尾巴位元(tail bits)進入編碼器,以迫使編碼 器的狀態回歸至 0 。. 圖 3.1 迴旋編碼器架構. 3.2 以位元為基礎的 BCJR 演算法 假設通訊系統裡的通道編碼器之架構如上一節所提及,並且假設 在每次的傳送以 N c 個消息位元為一個區塊,如此,接收到的實數序 列為 Yˆ k. { yˆ. k ,0. }. , yˆ k ,1 ,..., yˆ k , Nl −1 , k = 0,1,..., N c − 1 。對個別位元而言,. yˆ k ,l = yk ,l + n k ,l. (3.6). 其中的 nk ,l 為零平均值,且變異數為 σ 2 = N 0 ( 2 Es ) 的高斯雜訊取樣, Es 為每一編碼符號的能量,而 N 0 為通道的單邊雜訊功率頻譜密度。. 在上一章中,為了使用軟性位元解碼,我們必須求得硬性判定的 15.

(25) 可靠訊息:. Pe ( xt ,m ) =. 1 1 + exp L0 ( xt ,m ). (3.7). 而為了獲得這個可靠訊息,同樣地,我們必須先求得上式中的對數相 似比率:. L0 ( xt ,m ) = log. (. N c −1 P xt ,m = 1| Yˆ 0. (. P xt ,m. ) ). N c −1 = −1| Yˆ 0. (3.8). 在此,我們便用以位元為基礎的 BCJR 演算法估測出上式中的事後機. (. ) (. ). N c −1 N c −1 = P uk = i | Yˆ 0 ,其中 k = tM + m 而 i ∈ {−1, +1} 。 率 P xt ,m = i | Yˆ 0. 我們可由上一節迴旋編碼器的架構圖中,觀察得知編碼器的輸出 位元組合會因當時輸入編碼器的消息位元和當時編碼器所儲存的狀 態所共同決定。也就是說,編碼輸出位元組合會因編碼器裡暫存的狀 態而產生關聯性,因此在時間點 k ,計算通道解碼器的軟性輸出時, 我們將通道編碼器的狀態 sk 也納入考量,那麼對數相似比率 L0 ( uk ) 可 被寫成如下所示:. 16.

(26) ) ( P ( u = −1| Yˆ ) ∑ P ( u = 1, s | Yˆ ) = log ∑ P ( u = −1, s | Yˆ ). L0 ( uk ) = log. N c −1 P uk = 1| Yˆ 0. N c −1. 0. k. N c −1. k. 0. k. sk. N c −1. k. k. 0. sk. ∑λ (s ) = log ∑λ (s ) 1 k. k. sk. −1 k. (3.9). k. sk. 其中 λki ( sk ) 為結合機率(joint probability),定義為. (. N c −1. λki ( sk ) = P uk = i, Sk = sk | Yˆ 0. ),i ∈{1, −1}. (3.10). 利用貝氏定理( Bayes's rule ), λki ( sk ) 可以被表示為. (. N c −1. λki ( sk ) = P uk = i, S k = sk | Yˆ 0. =. (. N c −1 P uk = i, Sk = sk , Yˆ 0. sk. (. N c −1 k P Yˆ k +1 , Yˆ 0 , uk = i, Sk = sk. ∑∑ P ( u i. =. (. ). N c −1 ˆ = = P u i , S s , Y 0 ∑∑ k k k i. =. ). k. N c −1 = i, S k = sk , Yˆ 0. sk. (. ). ) ). )(. N c −1 k k P Yˆ k +1 | uk = i, Sk = sk , Yˆ 0 P uk = i, S k = sk , Yˆ 0. ∑∑ P ( u i. k. N c −1 = i, S k = sk , Yˆ 0. sk. α ki ( sk ) β ki ( sk ) = ∑∑α ki ( sk ) β ki ( sk ) i. ). ) (3.11). sk. 17.

(27) 其中. ( β ( s ) = P (Yˆ. α ki ( sk ) = P uk = i, Sk = sk , Yˆ 0 i k. k. k. N c −1 k +1. ). | uk = i, Sk = sk. (3.12). ). (3.13). 分別被稱作前向(forward)和後向(backward)機率。因此,BCJR 演 算 法 也 被 稱 作 是 前 向 - 後 向 演 算 法 ( forward-backward algorithm) 。更重要的是前向和後向機率可以各自被推導成遞迴的型 式,以便於計算及降低運算量,其型式如下所示:. (. ). α ki ( sk ) = ∑. ∑. α kj−1 ( sk −1 ) γ i , j Yˆ k , sk −1 , sk. β ki ( sk ) = ∑. ∑. β kj+1 ( sk +1 ) γ j ,i Yˆ k +1 , sk +1 , sk. sk −1 j∈{−1,1}. (3.14). 和 sk +1 j∈{−1,1}. (. ). (3.15). 在上式中的 α 、 β 、和 γ ,其更詳細的推導將於接下來的三個次小節 中說明。. 3.2.1 前向機率的推導 前向機率的定義為. (. ). α ki ( sk ) = P uk = i, Sk = sk , Yˆ 0 ,i = 1, −1 k. 其可展開為. 18. (3.16).

(28) (. k −1. α ki ( sk ) = P uk = i, Sk = sk , Yˆ 0 , Yˆ k =∑. (. ). (. ). ∑. k −1 P uk = i, uk −1 = j , Sk = sk , S k −1 = sk −1 , Yˆ 0 , Yˆ k. ∑. k −1 P uk = i, S k = sk , Yˆ k | uk −1 = j , S k −1 = sk −1 , Yˆ 0. sk −1 j∈{−1,1}. =∑. ). sk −1 j∈{−1,1}. (. k −1 × P uk −1 = j , Sk −1 = sk −1 , Yˆ 0. ). (3.17). 因為從 sk −1 到 sk 的轉移路徑完全由 uk −1 和 sk −1 決定,而和接收到的序列 k −1 Yˆ 0 沒有任何的關係,所以. (. k −1 P uk = i, S k = sk , Yˆ k | uk −1 = j , S k −1 = sk −1 , Yˆ 0. (. = P uk = i, S k = sk , Yˆ k | uk −1 = j , S k −1 = sk −1. (. γ i , j Yˆ k , sk −1 , sk. ). ). ). (3.18). 除此之外,. ). (. k −1 P uk −1 = j , Sk −1 = sk −1 , Yˆ 0 = α kj−1 ( sk −1 ). (3.19). 所以(3.17)式可簡化成以下的前向遞迴計算型式:. α ki ( sk ) = ∑. ∑. sk −1 j∈{−1,1}. (. α kj−1 ( sk −1 ) γ i , j Yˆ k , sk −1 , sk. ). (3.20). 在編碼的過程中,通道編碼器的初始狀態被假設為 s0 = 0 ,所以 α 的 初始值被設為:. (. α 0i ( s0 ) = P u0 = i, S0 = s0 , Yˆ 0. (. ) ). ⎧⎪ P Yˆ 0 | u0 = i, S0 = 0 P ( u0 = i ) =⎨ ⎪⎩0. if s 0 = 0 if s 0 ≠ 0. (3.21). 前向機率遞迴計算所對應的格子架構(trellis)如圖 3.2 所示。 19.

(29) 圖 3.2 前向機率計算的格子架構. 3.2.2 後向機率的推導 後向機率的定義為. (. N −1 β ki ( sk ) = P Yˆ k +1 | uk = i, Sk = sk c. ). (3.22). 其遞迴計算的推導和 α ki ( sk ) 相似,但它必須在整個序列接收完全後, 才可以開始計算。 (3.22)式可寫成. (. N c −1. β ki ( sk ) = P Yˆ k + 2 , Yˆ k +1 | uk = i, Sk = sk =∑. (. ). (. ). ∑. N c −1 P uk +1 = j , S k +1 = sk +1 , Yˆ k + 2 , Yˆ k +1 | uk = i, S k = sk. ∑. N c −1 P Yˆ k + 2 | uk +1 = j, S k +1 = sk +1 , Yˆ k +1 , uk = i, S k = sk. sk +1 j∈{−1,1}. =∑. ). sk +1 j∈{−1,1}. (. × P uk +1 = j , Sk +1 = sk +1 , Yˆ k +1 | uk = i, Sk = sk. 20. ). (3.23).

(30) 因為在時間 k + 1 之後的路徑僅視 uk +1 和 sk +1 而決定,所以. (. N c −1 P Yˆ k + 2 | uk +1 = j, S k +1 = sk +1 , Yˆ k +1 , uk = i, S k = sk. (. N c −1 = P Yˆ k + 2 | uk +1 = j , S k +1 = sk +1. ). ). = β kj+1 ( sk +1 ). (3.24). 若再定義. (. ) (. γ j ,i Yˆ k +1 , sk +1 , sk = P uk +1 = j, Sk +1 = sk +1 , Yˆ k +1 | uk = i, Sk = sk. ). (3.25). (3.23)式可以用後向遞迴的計算方法加以實現:. β ki ( sk ) = ∑. ∑. sk +1 j∈{−1,1}. (. β kj+1 ( sk +1 ) γ j ,i Yˆ k +1 , sk +1 , sk. ). (3.26). 如前所述,格子結構的尾巴位元必須迫使編碼器的狀態回到 0,所以 設定初始值為. (. β Ni −1 ( sN −1 ) = P u N −1 = i, S N −1 = sN −1 , Yˆ N −1 c. c. c. c. c. ⎧⎪1 if sNc −1 = sbi ( 0 ) =⎨ i ⎪⎩0 if sNc −1 = sb ( x ) , x ≠ 0. c. ) (3.27). 其中 sbi ( sk ) 為在給定了由 S k = sk 和 uk −1 = i 所定義的路徑之後,所得出 sk 的前一個狀態。後向機率遞迴計算的格子架構如圖 3.3 所示。. 21.

(31) 圖 3.3 後向機率計算的格子架構. 3.2.3 機率 γ 的推導. (. ). 機 率 γ i , j Yˆ k , sk −1 , sk 可 以 由 無 記 憶 性 高 斯 通 道 的 轉 移 機 率 (transition probability)和編碼器的格子架構所決定。藉著使用 貝氏定理,. (. ) ( = P (Yˆ. γ i , j Yˆ k , sk −1 , sk = P uk = i, Sk = sk , Yˆ k | uk −1 = j , Sk −1 = sk −1 k. | uk = i, S k = sk , uk −1 = j , S k −1 = sk −1. ) ). ×P ( uk = i | Sk = sk , uk −1 = j , Sk −1 = sk −1 ) ×P ( Sk = sk | uk −1 = j , S k −1 = sk −1 ). (3.28). 對一個無記憶性的高斯通道而言,(3.28)式的第一項可以寫成:. 22.

(32) (. P Yˆ k | uk = i, S k = sk , uk −1 = j , S k −1 = sk −1. ( = P (Yˆ. = P Yˆ k | uk = i, Sk = sk k. |Yk. ). ). ). N l −1. = ∏ P ( yˆ k ,l | yk ,l ) l =0. ⎡ Nl −1 1 ⎤ = Ak exp ⎢ ∑ Lc yk ,l yˆ k ,l ⎥ ⎣ l =0 2 ⎦. (3.29). 其中 Ak 在時間 k 為一常數。 Lc 為通道狀態消息(channel state information) ,其定義如下:. Lc = 4a ⋅. Es N0. (3.30). 其中 a 為通道的衰減因子,對於附加性白色高斯雜訊通道(AWGN channel)而言, a = 1 。 若 假 設 編 碼 後 的 位 元 為 獨 立 相 等 分 佈 ( independent identically distributed, i.i.d.)在(3.28)式的第二項為:. P ( uk = i | Sk = sk , uk −1 = j , Sk −1 = sk −1 ) = 0.5. (3.31). 在(3.28)式中的第三項為:. ⎧⎪1 P ( Sk = sk | uk −1 = j, S k −1 = sk −1 ) = ⎨ ⎪⎩0. if sk −1 = sbj ( sk ). (3.32). otherwise. 綜合以上三項,即結合(3.29) 、 (3.31) 、及(3.32)式, (3.28) 式可簡化成為:. 23.

(33) γ i, j. (. ⎧ ⎡ 1 Nl −1 ⎤ ⎪ Ck exp ⎢ ∑ Lc yk ,l yˆ k ,l ⎥ Yˆ k , sk −1 , sk = ⎨ ⎣ 2 l =0 ⎦ ⎪ ⎩0. ). if sk −1 = sbj ( sk ). (3.33). otherwise. 其中 Ck 為一常數。. (. ). 依 此 類 推 , 在 後 向 計 算 機 率 裡 的 γ j ,i Yˆ k +1 , sk +1 , sk 可 以 用 和. (. ). γ i , j Yˆ k , sk −1 , sk 相似的方法實現,最後可寫成:. γ j ,i. (. ⎧ ⎡ 1 Nl −1 ⎤ i ′ ⎪Ck +1 exp ⎢ ∑ Lc yk +1,l yˆ k +1,l ⎥ if sk +1 = s f ( sk ) (3.34) Yˆ k +1 , sk +1 , sk = ⎨ ⎣ 2 l =0 ⎦ ⎪ otherwise ⎩0. ). 其中 Ck′ +1 為一常數,s if ( sk ) 為給定了由 S k = sk 和 uk = i 所定義的路徑之 後,所得出 sk 的下一個狀態。. 3.2.4 對數相似比率的計算 最後對個別位元 uk 而言,其對數相似比率的計算可以總結如以下 步驟: 【1】 α 的初始設定:. (. ). ˆ ⎪⎧ P Y 0 | u0 = i, S0 = 0 P ( u0 = i ) α ( s0 ) = ⎨ ⎪⎩0 i 0. if s0 = 0 if s0 ≠ 0. (3.35). β 的初始設定: β. i N c −1. (s ) N c −1. ⎧⎪1 if sNc −1 = sbi ( 0 ) =⎨ i ⎪⎩0 if sNc −1 = sb ( x ) x ≠ 0 24. (3.36).

(34) 【2】前向遞迴機率 α 的計算:. α ki ( sk ) = ∑. ∑. sk −1 j∈{−1,1}. α kj−1 ( sk −1 ) γ i , j Yˆ k , sk −1 , sk. (. ). (3.37). (. ). (3.38). 後向遞迴機率 β 的計算:. β ki ( sk ) = ∑. ∑. sk +1 j∈{−1,1}. β kj+1 ( sk +1 ) γ j ,i Yˆ k +1 , sk +1 , sk. 【3】 uk 的對數相似比率的計算:. ∑α ( s ) β ( s ) L ( u ) = log ∑α ( s ) β ( s ) 1 k. k. 1 k. k. −1 k. k. sk. 0. −1 k. k. sk. 25. k. (3.39).

(35) 第四章 基於索引的軟性輸出通道解碼. 在上一章中,我們主要是以量化輸出索引值之個別位元作為編碼 及解碼關注之軸心。在接收端之通道解碼器裡應用基於位元的 BCJR 演算法,得到軟性輸出通道解碼的位元傳送錯誤機率之最佳估測,進 而利用第二章的軟性位元解碼,將訊號源量化索引的事前消息一併納 入估測計算中。但在通道解碼的過程中,僅是以位元為基礎,利用到 的消息也僅至位元的層級,但在索引的層級裡存在比位元層級更多可 利用的殘餘冗息。所以在此章中,軟性輸出通道解碼改以索引為解碼 之基本單位。接下來,我們將在本章第一節說明以索引為基礎的迴旋 編碼器架構,並且指出其與上一章中的迴旋碼編器的相異處,而在第 二節,將詳述基於索引的軟性輸出通道解碼演算法的架構。. 4.1 基於索引的迴旋編碼器架構 假設在時間 t 時,相對應於訊號源 xt ,一群 M 個的位元組合用以 代表索引 X t. {x. t ,0. , xt ,1 ,… , xt ,M −1},送進一個由 M c 個移位暫存器所組成. 的迴旋編碼器,此基於索引的迴旋編碼器架構圖如圖 4.1 所示。這個 迴旋編碼器的暫存器狀態 S t,類似於上一章所提及的基於位元的迴旋 編碼器的暫存器狀態,都是取決於最近 M c 個輸入值。但不同的是,. 26.

(36) 上一章所提到的迴旋編碼器是在一個時間單位內輸入一個位元,致使 編碼器內的移位暫存器也跟著移動一個位元。而在此章中的迴旋編碼 器乃是基於索引編碼為出發點,所以在一個單位時間內,輸入一群足 以代表索引的 M 個位元,致使編碼器裡的移位暫存器在同一單位時 間內也移動了 M 個位元,並且輸出相對應的編碼序列. Yt. {y. t ,0. ⎛ M 1 ⎞ , yt ,1 ,…, yt ,MNl −1 ,其中 M 和 MN l 的比值 ⎜ r = = ⎟ 為通道 MN N l l ⎠ ⎝. }. 編碼率。值得注意的是,有一個條件關係必須滿足,即 M c ≥ M 。否 則,編碼器裡的暫存器數量連代表一個索引的位元數量都不夠,便無 法在一個單位時間內,針對一個索引作通道編碼的動作,也就失去了 基於索引編碼的主要精神。還有在此的移位暫存器個數 M c 也未必一 定要為索引位元組合個數 M 的整數倍,換句話說,就是編碼器裡的 暫存器所儲存的可以不全都是完整的索引,也可能摻雜了一索引裡零 碎的位元組合,而且其暫存器的狀態值由每個單位時間內輸入的索引 位元組合完全進入暫存器後始可得。. 27.

(37) 3 t. 2 t. xtp−t1−1 −1. xtp−t1−1. … x , x ,…, x , x , x pt t. 1 t +1. 1 t. xtp−t2− 2 + pt −1 +1− M c. xt1−1. ytq−t 1−1 , ytq−t 1−1 −1 ,…, yt1−1 , ytq−t −22 ,…. 圖 4.1 基於索引的迴旋編碼器架構. 4.2 基於索引的 BCJR 演算法 依照上一節中基於索引的通道編碼器的架構,假設以 N s 個索引 為格子架構裡一個主要的消息區塊,並且經由通道編碼器傳送至可加 性白色高斯雜訊通道(AWGN channel)中。在接收端,通道解碼器將 N s −1 收到實數序列 Yˆ 0. {Yˆ ,Yˆ ,…,Yˆ } ,其中 Yˆ { yˆ 0. 1. N s −1. t. t ,0. }. , yˆt ,1 ,…, yˆt ,MNl −1 ,. 而且. yˆt ,l = yt ,l + nt ,l , l = 0,1,… MNl − 1. (4.1). 其中 nt ,l 為零平均值,且變異數為 σ 2 的高斯雜訊取樣。 每一個解碼後索引 xt 的事後機率為. ). (. N s −1 P xt = i | Yˆ 0 = ∑ λti ( st ). (. ). (4.2). st. N s −1 其中 λti ( st ) = P xt = i, St = st | Yˆ 0 , i = 0,1,…,2 M − 1 。藉由貝氏定理,. 可得: 28.

(38) λti ( st ) =. =. (. N s −1 P xt = i, St = st , Yˆ 0. ( ). N s −1 P Yˆ 0. (. N s −1 P xt = i, St = st , Yˆ 0. ∑∑ P ( x. t. i. =. ). N s −1. = i, St = st , Yˆ 0. st. (. t N s −1 P xt = i, St = st , Yˆ 0 , Yˆ t. (. ). N s −1 ˆ P x = i S = s Y , , ∑∑ t t t 0 i. =. ). st. ) ). )(. (. t N s −1 t P xt = i, St = st , Yˆ 0 P Yˆ t | xt = i, St = st , Yˆ 0. ∑∑ P ( x. t. i. N s −1 = i, St = st , Yˆ 0. st. ). α ti ( st ) βti ( st ) = ∑∑α ti ( st ) βti ( st ) i. ) (4.3). st. 其中 α 和 β 的定義為. (. α ti ( st ) = P xt = i, St = st , Yˆ 0. (. t. ). N −1 β ti ( st ) = P Yˆ t | xt = i, St = st s. (4.4). ). (4.5). 類似於第三章中基於位元的軟性輸出通道解碼演算法裡的 α 和 β ,在 此,基於索引的前向機率 α 和後向機率 β 亦可以遞迴計算的形式呈 現:. ( (Yˆ. α ti ( st ) = ∑∑α t j−1 ( st −1 ) γ i , j Yˆ t , st −1 , st st −1. j. βti ( st ) = ∑∑ βt +j 1 ( st +1 ) γ j ,i st +1. j. t +1. ). , st +1 , st. (4.6). ). (4.7). α 和 β 的初始條件將於下一小節中詳加說明,而其中 γ i , j 可被展開表. 29.

(39) 示為:. (. ) ( = P (Yˆ | x = i, S = s , x. γ i , j Yˆ t , st , st −1 = P xt = i, St = st , Yˆ t | xt −1 = j , St −1 = st −1 t. t. t. t. t −1. = j , St −1 = st −1. ) ). ×P ( xt = i | St = st , xt −1 = j , St −1 = st −1 ) ×P ( St = st | xt −1 = j , St −1 = st −1 ). (4.8). 對於一個無記憶性的通道(memoryless channel) ,在(4.8)式中的 第一項可被寫成:. (. P Yˆ t | xt = i, St = st , xt −1 = j , St −1 = st −1. ( = P (Yˆ | x ( s , i ) ). = P Yˆ t | xt = i, St = st t. ). ). t. ⎡ 2 MNl −1 ⎤ = K t exp ⎢ 2 ∑ yt ,l ⋅ yˆ t ,l ⎥ ⎣ σ l =0 ⎦. (4.9). 其中 K t 為一常數,而 x ( st , i ) 為代表了在給定狀態 st 和輸入索引值 i 之 後的輸出索引。接著,考慮(4.8)式中的第二項機率,其意謂著訊 號源量化後之前後相鄰兩索引間的關聯性,大致可分為如下列的情況 討論之: 1) 若量化後之相鄰索引間,沒有存在殘餘冗息,亦即被傳送的索引 彼此之間為獨立相等分佈(i.i.d.) ,因此(4.8)式中的第二項 機率可寫為:. 30.

(40) P ( xt = i | St = st , xt −1 = j , St −1 = st −1 ) = P ( xt = i ) =. 1 2M. (4.10). 2) 當索引間的殘餘冗息被納入考量時,也就是將利用訊號源經過量 化後,因為量化器無法完全地去除量化後索引間所存在的相關 性,因此可得 P ( xt = i | St = st , xt −1 = j , St −1 = st −1 ) = P ( xt = i | xt −1 = j ). (4.11). 而此機率值,可經由事前經大量語料訓練而得。 在(4.8)式中的第三項機率為:. ⎧⎪1 P ( St = st | xt −1 = j , St −1 = st −1 ) = ⎨ ⎪⎩0. if st −1 = sbj ( st ). (4.12). otherwise. 其中 sbj ( st ) 為在給定了由 St = st 和 xt −1 = j 所定義的路徑之後,所得出 st 的前一個狀態。此項機率決定了格子結構中,時間點與相鄰時間點之. (. ). 間狀態的轉移和路徑的行進方向。在(4.7)式中的 γ j ,i Yˆ t +1 , st +1 , st 如. (. ). 同(4.6)中的 γ i , j Yˆ t , st , st −1 可依照類似於如上所描述的方法而求得。. (. ). N s −1 在求得了每一個解碼後索引 xt 的事後機率 P xt = i | Yˆ 0 之後,接. 著,我們將所有可能的解碼後索引 xt = i , i = 0,1,…,2M − 1,的事後機. (. ). N s −1 代入最小均方錯誤準則,估測出重建後的參數 vˆt 如下 率 P xt = i | Yˆ 0. 所示:. ). (. N s −1 vˆt = ∑ cxt ⋅ P xt = j | Yˆ 0 , J ∈ {0,1,….2M − 1} xt ∈J. 31. (4.13).

(41) 其中的 cxt 為索引 xt 所對應的量化參數值。. 4.3 前向和後向機率的初始條件設定 這一節中,將詳細說明以索引為基礎的軟性輸出解碼演算法在初 始值的設定。而由於此一系統是架構於迴旋編碼的基礎上,所以初始 值的設定主要是源自於迴旋編碼過程中格子架構路徑圖所存在的限 制,包括起始狀態為零或填入額外的訊號迫使結束狀態回歸到零的相 關條件。把每個限制合理地融入演算法內,拒絕不可能的發生的路徑 與狀態,是維持解碼程序之可靠性很重要的環節。. (. ). 前向機率之初始定義為 α 0i ( s0 ) = P x0 = i, S0 = s0 , Yˆ 0 ,表示初始狀 態 S0 = s0 、傳輸索引為 i 與輸出訊號為 Yˆ 0 的結合機率,透過條件機率 展開以及初始狀態為零的限制可得其設定為. (. ). α 0i ( s0 ) = P Yˆ 0 | x0 = i, S0 = s0 P ( x0 = i | S0 = s0 ) P ( S0 = s0 ) . (. ). ⎧⎪ P Yˆ 0 | x0 = i, S0 = 0 P ( x0 = i ) =⎨ ⎪⎩0. if s0 = 0 if s0 ≠ 0. (4.14). 其中已排除了初始狀態不為零的事件。. (. ). 欲得後向機率的初始 β Ni s −1 sN s −1 的設定,先檢視在時刻 t = N s − 1. (. ). (. ). N s −1 時所要計算的事後機率 λNi s −1 sN s −1 = P x N s −1 = i, S N s −1 = sN s −1 | Yˆ 0 以. 32.

(42) (. ). (. ). ). (. N s −1 及前向機率 α Ni s −1 sN s −1 = P x N s −1 = i, S N s −1 = sN s −1 , Yˆ 0 ,利用貝氏定理. (. ). 將事後機率 λNi s −1 s N s −1 展開後,結果可以只用 α Ni s −1 s N s −1 完整表示, 進一步再與上一節計算事後機率之定義(4.3)相比較,整理如下. (. λNi −1 ( sN −1 ) P xN −1 = i, S N −1 = sN −1 | Yˆ 0 s. s. =. s. s. (. s. ). N s −1 P xN s −1 = i, N s −1 = sN s −1 , Yˆ 0. (. ). N s −1 ˆ , , = = P x i s Y ∑ ∑ Ns −1 Ns −1 Ns −1 0 i. =. N s −1. sN s −1. ). α Ni −1 ( sN −1 ) s. s. ∑ ∑ α (s ) i N s −1. i. N s −1. sN s −1. α Ni −1 ( sN −1 ) β Ni −1 ( sN −1 ) s. ∑ ∑α i. s. i N s −1. (. s. s. ). sN s −1 β. i N s −1. (. sN s −1. (4.15). ). sN s −1. (. ). 故滿足上式機率運算的合理設定為 β Ni s −1 sN s −1 = 1 。再探討於時刻. (. ). t = N s − 2 時 後 向 機 率 β Ni s −2 sN s −2 的 計 算 , 先 檢 視 其 機 率 之 定 義. (. ). N −1 β Ni −2 ( sN −2 ) = P Yˆ N −1 | xN −2 = i, S N −2 = sN −2 與後向遞迴式中所定義之 s. s. (. s s. s. s. s. ). (. ). 過渡機率 γ j ,i Yˆ N s −1 , sN s −1 , sN s −2 ,利用邊緣機率將 β Ni s −2 sN s −2 展開後, 結果可單以過渡機率完整表示,進一步與上一節計算後向機率之遞迴 關係式(4.7)相比較,其整理如下. 33.

(43) β Ni −2 ( sN −2 ) s. s. (. = ∑ ∑ P xN s −1 = j , S N s −1 = sN s −1 , Yˆ N s −1 | xN s −2 = i, S N s −2 = sN s −2 j sN s −1. (. = ∑ ∑ γ j ,i Yˆ N s −1 , sN s −1 , sN s −2 j sN s −1. ∑ ∑ β ( s ) × γ (Yˆ j N s −1. N s −1. j ,i. ). ). N s −1. , sN s −1 , sN s −2. ). (4.16). j sN s −1. (. ). 此結果亦顯示 β Ni s −1 sN s −1 = 1 之設定是符合遞迴關係式之機率運算。此. (. ). 外,過渡機率 γ j ,i Yˆ N s −1 , sN s −1 , sN s −2 的計算應配合迴旋編碼需額外傳送 歸零訊號的條件,利用設定訊號的發生的機率以拒絕不可發生的解碼 路徑,過渡機率的展開式整理如下. ( = P( x = P (Yˆ. γ j ,i Yˆ N −1 , sN −1 , sN −2 s. s. s. ). N s −1. = j , S N s −1 = sN s −1 , Yˆ Ns −1 | xN s −2 = i, S N s −2 = sN s −2. N s −1. | xN s −1 = j, S N s −1 = sN s −1 , xN s −2 = i, S N s −2 = sN s −2. (. ×P xN s −1 = j | xN s −2 = i, S N s −1 = sN s −1 , S N s −2 = sN s −2. (. ×P S N s −1 = sN s −1 | S N s −2 = sN s −2 , xN s −2 = i. ). ) ). ) (4.17). 其中傳輸訊號 x N s −1 = 0 屬於額外加入的歸零訊號,是必然的事件,所 以 x N s −1 ≠ 0 的發生機率將設定為零。同理,在其他時刻都應考量是否 為歸零訊號以給予同樣的設定。 由於解碼的遞迴演算法建構在迴旋編碼先天基礎上,須在演算過 程之初始給予相對應的條件設定,並藉由機率運算驗證設定之合理 性。在系統模擬的實驗中,證實了初始的條件設定對於解碼器能否獲. 34.

(44) 得穩定的結果有極大的影響。. 35.

(45) 第五章 實驗模擬與結果分析. 在前面的章節我們描述了基於位元和基於索引的兩種軟性位元 解碼演算法之理論推導與系統架構。在本章中,進一步將演算法應用 於系統模擬,以期藉由系統之模擬結果驗證演算法之正確性。 本章的內容將分為三小節來進行實驗之模擬與結果之分析討 論。第一節模擬基於位元的軟性輸出通道解碼之系統架構,同時探討 運用不同程度之量化索引殘餘冗息,於解碼端效能評比與分析。在第 二節中,將模擬基於索引的軟性輸出通道解碼之通訊系統,同樣地, 考量使用不同程度的量化索引殘餘冗息進行探討與效能分析。最後, 在第三節中,將討論前兩節中不同架構之系統在整體結果的分析與比 較,以提供通訊系統設計之參考。. 5.1 基於位元的軟性輸出通道解碼系統之模擬 5.1.1 系統模擬之步驟說明 在此節之內容中,主要將結合第二及第三章之演算法進行系統模 擬與結果分析。系統中訊號源 vt 取自一階自迴歸處理(first-order autoregressive process),且其訊號源之相關因子(correlation factor)採用 ρvv = 0.9 ,訊號源之變異數則設定為 σ v2 = 1 。關係式表. 36.

(46) 示為: vt = ρ vv vt −1 + nt. (5.1). 其中 nt 表均值為零的白色高斯雜訊取樣。在每次的模擬過程中,由訊 號源產生出10000 點的資料作為系統之輸入,接著將產生出之訊號源 送進量化器中,所採用之量化器為純量 Lloyd-Max 量化器(scalar LMQ)[9],而且量化索引使用 M = 2 位元。由於研究重點不在於量化 索引的最佳位元映對方法(bit mapping scheme),所以選用自然二 位元編碼方式(natural binary code, NBC)[10]。在得到量化索引 的位元資料後,將其通過二位元相位鍵移(BPSK)調變,把每一位元 由原來的 {0,1} 映對成 {1, −1} 。下一步,以 200 個消息位元與額外附加 迫使狀態回歸至零的冗餘位元作為一個格子架構之區塊長度,依序送 進迴旋通道編碼器中,其中 4 個冗餘位元的擇定是配合系統中迴旋編 碼器採用通道編碼率為 r = 1 2 和限制長度為 L = 5 的架構。接著,便將 編碼後的 BPSK 訊號經由通道傳送至接收端,模擬的通道環境使用白 色高斯雜訊通道(AWGN channel),即在傳送的過程中,僅加入白色 高斯雜訊以作通訊干擾。 在接收端,接收器所接收到的不再是當初傳送時的位元 {1, −1} , 而是經由高斯雜訊擾亂後的實數值,將其輸入到基於位元的軟性輸出 通道解碼器,解碼後將產生我們想要的硬性判定和其可靠性,此處必. 37.

(47) 須注意在軟性輸出通道解碼的過程中,須以格子構架之區塊長度為演 算法之實行間隔區塊,每一區塊所解出之軟性位元訊息,將對等於傳 送時所包含的消息位元及冗餘位元的訊息,而其中所要的僅有消息位 元之訊息,所以必須將多餘的冗餘位元之訊息捨棄。有了通道解碼器 產生出的軟性位元訊息後,便可利用軟性位元解碼演算法進行估測和 重建參數。 作軟性位元解碼演算法估測時,因為實驗中,使用了不同階級的 事前消息而有下列三種試驗情況,實驗之結果如圖 5.1 所示: 1) 硬性判定(HD): 為最簡單之估測判定,直接利用軟性輸出通道解碼器所提供硬性 判定之可靠度,求出可能傳送位元的對數相似比率:. L0 ( xt ,m ) = log. (. N c −1 P xt ,m = 1| Yˆ 0. (. P xt ,m. ) ). N c −1 = −1| Yˆ 0. (5.2). 然後直接利用此對數相似比率對可能傳送之位元 xt ,m 作硬性判 定,得出:. xt ,m = sign ⎡⎣ L0 ( xt ,m ) ⎤⎦. (5.3). 得到每個可能傳送之位元的硬性判定後,再將所得的 M 位元組合 視為一索引作解量化(dequantization)之動作,即反查量化表, 估測重建的參數 vˆt 。. 38.

(48) 2) 零階事前消息(AK0)的計算方法: 在收到軟性輸出通道解碼所得的軟性位元訊息後,加入事先已訓 練的零階事前消息,比照(2.13)式作軟性位元解碼估測,可得 重建參數 vˆt 。 3) 一階事前消息(AK1)的計算方法: 如同零階事前消息(AK0)的計算方法,加入事先已訓練的一階 事前消息,利用(2.14)式進行軟性位元解碼估測,得重建參數 vˆt 。. 圖 5.1 基於位元的軟性位元解碼之系統模擬. 39.

(49) 5.1.2 結果分析 圖 5.1 中,系統之評估為使用訊號源參數 vt 和重建參數 vˆt 之間的 訊號雜訊比(signal-to-noise ratio, SNR)作為衡量:. vt 2 SNR = 10log10 2 ( vt − vˆt ). [dB]. (5.4). 在圖中,可見當通道情況較差時,即訊號能量對通道雜訊能量比率較 低時,硬性判定很明顯地衰退最快。如果我們在軟性位元解碼時加上 零階事前消息進行解碼,可得知在通道較差時,衰退的程度就沒有硬 性判定那麼大,系統的效能明顯地被提升上來。若利用了更多訊息源 索引間的殘餘冗息,如一階事前消息,由實驗結果得知,通道較差的 情況,其效能比使用零階事前消息更好,系統的效能再次地被往上提 升。順便一提,在圖中當訊號能量對通道雜訊能量比率較高時,即通 道的情況被雜訊干擾不嚴重時,三者的效能差不多。即效能值被約束 在一定的值,此值為量化器所使用的量化位元數 M = 2 所影響,本實 驗中此臨界值為 9.351464 dB 。. 5.2 基於索引的軟性輸出通道解碼系統之模擬 5.2.1 系統模擬之步驟說明 基於索引之系統模擬,主要是針對第四章所提之演算法進行實驗 和模擬,類似於上一節所描述的基於位元之系統模擬,以下將指出其 40.

(50) 同異之處。在訊號源的產生與基於位元之系統一樣,取自於一階自迴 歸訊號源,資料量為10000 點,同樣送進純量 Lloyd-Max 量化器,每 一點量化後產生出 2 位元的索引,接著作二位元相位鍵移調變,再送 入通道編碼器。在此需注意的是,在送入通道編碼器之前,所使用的 模擬平台皆與上一節所描述完全相同,但在此節中,乃基於索引為主 要編碼解編之基本單元,所以在上一節中使用 200 個消息位元加上 4 個冗餘位元為格子架構之區塊長度,在此節中必須更改為100 個消息 索引加上 2 個冗餘索引為格子架構之區塊長度,雖然迴旋編碼器之架 構與上一節所提及沒有不同,但所關注及切入之焦點不同,這將會影 響之後接收端所做之通道解碼動作。 通道編碼後之位元組合在通過可加性白色高斯雜訊通道之後,在 接收端,相對於傳送端之編碼器設計,通道解碼器利用軟性輸出通道 解碼的演算法架構,必須遵循著以每一個格子架構區塊長度為實行間 隔區塊,此處每一個格子架構區塊解出100 個消息索引和 2 個冗餘索 引的軟性輸出訊息。而實際上,在通道解碼器的輸出端會直接移除額 外加入的冗餘索引之軟性輸出訊息,而僅留下有用的100 個消息索引 的軟性輸出訊息,以送進最小均方錯誤估測器進行重建估測。 在做最小均方錯誤估測時,又因為使用了不同份量的訊號源量化 後索引的冗餘訊息,即不同階級的事前消息,所以實驗模擬又分成下. 41.

(51) 列兩種情況: 1) 無事前消息(NAK)的方法: 假設量化後索引間,無存在殘餘冗息,即彼此獨立相等分佈,可 得(4.10)式,將其代入前向和後向機率的計算中,可求出索引 xt 的事後機率,進一步利用最小均方錯誤準則估測重建參數 vˆt 。. 2) 一階事前消息(AK1)的方法: 利用100000 點量化後索引訓練出一階事前消息,即為(4.11)式, 同樣地將此機率利用到前向和後向機率之計算,如此求得蘊含了 量化後索引間之冗餘訊息的解碼後索引 xt 的事後機率,再代入最 小均方錯誤準則,得估測後之重建參數 vˆt 。. 圖 5.2 基於索引的軟性位元解碼之系統模擬. 42.

(52) 5.2.2 結果分析 圖 5.2 之系統評估,同樣使用(5.4)式作為衡量,由圖中結果 在通道環境較差時,添加使用了一階事前消息(AK1)的系統比使用 無事前消息(NAK)的系統的效能還要好,即說明了利用到量化後索 引間之殘餘冗息的估測系統較能有效抵抗通道雜訊對系統之干擾,而 當訊號能量對通道雜訊能量比在一定程度以上時,兩種方法的系統效 能會顯得差不多,而且其最佳效能將被量化器之量化位元數量 M = 2 所拘限,對於此系統而言,同於上一節基於位元之系統模擬,其臨界 值為 9.351464 dB 。. 5.3 基於位元與基於索引之系統綜合結果分析和比較 在前兩節中,系統的架構主要是圍繞在不同的處理單元,進行編 碼、傳送、解碼之動作。系統的架構基礎由 5.1 節的位元轉換到 5.2 節的索引,乃是因為我們期望能在索引為層級的架構下,獲得比位元 為層級的架構更多的殘餘冗息,進而利用這些消息量,改善系統之效 能,讓系統對通道之雜訊干擾更具抵抗性。因此,在這一節將比較 5.1 節與 5.2 兩者之間的效能分析,並且證實以索引為處理層級之架 構確實讓通訊系統有更好的效能,並且對於通道雜訊更具有抵抗性。 首先,由圖 5.1 之結果,可看出基於位元且使用 AK0 方法的軟性. 43.

(53) 位元解碼的系統的整體效能,比使用硬性判定方法的系統效能還要來 得好,可得知使用了量化後索引間之殘餘冗息的系統比完全不使用殘 餘冗息之系統其效能更加優益。再者比較圖 5.1 中使用 AK0 方法的軟 性位元解碼以及圖 5.2 中 NAK 方法的軟性位元解碼之兩結果,將其繪 於圖 5.3,可看出兩方法之效能相差不遠,而基於索引之系統僅使用 無事前消息的殘餘冗息,但基於位元之系統已使用到了零階事前消息 的殘餘冗息,所以由此可知基於索引之系統在使用殘餘冗息時提升效 能的速度較有效率。. 圖 5.3 基於位元與索引系統之比較. 最後,比較圖 5.1 中使用 AK1 方法的軟性位元解碼系統,和圖. 44.

(54) 5.2 中使用 AK1 方法的軟性位元解碼系統,將其兩系統之效能繪於圖 5.4 中,結果明顯的知道以索引為基礎的架構效能遠高於以位元為型 礎的架構。所以,由以上之效能綜合分析比較,我們的確可證實出以 索引為層級之架構確實讓通訊系統有更好的效能和對於通道雜訊更 具有抵抗性。. 圖 5.4 結合 AK1 與不同解碼之比較. 45.

(55) 第六章 結論與未來展望. 6.1 結論 本論文主要探討軟性位元解碼在傳輸於雜訊通道下之錯誤隱 匿,其肇因於數位通訊系統傳輸過程中,經歷了傳輸通道裡不可抗拒 的雜訊干擾,致使在接收端經過通道解碼後,仍舊殘餘了位元錯誤。 因此,由傳統接收端的硬性判定,改以添加入關於此硬性判定的可靠 度,而轉以稱為軟性位元解碼的方式在接收端進行判定與估測之工 作。此演算法挖掘並利用了量化後索引間的殘餘冗息,而且由於在執 行軟性位元解碼演算法時,需要關於硬性判定的可靠消息。因而在此 使用了提供最佳事後機率的 BCJR 演算法,來供給我們需要的位元可 靠消息。但傳統的 BCJR 演算法乃以位元為解碼之基本架構,為了得 到更好的系統效能與抵抗通道雜訊的能力,因此我們提出一種利用混 合位元與索引層級的相關性的改良型 BCJR 演算法。最後,在實驗中, 我們使用馬可夫程序為訊號源,並且由實驗模擬可証實改良後的 BCJR 演算法結合量化後索引的一階事前消息確實可得最佳的錯誤隱匿效 能。. 46.

(56) 6.2 未來展望 在此論文中,通道之模擬僅以基本的可加性白色高斯雜訊通道為 模擬的對象,說明所提之演算法確實可獲得改善效能的助益,但面對 真實多變的現實環境,若僅是以可加性白色高斯雜訊作為通道的模 擬,並非足以應付。因此在未來,可以針對通道之模擬加以改善,並 且善加利用通道之特性,結合在此所提之演算法,以盼能得到更佳之 錯誤隱匿的效果,以增進人們生活之便利。. 47.

(57) 參考文獻 [1] C.E. Shannon, “A Mathematical Theory of Communication,” Bell Sust. Tech. J., vol. 27, pp. 379-423, pp. 623-656, 1948. [2] K. Sayood and J. C. Borkenhagen, “Use of residual redundancy in the design of joint source/channel coders,” IEEE Trans. Commun., vol. 39, No. 6, pp. 838-846, June 1991. [3] T. Fingscheidt and P. Vary, “Robust speech coding: A universal approach to bit error concealment,” in Proc. IEEE ICASSP, vol. 3, pp. 1667-1670, Apr. 1997. [4] T. Fingscheidt and P. Vary, “Softbit Speech Decoding: A New Approach to Error Concealment,” IEEE Trans. Speech Audio Processing, vol. 9, No. 3, Mar. 2001. [5] J. Hagenauer, “Source-Controlled Channel Decoding,” IEEE Trans. Commun., vol. 43, pp. 2449-2457, Sept. 1995. [6] L. R. Bahl, J. Cocke, F. jelinek and J. Raviv, “Optimal decoding of linear codes for minimizing symbol error rate,” IEEE Trans. Inform. Theory, vol. 20, pp. 284-287, Mar. 1974. [7] J. Hagenauer and P. Hoeher, “A viterbi algorithm with soft-decision output and its application,” in Proc. IEEE Global Telecommunications Conf. (GLOBECOM), vol. 3, pp. 1680-1686, Nov. 1989. [8] S. S. Pietrobon and S. A. Barbulescu, “A simplification of the modified Bahl decoding algorithm for systematic convolutional codes,” in Proc. Int. Symp. on Inform. Theory and its Applications, pp. 1073-1077, Nov. 1994. Revised 4 Jan. 1996. [9] J. Max, “Quantizing for minimum distortion,” IRE Trans. Inform. Theory, vol. IT-6, pp. 7-12, Mar. 1960. [10] N. S. Jayant and P. Noll, Digital Coding of Waveforms. Englewood 48.

(58) Cliffs, NJ: Prentice-Hall, 1984.. 49.

(59)

數據

圖 2.1 硬性位元解碼系統架構  2.2 軟性位元解碼演算法  軟性位元具有雙重的涵意,除了對接收訊號位元 x t m, 作硬性判定 而得一位元 x t m, = ∈ −i { }1,1 之外,作此判定的位元錯誤機率 P xe ( )t m, 也 要被考慮進去。而其中的 P x e ( )t m, 代表接收到的訊號受到通道特性和 通道編碼的影響,而致使 x t m, 是否能被正確解碼的機率。換言之,所 謂的軟性位元 { x t m, , P xe ( )t m, } [5],結合了接收訊號的硬性判定(ha
圖 2.2 軟性位元解碼系統架構  【1】可靠訊息的計算  在傳送端使用通道編碼器的情況下,為了得到每一個解碼後位元 的可靠訊息,我們需要採用有軟性輸出的通道解碼器(soft-output  channel decoder)。在軟性輸出通道解碼器[6]的輸出端,一個傳送 位元 x t m, 的對數相似比率(log-likelihood ratio, LLR)通常表示為:  ( ) ( ) ( )10,0,10,1|ˆlog1|ˆccNt mt mNt mP xYL xP xY−−=== −
圖 3.2 前向機率計算的格子架構  3.2.2 後向機率的推導  後向機率的定義為  ( ) ( ˆ N c 1 1 | , )ikkskP Yuki Skskβ=+−==         (3.22)  其遞迴計算的推導和 α ki ( )sk 相似,但它必須在整個序列接收完全後, 才可以開始計算。 (3.22)式可寫成  ( ) ( ) ( ) { } ( ) { } ( )111211211111,11211111,11111ˆ,ˆ|,ˆˆ,,,| ,ˆ|,,ˆ,,,,ˆ|,cckckiNkkkkk
圖 3.3 後向機率計算的格子架構  3.2.3 機率 γ 的推導  機 率 γ i j, ( Y ˆ ,k s k − 1 , s k ) 可 以 由 無 記 憶 性 高 斯 通 道 的 轉 移 機 率 (transition probability)和編碼器的格子架構所決定。藉著使用 貝氏定理,  ( ) ( ) ( ) ( ) ( ),11 11111 1111ˆ,,,,ˆ|,ˆ |,,,|,,|,kki jkkkkkkk kkkkkkkkkkkkkkkkkkkYssP ui Ss Yuj SsP Y

參考文獻

相關文件

Understanding and inferring information, ideas, feelings and opinions in a range of texts with some degree of complexity, using and integrating a small range of reading

Writing texts to convey information, ideas, personal experiences and opinions on familiar topics with elaboration. Writing texts to convey information, ideas, personal

• Examples of items NOT recognised for fee calculation*: staff gathering/ welfare/ meal allowances, expenses related to event celebrations without student participation,

Writing texts to convey simple information, ideas, personal experiences and opinions on familiar topics with some elaboration. Writing texts to convey information, ideas,

Numerical results are reported for some convex second-order cone programs (SOCPs) by solving the unconstrained minimization reformulation of the KKT optimality conditions,

Section 3 is devoted to developing proximal point method to solve the monotone second-order cone complementarity problem with a practical approximation criterion based on a new

Although we have obtained the global and superlinear convergence properties of Algorithm 3.1 under mild conditions, this does not mean that Algorithm 3.1 is practi- cally efficient,

By exploiting the Cartesian P -properties for a nonlinear transformation, we show that the class of regularized merit functions provides a global error bound for the solution of