• 沒有找到結果。

可變長度碼的疊代訊源通道解碼機制

N/A
N/A
Protected

Academic year: 2021

Share "可變長度碼的疊代訊源通道解碼機制"

Copied!
66
0
0

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

全文

(1)

國 立 交 通 大 學

電信工程研究所

碩士論文

可變長度碼的疊代訊源通道解碼機制

Iterative Source-Channel Decoding for

Variable-Length Codes

研究生:徐子凡

指導教授:張文輝 博士

中 華 民 國 一百 年 六 月

(2)

可變長度碼的疊代訊源通道解碼機制

Iterative Source-Channel Decoding for Variable-Length Codes

研 究 生:徐子凡 Student:Tzu-Fan Hsu 指導教授:張文輝 Advisor:Wen-Whei Chang 國 立 交 通 大 學 電信工程研究所 碩 士 論 文 A Thesis

Submitted to Institute of Computer and Information Science College of Electrical Engineering and Computer Science

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Communication Engineering June 2011

Hsinchu, Taiwan, Republic of China

中華民國一百年六月

(3)

i

可變長度碼的疊代訊源通道解碼機制

學生:徐子凡

指導教授:張文輝 博士

國立交通大學電信工程研究所

中文摘要

本論文主要探討基於可變長度碼之索引層級疊代訊源通道解碼 機制,及其在心電訊號壓縮的應用。傳統的通道解碼演算法受限於其 位元層級處理模式,與基於索引層級而推導的訊源解碼演算法存在著 相容性問題。有鑑於此,我們首先利用可變長 度碼在索引層級上的分 段籬柵結構,結合通道編碼器之狀態轉移以建構由二維狀態組成的籬 柵圖。接著依據此籬柵圖推導其軟性通道解碼演算法,並將其整合運 用於疊代解碼機制。主要是針對具特定機 率分佈的訊號源, 利用其可 變長度編碼所得的殘餘冗息,再基於渦輪碼原則在疊代解碼過程中相 互交換訊源及通道解碼器輸出的額外訊息。實驗模擬証實,索引層級 的疊代解碼機制能有效提升系統的強健性。

(4)

ii

Iterative Source-Channel Decoding for

Variable-Length Codes

Student:Tzu-Fan Hsu Advisor:Dr. Wen-Whei Chang

Institute of Communications Engineering

National Chiao Tung University

Abstract

Transmission of convolutionally encoded source codec parameters over noisy channels can benefit from the use of iterative source-channel decoding (ISCD). This thesis focuses on the design of a symbol-based ISCD for variable-length code (VLC). Our work starts with a sectionalized code trellis whose two-dimensional states are created by combing the symbol-based VLC trellis and the state transition of a channel encoder. We first derive a soft-output channel decoding algorithm that integrates the residual source into the ISCD algorithm. Based the turbo principle, ISCD exchanges the extrinsic information resulting from the source decoder and the channel decoder to improve the decoding performance. Simulation results are presented for Gauss-Markov sources and ECG signals which demonstrate the error-resilience capabilities of symbol-based iterative decoding.

(5)

iii

誌謝

首先我要感謝我的指導教授張文輝老師對我細心的指導,讓我學 習到正確的研究方法及態度,得以在這兩年的研究生涯中順利的完成 我的研究及論文。並且除了課業上的指導之外,同時也關心我們的生 活,以及對於我的未來及人生給了非常多的建議和經驗的分享。另外 也要感謝實驗室的同學及學長,在課業及研究上相互的討論及鼓勵, 並幫助我解決了許多問題。最後要感謝我的家人在這兩年來對我的支 持與鼓勵,讓我能夠專心致力於學業以及研究。

(6)

iv

目錄

中文摘要 ... i 英文摘要 ... ii 誌謝... iii 目錄...iv 圖目錄...vi 表目錄... vii 第一章 緒論 ... 1 第二章 傳輸系統架構 ... 6 2.1 系統傳輸模型 ... 6 2.2 可變長度訊源編碼 ... 8 2.2.1 霍夫曼編碼 ... 9 2.2.2 碼字層級籬柵圖 ... 10 2.3 迴旋通道編碼 ... 11 2.4 疊代解碼效能評估 ... 13 第三章 碼字層級之軟性通道解碼機制 ... 15 3.1 迴旋碼之碼字層級籬柵圖 ... 16

(7)

v 3.2 訊息符號後驗機率的推導 ... 18 第四章 疊代訊源通道解碼機制 ... 22 4.1 軟性訊源解碼 ... 23 4.2 疊代解碼之流程與額外資訊 ... 27 4.2.1 通道解碼額外資訊 ... 27 4.2.2 訊源解碼額外資訊 ... 29 第五章 實驗模擬與結果分析 ... 33 第六章 結論與未來展望 ... 52 附錄 A S-random 交錯器 ... 54 參考文獻 ... 56

(8)

vi

圖目錄

圖 2.1 系統傳輸模型 ... 6 圖 2.2 可變長度碼之籬柵圖(T=5,N=10) ... 11 圖 2.3 通道迴旋碼之位元層級籬柵圖 ... 12 圖 3.1 迴旋碼之籬柵圖 ... 17 圖 4.1 系統接收端架構圖 ... 32 圖 5.1 軟性訊源解碼效能 ... 35 圖 5.2 ISCD2 的疊代解碼效能(ρ=0.8) ... 38 圖 5.3 位元與碼字層級解碼效能之比較(ρ=0.8) ... 39 圖 5.4 不同訊源疊代解碼的重建訊號比(ρ=0.8, ρ=0.95) ... 40 圖 5.5 MIT-BIH 資料庫編號 100 之相關圖 ... 46 圖 5.6 重建訊號(k=2) ... 47 圖 5.7 重建訊號(k=4) ... 48 圖 5.8 不同通道訊雜比下之重建誤差 ... 49

(9)

vii

表目錄

表 5.1 不同向量維度之可變長度碼書 ... 44

(10)

1

第一章 緒論

近年來科技進步,行動多媒體通訊的相關應用已成為關鍵服務, 例如無線上網、線上觀看影片…等等。由於多媒體資 料包括音樂、影 像、語音…等資料量都相當龐大,故需要完善的壓縮機制使資料量得 以縮減,進而減少硬體空間以及網 路頻寬的資源浪費,降低成本並使 傳輸更有效率。針對這樣的議題,現今的多媒體資料壓縮技術,一般 會將可變長度碼(variable-length code, VLC)作為編碼機制的標準選項。 因此可變長度碼之設計及其在無線網路強健性傳輸,將是一個重要的 研究議題。 所謂的可變長度碼,是基於具特定機率分佈的訊號源,針對 不同 發生機率的資料使用不同長度的碼字加以編碼。為了減少碼字的平均 位元長度,機率較大的資料使用長度較短的碼字,相對機率較小的資 料則使用長度較長的碼字加以編碼。針對 不同的資料型態及傳輸目的 而 有不 同的 編碼演 算 法 ,其 中較著 名 的 編碼 方式包 括 霍 夫曼 碼

(Huffman code) 、 LZ 編 碼 (Lempel-Ziv coding) 和 算 術 碼 (Arithmetic

code)。這些編碼方式確實可以有效達到資料壓縮目的,卻也因為碼 字長度非固定,而衍生出如何具體實現其解碼同步的重要議題。除此

(11)

2 性的誤判及索引失序問題,使得系統的解碼效益嚴重受損。因此理想 的可變長度碼,不僅需要具有維持同步的編碼設計,也需要強健的解 碼機制以減少位元錯誤,進一步使系統達到 更好的效能。 在傳統的通訊系統設計中,訊源編碼和通道編碼 兩個系統區塊往 往是分開考量而獨立設計的。其中訊源編碼專注於資料壓縮,而通道 編碼則致力於資料保護。這樣的設計概念源自於沈農(Shannon)的消 息理論,其相關理論是在個別的編碼器規劃時,假設另一個編碼器已 完成最佳化設計。然而實際的通訊環境,會因為訊號延遲及系統複雜 度的各種限制而造成其具體實現上的困難。根據前人實驗觀察,訊號 源經訊源編碼器處理後,量化索引序列之間存在著某種型式的非均勻 機率分佈或隱含相關性,而這些殘留的資訊稱為殘餘冗息(residual redundancy)。若能妥善運用,即可在不需提升通道頻寬的情形下,提 供通道編碼一些事前資訊(a priori information)以改善解碼運作的正確

性。而這些在接收端將訊源解碼器和通道環境之效應一併納入系統設

計考量的研究,一般稱為合併訊源通道解碼 (joint source-channel

decoding, JSCD)。基於殘餘冗息的合併訊源通道解碼又可大致分為三 個 種類 : 錯 誤 隱 藏 (error concealment) 、 訊 源 控 制 通 道 解 碼 機 制

(source-controlled channel decoding, SCCD),以及疊代訊源通道解碼機 制(iterative source-channel decoding, ISCD)。在錯誤隱藏部分,殘餘冗

(12)

3 息讓訊源解碼器得以隱藏通道解碼器所無法消除的殘餘錯誤。這樣的 解碼觀念在 [1]被提出,並稱之為軟性訊源解碼機制(soft-bit source decoding, SBSD)。而在[2]所提出的訊源控制通道解碼機制,則試圖 將殘餘冗息整合於通道解碼機制過程中。有別於傳統的通道解碼機制, 訊源控制通道解碼機制的輸入端也包括 了事前機率,大多來自於事先 統計訊源分佈的資訊。而疊代訊源通道解碼機制則合併 了以上兩者的 優點,比起單獨使用其中任何一項都達到 更好的效果。 渦輪碼(Turbo Code)[3][4]是通道解碼研究的重大突破。其傳送端 是由兩個迴旋編碼器串聯且配合中間串聯的交錯器所組成,而接收端 則是將個別解碼器輸出的額外訊息(extrinsic information),相互交換作 為另一個解碼器的事前訊息,以期加強索引判斷的可靠 度。這樣的 疊 代架構,使渦輪解碼機制經證實能接近Shannon理論且具實用價值的 編碼技術。而疊代訊源解碼機制參考 了渦輪碼解碼的疊代解碼架構, 將通道解碼器與訊源解碼器作 連結,前者利用迴旋碼的錯誤檢查能力 得到額外訊息,而後者則 利用訊源的殘餘冗息作為加強解碼能力的依 據。相較於訊源編碼和通道編碼分開考 量的傳設計模式,基於渦輪原 理的疊代訊源解碼機制可以有效改善訊源的重建品質。 如前所述,可變長度碼是針對具特定機率分佈的訊源資料使用 長度不同的碼字加以編碼,而這樣的訊號源及編碼方式使殘餘冗息能

(13)

4 提供更有利的資訊。因此疊代訊源解碼機制不僅廣泛應用於固定長度 碼,也被應用在可變長度碼的傳輸系統。前人研究[5]與[6]針對不相 關的訊號源,設計出可變長 度碼在索引層級的籬柵圖(trellis),使其得 以運用BCJR演算法計算碼字的後驗機率。這種將訊源解碼的軟性輸 出運用在疊代解碼的模式,在[7]與[8]中進一步延伸應用在一階高斯 馬可夫訊號源,而訊號源之間強 烈的相關性使得殘餘冗息更具有解碼 效益,疊代解碼器運用這樣的資訊能達到更顯著的效果。然而在[7] 與[8]的疊代解碼機制中,只有訊源解碼運作於索引層級上,而通道 解碼則是基於位元層級運作。因此在疊代訊源通道解碼的過程中,有 助於解碼效能之額外訊息在兩個解碼器之間相互交換時,需要經過額 外的索引層級與位元層級間的轉換,而這個轉換破壞了一個索引內位 元間的相關性,因此降低了疊代解碼的效能。有鑑於此,我們提出將 通道解碼器運作提昇至索引層級之疊代訊源通道解碼機制,並參考[5] 與[6]之籬柵圖建構索引層級通道解碼所需的籬柵圖,而此疊代解碼 演算法之推導則源自於固定長度碼之碼字層級疊代解碼機制[9]。 本文首先在第二章介紹系統整體之傳輸架構與傳輸通道模型,並 說明將如何評估解碼效能。第三章介紹碼字層級之軟性通道解碼機制 及其籬柵圖之設計。第四章針對整體的疊代訊源通道解碼機制進行推 導,並說明其解碼步驟。第五章針對一階高斯馬可夫訊號及心電圖訊

(14)

5

號,分別提供實驗數據及分析結果。最後第六章則提供結論與未來展

(15)

6 t

v

VLC Encoder Φ Channel Encoder AWGN Channel Iterative Source- Channel Decoder

t

y

t

u

x

t

y

t

v

t 圖 2.1 系統傳輸模型

第二章 傳輸系統架構

基於無線感測網路內頻寬有限與雜訊干擾的考量,我們在傳送端 針對訊號源引入可變長度編碼以及通道編碼處理,而在接收端則是運 用渦輪原則的循環疊代模式以逐次累積有助於解碼的事前資訊直到 系統效能收斂。在傳輸系統的輸入端,我們初步採用一階高斯馬可夫 訊號作為訊號源,配合不同的相關係數來模擬各種應用的訊號源(如 視訊、音訊、心電圖…等)。本章節將介紹整體系統的架構,並描述 傳輸端各個模組的運作方式及功能。第一節說明系統的傳輸模型。第 二節介紹可變長度碼及其籬柵圖。第三節介紹通道迴旋碼及其籬柵圖。 最後一節則探討可變長度碼之疊代解碼效能評估。 2.1 系統傳輸模型 系統的傳輸模型如圖 2.1 所示,傳輸以封包(packet)為單位,一 個封包v1 [ ,1 2,..., ] T T v v v = 由 T 個具關聯性的符號(symbol)vt所組成,其中

(16)

7 t 為時間索引。封包大小 T 在系統應用上可分為已知或未知 兩種情形, 通常多媒體傳輸中 T 為已知 ,本 論文將僅針對T 為已知的情況進行系 統之設計。在傳輸端符號vt依序經過 M 位元的量化後產生符號ut =λ, 其中λ ∈ = … {0, , 2M −1}。接著再經過可變長度編碼處理,利用前置碼C 將符號ut =λ對映至一可變長度的碼字,並可將其表示為位元向量 ( ) [u (1),u (2),...u ( (c( )))]t t t c λ =  λ ,其中(c( ))λ 為此碼字長度。將這些位元向 量 串 連 起 來 可 得 到 一 總 長 度 為 N 個 位 元 的 二 位 元 序 列 1 2 1 2 [ ,w w ,...,wN] [ ( ), ( ),..., (c u c u c uT)] = = w ,其中wn∈{0,1}為序列w中的第 n 個位元。將一個封包中的 T 個符號 1 [ ,..., ,...,1 ] T t T u = u u u 經過一碼字層級的 交錯器(interleaver),而取得一重新置換的序列 1 [ ,..., ,...,1 ] T t T x = x x x ,其 中xt = Φ( )ut 。交錯器的功能在於讓訊源與通道兩解碼器輸入端的訊號 互不相關,如此才能確保其疊代運算過程不致於有相同資訊重複使用 之虞。接下來,將置換過後的序列 1 [ ,..., ,...,1 ] T t T x = x x x 經過一編碼率為 1/2 的 通 道 編 碼 器 (channel encoder) , 得 到 輸 出 序 列 為 1 [ ,...,1 ,..., ] [( , ),..., ( , ),..., (1 1 , )] T t T t t T T y = y y y = x z x z x z ,其中xtzt分別為訊息符 號與同位檢查符號。分別將符號xtzt以位元向量的形式串連為長度 為 N 的二位元序列 [ ,1 2,..., ] s s s s N b b b = bp [ 1p, 2p,..., p] N b b b = b 。最後進行二位元

鍵移調變(Binary Phase Shift Keying, BPSK modulation),再經由可加

(17)

8 接收端,針對收到的軟性輸出序列1 [1,..., ,..., ] T t T y = y y y 進行訊源通道疊 代解碼,得到其估算的符號序列 1 [ ,1 2,..., ] T T v = v v  v 。 在 接 收 端 , 收 到 的 訊 息 及 同 位 檢 查 位 元 序 列 分 別 為  [ 1, 2,..., ] s s s s N b b b = b    及 [ 1, 2,..., ] p p p p N b b b = b    ,提供了通道相關的資訊以協助解 碼處理。假設通道為可加性白高斯(AWGN)的無記憶性通道,在通道 雜訊比為 0 b E N 下且雜訊之變異數為 2 0/ 2 e N σ = ,封包第 n 個位置的訊息 位元通道資訊 ( s | s) n n p bb 及同位檢查位元通道資訊 ( p| p) n n p bb 可分別由下 式計算:   2 0 1 ( | ) exp[ ( ) ] 2 s s b s s n n n n e E p b b b b N πσ = ⋅ − − (2.1)   2 0 1 ( | ) exp[ ( ) ] 2 p p b p p n n n n e E p b b b b N πσ = ⋅ − − (2.2) 2.2 可變長度訊源編碼 在訊源編碼的相關研究中,可變長度碼 (variable-length code, VLC)與固定長度碼(fixed-length code)有其不同適用的應用領域。針 對具有特定機率分佈的訊號源,使用可變長度碼在資料壓縮層次有較 好的效果,然而在解碼過程中因通道雜訊所衍生的同步失序議題則尚 待解決。在前人的研究文獻中,指出此議題包含 了位元同步及索引同 步兩類,前者隨著通訊系統的進步已有效克服,然而位元錯誤所引起

(18)

9 的索引錯誤以及索引同步失序的問題仍是複雜而有待解決的。在解碼 的過程中,若能運用訊號特性設計其狀態(state)轉移關係,再配合籬 柵(trellis)結構即可發展更為可靠的解碼演算法。以下我們將依據此 概念,探討可變長度碼與其籬柵(trellis)結構。 2.2.1 霍夫曼編碼 可變長度碼的基本理念為符號的碼字長度反映其所攜帶的訊息 量,設計方法為讓較常出現的符號對應到長度較短的碼字,以期平均 傳輸位元量可以近似理論熵值(entropy), 2 1 ( ) ( ( ))

log

H P P λ λ λ ∈ =

⋅  ,其 中P( )λ 為索引值λ的發生機率。 本論文使用的霍夫曼編碼(Huffman coding),其設計符合前置碼條件(prefix condition),才能在解碼時避 免索引判定的混淆,得以進行正確的索引同步解碼。首先,經過事前 訓練取得不同索引的機率分佈P( )λ ,接著依據以下的演算流程產生一 組可變長度的霍夫曼碼: 1. 將索引機率由大至小依序排列,並將機率最小的兩個索引分別標 記上 0 及 1。 2. 將這兩個索引視為新的一群,其機率為兩者之和,並以此機率安 排至新的順序。 3. 重複執行程序,直到僅餘兩個狀態。最後由右至左取得每個索引

(19)

10 所對應的碼字。 2.2.2 碼字層級籬柵圖 在使用可變長度碼的情況之下,當傳輸發生錯誤時,由於索引同 步失序,即使位元解碼出現的錯誤很少,亦可能造成嚴重的索引誤判。 在這種情況之下,收到序列y1T中對應索引ut =λ的碼字c( )λ 在 t 時刻的 位元位置可能將無法準確地定位。因此,我們定義在 t 時刻所有可能 的位元位置gt = n ∈ 𝒩t為碼字c( )λ 在 t 時刻的起始狀態。我們可以利 用一個適當地對應至可變長度碼的籬柵圖來實現。籬柵圖的狀態定義 為gt =n,其中gt為時刻 t 的狀態,而gt = n ∈ 𝒩t表示在編碼位元序 列w中的位元位置。以下舉一個簡單的例子: 一組可變長度碼為C={ (0)c =[1], (1)c =[0,1], (2)c =[0, 0, 0], (3)c =[0, 0,1]},其對 應的碼長分別為l c( (0))=1、l c( (1))=2、l c( (2))=3及l c( (3))=3。假設封包的 索引值數目T=5,封包位元長度N=10,即可將所有可能的 索引組合如 圖2.2繪出。

(20)

11 圖2.2 可變長度碼之籬柵圖(T=5,N=10) 從圖2.2可看出,索引ut =λ會使得狀態gt1 =n1轉移至狀態gt =n2, 且對應至碼字c( )λ ,其碼長度為l c( ( ))λ = −n2 n1。假使一組碼書中有兩 個以上相同碼長的碼字,則在籬柵圖上狀態gt1 =n1和狀態gt =n2之間 會存在若干平行的狀態轉移。此外,圖2.2還顯示出由於我們的傳輸 系統以封包為單位傳輸,在每個封包長度為T個符號且N個位元的條件 之下,會造成籬柵圖隨時間依序呈現發散、穩定及收斂三種階段。 2.3 迴旋通道編碼 為了保護要傳輸的量化資料,在系統中引入通道編碼器(channel encoder)以降低通道雜訊的干擾。本論文使用的是一編碼率為 1/2 的 遞迴系統迴旋(recursive systematic convolutional, RSC)碼。所謂的系

g3=7

(21)

12 統碼(systematic code)即為在通道編碼的過程中,會產生與其輸入端 相同的訊息位元以及依照通道編碼演算法所計算出的同位檢查位元。 在段碼(block code)中,碼率為 k/m 的編碼器接收了 k 個訊息位元然 後產生 m 位元的碼字,因此編碼過程是以一個區塊為單位進行,很顯 然地在編碼器裡必須有足夠空間儲存全部的訊息片段以便產生碼字。 但在實際操作上訊息位元是以串列的方式輸入,預設大的空間儲存是 既不經濟也不實際的,在這種情形下使用迴旋碼是相當好的選擇,因 為迴旋碼編碼器的編碼過程是透過不斷的與輸入訊息運算來產生碼 字,且可以利用籬柵圖(trellis diagram)來呈現輸入訊息、輸出訊息以 及編碼器中暫存器狀態的轉移關係。以圖 2.3 為例,此圖為一編碼率 為 1/2 的迴旋編碼器之位元層級籬柵圖。 Input 0 Input 1 圖 2.3 通道迴旋碼之位元層級籬柵圖

(22)

13 若進一步將l c x( ( ))t 段的位元層級籬柵圖合併為一碼字層級的籬 柵圖,便可從此碼字層級的籬柵圖看出從某個迴旋編碼器的起始狀態 1 t s ,經由索引xt的輸入,而產生的輸出碼字yt =( , )x zt t 以及迴旋編碼 器轉移後的狀態st。利用此迴旋編碼器之碼字層級籬柵圖,結合圖 2.2 的可變長度碼之籬柵圖將可提供通道解碼的依據,其解碼過程將在第 三章詳述。 2.4 疊代解碼效能評估 基於索引同步的考量,接收端需要知道一個傳送封包的索引數目 T 以及總位元長度 N,將符合此條件的所有可能索引值組合列舉出來, 再從這些組合中依據不同的估算機制找出最佳的索引解。執行方式則 是利用如圖 2.2 的籬柵圖進行訊源符號的解碼估算,即能在封包之索 引值數目及總位元長度的限制條件下,找到一組最佳的索引組合。 訊源疊代通道解碼器的主要任務是計算每個索引值的後驗機率 1 ( t | T) P uy ,並依據將解碼輸出端的重建訊號 1 [ ,1 2,..., ] T T v = v v  v 的均方

(mean square, MS) 誤差或符號錯誤率(symbol error rate, SER)最小化

的原則,最佳化地估算訊源符號vt。以下我們將分別考慮最小均方誤

差(minimum mean square error, MMSE)及最大後驗機率(maximum a

(23)

14 所謂的最小均方誤差估算旨在將原始符號vt與重建符號vt的平 均誤差最小化,如下式所示: ( )

{

 2

}

1 min ( ) | t T MMSE t t t E v

v v

y

v

= − (2.3)

如此即相當於將重建訊雜比(reconstruction signal-to-noise ratio, RSNR)

最大化,而  2 2 ( ) t t t t t v RSNR v v− ∑ = ∑ (2.4) 由(2.3)式可推得其估算為

( ) 2 1 1 =0 = ( ) ( | ) M MMSE T t q t

v

P u y

v

λ λ λ − ⋅ =

(2.5) 其中,

v

q( )λ 為量化表(quantization table)中對應至索引λ的量化值。 由於此估算法可以將重建訊號的訊雜比最大化,因此特別適用於多媒 體通訊。 另一種常用估算方法則是最大後驗機率估算法,可在符號層級上 解碼並且將符號錯誤機率最小化,其估算如下式所示:

( ) 1 ( ) max ( | ) MAP q t map t T map P t

v u

v

y

u

λ

λ

λ

λ

= = = =

(2.6) 有別於訊雜比,符號錯誤率只比較量化索引的原始值與重建值的差異, 並不考慮重建符號的誤差大小,其計算方式為 ( ) 1 1 ( ) T MAP t t t SER v v T = =

≠ (2.7)

(24)

15

第三章 碼字層級之軟性通道解碼機制

配合傳輸端之使用通道編碼器,一個軟性輸出的通道解碼器不僅 輸出硬性判定的重建符號,也能夠提供可靠訊息給後續的訊源解碼程 序以增進系統的強健效能。普遍使用的 BCJR 演算法,是針對段碼及 迴旋碼,並基於籬柵結構而推導的最大後驗機率解碼演算法。在[10] 中,提出一個基於位元層級籬柵圖之前向-後向(forward-backward)的 遞迴運算,其籬柵圖中的每個狀態都會有兩條分支由其分出,而每條 分支代表單一的符號位元。若進一步將此籬柵圖依碼字的位元長度分 段合併,則產生的籬柵結構有助於引入訊源解碼端回傳之參數導向 (parameter-oriented)的額外資訊[11],[12]。為了具體實現此通道解碼運 算,我們提出一種改良式的 BCJR 演算法,主要構想是將收到的碼字 位元序列以碼字為單位依序處理,並基於碼字層級而計算每個符號的 後驗機率。有別於傳統的 BCJR 演算法是逐次解碼單一位元,我們所 提出的演算法是將碼字索引視為一個非二位元的符號來執行通道解 碼 處 理 。 本 章 節 將 說 明 如 何 修 改 BCJR 演 算 法 , 並 配 合 分 段 (sectionalized)的碼字層級籬柵圖進行軟性通道解碼流程。第一節介紹 通道解碼所需的碼字層級籬柵圖,第二節則詳細說明如何逐步推導不 同索引之後驗機率。

(25)

16 3.1 迴旋碼之碼字層級籬柵圖 為了執行碼字層級的軟性通道解碼,經由將碼字位元序列剖析為 (c( ))xt  個位元的符號,也就是將(c( ))xt 段原始位元層級的籬柵圖合併 為一個碼字層級的分段籬柵圖。在前人的研究中,此分段籬柵圖已經 證實可以提升固定長度碼的通道解碼效能,但若要將此概念延伸應用 於可變長度碼則面臨諸多挑戰。在這種可變長度分支的情形下,將不 同的路徑輸入到一個狀態中必須考慮從收到的序列中截取不同的位 元數目,因而與固定長度碼的作法迥然不同[13]。以下舉例說明:考 慮一組可變長度碼C ={ (0)c =[1], (1)c =[0,1], (2)c =[0, 0, 0], (3)c =[0, 0,1]}以及 一編碼率為 1/2 且編碼生成矩陣為 ( ) 1 (1 2)2 (1 ) D G D D D  +  =  + +   的迴旋碼。在 圖 3.1(a)所示的位元層級籬柵圖中,淺色的路徑表示輸入符號xt =1 且碼字為c(1)=[0,1],其位元狀態轉移為sl1=00→ =sl 00→sl+1=10,而 其輸出的同位檢查位元可由其路徑所經過的分支而得為[+1,-1]。而 深色的路徑則表示輸入符號xt =2且碼字為c(2)=[0, 0, 0],其位元狀態轉 移為sl1=10→ = →sl 11 sl+1=01→sl+2 =10,而輸出的同位檢查位元依序為 [-1,-1,+1]。以此類推,我們可以從位元層級籬柵圖中找出從不同起 始狀態因輸入不同符號xt所產生的路徑,並將該路徑所屬之分支合併 產生一條在碼字層級分段籬柵圖的分支。在分段籬柵圖 3.1(b)中, 顯示了所有從位元層級籬柵圖中的路徑經合併產生的分支,分支上所

(26)

17 標記的為通道編碼器的輸入符號及輸出的同位檢查位元向量,即 / [ (1), (2),..., ( ( ( )))] t t t t t x z z z l c x 。在此我們注意到,若使用固定長度的碼字, 合併後的分段籬柵圖中的每個狀態st都會有2M個分支由其分出及併 入。而若為可變長度的碼字,由於每個符號都可能輸入至任何狀態下 的通道編碼器,因此每個狀態st還是會有2M個分支由其分出,但進入 到狀態st的分支數量則會依使用的前置碼C之碼字組合而定。 00 11 10 01 00 11 10 01 +1/(+1,+1) +1/(+ 1,+1) +1/(+ 1,-1) +1/(+ 1,-1 ) -1 /(-1,-1) -1/(-1,+1) 1 l s xl sl -1 /(-1,-1) -1 /(-1,+1) 11 10 01 00 +1/(+1,+1) +1/(+ 1,+1) +1/(+ 1,-1) +1/(+ 1,-1 ) -1 /(- 1,-1) -1/(-1,+1) -1 /(-1,-1) -1 /(-1,+1) 01 00 +1/(+1,+1) +1/(+ 1,+1) +1/(+ 1,-1) +1/(+ 1,-1 ) -1 /(- 1,-1) -1/(-1,+1) -1 /(-1,-1) -1/(-1, +1) (a) 位元層級 10 11 1 l s+ 1 l x+ xl+2 sl+2 00 11 10 01 00 01 10 11 2/[-1,-1,+1] 1/[+1,-1] 0 λ= 2 λ= 3 λ= 1 λ= t x st (b) 碼字層級 1 t s 圖 3.1 迴旋碼之籬柵圖 (a)位元層級 (b)碼字層級

(27)

18 由圖 3.1(b)可看出,輸入不同長度的碼字可能會到達相同的狀 態st,但無法判定輸入碼字的長度及其在 t 時刻的位元位置gt =n。 有鑒於此,我們將一維的狀態st擴展至二維的狀態σt =( ,s gt t)∈ ×S 𝒩t, 其中S={0,1,...,2 -1}κ 為一個帶有κ階暫存器的迴旋編碼器中2κ個可能的 狀態集合,而𝒩t則在 2.2.2 節中定義。此概念之具體實現方式,是將 可變長度碼之籬柵圖(圖 2.2)及迴旋碼之碼字層級分段籬柵圖(圖 3.1(b))合併,以作為通道解碼的依據。將籬柵結構如此定義之後, 每個籬柵圖中的分支上都有其所對應之特定符號xt =λ的後驗機率。 為了方便說明起見,我們稱此籬柵圖產生了一個由狀態轉移函式 1 ( ,t t ) F xσ σ 及 輸 出 函 式 F xP( ,t σt1) 所 定 義 的 有 限 狀 態 機 (finite-state machine)。由此概念而知,由狀態σt1轉移至狀態σt =F xσ( ,t σt−1)的分支 所 對 應 的 碼 字 符 號 組 合 可 記 為 yt ={ , }x zt t , 其 中 xt 為 訊 息 符 號 , 1 ( , ) t P t t z =F x σ 則為一個給定狀態σt1下輸出的同位檢查符號。 3.2 訊息符號後驗機率的推導 針對迴旋碼使用改良式的 BCJR 演算法,可實現軟性輸入及軟性

輸出(soft-input soft-output, SISO)的通道解碼模組。為了使訊息符號

更具可靠性,我們將觀察整體接收的封包,並依據上節介紹的碼字層

(28)

19 主 要 是 利 用 在 接 收 端 所 收 到 經 過 通 道 干 擾 的 實 數 序 列 1 { , 1 2,..., } {( ,1 1), (2, 2),..., ( , )} T T T T y = y y y = x zx zx z ,配合籬柵結構以推導每一 個訊息符號值xt =λ之後驗機率 ( |1) T CD t P xy 。考慮籬柵圖中的二維狀 態σt,可將其後驗機率寫成:   1 1 ( | ) ( , | ) t CD CD T T t t t P x y P x y σ λ λ σ = =

= (3.1) 其中 ( , |1) T CD t t P x =λ σ y 可經由貝氏定理分解為:   1 1 ( , | ) ( , , ) ( , ) ( , ) CD CD T T t t t t x x t t t t P x y C P x y C λ σ λ σ α λ σ β λ σ = = ⋅ = = ⋅ ⋅ (3.2) 其中 ( , ) ( , ,1) t x t t P xt t y α λ σ = =λ σ 為前向機率, ( , ) ( 1| , ,1) T t x t t P yt xt t y β λ σ = + =λ σ 為 後向機率,而 1 / (1) T C= P y 為正規化因子。利用訊息符號的一階馬可夫 模型以及通道無記憶性的假設,其前向遞迴及後向遞迴可分別以下列 式子表示為:       1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 , 1 ( , ) ( , , , , , ) ( , , ) ( , , | , , ) ( , ) ( , , ) t t t t x t t t t t t t q t t t t t t t t t q x x t t t q t t q P x x q y y P x q y P x y x q y q y σ σ λ σ α λ σ λ σ σ σ λ σ σ α σ γ σ σ − − − − − − − − − − − − − − − = = = = = ⋅ = = = ⋅

∑∑

∑∑

∑∑

(3.3)

(29)

20           1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 ( , ) ( , , , | , , ) ( | , , , , , ) ( , , | , , ) ( | , , t t T t x t t t t t t t t q T t t t t t t t q t t t t t t T t t t t P x q y y x y P y x q y x y P x q y x y P y x q y σ σ β λ σ σ λ σ σ λ σ σ λ σ σ + + + + + + + + + + + + + + + + + = = = = = = ⋅ = = = =

∑∑

∑∑

   1 1 1 1 1 1 1 1 1 , 1 1 ) ( , , | , , ) ( , ) ( , , ) t t q t t t t t t x x t t t q t t q P x q y x y q y σ λ σ σ λ σ β σ γ σ σ + + + + + + + + + ⋅ = = = ⋅

∑∑

∑∑

(3.4) 其中在前向遞迴的式子(3.3)之        1 , 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ( , , ) ( , ( , ), | , ( , ), ) ( | , , , , , ) ( | , , , , ) t x t t t t t q t t t t t t t t t t t t t t t t t t t t y P x s g y x q s g y P s x g y x q y P y x g x q y λ γ σ σ λ σ σ λ σ λ σ − − − − − − − − − − − − = = = = = = = ⋅ = = =   1 1 1 1 1 1 1 1 ( , | , , ) ( | , ) ( | , , ) ( , | , ) t t t t t t t t t t t t t t t t P x g x q y P s x s P y x g P x g x q g λ σ λ λ σ λ − − − − − − − ⋅ = = = = ⋅ = ⋅ = = (3.5) 為了應用符號解碼模式來消減傳輸錯誤,將籬柵圖上每條路徑的 支路量度(branch metric)γλx,q(yt,σ σt, t1)適當地表述其關鍵是系統設計 必須考慮到許多額外的因子,例如碼字層級籬柵結構及可加性白色高 斯 雜 訊 特 性 。 首 先 , 基 於 前 一 節 所 介 紹 的 通 道 解 碼 籬 柵 圖 , 1 ( |t t , t ) P s xs 將取決於訊息符號xt =λ是否合法地將籬柵圖中的狀態 1 t s 連結至st。若能夠連結,P s x( |t t =λ,st1) 1= ,反之則P s x( |t t =λ,st1)=0。

(30)

21 接著,(3.5)式中的第二項為通道資訊(channel information),對於可 加性白色高斯雜訊通道而言,可分解成與訊息符號及與同位檢查符號 相關之通道資訊,如下式所示:      1 1 1 1 ( | , , ) ( | , , ) ( | ( , ), ) ( | , ) ( | ( , ), ) t t t t t t t t t p t t t t t t t t t p t t t P y x g P x x g P z z F x g P x x g P z z F x g λ σ λ σ λ σ λ λ σ − − − − = = = ⋅ = = = = ⋅ = = (3.6) 至於接收到的訊息符號及同位檢查符號之條件機率,可分別由下列計 算式而得:    1 1 (c( )) 1 (c( )) (c( )) 2 1 0 ( | , ) ( | ( )) 1 = ( ) .exp[ ( ( )) ] 2 t t s t t t g m t m s b g m t m e P x x g P b x m E b x m N λ λ λ λ πσ − − + = + = = = − −

   (3.7)    1 1 (c( )) 1 (c( )) (c( )) 2 1 0 ( | , ) ( | ( )) 1 = ( ) .exp[ ( ( )) ] 2 t t p t t t g m t m p b g m t m e P z z g P b z m E b z m N λ λ λ λ πσ − − + = + = = = − −

   (3.8) 其中gt1= − gt (c( ))λ 。最後,由於xt = Φ( )ut ,碼字間的相關性經由交錯 器處理而消失,(3.5)式中的第三項應被設為零階相關性的機率 ( t , t) P xg 。經由上述之推導,將可被逐項計算得出γλx,q(yt,σ σt, t1),再 將 其 分 別 代 入 (3.3) 及 (3.4)式 求 出 前 向 機 率 x( , ) t t α λ σ 及 後 向 機 率 ( , ) x t t β λ σ ,再經由(3.1)式進而求出每一個訊息符號值xt =λ之後驗機 率PCD(xt =λ|y1T),最後利用 2.4 節所介紹的效能評估機制,即可求得 通道解碼輸出之符號錯誤率與重建訊雜比。

(31)

22

第四章 疊代訊源通道解碼機制

渦輪碼(turbo code)是 1993 年發明的一種高效能的前向錯誤更正

(forward error correction, FEC) 碼 , 同 時 也 是 首 次 經 證 實 能 接 近 Shannon 理論且具實用價值的編碼技術。渦輪解碼架構是由兩個相同

的通道解碼器配合中間 串聯的交錯器所組成,藉由各別解碼器輸出的

額外訊息(extrinsic information)交互疊代來加強估算符號的可靠度。而

疊代訊源通道解碼機制(Iterative source-channel decoding, ISCD)則是

一種類似渦輪解碼的系統,其核心模組是由通道與訊源兩種不同的解 碼器所組成。在疊代解碼過程中,通道解碼器與訊源解碼器互相交換 額外訊息,其訊息分別源自於迴旋碼的錯誤檢查能 力與訊源殘餘冗息 (residual redundancy)。 在本章我們將探討可變長度碼的疊代訊源通道解碼設計,主要是 因為可變長度碼是針對具有特定機率分佈的訊號源,故碼字間所存在 的殘餘冗息將會是解碼過程中值得運用的重要資訊。在前人的研究中, 主要的解碼過程運作於位元層級上,但訊源解碼本身卻是實現在碼字 層級上。這使得在解碼過程中位元層級與碼字層級的資訊交換時,必 須經過額外的位元與碼字機率之間的轉換,因此破壞了一個碼字內位 元間的相關性,降低了疊代解碼的效能。有鑑於此,如第三章所述,

(32)

23 我們將二進位迴旋碼的通道解碼運作建立在碼字層級之上,進而推衍 出碼字層級的疊代解碼機制。為了達到這個目標,我們必須發展出改 良式的 BCJR 演算法及其所對應的籬柵結構,使得碼字層級的資訊能 夠被運用。而在推展新的演算法時所面臨到的問題也將在此章節逐一 探討。 4.1 軟性訊源解碼 對於可變長度碼及通道碼的結合,我們將殘餘的訊源冗息及添加 的通道碼冗息經過類似渦輪碼的計算,使得在疊代解碼的過程中能得 到效能上的提升。在疊代解碼系統中,含有兩個軟性輸入軟性輸出之 解 碼 器 。 其 中 通 道 解 碼 器 之 目 標 在 於 處 理 收 到 的 碼 字 序 列     1 [ ,1 2,..., ] T T y = y y y ,並結合訊息符號之事前機率而計算出通道解碼所得 的額外訊息。而訊源解碼器則計算訊源額外訊息,並將其經過交錯器 後,在下一次的疊代中當作通道解碼端額外的事前資訊。將兩個解碼 器的額外訊息不斷反覆疊代交換,直到可靠性之增益已無明顯效果。 在最後一次的疊代之後,由訊源解碼端所產生的後驗機率將視為參數 估算機制之輸入,最後經由一個反量化處理產生傳送訊號vt的估算符 號vt

(33)

24 訊源解碼的額外訊息之決定準則在[7]中被推導出,但我們提出 進一步的調整,主要是在訊源解碼的過程中利用交錯區塊而允許 T 個 符號的延遲。我們將依照定義的交錯區塊 (interleaving block)大小決 定長度 T,而交錯區塊大小 T 之意義為將訊號源符號序列中的每 T 個 符號訂為一個區塊,而交錯處理只針對區塊內的 T 個符 號。若解碼程 序是基於一階馬可夫模型而運作,則符號間的相關性將會被納入解碼 流程中所考慮的因子。接著,以時刻 t 為參考點,整個過去所收到的 訊息符號序列1 t u 甚或是之後所收到的符號序列 1 T t u+ 都會被考慮為訊源 解碼的依據。為了具體實現此概念,我們將提出一個前向-後向的演 算法,來說明如何將過去及未來所收到的符號序列轉換為在疊代解碼 過程中有用的額外資訊。 我們考慮一組長度為 T 的符號序列 1 T v ,每個符號vt都經過量化而 得 M 個位元的索引ut =λ,再執行可變長度編碼而得其碼字為c u( t =λ)。 接著,將這 T 個碼字組合出位元長度為 N 的位元序列,所有滿足碼字 長度為 T 且位元長度為 N 的序列組合可利用如圖 2.2 的可變長度碼之 籬柵圖來表示。考慮籬柵圖中的狀態gt1gt,對應於收到序列 1 {1, 1} T T T y = u z 之傳送符號ut =λ的後驗機率為   1 1 1 1 ( | ) ( , , | ) t t T T SD t SD t t t g g P u λ y P g u λ g y − − = =

∑∑

= (4.1) 其中 ( 1, , |1) T SD t t t P g ug y 經由貝氏定理可進一步分解為

(34)

25 ( 1, , |1) ( , ) ( , ) ( 1 | 1, , ,1) T u u T T S Dt t t t t t t t t t P g ug y = ⋅C α λ g β λ gP zg ug u (4.2) 其中 1 / (1) T C= P y 為正規化因子,而前向機率 ( , ) ( 1, , ,1) t u t gt P gt ut g ut α λ = =λ , 後向機率 ( , ) ( 1| 1, , ,1) T t u t t gt P u gt ut g ut β λ = + =λ 。前向機率與後向機率又可分 別簡化為下列的遞迴公式:     2 1 2 2 1 2 1 2 1 1 : (c(q))=g 1 1 2 1 1 : (c(q))=g 1 1 2 1 1 ( , ) ( , , g , , , ) ( , , | , , g , ) ( , , g , ) t t t t t t t u t t t t t t t g q g t t t t t t t g q g t t t t g P g u q u g u P u g u g u q u P g u q u α λ λ λ − − − − − − − − − ∈ − − − − − ∈ − − − − − = = = = = = ⋅ =

    2 1 2 , 2 1 1 : (c(q))=g ( , , ) ( , ) t t t u u t t q t t t g q g u g g q g λ γ α − − − − − − ∈ − =

⋅   (4.3)       1 1 1 1 2 1 1 1 1 1 : (c(q))=g 1 2 1 1 1 1 : (c(q))=g 1 1 1 1 ( , ) ( , , , | , , , ) ( | , , , , , ) ( , , | , t t t t t t T t u t t t t t t t t t g q g T t t t t t t t g q g t t t t t g P u u g u q g u g u P u u g u q g u g P u g u q g u β λ λ λ + + + + + + + + ∈ − + + + + ∈ − + + + = = = = = = ⋅ =

         1 1 1 1 1 1 2 1 1 1 : (c(q))=g 1 1 1 1 1 , 1 1 1 1 : (c(q))=g , , ) ( | , , , ) ( , , | , , , ) ( , , ) t t t t t t t t T t t t t t g q g t t t t t t t u u q t t t t g q g g u P u u g u q g P u g u q g u g u u g g λ λ λ γ β + + + + + + + + ∈ − + + + + + − + ∈ − = = = ⋅ = = = ⋅

    1 ( ,q gt+ ) (4.4) 其中(4.3)式之       1 1 , 2 2 1 1 1 1 1 1 2 1 1 1 1 2 ( , , ) ( , , | , , g , ) ( | , , , g , , ) ( , | , g , , ) ( | t u t t t t t q t t t t t t t t t t t t t t t t t t u g g P u g u g u q u P u u g u q g u P u g u q g u P u λ γ λ λ λ − − − − − − − − − − − − − = = = = = = ⋅ = = = ut =λ,gt)⋅P u( t =λ,g ut| t1=q, g ,t1 gt2) (4.5)

(35)

26 (4.5)式中的第一項P u u(t | t =λ,gt)為與訊息符號ut相關之通道訊息,可 由如(3.7)式之計算方式而得。而第二項為一階馬可夫訊號之轉移機 率,將其對應至可變長度碼之籬柵圖可得 P(ut= λ, gt|ut−1 = q, gt−1, gt−2) = 1 C(q,gt−1)∙ � P(u t= λ|ut−1 = q), for ℓ�c(λ)� = gt− gt−1 0, otherwise (4.6) 其中正規化因子 1 1 1 : (c( ))=g ( , ) ( | ) t t t t t t g g C q g P u u q λ λ λ − − − ∈ − =

= =   (4.7) 在 疊 代 解 碼 的 過 程 中 , (4.5) 式 中 的 第 二 項 可 更 新 為 [ ] 1 1 2 ( ) ( , | , g , ) ext , CD t t t t t t t P ug u =q gP ug 。值得注意的是,由(4.7)式 的加總條件可看出,此正規化因子考慮到封包總位元長度 N 及符號個 數 T 之限制,因此可變長度碼之籬柵圖在發散及收斂階段不是所有碼 字λ= …0, , 2M −1所對應的狀態轉移gt1gt =gt−1+ (c( ))λ 都會存在。經 由上述公式之推導,最終可求得每一個訊息符號可能值ut =λ之後驗 機率 ( |1) T t P uy 。下一節將說明如何利用後驗機率擷取訊源解碼之額 外資訊,以及疊代解碼過程中,兩個解碼器所輸出的額外訊息如何交 換運用。

(36)

27 4.2 疊代解碼之流程與額外資訊 為了取得疊代解碼所需的軟性輸出,以下將推導出其額外訊息 部分,用以回傳給另一個解碼器使用。內容分為通道解碼器及訊源 解碼器個別輸出的額外訊息。最後再總結整個疊代訊源通道解碼的流 程。 4.2.1 通道解碼額外資訊 由 (3.1) 式 通 道 解 碼 計 算 所 得 的 訊 息 符 號 之 後 驗 機 率 1 ( | T) CD t P xy ,進一步正規化而計算考慮通道解碼籬柵圖狀態gt及 00 11 10 01 00 11 10 01 +1/(+1,+1) +1/(+1,+1) +1/(+ 1,-1) +1/(+ 1,-1) -1/(-1,-1) -1/(-1,+1) 1 ls −lxls -1/(-1,-1) -1/(-1,+1) 11 10 01 00 +1/(+1,+1) +1/(+1,+1) +1/(+ 1,-1) +1/(+ 1,-1) -1/(-1,-1) -1/(-1,+1) -1/(-1,-1) -1/(-1,+1) 01 00 +1/(+1,+1) +1/(+1,+1) +1/(+ 1,-1) +1/(+ 1,-1) -1/(-1,-1) -1/(-1,+1) -1/(-1,-1) -1/(-1,+1) (a) 位元層級 10 11 1 ls + 1 lx + lx +2ls +2 之後驗機率: 1 1 1 1 ( , , | ) ( | ) ' T T CD t t t CD t P g x g y P x y C λ λ − = = ⋅ = (4.8) 其中正規化因子  1 1 1 { , : (c(q))} ' ( | ) t t t t T CD t q g g g g C P x q y − − −= =

=  (4.9) 為 了 疊 代 解 碼 程 序 能 使 用 通 道 解 碼 器 的 軟 性 輸 出 , 此 機 率  1 1 ( , , | T) CD t t t P g xg y 必 須經 由貝 氏定理 分解 為以 下三項 :事前 機率 ( , ) a t t P xg , 通 道 相 關 資 訊 P xc( t =λ,gt) 及 通 道 解 碼 額 外 訊 息 [ ] ( , ) ext CD t t P xg 。(4.8)式將被展開為

(37)

28          1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ( , , | ) ( , , , , ) / ( ) ( | , , , ) ( , , , ) ( ) ( | , , , , ) ( T T T T CD t t t t t t T T T t t t t t t T t T t t t t t P g x g y P g x g x z P y P z x g g x P x g g x P y P x x g g x x P λ λ λ λ λ − − − − − + − = = = = = = ⋅ = = ⋅        1 1 1 1 1 1 1 1 [ ] , , ) ( | , , , ) ( , ) ( ) ( | , ) ( , ) ( , ) t t t T T t T t t t t T ext t t t t t CD t t x g g P z x g g x P x x P y C P x x g P x g P x g λ λ λ λ λ − − + = = ⋅ ⋅ = ⋅ = ⋅ = ⋅ =  (4.10) 其中 1 / (1) T C= P y 為正規化因子,P x( t =λ,gt)定義為事前機率P xa( t =λ,gt),  ( t| t , t) P x xg 定義為通道相關訊息P xc( t =λ,gt),而通道解碼額外資訊 [ ]  1 1 1 ( , ) ( T | , , , T) ext CD t t t t t P xg =P zxg g x (4.11) 值 得 注 意 的 是 , (4.10) 式 中 的 事 前 機 率 之 初 始 值 為 ( , )= ( , ) a t t t t P xg P xg 。然而在疊代解碼的過程中,一般的作法是將 其與來自訊源解碼器的額外資訊 [ ] ( , ) ext SD t t P xg 整合再作為通道解碼端 的事前機率。因此可將(4.10)式改寫為   1 1 [ ] [ ] ( , , | ) ( | , ) ( , ) ( , ) ( , ) T t CD t t t t t t t ext ext S t D t CD t t P g x g y C P x x g P x g P x g P x g λ λ λ λ λ − = = ⋅ = ⋅ = ⋅ = ⋅ = (4.12) 由(4.12)式可得,通道額外資訊將如下式所示:  [ ] 1 1 [ ] ( , , | ) ( , ) ( , ) ( , ) ( , ) T ext t t t CD t t ext c t t a t t S t D t P g x g y P x g C P x g P x g P x g λ λ λ − λ λ = = = ⋅ = ⋅ = ⋅ = (4.13) 有 別 於 針 對 固 定 長 度 碼 所 推 導 的 疊 代 解 碼 演 算 法 , 此 機 率 [ ] ( , ) ext CD t t P xg 無法直接進行反交錯處理而提供訊源解碼器的事前資訊。

(38)

29 為了計算反交錯處理的通道額外訊息 [ ] ( , ) ext CD t t P ug ,我們先將(3.1) 式求得的後驗機率PCD(xt =λ|y1T)做反交錯處理產生PCD(ut =λ|y1T),再 將其正規化而得 1 1 1 1 ( , , | ) ( | ) ' T T CD t t t CD t P g u g y P u y C λ λ − = = ⋅ = (4.14) 其中正規化因子  1 1 1 { , : ( ( ))} ' ( | ) t t t t T CD t q g g g g c q C P u q y − − −= =

=  (4.15) 參考(4.10)-(4.12)的說明,同理可推得  [ ] 1 1 [ ] ( , , | ) ( , ) ( , ) ( , ) ( , ) T ext CD t t t CD t t ext c t t a t t S t D t P g u g y P u g C P u g P u g P u g λ λ λ − λ λ = = = ⋅ = ⋅ = ⋅ = (4.16) 4.2.2 訊源解碼額外資訊 訊源解碼額外資訊的計算步驟詳述如下:首先針對(4.2)式計算 所得後驗機率 ( 1, , |1) T SD t t t P g ug y ,利用貝氏定理分解為三項資訊: 通道相關資訊P uc( t =λ,gt),通道額外資訊 [ ] ( , ) ext CD t t P ug 以及訊源額外 資訊 [ ] ( , ) ext SD t t P ug 。為了求出這三項資訊,我們將(4.5)式代入(4.3) 式,則(4.2)式可表示為 1 1 [ ] [ ] ( , , | ) = C ( , ) ( , ) ( , ) T SD t t t ext ext c t t S t D t CD t t P g u g y P u g P u g P u g λ λ λ λ − = ⋅ = ⋅ = ⋅ = (4.17) 其中 P uc( t =λ,gt)=P u u(t | t =λ,gt) (4.18)

(39)

30 2 1 2 [ ] 1 1 2 : (c( ))=g 1 1 ( , ) ( , ) ( , | , , ) ( , ) t t t ext u S t D t t t t t t t t g q q g u t t P u g g P u g u q g g q g λ β λ λ α − − − − − − ∈ − − − = = = = ⋅

  (4.19) [ ]( , ) ( 1 | 1, , ,1) T T ext CD t t t t t P ug =P zg ug u (4.20) 由(4.17)式可得,在下一次疊代中要回傳給通道解碼器的訊源額外資 訊為  [ ] 1 1 [ ] ( , , | ) ( , ) ( , ) ( , ) T ext SD t t t SD t t ext c t t CD t t P g u g y P u g C P u g P u g λ λ λ− λ = = = ⋅ = ⋅ = (4.21) 其中 ( 1, , |1) T SD t t t P g ug y 為可變長度籬柵圖中每個訊源符號的後驗機 率 , 其 計 算 方 式 為 將 (4.5) 式 中γλu,q( ,u g gt t, t2) 的 事 前 資 訊 更 改 為 [ ] 1 1 2 ( , ) ( , | , g , ) ext CD t t t t t t t u g P ug u =q gP =λ ,依序帶回公式(4.3)、(4.4) 及(4.2)而得。至於交錯後的訊源額外訊息 [ ] ( , ) ext SD t t P ug 之計算方式, 則是將 ( 1, , |1) T SD t t t P g ug y 代入(4.1)式而得PSD(ut =λ|y1T),經由交錯處 理產生 ( |1) T SD t P xy 再計算  [ ] 1 1 [ ] ( , , | ) ( , ) ( , ) ( , ) T ext SD t t t SD t t ext c t t CD t t P g x g y P x g C P x g P x g λ λ λ− λ = = = ⋅ = ⋅ = (4.22) 其中 ( 1, , |1) ' ( |1) T T SD t t t t P g xg y = ⋅C P xy (4.23)  1 1 1 { , : (c(q))} ' 1 / ( | ) t t t t T t q g g g g C P x q y − − −= =

=  (4.24) 最後,總結我們所提出的基於可變長度碼之籬柵圖的碼字層級疊代訊 源通道解碼演算法,其接收端架構及解碼流程如圖 4.1 所示,而疊代 解碼步驟如下所述:  [ ] 1 1 [ ] ( , , | ) ( , ) ( , ) ( , ) T ext SD t t t SD t t ext c t t CD t t P g u g y P u g C P u g P u g λ λ λ− λ = = = ⋅ = ⋅ =

(40)

31 1. 初始化: 設定疊代次數為 iteration=0,而所有符號之訊源解碼額外訊息初始 機率值設為 [ ] ( , ) 1 ext SD t t P xg = 。 2. 在通道解碼模組部分:受通道雜訊干擾的接收符號序列1 {1, 1} T T T y = x z 進入接收端,它提供了通道訊息P x(t|xt =λ,gt)與P z(t|xt =λ,gt)。針 對每一個符號,將事先訓練所得的符號機率P x( t =λ,gt)及訊源解碼 輸出的額外資訊 [ ] ( , ) ext SD t t P xg 整合視為通道解碼器之事前訊息,再 經由(3.1)式計算通道解碼之後驗機率 ( |1) T CD t P xy 。接者,考慮 籬柵圖狀態的符號後驗機率 ( 1, , |1) T CD t t t P g xg y 可由(4.8)式計算 而得。至於經過反交錯器後的通道解碼額外資訊 [ ] ( , ) ext CD t t P ug ,可 由(4.16)式計算而得,並傳送至訊源解碼器作為事前訊息。 3. 在 訊 源 解 碼 模 組 部 分 : 解 碼 器 的 輸 入 端 為 接 收 到 的 符 號 序 列 1 {1, 1} T T T y = u z , 將 通 道 解 碼 端 的 額 外 資 訊 PCD[ext](ut =λ,gt) 代 入 至 (4.1)-(4.5)式,計算而得訊源解碼之後驗機率 ( |1) T SD t P uy 。接 著將此後驗機率經過交錯器後得 ( |1) T SD t P xy ,再由(4.23)式求得 考慮籬柵圖狀態的符號後驗機率 ( 1, , |1) T SD t t t P g xg y 。至於經過交 錯器後的訊源解碼額外資訊 [ ] ( , ) ext SD t t P xg ,則可 由(4.22)式計算而 得,並回傳至通道解碼器作為事前訊息。

(41)

32 SISO

Channel Decoder

SISO

Source Decoder Parameter Estimation 4. 增加疊代次數 iteration←iteration+1。若已完成預設的疊代次數, 則接著執行步驟 5,否則將回到步驟 2 繼續解碼程序。 5. 利用步驟 3 計算的符號後驗機率 ( |1) T SD t P uy ,分別經由最大後驗 機率及最小均方誤差原則分別估算出重建符號v(MAP)t 及 (MMSE) t v ,再用 於計算其效能評估所需的符號錯誤率及重建訊雜比。 圖 4.1 系統接收端架構圖 1 T v

(42)

33

第五章 實驗模擬與結果分析

在前面的章節已經詳細地介紹 了傳輸架構及其編解碼演算法。針 對具有特定機率分佈的訊號源,可變長度碼的碼字間所存在的殘餘冗 息可運用在疊代解碼過程中。為 了進一步驗證其效能,我們將製作模 擬系統的傳送端與接收端,計算其符號錯誤率及重建訊雜比。 本章分為三項實驗,首先,我們將比較由改良式BCJR演算法與傳 統BCJR演算法所推導出的軟性訊源解碼機制之解碼效能。實驗二將模 擬第四章所介紹的索引層級疊代訊源通道解碼機制,並比較其與位元 層級疊代解碼機制[7]之解碼效能。最後有別於前兩項實驗是針對一 階 高 斯 馬 可 夫 訊 號 源 , 實 驗 三 則 探 討 輸 入 訊 號 為 心 電 圖 (Electrocardiography, ECG)之解碼效能。在此實驗中,除了利用符號 錯誤率及PRD等客觀的效能評估標準,也將經過解碼還原的心電圖呈 現,用以主觀地判斷重建之心電圖與原始心電圖之相似程度。 [實驗一] 可變長度碼之軟性訊源解碼機制 目的:探討不同訊源解碼演算法之效能 模擬環境:在這個實驗中,我們只考慮量化索引序列內含的訊源冗息 之錯誤更正能力,因此圖2.1之傳輸端將暫時不考慮使用交錯器及通 道編碼器。輸入符號vt採用一階高斯馬可夫訊號源,其變異數為 2 1 v σ = ,

(43)

34 且考慮兩種相關係數ρ =0.8及ρ =0.95,用以模擬相關性程度不同之訊 號源。訊號源關係式表示為vt = ⋅ρ vt1+nt,其中nt為平均值為零的可加 性白色高斯雜訊。 每一次模擬皆以封包 1 [ ,1 2,..., ] T T v = v v v 為單位傳送,每一個封包含有 T=100個符號,而每個符號都經由M=4個位元的純量量化器處理後得到 16階的索引序列 1 [ ,..., ,...,1 ] T t T u = u u u 。接著根據霍夫曼碼將封包所需的索 引 依 序 作 可 變 長 度 編 碼 , 將 所 有 碼 字 串 連 可 得 位 元 序 列 1 2 1 2 [ ,w w ,...,wN] [ ( ), ( ),..., (c u c u c uT)] = = w 。由於採用了可變長度碼,故每個 封包所輸出的位元總長度N不盡相同。最後以二位元相位鍵移(BPSK) 調變之後,經由可加性白色高斯雜訊(AWGN)通道傳送。接收端則比 較兩種軟性輸出訊源解碼機制之效能,其中SD1為前人提出之訊源解 碼機制[7],SD2為我們在4.1節所提出的訊源解碼機制。 實驗結果:

(44)

35

(a)符號錯誤率

(b)重建雜訊比

圖5.1 軟性訊源解碼效能

(45)

36 BCJR 演算法作比較,相關因子係數為ρ =0.8及ρ =0.95之輸入訊號源所 得結果如圖 5.1 所示。圖 5.1(a)之縱軸為由最大後驗機率(MAP)估算 原則所得的符號錯誤率,橫軸為通道訊雜比,符號錯誤率會隨著通道 環境變好而降低。圖 5.1(b)之縱軸為由最小均方誤差 (MMSE) 估算 原則所得的重建訊雜比,橫軸為通道訊雜比,重建訊雜比會隨著通道 環境變好而上昇直到訊雜比之最大上限值。首先由圖中可看出,由於 兩種訊源解碼機制皆運用到符號間之ㄧ階相關性,因此符號錯誤率以 及重建訊雜比在ρ =0.95時之解碼效能都較ρ=0.8來得佳。就固定相關 係數而言,由圖中可看出 SD2 在符號錯誤率及重建訊雜比都有較好 的表現,由此驗證了 SD2 確實較 SD1 更有能力整合訊源冗息之一階 相關性,而得到較多的解碼效能增益。進一步觀察在相關係數為 0.95 ρ = 時,SD2 與 SD1 之解碼效能差異皆較ρ=0.8時顯著,再次驗 證了兩種訊源解碼機制在運用訊號源冗息的差異。 [實驗二] 可變長度碼之疊代訊源通道解碼機制 目的:模擬位元層級與碼字層級疊代解碼機制,並比較系統的錯誤率 以及重建訊號訊雜比 。 模擬環境:考慮如圖2.1之傳輸架構,輸入符號vt採用一階高斯馬可夫 訊號源,其變異數為 2 1 v σ = ,且考慮兩種相關係數ρ=0.8及ρ=0.95, 用以模擬相關性程度不同之訊號源。訊號源關係式表示為vt = ⋅ρ vt1+nt

參考文獻

相關文件

„ FPGA –現場可規劃邏輯陣列 (field- programmable

z 可規劃邏輯區塊 (programmable logic blocks) z 可規劃內部連接

z 可規劃邏輯區塊 (programmable logic blocks) z 可規劃內部連接

在數位系統中,若有一個以上通道的數位信號需要輸往單一的接收端,數位系統通常會使用到一種可提供選擇資料的裝置,透過選擇線上的編碼可以決定輸入端

„ FPGA –現場可規劃邏輯陣列 (field- programmable gate

Since we use the Fourier transform in time to reduce our inverse source problem to identification of the initial data in the time-dependent Maxwell equations by data on the

Source: The House News. Source:

基本的原理是假設我們知道 light source 在那裡,找出 shadow edge,light source 和 shadow edge 可以求得 shadow plane,加上有 calibrate 後的 camera 知道那物體上一 點 p