國 立 交 通 大 學
電信工程學系
碩士論文
基於索引層級的疊代訊源通道解碼機制
Index-Based Iterative Source-Channel Decoding
研究生:潘彥璋
指導教授:張文輝 博士
基於索引層級的疊代訊源通道解碼機制
Index-Based Iterative Source-Channel Decoding
研 究 生:潘彥璋 Student:Yen-Chang Pan
指導教授:張文輝 Advisor:Wen-Whei Chang
國 立 交 通 大 學
電 信 工 程 學 系
碩 士 論 文
A Thesis
Submitted to Department of Communication Engineering 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 2008
Hsinchu, Taiwan, Republic of China
i
基於索引層級的疊代訊源通道解碼機制
學生:潘彥璋 指導教授:張文輝 博士
國立交通大學電信工程學系碩士班
中文摘要
在實際的數位通訊系統,訊源編碼器的設計受限於複雜度與延遲
需求,其編碼輸出參數仍有殘餘冗息存在。為了加強系統的強健性,
我們在合併訊源通道解碼平台下,引入渦輪原則並據以設計一索引層
級的疊代演算法。核心元件包括軟性輸出通道解碼器、軟性位元訊源
解碼器以及索引交錯器三個工作單元。其關鍵在於利用訊源殘餘冗息
和通道編碼提供的保護位元,在不同解碼器之間逐次交換外源訊息以
累積更多可靠的判定內容。通道解碼器根據分段柵狀碼圖而發展索引
層級的 BCJR 演算法,讓外源訊息的交換得以提升至更具效率的索引
層級。模擬結果顯示,索引層級疊代解碼演算法的強健效能明顯優於
位元層級的疊代解碼演算法。
Index-Based Iterative Source-Channel Decoding
Student: Yen-Chang Pan Advisor: Dr. Wen-Whei Chang
Department of Communication Engineering
National Chiao Tung University
Abstract
This thesis presents a new method of iterative source-channel decoding (ISCD) technique. The ISCD consists of a channel decoder followed by a source decoder, which are connected with a feedback loop. The main attraction of ISCD is that reliability gains resulting from both artificial and source residual redundancy can be exchanged iteratively in a turbo-like process. The extrinsic information produced by each decoding algorithm is used to strengthen the a priori information of another decoder. However, conventional ISCD system computes the extrinsic information in bit-level and therefore the correlation of source parameters cannot be fully utilized. A new index-based ISCD is presented which consists of a softbit source decoder (SBSD) and a channel decoder based on the modified BCJR algorithm using sectionalized code-trellis. The index-based ISCD does not produce bit-level information in its decoding process and therefore improves the way of utilizing the source correlation. Simulation results show that significant improvements of error robustness are achieved by ISCD compared to conventional concatenated decoding schemes. Furthermore, the index-based ISCD outperforms the bit-based ISCD under all channel-SNR conditions.
iii
Acknowledgements
I would like to acknowledge my advisor, professor Wen-Whei Chang, for his valuable guidance throughout my research. I would like to thank the colleagues in Speech Communication Lab. and all my friends in NCTU for their helpful discussions and suggestions.
I would also like to thank my family for their encouragement and financial support.
Contents
Abstract (in Chinese) ... i
Abstract ... ii
Acknowledgement ... iii
Contents ... iv
List of Tables ... vi
List of Figures ... vii
Chapter 1 Introduction... 1
Chapter 2 Bit-Based Source-Channel Decoding ... 6
2.1 System Implementation ... 6
2.2 BCJR Algorithm for Channel Decoding ... 9
2.2 Softbit Source Decoding ... 12
Chapter 3 Index-Based Source-Channel Decoding ... 15
3.1 System Implementation ... 15
3.2 Modified BCJR Algorithm ... 18
3.3 Softbit Source Decoding ... 21
Chapter 4 Index-Based ISCD Algorithm in Log Domain ... 24
4.1 Log-Likelihood Ratio ... 24
4.2 Modified BCJR Algorithm in Log Domain ... 25
4.3 Softbit Source Decoding in Log Domain ... 27
Chapter 5 Simulation Results ... 30
v
5.2 Performance of Bit-Based ISCD ... 31
5.3 Performance of Index-Based ISCD ... 32
5.4 Comparison of Index-Based and Bit-Based ISCD ... 35
5.5 Complexity Analysis of Index-Based ISCD ... 39
Chapter 6 Conclusions ... 41
Appendix A: Derivation of Formula (4.6)... 43
Appendix B: Interpolated-SBSD ... 45
List of Tables
5.1 Performance of bit-based ISCD ... 32 5.2 Performance of index-based ISCD with uniform initialization (UI) and
non-uniform initialization (NI) ... 33 5.3 Performance of index-based ISCD with non-uniform initialization (NI) ... 34 5.4 Performance of index-based ISCD in probability-domain and log-domain ... 36 5.5 Comparison of bit-based ISCD, index-based ISCD, and concatenated decoding
for source correlation factor ρ= 0.8 ... 37 5.6 Comparison of bit-based ISCD, index-based ISCD, and concatenated decoding
for source correlation factor ρ= 0.95 ... 38 5.7 Summary of complexity for channel decoder with L=300, 2
υ
= . The valuesoutside (inside) the parentheses represent computation (memory) ... 40 5.8 Summary of complexity for source decoder with L=300, 2
υ
= . The valuesoutside (inside) the parentheses represent computation (memory) ... 40 B.1 Performances of various decoders ... 48
vii
| | |
B.1 Performances of various decoders ... 47
List of Figures
2.1 Block diagram of bit-based transmitter ... 142.2 Block diagram of bit-based receiver ... 14
2.3 An example of code trellis ... 14
3.1 Block diagram of the index-based transmitter ... 22
3.2 Block diagram of the index-based receiver ... 22
3.3 Trellis diagrams used for (a) the encoder and (b) the decoder ... 23
4.1 Log-domain index-based ISCD ... 29
5.1 Performance of bit-based ISCD ... 32
5.2 Performance of index-based ISCD with non-uniform initialization (NI) ... 34
5.3 Performance of index-based ISCD in probability and log-domain ... 35
5.4 Comparison of bit-based and index-based ISCD ... 36
5.5 Comparison of bit-based ISCD, index-based ISCD, and concatenated decoding for source correlation factor ρ= 0.8 ... 37
5.6 Comparison of bit-based ISCD, index-based ISCD, and concatenated decoding for source correlation factor ρ= 0.95 ... 38
Chapter 1
Introduction
In digital multimedia communications, the characteristic parameters extracted from media sources are highly sensitive against transmission errors. Some bit errors in the received parameters can result in extremely annoying artifact. How to design a robust coding/decoding system involves a lot of technical challenges. In a conventional system design problem, the source codec and channel codec are designed separately and independently. This approach is justified by Shannon’s separation theorem [1], which ensures the optimal performance of the overall communication system. However, separate design of the source and channel codec is based on the assumed optimality of each other and therefore is not feasible due to impractical constraints. In real-world communication systems, complexity and signal delay are highly limited so that the design of perfect source and channel coding techniques is impossible. Moreover, the separate design prevents one codec from taking advantage of the imperfection and characteristics of the other. It has been shown by many researchers that the system performance can be further improved by a joint design of the source and channel codecs. The name joint source-channel coding/decoding (JSCC/JSCD) has been used to refer to all the techniques that were developed to compensate for the drawbacks of the separation principle.
While joint design of source and channel codecs seems to be a better solution, the way how to realize is still not clear due to the lack of good models and necessary theories in this area. It is expected that a joint source-channel codec design is much more difficult than the separate design. To overcome the difficulties, a number of joint design approaches have been proposed in the past two decades. Depending on whether the implementation is for the transmitter or receiver, joint design methods can
2
be divided into JSCC and JSCD. The very early work in JSCC involves an integrated design of source and channel codecs. However, due to the difficulties in designing practical encoders and decoders, there are very few papers in this research area. To make JSCC realizable, integrated design of source codec and channel codec is simplified by fixing one codec and designing the other so that the end-to-end distortion is minimized. Related techniques can be roughly divided into three categories [2]: source coding robust to channel errors, channel coding adaptive to source properties, and combined source-channel coding.
In this thesis, we will focus the JSCD design problem at the receiver site. Due to practical constraints, the outputs of a source encoder are not independent identically distributed (i.i.d.) and exhibit some form of non-uniform distribution and correlation, which are referred to as source residual redundancy. A common approach is to take advantage of the source residual redundancy at the source or/and channel decoder to improve the channel robustness as well as signal quality. This is called redundancy- based JSCD and can be further divided into three categories: error concealment, source-controlled channel decoding (SCCD), and iterative source-channel decoding (ISCD).
In error concealment, the residual redundancy is exploited by the source decoder to reduce the subjective effects of the residual errors which are not eliminated by the channel decoder. In this way, the remaining channel errors are “concealed.” The general concept of this JSCD technique is proposed by Fingscheidt and Vary in [3] and is called the softbit source decoding (SBSD). The SBSD technique can be used after channel decoding with soft-outputs or for the case where channel coding is not used at all. The estimation is carried out for the encoded parameters rather than for individual bits of the parameter indexes, since the dependencies of the indexes are stronger than the correlations of the index bits. Fingscheidt’s approach to SBSD exploits source residual redundancy in terms of an unequal parameter distribution and inter-frame correlation. By additionally exploiting correlation between source codec parameters, the capabilities of SBSD have been extended [4].
In contrast to SBSD which incoperates the residual redundancy into source decoding, the SCCD was proposed by Hagenauer [5] with an attempt to exploit the residual redundancy in a channel decoding process. Unlike conventional channel decoding schemes, the inputs of the SCCD decoder also include source a priori
information. When the channel is less noisy, the channel decoder relies mostly on the received symbol values; otherwise, as during deep fade, decoding relies more on the a priori information of the symbol than the received symbol value. The most commonly used a priori information is the a priori knowledge of the source distribution, which can be obtained in advance using a training sequence. Conventional BCJR algorithm [6] for decoding convolutional codes has been devised based on a bit-level code trellis. In our recent work [7], we developed a modified BCJR algorithm for the SCCD and investigated its application to distributed speech recognition (DSR). The basic strategy of our modified BCJR algorithm is to sectionalize the bit-level trellis in a way that bit-level as well as symbol-level source correlations can be exploited. To proceed with this, we chose to decode the quantizer indexes in a frame as nonbinary symbols according to their index length.
In ISCD scheme, SBSD and SCCD are combined together in an iterative process to achieve further improvement compared with using SBSD or SCCD alone. The breakthrough of channel coding was made when Berrou et al. introduced the turbo codes [8][9]. At the transmitter site the encoding scheme consists of a parallel concatenation of two recursive systematic convolutional codes, wherein the inputs of the constituent encoders are separated by a large interleaver. At the receiver site an iterative decoding strategy is applied to exchange so-called extrinsic information between both constituent decoders in each iteration step. The extrinsic information from one decoder is used as the additional a priori information for another. This strategy resembles the belief propagation decoding algorithm for low density parity check (LDPC) codes originally introduced by Gallager [10]. The novel iterative decoding approach made it possible to reach Shannon’s performance bound quite closely by 0.5dB with reasonable computational efforts and delay. It has been named turbo because the iterative exchange of information reminds them of the turbo-charger of combustion engines. The general turbo principle introduced by Hagenauer [11] shows that it can be further applied to most of the concatenation of two systematic soft-in-soft-out (SISO) decoders. The soft-input-soft-output (SISO) property of SBSD makes it a well candidate as the constituent code in a turbo-like system. The ISCD derived by Adrat [12] has successfully adapted the turbo principle to the system with concatenation of a channel decoder and a softbit source decoder. The former utilizes the explicitly artificial redundancy and the latter utilizes the implicitly residual
redundancy. The ISCD takes the advantage of turbo principle and raises the estimated quality of source parameters to a level higher than conventional separated decoding.
However, since SBSD is essentially a symbol-based algorithm which estimates the a posteriori probabilities of each source parameter; it must be modified in order to be concatenated with a bit-based channel decoder. Adrat provided a solution for modifying the SBSD, which adds additional calculation for extrinsic information of each bit within an index. This not only makes SBSD more complex, but also splits the turbo decoder into two sub-blocks that operates with different segment-perspective. Since general form of ISCD is a sub-optimum solution derived from the optimum estimation of source parameters [13], there must exists an alternate ISCD system with consistent decoding algorithm. From now on we will refer to Adrat’s solution as bit-based ISCD, and we would like to seek a solution starting with a modified channel decoder, namely index-based ISCD.
Symbol-based turbo code has been proposed by Bingeman [14], which parses the parallel data streams of the turbo encoder into n-bit symbols and maps each symbol to a point in a -ary signal set. Furthermore, the interleaver is restricted to permute in terms of sub-blocks. With this restriction in place, the effective encoder operates on a symbol-by-symbol basis. Trade-offs between the BER performance, code rate, spectral efficiency, and decoder complexity can be made by the selection of different symbol sizes and modulation techniques. In the case of symbol-based turbo code with BPSK modulation, the BER performance can be improved while at the same time decreasing the decoder complexity as compared with the traditional turbo code.
2n
In this thesis, we will develop the index-based ISCD based on the modification of BCJR decoder. Apparently the term “symbol” here corresponds to the index of the quantized parameters at the output of source encoder. The bit-based interleaver between the source and recursive systematic convolutional (RSC) encoders is replaced by an index-based interleaver to ensure the proper order of parameters at the input of the RSC encoder. The contents of the quantizer, the bit-mapper, and the RSC encoder remain the same as in bit-based ISCD. At the receiver site, the BCJR algorithm is modified to operate in a symbol-by-symbol manner similar as in [7]. In order to simplify the SBSD, it also receives and delivers the symbol-based extrinsic information similar as in [4]. The derivation of extrinsic information from the SBSD in [3] in the index-based perspective is given and therefore the turbo decoder only
exchanges index-based terms without the conversion between bit-level and index- level. Experimental results show that the parameter-estimate quality of the index- based ISCD outperforms the bit-based ISCD, especially for heavily noisy channels.
The bit-based ISCD will be reviewed in Chapter 2. It includes the detail of the conventional BCJR algorithm with adaptation to turbo decoding and the modified SBSD with the extrinsic information. In Chapter 3 we will derive the index-based ISCD by further modifying the modified BCJR algorithm and applying an index- based interleaver, and give the interpretation of index-based extrinsic information. Chapter 4 transforms the algorithms in Chapter 3 from probability-domain to log-domain in order to meet the requirements of real-time implementation. The simulation results of both systems will be shown and compared in Chapter 5. Finally, we will conclude the thesis and list some future research directions in Chapter 6.
Equation Chapter 2 Section 1
Chapter 2
Bit-Based Iterative Source-Channel Decoding
Iterative source channel decoding (ISCD) [4] is a turbo code-like system for multimedia communication. Unlike conventional system, an interleaver is added between source (including quantizer and bit mapper) and channel encoder to generate uncorrelated bit sequences at their input. Similarly, a de-interleaver is also added between channel and source decoder to recover the order of original data. The reason for doing this is to make source and channel decoders to deal with mutually independent signals. Additionally, the decoder is modified with an extra feedback process that takes advantage of iterative information exchanging. This is so called “turbo principle” and is widely applied in systems with two channel encoders (decoders), known as turbo code. Here we have BCJR channel decoder and a softbit source decoder with distinct decoding algorithms. The crucial part is to determine extrinsic information exchanged from one decoder to another.
In this chapter, we will briefly introduce the detail of an ISCD system. Starting from the transmitter, all constituent blocks will be clearly defined. At the receiver side, we will discuss two decoders separately.
§2.1 System Implementation
6
Consider the block diagram of the transmitter shown in Figure 2.1. At time instant t, we have a real valued source , which is quantized by a scalar Max quantizer and then mapped to an M-bit sequence as follows:
1, 1
For consistency of encoding and decoding, we assume all bits are pre-modulated
using Binary Phase Shift Keying (BPSK), e.g. .
Define the set:
1
{
1, 2,..., ,...,}
T t T = U u u u uwhich contains a large amount of M-bit sequences, are passed through a bit interleaver Φ to generate the independent bit pattern :
{
}
1 1, 2,..., ,..., L l L x x x x = x ,where is the size of the interleaver. Each bit corresponds to a specific re-ordered bit :
xl =u mt
( )
, l=1, 2,...,L(2.1)
The interleaved bit pattern is considered as the information bits for the channel encoder. We will focus on the (n,1)-Recursive Systematic Convolutional (RSC) code with constraint length . Thus, each input bit will generate one systematic output bit and 1 parity check bits :
{
}
ˆ ˆ 1 1, 2,..., ,..., L l L = Y y y y y ,{
,} {
,}
, 1, 2,...,ˆ s p p l = yl l = xl l l = L y y y (2.2)where the length includes information bits and the termination bits for the RSC encoder. The block output is then transmitted through an AWGN channel.
| / known), we have the explicit terms of channel-related information in terms of channel
Let the noise-corrupted channel output be , which provides channel-related information for the decoding algorithm. Since the channel is assumed memoryless, we can calculate the received block information as the product of bit-based probabilities of systematic and parity outputs and . With proper channel estimation (channel signal-to-noise ratio is
transition probabilities:
(
)
(
)
2 0 1 exp 2 s s s l l l l noise E p y x y x N πσ ⎡ ⎤ = ⋅ ⎢− − ⎥ ⎣ ⎦ (2.3)
(
)
1 2 0 1 exp 2 n p p s p p l l l l noise E p N πσ − ⎛ ⎞ ⎡ ⎤ =⎜⎜ ⎟⎟ ⋅ ⎢− − ⎥ ⎣ ⎦ ⎝ ⎠ y y y y (2.4)where /2 is the variance of noise and · is the norm function.
s s s n , l. | ,
and bit-level APP . De-interleave to obtain for use in softbit source decoding.
3. De-interleav
mean for the param
The receiver will exploit both channel-related and source a priori information in the decoding algorithm to better estimate the output . Its structure is illustrated in Figure 2.2.
Iterative source-channel decoder is in turbo-like structure. In order to achieve good performance, the constituent components must satisfy the turbo principle:
1. Concatenation of component block 2. Interleaver
3. Soft-In-Soft-Out (SISO) proces 4. Exchange of extrinsic informatio
Since the channel information is passed to both decoders, the system is called a parallel concatenated scheme. During the iterative process, each decoder calculates the extrinsic information of every possibly transmitted bit; which is then combined with the source a priori information to generate the more reliable a priori information used for next decoding iteration. The bit-level a posteriori probabilities (APP) can be used to compute the index-level APP based on the independence assumption in each index bit pattern. In summary, the estimation of the parameters consists of the following steps:
1. Set 0 1 for all
2. Pass the channel-related information and bit-level a
priori information to channel decoder’s input. The channel
decoder uses BCJR algorithm to calculate bit-level extrinsic information
e and use the MMSE algorithm to compute the
conditioned eter :
(
)
( )
(
)
( ) 2M−1 ˆ 1 0 (interleaved positions of )after channel decoding ,
t L t t l t i l u v v i P x i λ = ∈ =
∑
⋅∏
Y u = (2.5) 8where is the codebook value of index i. The resulting ter-to-noise ratio is defined as perform
4. terleaved channel-related information and
softbit source decoder’s input. Perform the softbit source decoding algorithm to calculate bit-level extrinsic information and index-level APP
5. Use pute
parame ance at the ( )-th iteration. If
the improvement is less than a preset threshold, stop process; otherwise, go to step 4.
Pass de-in
index-level a priori information | ∏ to
. Interleave to obtain for use in channel decoding.
to com the conditional mean for the parameter :
(
)
2 1(
1)
( )
0 after source decoding
M T t t i v P − = =
∑
u = U ⋅ t i v i (2.6)The resulting parameter-to-noise ratio is defined as performance at the ( 1)-th iteration. If the improvement is less than a preset threshold, stop process; otherwise, 1 and return to step 2.
§2.2 BC
BCJR algorithm ly used for soft-input soft-output channel decoding f convolutional codes. In order to increase the reliability of current information bit, it rellis structure of convolutional encoder to derive a recurs
makes BCJR an adequate constituent decoder in iterative decoding. In this section we
JR Algorithm for Channel Decoding
[6][15] is wide o
observes the entire received block and utilizes the t
ive formula that drastically lower the computational complexity. Furthermore, the recursive reliability passing structure
will briefly review the BCJR algorithm. Specifically, we show how to derive APP from the received signal and define extrinsic output for each information bit. For convenience, we only consider the case for 1 among all formula in this
10
current input b the latest state mine a unique state transition (or br
section; however, similar calculations are needed for 1 to ensure the sum of 1 and 1 equals to 1.
The trellis diagram determines the current output bits by observing the current input bit and the latest state content updated by the previous input bit. In other words, the
it and content deter
anch). We can also use this transition to update the state content before dealing with the next input bit. Therefore, we include the state information to a posteriori probability of :
(
)
(
( )
)
( )(
)
( )
(
)
( 1 ) 1 ˆ ˆ 1 1 ˆ 1 1 , , , l l l l L L L l l s s P P C p s s + − − ∈Σ = ⋅∑
Y Y Y (2.7)here C is a constant independent of , and are the state before and the current state transition, and Σ is the set of all state transitions resulting from the input bit 1. Figure 2.3 shows an example.
1 ˆ ˆ 1 1 1 ˆ , , , 1, 1 l l l L L l l l s s L p s s p x P x + − − ∈Σ = + = + = =
∑
Y Y Y w afterBy assuming a memoryless channel and the independence of input bits , the joint probability , , can be split into three terms:
(
Lˆ)
(
)
(
)
(
ˆ)
l
p s
=
The forward recursion for forward metric : 1 1, , 1 1, 1 , 1 1 l L l l l l l l l l p s− s Y − Y − ⋅p s y s− ⋅p Y + s
( ) (
) ( )
1 1 1, l sl l sl sl l s α− − ⋅γ − ⋅β (2.8)( )
(
)
( )
1 1, 1 l l l l l l l l s s s s α γ α − − − =∑
⋅ s−1 (2.9)The backward recursion for backward metric :
( )
(
) ( )
1 1 1, l l l l l l l l s s s s β− − =∑
γ − ⋅β s (2.10)The branch metric , :
(
)
(
) (
)
(
)
(
)
(
)
(
)
(
)
1, 1 1, 1 1 1 l l l l l l l l l l l s p p l l l l s s P s s p s s P x p l x p y x p γ − = − ⋅ − = = + ⋅ = = + ⋅ = + ⋅ y y y y y (2.11)The 2nd equality comes from , Σ in (2.7), and the 3rd equality holds for a memoryless channel. It is common to start a convolutional code with an all-zero state, and force it back to all-zero state after encoding all information bits. Therefore, the
forward and the backward metrics can be initialized as follows:
( )
0 0 0 0 1, 0, s s s α = ⎨⎧ = ≠ ⎩ 0 0,( )
ˆ ˆ ˆ ˆ 0, L L L L s s s β = ⎨⎧1, = ≠ ⎩ 0 0.The next task is to define extrinsic information of the path “CD to SBSD”, specifically, the term 1 . Note that extrinsic information may not be a legible probability (they are not summed to 1), we must calculate 1 separately.
By observing the inputs of SBSD, we find that there are three distinct groups of information:
information:
e bit-level a
priori
s must be separated from the extrinsic information art in the branch metric:
z Channel-related information: |
z Index-level a priori |
z Extrinsic information from channel decoder:
Since SBSD and CD use the same channel-related information and th
information can be derived from marginal probability of index-level a priori information, both term
1. We first consider the extrinsic p
)
(
)
(
)
(
)
(
(
)
(
[ ](
)
1 1 s ex , l l l l l P x = + ⋅p y x = ⋅ s)
1 1 s p p l l l t l x s γ − ⋅ + + (2.12) 1, 1 l sl sl P xl p y l γ − = = + = ⋅p y ywhere , . With (2.12), (2.7) becomes:
(
)
( ) (
) ( )
( )(
)
(
)
( )
[ ](
)
( )( )
(
)
(
)
[ ](
)
1 1 1 l l ext s l l l CD l s C P x p y x P x β ⋅ = + ⋅ = + ⋅ = + (2.13)here the extrinsic information derived from the channel decoding i
1 1 ˆ 1 1 1 1 , 1 1 1 , 1 , 1 1 , l l l l l l L l l l l l l l l s s ext s l l l l l l l l s s P x C s s s s C P x p y x s s s α γ β α γ + − + − − − − ∈Σ − − − ∈Σ = + = ⋅ ⋅ ⋅ = ⋅ = + ⋅ = + ⋅ ⋅ ⋅
∑
∑
Y W s [ ](
)
( )
[ ](
) ( )
( 1, ) 1 , l l l ext CD l l l s s P x s + − ∈Σ = + = 1 1 ext 1 l sl l sl sl α− − ⋅γ − ⋅β∑
(2.14)After the 1st decoding iteration, the a priori information is updated by the feedback of BSD: 1 S
(
)
[ ](
) (
)
1 ext 1 l SBSD l l P x = + ←⎡⎣P x = + ⋅P x = + ⎤⎦ (2.15)which also updates the branch metric:
(
)
(
)
[ ](
)
(
)
[ ](
1, 1 1 1 1 ext s ext l l l l SBSD l l l l 12γ
s− s =P x = + ⋅P x = + ⋅p y x = + ⋅γ
,sl)
l s− (2.16) Finally, the APP in (2.13) becomes:(
ˆ)
(
)
[ ](
)
(
)
[ ](
)
1 1 L 1 ext 1 s 1 ext l l SBSD l l l CD l 1 x = + Y = ⋅C P x = + ⋅P x = + ⋅p y x = + ⋅P x = + (2.17)ing
In this section, the softbit source decoding (SBSD) algorithm [3] is dev o
dge (AK1) source information. To proceed with this, the index transition probabilities | are calculated in advance by a
ge amount of training data. The index-level APP is derived as follows:
P
§2.3 Softbit Source Decod
el ped to exploit the 1st-order a priori knowle
lar
(
) (
)
(
)
(
)
2 1(
)
(
)
1 1 1 1 0 M t t t t t t j C p i P i j P j − − − − = = ⋅ u u = ⋅∑
u = u = ⋅ u = U where 1 1 T t t t P u =i U =P u =i U (2.18) 1 1 , t t t P i − = u = U u(
)
M(
( ) ( )
)
{t 1} t t t t m i p u u = =i∏
p u m u m = = u (2.19)derived from the product of bit-level channel-related information under a memoryless channel assumption. Since channel decoding is performed before SBSD, we can combine its extrinsic information with a priori information as follows:
is
(
)
(
)
[ ](
( )
)
{ } 1 1 1 t M ext t t t t CD t m i P i − j P i − j P u m = = ⎡ ⎤ ⎢ ⎥ = = ←⎢ = = ⋅ ⎥ ⎢ ⎥ ⎣ ⎦∏
u u u u u (2.20) Then (2.18) becomes:(
)
(
( ) ( ))
[ ](
( ))
(
)
(
)
{ } 2 1 1 1 1 1 1 0 1 M t M ext t t t t t CD t t t t j m i P i C p u m u m P u m P i j P j − − − − = = = (2.21)Similar as the case of channel decoding, our next task is to find the SBSD’s xtrinsic information that can be fed back to channel decoder. At this po nt we
that the SBSD algorithm is index based, which differs from the bit-level channel
= = ⋅
∏
⋅ ⋅∑
= = ⋅ =u
u U u u u U
must compute the marginal APP of a specific bit using the index-level APP in (2.21). Additionally, we classify the input of channel decoder
to bit-level channel-related information | 1 , which corresponds to de-interleaved | 1 , and bit-level a priori information 1 , wh
decoder. Therefore, we
in
ich corresponds to de-interleaved 1 . The next step is to express the bit-level APP in terms of bit-level extrinsic information of SBSD and CD:
( )
(
)
(
)
( ) ( ) ( )(
)
(
( ) ( ))
[ ](
( ))
( ) ( )(
)
[ ](
( ))
(
[ ]( )) (
)
( ) ( )(
( ))
(
( ) ( ))
2 1 1 M ext t t m CD t P P u λ λ λ λ − =+ = ≠ ⋅ ⎪⎭ + ⋅ = + ⋅ u u other bits 1 , … , 1 , 1 , … , : [ ](
( ))
1 1 : 1 1 1 1 1 0 : 1 1 1 1 1 1 1 1 t t t t T t t t u ext t t t CD t M ext t t t CD t t j u m ext t t t SBSD P u P C P u p u u P u p u m u m P u m j P j C P u p u u P λ λ λ λ λ λ λ λ λ =+ − − − = = + = = ⋅ = + ⋅ = + ⋅ = + ⋅ ⎧ ⎫ ⎪ ⎪ ⋅⎨ ⋅ = ⋅ = ⎬ ⎪⎩ ⋅ = + ⋅ =∑
∑
∏
∑
u u U u U u U [ ]ext(
ut( )λ = +1)
(2.22)In the above equation, we assume independency of bit and
[ ]
( )
(
)
(
(
( )
1)
)
1 1 t t ext t t t P j P j P u λ λ − − = = = + u u u u (2.23)where , . We also define the extrinsic information of SBSD: [ ]( ( ) ) ( ( ) ( )) [ ]( ( ))
(
[ ]( ))
(
)
( ) ( ) 2 1 1 1 1 0 : 1 1 1 M t t Mext ext ext t
SBSD t t t CD t t t t j u m P u p u m u m P u m P j λ λ − λ − − − = =+ = = + ∑ ∏ ⋅ ⋅∑ = u u u u U 1 (2.24) m j P λ ≠ = ⋅
Then (2.24) is fed back to channel decoder input as the term 1 in (2.15).
t
v
u
tx
ly
ly
lFigure 2.1: Block diagram of bit-based transmitter
Figure 2.2: Block diagram of bit-based receiver
(
s)
l l p y x ( ) ( )(
t t)
p u λ u λ(
p p)
l l p y y ( )l P x(
t t1)
P u u− [ ]ext ( ) CD l P x [ ]ext(
( ))
CD t P u λ [ ]ext(
( ))
SBSD t P u λ [ ]ext ( ) SBSD l P x(
1)
T t P u U t v( )
ˆ 1 L l P x Y 00 11 10 01 00 11 10 01 [+1/(+1,+1)] [-1 /(-1 ,-14 1)] [-1/(-1,+1)] 1 l s− sl l + ∈Σ l − ∈Σ l xFigure 2.3: An example of code trellis
Equation Chapter 3 Section 1
Chapter 3
Index-Based Iterative Source-Channel Decoding
When using the bit-level ISCD, there are two shortcomings in compatible
conversion between bi ng decoding process.
One is the multiplication of bit-level APP fter channel decoding algorithm. Another is the independence assumption between a particular bit and other bits within the me index when deriving extrinsic information for SBSD. A better solution is to
ess operates at the index level.
CJR algorithm in a way that only ation is involved. In our previous work [7], a modified BCJR
proposed to estimate index APP for source-controlled channel ecoding. The basic strategy is to sectionalize the channel code trellis and utilize urce residual redundancy. We now wish to develop a new ISCD algorithm that
Due to the existence of an interleaver, the bit sequences entering the channel coder will no longer have correlation, and therefore we simplify the modified BCJR alg
ure 2.1. An index-based only perm
t-level and index-level information duri a
sa
develop a consistent decoding proc
To accomplish this goal, we need to modify the B index-level inform
algorithm has been d
so
exchanges extrinsic information at the index level.
de
orithm without the use of residual redundancy. Besides, we will use the index-based interleavers which do not scramble the bit order within an index.
§3.1 System Implementation
Consider the index-based transmitter shown in Figure 3.1, where only the index-based interleaver is different from the bit-based interleaver in Fig
utes the order of different indexes, but never changes the order of bits within each index. Therefore, after interleaving, a sequence of indexes will
16
appear in a memoryless form. We denote such an interleaved and memoryless index sequence as:
(
)
1 1, 2,..., τ,..., Τ= X x x x xΤ , xτ =ut, τ =1, 2,...,Τ (3.1)The basic structure of the channel encoder remains unchanged. We only need to change the viewpoint of how to encode the input signals. Here we focus our iscussion on the (n,1) – RSC code. Let (n,1)→(Mn,M), the code rate remains the
channel encoder output: d
same and therefore we define the index-level
{
}
ˆ , ,..., ,..., Τ ˆ 1 = 1 2 τ Τ Y y y y y ,{
,} {
,}
, 1, 2,...,ˆ s p p τ = τ τ = τ τ τ = Τ y y y x y (3.2)where and correspond to systematic and parity output, and the length Τ includes Τ indexes and termination redundancy. Specifically, contains M bits and contains 1 · bits. Transmission over an AWGN channel is still at bit-level and the bits within each output are still in bipolar form ( 1, 1 ).
At the receiver side, we must first transform the bit-level channel information into its index-level version. Since an AWGN channel is memoryless, the channel-related information (2.3) and (2.4) of different bits are independent. The index-level
channel-related information of systematic and parity parts of encoder output are expressed in terms of index-level channel transition probabilities:
(
)
1 2 exp M s Es s p ⎛ ⎞ 0 2 noise N τ τ πσ τ τ ⎡ ⎤ =⎜⎜ ⎟⎟ ⋅ ⎢− − ⎥ ⎣ ⎦ ⎝ ⎠ (3.3) y x y x(
)
( 1) 2 0 1 exp 2 n M p p s p p noise E p N τ τ πσ τ τ − ⋅ ⎛ ⎞ ⎡ ⎤ =⎜⎜ ⎟⎟ ⋅ ⎢− − ⎥ y y ⎝ ⎠ ⎣ y y ⎦ ndex-level, resulting in iterative decoding process. Decoding(3.4) where /2 is the variance of noise and · is the norm function.
Figure 3.2 shows the block diagram of the receiver. While the basic structure of receiver is similar to the bit-based version, the information exchanges between constituent decoders are performed at the i a more consistent
process is modified as follows: 1. Set 0,
the modified BCJR algorithm based on a sectionalized trellis and calculate the index-level extrinsic information and index-level APP . De-interleave to obtain for use in softbit source decoding.
2. Pass channel-related information | , and index-level a
priori information to channel decoder’s input. Perform
3. De-interleave and use the MMSE algorithm to compute the conditional mean for the parameter :
(
)
(
)
2 1
ˆ 1 0
after channel decoding
M t i v P τ i − Τ = =
∑
x = Y ( )( )
interleaved position of t t v i τ= ⋅ (3.5)where is the codebook value of index i. We then calculate the defined as th
th
el-ion
e softbit source decoding algorithm and calculate the index-level orm
5. Use to compute the conditional mean for the parameter :
parameter-to-noise ratio, which is e performance at the ( )-th iteration. If e improvement is less than a preset threshold, stop process; otherwise, go to step 4.
4. Pass de-interleaved chann related information | and index-level a
priori informat | to softbit source decoder’s input.
Perform th
extrinsic inf ation and index-level APP . Interleave to obtain for use in channel decoding.
(
)
2M 1(
)
( )
t t v − at1 and return to step 2. 1 0
after source decoding T t
i
P i v i
=
=
∑
u = U ⋅(3.6)
The resulting parameter-to-noise ratio is defined as the performance the ( 1)-th iteration. If the improvement is less than a preset threshold, stop process; otherwise,
18
y channel decoder to m
index at each time. We proposed to merge the bit-level channel output by regarding M
entering the channel encoder, we must build an M-stage merged trellis diagram of
s
example, where two bits of the trellis code ad
become four-in-four-out. If we merge more bits within an index, parallel transitions r.
merge M bits into an index, parallel transitions will occur while M .
The conventional BCJR algorithm must be modified to deal with the increased branch number and parallel transitions. From another perspective of viewpoint, we identify
parallel transi
an unique input index value and an unique output . Our new algorithm
splits t rd, and b ing specific index value
ecoder not to suffer from parallel transitions; however, it also needs to multiply metrics and increases the storage me
§3.2 Modified BCJR Algorithm
It is necessary to modif ake the decoding to perform on an
consecutive bits as an unit. Since a state transition occurs in accordance with each bit
RSC code, which is called “ ectionalized trellis diagram.” Figure 3.3 shows an diagram is merged. Note that all states h
may occu Specifically, the constraint length of RSC code is and the goal is to
a transition branch according to the input index value. Although many tion branches exist between fixed states, each branch still corresponds to
he forward, backwa ranch metrics by add notation for different input . This makes d
mory. Starting with the a posteriori probability (APP):
(
)
(
)
( )
(
)
ˆ 1 ˆ ˆ 1 ˆ 1 1 , , , , s s P i s P i C P i s P τ τ τ τ τ τ τ Τ Τ Τ Τ = = =∑
x Y = ⋅∑
= x Y x Y Y (3.7)the value i takes from 2 different possibilities. Here the summation is performed through all states rather than the transition set , Σ , since the latter may contain repetitive elements. The joint probability term can be split into:
(
)
(
)
(
)
( ) ( )
ˆ ˆ 1 1 1 , , , , , , i i P i s P i s P i s 1 s s τ τ τ τ τ τ τ τ α β Τ Τ + = = = ⋅ = ⋅ x Y x Y Y x Y τ (3.8) τ τ τ τwhere and represent forward and backward metric, respectively. We can further derive the recursion formula:
( )
(
)
(
)
(
)
(
)
( ) (
)
1 1 1 1 1 , , , , , , , i s j s P i s P i s j s τ τ τ τ τ τ τ τ τ τ τ α − − − − = = =∑∑
= = x Y x x Y y 1 1 1 1 1 1 1 1 1 1 1 1 , 1 , , , , , , , , s j j i j s j P j s P i s j s s s s τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ α γ − − − − − − − − − − =∑∑
= = =∑∑
x Y x y x Y y (3.9) 1 τ − and 1( )
1( )
,(
, , 1)
i j j i s j s s s s τ τ τ τ τ τ τ τ β − − =∑∑
β ⋅γ y − (3.10)Both recursions utilize a common term , , , , which is the branch metric t time instant . Furthermore, we have:
a
(
)
(
)
(
) (
)
(
)
(
)
(
) (
)
, 1 1 1 1 1 1 1 1 1 1 1 1 , , , , , , , , , , i j P P s i j s P s i j s P i P s i s P s i τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ γ − − − − − − − − − = ⋅ = = ⋅ ⋅ = = ≈ = ⋅ = ⋅ = y Y x x Y y x x Y x x y x (3.11)mplicit in this equation we assume that interleaved indexes are independent and channel is memoryless. The term is the a priori probability of , which can be computed in advance by a training data. The term | , is a
h indicator function, which has a binary form as follows: 1 1 1 1 1 1 , , , , , , , s s i s j s P i j s τ τ τ τ τ τ τ τ τ τ − − − − − = = = = = x y x Y x x I branc
(
)
(
1)
1 1, , , 0, s S i s P s i s otherwise τ τ τ τ τ τ− − ⎧ = = = = ⎨ ⎩ x x (3.12)where , determines a specific branch corresponding to index i and previous state . In bit-based version of BCJR algorithm, we had ignored this kind of indication, since the bit-based trellis structure was relatively simple. However, such a branch indication becomes crucial for grouping the propagated branches. In order to
void chaos as M grows large, this branch indicator function eliminates m
unnecessary branches when we focus on index i. The last term | , is the received channel-related information in (3.3) and (3.4). With the above
a ost of
representation of branch metric, recursion formula can be simplified as follows:
( )
(
)
(
)
( )
(
)
1 1 1 , , i j s j 1 s P i P s i s P τ τ τ τ τ τ τ τ τ α α − − − ≈ x = ⋅ y x =∑∑
⋅ sτ xτ =i sτ − (3.13)20 1
( )
1( ) (
)
(
, 1) (
,)
i j s j s s P j P s j s P s j τ τ τ τ τ τ τ τ τ τ τ τ β − − ≈∑∑
β ⋅ x = ⋅ x = − ⋅ y x = (3.14) Same as Chapter 2, the next task is to determine an index-based version of extrinsicilarly
information. Sim , we extract the intrinsic parts of branch metric:
)
(
)
(
(
) (
)
(
)
(
)
[ ](
)
, 1 1 , 1 , , , , , , i j ext s i j s s P i P s i s P s i P i P i s s τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ γ γ − − − = = ⋅ = ⋅ = = ⋅ = ⋅ x x y x x y x y (3.15) where y [ ](
)
(
)
(
)
, , , 1 , 1 , ext p i j τ s sτ τ P sτ τ i sτ P τ sτ τγ
y − = x = − ⋅ y x =i contains only the information of parity output corresponds to input i and an unique state transition. By substituting (3.15) into (3.9) and (3.8), we have the rela(3.16)
tion etween APP and extrinsic information:
b
(
)
( ) (
) ( )
( ) (
)
(
)
(
) ( )
(
)
[ ](
)
[ ](
)
1 1 1 i j, , , 1 s s j ext s CD C s P i P i s s s C P i P i P i τ τ 1 ˆ 1 1 1 , , , 1 j i i j s s j ext j s i P i C s s s s τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ α γ β − − − − = ⋅ ⋅ = ⋅ = ⋅ ⋅ ⋅ = ⋅ = ⋅ =∑∑∑
x y x y x y x x (3.17) α γ β − Τ − − − = = ⋅∑∑∑
x Y ywhere the channel decoder extrinsic information corresponds to input i at time instant is: [ ]
(
)
( )
[ ](
) ( )
1 1 1 , , , 1 ext j ext i CD i j s s j P i s s s τ τ s τ ατ τ γ τ τ τ βτ τ − − − − = =∑∑∑
⋅ ⋅ x y (3.18) ollowing the structure of iterative decoding, the a priori information
F is
equal to the feedback of SBSD’s extrinsic information. During decoding process, we will update :
(
)
[ ]ext(
)
SBSDP
P xτ = ←i xτ =i
This is different from the discussion in Chapter 2, where the bit-based algorithm ultiplies the bit a priori information 1 to the feedback extrinsi
1 . The main reason is that for the computation of 1 , the term 1 was considered as intrinsic information and was separated from
redundancy (which will be discussed later). There is a conflict between probabilistic eaning of and , and therefore utilizing both rms
same time will lead to information reuse and serious performance degradation. Thus .
m c term
extrinsic term. Here, however, extrinsic information of SBSD is obtained from source
0th-order source redundancy will result in a better performance at the 0th-iteration. With a priori information replaced by the feedback term, the updated
ranch metric and APP output of channel decoder can be modified as follows:
we may set 1/2 at the initialization step. Initiating = b
(
)
(
)
[ ](
)
[ ](
)
, , , 1 , , , 1 ext s ext i j τ s sτ τ PSBSD τ i i j τ s sτ τγ
y − = x = ⋅ = ⋅γ
y − (3.19) i P y xτ τ(
ˆ)
[ ](
)
(
)
[ ](
)
1 ext s ext SBSD CD i C P i P i P τ = Τ = ⋅ τ = ⋅ τ τ = ⋅ τ x Y x y x (3.20)§3.3 Softbit Source Decoding
In Chapter algor dified to fit the bit-based system and the derivation of extrinsic information was complicated. Furthermore, the independence
assumption of e same index in (2.23) was not
te and may cause performance degradation.
In this chapter, inputs of both decoders are raised up to the index level, and therefore the compatible transformation between bit and index no longer exis
P x =i
2, SBSD ithm was mo
bit with other bits within th appropria
ts. The new derivation of BCJR algorithm over sectionalized trellis allows the SBSD to retain
s original form. The intrinsic-extrinsic separation can be directly applie to
Since the SBSD algorithm often operates “after” channel decoding, we first define the priori information update:
it d (2.18). a
(
)
(
)
[ ](
)
1 1 ext t t t t CD t P u =i u− = j ←⎡⎣P u =iu − = j ⋅P u =i ⎦⎤ (3.21)een APP and extrinsic information can be
Substitute (3.21) into (2.18), the relation betw revealed:
(
)
(
)
(
)
[ ](
)
(
)
(
)
[ ](
)
(
)
(
)
(
)
[ ](
)
[ ](
)
0 j ext ext t t CD t SBSD t C p i P i P i = ⋅ u u = ⋅ u = ⋅ u =Now the extrinsic information of SBSD becomes:
[ ]
(
)
2 1 1 1 1 1 1 0 2 1 M M ext t t t t t t t CD t t j ext t t CD t t P i i P i j P i j C p i P i P − − − − = − = = = ⋅ = = ⋅ = = = ⋅ = ⋅ = ⋅∑
∑
u U u u u u u u U u u u u 1 1 1 1 t t t C p P i − j P − j − ⋅ ⋅ = u = ⋅ u = U (3.22)(
)
(
)
2 1 1 1 1 1 0 M ext t SBSD t t t t j P i P i j P j − − − − = = =∑
= = ⋅ = u u u u U (3.23)22
recursive formula, which is updated by APP of index at time t-1. This term is also fed r as updated a priori information.
back to the input of channel decode
t
v
u
tx
τy
τy
τFigure 3.1: Block diagram of the index-based transmitter
(
s)
p y xτ τ(
t t)
p u u(
p p)
p y yτ τ(
t t 1)
P u u− [ ]ext( )
CD P xτ [ ]ext( )
CD t P u PSBSD[ ]ext( )
ut [ ]( )
( )
(
or)
ext SBSD P P τ τ x x(
1)
T t P u U t v(
ˆ)
1 P x Yτ Τ1 l s− xl sl xl+1 sl+1 l + ∈Σ l − ∈Σ
(a) Bit-level trellis diagram 1 sτ− xτ sτ 0 τ ∈Σ 3 τ ∈Σ 2 τ ∈Σ 1 τ ∈Σ (b) Sectionalized trellis diagram
24
Equation Chapter 4 Section 1
Chapter 4
Index-Based ISCD Algorithm in Log-Domain
Log-likelihood ratio (LLR) or log-value (L-value) implementation is widely used for simplifying the bit-based iterative sou s [13]. In this section we would like to transform the ind
from probability domain to log-domain. The main reason is that contains M bits and therefore, at least M probability term ust be multiplied together to obtain the index-based information, e.g. (3.3) and (3.4). This will result in numerical precision problem when the algorithm is implemented with finite word-length on a digital
mputer.
ased system involving a binary signal 1, 1 , then its s:
rce-channel decoding system
ex-based iterative source-channel decoding
s m co
§4.1 Log-Likelihood Ratio
Consider a bit-b L-value is defined a( )
(
)
(
(
( )
( )
1)
)
log 1 t t P ut λ P u L u λ = λ = + = − (4.1)where log represents the natural logarithm. We can deduce that bit-based L-value erges two probabilities in to a single ratio without losing any information. Moreover, all
preserve all information of these probabilistic terms. Therefore, an index-based m
common terms will be cancelled out after the division. Another advantage is that all multiplication has been changed to addition, which is a very good property for circuit realization. However, for index-based system discussed in Chapter 3, we focused on index 0,1, … , 2 1 with 2 realizations. There are more than two probabilities corresponding to each index. A single L-value is insufficient to
L-value has been proposed in [14] as follows:
(
)
(
)
log(
)
, 1, 2,..., 2 1 0 t M t t P u =i L i i P = = = − = u u (4.2)which reduces one probability term and enjoys similar advantages as in bit-based case. mmarized in Figure 4.1. The information
ex R, which will be
. Notice that channel-related L-value term
is defined by applying (4.2) to (3.3). Since 1, 1 , can be implified as follows:
The final results of this Chapter are su
changes are performed in terms of their index-based LL discussed in subsequent sections s
(
)
(
)
(
)
(
)
(
)
2 2 0 0 0 s P y x =i and is th od 0 log 0log exp log exp
, 1, 2,..., 2 1 2 ch s s s s s i s s M c i L i P E E N N L i τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ τ = = = = = = = ⎧ ⎡ ⎤ ⎫ ⎧ ⎡ ⎤ ⎫ ⎪ ⎪ ⎪ ⎪ = ⎨ ⎢− − ⎥ ⎬− ⎨ ⎢− − ⎥ ⎬ ⎣ ⎦ ⎣ ⎦ ⎪ ⎪ ⎪ ⎪ ⎩ ⎭ ⎩ ⎭ ⎡ ⎤ = ⋅⎢ ⋅ − ⋅ ⎥ = − ⎣ ⎦ x x x x x y x y x y x y x y x (4.3)
where 4 / e dot pr uct of a real-valued vector and a binary vector . Since the computation of MMSE parameter estimate still needs the APP values at the end of decoding process, we define an inversion of L-value definition for channel decoder’s output:
(
)
(
)
2 ˆ 1 1 , 0 1 exp M i L τ j Τ ⎧ = ⎪ ⎡ ⎤ ⎪ + ⎢ = ⎥ ⎣ ⎦(
)
(
)
1 ˆ ˆ 1 1 2 ˆ 1 1 exp , 1, 2,..., 2 1 1 exp M j M j P i L i i L j τ τ τ = Τ Τ Τ = ⎪⎪ = = ⎨ ⎡ ⎤ = ⎪ ⎣ ⎦ = − ⎪ ⎡ ⎤ ⎪ + ⎢ = ⎥ ⎣ ⎦ ⎪⎩∑
x Y x Y x Y (4.4)which contains a normalization and is perform o decoding algorithms.
∑
x Yed at the end f both
§4.2 Modified BCJR Algorithm in Log-Domain
In previous work [11][15], log-domain BCJR algorithm is derived directly from conventional bit-based BCJR algorithm. In this section we will derive the log-domain modified BCJR algorithm by defining the log-domain forward, backward, and branch
26
metric. We begin with applying (4.2) to index APP in (3.7) and (3.8):
(
)
(
(
)
)
( ) ( )
( )
( )
ˆ 1 ˆ 1 ˆ 1 0 0 log 0 log , 1, 2,..., 2 1. i i s M s P i L i P s s i s s τ τRecognizing that summations cannot be performed directly in log-domain, we suggest to simplify the calculations by using the following equation (see Appendix A):
( )
τ τ τ τ τ τ τ τ τ τ τ α β α β Τ Τ Τ = = = ⋅ = = − ⋅∑
∑
x Y x Y x Y (4.5) max , log(
)
( )
(
)
a b a b e e ∗ ≡ + max a b, log 1 e− −a b = + + (4.6)where a, b are arbitrary real numbers. Since the summation includes 2 terms corresponding to all possible states of , we can apply max* function defined in (4.6)
sums of more than two exponential terms by:
to
(
)
(
)
( )
max∗ a b c, , ≡log ea + +eb ec =max∗⎡⎣max∗ a b c, , ⎤⎦
(4.7) where c is an arbitrary real number. Since the summands in (4.5) must be in
exponential form, we thus compute the natural logarithm of forward metric by:
( ) ( )
( )
(
)
(
)
( )( )
(
)
{
(
)
( )}
1
1
log log , log , exp lo
s j P i P i s P s i s τ τ τ τ τ τ τ τ − − 1 1 1 1 sτ j τ τ τ τ τ τ τ τ τ − − − − 1 1 log g
log log , max log , max
j j s s s P i P i s P s i s s τ τ τ τ τ τ α α α α − − ∗ ∗ i i ⎧ ⎫ ⎪ ⎡ ⎤⎪ = = + = + ⎨ = ⎣ ⎦⎬ ⎪ ⎪⎭ ⎡ ⎤ = x = + y x = + x = + (4.8) ⎩
∑
∑
x y x x ⎣ ⎦where we apply (4.7) twice for 2nd equality and
maxk f k
( )
max f( ) ( )
1 ,f 2 ,..., f K( )
, k{
1, 2,...,K}
∗⎡ ⎤ ∗⎡ ⎤ ∈
⎣ ⎦ ⎣ ⎦
Note that the L-value of branch indicator function is defined by
(
)
(
1)
1 0, , log , , s S i s P s i s otherwise τ τ τ τ τ τ− − ⎧ = = = = ⎨ −∞ ⎩ x x Similarly, we have the natural logarithm of backward metric:
( ) ( )
( ) ( )
(
) (
)
( ) ( )
(
)
(
)
{
1}
max log max log , log ,
j s j j P j s s P s j s P s j τ τ τ βτ τ τ τ τ τ τ τ ∗ ∗ − 1 1 1 1 1 log log , , i i j s s P j s P s j s P s j τ τ τ τ τ τ τ τ τ τ τ τ τ β β β − − − − − = = ⋅ = ⋅ = ⎡ ⎤ = = + ⎣ + = + = ⎦
∑
x∑
x y x (4.9)By applying (4.7) to (4.5), we also obtain the APP in terms of (4.8) and (4.9) as