• 沒有找到結果。

去尾迴旋碼結合解碼前環狀位移之解碼演算法

N/A
N/A
Protected

Academic year: 2021

Share "去尾迴旋碼結合解碼前環狀位移之解碼演算法"

Copied!
151
0
0

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

全文

(1)

電信工程學系碩士班

去尾迴旋碼結合解碼前環狀位移之解碼演算法

Decoding the Tail-Biting Convolutional Codes with

Pre-Decoding Circular Shift

研 究 生:蘇敬堯

(2)

去尾迴旋碼結合解碼前環狀位移之解碼演算法

Decoding the Tail-Biting Convolutional Codes with

Pre-Decoding Circular Shift

研 究 生:蘇敬堯 Student:Ching-Yao Su

指導教授:陳伯寧 教授

Advisor:Po-Ning Chen

國 立 交 通 大 學

電 信 工 程 學 系 碩 士 班

碩 士 論 文

A Thesis

Submitted to Institute of and Communication Engineering

College of Electrical and Computer Engineering

National Chiao Tung University

in Partial Fulfillment of the Requirements

for the Degree of

Master of Science

in

Communication Engineering

July 2009

(3)

去尾迴旋碼結合解碼前環狀位移之解碼演算法

研究生:蘇敬堯 指導教授:陳伯寧 教授

國立交通大學

電信工程學系碩士班

中文摘要

由於去尾迴旋碼的網格具有環狀迴旋不改變結構的特性,因此解

碼前作環狀位移(搭配解碼後的環狀位移回覆)並不會影響其解碼結

果。初步模擬結果顯示,適當的解碼前環狀位移確實能夠改善解碼效

能以及解碼複雜度。因此在本論文中,我們提出位移維特比演算法

(shifting Viterbi algorithm) 和位移環狀解碼演算法 (shifting circular

decoding algorithm)搭配「等權重」以及「不等權重」之位移量搜尋法。

經由模擬比較不進行解碼前環狀位移之環狀解碼演算法(circular

decoding algorithm),使用位移環狀解碼演算法可以明顯縮減可達到接

近 最 大 概 率 (maximum-likelihood) 效 能 的 前 訓 練 窗 (forward training

(4)

Decoding the Tail-Biting Convolutional Codes with

Pre-Decoding Circular Shift

Student: Ching-Yao Su Advisor: Prof. Po-Ning Chen

Institute of Communication Engineering

National Chiao Tung University

Abstract

By noting that the convolutional tail-biting code (CTBC) can be

represented by a circular-free trellis structure, pre-decoding circular shift

(together with the post-decoding shift back) will not change its decoding

procedure. Simulations in the literature have already shown that the

decoding performance as well as decoding complexity can be apparently

improved by a proper pre-decoding circular shift. In this thesis, we

proposed the shifting Viterbi algorithm and the shifting circular decoding

algorithm using equal-weight and unequal-weight pre-decoding shift

methods. We then show empirically that our methods can reduce the

forward and backward training window sizes required for near

maximum-likelihood performance. We also provide an intuitive

analytical approach to determine the training window sizes required for

near optimal performance.

(5)

Acknowledgements

I would like to express my gratitude to the advisor, Prof. Po-Ning Chen, for his patient guidance and support. My gratitude also goes to Prof. Yunghsiang S. Han for his fruitful discussion during my research. To Shin-Lin Shieh, thanks for your opinions and suggestions in our discussion. You make me understand more about the research topic. To Shih-Wei Wang and Chien Yao, you always listen to my problem, give me much help and more advises, and encourage me when I am depressed. This thesis would not have been possible without their help. I would also like to thank the Department of Communication Engineering, Na-tional Chiao Tung University, for providing many resources for study and research. Finally, I would like to thank all NTL labmates for their support and friendship, as well as all those who have helped me in the past two years.

(6)

Contents

Abstract in Chinese i

Abstract in English ii

Acknowledgements iii

List of Tables vii

List of Figures viii

1 Introduction 1

1.1 Background . . . 1 1.2 Contribution of the Research . . . 3 1.3 Organization of the Thesis . . . 3 2 Circular Decoding Algorithm with Dynamic Starting Position 4 2.1 Definitions and Notations . . . 4 2.2 Determination of Number of Pre-Decoding Circular Shift . . . 6 2.3 Derivation of Weighting Coefficients . . . 8

(7)

2.4 Shifting Viterbi Algorithm . . . 13 2.5 Shifting Circular Decoding Algorithm . . . 13

3 Simulation Results 15

3.1 Performance of Shifting Viterbi Algorithm . . . 15 3.2 Performance of Shifting Circular Decoding Algorithm . . . 25 4 Analysis of Training Window Size for Equal-Weight Shifting Circular

De-coding Algorithm 63

4.1 Error Probability for Truncated Viterbi Decoding . . . 63 4.2 Error Bound for Circular Decoding . . . 66 4.3 Error Bound for Shifting Circular Decoding in Binary Erasure Channel (BEC) 67 4.4 Forward and Backward Training Windows in BEC . . . 74 4.5 Error Bound for Shifting Circular Decoding in Additive White Gaussian Noise

(AWGN) Channel . . . 93 4.6 Forward and Backward Training Windows in AWGN . . . 96

5 Conclusions 116

Appendix 117

A Calculation of Unequal Weighting Coefficients 117 A.1 (3, 1, 6) CTBC . . . 117

(8)

A.2 (2, 1, 6) CTBC . . . 121

A.2.1 Coefficients corresponding to forward training window . . . 121

A.2.2 Coefficients corresponding to backward training window . . . 122

A.3 (3, 1, 4) CTBC . . . 124

A.3.1 Coefficients corresponding to forward training window . . . 124

A.3.2 Coefficients corresponding to backward training window . . . 125

(9)

List of Tables

4.1 The near-ML forward and backward training window sizes (F, B) for the CDA and equal-weight SCDA for the (3, 1, 2) CTBC. The weighted average window is W = 16. . . 74 4.2 The near-ML forward and backward training window sizes (F, B) for the CDA

and equal-weight SCDA for the (3, 1, 4) CTBC. The weighted average window is W = 24. . . 74 4.3 The near-ML forward and backward training window sizes (F, B) for the CDA

and equal-weight SCDA for the (3, 1, 6) CTBC. The weighted average window is W = 30. . . 74 4.4 The near-ML forward and backward training window sizes (F, B) for the CDA

and equal-weight SCDA for the (3, 1, 4) CTBC. The weighted average window is W = 24. . . 97 4.5 The near-ML forward and backward training window sizes (F, B) for the CDA

and equal-weight SCDA for the (3, 1, 6) CTBC. The weighted average window is W = 30. . . 97 4.6 The near-ML forward and backward training window sizes (F, B) for the CDA

(10)

List of Figures

2.1 System Model in AWGN Channel . . . 6 2.2 The forward trellis of (2,1,3) CTBC . . . 11 2.3 The backward trellis of (2,1,3) CTBC . . . 12 3.1 Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi

algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 6) CTBC. The length of the information sequence is L = 40. . . 16 3.2 Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi

algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 6) CTBC. The length of the information sequence is L = 80. . . 17 3.3 Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi

algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 6) CTBC. The length of the information sequence is L = 120. . . 18 3.4 Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi

algorithm (VA) and the shifting Viterbi algorithm (SVA) for (2, 1, 6) CTBC. The length of the information sequence is L = 40. . . 19

(11)

3.5 Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (2, 1, 6) CTBC. The length of the information sequence is L = 80. . . 20 3.6 Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi

algorithm (VA) and the shifting Viterbi algorithm (SVA) for (2, 1, 6) CTBC. The length of the information sequence is L = 120. . . 21 3.7 Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi

algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 4) CTBC. The length of the information sequence is L = 40. . . 22 3.8 Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi

algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 4) CTBC. The length of the information sequence is L = 80. . . 23 3.9 Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi

algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 4) CTBC. The length of the information sequence is L = 120. . . 24 3.10 Block error rates (BLER) of the circular decoding algorithm without

pre-decoding shift for (3, 1, 6) CTBC. The length of the information sequence is L = 40. . . 27 3.11 Block error rates (BLER) of the circular decoding algorithm without

pre-decoding shift for (3, 1, 6) CTBC. The length of the information sequence is L = 80. . . 28 3.12 Block error rates (BLER) of the circular decoding algorithm without

(12)

pre-3.13 Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40. 30 3.14 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 80. 31 3.15 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 120. 32 3.16 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (3, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40. . . 33 3.17 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (3, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80. . . 34 3.18 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (3, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120. . . 35

(13)

3.19 Block error rates (BLER) of the unequal-weight shifting circular decoding algorithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40. . . 36 3.20 Block error rates (BLER) of the unequal-weight shifting circular decoding

algorithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80. . . 37 3.21 Block error rates (BLER) of the unequal-weight shifting circular decoding

algorithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120. . . 38 3.22 Block error rates (BLER) of the circular decoding algorithm without

pre-decoding shift for (2, 1, 6) CTBC. The length of the information sequence is L = 40. . . 39 3.23 Block error rates (BLER) of the circular decoding algorithm without

pre-decoding shift for (2, 1, 6) CTBC. The length of the information sequence is L = 80. . . 40 3.24 Block error rates (BLER) of the circular decoding algorithm without

pre-decoding shift for (2, 1, 6) CTBC. The length of the information sequence is L = 120. . . 41 3.25 Block error rates (BLER) of the equal-weight shifting circular decoding

(14)

3.26 Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 80. 43 3.27 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 120. 44 3.28 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (2, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40. . . 45 3.29 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (2, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80. . . 46 3.30 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (2, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120. . . 47 3.31 Block error rates (BLER) of the unequal-weight shifting circular decoding

algorithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40. . . 48

(15)

3.32 Block error rates (BLER) of the unequal-weight shifting circular decoding algorithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80. . . 49 3.33 Block error rates (BLER) of the unequal-weight shifting circular decoding

algorithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120. . . 50 3.34 Block error rates (BLER) of the circular decoding algorithm without

pre-decoding shift for (3, 1, 4) CTBC. The length of the information sequence is L = 40. . . 51 3.35 Block error rates (BLER) of the circular decoding algorithm without

pre-decoding shift for (3, 1, 4) CTBC. The length of the information sequence is L = 80. . . 52 3.36 Block error rates (BLER) of the circular decoding algorithm without

pre-decoding shift for (3, 1, 4) CTBC. The length of the information sequence is L = 120. . . 53 3.37 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (3, 1, 4) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40. 54 3.38 Block error rates (BLER) of the equal-weight shifting circular decoding

(16)

3.39 Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 4) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 120. 56 3.40 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (3, 1, 4) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40. . . 57 3.41 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (3, 1, 4) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80. . . 58 3.42 Block error rates (BLER) of the equal-weight shifting circular decoding

algo-rithm for (3, 1, 4) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120. . . 59 3.43 Block error rates (BLER) of the unequal-weight shifting circular decoding

algorithm for (3, 1, 4) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40. . . 60 3.44 Block error rates (BLER) of the unequal-weight shifting circular decoding

algorithm for (3, 1, 4) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80. . . 61

(17)

3.45 Block error rates (BLER) of the unequal-weight shifting circular decoding algorithm for (3, 1, 4) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120. . . 62 4.1 The set of paths that diverge from the correct path at level 0 but never return

to the zero-state within T level . . . 65 4.2 The set of paths that diverge from the correct path at level t but never return

to the zero-state within t + T level . . . 66 4.3 Binary erasure channel (BEC) model . . . 69 4.4 Block error rates (BLER) of the CDA for (3, 1, 2) CTBC in BEC. F and B

denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100. . . 75 4.5 Block error rates (BLER) of the SCDA for (3, 1, 2) CTBC in BEC. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100 and the weighted average window is W = 16. . . 76 4.6 Block error rates (BLER) of the CDA for (3, 1, 2) CTBC in BEC. F and B

denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200. . . 77 4.7 Block error rates (BLER) of the SCDA for (3, 1, 2) CTBC in BEC. F and

(18)

4.8 Block error rates (BLER) of the CDA for (3, 1, 2) CTBC in BEC. F and B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400. . . 79 4.9 Block error rates (BLER) of the SCDA for (3, 1, 2) CTBC in BEC. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400 and the weighted average window is W = 16. . . 80 4.10 Block error rates (BLER) of the CDA for (3, 1, 4) CTBC in BEC. F and B

denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100. . . 81 4.11 Block error rates (BLER) of the SCDA for (3, 1, 4) CTBC in BEC. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100 and the weighted average window is W = 24. . . 82 4.12 Block error rates (BLER) of the CDA for (3, 1, 4) CTBC in BEC. F and B

denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200. . . 83 4.13 Block error rates (BLER) of the SCDA for (3, 1, 4) CTBC in BEC. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200 and the weighted average window is W = 24. . . 84 4.14 Block error rates (BLER) of the CDA for (3, 1, 4) CTBC in BEC. F and B

denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400. . . 85

(19)

4.15 Block error rates (BLER) of the SCDA for (3, 1, 4) CTBC in BEC. F and B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400 and the weighted average window is W = 24. . . 86 4.16 Block error rates (BLER) of the CDA for (3, 1, 6) CTBC in BEC. F and B

denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100. . . 87 4.17 Block error rates (BLER) of the SCDA for (3, 1, 6) CTBC in BEC. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100 and the weighted average window is W = 30. . . 88 4.18 Block error rates (BLER) of the CDA for (3, 1, 6) CTBC in BEC. F and B

denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200. . . 89 4.19 Block error rates (BLER) of the SCDA for (3, 1, 6) CTBC in BEC. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200 and the weighted average window is W = 30. . . 90 4.20 Block error rates (BLER) of the CDA for (3, 1, 6) CTBC in BEC. F and B

denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400. . . 91

(20)

4.21 Block error rates (BLER) of the SCDA for (3, 1, 6) CTBC in BEC. F and B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400 and the weighted average window is W = 30. . . 92 4.22 Block error rates (BLER) of the CDA for (3, 1, 4) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100. . . 98 4.23 Block error rates (BLER) of the SCDA for (3, 1, 4) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100 and the weighted average window is W = 24. . . 99 4.24 Block error rates (BLER) of the CDA for (3, 1, 4) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200. . . 100 4.25 Block error rates (BLER) of the SCDA for (3, 1, 4) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200 and the weighted average window is W = 24. . . 101 4.26 Block error rates (BLER) of the CDA for (3, 1, 4) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400. . . 102

(21)

4.27 Block error rates (BLER) of the SCDA for (3, 1, 4) CTBC in AWGN. F and B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400 and the weighted average window is W = 24. . . 103 4.28 Block error rates (BLER) of the CDA for (3, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100. . . 104 4.29 Block error rates (BLER) of the SCDA for (3, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100 and the weighted average window is W = 30. . . 105 4.30 Block error rates (BLER) of the CDA for (3, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200. . . 106 4.31 Block error rates (BLER) of the SCDA for (3, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200 and the weighted average window is W = 30. . . 107 4.32 Block error rates (BLER) of the CDA for (3, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400. . . 108

(22)

4.33 Block error rates (BLER) of the SCDA for (3, 1, 6) CTBC in AWGN. F and B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400 and the weighted average window is W = 30. . . 109 4.34 Block error rates (BLER) of the CDA for (2, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100. . . 110 4.35 Block error rates (BLER) of the SCDA for (2, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 100 and the weighted average window is W = 20. . . 111 4.36 Block error rates (BLER) of the CDA for (2, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200. . . 112 4.37 Block error rates (BLER) of the SCDA for (2, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 200 and the weighted average window is W = 20. . . 113 4.38 Block error rates (BLER) of the CDA for (2, 1, 6) CTBC in AWGN. F and

B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400. . . 114

(23)

4.39 Block error rates (BLER) of the SCDA for (2, 1, 6) CTBC in AWGN. F and B denote the forward and backward training window sizes, respectively. The length of information sequence is L = 400 and the weighted average window is W = 20. . . 115

(24)

Chapter 1

Introduction

1.1

Background

In 1955, convolutional codes were first introduced by Elias [2]. Later, Viterbi [12] proposed a maximum likelihood (ML) decoding algorithm for convolutional codes in 1967. Till now, convolutional codes are perhaps the most popular codes in modern digital communications. In the encoding process of convolutional codes, a certain number of zeros is often required to be appended at the end of the information sequence in order to clear the contents of encoder shift registers. It can be anticipated that the code rate loss introduced by these appended zero tail-bits is negligible for sufficiently long information sequence. However, as long as a short information block length is considered, code rate loss due to zero tail bits become significant.

In the literature, several approaches have been proposed to resolve the code rate loss of the convolutional zero-tail codes (CZTC), such as Direct Truncation, Puncturing [14] and Tail-biting [10, 13]. Among them, the convolutional tail-biting codes (CTBC) avoid the code rate loss by directly “biting” out the zero tail-bits. In comparison with the CZTC, the CTBC always starts from and ends at the same state, but the starting and ending state is not necessary the all-zero state. For this reason, the Viterbi algorithm (VA) in its original

(25)

form cannot be applied to obtain the maximum likelihood (ML) solution of the CTBC. Due to the simplicity in the implementation of the VA, most of the decoding algorithms for the CTBC [10, 13, 9, 8, 1] were modified from the VA. Specifically, Wang et al. extended the received codeword by repeating a portion of it, and applied the VA to the extended code trellis. Their algorithm thus provided a tradeoff between the performance and the complexity by varying the length of the repetitive portion [13]. Shao et al. proposed to wrap-around several code trellises, and resulted the least average complexity algorithm thus far with near optimal performance [10]. In 2000, by adding forward and backward training windows, W. Sung devised a circular decoding algorithm that can achieve near optimal per-formance [11]. Very recently, Shankar et al. developed an ML two-phase decoding algorithm of practical decoding complexity by first applying the VA, followed by the algorithm A* at the second phase [9].

Because the CTBC code trellis has circular-free property, it is not necessary to decode the received sequence at its original order if the receiver actually starts the decoding process after the reception of the entire received sequence. One can circularly shift the received se-quence before the decoding process begins to potentially improve the decoding complexity or performance for suboptimal decoding algorithm. In order to resume the order of transmitted sequence, the decoding output should be reversely shifted back the same number of times. It should be noted that the decoding trellis remains the same for the shifted sequence as it is circular-free. As such, Handlery et al. proposed an equal-weighted average method to determine the proper number of shifts applied to the received sequence [5]. Similar idea has also been applied to the two-phase decoding algorithm, which was shown by simulations that significant decoding complexity reduction can be obtained by properly shifting the received

(26)

1.2

Contribution of the Research

In this thesis, we proposed a new unequal-weighted average method to determine the num-ber of pre-decoding shifts on the received sequence. We then found by simulations that the forward and backward training window sizes requiring for near ML performance in the circular decoding algorithm of W. Sung can be reduced when the decoding process starts from the positions of the received sequence, which are suggested by weighted average meth-ods. We subsequently analyze the forward and backward training window sizes required for near-optimal performance. Our analytical results conform to those obtained by simulations. Throughout the thesis, we will use shifting VA to refer to the decoding algorithm that shifts the received sequence before the decoding process begins but does not employ the forward and backward training windows. The decoding algorithm that shifts the received sequence before the decoding process begins, and at the same time, adds the forward and backward training windows, will be referred to as shifting circular decoding algorithm. Details will be given in Chapter 2.

1.3

Organization of the Thesis

The thesis is organized as follows. In Chapter 2, the decoding algorithms employed in this thesis are introduced, and the proposed method to determine the number of pre-decoding shifts is presented. In Chapter 3, the simulation results are summarized and remarked. In Chapter 4, the forward and backward training window sizes required for near-optimal performance are analyzed for shifting circular decoding algorithm. Chapter 5 concludes the thesis.

(27)

Chapter 2

Circular Decoding Algorithm with

Dynamic Starting Position

In this chapter, we present the weighted average methods to determine the number of pre-decoding circular shifts on the received sequence. We then examine the effect of using these suggestive pre-decoding shift numbers on the received sequence in shifting VA and shifting circular decoding algorithm.

2.1

Definitions and Notations

Let C∼ be an (n, 1, m) CTBC, where n is the number of output bits per information bit, and m is the memory order of the CTBC encoder. Assume that the length of the input sequence is L. Then, the encoding code trellis of C∼ has L + 1 levels. Notably, for shifting VA, the decoding code trellis of C∼ also has L + 1 levels (being indexed from level 0 to level L), but for shifting circular decoding algorithm, the number of levels in the decoding code trellis becomes of F + L + B + 1 levels , where F and B are the sizes of the forward and backward windows, respectively. For convenience, the level index will always start at zero; hence,

(28)

A legitimate tail-biting path for the codeword of C∼ should constrain on the same initial and final state. By relaxing such constraint, the inclusion of paths that start and end at different states result in a supper code C∼s of C∼. For notational convenience, we denote

the binary input information sequence by z , (z0, z1, . . . , zL−1) ∈ {0, 1}L, the binary

codeword of C∼ by v , (v0, v1, . . . , vN −1) ∈ {0, 1}N, and the original received vector by

r , (r0, r1, . . . , rN −1), where N = nL.

To facilitate the following description of the decoding process, we denote by ρt1,t2(s) the

portion of the survivor path between levels t1 and t2, where t1 < t2, which starts at level

t1, and ends at state s at level t2. Likewise, we denote by βt1,t2(s) the state of the survivor

path at level t1, which ends at state s at level t2. Note that there is only one survivor path

ending at state s at level t2; hence, βt1,t2(s) is uniquely determined by s, t1 and t2. The metric

associated with ρt1,t2(s) is denoted by mt1,t2(s). By these notations, the best path ρbest in the

decoding code trellis of super code C∼s is the one that gives the smallest m0,L(s) (respectively,

m0,F +L+B(s)) for all s ∈ S for shifting VA (respectively, shifting circular decoding algorithm).

The path metric mbest associated with ρbest is thus given by:

mbest ,

  

min

s∈S m0,L(s) for shifting VA;

min

s∈S m0,F +L+B(s) for shifting circular decoding algorithm.

As aforementioned, a legitimate code path should starts from and ends at the same state, which is usually termed tail-biting path in the literature. Thus, for shifting VA, the best tail-biting path ρTB,best is the one that gives the smallest m0,L(s) with β0,L(s) = s. Likewise,

for shifting circular decoding algorithm, the best tail-biting path ρTB,bestis the one that gives

(29)

˖˧˕˖ʳ˘́˶̂˷˸̅ ʾ ˩˼̇˸̅˵˼ʳ˔˿˺̂̅˼̇˻̀ʳ̂̅ ˖˼̅˶̈˿˴̅ʳ˗˸˶̂˷˼́˺ʳ ˔˿˺̂̅˼̇˻̀ ˖˼̅˶̈˿˴̅ʳ˦˻˼˹̇ ˕˴̆˸˷ʳ̂́ ˪˸˼˺˻̇˸˷ʳ˔̉˸̅˴˺˸ ˦˻˼˹̇ʳ˕˴˶˾ ˗˸˶̂˷˸̅ ˡ̈̀˵˸̅ʳ̂˹ʳ˜́˹̂̅̀˴̇˼̂́ʳ˦˻˼˹̇̆ʳ̃ ˪˚ˡ ˦˼˺́˴˿ʳˠ˴̃̃˼́˺ ˃ʳˀˑʳʾ˄ ˄ʳˀˑʳˀ˄ r zˆ v z

Figure 2.1: System Model in AWGN Channel

2.2

Determination of Number of Pre-Decoding

Circu-lar Shift

Figure 2.1 depicts our system model. The encoded sequence is antipodally transmitted, and then is corrupted by the additive white Gaussian noise (AWGN). The receiver will circular shift the received sequence np times before the decoding process begins. It will then shifts it back, and outputs the final decision.

The weighted average method to determine the number of information shifts p is intro-duced. Since p represents the number of information shifts, the received sequence will in fact be circularly shifted n × p times.

Step 1. Set the weighted average window W , and the weighting coefficients (w0, w1, . . . , wW −1).

Step 2. For received sequence r , (r0, r1, . . . , rN −1), compute for 0 ≤ ℓ < L,

Rℓ =

nℓ+nW −1

X

(30)

Step 4. Output the shifted received sequence as (rnp, rnp+1, . . . , rN −1, r0, . . . , rnp−1).

In the above algorithm, we propose to average the absolute values of nW consecutive received scalars. This is specific for AWGN channels. For a general channel, |rj| should be

replaced by reliability |φj|, where

φj , ln

Pr(rj|vj = 0)

Pr(rj|vj = 1)

. (2.1)

It can be shown that the larger reliability φj is, the higher the probability of correct decision

based on the hard-decision

yj ,



1, if φj < 0;

0, otherwise, (2.2)

Therefore, to begin the decoding process from n × W most reliable received scalars may possibly speed up the decoding process and improve the performance for suboptimal decoding algorithms. Simulations do confirm our conjecture.

It should be noted that for AWGN channels and antipodal transmission, rjis proportional

to φj; hence, we can replace φj by rj for simplicity. Also, since for AWGN channels and

antipodal transmission,

Pr[rj > τ |vj = 1] = Pr[rj < −τ|vj = 0] (2.3)

for any positive τ , the degrees of reliability respectively for positive rj and for negative rj are

symmetric. Thus, no adjustment based on their signs is necessary when we perform average on nW consecutive |rj|. In case (2.3) is violated, one may need to adjust the absolute value

of the reliability based on their signs according to hard-decision error probability.

randomly pick one.

Also, for shifting circular decoding algorithm, we will additional perform p = p + W/2 because the position that is intended to located is in the middle of the forward subwindow coefficients w0, w1, . . . , wW/2−1and the

(31)

We close this section by remarking that in its implementation, p can be any integer number between 0 and L − 1. We however will restrict p to be a multiple of W in our analysis in Chapter 4. By adding this “constraint”, the averaged sequence R0, RW, R2W, . . .

becomes i.i.d. in statistics, which greatly simplify our subsequence analysis.

2.3

Derivation of Weighting Coefficients

For a given CTBC code structure, the probability of correct path being eliminated owing to the other paths during the decoding process is different at each level. Based on this observation, the equal-weight method proposed by Handlery et al. may be further improved by considering unequal weights that are proportional to, e.g., the correct-path elimination probability at each level. The intuition behind our provision is that a higher erroneous elimination probability at a certain level should be compensated by a higher reliability at the respective level; hence, with a higher weight coefficient at that position, the position that can well compensate the erroneous elimination according to the code structure can be located.

As an example in the (2, 1, 3) CTBC trellis in Fig. 2.2, given that the all-zero codeword is transmitted, the path from state 1 at level 0 to state 0 at level 1 may eliminate the correct

(32)

all-zero path at level 1, which will occur with probability2 q0 = Pr  (y0⊕ 0)|φ0| + (y1⊕ 0)|φ1| > (y0⊕ 1)|φ0| + (y1⊕ 1)|φ1| v0 = v1 = 0 = Pr[r0+ r1 < 0|v0 = v1 = 0] = Q(√2/σ),

where σ2 is the variance of the additive Gaussian noise, and

Q(x), Z ∞ x 1 √ 2πe −x2/2 dx

is the Q-function. At level 2, the correct all-zero path may be eliminated by either the path from state 2 at level 0 to state 0 at level 2 or the path from state 3 at level 0 to state 0 at level 2, for which the probability of occurrence is given by

q1 = Pr[r1+ r2+ r3 < 0 or r0+ r2+ r3 < 0|v0 = v1 = v2 = v3 = 0].

By repeating this procedure, the correct all-zero path may be eliminated due to four paths ending at level 3, which are respectively the ones from state 4, 5, 6 and 7 at level 0 to state 0 at level 3. As such, we can pre-calculate these probabilities as q0, q1, q2, . . . , qL−1. Notably,

the block error probability is actually less than q0+ q1+ q2+ · · · + qL−1because, for example,

the calculation of q2 does not exclude the event that q1 concerns, i.e., r0 + r1 > 0. As a

result, our weighting coefficients for shifting VA will be set intuitively as: (w0, w1, . . . , wW −1) =

1 q0

(q0, q1, q2, . . . , qW −1)

corresponding to a certain operational signal-to-noise ratio such as Eb/N0 = 1 dB. The

cal-culations of erroneous elimination probabilities for (3, 1, 6) and (2, 1, 6) CTBCs are detailed in Appendix A.

2The path metric we employed in our decoding is defined as [4]

µ(x0, x1, . . . , xℓn−1) = ℓn−1

X

j=0

(yj⊕ xj)|φj|,

where (x0, x1, . . . , xℓn−1) is the path label, “⊕” is the module-2 addition operation, and φj and yj are

(33)

For shifting circular decoding algorithm, the weighting coefficients will be divided into two groups: (i) forward subwindow coefficients w0, w1, . . . , wW/2−1 and (ii) backward subwindow

coefficients wW/2, wW/2+1, . . . , wW −1, where W is taken to be an even number. The backward

subwindow coefficients will be defined the same as the coefficients for shifting VA, i.e., (wW/2, wW/2+1, . . . , wW −1) = 1 q0 q0, q1, q2, . . . , qW/2  .

This part accounts for the influence from erroneous elimination. The forward subwindow coefficients consider the backward structure in which the accumulated metric of the correct path is larger than those of the other paths. Take Fig. 2.3 as an example. There will be two branches emitting from state 0 at level L − 1. The one marked with 00 belongs to the correct path. Then, the weight wW/2−1 will be proportional to the probability that the

metric corresponding to the path from state 0 at level L − 1 to state 4 at level L is smaller than that of the path from state 0 at level L − 1 to state 0 at level L. Again, wW/2−2 will

be proportional to the probability that the metric corresponding to the path from state 0 at level L − 2 to state 0 at level L is larger than either that of the path from state 0 at level L − 2 to state 2 at level L or that of the path from state 0 at level L − 2 to state 6 at level L. Detailed calculations of these window values for (3, 1, 6) and (2, 1, 6) CTBCs are given in Appendix A.

(34)

˦̇˴̇˸ʳ˃ ˦̇˴̇˸ʳ˄ ˦̇˴̇˸ʳ˅ ˦̇˴̇˸ʳˆ ˦̇˴̇˸ʳ˃ ˦̇˴̇˸ʳ˄ ˦̇˴̇˸ʳ˅ ˦̇˴̇˸ʳˆ ˦̇˴̇˸ʳ˃ ˦̇˴̇˸ʳ˄ ˦̇˴̇˸ʳ˅ ˦̇˴̇˸ʳˆ ˦̇˴̇˸ʳˇ ˦̇˴̇˸ʳˈ ˦̇˴̇˸ʳˉ ˦̇˴̇˸ʳˊ ˦̇˴̇˸ʳˇ ˦̇˴̇˸ʳˈ ˦̇˴̇˸ʳˉ ˦̇˴̇˸ʳˊ ˦̇˴̇˸ʳˇ ˦̇˴̇˸ʳˈ ˦̇˴̇˸ʳˉ ˦̇˴̇˸ʳˊ ˦̇˴̇˸ʳ˃ ˦̇˴̇˸ʳ˄ ˦̇˴̇˸ʳ˅ ˦̇˴̇˸ʳˆ ˦̇˴̇˸ʳˇ ˦̇˴̇˸ʳˈ ˦̇˴̇˸ʳˉ ˦̇˴̇˸ʳˊ 0 1

r r

r r

2 3

r r

4 5 ˃˃ ˄˄ ˃˄ ˄˃ ˄˄ ˃˃ ˄˃ ˃˄ ˃˃ ˄˄ ˃˄ ˄˃ ˃˃ ˄˄ ˟˸̉˸˿ʳ˃ ˟˸̉˸˿ʳ˄ ˟˸̉˸˿ʳ˅ ˟˸̉˸˿ʳˆ

(35)

˦̇˴̇˸ʳ˃ ˦̇˴̇˸ʳ˄ ˦̇˴̇˸ʳ˅ ˦̇˴̇˸ʳˆ ˦̇˴̇˸ʳ˃ ˦̇˴̇˸ʳ˄ ˦̇˴̇˸ʳ˅ ˦̇˴̇˸ʳˆ ˦̇˴̇˸ʳ˃ ˦̇˴̇˸ʳ˄ ˦̇˴̇˸ʳ˅ ˦̇˴̇˸ʳˆ ˦̇˴̇˸ʳˇ ˦̇˴̇˸ʳˈ ˦̇˴̇˸ʳˉ ˦̇˴̇˸ʳˊ ˦̇˴̇˸ʳˇ ˦̇˴̇˸ʳˈ ˦̇˴̇˸ʳˉ ˦̇˴̇˸ʳˊ ˦̇˴̇˸ʳˇ ˦̇˴̇˸ʳˈ ˦̇˴̇˸ʳˉ ˦̇˴̇˸ʳˊ ˦̇˴̇˸ʳ˃ ˦̇˴̇˸ʳ˄ ˦̇˴̇˸ʳ˅ ˦̇˴̇˸ʳˆ ˦̇˴̇˸ʳˇ ˦̇˴̇˸ʳˈ ˦̇˴̇˸ʳˉ ˦̇˴̇˸ʳˊ 6 5 L L r  r  rL4rL3 rL2rL1 ˃˃ ˄˄ ˃˃ ˄˄ ˃˃ ˄˄ ˃˃ ˄˄ ˃˄ ˄˃ ˄˄ ˃˃ ˄˃ ˃˄ ˟˸̉˸˿ ˟ˀ˄ ˟˸̉˸˿ ˟ˀ˅ ˟˸̉˸˿ ˟ˀˆ ˟˸̉˸˿ ˟

(36)

2.4

Shifting Viterbi Algorithm

The shifting VA is simply to apply the VA after circularly shifting the received sequence. For completeness, its procedure is given below.

Step 1. For the shifted received sequence r′= (r

np, rnp+1, . . . , rN −1, r0, . . . , rnp−1), apply the

VA with initial metrics being zero for all states.

Step 2. Output the information sequence corresponding to ρTB,best if it exists. Otherwise,

output the information sequence corresponding to ρbest.

As shown in Fig. 2.1, the output information sequence of the above algorithm is the shifted version of the true estimate at the receiver. Hence, the entire decoding process is completed by the last “shift back” operation.

2.5

Shifting Circular Decoding Algorithm

For shifting circular decoding algorithm, in order to account for the effect of the forward and backward training windows denoted respectively by F and B, we will add W/2 to p before the decoding process begins as indicated in Footnote 1 (cf. Page 6). Because it requires additional working load to find ρTB,best, namely, the examination of βF,F +L+B(s) =

βF +L,F +L+B(s) for all s ∈ S, and because the error performance by merely considering the

information sequence corresponding to ρbest is already acceptably good, we will directly

output the information sequence corresponding to ρbest without examining ρTB,best here.

Detailed procedure is summarized in the following. Step 1. For the shifted received sequence r′= (r

np, rnp+1, . . . , rN −1, r0, . . . , rnp−1), re-index it

as

r′ = (rnp, rnp+1, . . . , rN −1, r0, . . . , rnp−1) = (r′

(37)

Step 2. Copy the back nF values of r′ to the head, and copy the front nB values of rto

the tail. This gives that r′

T W = (rN −1−(nF −1)′ , . . . , rN −1′ , r0′, r1′, . . . , r′N −1, r′0, . . . , rnB−1′ ).

Step 3. For r′

T W, apply the VA to the super code trellis of F + L + B + 1 levels with initial

metrics being zero for all states.

Step 4. Retain the information sequence of length F + L + B + 1 corresponding to ρbest.

Remove the front F bits and back B bits. Output the remaining information sequence of length L.

After the execution of the above algorithm, the entire decoding process is completed by performing “shift back” in the end as depicted in Fig. 2.1.

(38)

Chapter 3

Simulation Results

3.1

Performance of Shifting Viterbi Algorithm

In this section, we will compare the performances of the brutal-force maximum-likelihood decoding algorithm, the VA, and the shifting VA. They are respective abbreviated as ML, VA and SVA in the legends. Note that the difference between the VA and the SVA is that no circular shift is performed on the received sequence in the VA. The “unequal-weight” appearing before the SVA indicates that the weighting coefficients derived in Section 2.3 are used.

The CTBCs used in our simulations are respectively the (3, 1, 6) code with generator polynomial (554 744 724) (in octal) and the (2, 1, 6) code with generator polynomial (744 554) (in octal). The weighted average window is taken to be W = 6 only. After the binary codeword is mapped onto the antipodal signals, the additive white Gaussian is added. From Figs. 3.1, 3.2 and 3.3, we found that both equal-weight and unequal-weight SVAs improve the performance of the VA. In addition, the proposed unequal-weight SVA performs better than the equal-weight SVA.

From Figs. 3.4, 3.5 and 3.6, we found again that both equal-weight and unequal-weight SVAs improve the performance of the VA. But, it is a little different from those obtained

(39)

1 1.5 2 2.5 3 3.5 4 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER (3,1,6) CTBC, L = 40. ML VA Equal−weight SVA (W=6) Unqual−weight SVA (W=6)

Figure 3.1: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 6) CTBC. The length of the information sequence is L = 40.

Figs. 3.1, 3.2 and 3.3 that the unweight SVA performs almost the same as the equal-weight SVA. Thus, the code rate could be a factor to result in different behavior between the equal- and unequal-weight SVA. Hence, we further examine the (3, 1, 4) CTBC with generator polynomial (52 66 76) (in octal).

Taking the average window size to be equal to the memory order of the CTBC code (i.e., W = 4 for (3, 1, 4) code), we observe from Figs. 3.7, 3.8 and 3.9 that both equal-weight and unequal-weight SVAs outperforms the VA as usual, and unequal-weight SVA performs better than the equal-weight SVA.

(40)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER (3,1,6) CTBC, L = 80. ML VA Equal−weight SVA (W=6) Unqual−weight SVA (W=6)

Figure 3.2: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 6) CTBC. The length of the information sequence is L = 80.

(41)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER (3,1,6) CTBC, L = 120. ML VA Equal−weight SVA (W=6) Unqual−weight SVA (W=6)

Figure 3.3: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 6) CTBC. The length of the information sequence is L = 120.

(42)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER (2,1,6) CTBC, L=40 in AWGN ML VA Equal−weight SVA(W=6) Unequal−weight SVA(W=6)

Figure 3.4: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (2, 1, 6) CTBC. The length of the information sequence is L = 40.

(43)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER (2,1,6) CTBC, L=80 in AWGN ML VA Equal−weight SVA(W=6) Unequal−weight SVA(W=6)

Figure 3.5: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (2, 1, 6) CTBC. The length of the information sequence is L = 80.

(44)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER (2,1,6) CTBC, L=120 in AWGN ML VA Equal−weight SVA(W=6) Unequal−weight SVA(W=6)

Figure 3.6: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (2, 1, 6) CTBC. The length of the information sequence is L = 120.

(45)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER (3,1,4) CTBC, L=40 in AWGN ML VA Equal−weight SVA(W=4) Unequal−weight SVA(W=4)

Figure 3.7: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 4) CTBC. The length of the information sequence is L = 40.

(46)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER (3,1,4) CTBC, L=80 in AWGN ML VA Equal−weight SVA(W=4) Unequal−weight SVA(W=4)

Figure 3.8: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 4) CTBC. The length of the information sequence is L = 80.

(47)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER (3,1,4) CTBC, L=120 in AWGN ML VA Equal−weight SVA(W=4) Unequal−weight SVA(W=4)

Figure 3.9: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 4) CTBC. The length of the information sequence is L = 120.

(48)

3.2

Performance of Shifting Circular Decoding

Algo-rithm

We continue to compare the performances of circular decoding algorithm (CDA) without pre-decoding shifting and shifting circular decoding algorithm (SCDA) for the CTBC codes examined in the previous section. Since we propose to use both forward and backward window, and since it is intuitive to have a window size to cover or accumulate the effect in regard of both the forward window and backward window, the weighted average window size W is taken to be twice of the memory order (instead of one memory-order that is taken for the VA). Both equal-weight and unequal-weight coefficients are examined.

We observe from Figs. 3.10, 3.11 and 3.12 that forward and backward window sizes (F, B) required for near-ML performance are about (19, 20), and are irrelevant to the information length L. This result coincides with that in [11].

Figures 3.13, 3.14 and 3.15 summarize the training window sizes that are sufficient to achieve near-ML performance for equal-weight SCDA. Specifically, Fig. 3.13 shows that the near-ML-performance window sizes can be reduced down to (F, B) = (12, 18) when L = 40. Further reduction can be reached down to (F, B) = (6, 10) when L increases to 80. While L = 120, the near-ML-performance window sizes reduce to only (F, B) = (4, 10).

By adding the constraint that (p − W/2) must be a multiple of W = 12, the near-ML training window sizes become (F, B) = (12, 18) for L = 40, (F, B) = (8, 10) for L = 80, and (F, B) = (6, 10) when L = 120 as indicated in Figs. 3.16, 3.17 and 3.18.

The performances of the unequal-weight shifting circular decoding algorithm are exam-ined in Figs. 3.19, 3.20 and 3.21. These three figures show that the near-ML training window sizes are exactly the same as those obtained for equweight shifting circular decoding al-gorithm except that (F, B) = (12, 16) when L = 40.

(49)

Next, we turn to the (2, 1, 6) CTBC with generator polynomial (744 554) (in octal) and the weighted average window size W = 12. From Figs. 3.22, 3.23 and 3.24, the forward and backward training window sizes (F, B) required for near-ML performance are about (27, 28), and are again irrelevant to the information length L.

For the equal-weight SCDA, Figs. 3.25, 3.26 and 3.27 tell that the near-ML-performance training window sizes are reduced to (F, B) = (24, 26), (16, 20) and (10, 14) respectively for L = 40, 80 and 120. These window sizes remains the same even if an additional constraint that (p − W/2) must be a multiple of W is added, except for (F, B) = (24, 28) for L = 40 as shown in Figs. 3.28, 3.29 and 3.30.

It remains to examine the performances of the unequal-weight shifting circular decoding algorithm for the (2, 1, 6) CTBC. From Figs. 3.31, 3.32 and 3.33, the near-ML training window sizes are (F, B) = (20, 26) for L = 40, (F, B) = (12, 18) for L = 80, and (F, B) = (8, 12) for L = 120, respectively. This hints that the window sizes required for near-ML performance can be a little reduced by switching from the equal weights to unequal weights. Now, we consider the last code examined in this section, i.e., the (3, 1, 4) CTBC with generator polynomial (52 66 76) (in octal). From Figs. 3.34, 3.35 and 3.36, the forward and backward training window sizes (F, B) required for near-ML performance are also irrelevant to the information length L, which is (F, B) = (13, 13). From Figs. 3.37, 3.38 and 3.39, we notice that the near-ML-performance window sizes are reduced to almost none as (F, B) = (8, 8), (2, 4) and (2, 4) respectively for L = 40, 80 and 120. The constraint that (p − W/2) must be a multiple of W = 8 does not change these required (F, B) as indicated in Figs. 3.40, 3.41 and 3.42. In the end, the performances of the unequal-weight SCDA are examined, and are resulted some improvement over equal-weight SCDA. Specifically, from Figs. 3.43, 3.44

(50)

1 1.5 2 2.5 3 3.5 4 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=40, Circular Decoding Algorithm with (F,B) training window.

ML

CDA,(F,B)=(8,12) CDA,(F,B)=(12,16) CDA,(F,B)=(19,20)

Figure 3.10: Block error rates (BLER) of the circular decoding algorithm without pre-decoding shift for (3, 1, 6) CTBC. The length of the information sequence is L = 40.

(51)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=80, Circular Decoding Algorithm with (F,B) training window.

ML

CDA, (F,B)=(6,10) CDA, (F,B)=(15,16) CDA, (F,B)=(19,20)

Figure 3.11: Block error rates (BLER) of the circular decoding algorithm without pre-decoding shift for (3, 1, 6) CTBC. The length of the information sequence is L = 80.

(52)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=120, Circular Decoding Algorithm with (F,B) training window.

ML

CDA, (F,B)=(11,12) CDA, (F,B)=(15,16) CDA, (F,B)=(19,20)

Figure 3.12: Block error rates (BLER) of the circular decoding algorithm without pre-decoding shift for (3, 1, 6) CTBC. The length of the information sequence is L = 120.

(53)

1 1.5 2 2.5 3 3.5 4 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=40, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(8,14) Equal−weight SCDA, (F,B)=(12,18)

Figure 3.13: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40.

(54)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=80, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(2,6) Equal−weight SCDA, (F,B)=(6,10)

Figure 3.14: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 80.

(55)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=120, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(2,6) Equal−weight SCDA, (F,B)=(4,10)

Figure 3.15: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 120.

(56)

1 1.5 2 2.5 3 3.5 4 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=40, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(8,14) Equal−weight SCDA, (F,B)=(12,18)

Figure 3.16: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40.

(57)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=80, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(4,6) Equal−weight SCDA, (F,B)=(8,10)

Figure 3.17: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80.

(58)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=120, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(2,6) Equal−weight SCDA, (F,B)=(6,10)

Figure 3.18: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120.

(59)

1 1.5 2 2.5 3 3.5 4 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=40, Unequal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Unequal−weight SCDA, (F,B)=(8,12) Unequal−weight SCDA, (F,B)=(12,16)

Figure 3.19: Block error rates (BLER) of the unequal-weight shifting circular decoding algorithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40.

(60)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=80, Unequal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Unequal−weight SCDA, (F,B)=(2,6) Unequal−weight SCDA, (F,B)=(6,10)

Figure 3.20: Block error rates (BLER) of the unequal-weight shifting circular decoding algorithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80.

(61)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,6), L=120, Unequal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Unequal−weight SCDA, (F,B)=(2,6) Unequal−weight SCDA, (F,B)=(4,10)

Figure 3.21: Block error rates (BLER) of the unequal-weight shifting circular decoding algorithm for (3, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120.

(62)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=40 in AWGN, Circular Decoding Algorithm with (F,B) training window.

ML

CDA, (F,B)=(23,24) CDA, (F,B)=(27,28)

Figure 3.22: Block error rates (BLER) of the circular decoding algorithm without pre-decoding shift for (2, 1, 6) CTBC. The length of the information sequence is L = 40.

(63)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=80 in AWGN, Circular Decoding Algorithm with (F,B) training window.

ML

CDA, (F,B)=(23,24) CDA, (F,B)=(27,28)

Figure 3.23: Block error rates (BLER) of the circular decoding algorithm without pre-decoding shift for (2, 1, 6) CTBC. The length of the information sequence is L = 80.

(64)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=120 in AWGN, Circular Decoding Algorithm with (F,B) training window.

ML

CDA, (F,B)=(19,20) CDA, (F,B)=(27,28)

Figure 3.24: Block error rates (BLER) of the circular decoding algorithm without pre-decoding shift for (2, 1, 6) CTBC. The length of the information sequence is L = 120.

(65)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=40 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(20,22) Equal−weight SCDA, (F,B)=(24,26)

Figure 3.25: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40.

(66)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=80 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(12,16) Equal−weight SCDA, (F,B)=(16,20)

Figure 3.26: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 80.

(67)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=120 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(6,10) Equal−weight SCDA, (F,B)=(10,14)

Figure 3.27: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 120.

(68)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=40 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(20,24) Equal−weight SCDA, (F,B)=(24,28)

Figure 3.28: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (2, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40.

(69)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=80 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(12,16) Equal−weight SCDA, (F,B)=(16,20)

Figure 3.29: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (2, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80.

(70)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=120 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(6,10) Equal−weight SCDA, (F,B)=(10,14)

Figure 3.30: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (2, 1, 6) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120.

(71)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=40 in AWGN, Unequal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Unequal−weight SCDA, (F,B)=(16,22) Unequal−weight SCDA, (F,B)=(20,26)

Figure 3.31: Block error rates (BLER) of the unequal-weight shifting circular decoding algorithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40.

(72)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=80 in AWGN, Unequal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Unequal−weight SCDA, (F,B)=(8,14) Unequal−weight SCDA, (F,B)=(12,18)

Figure 3.32: Block error rates (BLER) of the unequal-weight shifting circular decoding algorithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80.

(73)

1 1.5 2 2.5 3 3.5 4 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(2,1,6) CTBC, L=120 in AWGN, Unequal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Unequal−weight SCDA, (F,B)=(4,8) Unequal−weight SCDA, (F,B)=(8,12)

Figure 3.33: Block error rates (BLER) of the unequal-weight shifting circular decoding algorithm for (2, 1, 6) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 120.

(74)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,4) CTBC, L=40 in AWGN, Circular Decoding Algorithm with (F,B) training window.

ML

CDA, (F,B)=(9,9) CDA, (F,B)=(13,13)

Figure 3.34: Block error rates (BLER) of the circular decoding algorithm without pre-decoding shift for (3, 1, 4) CTBC. The length of the information sequence is L = 40.

(75)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,4) CTBC, L=80 in AWGN, Circular Decoding Algorithm with (F,B) training window.

ML

CDA, (F,B)=(9,9) CDA, (F,B)=(13,13)

Figure 3.35: Block error rates (BLER) of the circular decoding algorithm without pre-decoding shift for (3, 1, 4) CTBC. The length of the information sequence is L = 80.

(76)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,4) CTBC, L=120 in AWGN, Circular Decoding Algorithm with (F,B) training window.

ML

CDA, (F,B)=(9,9) CDA, (F,B)=(13,13)

Figure 3.36: Block error rates (BLER) of the circular decoding algorithm without pre-decoding shift for (3, 1, 4) CTBC. The length of the information sequence is L = 120.

(77)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,4) CTBC, L=40 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(4,4) Equal−weight SCDA, (F,B)=(8,8)

Figure 3.37: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 4) CTBC. F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40.

(78)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,4) CTBC, L=80 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(0,2) Equal−weight SCDA, (F,B)=(2,4)

Figure 3.38: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 4) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 80.

(79)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,4) CTBC, L=120 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(0,2) Equal−weight SCDA, (F,B)=(2,4)

Figure 3.39: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 4) CTBC. F and B denote the forward and backward training window sizes, respectivley. The length of the information sequence is L = 120.

(80)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,4) CTBC, L=40 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(4,4) Equal−weight SCDA, (F,B)=(8,8)

Figure 3.40: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 4) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 40.

(81)

1 1.5 2 2.5 3 3.5 4 4.5 5 10−4 10−3 10−2 10−1 100 Eb/N0 (dB) BLER

(3,1,4) CTBC, L=80 in AWGN, Equal−Weight Shifting Circular Decoding Algorithm with (F,B) training window.

ML

Equal−weight SCDA, (F,B)=(0,2) Equal−weight SCDA, (F,B)=(2,4)

Figure 3.41: Block error rates (BLER) of the equal-weight shifting circular decoding algo-rithm for (3, 1, 4) CTBC, where (p − W/2) must be a multiple of W . F and B denote the forward and backward training window sizes, respectively. The length of the information sequence is L = 80.

數據

Figure 3.1: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 6) CTBC
Figure 3.2: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 6) CTBC
Figure 3.3: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (3, 1, 6) CTBC
Figure 3.4: Block error rates (BLER) of the maximum-likelihood (ML) decoder, the Viterbi algorithm (VA) and the shifting Viterbi algorithm (SVA) for (2, 1, 6) CTBC
+7

參考文獻

相關文件

了⼀一個方案,用以尋找滿足 Calabi 方程的空 間,這些空間現在通稱為 Calabi-Yau 空間。.

Let f being a Morse function on a smooth compact manifold M (In his paper, the result can be generalized to non-compact cases in certain ways, but we assume the compactness

Real Schur and Hessenberg-triangular forms The doubly shifted QZ algorithm.. Above algorithm is locally

To stimulate creativity, smart learning, critical thinking and logical reasoning in students, drama and arts play a pivotal role in the..

 Promote project learning, mathematical modeling, and problem-based learning to strengthen the ability to integrate and apply knowledge and skills, and make. calculated

Now, nearly all of the current flows through wire S since it has a much lower resistance than the light bulb. The light bulb does not glow because the current flowing through it

If a contributor is actively seeking an appointment in the aided school sector but has not yet obtained an appointment as a regular teacher in a grant/subsidized school, or he

In this chapter we develop the Lanczos method, a technique that is applicable to large sparse, symmetric eigenproblems.. The method involves tridiagonalizing the given