Lecture 44 : 5G DM-RS design – part IV

IIT Kanpur July 201
20 followers
Sep 13, 2024
Okay, welcome to the class and we have been discussing this DMRS and we will discuss different
structure of DMRS, we will finish discussing it in this class, okay.
Again recapture what is, what did we discuss?
We discussed this type 1 single symbol DMRS port and how many ports it can be used to
define, it can define maximum of 4 orthogonal ports, okay.
And how they are defined?
That's what we saw, okay.
So this, these ports are given numbers, okay, they are numbered from 1000 to 1003, okay.
So first 2 orthogonal ports, they use even number of subcarriers, okay, even numbered
subcarriers, okay.
Then what are we saying here?
They are using the same subcarriers but they are orthogonal in the code domain, okay.
Then what we say here technically is that these 2 ports belong to CDM group 0, okay.
Then antenna port 1002 and 1003 use odd number subcarriers in the frequency domain, okay.
And then these ports are the orthogonal in frequency and code domain.
Together 4 ports, okay, you are using orthogonality in code as well as in frequency domain, okay.
And this single symbol DMRS, it has a clear limitation, okay, that how many ports it can
define?
It can define maximum of 4 ports.
Let us say you want to define more number of ports, what do you do, okay?
That is what we are going to see immediately after this and that is where it comes, okay.
See this, okay, right.
So immediately you see this, what have we done, okay, that we have come from single
symbol DMRS to double symbol DMRS, okay.
And what is happening here?
First, there are multiple things which are happening, okay.
You see this length 2 orthogonal code cover in frequency, okay, and length 2 orthogonal
code cover in time.
If you see that, what were we calling here, okay, length 2 orthogonal code cover in frequency.
You are not using this additional dimension, okay, to create orthogonality, okay.
Connect and that is what we are using now and that is where the notion of the double
symbol comes, okay.
And if it is a simple exercise, if with single symbol, we can define 4 ports, with double
symbol, what will be the maximum number of ports you could define if you use similar
kind of architecture?
It will be 8, okay, and that is what is happening, okay, right.
You see this, there are like 8 ports running from 1000 to 1007, okay, and it is very easy
to understand if we have understood the content on the last slide, okay.
So what are we saying, so how many different code groups, 4 different code groups and in
the last slide, how many different code groups were there, code group 0 and 1, right, okay.
What does that mean?
The code groups basically, they are differentiated using only the codes, that is what it means.
They will be using the same subcarriers, okay, correct.
So why are we calling this as this one, CDM group 0, okay, because they are using the
same subcarriers, okay, but they are differentiated using codes, okay, and what is the code over
here?
Across these 2, what is happening, they are using, you are differentiating them between
these 2 and these 2, okay, what is happening?
They are using the same subcarriers, they are using the different subcarriers, okay,
correct.
CDM group 0 and CDM group 1, okay, they are using different subcarriers, that is how they
are orthogonal, correct, okay, but within these 2, what is happening?
They are using, they are differentiated by the code, okay, that is why they are in the
same code group, okay, so they are differentiated by the code, okay.
Now again, we are calling this as same code group because code group 0 and code group
0, why?
Because they are using the same subcarriers, again they are differentiated using different
code, okay.
So if you see this, they are orthogonal using this code, what is the code, plus plus minus
minus plus minus minus plus, these 4 subcarriers if you see, okay, plus plus minus minus plus
minus plus minus, you do the inner product, it will come out to be 0, similarly you do
the inner product with this, it will come out to be 0, similarly you do the inner product
with this, it will come out to be 0, okay, right.
So what are we saying here, code group 0, these 2, these 2 code groups, okay, we are
using 4 subcarriers, okay, to create 4 different ports, you will need that and how are they
differentiated?
They are differentiating using this orthogonal code cover, but this code cover, now how are
you creating that orthogonality, you are creating that orthogonality in both frequency and time,
okay.
This additional dimension, additional symbol has come which is giving you additional dimension
to create another level of orthogonality, with only this, okay, right, with only single
symbol you could not create this, you could not create this code group, that is what we
saw in the last slide, okay, but with additional symbol you are able to create 2 additional
code covers, okay, right and that is what is happening, so this code group and this
code group, they are using the same subcarriers, okay, but since you are using 4 subcarriers,
you are able to create 4 orthogonal DMRS, okay, correct and similar is the case here,
okay, so 4 plus 4, 8 orthogonal DMRS, okay, so what are we saying here, what is coming
out, okay, if more than 4 orthogonal DMRS ports are needed, 2 consecutive OFDM symbols
are used, correct, okay and they will be required, okay, there are multiple use cases in which
you will need more than 4 orthogonal ports, let us say like user has 4 antennas, okay
and you want to support 4 different layers to that user, okay, it is a high end mobile,
okay, with 4 receive antennas and then it can, you need that 4 orthogonal ports, right
and so here also, so this double symbol has 8 reference signals which are orthogonal in
frequency, time and code, see this, okay, how are you creating this orthogonality, we
are creating it using frequency, time and these 3 domains we are using to create orthogonality,
okay, time is coming because there is a second symbol, OFDM second symbol, okay, right, so
now what is the limitation here, how can, how many maximum number of ports you can define,
8, correct, okay, now so you see this from type 1, single symbol to type 1 double symbol,
you are moving from 4 to 8, okay, right, so I will show you type 2 single symbol wherein
you can create maximum of 6 DMRS port, okay and you extend the same logic to type 2 double
symbol, you will be able to create 12 DMRS orthogonal port and that is the maximum, okay,
standard in release 15 define maximum of 12 orthogonal DMRS ports, okay, you do not, it
was not felt when the need of defining higher orthogonal port was not felt because you could
not transmit so many layers in parallel, you will, it was like people did this rigorous
simulations like we do, okay, in our lab, figure out you will, the system will never
see, so users which will observe more than 12 layer transmission or multiple users which
will observe this kind of channel, wherein you can support such high layers, high number
of layers, okay, so it is restricted to 12, okay, the number of orthogonal port is restricted
to 12, that is what I am going to show you, okay, so what is this?
This is type 2 single symbol DMRS, okay, correct and what is happening here, okay, so let us
read through this, okay, so what are we saying here, first thing is so each CDM group for
type 2 consists of 2 neighboring subcarriers over which a length 2 orthogonal code is used
to create 2 orthogonal reference signals, how is it defined, okay, what are we saying
here, okay, what is the difference between type 1 and type 2, you see this, okay, what
are we saying plus plus, this is CDM group 2 we have defined, okay, this is CDM group
0, we are defining 2 orthogonal DMRS, they are defined over same subcarriers, okay, correct,
look at the difference now, okay, so this fellow is repeated only after 4 subcarriers,
okay, correct and so it is okay, so we are this is one orthogonal group, okay, now how
is the second group created, you shift this entire thing by 2, okay, correct, plus plus
and plus minus but it is shifted by 2, right, okay, correct, so how are these 2 DMRS orthogonal,
they are orthogonal using the code, okay, again they are orthogonal using frequency,
this is also orthogonal using frequency, okay, correct because first 2 are defined here,
okay, then this group is defined on the next 2 subcarriers but using the same code, right,
okay, correct and the third group if you look at this, this is shifted by 4, okay, so this
will be shifted by 4, this will be shifted by 4, it will come at the end, it is difficult
to show here, okay, but that is what is happening, okay, so how are you able to create these
from 4 to 6, how are you able to move, you have reduced the pilot density, okay, see
this how many pilots are given to this for this port, only 4, correct and in type 1 single
symbol how many port this how many resource element was given to this port, 6, now it
is 4, right, okay, so that is the trade off you will have to make because if you want
to define a higher number of port without increasing the number of resource element
you are using for pilots, you basically reduce the pilot density, correct, okay, so here
look at this, you cannot, so you can interpolate between this and this but for here this interpolation
will not be that great because you do not have any pilots coming over here, but that
in type 1 and type 2 single symbol DMRS, you have created additional DMRS port by reducing
the pilot density that is all, okay, instead of giving 4 pilots to each port you are, instead
of giving 6 pilots to each port which happened in type 1, you are giving 4 pilots to each
port, okay, correct and that is what is happening, so you are able to create 6 orthogonal pilots,
okay, so let us read this, so that is what I have said, each CDM group for type 2 consists
of 2 neighboring subcarriers, 2 neighboring subcarriers over which a length 2 orthogonal
code is used to create 2 orthogonal reference signals, you have created 2 orthogonal reference
signals, right, okay, 2 such pairs of subcarriers are used in each resource block for one CDM
group, 2 such pairs of subcarriers are used in each resource block, this is one resource
block for one CDM group, fine, okay and so with 12 subcarriers in a resource block, we
can create 3 CDM group with 2 orthogonal DMRS in one OFDM symbol of resource block, 3 CDM
groups, right because that is how you have created, okay, so by, so what happens now?
I am not going to show you that figure, okay, if it is type 2 double symbol what will happen?
6 will become 12, right, we move from 4 to 8, in here we will move from 6 to 12, right,
okay, I do not have that figure today, okay, so maybe sometime later I will show you but
this is from type 2 single symbol to type 2 double symbol, you will move, you will be
able to create 12 orthogonal DMRS code, right, okay, so these are 2 different kind of structures
type 1 and type 2 which tells you how to create orthogonality in DMRS, okay, and what is the
maximum number of DMRS orthogonal DMRS code you can create, only 12, okay, correct and
now so they were, these were the structures, okay, we and I have to tell you a little more
about this, okay, and what is this, so each this DMRS resource element, okay, is basically
QPSK symbol, okay, right, so what is happening here, let us look at this, okay, so you take
the DMRS, okay, then you modulate them using QPSK, okay, then do this orthogonal code cover,
okay, underneath this each one of them is QPSK modulator, okay, right, so and this is on top
of that you do the orthogonal cover and now I will have to tell you how this QPSK modulation
is done, okay, so each DMRS resource element is QPSK modulated which is generated as follows,
okay, so this is how it is, okay, R is basically the DMRS sequence, what is happening, okay,
what is this, there is some code, okay, C, okay, so it will be between 0 and 1, okay,
the pseudo random length 31 goal sequence and what is this, you recall scrambler, okay,
you generate this code using scrambler, okay, we studied that in detail, so scrambler use
is not limited only to generating code for a scrambler, generate code for this, for the
DMRS also, by this code, this is different from that orthogonal code cover which we just
discussed, okay, so this is for generating this QPSK modulation, okay, and what is this,
this sequence which generates this goal sequence, okay, is initialized with a different seed
value for each OFDM symbol of a slot, okay, so generate this sequence C, okay, which is
a function of each OFDM symbol, okay, and okay, so what happens here is you remember
that when like we were generating, how are we like initializing this, you have to initialize
the scrambler, correct, okay, right, with two different input values, okay, and in this
case, okay, that initialization function is a function of each OFDM symbol, that is what
this bullet is telling, I am not going to go into the details of this to define this
and how this code is generated, okay, fine, okay, this is for the QPSK modulation of the
DMRS, okay, fine, now once you have generated this sequence, how do you do that orthogonal
code cover, that is what I am going to tell you, okay, so hang on, okay, so that is this
reference symbols which are QPSK modulated, okay, by the way, this sequence is known to
the both transmitter and receiver, that is why it is pilot, correct, okay, right, so
this is first, this is the base data, okay, QPSK, now after that they are multiplied with
this orthogonal code cover sequences and this is from this part of the standard, okay, so
what is happening over here, I will show you this the formula, okay, and I will discuss
this in detail, okay, so what is this, this is what is this constant which is coming over
here, what is this beta DMRS PDSCH, okay, is the amplification factor, so it is basically
how much you want to amplify the pilots, okay, with respect to data, okay, so what is typically
done is that you could basically, you could allocate more power to the pilots when compared
with data, okay, even UE is operating in a bad channel condition, okay, poor SNR, okay,
so its channel estimates are going to be poor, okay, so a smart way to handle this situation
is that allocate more power to the pilots, so that at least your channel estimates are
good, okay, if channel estimates themselves are bad, it will affect the rest of the performance
of the rest of the chain, okay, correct, so this is basically the amplification factor
which is used to amplify this the pilots with respect to the data, okay, correct and now
you see there are multiple variables which are coming over here, this is slightly on
a smaller side, okay, and this is I will discuss this in detail also, okay, so this L dash
because you have to generate this orthogonal code cover, right, for both single symbol
and double symbol, okay, so this variable L dash, okay, which is you see this is coming
over here L dash, okay, is 0 for single symbol and it runs from 0 to 1 for double symbol
DMRS, okay and what are this WF and WL, okay, and WF and WL are the codes, okay, and a part
of the codes, okay, that is how they are defined, okay, so this is for type 1, okay, right,
so what is happening over here, how many maximum ports? 8 ports, okay, correct and how many
groups? CDM group 0, CDM group 1, CDM group 0, CDM group 1, okay, right, this delta is
the is an offset which is coming over here, okay, I will tell you how each one of that
is used, okay, so this is these are the codes, plus 1, plus 1, plus 1, minus 1, these are
the codes and this so you see this R is this sequence, okay, which is the what is this?
This is a QPSK modulated DMRS, okay, and what is happening after that? You are using
WF and WL to create that orthogonal code cover, okay, I will give you an example but let us
see this over here what is happening WF is defined over here, okay, for 2 different indices
K dash and K dash is equal to 0 and K dash is equal to 1, okay, and this is also defined
for 2 different indices L dash is equal to 0 and L dash is equal to 1, okay, this is
a table which is defined in the standard, we use this table to generate this code cover,
okay, right and I will have to see there is only 2 minute left, can I go to the next slide,
okay, so I will try doing it here or I think so I will stop here, okay, this will do this
exercise will require me some 5, 10 minutes to do that, okay, what are we saying here?
Just to summarize that this expression, okay, with the help of this expression first one
we understand in detail, okay, these are 2 orthogonal covers, these sequences are used
to generate the orthogonal code covers, okay, right and this is the base sequence, fine,
okay, and this is the QPSK modulated sequence, DMRS sequence which is used, okay, on top
of that you are using this WF and WL to basically create that orthogonal code cover, I will
take an example, it will become extremely clear how this is basically how product of
these 2 is used to create that length 2 sequence or length 4 sequence which we have seen, okay,
so I will stop here, I will continue this in the next class, okay, thank you.
