LTE PDCCH

prestudy:LTE中RE REG CCE

RE(Resource Element)

频率上一个子载波和时域上一个symbol,称为一个RE。

REG

REG是Resource Element Group的缩写,一个REG由不包括小区特定参考信号在内的4个连续的RE组成。REG主要针对PCFICH和PHICH速率很小的控制信道资源分配,提高资源的利用效率和分配灵活性。
注:PCFICH映射到REG的是16个OFDM符号,因此,整个PCFICH信道需要占用4个REG。
由于只有解码出PCFICH信道才能知道控制区域的大小,因此PCFICH信道总是映射在子帧的第一个OFDM符号上。另外,为了获得频域上的分集效应,组成PCFICH信道的4个REG将均匀分布在整个带宽中。
more about PCFICH: https://blog.csdn.net/m_052148/article/details/51426461

CCE

CCE是Control Channel Element的缩写,每个CCE由9个REG组成,之所以定义相对于REG较大的CCE,是为了用于数据量相对较大的PDCCH的资源分配。每个用户的PDCCH只能占用1,2,4,8个CCE,称为聚合级别。
CCE只用作PDCCH信道的映射,不用于小区参考信号、PCFICH信道和PHICH信道的映射,因此,组成CCE的REG或RE是不包括小区参考信号、PCFICH信道和PHICH信道等已经占用的RE或REG的。

procedure:PDCCH 盲检测

在LTE里,每个PDCCH信道会映射到不同聚合等级(或不同个数)的CCE中。在标识PDCCH信道的时候,除了使用聚合等级这个参数外,还需要CCE的起始位置索引这个参数。如下的CCE Start和CCE Length可以标识这个PDCCH信道:。由于下行或上行资源的动态调度是在eNB侧进行的,聚合等级和起始位置都由eNB侧分配,因此在某个下行子帧里,终端事先无法确切的知道PDCCH占用的CCE的聚合等级是多少,以及CCE的起始位置索引在哪里。所以,对于终端来说,每次都是通过盲检测来获取PDCCH信道即CCE的位置的

CCE Start = 0

CCE Length = 8

虽然UE事先并不知道要接收的PDCCH携带哪种格式的DCI,也不知道该DCI使用哪个PDCCH candidate进行传输,但UE知道自己处于何种状态以及在该状态下期待收到的DCI信息。
例如在IDLE态时UE期待收到Paging;在发起Random Access后UE期待的是RAR;在有上行数据待发送时期待UL grant等。
并且UE知道自己的搜索空间,因此知道DCI可能分布在哪些CCE上。对于不同的期待信息,UE尝试使用相应的X-RNTI、可能的DCI format、可能的聚合等级(Aggregation Level,简称AL)。去与属于自己的搜索空间内的CCE做CRC校验。如果CRC校验成功,那么UE就知道这个信息是自己需要的,也就知道相应的DCI format,从而进一步解出DCI内容。

DCI格式

DCI Format 1A (Hex : 47D01E2)

Format = 1

Distributed VRB flag = 0 (Local)

Resource Allocation = 500 (RB Start = 0, RB Length = 11)

MCS = 0 (I_TBS = 0)

HARQ Process Number = 7

NDI (New Data Indicator) = 1 (True)

RV = 0

TPC Command for PUCCH = 1

PDCCH信道传输的是与物理上下行共享信道(PUSCH、PDSCH)相关的控制信息,即DCI信息(Downlink Control Information),这些DCI信息包含了诸如RB资源分配信息、调制方式MCS、HARQ-ID等等若干相关内容。终端只有正确的解码到了DCI信息,才能正确的处理PDSCH数据或PUSCH数据。

下行调度分配中用的较多的DCI1A格式介绍如下:
PDCCH信道承载的DCI1A格式的码流有2种作用:第一个作用,也是最常使用的作用,是承载当前子帧PDSCH的调度控制信息;第二个作用,就是网侧通过DCI1A发起PDCCH Order,触发非竞争随机接入过程。

如果DCI1A用做PDCCH Order,触发非竞争随机接入过程,那么此时该DCI各字段的bit位定义如下:

  • DCI0/DCI1A格式指示位 – 1bit。当该bit值=0,表示当前的DCI格式是DCI0,当bit值=1,表示当前的DCI格式是DCI1A。

Format = 1

  • 集中式或分布式的VRB分配指示位。– 1 bit。固定填0。

Distributed VRB flag = 0 (Local)

  • RB资源分配字段 – [log2(N_DL_RB*(N_DL_RB+1)/2) ]向上取整bits。有时候简写为RIV字段。所有bit位的值均固定填1。 比如:当前下行带宽是1.4MHz,那么N_DL_RB=6,所以[log2(N_DL_RB*(N_DL_RB+1)/2) ]向上取整=[log2(6*(6+1)/2)]向上取整=[log2(21)]向上取整=[4.39]向上取整=5。因此,该字段的5个bits均要固定填1。

  • 前导码索引Preamble Index– 6 bits。这个参数由eNB侧的RRC配置,终端发起非竞争随机接入时,需要在PRACH中填写该前导码索引。

  • PRACH掩码索引PRACH Mask Index – 4 bits。这个参数同样由eNB侧的RRC配置,决定了PRACH信道的位置,具体参考《LTE-TDD随机接入过程(4)-RIV的解析和Preamble资源的选择》。

  • 其它剩余的bits位均填0。对于特定的下行带宽来说,DCI1A有着固定的bit长度,比如LTE-TDD制式且下行带宽=20MHz时,DCI1A的长度是31bits,那么当DCI1A用作PDCCH Order的时候,此时有效字段只用到了(1bit+1bit+13bits+6bits+4bits)=25bits,还有(31-25)=6bits没有用到,此时需要将末尾的6bits全部填0。

如果DCI1A不是用作非竞争接入,即不用作PDCCH Order,而是用作PDSCH的调度信息,那么此时该DCI各字段的bit位定义如下:

DCI Format 1A (Hex : 47D01E2)

Format = 1

Distributed VRB flag = 0 (Local)

Resource Allocation = 500 (RB Start = 0, RB Length = 11)

MCS = 0 (I_TBS = 0)

HARQ Process Number = 7

NDI (New Data Indicator) = 1 (True)

RV = 0

TPC Command for PUCCH = 1

  • DCI0/DCI1A格式指示位 – 1bit。当该bit值=0,表示当前的DCI格式是DCI0,当bit值=1,表示当前的DCI格式是DCI1A。

Format = 1

  • 集中式或分布式的VRB分配指示位。– 1 bit。如果是集中式的VRB分配则该bit位填0,若是分布式的VRB分配则该bit位填1。集中式和分布式的区别:https://blog.csdn.net/m_052148/article/details/51994477

Distributed VRB flag = 0 (Local)

  • RB资源分配字段 – [log2(N_DL_RB*(N_DL_RB+1)/2) ]向上取整bits,计算bit位的方式与PDCCH Order相同。需要说明的是,无论是集中式分配VRB还是分布式分配VRB,DCI1A只支持VRB连续分配的场景,因此此时RB资源分配会涉及到2个问题,第一是PDSCH数据占用的RB的起始位置在哪里,第二是占用的RB的长度是多少。要解决这两个问题,就需要在这一个RIV字段中同时编码这两个信息。协议是这么规定RIV的含义的:
    在这里插入图片描述

比如某个PDSCH对应的VRB起始位置=4,RB长度=8,下行带宽是20MHz,那么公式中的 L C R B s = 8 , N R B D L = 100 , R B s t a r t = 4 L_{CRBs}=8,N^{DL}_{RB}=100,RB_{start}=4 LCRBs=8NRBDL=100RBstart=4,此时:

L C R B s L_{CRBs} LCRBs-1=8-1=7, ( N R B D L / 2 ) (N^{DL}_{RB}/2) (NRBDL/2)向下取整=50>7。所以此时eNB填写的RIV=100×(8-1)+4=704。

Resource Allocation = 500 (RB Start = 0, RB Length = 11)

  • MCS字段 – 5bits。PDSCH中数据的编码调制方式。范围是0~28。

MCS = 0 (I_TBS = 0)

  • HARQ-ID号 – 3 bits (FDD) , 4 bits(TDD)。因为FDD的HARQ个数固定是8个,所以3个bits就够用了。

HARQ Process Number = 7

  • NDI指示 – 1 bit。终端根据NDI是否有反转,来判断当前的PDSCH数据是否是新传还是重传。如果反转了则表示是一次新传,而如果没有反转,则表示是一次重传。

NDI (New Data Indicator) = 1 (True)

  • RV冗余版本 – 2 bits。如果是重传,一般是按照0、2、3、1、0的规律传输,但网侧在实际实现时,处于某些场景的考虑,可能不一定完全按照这个顺序。

RV = 0

  • TPC command for PUCCH – 2 bits。

TPC Command for PUCCH = 1

这里需要区分2种场景:

(1)如果是RA-RNTI、P-RNTI、SI-RNTI加扰:此时2bit的TPC只使用LSB的这个bit位,若LSB=0,则表示 N R B 1 A N^{1A}_{RB} NRB1A=2,若LSB=1,则表示 N R B 1 A N^{1A}_{RB} NRB1A=3。但这里需要说明的是,这个 N R B 1 A N^{1A}_{RB} NRB1A=2或3的意思不是说对应的PDSCH只能使用2个RB或3个RB。比如eNB下发SIB,LSB(TPC)=0,此时 N R B 1 A N^{1A}_{RB} NRB1A=2,但PDSCH使用的RB是根据前文描述的“RB资源分配字段”来解码的,即SIB可以使用4个RB或更多的RB。不过无论PDSCH使用的RB是多少个,根据36213-7.1.7.2.1表格查找到的TBS,必须要能在RB=2或RB=3的那一列TBS中能找到。举个例子:比如发送SIB的DCI1A中,解码RIV字段得到RB=4,解码MCS字段=1,解码TPC字段=3。根据RB和MCS字段,可以得到TBS=144bits,这个144bits应该也能够在表格的RB=3这一列中找到。实际查7.1.7.2.1表,可以发现144bits确实在RB=3这一列存在,且此时MCS=2。

(2)如果是CRNTI等其他RNTI加扰:那么这2bits就表示PUCCH信道的TPC调整值。2bit的范围是0~3,不同的值表示不同的功率调整值,具体如下表所示。如果终端解码到的TPC=1,则表示PUCCH的功率调整幅度=0dB,即下一次PUCCH信道的发送功率不调整;如果TPC=2,则表示下一次的PUCCH信道的发送功率向上调整1dB。

  • DAI字段 – 2 bits。这个字段只在LTE-TDD中使用,在FDD中没有这个字段。对于TDD来说,这个DAI字段也只在上下行子帧配置是1~6的时候有效。我们知道,在空口中传输数据是很有可能丢失的,对于PDSCH或PUSCH来说,可以通过HARQ和ARQ来进行保证,但对于控制信道的DCI来说,是没有握手机制的,因此网侧在发出一次PDCCH之后,并不清楚终端有没有接收到这个DCI信息,或者说终端并不知道自己有没有漏掉DCI。那么引入这个DAI字段就可以用来判断是否有DCI的丢失,比如终端解码到了同个HARQ进程的2个DCI1A(没有其他的DCI),其中的DAI值分别是1和3,那么终端就可以知道,这个HARQ进程的DAI=2的那个DCI1A没有检测到,被丢失了。关于DAI的更详细的内容,在后续讲解下行HARQ应答的时候再具体讨论。

参考:
1 《深入理解LTE-A》
2 http://www.sharetechnote.com/html/FullStack_LTE.html
3 https://blog.csdn.net/m_052148/article/details/51594861
4 https://blog.csdn.net/m_052148/article/details/51670920

猜你喜欢

转载自blog.csdn.net/weixin_42692164/article/details/112952618