转自:http://blog.sina.com.cn/s/blog_793598f80101mc0d.html
Transport Block Size and Code rate
Since the size of transport block is not fixed, often a questioncomes to mind as to how transport block size is calculated inLTE.Back Ground
If we only consider "Uplink direction" and we assume that the UE isalready attached to the network, then data isfirst
RLC layer will concatenate or segment the data coming from PDCPlayer into correct block size and forward it to the MAC layer withits own header. Now MAC layer selects the modulation and codingscheme configures the physical layer. The data is now in the shapeof transport block size and needed to be transmitted in 1mssubframe.
Transport Block size
Now how much bits aretransferred in this 1ms transport blocksize?
It depends on the MCS(modulation and coding scheme) and the number of resource blocksassigned to the UE. We have to refer to the Table 7.1.7.1-1 andTable 7.1.7.2.1-1 from 3GPP 36.213
Lets assume that eNBassigns MCS index 20 and 2 resource blocks (RBs) on the basis ofCQI and other information for downlink transmission on PDSCH. Nowthe value of TBS index is 18 as seen in Table 7.1.7.1-1
After knowing the valueof TBS index we need to refer to the Table 7.1.7.2.1-1 to find theaccurate size of transport block (Only portion of the table isshown here while for the complete range of values refer to 3gppdocument 36.213
http://www.quintillion.co.jp/3GPP/Specs/36213-920.pdf)
Code Rate
In simple words, code rate can be defined as how effectively datacan be transmitted in 1ms transport block or in other words, it isthe ratio of actual amount of bits transmitted to the maximumamount of bits that could be transmitted in one transportblockcode rate = (TBS + CRC) / (RE x Bits per RE)
where
TBS = Transport block size as we calculated from Table7.1.7.2.1-1
CRC = Cyclic redundancy check i.e. Number of bits appended forerror 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 (modulationorder), it is not easy to calculate the exact amount of RE used forPDSCH or PUSCH since some of the REs are also used by controlchannels like PDCCH, PHICH etc
In our case, lets assume that 10% of RE's are assigned for controlchannels 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) = 302REs
Bits per RE = 6 (Modulation order from table 7.1.7.1-1)
So
code rate = (776 + 24) / (302 * 6 ) = 0.4
参考:
1. 一个在线计算公式: 计算TP,CodeRate,Modulatio Schema
2. 如何计算LTE下TB大小: http://lteuniversity.com/ask_the_expert/f/59/t/3268.aspx