Modern Digital Communication Techniques
Prof. Suvra Sekhar Das
G. S. Sanyal School of Telecommunication
Indian Institute of Technology, Kharagpur
Lecture - 06
Source Coding
Welcome to the lectures on modern digital communication techniques. So, in the past few
lectures I have given you an introduction to the domain of digital communications, I have
explained to you how to look at digital communications when you already have a perspective
of analog communications. I have also tried to explore the different components of a digital
communication systems and how they play a role I have also discussed the aspect of noise,
the channel and the characteristics of a source, we have also discussed how to view the
source or the channel as once where the options and the selection or the choice is very very
important rather than a particular result, and we have also explored how probability is
important for the study of digital communications.
In this particular course we will assume that you will you have already taken a course on
probability so, that as and when necessary we would be using the theories and the
expressions. So, if you have not explored much of probability I would request you at this
point to take refresher course or revise the concepts because those will appear again and
again at in different intervals at appropriate times. The last thing that we discussed in the
previous lecture was the block schematic of a transmitter, we continue our discussion and we
start off with the block schematic of the receiver and then we will slowly move into the first
component of a digital communication system that is the source encoder.
(Refer Slide Time: 02:05)
So, with this let us begin the block schematic or the block diagram of a receiver. So, I am
going to write Rx whenever a receiver comes into play. So, I am not going back to the
transmitter structure. So, here we will consider an antenna although I have mentioned that we
are going to look at wire line systems and we are not going to look at non line of sight. So,
well these studies that we do are also applicable for direct line of side wireless
communication systems for example, satellite links or even microwave links. So, putting
antenna does not really violate our scope or the assumptions or the premise that we have
already explored.
So, hoping that there is an antenna and typically there is a low noise amplifier in the front of
receiver, and then there would be some kind of a filter let us say a band pass filter; that
means, it allows a certain band of frequencies followed by there would be a mixer, which is
fed by a local oscillator and then one goes depending upon systems to the IF stage followed
by the baseband stage. So, that is the down conversion. So, this local oscillator could bring to
the IF stage or it could bring to the baseband stage that is the carrierless removing off all the
carriers and we can put grossly in a rough way we can group all of these and we can claim
that this group forms the RF section the radio frequency section or the sub section.
And here where there is this local oscillator the effects that come in could be a phase noise,
there could be I,Q imbalance and interestingly although these are affects of analog
components of a communication system, when you design a digital communication system
many a times you design methods or algorithms or signal processing techniques in the
baseband, to take care of these non idealities we call it non idealities because in an ideal
system we would assume a perfect oscillator perfect frequency match and so on and so forth.
So, which are usually not present, so your design should be able to take care of some of these
non idealities of the analog subset.
So, here when it gets converted to baseband you have the sampler and or the A/D converter
analog to digital conversion. So, once we have this sampler you get samples out of it. Next
part is interesting which is the Packet Detection then you could have Frame Synchronisation,
once you have the frame sync then you could logically talk about the carrier sync well at this
point what we would say that there would be a local oscillator there would be phase matching
at this point which tries to continuously lock on to this phase, but this carrier sync especially
in digital communication system also plays a role and there could be a feedback path going to
this, this could be controlling. Then followed by there would be a clock sync also sometimes
called clock recovery depends upon different sources of the material, I mean the text material
they would call it the clock sync or the clock recovery. So, these groups of methods or
algorithms of the receiver you can group them together logically and once you logically
group them you could call these as the receiver front-end ok.
So, once these things are done, now why these are important just briefly a packet detection
because in digital communication systems you may encounter transmission in frames or you
may encounter in packets, one particular example is the Wi-Fi which you commonly use,
where these burst mode of transmission. So, suddenly there is a packet and suddenly there is
nothing transmitted whereas, the receiver it should be constantly awake and should be
listening to the transmissions now while it is awake it is not good idea to make the entire
receiver operation on it can simply keep the detection part on which would setup an alarm or
a alert that yes a packet is being received.
So, once the alert comes the rest of the receivers can wake up right. So, this is going to reduce
the energy consumption or the power consumption of the system. So, there are different
methodologies. So, that is why we can have a packet detection in the beginning, then we have
a frame sync because when you have doing packet detection your simply detecting whether a
packet is present or not. So, at a clock rate you will be this module will be sending a one or a
0 whether this is a packet. The moment there is a confirmation that there is a packet
immediately afterwards the frame sync should start which should identify at which exact
point the frame gets started; because you have seen we are sending a sequence of zeros and
ones and if we are not recording this sequence at the appropriate moment of time then we
may land into errors.
(Refer Slide Time: 09:22)
For instance, suppose I am taking a very simple sequence and so on; this could be a sequence
of let us say +5 volts and let us say 0 volts or -5 volts. So, I am trying the baseband. So, one
must know that exactly where to read the frames this starting point of frame, now once you
do this there is carrier sync because whatever residual carrier offset is present that gets
tracked over here and one could correct this and in analog part or one could do a phase
correction in baseband also.
And then clock sync is also very important because now the point is you have to identify
which is the bit duration or the symbol duration ideally speaking this one, but once you
identify that yes this is the starting point and this is the ending point. Instead if one tries to
capture this interval which will see in a later lecture that if one tries to capture in this interval
then what happens half the interval there is 0 half the interval there is a 5. So, overall you are
going to get a something which is in between and it will not be able to decide whether a 0
was sent or 1 was sent. So, this is very important to do this synchronisation tasks at the
receiver, so that is why we have this sequence of operations at the receiver right.
So, once this is done one may put the corresponding block of the transmitter which is the
access; access basically deals with the part which is with respect to multi user
communication. So, it is that part which can be thought of a demultiplexing or identifying
that section of the transmission burst which belongs to this particular user or user equipment.
If it is the down link from base station to the user side and if it is reverse direction, then the
base station must identify that which particular part belongs to which particular user. So, that
is why we have this access.
Exact sequence may vary depending upon situations then you have channel estimation
followed by channel equalization why we need channel estimation the simple reason is we
have said in the previous lecture that the channel is given it is not which is the designer does
something designer has control only on the transmitter and on the receiver. So, if the channel
is given and the receiver has to reconstruct the transmitted signal it has to find out what the
channel is and then compensate for the effects. If you would remember we have written a
convolution expression with the channel. So, it is almost a process of deconvolution that we
do in this equalization.
So, these can also be grouped with the receiver front end, then after this there could be
something known as the combiner well if you will be studying code division multiple access
or spectrum communication combiner plays a very important role and in wireless
communications if you are studying multiple antenna base system, then again combiner plays
a very important role where you combine signals from multiple paths. If you are doing
diversity this combiner again plays a role of the diversity combining. So, we can talk about
diversity combining. Generally essential for wireless communication.
So, once you are through with the combiner, the next block that you would encounter is this
is symbol de mapper. This is the opposite of the symbol mapper we will discuss it of course,
followed by the Symbol Demapper well we now have the opposite sequence inter leaver de
inter leaver we had inter leaver at the transmitter, now we have a De-Inter leaver once you are
through with the De-Inter leaver you will have the FEC that is the forward error correction
code decoder, this is decoding the forward error correction code at this point one may have
hard decision output or one may have soft decision output we will see them at different
stages.
So, once you have the FEC decoder then you will have the CRC decoder, then you have these
De-Scrambler we have following the exact opposite sequence that was there followed by I
would club everything into source decoder and I am making it to open box indicating all the
components. So, one thing that is clear in this picture is if you would compare it with the
diagram that you had for the transmitter, this particular picture is much more elaborate it
contains many more components especially the ones in this section which are unique; unique
in the sense these are not present in the transmitter, these blocks are for the receiver, and in
our course of study we are going to go through these blocks one by one.
Because if a receiver does not have these it will not be able to proper symbol de inter leaver
all these process where that whereas, the transmitter goes through the reverse of this path, but
these all are necessary because the receiver is at a different location it is not coupled with the
transmitter it has a independent oscillator it has an independent clock. So, those have to be
synchronised the channel is not known. So, now, when you talk about the digital
communication system a major part of the study is spent in understanding or designing these
things which we are going to do. So, our study we will be covering almost all of these
components.
So, with this we would like to bring our discussion to a close for the part where we talk about
the transmitter and the receiver structure. Now this particular picture as you see here will be
available to you in form of additional material which you can always refer to.
(Refer Slide time: 17:07)
So, with this we complete our overview of the communication system and then we can now
move into the study of source coding. So, when we look at the study of source coding we are
talking about sources.
(Refer Slide Time: 17:39)
So, basically we are talking about discreet sources, I have hinted different discreet sources
earlier. So, when we talk about discreet sources what we mean that the output of a discreet
source is a sequence of symbols from a known discreet alphabet X of finite size.
So, what it means is basically this X as we have written it is a set which contains certain
specific symbols one example could be the dye which we use for playing ludo let us say. So,
that is a source and it has 6 symbols 1 2 3 4 5 6. So, it could be ⋅ , ∶ , ⋮ , ∷ , 5 dot and the
famous 6 dots. So, this could be source where this is the alphabet right you could represent it
as 1 2 3 4 5 6 or you could also indicate to be a b c d e f.
Now, this is important to understand at this point that what we are talking about and what we
mentioned earlier is the receiver knows that you are going to choose from 6 different options,
whether this is a one whether it is a dot whether it is a one whether it is a is rather not
important, but what is more important is that there are 6 possible options and you want to
choose any one of them and they are distinct this is very very critical it could be independent
by this diagram it could be independent by this sequence by these set of symbols or this set of
symbols or any other set of symbols which you can think of.
So, what the source produces it produces a sequence almost like you throw a die. So, first you
might get 2 let us say then you might get a 5 well you can get a 1, you can get a 3, you can
get 2, again you can get a 6 right you can get 2 again and so on and so forth and this could be
represented in another way that I get a 2 5 1 3 2 6 or 2 and so on and so forth and you can
similarly do with the these particular symbols. Since it throwing out discreet means a distinct
symbol at every instant of time, so, that is explanation of discreet source and it is not
necessarily this, it could be a letters of any other alphabet let us say the Chinese or the Hindi
or the Bengali or any other particular script, we are also think of letters from those alphabets
coming out so that would characterise the discreet source.
Well 0 and 1 sequence is also a discreet source it generates a 0 and a 1 after another right. So,
these are examples of discreet sources and in today’s world we are mostly in the discreet
sources and we also mentioned that if we have an analog source you can convert it and once
you convert it then it becomes a digital source which is the sequence of zeros and ones. If you
look at a text file it is already having letters a b c d e and so on and so forth right. So, these
are discreet source and you can associate notion of time with this, but that is not necessary.
What do we mean by this, what we mean by this is that suppose it is event and things are
happening one after another. So, it is generating these symbols one after another example life
stream a life stream of video has a sequence of zeros and ones getting produced at certain rate
and if I want a file transfer then it is a file which contains all these symbols right, it could be
the letters of English alphabet or could be the zeros and ones and I am transferring them from
the source to the destination.
Now, when you are doing this you could be doing this transfer over a slow link or you could
be doing this over a fast link or you could be physically carrying it and the file comes as it is.
So, in that case the notion of time may not be critical. So, notion of time is not a compulsory
must to define a discreet source, discreet source essentially means that it produces a distinct
symbol every time there is a there is an output or it contains sequence which has this
discreetness time could be part of it or it would be come in a bulk where there is a particular
sequence. So, this is all about discreet sources that we are going to discuss.
(Refer Slide Time: 23:35)
Next we move on to how to take care of coding because we are talking about source coding.
So, one of the first basic coding techniques is known as the fixed length codes. So, we will
complete it for discreet sources. So, one of the characteristics of this fixed length codes is
these are very very simple a very simple to use, very easy to understand and we would define
code with the C which maps each symbol x. So, x can take values 1 2 3 4 or a b c d and this
X is defined as this particular set and these individual ones are x.
So, each symbol x ∈ X into a distinct codeword C (x), you can think of it has a function
almost I get the symbol I put into C I get C (x) which is the codeword things will be very
clear. So, where C (x) is a block of binary digits each such block is restricted to have the
same block length L this is important. So, when we say fixed length code what we mean is
that a symbol a or b or c or this 1 2 3 4 whatever it is, gets mapped to a sequence of binary
digits and when a gets mapped to a sequence b gets mapped to another sequence the length of
these sequences are the same. So, that is fixed length and that length is fixed to L. So, for
example, if we have X ={ a , b , c , d , e , f , g }, let C ( a )=0 0 0 the code for b, C ( b )=0 0 1 and so
on and the code of g, C ( g ) =11 0 we could assign this.
So, if we look at this particular length this is L=3, and what we would we can say is that
suppose we fix this length it is almost obvious that I have 3 positions to fill each position take
a value of 0 or 1. So, when each position can take a value of 1 there could be 2 possible
options on the first positions, there could be 2 possible options for the second position, there
could be 2 possible option for the third position which would imply that there is 2× 2×2=23
possible options. So, which you can easily connect to 2L in this case so; that means, if there
are L is the length of the code. So, there are 2L different or distinct combinations that are
possible for codewords that are possible and if our set of X .
(Refer Slide Time: 28:01)
This set of X that we have and we say that there are M elements in it which we would
identify as the cardinality of X or, M =¿ X ∨¿ at this particular symbols means number of
elements in it.
So, if M ≤2L then it can imply that a distinct a different binary L tuple I am using certain
terms if you are going to use L tuple means it is group, it is group of bits binary L tuple may
be assigned to each symbol right. So, this is very very important it should be different
because if it is not different at the receiver what we are getting is only sequence of zeros and
ones it is this clear from here. I have this source I will map it to these sequences. So, at the
receiver suppose I am sending suppose I am sending a g e and so on b, what I am going to get
is 0 0 0 for a, for g you are going to get 1 1 0 this is going to give you 1 0 1 let us say, and no
it will be 1 0 0 f would be something else and suppose b it is 0 0 1 say for example, this the
receiver only sees this sequence, the receiver only sees this particular sequence.
Now, the receiver must distinguish that what it has received. So, the receiver should know
that these few bits I group them together I go back to my table and I find means an a. So,
receiver will decode it to be an a, similarly these will be grouped together and receiver will
look back there and it will find it is a g and so on and this will be mapped to b. If two
different codewords mapped to the same symbol in that case the receiver would be confused.
So, that is why this particular statement is very important it will be very clear why I am
stressing this particular thing in the next lecture that each symbol must map to a distinct
codeword and that leads to something known as unique decodability which we will see soon
after discussing about the variable length coding.
Thank you.