0% found this document useful (0 votes)
166 views

ITC Unit 4 Convolution Code

convolution code

Uploaded by

indu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
166 views

ITC Unit 4 Convolution Code

convolution code

Uploaded by

indu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 12
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 CamScanner current 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 CamScanner 846 = 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 CamScanner 0 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 CamScanner Ee © = 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 CamScanner 850 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 CamScanner 46492 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 CamScanner This 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 CamScanner sits 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

You might also like