Eindhoven University of Technology
MASTER
Reducing the complexity of a sequential coding algorithm for convolutional codes, by using the class L2,V,L
Oerlemans, A.C.M.
Award date:
1982
Link to publication
Disclaimer
This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration.
General rights
Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
'~~~--~._'''-::~'n ~',~'-:~~~:';:-I7;;L;'\:'/./')-/
\
T~ChN\~J'~ r,~:.~· ~': ,~'~~VI' Ej ...Jnv\.i~
) STUr ...~, r-,I I(~ ~ ,'r-r;:,( .~
~ ,~~•• I.. L...l~ l~·_....· l
1 £L,~.~,(ll'j-~?.....=.~.;.:..j ( i1
'~_'~-"""""'~"''''''''''.'-'''I-.__"-_""",,..,c, ....,...---=~::::~~··
Eindhoven University of Technology Department of Electrical Engineering.
Reducing the complexity of a sequential decoding algorithm for convolutional codes, by using the class L~ L.
c:..,V,
Graduate report by A.C.M. Oerlemans
Group Information and Communication Theory E.I.
Prof. dr. ire J.P.M. Schalkwijk
coached by dr. ire A.J. Vinck
period: august 1979 - august 1980.
Contents.
Chapter I. Introduction.
Par. 1.1. Tree structure of convolutional codes.
Par. 1.2. Fano metric.
Par. 1.3. Two possible decoding schemes.
• •• •• 1
• •••• 2
• • • • .3
• •••• 7
Chapter II. Fan0 algorithm for binary rate "21
convolutional codes. •••• 12
Par. ILL In tro duc tion. • ••• 12
Par. 11.2. Algorithm. • ••• 12
Chapter III. A special class of binary rate ~ convolutional codes.
Par. 111.1. Definition.
• ••• 21
• ••• 21 Par.
Par.
Par.
Par.
111.2. Properties of the class L2,v,L.
111.3. Modified algorithm.
111.4. Decoding the tail.
111.5. Error probability for the modified algorithm.
• ••• 21
· .. . 25
• ••• 28
. •.. 30
Chapter IV. The computation problem.
Par. IV.l. Distribution of computation.
Par. IV.2. Two important distance parameters.
Par. IV.3. An algorithm for the determination of dfree•
•••• 34
•••• 34
•••• 37
•••• 38
Chapter V.
Par. V.I.
Par. V. 2.
Par. V.3.
Appendix A.
Appendix B.
Abstract.
Results and conclusions.
Introduction.
Simulation of the Fano decoding algori thm.
Conclusions.
• ••• 40
• ••• 40
• ..• 43
• ••• 67
• ••• 68
• ••• 70
•••• 71
Acknowledgements.
I. Introduction.
Convolutional codes can be used in communication systems to protect information against transmission errors.
Various algorithms for decoding convolutional codes have been developed. All algorithms have their own advantages and disadvantages. Viterbi's algorithm for instance requires a large memory necessity, proportional to 2 ~ with V the
constraint length of the encoder. A small memory necessity is the main advantage of Fano's algorithm. However with this algorithm the computation time per decoded bit is variable.
Especially in periods of high channel noise the computational effort of the decoder is large.
At the Eindhoven University of Technology, section information and communication theory, researches are made into the behaviour of classes of convolutional codes.
Vinck [1] uses a class of codes that reduces the computational complexity of a stack decoder. It is the aim of this study to investigate the reduction in computational complexity for a sequential decoder. Our special interest goes to the Fano algorithm and the implementation of the class within it.
A convolutional encoder is a linear sequential
k-inputs, n-outputs machine. The input-output relation can be described by means of a k * n polynomial generator matrix G(D). A specific example of a l-input, 2-outputs, or rate t,
convolutional encoder is given in Fig. 1. Two modulo-2 adders are connected to different stages of a shiftregister.
i(D)
Fig. 1. Rate i convolutional encoder.
The term D between brackets denotes the delay operator [4].
Where obvious it will be omitted. The generator matrix for the encoder of Fig. 1. equals
G(D) = ( gl (D) , gz<D)
= ( 1 + D + D2 , 1 + D ).
The input-output relations are given by
Cl(D) =i(D)gl(D)
C2(D) =i(D)g2(D).
A time dependent description of the input-output relations can be denoted by
cl(t) = i(t) ~ i(t - T) ~ i(t - 2 T) c2(t) = i(t) ~ i(t - T)
where ~ means, modulo-2 addition. We have assumed that every T seconds an input digit is offered to the encoder and 2 output digits are released. The constraint len~th V of the encoder is the number of shiftregister stages. For the encoder of Fig. 1.
it equals 2. The constraint length indicates the maximum number of output pairs influenced by one input digit.
I. 1. Tree structure of convolutional codes.
We define the state of the encoder to be the binary representation of the contents of the shiftregister. Assume that at time t =0 the encoder is in the zero state. Every T seconds the data shifts one stage further into the shiftregister while a new input digit is offered to the encoder. As we can offer a "0" or a "1" as input digit, the encoder can reach 2 new states out of the original one. The input-output relations are now easily represented by means of a binary tree. We attach the
state of the encoder to a node. The two diverging branches correspond to input digits "0" and "1", respectively. Along these branches we put the output digits. Note that the output digits only depend on the state of the encoder and on the input digit. In Fig. 2. the tree corresponding to the encoder of Fig. 1. is sketched.
I I I
•I
o
, 1' ,,
,
1 1 'O-1--€J}---
Fig. 2. Code tree of the encoder of Fig. 1.
As the number of nodes at depth J In the tree equals 2j , a decoder that uses the tree structure of the code, has to do this in a clever way in order to avoid exponential complexity.
In this respect the Fano algorithm is a very useful one.
I. 2. Fano metric.
We assume the data leaving the encoder to be transmitted over a binary symmetric channel ( B.S.C. ) with crossover
probability PBSC ' i.e. a transmitted digit is correctly received with probability 1 - PBSC ' see Fig. 3.
o
1 - p
sse
1 - p
sse
o
1
Fig. 3. Representation of a binary symmetric channel.
The decoder tries to give a best fit estimation of the actual information sequence, according to some quality or metric criterion. In our case we use the Fano metric for binary rate t
random tree codes, defined as
n=l
(1 )
where each information sequence i, 0 ~ i ~ M - 1, is supposed to be encoded into a code sequence xi of length N.• After
~
transmission the code sequence is received as the sequence £.
Massey [5] ,ten years after Fano introduced this metric, shows that (1) is optimal. His proof is given below.
Let a binary information source generate independent digits with pr (0) = Pr (1) =t. The information sequence is encoded with a rate t binary tree code. The binary code digits along the branches of the tree are also independently generated with Pr (0) =Pr (1) =t. So codeword ~i is chosen with probability
After the N i
i binary digits of x a random tail of N-Nidigits follows the codeword in order to make all codewords of equal length. The decoding error probability will be minimized [7]
if the decoder selects that codewords xi for which the
condi tional pro babili ty p(~i sent \ r received) is maximum for all i. Using Bayes rule, we may also maximize,
N. N
J.
II P(r j I i II p(rj)
Pi x
j)
P(!: I ~i) Pi j=l j=N.+l
J.
=
p(!:) N
II p(rj) j=l
Ni
II P(r. I i
Pi x
j)
J
j=l
=
N.J.
II P(r. ) j=l J
N.J. i
P(r j I xj)
-N.R II
= 2 J. (2)
j=l p(r j)
Here P(r. I x~) = P(n
j) is the transition probability of the BSC
J J . i
and is equal to PBSC if r j ~ x~ and equal to l-PBSC if r j = x j ' respectively. Taking logarithms leads to the following expression to be maximized,
N.
Lf(!.\!:) = IJ.{2l0g ( p(r
j I x~)) - 2log ( p(r j ))}- NiR j=l
N.
= IJ.{2l0g ( p(nj )) + 1 - R}
j=l
N.
= IJ.{2l0g
j=l
( P(n.))
J
because P(r.) =t and R =t. Example 1 immediately shows us how to use this metric.J
Example 1: Assume PBSC = 0.02, we then find,
21og(l-0.02) ,
0.47::::0.5 if i 0
+ 2" = xj =r. or nJ j =
21og( 0.02) + ,
-5.14:::: -5 if i
of 1.
";[ = xj r. or nJ j =
The metric increments or decrements along a branch, also called branch likelihoods, are, dependent on the noise digits along the branch,
M(OO) =0.5 + 0.5 =1 if n =
(g)
M(Ol) =M(lO) =0.5 - 5 =-4.5 if n =(~) or n =(~)
M(ll) = -5 -5 =-10 if n =(i) •
We scale the branch likelihoods into integer values by multi- plying by 2.
If we define the metric of the root node to be zero, we find the metric of every other node by adding the branch likelihood to the metric of the foregoing node. The noise digits along the branches are easily found by, £ = ! ~ !i. Supposing
the first 3 received data pairs to equal (~)(i) (g) we can redraw the tree of Fig. 2., see Fig. 4. Along the branches we indicate the noise digits and in the nodes the metric values are given.
, 1 -11-~
0
1
"o1 ......00"- ... -Oo-~-""-
"
o "-"- 00 -Ol-~-
"-
..
......
,,
...-'-0--{;lil- - - -
Fig. 4. Noise tree with corresponding metric values.
I. 3. Two possible decoding schemes.
In the classical decoding scheme the decoder works directly on the received vector sequence £, see Fig. 5.
Fig. 5. Classical decoding scheme.
The noise vector estimation for the determination of the metrics is found by
1\ "
n = iG + r
= (1 + i)G + n
An alternative decoding scheme is drawn in Fig. 6.
G(O>
sse
G-1 (0)
z
A.
I
decoding delay 1 - - - - * + + - - - +
dec oder
Fig. 6. Syndrome decoding scheme.
Here the decoder makes use of a syndrome sequence z. This syndrome sequence z is defined as
z ~ r HT
= (iG ~ £)HT
=n HT
where the matrix HT is defined by
(5)
GHT
= 0 and rank (RT
) > o.
Because of our modulo-2 addition RT
= (g2,gl)T, so that
If we assume that gl and g2 do not have a common factor we
-1 ( -1 -1 - 1 - 1
can find the matrix G = gl ,g2 ) such that gl gl @ g2 g2 = 1.
. (-l)T ( -1 -1
We also f1nd H = g2 ,gl ). The inverse to the received vector sequence is defined as
= i
where,
= i ~ e (6)
.1 -1
~ -1
e nl gl n
2g 2 •
Note that,
12
.1 [~ ~]
[gl_l g2] [gl g2 ]
= -1 • - 1 - 1 •
g2 gl g2 gl
Hence
( nl ,n
2) = (nl ,n 2) 1
2
[gl-l g2] Cl g2 ]
=(nl ,n2)
-1 -1 -1
g2 gl g2 gl
= (e,z)
= (7)
Now we define the noise vector estimation to equal
(8)
The classical decoder tries to find an estimation of the information sequence directly. The syndrome decoder tries to give an estimation of the message error sequence e first.
Afterwards an estimation 1 is given according to ~ = i + e + ~.
Note that it may take some time before the decoder in Fig. 6.
gives an estimation for an e-bit. Therefore the data sequence
£G-l
has to be delayed.
It is easily shown that I
2 + G-1G =HT(H-l)T. If we substitute this into (8) we find
1\ £HT(H-l)T
= eG +
A nO + G-1G)
= eG + - 2
= ~G + n + eG
= (~ + e) G + n
Comparing (4) and (9), and noting that the blocks marked decoder in Figs. 5. and 6. are equal, we can conclude the
1\ 1\
following. The code trees for i and e have equal noise vectors along branches where i ~ i =~ ~ e. So the Fano metric is also optimal for syndrome decoding. In the sequel we will always use syndrome decoding, unless another decoding rule is explicity mentioned.
In accordance with Massey [6] we denote the information and corresponding codevector sequence from time u up to vas,
i [u,v) (10)
£ [u,v) = (c , c +1'-u -u ••• c-v-1) = c [- u,J.) x -c [ .J,v) (lOa)
where u < j < v. The operator "x" offers us the possibility of concatenating two substrings. Furthermore a node at depth v is uniquely defined by
i [0,v-1] =(iO,il , ••• i v_l ) (11)
i[0,2)
£[0,2) Note i v-l rise
that in (10) bit i 1 is the input bit where as in (11) v-
is shifted into the encoder. So i[O,V_l] does not give to an output pair. For example the input sequence
= (1,1) in the tree of Fig. 2., gives rise to
=
((i),
(~)). Whereas i[o,l] is a node at depth two.II Fano algorithm for binary rate t convolutional codes.
II. 1. Introduction.
Convolutional codes can be seen as tree codes. Tree codes can be decoded sequentially, that is, a search for a possible path through the tree is done one branch at time.
Fano decoding is a method to decode convolutional codes
sequentially. If the decoder is located at a particular node, it will try to move forward along a branch stemming from it and thus reach a new node. This move is allowed if the metric of the entire path exceeds a certain threshold T • If it does
o
not the decoder may return to the preceding node if the metric there exceeds To. From there it will try to move forward along an alternate branch. If no forward or backward move is allowed, the threshold To is lowered by an amount T and again the decoder tries to move forward. Note that motion of any sort can only take place to nodes where the value of the metric exceeds the current threshold To. So the decoder moves forward and backward the idea being that only the most likely paths are goinG to be examined. Thus the average decoding effort is kept low. The memory necessity is also low because only one path at a time is searched. As the Fano decoder can give a decision before
searching through all possible paths, the algorithm is suboptimal with respect to the decoding error probability of a maximum
likelihood decoder [7] •
II. 2. Algorithm.
To give a more detailed view of the Fano algorithm some preliminary definitions are needed.
Definition 1. The path metric function of ern ") is v,J defined as
where, in Case of syndrome decoding,
1\ G
.£ro,j) = erO,j)
Iro,j) = Zro,j) (H-l)T
= .!:[O,j) HT(H-l)T
cf. formulas (1) and (8). The metric value of a node is defined to equal the path metric function of the path leading to it.
Furthermore a node is said to be tested if its metric value is compared with the current threshold T •
o
* *
Definition 2. A label c .,c. E 10,ll , is attached to J J
each of the two branches diverging from node e[O, j] , corresponding to table I.
TABLE I.
*
Values for cj•
e [. . 1)=
°
erj,j + 1) = 1. J, J +
T(e[O,j) * 0) ;> T(erO,j) *1)
°
1T(erO,j) * 0) < T(e[O,j) *1) 1
°
The branch with the highest likelihood gets label 0. If the likelihoods are equal, the branch corresponding to digit "0"
is labelled 0.
Definition 3. An inverse labelling function s(c~) attaches
* J
a digit "0" or "1" to label cn corresponding to table II.
J
TABLE II.
Values for s(c .).~
J
~
°
~ 1c. = c. =
J J
T(e[O,j) ~ 0) ) T(e[O,j) ~ 1)
°
1T(e[O,j) ~ 0) < T(e[O,j) ~l) 1
°
Fig. 7. shows us the corresponding labels and e-sequences.
When the data shifts one stage further into the shiftregister, the input and output digits are undefined. This invalid time interval E tends to zero.
interval J - 1 J j + 1
message
eW . )
correction eCO,j+1) e CO,j+2) I
aequence ,J I
I
)( * * I
label C"1J - I c·J Cj+1 II
I I I
valid: : data I .data validI Idata valid,
I E ~ time
I ....--- I
•
I
Fig. 7. Timing diagram.
The decoding strategy realized is described ~ith the help of Fig. 8., which is closely related to Jelinel-<:s flowchart [ 2 ] •
START
I
T : =0 It 1
o cJ,:=O
j :=1
.. •
no
II
~ no
...
yes
n o / ~s
~'---j~1 ~
e [O,j+1)=e[O,j)
~ s(CJfj) Y~I """ Tee [O,j-1) ~ To
.
I
j=j-1 I(A)
no
T .. To 0- t 1
( B)
no ALREADY
TESTED ?
( C) •
j=j+1
yes
(D) ...
cj:=Oit no
yes READY?
STOP
I
Fi~. 8. Flowchart of Fano's algorithm.
When the decoder is located at e[n .) it tries to move u,J
forward to e [n .) * s(c~) along arrow (C) or (D). The move takes
U, J J
place if the uath metric function there is not less than T • If
~ - 0
the newly reached node was never tested before the current threshold T is thightened (arrow (C)), that is,
o
Here l QJ is the largest integer less than or equal to Q. The threshold T remains unchanged if the node was tested before
o
(arrow (D)). Thightening now would cause looping. If a forward move is not allowed because T( e[
° ")
* s(c~)) < T the decoder,J J 0
looks backward. If the metric at the preceding node exceeds To, there is a possibility that some path out of e[O,j _ 1) lies completely above To. The decoder will examine this by receding to e[O "_".Such a path, if i t exists, has to be the one including
,J.J..J * * *
the branch s(c. 1 + 1), Therefore c. 1: = c. 1 + 1. Note
J - J - J -
that this branch only exist i f c~ 1 + 1 < 2, due to the fact J -
that we are dealing with a binary tree. If T(e[O,j) * s(c~)) and
T(e[O' 1)) are both less than T , there is no way to save T
,J - 0 0
and the decoder lowers To by T • Then i t stays located at e[O,j) (arrow (B)). Starting with the most likely branch, c~ = 0, i t
J
tries to find a path that lies completely above. To - T • Note that if j =1 the decoder is not allowed to move backward.
now would mean that the decoder would leave the tree, is decremented. An example, showing the different actions, Receding
hence T o
is sketched below.
Example 2. Suppose we use the convolutional encoder with polynomial generator matrix G(D) = (1 + D+ D2
, 1 + D2 )
to encode the message sequence i[1,6) = (1,0,1,0,0). The
corresponding codevector sequence is transmitted over a B.S.C.
with PBSC = 0.045, and affected by noise. We find,
i[1,6) = (1,0,1,0,0)
£[1,6) = ((i) , (~) , (g) , (~) , (i))
(( 10)
£[1,6) =
£[1,6) = ((~) , (~) , (~) , (~) , (i))
and further, because G-l(D) = (D , 1 + D)T,
-1 (1,1,0,1,0)
£[1,6)G =
T z[1,6) = r[1,6)H
= (1,0,0,1,1)
( -l)T ((~) , (i) , (g) , (~) , (~))
z[1,6) H =
e [1,6)
= (0,1,1,1,0)
Because 0four assumption that PBSC =0.045, we find for the branch likelihoods,
H(OO) = 2 if £ = (g)
M(Ol) =M(lO) = -7 if n = (~) or n = (~)
M(ll) = -16 if n =
(i)
In Fig. 9. we have depicted a part of the noise tree, for the message error correction sequence estimates, together with the branch labels. The noise digits along the branches are found by ~ = ~G + z(H-l)T.
I
+
, - L - _ - - ' "
",c*2=0
00',
' ..r - - - ,
, *,c -=1
,1 01 ,
\
\ ,
,
""c, 2*= 1 1 0 , ,
'ill
d
=0
-... -... c*-= 1 ...4
10 -...~
Fig. 9. Noise tree with branch labels.
In Fig. 10. we have given the path likelihoods as a function of the depth in the tree, for some paths.
3 6 2
---k:---_ _.L...-_ _...l...-_ _---->- l - -_ _....L-- -+ J T(e(o' )
)J ) 1
- 8
-1 6
-24
J
~
9
Fig. 10. Metric diagram for noise tree of Fig. 9.
For threshold step .z; = 4, the decoder actions are given in Table III.
TABLE III.
Decoder actions for tree of Fig. 9.
location action violate
action violate action T j c. arrow*
T T 0 - J
0 0
root look YES decrement -4 1 0 B
at a T
0
root look YES decrement -8 1 0 B
at a T
0
root look NO go to -8 2 0 D
at a a
a look NO go to -8 3 0 C
at b b
b look YES look NO go to -8 1 1 A
at c at a a
a look YES look NO go to -8 2 1 A
at d at root root
root look NO
.~ I~ go to -8 2 0 C
at e e
e look YES look NO go to -8 1 2 A
at f at root root
root ci {l = 2 ~ I~ decrementT0 -12 1 0 B
root look NO go to -12 2 0 D
at a a
a look NO go to -12 3 0 D
at b b
b look NO go to -12 4 0 D
at c c
c look YES look at NO go to -12 3 1 A
at g b b
b look NO go to -12 4 0 C
at h h
h look NO go to -12 5 0 C
at i i
i look NO go to -8 6 0 C
at j j
Note that the decoder finds '8'[1,6) = (0,1,1,1,0; as "best fit"
message error correction sequence estimate. As ell 6) = ell 6)
1\ 1 \ "
i t also finds i[l,6) = i[1,6) ijj e[1,6) ijJ e[1,6) = i[l,6). So the actual encoded message sequence i[1,6) is found back.
From theorem 1, i t follows what calculations the decoder has to perform, in order to know whether a node has been tested before. It prevents us from having to store all investigated nodes.
Theorem 1. Given a forward decoder move from e[ ") to o,J e [O,j + 1) , the current threshold To only has to become thightened i f the threshold of e[O,j) is thight, i.e. if To =~ lTCe[O,j))/ ~ J
The proof of theorem 1 is given in appendix A. Of course we may also state that, if,
we are not allowed to thighten condition box: "Already tested
?
"T(e[O, J0)) ; T + "'t ".
P 0
T • So we may replace theo -
?" , in Fig. 8., by:
III A sD8cial class of binary rate +convolutional codes.
III. 1. Definition.
We consider the l-input, 2-outputs convolutional encoders. Let gl(D) and g2(D) be the connection polynomials.
The class L
2 Lof convolutional encoders consists of those , v,
encoders having,
max. degree (gl (D) g2(D» = v (12a)
delay (gl ( D) g2(D» =L ) 1 (12b)
g.c.d. (gl (D) g2(D» =1 (12c)
rate R ="21 (12d)
The constraint length of the encoder is v.
Ad (12a) Ad (12b)
Ad (12c)
Ad (12d)
The connection polynomials are pairwise equal for the first L terms and unequal for the (L+l)-th term, L is called the symmetry length.
Catastrophic codes are avoided and an instantaneous inverse Can be derived.
In general the class L has rate R = 1 •
n,v,L n
The encoder of Fig. 1. is an example of an encoder belonging to L2 ,2,2 •
III. 2. Properties of the class L
2,v,L •
The message error correction
1\e[O . + L) are split into classes of
1\ ,J 1\
e[0, j + L) and el[ 0, j + L) belong to histories up to digit j are equal,
sequence estimates
2L sequences. Two sequences the same class if their path
1\ 1\ 1\
e[0, J. + L) = e[n~ , J.) * e[ j, j + L)
1\, 1\ 1\,
e[O,j + L) = e[r, .) ~ e [ j , j L).
''"'' , J +
For the corresponding codevector sequences we find,
1\ G
.£ [0, j + L) = e[O,j + L) ~
=.£ [0, j) ~ c [ j, j + L)
cI 1\
L) = ei~ . L) ~ G -[O,j + \... , J +
= .£[O,j) ~ C- 1[. .J, J + L) •
Definition 4. A message error correction sequence estimate ~[O,j + L) is a representative member of a ~lass, if its corresponding noise vectors £[k 1 1) are elements of
j
(g) , @ ) , for j 0 <; j + L. ,K +The difference £[k,k + 1) @£1 [k,k + 1) equals (i),
for all k and £[k,k + 1) and £l[k k + 1) the noise vectors along the branches diverging from node e[O,k _ 1]. Therefore every class has exactly one representative member.
Theorem 2, together with lemma 1, enables us to construct a modified Fano algorithm with better computational performance.
Theorem 2. Of all message error correction sequence estimates in a class, the representative member has the maximum metric.
Proof. All sequence estimates in a class have equal length.
Maximizing the Fano metric (1) therefore is the same as minimizing the Hamming weight of the noise sequence. Two sequence estimates
1\ , 1\, h
~[O,j + L) ana e [O,j + L) ave the ~roperty that the difference n[k,k + 1) ~ ~'[k,k + 1) be~ween t~eir corresponding noise
vectors, is an element of {(O) , (l)}. Now, with definition 4, the theorem is proved.
Lemma 1. Due to the structure of the class we can find a sequence e [O,jLI + L) , that leads to a codevector sequence
£[O,j + L) , with the property that,
C)~k<j+L,k;tj
k = j
"
e [j, j
(1,1),
"
The first non zero component of e is [O,j + L)
+ 1)' For the encoder of Fig. 1., e"[O,j + L) = W[O,j) il{
where W[O,j) is the all zero sequence up to time j.
and the two new representative members
L) , ~
and e"[O,j + L + 1) follows from,
Upon extension of every element of a class with "0" and
"1", two new classes of 2L sequence estimates Can be formed.
The relation oetween the representative member of the original class, e [O,j +o
e'[O,j + L + 1)
e'[O,j+L+l)
such that,
o
= e [ 0, j + L) il{ e '[ j + L, j + L + 1) (13a)
and,
!!.'[ j + L,j + L + 1) E { (g) -, (~) }
e"[O,j+L+l) o "
= e [O,j + L) ijl e [O,j + L) il{
e"[j+L,j+L+l) (13b)
such that,
n"
- [j + L,j + L + L) E
Using lemma 1 we see that e"[O,j + L + 1) indeed satisfies definition 4. The corresponding path likelihood functions equal,
T(e' [O,j + L + 1)) = T(eo['"u,J. + L)) +
T(e'[J' + L ',J + L. + 1)) ( 14a)
T(e" . )
[ J + L,J + L + 1) T( e" [0, j + L + 1) = i f !l~ j, j + 1) = (~)
T(e" . )
[ J + L,j + L + 1) -(M(OO) -M(l1))
if !l[ j,j + 1) = (g) ( 14b)
Formula (14a) is obvious. Adding e[ O,j + L) ~eans ( lemma 1 ) that !l0[ j,j + 1) changes into nO
[ j,j + 1) ij) (1)' Therefore an
extra metric decrease of M(OO) - M(ll) occurs if !l[ j,j + 1) = (g).
Here M(OO) and M(ll) are the branch likelihoods corresponding to noise pairs (g) and (t) respectively.
Not e that, if !l't j + L, j + L + 1) = (g), than
n"l' L· L + ~..L) =(01
) and reverse. So, if we add a sequence
- J + ,J+ .
eA[O,j+L + 1) that has a corresnonding code vector sequence...
(g)
°
~ k < j + L , k ;i jc = (~) k = j
-[ k,k + 1)
(~) k = j + L
to one representative, say e'[O,j + L + 1) , the other representative member e"[o'- ,J + L + convenience, in the sequel we will give only
we immediately find 1)' For notational
the non trivial part
I " " . is
of e 1'J'. ,J + L + 1 ) ' i.e. er . ·lJ,J + L + 1). Thls subseq'.lence
called the correction vector and denoted b y e . For the encoder carr
of Fig. 1., e equals ( 1,1,1 ).
corr
III. 3. Modified algorithm.
If the metric value of the representative member of a class violates T , then so do the metrics of all other sequence
o
estimates belonging to that class. Therefore we try to reduce the computational complexity of the decoder, by considering only the representative members of the classes.
Let the nodes in a tree correspond to the representative members of successive classes. The two branches diverging from each node lead to the nodes corresponding with the two derivated representative members, according to (13a),(13b). Furthermore we attach the metric values of the representative members to the corresponding nodes. Leaded by the metric values, the decoder
finds its way through this "representative tree".
The encoder of example 2 is an element of the class L2,2,1. In example 3 we consider the actions of the modified decoder for decoding the received sequence of example 2.
Example 3. The correction vector for the encoder G(D) =
(1 + D + D2
, 1 + D2
) equals, e = (1,0). Fig. 11 shows the corr
representative tree, corresponding to the received sequence.
In the nodes we have denoted the last two message error
correction estimate digits of the sequence leading to that node and also the corresponding metric. Along the branches we have indicated the last noise vector of the sequence leading to the successor node. As an example we computate the metric of node N, according to formula (14b). Note that the corresponding
£p,4) = (g).
...
00...
10
,,, ,
00 , e
'ill( 1 0 l
,,,
1 0' , d
'0:;]
( 11 l
...
00 ... N
'ill
(00)
1
III
..I
extend accord"lng to .D[k k+1)€{(00),(10l}
add e carr
Fig. 11. Representative tree.
= (-5) + (2) + (-16 -2)
= -21.
The metric diagram corresponding with the tree of Fig. 11., is given in Fig. 12.
Table IV lists the decoder actions for decoding the tree of Fig. 11.
An exact definition of a co~putation will be given in chapter IV. However, comparing tables III and IV we can see intuitively that the modified decoder has to perform less computations to find the correct path.
T(e[o' )
JJ ) 1 2 3 5 6
---L,---_ _..L.-_ _....J....-_ _----l.. l - -_ _--L- J
9 - 8
-16
Fig. 12. Metric diagram for tree of Fig. 11.
TABLE IV
Decoder actions corresponding to Fig. 12.
location action violate action violate action T J.~ c.~
T T 0 J
0 0
root look y-n,..,~i:l decrement - 4 1 0
at a T
0
root look YES decrement - 8 1 0
at a T
0
root look NO go to - 8 2 0
at a a
a look NO go to - 8 3 0
at b b
b look at YES look at NO go to - 8 2 1
c a a
a look at YES look at NO go to - 8 1 1
d root root
root look YES decrement -12 1 0
at e T
0
root look at NO go to -12 2 0
a a
a look at NO go to -12 3 0
b b
b look at NO go to -12 4 0
c c
c look at NO go to -12 5 0
f f
f look at NO go to - 8 6 ( '\..)
g g