概述
One of the other numbers which you would very frequently come accross is RNTI. RNTI stands for Radio Network Temporary Identifier.
As the name implies, it is a kind of Identification number. Normally we use indentification number to differntiate one thing from all other similar things. For example, your driver's license number let you identify yourself from all other drivers. Social Security number do the same thing as well.
Getting more specifically into LTE, this RNTI is used to indentify one specific radio channel from other radio channel and one user from another user. As you may recall, in WCDMA is a RNTI concept which is carried as part of MAC header to deferentiate one user to another while in communication state. and in WCDMA case it used special channelization code to deferentiate one radio channel from the other.
Putting it very simply, you can think of RNTI as a kind of UE ID for the traffic between UE and eNB lower layer. But it would be more accurate to think of it as '[UE ID] + DCI Type ID' since each of DCI message (more precisely the CRC bits of each DCI) is scrambled by a specific RNTI Value. [UE ID] (UE ID in bracket) means that some RNTI is dedicated for a specific UE and some RNTI is not.
Then you may notice that there are not so many different DCI types but there are a huge set of RNTI types and ask how a few DCI types can be mapped to such a big number of RNTI types. Actually this is one of the thing you have to (or will) figure out as you read along this page.
Followings are the list of topics that will be described in this page.
- Types of RNTIs
- How/Who determines each types of RNTI ?
- How RNTI value is informed ?
- How each of RNTI is used ?
Types of RNTIs
What kind of RNTIs are there in LTE ?
The answer is A LOT -:). Followings are the brief summary of RNTIs being used in LTE. More detailed explanation will be updated continuously later.
- P-RNTI : It stands for Paging RNTI. Used for Paging Message.
- SI-RNTI : It stands for System Information RNTI. Used for transmission of SIB messages
- RA-RNTI : It stands for Random Access RNTI. Used for PRACH Response.
- C-RNTI : It stands for Cell RNTI. Used for the transmission to a specific UE after RACH.
- T-CRNTI : It stands for Temporary C-RNTI. Mainly used during RACH
- SPS-C-RNTI : It stands for Semi persistance Scheduling C-RNTI
- TPC-PUCCH-RNTI : It stands for Transmit Power Control-Physical Uplink Control Channel-RNTI
- TPC-PUSCH-RNTI : It stands for Transmit Power Control-Physical Uplink Shared Channel-RNTI
- M-RNTI : It stands for MBMS RNTI
- CC-RNTI : It stands for Common Control RNTI
- G-RNTI : It stands for Group RNTI
- SC-RNTI : It stands for Single Cell RNTI
- SL-RNTI : It stands for Sidelink RNTI
- SC-N-RNTI : It stands for Single Cell Notification RNTI
- eIMTA-RNTI : It stands for Enhanced Interference Management and Traffic Adaptation - RNTI
Who issues these RNTI ?
Network issues RNTI.
Exactly what does RNTI do for each of those radio channel ? The detailed process differs with the types of RNTIs, but generally speaking all of these RNTI is used to scramble the CRC part of the radio channel messages. It implies that if UE does not know the exact RNTI values for each of the cases, it cannot decode the radio channel messages even though the message reaches the UE intact.
One of the most common questions that I got about RNTI is "There are a lot of different types of RNTI and I don't see any RNTI information on DCI or Higher layer signaling message. Then how can PHY layer know which RNTI it has to use to decode a data ?". The answer is "MAC or Layer 1 controller would instruct PHY on which RNTI it has to be used". Then a next questions comes out. "How MAC or Layer 1 controller would know which RNTI to be used ?". There is no explicit algorithm for this, MAC/L1 controller needs to figure it out "based on context". For example, if it is at the subframe where SIB is transmitted, it would instruct PHY to use SI-RNTI. if UE is in connected mode, it may instruct to use C-RNTI, TPC RNTI etc.
There are a lot of tables related to RNTI Type and Specific Physical/MAC layer operation. It would not be easy to make any sense out of these tables, but just look into these tables as often as possible. As your understanding / knoledge of LTE PHY procedure, you would make more sense out of these tables.
Following table from 36.321 shows the range of values which is allocated for each RNTI types.
< 36.321 - Table 7.1-1: RNTI values. >
Following table from 36.321 shows the types of RNTIs and it's usage.
< 36.321 - Table 7.1-2: RNTI usage. >
Following table from 36.312 shows the relationships between types of RNTIs and DCI Format. You would notice that some DCI format can be scrambled by many other types of RNTI type. Then you may ask how PHY layer figure out which RNTI types it has to use to decode a certain DCI type. It depends on communication status. For example, DCI Format 1A can be scrambled by SI-RNTI, P-RNTI, C-RNTI. In this case, UE will try something like followings
- UE will use SI-RNTI if it is in idle mode and within SI-transmission window
- UE will use P-RNTI if it is in idle mode and it is at the PO (Paging Occasion) subframe
- UE will use C-RNTI while it is in commuincation status
< 36.213 - Table 7.1-1: PDCCH and PDSCH configured by SI-RNTI >
< 36.213 - Table 7.1-1A: PDSCH configured by SI-RNTI >
< 36.213 - Table 7.1-2: PDCCH and PDSCH configured by P-RNTI >
< 36.213 - Table 7.1-3: PDCCH and PDSCH configured by RA-RNTI >
< 36.213 - Table 7.1-5: PDCCH and PDSCH configured by C-RNTI >
< 36.213 - Table 7.1-7: PDCCH and PDSCH configured by Temporary C-RNTI >
How/Who determines each types of RNTI ?
RA-RNTI : UE determines RA-RNTI as explained in here in the RACH page.
T-CRNTI : Network allocate T-CRNTI via RAR as shown in here in the RACH page.
C-RNTI : T-CRNTI becomes C-RNTI once Contention Resolution gets passed.
How RNTI value is informed ?
How a RNTI value is informed to the other party of the communication ? If you are mainly working on higher layer or in WCDMA, you may expect there is a specific signaling message or MAC field that carries this ID. But in LTE, this ID is embedded and carried to the other party in much lower layer. Also, there is no specific field to carry RNTI value itself. It is combined with CRC field of each Physical layer data as shown below (This is only one example for PDCCH case).
How each of RNTI is used ?
Following is the quotes from 3GPP specification showing how RNTI is used for various cases.. for the exact details, you should see the specification but this partial quote would give you a rough idea of the usage of RNTI.
From 36.212 -----------------------------------------------------------------------------------------------
5.3.3 Downlink control information
- A DCI transports downlink or uplink scheduling information, or uplink power control commands for one RNTI. The RNTI is implicitly encoded in the CRC.
5.3.3.1.3 Format 1A
- Format 1A is used for random access procedure initiated by a PDCCH order only if format 1A CRC is scrambledwith C-RNTI
- For distributed VRB: .. if the format 1A CRC is scrambled by RA-RNTI, P-RNTI, or SI-RNTI
5.3.3.2 CRC attachment
- This section explain in detail on how CRC is scrambled by RNTI. Following is the summary of this process. As you see, RNTI is used to scramble CRC bits of PDCCH.
From 36.213 ------------------------------------------------------------------------------------------------
Following is some examples of 3GPP description related to RNTI. Just to focus which type of DCI is scrambled by which RNTI Type.
5.1.1.1 UE behaviour
- δ_PUSCH is a UE specific correction value, also referred to as a TPC command and is included in PDCCH with DCI format 0 or jointly coded with other TPC commands in PDCCH with DCI format 3/3A whose CRC parity bits are scrambled with TPC-PUSCH-RNTI
- if the TPC command PUSCH δ_PUSCH is included in a PDCCH with DCI format 0 where the CRC is scrambled by the Temporary C-RNTI
- The UE attempts to decode a PDCCH of DCI format 0 with the UE’s C-RNTI or SPS CRNTI and a PDCCH of DCI format 3/3A with this UE’s TPC-PUSCH-RNTI in every subframe
5.1.2.1 UE behaviour
- δ_PUCCH is a UE specific correction value, also referred to as a TPC command, included in a PDCCH with DCI format 1A/1B/1D/1/2A/2 or sent jointly coded with other UE specific PUCCH correction values on a PDCCH with DCI format 3/3A whose CRC parity bits are scrambled with TPC-PUCCH-RNTI.
- The UE attempts to decode a PDCCH of DCI format 3/3A with the UE’s TPC-PUCCH-RNTI and oneor several PDCCHs of DCI format 1A/1B/1D/1/2A/2 with the UE’s C-RNTI or SPS C-RNTI on every subframe except when in DRX.
- If the UE decodes a PDCCH with DCI format 1A/1B/1D/1/2A/2 and the corresponding detected RNTI equals the C-RNTI or SPS C-RNTI of the UE, the UE shall use the δ PUCCH provided in that PDCCH.
6.1 Physical non-synchronized random access procedure
- A preamble index, a target preamble received power (PREAMBLE_RECEIVED_TARGET_POWER), a corresponding RA-RNTI and a PRACH resource are indicated by higher layers as part of the request.
- Detection of a PDCCH with the indicated RA-RNTI is attempted during a window controlled by higher layers
7.1 UE procedure for receiving the physical downlink shared channel
- If a UE is configured by higher layers to decode PDCCH with CRC scrambled by the SI-RNTI, the UE shall decode the PDCCH and the corresponding PDSCH according to any of the combinations defined in table 7.1-1. The scrambling initialization of PDSCH corresponding to these PDCCHs is by SI-RNTI. // SI-RNTI scrambles the DCI for SIB messages.
- If a UE is configured by higher layers to decode PDCCH with CRC scrambled by the P-RNTI, the UE shall decode the PDCCH and the corresponding PDSCH according to any of the combinations defined in table 7.1-2. The scrambling initialization of PDSCH corresponding to these PDCCHs is by P-RNTI. // P-RNTI scrambles the DCI for Paging message.
- If a UE is configured by higher layers to decode PDCCH with CRC scrambled by the C-RNTI, the UE shall decode the PDCCH and any corresponding PDSCH according to the respective combinations defined in table 7.1-5. The scrambling initialization of PDSCH corresponding to these PDCCHs is by C-RNTI.
- If a UE is configured by higher layers to decode PDCCH with CRC scrambled by the Temporary C-RNTI and is not configured to decode PDCCH with CRC scrambled by the C-RNTI, the UE shall decode the PDCCH and the corresponding PDSCH according to the combination defined in table 7.1-7. The scrambling initialization of PDSCHcorresponding to these PDCCHs is by Temporary C-RNTI.
循环冗余码校验英文名称为 Cyclical Redundancy Check,简称 CRC,它具有更高性能 的检错能力。CRC 利用除法余数的原理来检测错误, 它将两个字节数据流进行二进制除法 (没有进位,使用 XOR 来代替减法)计算,其实余数称为校验码或者冗余码。发送数据时, 发送方在原始数据后面增加冗余码形成一个新的比特串,然后进行发送。 发送端得计算过程可以表示为公式(1.1).
(1.1)
其中:
(1.2)
表示原始的待发送的二进制数据, 是收发双方事先约定好的多项式, 是 的长度减1。接收端收到数据后,用收到的数据和 相除,如果余数为零则表示传输过程中没有出错,如果余数不为零则表示传输过程中出现错误。
CRC发送和接收算过程如图1.10所示,发送方得到数后,利用除法计算获得冗余码,然后把冗余码添加到数据后面得到实际的发送码进行发送。接收方收到数据后进行进行除法计算,如果余数等于零,就认为数据没有发生错误,如果余数不等于零,就认为数据在传输的过程中发生了错误。
例如:待发送数据 , ,CRC发送码的计算过程如下:
- 计算冗余码的长度。因为多项式 ,长度为4,冗余码 的长度等于多项式长度减1,所以 。
- 计算 。
- 计算 。除法计算中使用异或运算,最后的余数保留3位,该余数就是冗余码,也被称为校验码。激素然的过程如图1.11所示。
- 发送码
假设接收方收到数据为 , 仍然是 。接收方对这两个数据进行除法计算 ,最后余数等于0,说明传输过程中没有发生错误。 如果在传输的过程第4个比特发生了错误,接收方实际收到的数据是 ,计算 余数不等于0,说明数据发生了错误。
最后
以上就是敏感橘子为你收集整理的LTE RNTI详解的全部内容,希望文章能够帮你解决LTE RNTI详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复