• 沒有找到結果。

實驗模擬與結果分析

在前面的章節已經詳細的介紹了傳輸架構及其編解碼演算法。針 對具有特定機率分佈的訊號源,可變長度碼的碼字間所存在的殘餘冗 息可運用在疊代解碼過程中。為了進一步驗証其效能,我們將模擬系 統的傳送端與接收端,計算其位元及索引錯誤率。除此之外,我們亦 計算系統的額外資訊轉換圖並用以分析各種可變長度碼的效能,再深 入討論分析我們的推論。

本章分為三項實驗,首先我們將利用第二章的軟性訊源解碼機制 探討各種可變長度碼在傳輸上的效益。實驗二則將各種可變長度碼代 入第三章之疊代訊源通道解碼系統,個別模擬其額外資訊轉換圖,並 以位元錯誤率(bit error rate, BER)及索引錯誤率(symbol error rate, SER)加以討論。最後實驗三則利用 4.3 節所介紹的二位元置換演算法 所設計的碼書,模擬其額外資訊轉換特性及錯誤率,並加以比較討論。

[實驗一]

目 的:探討不同可變長度碼之解碼效能

模擬環境:考慮如圖 2.1 之傳輸架構,符號 採用一階高斯-馬可夫 訊 號 源 , 其 相 關 因 子 設 定 為

Ut

ρ

=0.9, 且 其 變 異 數 為

2 1

σ

U = 。訊號源關係式表示為

U

t

= ⋅ ρ U

t1

+ n

t。其中 為平 均值為0 的附加性白色高斯雜訊。

n

t

每一次模擬以封包

U

=[

U U

1, 2,...,

U

K]為單位傳送。每一個 封包含有

K

=100個符號。而每個符號都獨立經由M =4 位 元 的 純 量 量 化 器 處 理 後 得 到 16 階 索 引 序 列

1 2

[ , ,..., K]

I = I I I ,其中Ik∈ =I {0,1,..., 2M1}。接著根據可 變長度碼將封包內不同的索引值個別作編碼,得到位元總 長度為N的二位元字串 b=[ ( ), ( ),..., (c I c I1 2 c IK)] [ , ,...,= b b1 2 bN]

。由於碼書為可變長度碼,故每個封包所輸出的位元總長 度 不盡相同。以二位元相位鍵移調變後,經附加性高 斯白雜訊通道傳送。接收端將受到雜訊干擾的資料以第二 章的方式解碼,並計算其索引錯誤率。

N

結 果:

4 4.5 5 5.5 6 6.5 7 7.5 8

10-6 10-5 10-4 10-3 10-2 10-1 100

Channel SNR Eb/N0

SER

Huffman RVLC1 RVLC2 RVLC3

圖 5.1 不同可變長度碼之解碼效能比較

討 論:本實驗以第二章之架構探討不同可變長度碼的解碼效能,

其結果如圖5.1 所示,橫軸為通道訊雜比(Channel SNR, CSNR),縱軸為索引錯誤率。其中 Huffman 為霍夫曼碼,

RVLC1為4.1.1 節所介紹具最短平均長度的雙向性可變長 度碼,而RVLC2代表的是在 4.1.2 節中所介紹具自由距離 的雙向性可變長度碼, 最後 RVLC3為 4.3 節所說明

經過索引指定設計之雙向性可變長度碼。觀察圖可以發 現,在通道品質較好時,霍夫曼碼的索引錯誤率中高於其 他雙向性可變長度碼,其原因是霍夫曼碼只符合前置條 件,而雙向性可變長度碼則同時符合前置與後置條件。這 些差別使得解碼器執行BCJR 演算法將有明顯的差異。因 此解碼執行完成所輸出的後驗機率進行估算時,位元錯誤 進而使得索引錯誤變得嚴重。另外我們發現 RVLC1 與 RVLC2 亦有明顯的差距,如同第四章所述,這是因為 RVLC2 具有較好的錯誤更正能力( )。也由此驗證了

自由距離與錯誤更正能力的關係。而錯誤率最低的RVLC3 則表示了經過索引指定設計可使可變長度碼具有更好的 解碼效果。

f 2 d

f 2 d

[實驗二]

1 2

ISBSD[apri]

I SBSD[ext]

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

ISBSD[apri]

I SBSD[ext]

ISBSD[apri]

I SBSD[ext]

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

ISBSD[apri]

I SBSD[ext]

Huffman RVLC1 RVLC2

圖 5.5 可變長度碼之 EXIT Chart 比較 (CSNR=3dB)

0 0.5 1 1.5 2 2.5 3 3.5 4

10-4 10-3 10-2 10-1

Channel SNR Eb/N0

BER

Huffman 1 iter.

Huffman 2 iter.

Huffman 10 iter.

圖 5.6 Huffman Code 之 BER

0 0.5 1 1.5 2 2.5 3 3.5 4 10-5

10-4 10-3 10-2 10-1

Channel SNR E b/N

0

BER

RVLC1 1 iter.

RVLC1 2 iter.

RVLC1 10 iter.

圖5.7 RVLC1之BER

0 0.5 1 1.5 2 2.5 3 3.5 4

10-6 10-5 10-4 10-3 10-2 10-1

Channel SNR Eb/N0

BER

RVLC2 1 iter.

RVLC2 2 iter.

RVLC2 10 iter.

圖5.8 RVLC2之BER

0 0.5 1 1.5 2 2.5 3 3.5 4

Channel SNR E b/N

0

BER

Huffman 1 iter.

Huffman 2 iter.

Huffman 10 iter.

RVLC1 1 iter.

Huffman 10 iter.

RVLC1 10 iter.

RVLC2 10 iter.

(b) Huffman、RVLC1、RVLC2之第10 次疊代 BER 比較 圖 5.9 可變長度碼之 BER 比較

0 0.5 1 1.5 2 2.5 3 3.5 4 10-3

10-2 10-1 100

Channel SNR E b/N

0

SER

Huffman 1 iter.

Huffman 2 iter.

Huffman 10 iter.

圖5.10 Huffman Code 之 SER

0 0.5 1 1.5 2 2.5 3 3.5 4

10-3 10-2 10-1 100

Channel SNR Eb/N0

SER

RVLC1 1 iter.

RVLC1 2 iter.

RVLC1 10 iter.

圖5.11 RVLC1之SER

0 0.5 1 1.5 2 2.5 3 3.5 4 10-4

10-3 10-2 10-1 100

Channel SNR E b/N

0

SER

RVLC2 1 iter RVLC2 2 iter RVLC2 10 iter

圖5.12 RVLC2之SER

0 0.5 1 1.5 2 2.5 3 3.5 4

10-4 10-3 10-2 10-1 100

Channel SNR Eb/N0

SER

Huffman 1 iter.

Huffman 2 iter.

Huffman 10 iter.

RVLC1 1 iter.

RVLC1 2 iter.

RVLC1 10 iter.

RVLC2 1 iter.

RVLC2 2 iter.

RVLC2 10 iter.

(a) Huffman、RVLC1、RVLC2之 1、2、10 次疊代 SER 比較

0 0.5 1 1.5 2 2.5 3 3.5 4 10-4

10-3 10-2 10-1 100

Channel SNR E b/N

0

SER

Huffman 10 iter.

RVLC1 10 iter.

RVLC2 10 iter.

(b) Huffman、RVLC1、RVLC2之第10 次疊代 BER 比較 圖 5.13 可變長度碼之 SER 比較

討 論:圖5.2 至圖 5.5 是不同可變長度碼之訊源解碼器額外資訊 轉換圖,通道訊雜比分別為 0、3、6、15dB,其中橫軸 為事前互消息

I

SBSD[apri],縱軸為額外互消息

I

SBSD[ext]。如圖 5.2 所 示,可以明顯看出使用霍夫曼碼時,在任何通道品質之下 的曲線都非常平且低。這意味著即使提供再多的事前互消 息,系統也無法釋出更有力的額外互消息。再仔細比較圖 5.3 與圖 5.4, RVLC1雖然相對於霍夫曼碼可以達到較高 的額外互消息量,但在事前互消息提供最大值 1 時僅達

到(

I

[apri],

I

[ext])=(1 , 0.9042)。然而 RVLC2卻在任何通道品 質之下,只要事前互消息提供最大值 1 時,即可達到

(

I

[apri],

I

[ex ]t )=(1 , 1)的特性。不但如此,我們再觀察圖 5.5,

在固定訊雜比為 3dB 的情形下,比較此三種可變長度碼 的額外資訊曲線。我們不但發現雙向性可變長度碼遠高於 霍夫曼碼,亦發現 RVLC2的整體曲線高於 RVLC1。在此 我們即判斷RVLC2在疊代效能上將優於RVLC1

我們接下來利用實際模擬疊代訊源通道解碼機制,並以上 述的可變長度碼分別計算出其錯誤率。圖5.6 至圖 5.8 為 三種可變長度碼在疊代系統所計算出來第1、2、10 次疊 代的位元錯誤率,其中橫軸為通道訊雜比,縱軸為位元錯 誤率,而圖 5.9 為上述位元錯誤率之整體比較。圖 5.10 至圖 5.12 為三種可變長度碼的索引錯誤率,其中橫軸為 通道訊雜比,縱軸為索引錯誤率,圖 5.13 為上述索引錯 誤率之整體比較。觀察圖5.6,霍夫曼碼在疊代第 1 次至 第 2 次時位元錯誤率有些許下降,但可以發現第 2 次疊 代至第10 次疊代之間,錯誤率卻完全沒有改善的現象。

這表示了霍夫曼碼無法發揮疊代系統的效能。當位元錯誤 無法經疊代解碼改善的情形下,由圖 5.10 發現索引錯誤

率在第2 次疊代至第 10 次疊代之間也完全沒有改善的趨 勢。

接著我們再觀察圖 5.7 與圖 5.8,可以注意到圖 5.7 所表 示 RVLC1的位元錯誤率整體比霍夫曼碼低許多,並且在 經過第 2 次疊代後錯誤率仍有下降的趨勢。這代表雙向 性可變長度碼在疊代解碼系統上可以發揮效能。再與圖 5.8 相比較發現 RVLC2的錯誤率又比 RVLC1更低,並且 注意到 在每次疊代所減少的錯誤率比 RVLC1明顯。對照 RVLC1與 RVLC2的額外資訊轉圖,每次疊代代表得到較 好的事前機率,而 RVLC2 在額外互消息的表現上高於 RVLC1,這使得 RVLC2 在每次疊代可以有更好的改善趨

勢。同樣位元錯誤影響索引錯誤率,因此圖5.11 與圖 5.12 也發現同樣的情形,因此我們驗證了在額外資訊轉換圖中 的推測。這個觀察也提供了我們將以額外資訊轉換特性,

設計雙向性可變長度碼之索引指定。

[實驗三]

目 的:探討可變長度碼之索引指定設計

模擬環境:以自由距離 的雙向性可變長度碼(RVLC2)作為初始樣 本,並設定其初始索引是依索引機率由大至小排列。使用 二位元置換演算法進行索引指定的置換,搜尋到的最佳索 引指定其碼書命名為 RVLC3,其中二位元置換演算法及其 參考值如4.3 節所說明。

f 2

d

結 果:

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

ISBSD[apri]

I SBSD[ext]

RVLC3 0 dB RVLC3 3 dB RVLC3 6 dB RVLC315 dB

圖 5.14 RVLC3之EXIT Chart

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

ISBSD[apri]

I SBSD[ext]

RVLC2 3dB RVLC2 6dB RVLC3 3dB RVLC3 6dB

圖5.15 RVLC2與 RVLC3之EXIT Chart 比較

0 0.5 1 1.5 2 2.5 3 3.5 4

10-6 10-5 10-4 10-3 10-2 10-1

Channel SNR Eb/N0

BER

RVLC3 1 iter.

RVLC3 2 iter.

RVLC3 10 iter.

圖5.16 RVLC3之BER

0 0.5 1 1.5 2 2.5 3 3.5 4 10-5

10-4 10-3 10-2 10-1 100

Channel SNR E b/N

0

SER

RVLC1 1 iter.

RVLC1 2 iter.

RVLC1 10 iter.

圖5.17 RVLC3之SER

0 0.5 1 1.5 2 2.5 3 3.5 4

10-6 10-5 10-4 10-3 10-2 10-1

Channel SNR Eb/N0

BER

RVLC2 1 iter.

RVLC2 2 iter.

RVLC2 10 iter.

RVLC3 1 iter.

RVLC3 2 iter.

RVLC3 10 iter.

圖5.18 RVLC2與 RVLC3之 BER 比較

0 0.5 1 1.5 2 2.5 3 3.5 4 10-5

10-4 10-3 10-2 10-1 100

Channel SNR E b/N

0

SER

RVLC2 1 iter.

RVLC2 2 iter.

RVLC2 10 iter.

RVLC3 1 iter.

RVLC3 2 iter.

RVLC3 10 iter.

圖 5.19 RVLC2與RVLC3之SER 比較

討 論:RVLC3為基於額外資訊轉換特性,對索引指定做二位元置

換演算法所設計出來的一組碼書。圖5.14 為 RVLC3模擬 通道訊雜比分別為0、3、6、15dB 之訊源解碼器額外資 訊轉換圖,其中橫軸為事前互消息

I

SBSD[apri],縱軸為額外互消 息

I

SBSD[ext]。而圖 5.15 則將 RVLC2與RVLC3在通道訊雜比在 3dB 及 6dB 下的額外資訊轉換特性作比較,可以發現 RVLC3所輸出的額外資訊比RVLC2略高,且在6dB 下有 明顯的差距。我們再利用實際模擬疊代訊源解碼機制計算 其位元錯誤率(圖 5.16)與索引錯誤率(圖 5.17)加以分析。

接著將上述之錯誤率與 RVLC2做比較,並分別以圖 5.18 與圖5.19 表示。我們可以發現即使不更動 RVLC2碼書的 內容,但經過索引指定的設計之後,RVLC3在位元及索引 層級的錯誤率都有明顯改善。此外,由於設計時在各層分 開執行二位元置換演算法,由表 4.2 可以發現經過設計後 的平均長度仍是不變的。因此我們可以在不更動編碼內容 及其平均長度的情形下,找到一組索引指定使疊代解碼能 更有效的運用訊源冗息,進一步降低位元及索引錯誤率。

透過以上的數據及討論,我們注意到實驗一考慮的是圖2.1 之訊 源編解碼架構,主要是探討不同的可變長度碼在無疊代且沒有通道編 碼保護的情形下自身的傳輸效能。然而我們看到雙向性可變長度碼可 以比霍夫曼碼取得更好的強健性能。然而由表5.1 可以看出相較於霍 夫曼碼,RVLC1 為了符合前置與後置條件其平均長度較長,相同的 RVLC2為了滿足 而付出了更多的傳輸資源,顯示不同的設計理

念透過犧牲些許的壓縮效益,將可提昇其雜訊對抗能力。再進一步考 慮疊代系統,經過實驗了解到由於可變長度碼是基於特定機率分佈的 訊源的編碼機制,故其殘餘冗息可用於在疊代系統中,使不同的編碼 設計有相當差距的效能。因此若能善用這樣的冗息,即可設計更好的 碼書。在實驗三我們討論了在不更動碼書的內容及平均長度下,經過

f 2

d

二位元置換演算法進行索引指定的設計之後,可以更進一步得到更好 的編碼組合,這也表示了可以在不變動任何硬體設計及不增加資源耗 費的情形下,利用可變長度碼及疊代解碼系統上特殊的額外資訊轉換 特性,加以改良其效能並使傳輸更加強健。

索引機率 Huffman Code RVLC1 RVLC2 RVLC3

0.1017 [1,0,0] [0,0,0] [0,0,0] [1,1,1]

0.10106 [1,0,1] [1,1,1] [1,1,1] [0,0,0]

0.10044 [1,1,0] [0,1,0] [0,1,0,1] [0,0,1,1]

0.0976 [1,1,1] [1,0,1] [1,0,1,0] [1,1,0,0]

0.08969 [0,0,0,0] [0,1,1,0] [0,1,1,0] [0,1,0,1]

0.08928 [0,0,0,1] [1,0,0,1] [1,0,0,1] [1,0,1,0]

0.07649 [0,0,1,1] [0,0,1,1] [0,0,1,1] [0,1,1,0]

0.07514 [0,1,0,0] [1,1,0,0] [1,1,0,0] [1,0,0,1]

0.06241 [0,1,1,0] [0,0,1,0,0] [0,0,1,0,0] [1,0,0,0,1]

0.05777 [0,1,1,1] [1,1,0,1,1] [1,1,0,1,1] [1,1,0,1,1]

0.04287 [0,0,1,0,0] [0,1,1,1,0] [0,1,1,1,0] [0,0,1,0,0]

0.04113 [0,0,1,0,1] [1,0,0,0,1] [1,0,0,0,1] [0,1,1,1,0]

0.02515 [0,1,0,1,1] [0,1,1,1,1,0] [0,1,0,0,1,0] [0,1,0,0,1,0]

0.02314 [0,1,0,1,0,0] [1,0,0,0,0,1] [1,0,1,1,0,1] [1,0,1,1,0,1]

0.00865 [0,1,0,1,0,1,0] [0,0,1,0,1,0,0] [0,1,0,0,0,1,0] [0,1,0,0,0,1,0]

0.00748 [0,1,0,1,0,1,1] [1,1,0,1,0,1,1] [1,0,1,1,1,0,1] [1,0,1,1,1,0,1]

平均長度 3.82817 3.94835 4.14639 4.14639

表 5.1 不同可變長度碼之碼書

第六章 結論與未來展望

本論文主要探討可變長度碼在疊代訊源通道解碼機制上的設計 與應用。首先探討可變長度碼在位元層級上的軟性訊源解碼機制,並

本論文主要探討可變長度碼在疊代訊源通道解碼機制上的設計 與應用。首先探討可變長度碼在位元層級上的軟性訊源解碼機制,並

相關文件