Transcript for:
Fundamentals of Block Code in Communication

Welcome to Digital Communication Playlist. I, Professor Hitesh Dhodakia, is going to explain you basics of block code in this session. And here, this is my first session based on block code regarding digital communication. And there are many more sessions which will be there regarding different types of block code. And I wish you will observe all those sessions. to understand block code completely. So to understand basics of block code, these are my session outlines where first I'll discuss basics of channel and code word. After that, I'll explain basics of channel and code word. structure of communication system and in that I'll explain how need of channel encoding is there by block code and then we will see basics of block code that Then there are some important parameters that is there regarding block code that I'll explain step by step. And then I'll explain you one example of 4.3 block code. So it will give you idea like how block code is being generated. Then after I'll explain you how we can represent block code. So let us begin this session with first agenda that is basics of channel and code word. Now see when we talk about channel then every channel is having upper limit and as it is having upper limit on the rate at which information can be transmitted reliably through the channel. So every channel is having some upper limit. That channel may be optical fiber channel, that may be wireless channel, that may be coaxial cable channel. So all those channels are having upper limit. So we cannot send data with infinite data rate. And because of that, there are some constraints which is happening in communication. And this limitation of capacity of channel to transmit information referred as channel capacity. So as I have told you every channel is having some capacity. You cannot send data beyond that limit. So that is what channel capacity. See due to noise is added in channel there will be error when we receive signal. at receiver side. So when we send signal from transmitter to receiver through channel, there will be noise in channel and that will be generating error in transmitted bits. So to receive reliable data, we need to correct error and that correction of error is being done by using block good A block code is a set of words that has well defined mathematical property structure where each word is a sequence of fixed number of bits. So we will see all those things step by step. What is block code? How we define it mathematically? How to represent it? What will be the sequence of bits? All those things that I'll explain you step by step in this session. And the words belonging to block code is referred as codeword. So in terms of codeword we send signals and whatever codeword that we receive at receiver that codeword are capable of to solve errors up to some extent. So how we can solve error all those things that I'll explain you step by step. Now, I'll explain basic structure of communication system. The reason is we need to understand at what position we do channel encoding and at what position we add block code. So as we know, we have information that is there in terms of digital data. And that is what we are giving it to transmitter. So transmitter will send data to receiver via channel. So transmitter send data through channel. And it will be received by receiver and that receiver will give information to users. Right. Now if we see detailed block diagram of transmitter then in transmitter there will be source encoder. Then after there will be channel encoder and after that there will be modulator. So this is what detailed block diagram of transmitter and in transmitter we have source encoder and channel encoder after that there will be modulator. And when we have receiver so detailed block diagram will be first there will be demodulator at receiver side. After that there will be channel decoder and after that there will be source decoder. And this will be the detailed block diagram which is there with receiver side. Now when we send data from transmitter to receiver you will be observing noise is getting added in transmitted signal. So as noise is getting added in transmitted signal there is a possibility of error which is there at receiver side. So transmitted data and received data. data may be different. So as transmitted and receiver data may be different those data is not reliable data. So what is that which we can do to resolve all those issues. So see here as I have told you there is source encoding and channel encoding which is there with us and here you be finding channel encoding is been done to resolve errors and in that we add block code. So at channel encoder, we do channel encoding and at that position means at channel encoding, we add block code. block code to resolve error. And when we talk about source encoder, so in source encoding, we reduce redundancy and that will improve bandwidth utilization. So this is what. we are doing it by having probability and statistics. So source encoding that is being done by having probability and statistic that is very different issue and in source encoding we don't resolve error but in channel encoder we resolve error by using block code. So when we use block code we use it at channel encoder side. Now I think it is clear to all of you where we use block code. It is being used in channel encoding portion. Now let us try to understand all those things like see basics of block code. Now see we will be having information bits. So let us say we have K information bit and I am representing as per I is equals to I1 I2 up to IK. And. By adding redundancy or one can say parity bits that is total R number of parity bits are there. We will be forming block code. So if you observe there are total N number of bits and that is K plus R and that will be. represented as per information bit I1 to IK and parity bits P1 to PR and N is total number of bits of block code that is K plus R So we represent block code as per n, k where n is total number of bits and k is information bit and redundancy that will be obviously n minus k that will be total number of parity bits p. So n is total number of bits to represent block code and k is information bit and redundancy will be n minus k or one can say n is equals to k plus r. So that is how. Block code representation is happening. Now here there are two cases which is possible. When we have code word so that code word is having information bit and parity bit and as if we have information bit together. In that case we can say that codeword will be systematic codeword. So in systematic codeword all information bits are kept together. When we have a codeword in that information bits are not kept together. together that is referred as non-systematic codeword like in that case you will be finding this information bits and parity bits are somewhere in between means we don't have information bit together we have zigzag type of arrangement where there could be p1 over here i2 could be over here likewise there could be any random order arrangement and that will be non-systematic code word. But in case of systematic code word information bits are kept together and parity bits are there right and you can see this is what one example of systematic code word right now i'll explain you Some important parameters which is there with block code and we represent that by n, k where n is total number of bits and k is information bit. So total code words required as per n number of block codes so that is 2 to the power n as n is total number of bits in block code. So total code words as per block code will be 2 to the power n. Total code word requires as per information bit and ... information bits are K so that is 2 to the power K. So obviously total code words as per block N number of bits ... of block code it will be 2 to the power N. And total code words as per block N number of bits of ... code words as per k information that is 2 to the power k. So total redundant code words as per parity bits are you will be finding it is 2 to the power n minus 2 to the power k. So code rate that is k divided by n. So code rate is r is equals to k by n where k is information bit and n is total number of bits which is there in block code. So you will be observing block code will be like this where k is information bit and then r is redundant bit and this is what I have explained with respect to systematic codeword. where I have kept information bit initially and R redundant bits after that. Right. But in non-systemating, there will be zigzag version of those bits, which is there with information and redundant bits. Now, I'll give you one basic example of 4,3 block code. Now, when you see 4,3 block code, so we can see 4 is total number of bits and 3 is information bit. so obviously Obviously parity bit will be total bits minus information bit. So that is 1. So 4 minus 1 that will be parity bits. So here you can see three information bits are there and here p is parity bit. So what I have done is first I have written. Information bit with respect to parity bit right so there are three information bit and one parity bit so here all the possible combinations that I have written so 00000001 likewise all possible. combination that I have written right and combination of this two that is a codeword so in sequence I have written just like see 0 0 0 0 so in sequence codeword is this right 0 0 0 1 so in sequence codeword is 0 0 see that is I have written so this is what a possible number of code words. But here we will take one example and that example will be there with respect to even parity check. So if I want to form a block code with even parity check then how many correct code words are there that is what we are dealing with to identify here. So here for even parity check you can see this code word right so that is zero zero zero zero. So how many even number of how many ones are there so there is no one so this is what even right so as it is even code we can say this is correct code now here one number of one is there in second codeword so we can say this is false codeword as it is not even so even parity check is not getting satisfied in this codeword even in this Third codeword you can see 0010. So in that one number of one is there. So it is not even it is not satisfying even parity check. So that is false codeword. Now here in fourth codeword you can see two ones are there. So it is satisfying even parity check. So this is correct codeword. So likewise for all codewords I have done that parity check. You can check it. Right. and sometimes in My presentation if any error is there you please mention that in comment so that I can get it like see what is the problem. Sometimes I do that by some problems. Right. But here if any problem is there you just mention it in comment. So this is how correct and false code words are there regarding even parity check. Now if it is a case of odd parity check in that case those false. code words, those are odd parity check code words, right? So here you will be finding in 4,3 total code words are 8. So total correct code words are 8. So that is how one can identify whether correct code word is received or not. If any error has been there, then we can identify there is error in any one bit, right? So this is just to identify error. It is not identifying position of error. It It is just identifying error is there or not. Here we are not identifying in which bit error is there. But definitely we can say there is error in any one of bit. Right. So as per parity checking we can identify error possibility. We don't identify position of error. But in 7,4 block code we can correct one bit error. So that is even a case which we will be doing it in next session. Now let us try to understand how we represent block code. So see information bits are K. We represent that as per I1 to IK. Parity bits are R. We represent that as per P1 to PR. So code word will be. Systematic codeword will be first information bit and then parity bit and total number of bits are n. So k plus r that is n that is how codeword is being written and this is systematic way of representation. When you send this codeword there is a possibility of error. So error codeword will be e1 e2 up to en and once you identify error codeword and if you See if one is there in that case we can say in that particular bit there is error and if zero is there in that case we can say that bit is there without error and based on location of errors if we add one with received code word then we can be able to resolve that error. So valid data at receiver side that will be received codeword plus error codeword. So here this addition that is modulo to addition which one need to understand. And by adding both we can be able to have valid data at receiver side. So block code is being used in channel encoder and purpose of block code is to resolve error at receiver side. And that error is coming because of noise which is there in channel. And noise removal can be done by having error correction. So that is what the case which we do it in block code. And that is how we represent it. I hope that you have understood this session. In next session, I will explain you different types of block codes with detailed explanation. So stay tuned with this channel. I bet once you see all my session regarding block code, you can be able to solve any question regarding block code, regarding enter. entrance examination or university examination. So, I have made sessions based on log code to resolve all those things. I hope that you have understood this session. Thank you so much for watching this video. Please do give your valuable suggestions. Definitely based on it in future I will make videos which will resolve your queries. Thank you so much.