Lecture 55 : 5G MIMO codebook design – part II

IIT Kanpur July 201
20 followers
2 Video Views·Oct 4, 2024
Okay, welcome to the class and what we have been discussing is this codebook based MIMO
okay and we will continue discussing this today, in this class we will wrap it up.
So, what we learnt yesterday was that how codebooks are used to feedback the channel
information for nl is equal to 1 layer okay wherein base station had 2 antennas and then
UE had 1 antenna okay right and then what we are going to see today is how does this
happen for nl greater than 2 layers okay greater than equal to 2 layers, we will take an example
of nl is equal to 2 layers and then we will see how what additional information UE needs
to feedback when the number of layer is greater than 1, how does this happen and then the
additional information okay.
So we will quickly recapture what we learnt here and then we will move on to this aspect
okay.
So, what we saw here was that we considered this example case wherein base station has
2 antennas, we are looking at the downlink okay, user has 1 antenna, so the rank of
the system is 1 right, it does not matter how many ever antennas base station has okay,
we are taking example of 2 antennas but the same idea is applicable for any number of
antennas okay.
So what I but whatever what have I given you is the codebook for 2 antennas okay, if there
are more number of antenna the codebook will accordingly will have to be different okay
and these codebooks are defined in the standard okay for different number of antennas, so
the idea is readily extendable to any number of antennas at the base station but the UE
only has 1 antenna okay right.
So this is the example codebook which we saw and what we saw here was in this codebook,
this codebook is giving information only about the phase of the channel right okay, so because
it does not the way this codebook is designed all the channels if you look at it okay, this
is both of them have the unit magnitude in all these codebook entries okay and what is
different across these codebook entries is only the phase okay and what this codebook
helps us in feeding back is the indirectly the channel information okay right and why
it is indirect because as we saw yesterday that UE picks up the codebook which maximizes
the SINR okay and which pre-coder entry this is this codebook will be used as the pre-coder
at the base station okay right and UE picks up this entry such that it maximizes the SINR
okay and we know which pre-coder maximizes the SINR for this kind of system okay, it
is maximum ratio transmission okay.
So in practice what is UE doing, it is UE has estimated the channels okay instead of
directly indicating what is the channel it says it is the base station please use this
pre-coder so that my SINR gets maximized correct and which is basically indirectly telling
the channel and but there is a clear limitation on the way this channel is being indicated
and there is only the channel information has to be indicated only using two bits right
because UE can indicate only one of these entries and it needs only two bits to do that
okay right.
So if you need to send more information basically if the codebook size is bigger then you need
more bits and those codebooks are also defined in the standard okay and those codebooks are
typically used for multi-user MIMO okay and I have not taught you that but the feedback
required for sending those bigger size codebook is much more than the simple example which
we are taking now okay right.
So and feedback runs into hundreds of bits okay you see only two bits this feedback runs
into hundreds of bits for different kind of codebooks okay and that is as I said for multi-user
MIMO.
So now what does this codebook contain?
It contains only four pre-coders okay as I said these four pre-coders and UE will choose
the pre-coder entry which maximizes the SINR, SINR of I and how did we define this SINR
of I that is defined in the next slide okay and how is this calculated?
UE assume that base station is using the pre-coder V of I because that is what it is indicating
okay.
It assumes this is a system model okay right if whatever in pre-coder entry it will feed
back base station is going to use that entry as the pre-coder okay so and it knows that
it knows the system okay that the base station has because the base station has two antennas
because it is picking out the entry from two antenna codebook right and it has estimated
user has estimated these two channels only and they are un-pre-coded channels right.
So all this information is not hidden from the user that how many antennas base station
is using to transmit the signal in this case right okay correct.
So what UE assumes is that GnodeB is using this pre-coder and GnodeB will transmit if
it is using this pre-coder what will GnodeB do?
Pre-coder what is the first entry of the pre-coder VI1 that is okay so what will be sent from
first antenna VI1 into X if X is the transmit signal because you will transmit only one
symbol it is a layer one transmission okay right and so GnodeB will transmit this from
first antenna and this is from it will transmit this from the second antenna because this
is a second entry multiplied by the symbol okay right.
You remember this where this is coming from okay you what happens VI1 right this is what
we what is being transmitted and so this is from first antenna and this is from second
antenna and the received signal is this thing correct this is the signal from first antenna
gets multiplied with the channel from first antenna similarly from second antenna and
the noise right and so this is what user is assuming that is what it is that is how the
signal will be transmitted and it knows this channel okay and what it needs for calculating
the SNR is basically the power of X right and then what it does is it knows all the
pre-coder entries okay HVI VI it knows and what it does is it calculates the SNR like
this.
Whichever pre-coder entry maximizes the SNR it feed back that pre-coder entry to the base
station okay and this entry is information is called PMI okay pre-coder matrix indication
okay and you see this, this is because UE has one antenna and then it is it implicitly
knows that the rank of the channel is 1 right and if it has two antennas you will see that
I am going to discuss that it will have to feedback something on rank information also
okay so along with pre-coder matrix indication it feedback RI this is called rank information
I will tell you how all that is done so we will have to extend that system model because
in this case it is a simple model wherein the rank is 1 pre-coder matrix indication
is whatever is out of those four entries okay right.
So now from the last slide to this slide where are we moving we are what we are saying here
is this is for a single antenna system now let us say I want to extend it to a generic
case wherein transmitter has multiple antennas and user has also multiple antennas receiver
also has multiple antennas and we know this system we have looked at it multiple times
okay right so and we looked at it in context of TDD system wherein base station knows the
channel and it can design the pre-coder correct okay but and this is base station uses pre-coder
V NL layers pre-coder maps this to the NT antennas goes to a channel multiplied the
receive signal gets multiplied by W of H and NL layers are basically recovered at the receiver
okay.
So this is a generic framework which can help us in transmitting NL data layers okay right
and if what happens if NR is set to 1 it reduces to the framework on the last slide because
number of receive antenna is 1 okay fine okay now how does this work then we write it again
mathematically what happens here.
So mathematical model for this NR cross NT system with how many layers this is the number
of layer okay what is the system model what is this H X tilde X tilde is a pre-coded signal
which is V X tilde is a pre-coded signal and what have I done I have just written H as
W lambda V Hermitian okay SVD and then what happens here I pick the pre-coder as some
M okay I am not writing it as V because base station does not know that right okay.
So this pre-coder base station should find out what is the pre-coder and who is going
to feedback this information user correct okay right and W lambda V Hermitian and if
it finds out that this is the base user feeds back this information okay then the pre-coder
M becomes V okay I am not directly writing it I am saying that who is the user has to
feedback this information and user will have to calculate this V and then feed it back
to the base station then base station is going to use this pre-coder okay right that is why
this two step process and then correct if then base station later if base station uses
this pre-coder okay then what will happen user will use a particular receiver and if
in this case everything is fine it knows that channel is stationary nothing has changed
it will design this receiver will be W Hermitian and will be able to recover lambda of X it
is a diagonal system okay if you look at Y tilde all the streams are decoupled together
okay and will be able to recover the data okay but the clear problem what we are looking
at is how base station find out what pre-coder M to use correct because it does not have
a channel information only user has the channel information correct okay.
So, if it is a NT cross NR system or NR cross NT system what happens base station will first
transmit NT port CSIRS right okay because user has to estimate the channel and what
is the channel dimension NR cross NT right it is a un-pre-coded channel okay correct
and then in order to estimate this complete channel these many ports of CSIRS should be
transmitted let us say that has happened okay it is assumed that base user has estimated
the channel okay and after that what happens okay user has a channel information right
how does it design this pre-coder what is the code book and then the next step of estimating
the rack how does that happen that is what we are going to look at okay fine.
So, for GnodeB to use this pre-coder UE has to either feedback H or V right either feedback
this H or feedback this V okay and we know now that it will never feed H okay it will
feedback V okay and that feedback and then this V will be one of some code book entries
right okay we saw that for a simple case system now we are doing it for some like we for some
other system where in the rank is not 1 okay and we are going to do it for rank 2 system
okay right.
So, but the same idea will be applicable for higher rank system also okay what are we saying
here it will neither feedback H okay nor feedback V also directly it will feedback some of the
code book entries which are defined which are known both to the base station and the
user okay right.
So, now what are we saying here what I am so I am looking at a very specific case again
simplifying the system and if you understand what is happening here they are applicable
for any generic NR cross NT system what am I what is this what are we considering here
I am considering a 2 cross 2 system okay 2 transmit 2 receive okay you see this is a
code book I am taking a simple example this is how like I have simplified it because if
you look at 5G the number of base station antenna is 64.
So, I have reduced the system for us to understand what is happening okay correct so this is
2 transmit antenna code book only 2 entries so 1 bit feedback fine okay one of these entries
need to be transmitted back to the base station by the user okay and what user has is has
done is it has estimated the channel H okay fine right so what will it do so first thing
you notice is rank 2 code book has only 2 decoders and compared with 4 of rank 1 okay
so this is I have simplified it and now so the system model for this code book based
MIMO what we are doing okay this is called spatial multiplexing also because you are
multiplexing multiple streams and parallel just for the record okay so what is this is
our system right okay y is equal to Hx tilde plus n okay then user assumes that one of
these decoders entry is transmitted okay something similar to what we did in the last
case okay Vi okay user has the channel information right so what will happen I call this as H
tilde of I Hv of I what is I either of these code book entries correct okay right and then
I call this H tilde of I and then we will have to design some receiver correct because
what is happening here it is this is one thing which is different from rank 1 case okay you
look at this 2 layers are being transmitted okay these 2 layers need to be separated right
then the receiver needs to be designed by the user okay so there is some receiver W
which user is designing it can be SVD based it can be zero forcing it can be any MMSC
based receiver okay that is being done and once that is done right what happens okay
so this is this is the equivalent system WH of Y it becomes what is this we can call this
as Y tilde okay I am not right so this is this is a vector okay and user looks at this
vector so we are assuming that this once this receiver design is done user does this operation
all these 2 streams are decoupled together or these 2 layers are decoupled together right
okay fine then what does it do okay.
So now there are 2 entries okay what will it do so it has to design what are you saying
here it has to decide which pre-coder information should be fed back right okay how is it going
to do to select this particular pre-coder V of I UV does the following okay for both
of these entries right I will run from 1 and 2 the 2 pre-coder entries okay for each one
of them right because it does not know what is the best entry so it has to run this operation
for both of them correct okay so it does what it does is it does HB1 okay designs a receiver
W for that correct okay right I call it WI okay what is this HI tilde this is this is
right okay so step number 1 pre-coder 1 you calculate H1 tilde design W1 for that okay
so it can be any receiver based on what UV capabilities are okay can be like MMSE receiver
it can be SVD receiver it can be zero forcing receiver any receiver okay but the receiver
design will be different for H1 tilde and H2 tilde why because in one case you are multiplying
H with V1 in another case you are multiplying H with V2 right.
So the matrix become different the inverses will be different that is what I am saying
if you are using zero forcing receiver inverse of HI H1 tilde is different from inverse of
H2 tilde correct okay so this step has to be done for both these pre-coders okay right
so you idea is clear okay H is estimated then H V1 tilde is H1 tilde is calculated okay
and W1 is calculated then this operation is done right these two streams are decoupled
now for pre-coder V1 similarly you have to do it for pre-coder V2 as well right okay
so once this is done what happens okay that what will user do after that okay this is
the first step okay.
Now second step will be see these two streams are decoupled together okay right what does
what will it find out in this case in the last case it found out SNR there was only
one layer okay and in this case it will find out SINR signal to interference plus noise
ratio okay right what will it find out in each case let us say it does this operation
for H1 tilde okay how many layers are there two correct each layer first layer okay what
look at this what am I saying here SINR I1 okay SINR when the pre-coder entry is one
correct okay what will be the SINR P is there because X is by and not and what am I writing
over here some function of the channel okay that because it will if you do zero forcing
correct the signal will not have any channel term but the noise will have right H inverse
will multiply the noise correct.
So it will be some SINR will be some function of the channel of course okay we do not know
what it will be based on the receiver design so this is something you can say that because
if we do the SVD what will come here singular values you remember lambda 1 square P by and
not lambda 2 square P by and not if it is zero forcing those lambdas will be different
okay because those coefficients will be different because you have done a different receiver
design right okay so SINR is a function of receiver design plus the pre-coder also because
what are you doing you are looking at a H tilde H1 tilde H2 tilde right okay.
So what has happened it is looking at pre-coder I calculating the SINR of first layer calculating
the SINR of second layer right okay and what it does is computes the sum rate okay right
okay it is interested in maximizing the rate log 1 plus SINR right you remember in the
last case what did we maximize SINR that was indirectly saying as it is maximizing the
rate because there was only one layer log 1 plus SINR right okay here what am I saying
here is that this is SINR okay there are two streams each of this stream will have
a different rate okay correct so what it does is it calculates the rate of first stream
it calculates the rate of second stream for each of this pre-coder I right and calculate
a sum rate look at the index it is SRI because you are calculating for a particular pre-coder
I so you will calculate this for you will have two such numbers of some rate okay for
each of this pre-coder right it will become sum rate 1 and sum rate 2 what happens after
that feedback the index of pre-coder matrix VI with which maximizes the sum rate SRI two
numbers whichever is greater is basically if right you will feedback that pre-coder
index right V1 maximizes the sum rate you tell the base station that please use this
pre-coder for me it is maximizing my sum rate right okay similarly here okay whatever
pre-coder entry maximizes sum rate that is fed back by the user to the base station right
okay so this step you should remember these two steps these steps are done before data
is transmitted because what is what are we doing okay that look at the look at the flow
of the system okay it is a FDD system or even TDD system when base station does not have
the downlink channel information right it wants to pre-code the signal it is asking
the user to feedback that information back to the base station okay so data has not been
transmitted correct okay so this is only the pre-coder calculation stage and it is done
when CSIRS is transmitted okay and when why will CSIRS be transmitted because base station
wants to find out the pre-coder information right and in this case in whatever we have
learned the CSIRS which is being transmitted is un-pre-coded CSIRS correct right okay and
in fact if you look at it then so this is sum rate okay now during this step if this
is a sum rate user can feedback the MCS information also right what is the MCS information rate
only right okay so it will feedback PMI and feedback MCS correct because what is MCS the
sum rate which is being observed now look at it if there is the way I have taught you
the way it is done in the standard right how many MCS indices user will feedback in this
case only one because only one transport block is sent from the MAC to the physical layer
when the rank is less than or equal to 4 right okay correct so and that MCS information will
correspond to this particular rate right okay so fine okay so PMI and MCS okay is this clear
okay how this is done and please remember that this channel information is fed back indirectly
right and base station is also not interested in finding out the channel it is interested in
finding out what pre-coder it should use and if you tell that you use this pre-coder it does not
care about the channel after that why should it you need that channel information to as I said
to calculate the pre-coder right okay so raw channel as I said is never fed back by the
user to the base station it is only one of the pre-coder information is sent and that
to also through code book entries which is which are known both to the base station and to the
user right okay fine there is one more thing left and that is a rank information okay because if you
remember okay so that is that is in this slide we will discuss about this idea of rank calculation
okay and then in the next class we will look at in all in details what how this happens okay.
So even so what is this rank we are looking at a channel H right for the system which we
considered earlier transmitter has two antenna receiver has two antenna okay so it is a what
is that how does the channel metric what is the dimension of the channel metric 2 cross 2 right
now what is the maximum rank of a 2 cross 2 matrix 2 what is the minimum rank of a 2 cross 2 matrix
1 right okay because if two columns of this channel are dependent on each other what happens
the rank becomes 1 the basic fundamental linear algebra okay right that rank can be 1 or 2 okay
and the rank of such a matrix is 2 if two columns are linearly independent of each other rank of
this matrix is 1 if the columns are dependent on each other right now I am bringing this notion
for the first time that this rank can be 1 or 2 okay and it could happen in practice also right
that user is observing a channel whose rank even though it transmitter has two antennas and receiver
has two antennas it is not guaranteed that the rank will always be 2 okay now the channel could
be such that these two columns are dependent on each other could happen okay right how can it
happen I am not going to discuss that in detail here okay we do not have time but the rank can
be 1 or 2 that is the problem okay right if the rank can be 1 or 2 user need to find out that
also because user only has the channel information okay if the rank is 1 then it will be how many
layers user base station can transmit only 1 the rank is 2 can transmit 2 layers right okay fine
and you will feedback that information also back to the base station there is so in the control
information which is fed back as I said user has to feedback ri also okay so that is the problem
okay that channel rank is 2 but the channel rank can also be 1 there is a maximum minimum is 1
fine okay we are bringing in this notion for the first time because we have to discuss about rank
information till now we are we have always been saying that the rank is 2 if it is a 2 x 2 system
okay we did not have to like focus on this rank 1 because there is no point in doing that but rank
can also be 1 and that is what we are going to see so this rank has to be indicated to the g
node be by the user because user only has the channel information okay this parameter is called
rank indicator okay right and how will you will decide which rank to indicate correct okay there
should be some recipe again that comes from I will teach you very basic principles okay if you
have understood what has happened on the last slide how to calculate the sum rate okay this
rank calculation recipe will also be easy to understand okay so we will next discuss an
algorithm that you can employ to calculate the rank the recipe I will give you for this system
how to calculate the rank okay then what will happen with this information is that you feedback
you has to feedback what will it feedback feedback ri will feedback PMI will feedback MCS to the g
node be okay right if it is so this always needs to be feedback because what we are the way 5G or
4G systems were designed a station always has multiple antennas okay correct so whenever the
control information is sent right by the user to the base station these three parameters will
always be sent by the user because there is always a MIMO transmission the number of layer could be
1 right okay because base station is deploying 64 tens of antennas correct okay right so whose
if this is the case which we are discussing wherein like base station does not have the
channel information okay user will always have to feedback three parameters not only MCS and
because without these two parameters base station cannot precode the signal and we know without
precoding a signal those multiple antennas at the base station okay serve very limited purpose
okay right so this is always done correct okay so we will in the next class we will immediately
begin with discussing this rank indicator recipe okay very simple okay but before we discuss that
and to conclude this class what have we learned in this class we have what we have seen here is
that we have extended the idea of feeding of UV feeding back this precoder information from nl is
equal to 1 layer to nl is equal to 2 layer okay right and if it is for nl is equal to 3 layer
what will happen same idea right okay so it will be let us say it is a 3 cross 3 system or 4 cross
3 system or 64 cross 3 system correct user will have the complete channel information through the
CSIRS right okay and it knows that we see UV knows that it has three antennas so what will it do
right there will be a different code book not this code book there will be a different code book
which is defined for this system correct okay we will do all these operation whatever we did in
the last slide okay so it will calculate basically the depending on how many entries that code book
has okay let us go back just to how many entries code book has right okay it will feed back instead
of one or two it will feed back let us say there are like 16 entries in the code book in a for a
higher dimension system you will have to do this operation right for all 16 entries of the code
book correct and then if it is a rank 3 system right it will have to do so it will figure out
how many such summaries will be there there will be 16 different sum rate corresponding to 16
different entries of the code book right and how will that sum rate these sum rate be calculated
because maximum rank is 3 we are assuming that okay i1 i2 and i3 sum all of them for 16 different
code book entries okay whichever code book entry gives you the maximum you feed it back to the
base station right okay so the idea remains same estimate the channel right design the pre-coder
for design the receiver for each of this pre-coder entry calculate the SINR of 3 layers sum them
there will be 16 different entries 16 different sum rate corresponding to 15 16 different entries
of the code book feedback the maximum that is all okay we stop thank you.
