ration of the above decoder is as under:
Tha ebitclod dained 8,"are opened abd B,, are closed. The bits of the received y
shifted into the buffer register as well as they are shifted into the eyndrome ealewlan
then bits ofthe recived vector Y are shifted into buffer repater and syndrome eg
gyndrome repater holds a syndrome vector. The ayndrome vector is given tothe ern
detector A parcular eyndrome detects a apecfc error pattern. The ovitches S, ae so Pat
Sjy, ate closed, Tho shifts are then applied to the flip-flops of buffers registés weed
(which holds error pattern) and syndrome register. The error pattern is then added vn
the received vector (which is stored in buffer register). The output ia the correcteg se
vector.
16.14.3. Advantages and Disadvantages of Cyclic Codes j
As we have seen that eyclic codes are the subclass of linear block codes, they have gq
advantages over noncyclic block codes as given under: ;
Advantages : 7
1, The error correcting and decoding methods of cyclic codes are simpler and easy toimple
These methods eliminate the storage needed for lookup table decoding. Therefore the
~ becomes powerful and efficient.
2. The encoders and decoders for cyclic codes are simpler compared to noneyclie codes, q
3. Cyclic codes also detect error burst that span many successive bits.
Inspite of these advantages cyclic codes also have some advantages,
Disadvantages
1. The error detection in cyclic codes is simpler but error correction is little complicated si
the combinational logic circuits in error detector are complex.
To abiod such complex circuits some special cyclic codes are used which are discus
next, Fe
6.15. BCH Codes (Bose - Chaudhri - Hocquenghem Codes)
BCH codes are most extensive and powerful error correcting cyclic codes. The decoding of BI
codes is comparatively simpler. For any positive integer m and t (where t < 2™-1) there exists
BCH code with following parameters: i :
Block length: n = 2-1
Number of parity check bits: n —k < mt
Minimum distance: d,,,, > 2t+1 {
min
‘ine decoding schemes of BCH codes can be implemented on digital computer. Because of
software implementation of decoding
. } schemes they are quite flexible compared to hardware
implementation of other schemes,
“16.16. Convolutional Codes
A convolutional coding is done b ini i i it i its are
3 ne by combining the fixed number of input bits. The input bits a!
Thiet, ead lensit Shift register and they are combined with the help of mod-2 aide 3
i iv i : a
This concept ie strata ra the Papenvilution and hence it is called convolutional coding:
c I help of simple example given below.
Figure 16.12 illustrates a convolutional encoder.
Scanned with CamScannercurrent
a resent |
is ies ‘ris bit is the part Previous two successive message
cat Deter 2 bits are stored in those two fip-fon,
—_. jose two bits (m,.m,) represent
a eae Ss state of shift register
pits input
Y
1
2 Output
Ve
(6124 Convolutional encoder with K=3,k=1andn=2
ajutional encoder operates as under:
an
hifted to position ‘m’, the new values of v, and v, are generated
jon ae
ertiO® she message bit is 8 :
‘and m, store the previous two message bits. The current bit is
ever
wg upon ‘m, m, and Mg. My
ae ig m. Hence, W° can write,
a v= m@m, om, (16.85)
vy = m@ my : (16.86)
The shift register then shifts contents of m, to
switch first samples 0 and then v2.
{ indut bit is then taken and stored in m. Again v, and vp are
aod
‘heoutpu
apndetents of m €0 My Next input b
ated according t0 this new combination of m, m, and ms, Hence, output switch then samples
ncé, the output bit strem for successive input bits will be,
(16.87)
jen dy He
.. and soon
sage bit two encoded output bits v, and v, are
bit, the encoded code word is two bits i.e., for
X= Vy Vy Vy Uy y V2
that for every input me
Here it may be noted
Is, for a single message
ssnitted. In other word!
disconolutional encoder,
Number of message bits, # = 1
Number of encoded output bits
Therefore the code rate of this encoder is,
for on message bit, n = 2
Le £ 3 2 (16.88)
Boke? encoder of figure 16.12, observe that whenever a particular message bit enters a shift
it. remains in the shift register for three shifts i.e.,
First shift >. Message bit is entered in position ‘m’
Second shift, , Message bit is shifted in position ™,.
Third shift». Message bit is shifted in position ma
7 or simply lost by overwriting. We know
at ;
ade shift the message bit is discarde
< ha doce combinations of m, m,, ma. Since a sing
eY saeenive te nate and in Mg Guring second s!
(asta
Penta
“earegeitt length of a eenvotution code is defined as the mur
ye the encoder ee influence the encoder output. It is expressed in
Nag tsage bit in figure 16.13 constraint length K= 3 bits. This is
bits lost influences encoder output for three successive shifts
st and it has no effect on the output.
le message bit remains in m during first
tft; it influences output v, and vp for
e number of shifts over which a
terms of message bits.
because in this encoder, a
s, At the fourth shift, the
Scanned with CamScanner846 = COMMUNICATION SYSTEMS
1616.1, Code Tree, Trellis and State Diagram for a Convol
‘Now let us discuss the operation study the operation of the conn
help of code tree, trellis and state diagram. For this our illustration, we ny
encoder of Fig. 16.12 as an exmaple. aa:
In figure 16.12, we have shown that the previou:
, Ww o 13 two successive
represents state. The input message bit m affects the ‘state’ Of the ore me*eage bits m
and v, during that state. Whenever new message bit is shifted to spncoder a well ag gig
con Put
define new state and outputs v, and v2 are also ch: i tent
1 changed tof
eeaea 2 ged according to new state nt ad
n Encoder
we will anal encoder wig,
sider the cong
hu
it m. Let's define these states as shown in Table 16.12. 1
‘Let the initial values of bits stored in m, and mg be zoro. That i a
encoder is in state ‘a’. : 2 De zero. That ie my my ™ 00 initiatty aa
r
fWableW6i14)) States of the encoder of Figure 16.13,
ms my, State of encoder
0 0 @
oO ey b
1 o ‘e.
ELL 1 a
1®0@0=1
1@0=1
mm]
“THis bits decaies
‘The values of v, v2 = 11 are transmitted to the output and register
contents are shifted to right by one bit position as shown.
Upward arrow indicates
— that message bit is m =0
Start_| ~—— Node-or state
Downward arror indicates
that message bit is m= 1
p-__This is new state
Srnode when in m=1
fie acti oaeaet| eS
while going from node
— 71
DrigE6518%) Code tree from node ‘a'to 8’ sf
and output transmitted are bey Caeputs
Hence, the new state of encoder is m, m, = 01 oF 8” ar
nd if then the next state is ‘b’ an
This shows that if encoder is in state ‘a’ and if input is m
are v; Up = 11. The first row of Table 16.14 illustrates this operation. ail starts
‘he'last column of thie table shows the code free diagram. The code free diaz
node or state ‘a’, This diagram is reproduced as shown in figure 16.18. Sea be,
It may be observed that if m = 1, we go downward from node ‘a’. Others, i ‘gince ™7*
upward from node a" It can he verifed that if m = 0 then next node (state) is. OPV:
here we go downwards toward node b and output is 11 in this node (or state). jnput will pes
Now let the second message bit be 1, The contents of shift register with thi o
shown below. Ul
¥, = 16180=0
v2= 1@0=1
eee
Scanned with CamScanner“i
OM 36.14 in
Asi Ae
we
ne
show!
75 oe
ft out 38 Uy
9
yo
seis rly depending upon the input message bit,
solar epeced with their states a,
ma
mies We have verified the part of th
ast Bs
w state of the encoder is m m=
Hate ee 01. Thus the See ba
wed ished oumput Ys Ye = OL. This operation «2
Band oe last column of tab sil i
eine first and second input bits, oc
ue those gr row of the Table 16.16 illustrated
erve in the code tree of last ¢
spy upward arrow towards node (or
obs
= OL
llor ‘Pand th
e 0}
om tu
ilustrated
the tabl
ce operation
‘oun. Since input bit is m=
State) ‘C, That a
is code tree for first th
‘ere message bits as 110.
ifoe carefully observed the code tree of Fig. 16.14, one on
ss torepeat after third bit. This is shown in figure. The sop
traesagebit is stored in the shift registers ofthe eqeocere
Shreiter i increased by one bit, then the patierenee ie
spit.
m=1
States
a=00
b=01
c=10
@=11-
etition starts after 3rd bit, since
r three shifts. If the length of the
tree will repeat after fourth mes-
1
rotfioo.,
Scanned with CamScanner0 To | |M=22 020-2 PIP ororb | 11
- ° r]o]o
V,=100=
! n=180 é oz;
7 oH son
moeeet
beer
0 a
Code tre for m= 1
A Lord o1 ‘Start
n
he. iy
noo A
r ° o
1] o0 d
Code tre for m= 11
\ rocco. (safe
1
Uy, ory.
mm me ap ols)
ofan of]: *
iste erm= 10
‘Encoder in state ‘e’ =
Scanned with CamScannerEe ©
= ERROR CONTROL CODING = 849
cae trellis
code trellis 18 the are count ‘"EPresentation of the code tree. We know that in the code
_ there a7 four eas Wvery state goes to some other state depending upon the
see ge, Trellis repress 's the signal, an unique diagram for such transitions. Figure 16.15
ee teode trellis diagram.
Current state Output —_No;
put Nxt atata
poe a=00
00=6 b=o1
pS e=10
oo=d dou
SFQUTGIEY Code trellis of convolutional encoder of figure 16.13.
‘The nodes on the left denote four possible current states and those on the right represent
next state. The solid transition line represents input m = 0 and broken line represents input
‘Along with each transition line the output v, v, is represented during that transition. For
BE a=1. s
| oaple let the encoder be in current state ofa. If input m = 0, then next state will be ‘a’ with
| iputsv, vp = 11. Thus code trellis is the compact representation of code tree.
State Diagram
| itwe combine the current and next states, then we obtain state diagram.
[RIRGIGIE6] State diagram for convolutions ‘encoder of figure 16.13.
é For example consider that the encoder in state ‘a’. If input m = 0, then next state is same ie,a
£400) with outputs vj vg = 00. This is shown by self loop at node ‘a’ in the state diagram. If input
- then state diagram shows that next state is ‘b' with outputs v, ¥p= 11.
MS Decoding Methods of Convolutional Codes
ecoittt methods are used for decoding of convolutional codes. ‘They are viterbi algorithm, sequential
i and feedback decoding. Let's consider them in details in subsequent sections.
Ib, 7
ee Viterbi Algorithm for Decoding of Convolutional Codes
uty present the received signal by Y. Convolutional encoding operates continuously on
proba sie there are non-code vectors and blocks as such, Let’s assume that the transmission
Metrig ity of symbol&\1’s and 0's is same. Let’s define an integren variable metric as follows.
Ttis the ai
i ne discrepancy between the received signal y and the decoded signal at particular node.
may be added over few nodes for a particular path.
Scanned with CamScanner850 COMMUNICATION SYSTEMS
surviving Path '
"This is the path of the decoded Sin”
viiterbi decoding, a metric is assight” to eat
path is vijenined by adding individual metric on the nodes
Paviving path with smallest metric.
‘Let us consider the following ‘example of viter
encoded by the encoder shown Figure 16.14. For this en
eres Let the first six received bits be
= 110111
Noted that for single bit input the encoder transmits two bits (v, v,) outputs. These outp
or Sieeoder and represented by Y. Hence, ¥ ‘given above represents the euf
for three successive message bits. Assume that the decoder is at state dp. 4
Let us look at the code trellis diagram of figure 16.16 for this encoder. It illustrates that ift
current state is ‘a’, thon next state wil be ‘a’ OF ‘py, This has been shown in figure 16.17. Ty
branches are shown from dg. One branch is at next node a, representing decoded. Signal ag
pravther branch is at b, representing decoded signal as il.
Branch for m = 0
with output 00
you if “__ Cumutive or
or path diserepaney
a
(metric) is two
Branch for m=1 (@) @=— Path metric is zero
with output 11 b
Discrepancy or metric
is zero
ii {7 Viterbi decoder resuots for first message bit.
le i aj to b, represents decoded output as 11 which is same as received signal
Tees 7 fs lence, there is no discrepancy between received signal and decoded sign!
ra ei al branch is zero. This metric is shown in brackets along that path me
nodes a, and ®, four Seana of bits Y= 01 is received at nodes a, and 6, then
these branches, heir decoded outputs and ba by ey and d are possible, Figure 1618 Steg
Teenirded number near ay be and _ metrics corresponding to those decoded outpt
tia ath neti of path ay, en rs ane a sat rate nese emerging from ap. As an exalil
sthe trellis di Y here’. metric of path a, is zero, Figure 16.1
Figure 16.18 illustrat for all the six bits for Y. Path db, dy is zero Fete
es the possible paths for decoder.
al with minimum metric.
ch surviving path. (i.e. Metric of a
‘along that path). Y is decoded a
th
f viterbi decoding. Let the signal bein, a
eter wo have obtained code tral Aa
Scanned with CamScanner46492 Paths and their metrics for viterbi decoding.
i
16.19 illustrates the nodes with their path metrics on the right hand side at the end of
Fie hs ‘ywo paths are common to node ‘@’. One path is a, a, ay a, with metric 5. The other
ae a a 42 95 with metric 2. In the same way, there are two ‘paths at other nodes also.
ing iter decoding, only one path with lower metric should be retained at particular
Mp As shown ‘in figure 16.19, the paths marked with x (cross) are cancelled since they have
fpermeties than other path coming to that particular node. These four: paths with lower metrics
sesored in the decoder and the decoding continues to next received bits.
shows the continuation of figure 16.19 for a message 12 bits. It may be observe
received bits Y are marked at the top of the decoded value of output i-e., Y+E
ied message signal is also marked.
vot which is having lower metric. In case if there are ‘wr,
vy om is continued. It may be observed that a node ‘ayy
his path is shown by a thick line. Because this path is
‘i hence Y is decoded from this path. All the decoded
he this path. Whenever this path is broken it shows
Figure 16.21
atinthis figure,
jgeatked at the bottom and decods
nlyone path of particular node is key
nitshave same metric, then any one of
‘ny one path arrives with metric two. TI
vest metric, it is the surviving path an
‘ies of output are taken from the outputs
tig bit m= 1 and if it is continuous, message bit
m = 0 between two nodes.
Scanned with CamScannerThis is the complete explanation of viterbi decoding. The meth ‘i
decoding is known as maximum likelihood decoding. method of decoding use in Vite
During decoding you would find that a viterbi decoder has to st
four nodes. Store four survivity pathy
Surviving paths = 2%- 0 “
(6g
For a particular encoder, we have K= 3 and k =1
Thus, Surviving paths = 26-)*!=4
Hence, the viterbi decoder has to store four surviving paths always. If the numbe 3
bits to be decoded are very large, then storage requirement is also large since the deo S80
store multiple (in present example four) paths. To remove this problem metric diversion gt
et
used.
Metric Diversion Effect
For the two surviving paths originating from the same node, the running metric of less likey,
path tends to inerease more rapidly than the metric divergence effect. For example consi likely
fwo paths coming from node b, in figure 16.21. One path comes at as and other path comes at
The path at ay is lose Kikely ahd hence its metric is more compared to the path at dy, Hesee
only the surviver path is selected and the message bits are decoded. The fresh paths ar
node d;
started from d,. Due to this, the memory storage is reduced since complete path need not He
stored.
16.16.2.2, Sequential Decoding for Convolutional Codes ;
(UP. Tech., Sem. Examination, 2003-2004)
Sequential decoding uses metric divergence effect figure 16.21(a) shows the code trellis for the
convolutional encoder. The same code trellis we have discussed in the last article following are
the important points about sequential decoding.
Scanned with CamScannersits me the lowest,
2 nere are two or more branches f
st any one branch and continues deat’
_. grom point (ii) above we know that if. there
Gi Toeroes, then any one is selected at randor: Ifth
pith rapidly inereasing merit, then decadey aq
qtthen selects other path emerging from t]
ranches from o
flected path
's that path and
Boes b;
1620(0 that two branches with same mete ot® A8 aM example apne e te that noe,
) one nodes with equal
is found to be unlikely
le observe in the fig
igure
Henees deen Rode dy One path is dade,
* decoder drops this path and fella’
(or path marked ‘B) with metric ‘3"
other path. :
‘The decision about dropping a path is based
; n onthe '
given node. Running metric at a particular j* node ie seed Value of running metric at a
Running metric = jnc.
node is given as,
where jis the node at which metric is to be calculated. 2
nis the number of encoded output bits for one message bit
and ais the transmission error probability per bit, :
The sequential decoder abandons a path whenever its runnis it j
where A is should be above ina at j** node, Figure 16.22(b) cer Osea
r b jows the running metric at a
particular node with respect. to number of that node. The two dotted lines shows the
range of threshold ‘A’ above jno. at a particular node. It may be observed that since metri¢
ofpath ‘B’ exceeds the threshold at 5'* node, it is abandoned and decoder starts from node
‘Z again. In the same way path ‘A’ is also abandoned.
() Ifthe running metric of every path goes out of threshold limits then the value of threshold
‘s'is increased and decoder tries back again. In figure 16.22(b) the value of a = 1/16, for
encoder of figure 16.13, we know that n = 2. Lets calculate jn a at 8" node.
At node jna. = 8 x 2 x 1/16 = 1. ‘The value of A = 2. Hence, threshold will be,
Threshold = jno. + A = 1 + 2 = 3 at 8" node. Similarly the threshold at other nodes can be
alulated. The computations involved in sequential decoding are less than viterbi decoding. However,
‘ieback tracking in sequential decoding is complex. The output error probability is more in ease