Lecture 16

IIT Kanpur July 201
20 followers
Aug 9, 2024
[Music]
okay welcome to the class what we are
going to learn today is the receiver
design okay for the transmit chain we
have
learned so what we have covered till now
is basically the pdsh transmit chain and
this becomes the pdsh
receiver chain okay just for to complete
the understanding okay where will pdss
transmitter chain be implemented it will
be implemented on the base station okay
the down link transmitter chain who is
the transmitter in the down link base
station and who is the receiver in the
down link UI okay so what we are
learning here is basically the uee
processing now so that was the base
station processing whatever we have
learned till now and we are going to
learn the UEI processing okay there's
only one part of the UEI processing it
is much more complicated than not I'll
show you okay because UI needs to do lot
many more things before it can actually
do this okay but hopefully when those
modules have been implemented they have
been executed okay so you have reached
the stage where in like you have to
process the data okay so we'll touch
upon all that so this basically this
receiver designed for the transmitter
chain which is discussed that is pdsa
chain okay and then we are going to see
the PD receiver chain so similarly there
is this base station transmitter if it
is Uplink okay what happens that is
called the P chain okay and physical
Uplink shared Channel okay this part of
the processing whatever we have learned
is more or less similar in both These
Chains okay right whether it's pdsa
chain or P chain okay so this part
whatever I showed you okay let's come
here okay before we actually get into
this pdsh
receiver this part okay this is pdsh
transmitter okay this becomes pdsh
receiver okay so this basically is the
split okay this is trans base station
this is the UEI okay now if you flip it
okay if you start talking about the
Uplink okay then this part of the chain
remains same there other modules which
come which will be different okay so
then if it is PS transmitter who will
implement this UE will implement this
and then this will be implemented by the
base station okay right so please
understand this
now what is so where will the
transmitter change begins from raw data
it ends at the modulated
symbols the pdsh receiver chain where
will this begin begin from the
Dem modation and then it has to give you
this the raw data okay that's the
process it's the reverse of what you
have learned of the transmitter correct
okay so we begin from here okay so we
understand what kind of modulation
schemes standard gives standard gives
these modulation schemes starting from 4
to 256 quam okay now it has to be
demodulated these s symbols need to be
demodulated because that's what we are
seeing Okay so and what is the job of
this demodulation what should it do okay
demodulation should
basically look at these symbols because
modat symbols okay we saw that okay if
it is qpsk there will be four possible
symbols if it is 16 quam there will be
16 possible symbols okay
and now the question you could ask is
okay if the mapping at the modulation is
so clear what is the job of the
demodulation okay right so that's we'll
see that okay that so why demolation is
complicated than modation okay because
demolation has to decide okay and it has
to decide based on what kind of received
signal it is based on what kind of
signal it is receiving okay so that's
what the job deodor detects bits from
these modulated symbols okay right and
now you could ask me this okay that ldpc
decoder okay works on the demodulated
bits and not on the symbols we discuss
this briefly in some form okay now you
could actually have a ldpc decoder
working on a symbols directly okay now
why it is not done again because of the
implementation constraint not practical
to design decoder for different
modulation schemes okay four different
modulators you'll have four different
demodulators four different decoders
also okay so in practice people do that
not in the standard but if you want to
implement some other simpler
communication systems okay you can take
the directly the demodulate the symbols
then you can feed them to the ldpc
decoder okay it will work so but not
practical to design so that's why
basically this demodulation is there so
that it gives you bits okay so
now what is what is happening okay let's
we'll take an example of Q pskd
modulation these were the four
constellation points you transmitted one
of them if you're right okay if you look
only at one symbol okay right let's say
you Transit one of them what happens
here you will not receive exactly one of
them why because what is the reason okay
how did your channel look like or how
did your system look like okay right you
transmitted if x is the modulated symbol
what kind of transformation it under
under goes it under goes it gets
multiplied by H which is complex it gets
multiply added by the noise gets added
okay right so what happens let's say you
transmitted one of these points you will
okay now depending on what H is okay
let's say h is you are in the basement
of a building h becomes very poor H
becomes
zero it can okay right H becomes very
what will happen you transited X it
become
zero right okay forget if H is also not
there okay and then if if H is one just
H is very strong okay if only noise is
there okay right so you they're in a
poor SNR regime what is SNR the signal
power is much lower than ratio of signal
power to the noise power noise power is
very high when compared with signal
power okay what will happen you
transmitted this it will move here or it
might move here also it might move here
also fine that's how your Communication
channel is okay now if this noise is not
there you don't get your jobs as an
engineer okay why because whatever you
transmitting you're receiving without
errors why will you need need ldpc
encoders why will you need all these
encoders or decoders sophisticated
processing right so we have our jobs
because noise is there and the channel
is there okay right so now what is the
job of this qpsk demodulator it looks at
this received symbol okay this is what
it has received okay now based on this
it has to decide which of this point was
transmitted correct okay if it can
decide then then what will it do if it
decide that this was the point which was
transmitted then you know that this
basically it is easy to demap this
constellation point to these bits
because that mapping you know right okay
so what I'm saying here when I say that
that mapping you know is basically this
constellation is known at the receiver
also okay it is not known what was
transmitted okay correct so what I'm
going to tell you a very simple rule
okay this comes from in the
communication Theory okay and what is
this rule this is called in order to
detect the bits from the symbols okay
right what do you do you apply something
all this nearest distance detection rule
what is this okay in this in this case
okay you will compute this distance from
of this received
point from all
these transmit
points okay right and
whichever is point gives you the minimum
distance you declare that as transmitter
Point okay right and like one can show
you that this is the best you can
do okay right best in terms of reducing
the error okay the best has to be
defined appropriately okay so this
decision rule basically gives you the
minimizes the bit errors okay now once
you have basically decided based on this
minimum distance rule okay right that
this was a point which was transmitted
then you do the reverse mapping okay do
we understand this okay first is
basically apply the minimum distance Ru
and then threshold so once you have
decided this minimum distance you
basically what will you say okay I'll
you'll declare it you'll threshold it to
that that this point was transmitted
okay once this you have declared that
this point is transmitted then it easy
to do the reverse
mapping now keep this in mind that okay
this is a final Point d map the symbols
into bits once this is decided okay now
I'm taking a liberty
and while telling you this okay this is
something called the hard decoding okay
where in what we are doing here is we
receive
this point and we are thresholding it to
we declaring that this was the point
which was transmitted okay or whether
this was transmitted we are deciding
okay at this stage itself okay this is
called hard decision decoding if time
permits I'll teach you about soft
decision decoding also wherein you don't
decide like this okay you calculate the
probability of whether this symbol was
transmitted or this symbol was
transmitted or this symbol was
transmitted or this symbol was
transmitted okay right so in this class
I'm not going to do that okay that like
the soft decoding is better than this
hard decoding it gives you performance
gains okay we'll see that later okay now
but for this class what are we doing
what is demodulator doing okay it is
taking in these symbols and then
deciding which of this point was
transmitted okay one of these points
will be transmitted right okay correct
and then based on that okay once this is
decided let's say in this case because
this is what will give you the nearest
distance okay right and then you will do
the demap the symbols into bits this
mapping depping is known what is not
known is what is deodor needs to decide
is basically whether this point was
transmitted or any of these four points
were transmitted and there is a rule now
I've given you the
rule okay this is the nearest distance
rule okay correct and this is called
maximum likelihood decoding I'm not
going to the details of this but that's
what it is okay fine so that's how it is
done that's the job of demodulator what
has demodulator given you now bits
correct okay and those bits you process
and you do the reverse processing at the
receiver okay what is the reverse
processing you need to do the demolation
is
done fine okay then the instead of
Scrambler you have a you have to
descramble those bits okay how are you
going to descramble those bits so what
do you need to descramble one thing is
that those these demodulated bits
there's something else you need to
descramble and what is that c pseudo
random sequence okay so receiver has to
generate that Pudo random sequence
exactly the same pseudo random sequence
which is generated by the transmitter
and that information is known to the
receiver also okay right otherwise it
will not be see it will fail if receiver
does not have that information it'll
fail okay because if you use it a
different pseudo random sequence it'll
give you a completely different output
okay so that information with like like
which pseudo random sequence to use that
is passed by the base station to the
user okay through some other channel
this called control Channel we'll study
that also okay but for this processing
we are what we are assuming here is that
that sequence is known okay right so
what is what is this there are scramble
bits okay and scramble bit output was
blda right this is what this demodulated
output is going to give you it is not
going to give you B it is going to give
you B till what this is right but you
need to get unscramble them and you need
to get B from this how will you do
that okay how will you do
it you you scramble you have this blda
right correct this is what we have this
is what this Dem modated output will
give you what will I do I'll again exort
with the same
sequence correct okay so what happens
here so what is if you substitute we'll
see how will you get B of because what
is happening here okay B of I is B of I
I'm writing it like
this okay right we substitute it here I
think if I have explained it in the next
slide I'll not do it here okay I'll just
write it
here okay so what happens here if you
substitute B over here okay why it how
it how it becomes equal to B of I do we
understand
this okay I writing B of I is B of I
exor with C of I okay now let's
substitute what is B of I let's not
assume that this is equal to B of I what
is B of
I this is B of I exor with C of I you
are again exing it
with C
ofi correct
okay now so you exing let's say so what
is this I look at it like
this C of I exal with C of I what will
you get a bit stream of zeros because
you exal the same sequence exal the
sequence with itself you'll get a string
of zeros correct okay so what is
happening B of I exal with a string of
zeros which is of the same length of B
of I what happen
B of I you exort anything with zero you
get back the same sequence okay right so
this is B of I that's how you get this B
of
not okay correct so this the idea okay
you ex with the same sequence and that's
why you need c of I to be known as the
receiver fine okay so this is the
example if you have understood that math
this is very simple to understand okay
so 8bit Cod is sequence B of I this is C
okay so you get B TAA is this ex what is
B TAA B of I exal with C ofi right okay
so what you get here is 0 exal with 0 is
0 one exal with one is 0 0 exal with one
is one there a scramble sequence how
will you get Des scramble sequence you
scramble it with again C of I and of
course you'll get the get back B of I
that's what I showed you in the last
slide because C of I exard with C of I
is zero and you'll get back the same
sequence B of I simple whatever you did
at the transmitter do the same thing at
the
receiver okay but then Scrambler has met
his objective which is basically that
you it maintains average energy
constraint done the scrambling also done
it is exactly the same as the
transmitter okay right so what is the
next module which follows after that so
you look at this there's no notion of
code
blocks correct okay right but what
follows after this is everything is
basically happens in terms of code
blocks there should be this code block
segmentation module which is basically
this right which should come
here why should be there because what is
segmentation doing it is deciding how
many what is the size of each of the Cod
block you need those numbers right okay
you need those filler bits okay and the
number all these numbers you should know
okay so what did code block
concatenation do okay rate match codes
was it was they concatenated okay now
you need to segment them okay and
segmentation is basically you should
know e right because what did you do you
put C code blocks of size e together so
you should know C you should know e you
should know G who going to give you all
these numbers segmentation right so
receiver should exactly have the same
control
information okay right so with that
hopefully that has been done because
that's how it can segment okay so that
information is needs to be passed on and
that is basically all this information
has to be there with the receiver you
see how complicated it is okay receiver
needs to know all that then only it can
start this information this decoding
that's what I said okay the receiver has
done all this processing okay then it
has this information then it needs to do
this processing you see how complicated
your mobile is okay right
so now so with this basically you have
these four rate matched code
blocks correct okay and this rate is how
much is the rate this rate is what was
asked by the
user correct okay fine so we have how
many four such rate matched code blocks
correct and then the this is basically 1
1 3 40 into
4 okay right so that is g and this is
e once this e is there so what is
happening we have to De inter leave okay
once this code block has been segmented
we have to De inter them okay so this is
continues so basically what are we doing
we have four rate match code block code
block segmentation output is four code
block of length 1 1 3 4 0
okay total output bit is 4 53 60 this is
again the numbers remain same
okay now this process happened you have
how many code blocks four code blocks
what do you need to do de intering right
what is De interleaving you have to look
at how inter leing is happening okay you
to do the reverse processing of that how
was this inter leing done it was intered
using row column interl what did it do
this correct so you need to know what
modation scheme was used of course
correct okay and then what will happen
what are you going to
do what will this Dever do okay it's
going to just read them
appropriately right you have to write
four lines of code read them
appropriately what are you going to do
in this case you take every alternate
bit put it like this every alternate bit
put it like this then how you going to
read it you're going to read them like
this do the opposite of this what you
did at the trans that's what is the
intering right that's why it's not
specified in the standard none of this
is specified this is of course comes
from communication Theory this is basic
common sense right okay why will anybody
specify that there's nothing to specify
here okay right so this is basically you
have done the de intering by reading
them appropriately nothing else okay so
de intering is done this is most
interesting okay how is you have rate
match how you do the rate recovery that
requires some again Common Sense nothing
more than that okay we'll see that okay
so what are this Common Sense rate
matching what did it
do what did either punched the bits if
the rate which was asked by the user is
higher or repeated the bit if the rate
which was asked by the user is lower
than 1x3 that's what it did that's all
right okay now let's say you look at
this punching what are what is happening
you're not transmitting certain number
of bits
right which were generated by the rate
1/3 ldpc encoder as I said why do you
need this rate recovery because this
ldpc decoder also works at rate
1x3 what does that mean it will Taken n
Bits And transmit it'll give you K bits
but you not transmitted n
Bits correct how many bits you have
transfered you have transfered e
bits correct okay okay right so those e
bits that information that rest of the
bit information is not there at the
receiver because you can not even
transmit
them correct what do that Common Sense
tell you because you don't have that
information about whether it was zero or
one what kind of information you will
give for n minus E bits some kind of
neutral
information right okay
so I'll come back to it okay in a second
what is this neutral information okay so
ldpc decoder Works only for code rate of
1x3 right okay code rate should be
reverted back to 1x3 because it works at
1x3 and when I say it reverted back to
1x3 it needs n Bits And so that it can
give you K bits that's what it rate is K
by n okay right how do you generate this
rest of the N minus E bits do we
understand this okay if it is redundancy
version rv0 okay so you need to
implement this circular buffer at the
receiver also okay right so if it is
redundancy version
zero right okay what will happen here
how many if it is let's I'll draw this
okay how many bits you transmitted this
is
n right bottom is n this
is K this is what you transmitted you do
not transmit
this okay because that's what was asked
by the user okay now user will have to
decode only using this
information what will it do you don't
have this information and that's what I
introduce the notion of neutral bits
okay right as a transmitter because what
can you transmit as the transmitter
either zero or one and what is anything
in between if you say okay you fill in
these bits will let's say
zero what are you telling the receiver
that zero was transmitted
you're biasing the receiver in front of
in favor of zero if you feed in
one right if you write one okay what
will happen here you're biasing the
receiver in favor of one you're giving
wrong information to the receiver
receiver will understand that one was
transmitted okay if you write zero over
here receiver will understand that zero
was transmitted but that's not the case
what is the case then these bits were
not transmitted
okay right in order to not bias the
receiver you give this neutral
information what is this neutral
information half in
between right okay instead of feeding
zero or one you write
half correct okay ldpc decoder can work
with non-binary
information okay that's what you have to
understand okay so ldpc decoder can work
with non-binary information okay so
instead of feeding zero and one you
should feed half right and that's you
then you are giving correct information
to the ldpc decoder any other
information is not correct because then
you are biing the receiver in favor of
that information okay so that's what I
said okay so write neutral bits for bits
puncher at the
transmitter okay correct that is case
number one what happens for case number
two when you basically you repeated
certain bits also right okay correct
so what will happen here
is
I'll right what did you do when the rate
was lower than what 1 by3 what did okay
your buffer is only of this length
correct okay this is basically what is
that n right this is K okay but you're
transmitting more bits than n that's
what is rate lower than K by n right
okay K by n is 1x3 but if you increase n
right then the rate reduces that's what
we have learned okay
so but receiver can handle only n n Bits
the ldpc decoder can handle only n Bits
so what do you do you go back and add
those bits to what you have already
written there are two different extremes
okay one is you did not transmit some
information because the rate was higher
other case was you transmitted extra
parity bits okay which has reduced the
rate but ldpc decoder cannot handle that
reduced rate it can only work at 1x3 how
will you revert it back that lower rate
to 1x3 you just combine those bits again
at the
receiver right okay fine because user
has asked for a lower rate if you don't
do this combining then you're making
your ldpc decoder work at rate 1x3 user
has not asked for 1x3 it asked for a
late lower than 1x3 you need to revert
it back to that lower rate and how do
you do that you simply add those bits
that's the
idea
okay I hope you get it okay right that's
so repeated bits are combined okay fine
then what do you
do you decode it because what is r done
now okay let's go back
okay so this feed this rate Mash bits
fine to the ldbc decoder because it's
again 1 by3 depending on what processing
you did here okay so the feed these rate
match code block to ldpc
decoder fine it'll give you K
bits okay validate CRC of each code
block there a code block validation I've
given you I've told you how to validate
the CRC right CRC of each code block is
validated then validate transport block
CRC if transport block CRC gets
validated f a job is done
otherwise hybrid arq will be triggered
right and then you'll go to the again
processing that processing remains same
okay signaling for hybrid arq is
different okay in the sense that a knack
a has to be sent Knack has to be sent
that's a part of the control chain okay
I'll teach you separately that okay but
that's how the receiver processing will
be done if everything goes fine okay
goes to the
Macer has got gotten a data you have
gotten your video okay okay you gotten
your voice correct okay if not if it is
voice hybrid arq doesn't kick in right
you'll ask yourself do the hybrid RQ
manually okay you'll ask the transmitter
to transmit it again right what did you
speak okay otherwise for data I kicks in
and then the same process happens okay
so we'll stop here this is the receiver
processing okay we'll continue in the
next class thank you
[Music]
[Music]
[Music]
