RIV is a number to specify PDSCH or PUSCH resource allocation. In more intuitive form,
we normally use two values (i.e, Number of RBs and Start RB) for the resource
allocation. But with RIV, we can represent Number of RBs and Start RB in a single value.
It would have some advantage in terms of number of bits to carry the information.. but
it causes some confusion for us to convert RIV into Number of RBs and Start RB.
Code Rate
In simple words, code rate can be defined as how effectively data can be transmitted in 1ms
transport block or in other words, it is the ratio of actual amount of bits transmitted to the
maximum amount of bits that could be transmitted in one transport block
code rate = (TBS + CRC) / (RE x Bits per RE)
where
TBS = Transport block size as we calculated from Table 7.1.7.2.1-1
CRC = Cyclic redundancy check i.e. Number of bits appended for error detection
RE = Resource elements assigned to PDSCH or PUSCH
Bits per RE = Modulation scheme used
While we know the values of TBS, CRC and bits per RE (modulation order), it is not easy to
calculate the exact amount of RE used for PDSCH or PUSCH since some of the REs are also
used by control channels like PDCCH, PHICH etc
In our case, lets assume that 10% of RE's are assigned for control channels then
TBS = 776
CRC = 24
RE = 2 (RB) x 12 (subcarriers) x 7 (assuming 7 ofdm symbols) x 2 (slots per subframe) x 0.9
(10% assumption as above) = 302 REs
Bits per RE = 6 (Modulation order from table 7.1.7.1-1)
So
code rate = (776 + 24) / (302 * 6 ) = 0.4
Throughput
Throughput is simply = Transport block size*(1000) = 776 *1000 = 776000 bits / seconds = 0.77
mbps (Assuming MIMO not used)
Please check this Throughput Calculator which takes MCS values and number of resource
blocks as input to calculate the downlink throughput
and forward it to the MAC layer with its own header. Now MAC layer selects the modulation and
coding scheme configures the physical layer. The data is now in the shape of transport block size
and needed to be transmitted in 1ms subframe.
What type of load balancing you are looking ? Are you looking for SGW load balancing ? PUSCH and
PDSCH physical channels being used for data plane in uplink and downlink respectively. EnodeB
MAC downlink scheduler is responsible to schedule data for set of users per millisecond level of
granularity in downlink and EnodeB MAC uplink scheduler is responsible to allocated resources in
uplink. At the eNodeB, UE's can be categorized into two groups if eNodeB is running in hybrid mode.
1.CSG's
subscriber.
2.Non-CSG subscriber.
Downlink/Uplink scheduler might use priority of bearer's to schedule UE's data. It is upto eNodeB
vendor how they want to implement. I know "Round Robin" and "PFS algorithm" being used by
eNodeB scheduler.
n Mobility Load Balancing (MLB) as part of Self-Optimization feature of SON, there is the 'X2
Resource Update Response' and Update messages that come from eNB 2, when eNB1 sends an 'X2
Resource Update Request' message. As part of this message, S1 Transport Network Layer (TNL)
Load indication is indicated. Standard says the implementation of this is vendor-dependent . So, what
does S1 TNL Load indicate? Is it related to S1-U load?