 Hello everyone, welcome to lecture on decoder implementation in linear block code system. At the end of this session students will be able to illustrate error correction in code word or error pattern and also able to implement the decoder for error correction. Now before start with the actual session, let's pause the video and think about what is a core set and what is a core set leader. If you remember in the previous slides or previous sections, we already studied about the core set and core set leader of the standard array. Core set is nothing but the rows of standard array. And the starting element of each row in the first column is nothing but the core set leader. Now before starting with the actual decoder implementation, let's solve one example of the error correction. Error correction we have already seen in the previous session. We studied how the error is corrected in the LBC. Now let's solve the one example. What is the procedure of that, let's see. So if you see this one is a figure one shows the standard array. We already seen what is standard array in the previous session. So this figure one shows the standard array of 2 raised to 6 that is 2 raised to n of n tuples. So here n is 6, so 2 raised to 6 equals to 64. So these are the total 64 6 tuples each tuple having 6 bits right. So 64 tuples are there in standard array. So this is a standard array. So each row of this standard array is nothing but the core set. And each element of the first column of each row is nothing but the core set leader. So this is a standard array of 4 6,3 code. So as I said, so first row contain a valid code words. So this is a valid code word set 8 vectors in the first row. And these are the core set leader as I said, every starting element of the row in first column is nothing but the core set leader. So only the 7 are the non-zero core set leader. Because this one is also core set leader and a code word which is having a dual role as we already studied about that in the previous session. This one is having a dual role. It can be a core set leader and it can be also a valid code word. So apart from this, these are the non-zero core set leader, 7 are the non-zero core set leader. Now if you see all 1 bit error in this standard array are the correct table. All now 1 bit error means suppose this is a valid code word 1 1 0 1 0 0. And if you re transmitted this one and if you receive this second one below that one 1 1 0 1 0 1. So error is in the this single bit. So this can be corrected with the help of this error pattern with respect to error pattern. How you going to correct that we going to see in the next slides. So all 1 bit error pattern in this standard array can be corrected. So decoding will be the correct if and only if the error pattern caused by the channel is one of the core set leader. As I said over here if this is the error in your received vector this can be corrected if it is a single bit error this can be corrected using this error pattern. Now this error pattern is a core set leader of this core set. So that error can be correctable and that can be decoded at the receiver side. So if the error pattern caused by the channel is a valid core set leader. So your decoding will be correct. Now how you going to decode or how you going to correct that one. So suppose that can be determined by to obtain the syndrome to each of the correct table error pattern by using this formula Ejh of t. So here h of t is nothing but the transpose of parity check matrix we already seen in the previous 2 sessions what is mean by parity check matrix and E of j is nothing but the error pattern from the standard array which is in the first column right. So syndrome for that core set leader is calculated using this. So if you h of t priority check matrix is given by you using this and if you put every error pattern over here you will get the syndrome for each error pattern. So using that you can get the table look up table for every error pattern you can get the each syndrome. For example there are 7 non-zero error pattern and 1-0 all-0 error pattern is there. So for that all-0 if you put that all-0 over here and perform that multiplication you will get the syndrome 0 0 0. Similarly for all other non-zero pattern you will get the particular syndrome. So this will be the nothing but a syndrome look up table. This will be helpful while decoding the decoder or decoding the error pattern to implement the decoder at the receiver side. So suppose you received a vector is r and you have to calculate syndrome using this formula as syndrome equals to r into h of t where r is received vector similar the same formula we use in the previous slide only the instead of r we use error pattern E of j right. So using this look up table you can find the corresponding error pattern. If you calculated syndrome for received vector and the syndrome is 0 0 0 so the error pattern for that received vector will be 0 0 0 right similar way you can find the error pattern for all the received vectors by finding the syndrome for that. So that error pattern is denoted by for the corresponding received vector E cap. So this will be the error pattern E cap. So you can estimate so while decoder adds that error to the received vector to obtain the estimated transmitted vector codeword. So means your actual transmitted codeword is U and your received estimated transmitted codeword is nothing but the U cap. So U cap equals to received vector plus your corresponding error pattern which is obtained from this look up table right. So if you put in this r is nothing but your transmitted and actual error caused by the channel. So this error caused by the channel and your estimated error pattern if this both are same then your transmitted codeword and received estimated codeword will be the same. So as I said if the estimated error pattern is same as the actual error pattern then and then your estimated codeword will be is equals to your transmitted codeword U. Now for example assume your transmitted codeword U equals to 101110 and the received vector is r equals to 001110 means you are having error in this bit first bit which is transmitted as 1 and you received as 0. So now you calculate the syndrome for that received vector r by using the formula s equals to r into h of t. We already know the h of t which is nothing but the transport of parity check matrix. So that will be multiplied with the received vector you will get the syndrome after multiplication 100. Now using this syndrome you can use the syndrome look up table and if you look out for that 100 you will get the error pattern this. So this will be your estimate error pattern E cap equals to 100000 which is obtained from this look up table. Now this corrected vector is then estimated by adding this to the received vector. So estimated corrected codeword is U cap equals to r plus E cap E cap we just obtained from that is seen syndrome table look up table. So received vector is 001110 plus and your E cap equals to 100000. By performing this you will get the estimated codeword 101110 which is nothing but your actual transmitted codeword. So like that you can decode the error pattern. So how you are going to implement that at the retrieval side in the decoder palm. So for that there are some steps you have to follow. So when the code is short for example it is a code of 6.3. So that can be easily implemented at the receiver side by using a simple circuitry. Simple circuitry means you can use the ICs of the decoder or you can use the gates and you can perform the modular to addition subtraction at the receiver side and you can easily implement this decoder at the receiver side if it is a short code. So for that there are following steps. First step you have to calculate the syndrome for each received vector and second step is you have to locate the error pattern. Third one is you have to perform the modular to addition of the error pattern and the received vector to get the estimated codeword which will be your actual transmitted codeword. So using that you can calculate the syndrome by the formula s equals to Ej into H of t and from that syndrome using the syndrome lookup table you can get the error pattern. So we can write that expression for each syndrome digits in the terms of received codeword as over here s equals to R into H of t. R is nothing but your received vectors which is having 6 bits. So R1, R2, R3, R4, R5 and R6 and your this one is a parity check matrix. So that can be written as S1, S2, S3 because we already seen in the syndromes are 3 digits. So using that you can actually write equation for each one S1, S2, S3. So here S1 equals to nothing but R1 plus R4 plus R6, S3 is nothing but the R2 plus R4 plus R5 and S3 is nothing but the R3 plus R5 plus R6. So these three equations can be implement in the using the gates like this as shown in this figure, figure number 2 which shows the actual implementation of decoder of 6, 3 where 6 is n equals to 6 and k is 3. So if you see over here these are the received vector R, R1 to R6. These are the three syndromes S1, S2, S3 which can be obtained by the performing this addition whatever the equation over here written the same is over here. This one is S1, S1 is nothing but the R1 plus this R4 plus this R6 right similarly for S2 and S3. After that this one is a error pattern, error pattern is obtained by the exclusive or gates and after that we perform the module 2 addition of your error pattern E1, E2, E3, E4, E5, E6, 2 with respect to your received vector R1, R2, R3, R4, R5 and R6 respectively and then for by making this module 2 addition you will get your final code word U that is U1, U2, U2, U3, U4, U5 and U6. So like that you can implement the decoder at the receiver side. These are the references. Thank you.