Lecture 52 : 5G MIMO transceiver chain – part I

IIT Kanpur July 201
20 followers
2 Video Views·Oct 4, 2024
Okay, welcome to the class and we started discussing 5G MIMO transceiver chain, okay
so we will continue discussing that, there are lot of things which we need to understand
and we will try to cover this in next couple of classes, okay.
This is the idea and this is where we should look at in the standard, okay.
Now I gave you a overview of 5G transmit chain for MIMO, okay till up to 4 layers, right
okay so and what we said was that if the channel rank is up to 4 and base station is transmitting
4 layers, okay so MAC will send only one transport block to the physical layer which needs to
be processed, okay and of course control information will also come along with that and then if
the rank is greater than 4 then the second transfer block comes, okay.
We will try to understand why this kind of like architecture is there wherein like if
the rank is up to 4 then there is only one transfer block but if the rank is greater
than 4 there are two transfer blocks, okay, right we will try to understand that but before
that we are looking at how it is actually done in the standard, okay.
So this is what we know that MAC layer will pass on either one or two transfer blocks
and the related control information to physical layer, okay, right so that is what will happen
and so this is basically we understand the 5 MAC interface and this is what we looked
at yesterday, okay the 5G transmitter chain up to 4 layers, okay and what we are assuming
here is that the base station has 64 antennas, okay.
Now if you are saying that this the rank is up to 4 which essentially means that user
at least has 4 antennas, right that is when the rank can be up to 4, right what is rank
minimum of NT, NR, correct so if NR is NT we are assuming it to be 64 so minimum if
the rank has to be 4 minimum antennas at the UV should at least be 4, correct, okay, right.
So we started looking at this chain and what happens as I said up to 4 layer, okay 5 layer
receives one transfer block and this is the transfer block which has come and it undergoes
this processing, okay this processing we like understand completely we have spent considerable
time of on understanding it and then what happens after that is, okay that this at the
end of it we get one modulated code word, okay and since it is only one transfer block
we call that transfer block as index with q is equal to 0.
It will become relevant when there is another transfer block, okay then the index will take
value 0 and 1, q will take value 0 and 1, okay, right so and this is the output, okay
which needs to be layer mapped, okay and layer map is basically what is this layer mapping?
You take this modulated code block and then d multiplex into the number of layers, okay,
right so what it does is this layer mapping block takes modulated symbol dq of i the output
of the modulated modulator block if you remember we discussed long time ago it is denoted as
d, q means the which transfer block you are looking at in this case it is 0 transfer block,
okay and i is the running index which denotes a modulated symbol, okay so it takes this
as input, okay and then what it gives you is the number of layers, correct, okay, right
so and if it is a rank 4 transmission, okay then what happens it demultiplexes this modulated
code word into 4 different layers, okay and we understood how what is all this there so
what this nu denotes the layer index, okay, right there are 4 different layers, okay so
it will if it is 2 layers it will run from 0 to 1, okay there are 3 layers 0, 1, 2, we
will have to look at the mapping in the standard which I in the document which I specified
in the beginning of this class, okay so what happens here?
So, you take the 0th from d, you take the 0th symbol give it to stream on layer 0, you
take the first symbol give it to layer 1, you give it to take the second symbol give
it to layer 2 and so on, okay, right so if there are 2 layers if nl is 2 what will happen
it will be 2i and 2i plus 1 and it will this will run only from 0 to 1, right, okay nu
will run from 0 to 1, nu so you see these are 2 layers or these are in this case there
are 4 layers, right so this is the layer index 0, 1, 2, 3 look at this, right and i
is the index of this d multiplex layers, fine, okay this is what is happening so you have
gotten 4 layers after that, correct and this is the some notation number of layers in each
number of symbols in each layer that is of course equal to in this case is m0 symbol
by 4 what is this the number of symbols in, correct, okay, right number of symbols in
the modulated code word 0, okay, right which corresponds to the transferable of 0, okay
this is how it works so you have gotten 4 layers, fine and what happens after that is
since we consider nt is equal to 64 antennas this chain will have what will happen after
this there is this precoding, okay what are this precoding going to give you, okay how
many physical antennas 64 and how many layers the precoder will be 64 cross nl, okay so
you will have 64 outputs after the precoder, okay, correct so and then what happens there
is this resource block mapping OFDM signal generator CP addition so this is what we did
for single antenna you will have to do it for 64 antennas we discussed that in great
detail, okay, right so you see that this is the complexity of increasing the number of
antennas, okay and to understand this better like the 64 resource block mapping what happens
after that, okay so consider that each ue is allocated 1 PRV over 14 symbols just for
an example that is the kind of allocation which is done, okay just to show you how it
is mapped after that, okay so precoded vector what will happen what is happening here the
output of decoder, okay it is for each resource element, correct you what are we doing you
are taking 4 layers and you are generating 64 cross 1 vector after that, correct, okay
and where are those 64 cross 1 vector going to go the output of this, okay so first element
will sit in first resource element grid second element will sit in second resource grid third
element is going to sit in third resource grid, correct so there will be how many resource
block grids there will be 64 resource block grids, okay so that is what I am saying over
here, okay so this precoded vector Vk of xk generated for each Re k, okay and each over
each Re it is a 64 cross 1 vector because it is a 64 antenna system, okay, correct.
So and what happens now look at this each Re what does it contain it contains data for
nl layers in parallel, correct, okay the out do you understand this what are we saying
here, okay because what are we generating you are basically getting this vector x tilde
k, right Vk V of k, k is the subcarrier, okay and x is the number of layers, okay if you
take this multiply it with a precoder and you get a 64 cross 1 vector what is contained
in the 64 cross 1 vector is 4 layers, right, okay so over each subcarrier, okay right you
are sending data for 4 layers that is what I am saying that is what precoding does, okay
you are sending data in parallel if it is only one layer and one antenna what happens
you are sending one symbol over one resource element, correct, okay.
Now what you are what are you doing using this precoding you are taking in 4 layers
and generating 64 cross 1 vector which you will transmit over 64 antennas but for over
each resource element nl layers are being sent that is how you increase the data rate,
right that is how MIMO is increasing helping us in increasing the data rate because you
are sending nl layers in parallel over each subcarrier, okay, right and then of course
now that you are transmitting the data DMRS will also be inserted in the PRP's and how
many ports DMRS will be inserted if nl ports, correct, okay and we see that how many what
is the maximum number of DMRS ports which are defined in the standard 8 ports, it will
become clear you see this how many layers we have considered only 4 layers as of now
and how many maximum layer I have told you are you can transmit 8 layers, right, so correspondingly
only 8 port DMRS is defined of course they are coupled together, right, okay.
So and then what happens in this case just to understand because this is for you do this
exercise for one user you do this exercise for another user, right, so precoded data
for this precoded data will be for another user will be sent over another PRP, right,
okay, correct, so are mapped on to different PRP's in this case and this flavor of MIMO,
okay just to keep in mind it is called single user MIMO, okay wherein you the data of each
user whether it is like multiple layers you are transmitting over different PRP's, okay
this is called single user MIMO just to tell you what is multi-user MIMO this nl layers,
right, okay, they could be transmitted to if it is 4 layers you could transmit these
4 layers to 4 different users also, fine, okay, right, that can also be done there is
standard allows us to do that also, so in that case what will happen is those 4 layers
you are transmitting over a single PRP, so each PRP is now transmitting data for 4 different
users, so that particular MIMO is called multi-user MIMO, okay, so in that case that precoded
design will become different that is the only difference, having understood all this that
is the difference between single user and multi-user MIMO, okay, so that how do you
design a precoder for multi-user case that is a separate like topic in itself we are
not getting into that, okay, I teach in MIMO course how to do that, okay, but that is the
only difference, okay.
In this case all these n layers are meant for single user and we see that the second
user data for second user we are transmitting over another PRP which is an orthogonal resource,
right, okay, so what we have studied till now it is single user MIMO, fine, okay, and
multi-user MIMO is also similar, this NL layers will be meant for NL different users, okay,
correct, so that is how it is, then of course what will you have to do?
This receiver transmitter chain will also change, will become different, right, okay,
then you will have to get four different transfer blocks, because each transfer block is meant
for a single user, right, okay, so that design will also become different, I am not taught
you that, okay, but these are the things easy to comprehend once you understand this, okay,
so if let us get back to our single user MIMO what then what happens is for you are doing
this if you are transmitting NL layers over each PRP what is happening, okay, so the total
data rate will be how much it will increase? It will be NL times data rate of SISO system,
right, that is because over each PRP you are transmitting NL layers, you are increasing
your data rate by NL, that is how MIMO is one of the use case of MIMO, we have seen
another use case of MIMO wherein you do not need all this when the user is operating at
a is operating in low SNR regime, correct, user is in a basement of a building, okay,
then what happens? It is fine if you are able to increase the SNR, right, so what will happen
you will NL will become only one in that case, you will use multiple antennas to increase
the SNR and we know how does that SNR increase, we have studied that, okay, right, so then
seen this what happens after this? You take the this is one symbol, okay, right and how
many such resource grids are there? 64 resource grids, so each resource grid is in the digital
domain, so you need to convert it to analog domain and up convert it, correct, okay, so
what happens after this? So, this is we understood, this is what we have seen for a single layer,
okay, or single antenna earlier, okay, what is happening now? So, you take this IFFT output
with CP, then feed it to DAC, this is the first resource grid, this is the 64th resource
grid, right, okay, so DAC, then up convert, 88, all of them, all of these operations need
to happen in parallel, right, okay, so how many DACs you need? You need 128 DACs, because
for each chain you need 2 DACs, okay, so if it is 64, you need 128 DACs, okay, so you
need 64 up converters, 64 antennas, correct, okay, right, so each transmit chain requires
2 DAC, 1 up converter and 1 power amplifier, power amplifier it boosts the power, okay,
to transmit at a particular power. So, similarly at the receiver, okay, so what
happens? So, each receiver chain, okay, as I said if it is like you are looking at the
user side, if the user has 4 antennas, okay, so each receiver chain will require, you take
this antenna, band pass filter, down converter, low pass filter and then there are ADCs, so
this is the opposite of each of the transmit chain, okay, depending on how many antennas
user has, okay, this number of component is going to increase accordingly, okay, right,
so that is the complexity at the receiver side, okay, right, so each receiver chain
requires 2 ADCs, 1 down converter, fine, okay, now once you do this at the receiver
side, okay, you have gotten back your samples, right, okay, so now this is the receiver part,
what happens in the receiver side again, okay, so this is CP deletion, okay, we are assuming
that let us say user has 4 antennas, correct, because we assume that we are transmitting
4 layers, right, so at least 4 antennas user should have, so this is the signal from 4
antennas, this is the signal from the 4th antenna, right, so what happens after that
once the signal has been digitized, CP deletion, FFT, right, then resource block demapping,
okay, right, now you need to estimate the channel also, okay, earlier also we have to
estimate the channel always, okay, that is why DMRS is being transmitted, we know that
now, correct, okay, using those 4 port DMRS, channel will be estimated for 4 ports, right,
okay, you understand how everything is coming together, right, because how, what will be
the dimension of this, right, if user has 4 antennas, what will be the dimension of
HK, it will be 4 cross 64, what will be the dimension of VK, it will be 64 cross 4, overall
channel is 4 cross 4, right and how many DMRS port do you need to estimate the overall pre-coded
channel, 4, so base station will transmit 4 port DMRS, using that this channel will
be estimated, using that after that the MIMO receiver will be designed, we learnt that
also, correct, I showed you SVD base receiver design, we discussed about zero forcing, you
take the inverse of the channel that becomes, right, depending on what receiver you have
implemented, you do this, correct, once that is done, what happens, you get NL layers,
get back those layers, right, we have understood that process, you have gotten back those layers,
if it is up to 4 layers, you do layer demapping, combine them, right, and you multiply them
again, give it back to the rest of the receiver chain, done, right, okay, so that is what
is happening.
So, this is a system model after taking FFT, right, HK, VK, and this is what we understand,
we are very comfortable with this, this is H tilde K, pre-coded signal, pre-coded channel,
right, each UE will perform MIMO receiver processing, okay, any MIMO receiver can be
used and we have spoken about zero forcing, SVD, there are other receivers, we did not
discuss in detail but there are other receivers, okay, correct and why I have written each
UE because now UE knows that its data lies in first PRB, second UE knows its data is
in second PRB, just for an example and goes on like that, right, so if each UE is taking
one PRB, base station is doing MIMO transmission for 275 users, right, okay, and transmitting
let us say in this case, NL is equal to NL layers, okay, depending on what is the rank
of the channel of each user, right, okay, and decoded data will correspond to NL layers
for each UE on each RB, correct, NL layer data you are transmitting, okay, layer demapping
block will multiplex symbol from NL layer into one code block which is passed on to
the rest of the chain.
See, what is happening here, rest of the chain is oblivious of the fact that it is coming
from 4 layers, right, it does not care and then of course the size of the transport block
everything will depend on the NL but the processing does not care, okay, you will have to process
more number of symbols, right, that is the only difference, okay, because over the same
PRB of transmitting NL times data, okay, right, part of the rest of the receiver chain
similar to the CSO receiver will process this single code block, fine, okay, so this is
for this for NL is equal to 4, okay, things change when number of layer is more than 4,
that is what we are going to discuss, rank 8 transmission, okay, so whatever I am going
to tell for 8 it is applicable for rank greater than 4, okay, so 5, 6, 7 and 8, okay, right,
so if the user is a particular user has rank 8 what happens, okay, that is what, so what
will happen in this case is we call this MAC to 5 interface, MAC is going to send two different
transfer blocks, okay, right, and for the first transfer block the rank is 8, okay,
so first transfer block will be multiplexed into demultiplexed into 4 different layers
like this, same as what we did earlier, exactly the same, because the rank is 8, right, okay,
so the first transfer block gets demultiplexed into 4 layers, this is Q is equal to 0, now
you see this, okay, correct, so and how many layers, 4 layers, exactly the same operation,
does not change because whatever is happening for 4, it will happen for more than 4 also,
but to the first transfer block, correct, for the next transfer block same thing happens,
now it becomes what is the difference between this and this, Q is equal to 1, that is the
notation for the second transfer block, okay, right, and what are we calling, see new now
runs from 4, 5, 6, 7, because the index for the rest of the 4 layers, that is the only
difference, X4 of I, D1 of I, that is all, okay, correct, D1 and X4, fourth layer and
the second transfer block, fifth layer then it runs, it is the first symbol, second symbol,
sixth layer, seventh layer, that is all, okay, so if the rank is 6, then you will not
have this, but this will be there, you will not have the remaining 2 layers, so it is
not like that, it will like, it will be 3, 3, okay, right, so it is 4 and then 2, I think
that is what it is, okay, so number of modulation layer per symbol, okay, how much it is for
rank 8 transmission, how many it will be, M of, in each layer how many symbols you
will have, divided by 4, right, number of layers in transfer block 0, right, QPSK symbol
you divide by 4 or quantum symbols and then this is the number of symbols in the transfer
block 1.
So, they will get divided by 4 in each layer, so number of layers, this is the number of
symbols in each layer, that is all, okay, for this when NL is 8, right, okay, what happens?
Again the same example, okay, for this is the transmit processing chain, what happens?
You have first transfer block, you have second transfer block, processing is happening, this
whatever you do here, the same processing is happening here, you have to keep this in
mind, okay, that the MCS of this transfer block could be different from MCS of this
transfer block, okay, and because it is, we calculated the MCS, right, okay, for each
layer we calculated the MCS, this is log 1 plus SNR, so this transfer block would be
seeing different SNR from this, so it is not necessary that both of them will have the
same MCS.
So, you could be transmitting 16 QAM over here, you could be transmitting 4 QAM over
here, could happen, right, okay, so both of them undergo this processing, then what
happens?
Layer mapper, you, I taught you layer mapper just now, okay, what is the output here?
8 layers, then what will be the size of recorder because we are considering 64 antennas again,
okay, that system design does not change, okay, so what will be the size of recorder
in this case?
64 cross 8, so each RE now will contain 8 layers in parallel, but this will, how many
such resource blocks or grids will be there?
64, that is not changing, correct, okay, whether you transmit 1 layer or whether you transmit
8 layer, if it is a 64 antenna system, you will have to do this process, if it is 1 layer,
then recorder will be 64 cross 1, if it is 8 layer, recorder will be 64 cross 8, but
the output of recorder will be always be a 64 cross 1 vector, right, okay, correct, so
for 8 layer transmission, physical layer receives 2 transport blocks, correct, that is what
I said, okay, if it is greater than 4 layer and up to 8 layers, okay, 5 processes this
transport block to give 2 modulated codewords with index 0 and 1, correct, okay, layer mapping
block take these modulated symbols dq of i from code 2 codewords as input and we exactly
know how they get mapped on to different layers, okay, right.
In this case, I am just assuming that receiver has 64 antennas, okay, just for example, okay,
what will happen here, okay, you are doing it for some system, for some UV, some high
end UV like a laptop, when it has 64 antennas, okay, so 64, you take 64 antennas, okay, right,
do this processing, what are you doing, so when the signal has been sampled, delete the
TCP, FFT, demapping, do a channel estimation, okay, and how many, what will be the dimension
of the channel estimates, how many DMRS will be transmitted in this case, 84 DMRS, right,
okay, and using this 84 DMRS, equivalent channel gets estimated, then the receiver design MIMO
receiver, okay, right, MIMO receiver will also see 8 layers, it does not care how they
were multiplexed or demultiplexed, you will have this MIMO receiver, whatever the SVD
receiver or zero forcing receiver, correct, once you do H inverse or H tilde inverse,
you are going to get back 8 layers, so that receiver design is done for 8 layers, right.
Once you do that, then you know what needs to be done after that, you need to demap those
8 layers into how many transfer blocks, 2, correct, okay, because that is how you created
those 8 layers, what did we do at the transmitter, we took code modulated code word from 2 different
transfer blocks and multiplex them, now you are demultiplexing them to generate 2 code
and then run the rest of the receiver processing over here, over here, right, okay, so layer
demapping block will multiplex symbols from 8 layers into 2 code blocks, what happens
after that?
Rest of the receiver chain will process 2 code blocks, correct, now this is how it works
but look at the kind of design decisions you will have to take, okay, whether you want
to just for example, okay, whether you want to process this chain and this chain sequentially,
right, so or whether you want to basically run them in parallel, okay, so if you want
to run them sequentially, each of them these block need to run at a higher clock, right,
okay, because your this chain is waiting, correct, okay, so whether you want to design
a system which is running at a higher clock or whether you have a system wherein you can
have 2 instantiations of these 2 receiver chains, okay, so 2 instance of receiver chains
means what?
2 different just for example, okay, 2 different LDPC decoders, so whether your device has
this kind of LDPC decode, has space to occupy 2 LDPC decoders or not, right, okay, so if
you are, you pick up a device which can run at a higher clock rate but which does not
give you this kind of memory which can occupy wherein 2 LDPC decoders can come, right, okay,
so these are the design decisions you have to take in the beginning, okay, so typically
when you architect a system, you look at all this, right and then design your system, okay,
even here, okay, see what is happening, you can get multiple code blocks over here, right,
you can segment a transfer block into multiple code blocks, you want to decode these code
blocks in parallel or in sequence, that is another decision, right, okay, so you have
to, whenever you are designing a system, you need to look at these specifications carefully
and then take a design call, okay, that if it is only for, if the system is designed
only for one layer, okay, then the system has to be designed accordingly, if tomorrow
if I increase the number of layers, so let us say 16, my current design will not work,
let us say if 6G tries to do that, correct, if this modulation in 5G is up to 256 QAM,
people are talking about 1024 QAM, right, so on each without MIMO, if it is 1024 QAM,
on each resource element you are transmitting 10 bits, right, so whatever resources you had
might not work to execute that kind of a processing, right, okay, and this is, look
at the complexity of doing it and the complete processing at least at the base station side
has to be finished within each slot, correct, if you do not do that then what happens, your
system will choke because you have not processed one slot, other slot has come, data is going
to overflow, you are going to lose data, so that is a very tight constraint on the
physical layer what we are studying, okay, the entire processing all this has to be done
within 0.5 millisecond in a 5G system, okay, right, so we will stop here, we will continue
discussing this in the next class, there is still more, a few more things which we need
to learn about why it is done the way it is done, okay, I will stop here, then we will
continue discussing.
Thank you.
END OF TRANSCRIPT
