PUSCH repetition type A

PUSCH repetition type A

本篇文章阐述NR PUSCH repetition的一些特性和配置方法。

概念解释

PUSCH repetition type A是用户在连续的K个slot上发送同一个TB,且在K个slot中占据的符号位置完全相同(起始符号位置与占据符号长度均相同)。与HARQ相似的地方在于,二者都可以看做是信息的重传;其不同点在于,HARQ需要收到NACK才会触发重传,而PUSCH Repetition 配置结束以后可以直接进行K次重传。下面给出Repetition type A在使用PUSCH mapping type A时的示意图。
Repetition type A示意图

repetition次数的配置方法

From 38.331 V16.1.0

Rel-15

在Rel-15中,PUSCH repetition的最大传输次数为8,由PUSCH-Config中的 pusch-AggregationFactor配置。

PUSCH-Config ::=                        SEQUENCE {
    dataScramblingIdentityPUSCH             INTEGER (0..1023)                                                   OPTIONAL,   -- Need S
    txConfig                                ENUMERATED {codebook, nonCodebook}                                  OPTIONAL,   -- Need S
    dmrs-UplinkForPUSCH-MappingTypeA        SetupRelease { DMRS-UplinkConfig }                                  OPTIONAL,   -- Need M
    dmrs-UplinkForPUSCH-MappingTypeB        SetupRelease { DMRS-UplinkConfig }                                  OPTIONAL,   -- Need M
    pusch-PowerControl                      PUSCH-PowerControl                                                  OPTIONAL,   -- Need M
    frequencyHopping                        ENUMERATED {intraSlot, interSlot}                                   OPTIONAL,   -- Need S
    frequencyHoppingOffsetLists             SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1)
                                                                                                                OPTIONAL,   -- Need M
    resourceAllocation                      ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch},
    pusch-TimeDomainAllocationList          SetupRelease { PUSCH-TimeDomainResourceAllocationList }             OPTIONAL,   -- Need M
    pusch-AggregationFactor                 ENUMERATED { n2, n4, n8 }                                           OPTIONAL,   -- Need S

Rel-16

在Rel-16中,PUSCH repetition的最大传输次数设置为16,由PUSCH-TimeDomainResourceAllocationList 中的numberOfRepetitions配置。

PUSCH-TimeDomainResourceAllocationList ::=  SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation

PUSCH-TimeDomainResourceAllocation ::=  SEQUENCE {
    k2                                      INTEGER(0..32)                                  OPTIONAL,   -- Need S
    mappingType                             ENUMERATED {typeA, typeB},
    startSymbolAndLength                    INTEGER (0..127)
}

PUSCH-TimeDomainResourceAllocationList-r16 ::=  SEQUENCE (SIZE(1..maxNrofUL-Allocations-r16)) OF PUSCH-TimeDomainResourceAllocation-r16

PUSCH-TimeDomainResourceAllocation-r16 ::=  SEQUENCE {
    k2-r16                                     INTEGER(0..32)          OPTIONAL,   -- Need S
    puschAllocationList-r16                    SEQUENCE (SIZE(1..maxNrofMultiplePUSCHs-r16)) OF PUSCH-Allocation-r16,
	...
}

PUSCH-Allocation-r16 ::=  SEQUENCE {
    mappingType-r16                           ENUMERATED {typeA, typeB}                     OPTIONAL,   -- Cond NotFormat01-02-Or-TypeA
    startSymbolAndLength-r16                  INTEGER (0..127)                              OPTIONAL,   -- Cond NotFormat01-02-Or-TypeA
    startSymbol-r16                           INTEGER (0..13)                               OPTIONAL,   -- Cond RepTypeB
    length-r16                                INTEGER (1..14)                               OPTIONAL,   -- Cond RepTypeB
    numberOfRepetitions-r16                   ENUMERATED {n1, n2, n3, n4, n7, n8, n12, n16} OPTIONAL,   -- Cond Format01-02
    ...
}

From 38.214 V16.2.0 6.1.2.1

当PUSCH repetition是由DCI format 0_1或者0_2调度,且由C-RNTI,MCS-C-RNTI或者是CS-RNTI加扰,且NDI=1(New data indicator)时,重传次数K的取值方法是:
按照numberOfRepetitions>pusch-AggregationFactor>K=1的优先级顺序依次进行取值。

repetition type A与PUSCH 时域资源分配

  • 第一次传输的版本号根据DCI field 中的Redundancy version确定 (Redundancy version占据两个bit位),之后的RV版本号按照0,2,3,1循环。比如,当DCI指示第一次传输的版本号为2,则后面的版本号依次为3,1,0,2…
  • PUSCH repetition type A只支持单层传输。
  • PUSCH repetition type A支持PUSCH mapping type A 和PUSCH mapping type B。当repetition type A使用PUSCH mapping type B时,其 S + L ∈ { 1 , . . , 14 } S+L \in{\{1,..,14\}} S+L{1,..,14}
  • Repetition需要占据多个slot,根据38.213中的11.1,决定是否放弃repetition在当前slot的传输。

repetition type A 与PUSCH 跳频配置

From 38.214 V16.2.0 6.3.1
Repetition type A支持时隙间以及时隙内跳频。正常的PUSCH 传输可以看作是PUSCH repetition type A在K=1的一种特殊情况,因此也可以适用本节所描述的跳频方案(Intra-slot跳频方案)。Rel-15中,该节对应38.214 v15.10.0 6.3章节。

是否进行跳频

  • 当PUSCH的频域分配type为1时,UE有可能进行跳频

    1. 在对应的DCI中监测到了跳频指示域
      注:DCI 0_0/0_1/0_2 中都包含一个1bit的field“Frequency Hopping Flag ”,0对应Disabled FH,1对应Enabled FH.
    2. RAR UL grant设置为1
    3. 在configured grant type 1的情况下,设置了frequencyHoppingOffset
    4. 其他情况下,UE不进行跳频。
  • 当PUSCH的频域分配type为2时,UE不进行跳频

跳频参数配置

当PUSCH repetition type A进行跳频时,可以通过以下方式为UE配置跳频参数,包括选择时隙间跳频或者时隙内跳频(Inter-slot or Intra-slot),跳频的偏置值(Frequency offset)。

Intra-slot & Inter-slot 配置
  • 当PUSCH的传输由DCI 0_2调度,通过pusch-Config中的参数 frequencyHopping-ForDCIFormat0_2 进行配置。
  • 当PUSCH的传输由DCI调度,但不是DCI 0_2,通过pusch-Config中的参数 frequencyHopping 进行配置。
PUSCH-Config ::=                        SEQUENCE {
    dataScramblingIdentityPUSCH             INTEGER (0..1023)                                                   OPTIONAL,   -- Need S
    txConfig                                ENUMERATED {codebook, nonCodebook}                                  OPTIONAL,   -- Need S
    dmrs-UplinkForPUSCH-MappingTypeA        SetupRelease { DMRS-UplinkConfig }                                  OPTIONAL,   -- Need M
    dmrs-UplinkForPUSCH-MappingTypeB        SetupRelease { DMRS-UplinkConfig }                                  OPTIONAL,   -- Need M
    pusch-PowerControl                      PUSCH-PowerControl                                                  OPTIONAL,   -- Need M
    frequencyHopping                        ENUMERATED {intraSlot, interSlot}  
    frequencyHoppingOffsetLists             SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1)
    ....
     frequencyHoppingForDCI-Format0-2-r16                    CHOICE {
        pusch-RepTypeA                                          ENUMERATED {intraSlot, interSlot},
        pusch-RepTypeB                                          ENUMERATED {interRepetition, interSlot}
    }                                                                                                 OPTIONAL,   -- Need S
    frequencyHoppingOffsetListsForDCI-Format0-2-r16 SetupRelease { FrequencyHoppingOffsetListsForDCI-Format0-2-r16} OPTIONAL,  -- Need M
    ...
  • 当 PUSCH的传输是由Configured Grant 调度,通过configuredGrantConfig中的参数 frequencyHopping 进行配置。
ConfiguredGrantConfig ::=           SEQUENCE {
    frequencyHopping                    ENUMERATED {intraSlot, interSlot}                                       OPTIONAL,   -- Need S
    ...
    configuredGrantTimer                INTEGER (1..64)                                                         OPTIONAL,   -- Need R
    rrc-ConfiguredUplinkGrant           SEQUENCE {
        timeDomainOffset                    INTEGER (0..5119),
        timeDomainAllocation                INTEGER  (0..15),
        frequencyDomainAllocation           BIT STRING (SIZE(18)),
        antennaPort                         INTEGER (0..31),
        dmrs-SeqInitialization              INTEGER (0..1)                                                          OPTIONAL,   -- Need R
        precodingAndNumberOfLayers          INTEGER (0..63),
        srs-ResourceIndicator               INTEGER (0..15)                                                         OPTIONAL,   -- Need R
        mcsAndTBS                           INTEGER (0..31),
        frequencyHoppingOffset              INTEGER (1.. maxNrofPhysicalResourceBlocks-1)                           OPTIONAL,   -- Need R
        ...
Frequency Hopping offset 配置

FH offset的配置可以分为两种情况。

  • Case 1:配置一个offsetlist,即多个offset值,由DCI field中的Frequency Domain Resource Assignment中的MSB bit 指示具体使用哪个值(指示位的大小取决于BWP的宽度)。

    • 当激活BWP小于50PRBs,在list中配置两个offset值(MSB的指示bit 占据1位)。

    • 当激活BWP大于或等于PRBs,在list中配置四个offset值 (MSB的指示bit 占据2位)。

      FH list值的配置方法如下所示

    1. 当PUSCH由RAR UL grant, fallbackRAR UL grant 或者TC-RNTI加扰的DCI format 0_0调度,其offset值按照38.213中8.3的章节取值。
    2. 在PUSCH 频域分配Type 1的前提下,当PUSCH由DCI format 0_0/0_1或者是由DCI format 0_0/0_1激活的Configured grant type 2,FH offset的list由 PUSCH-ConfigfrequencyHoppingOffsetLists 配置。
    3. 在PUSCH 频域分配Type 1的前提下,当PUSCH由DCI format 0_2或者是由DCI format 0_2激活的Configured grant type 2,FH offset的list由 PUSCH-ConfigfrequencyHoppingOffsetLists-ForDCIFormat0_2 配置。
  • Case 2: 配置单个offset的值。

    1. 当PUSCH由Configured UL grant type 1调度时,FH的值由rrc-ConfiguredUplinkGrant中的frequencyHoppingOffset
根据offset计算跳频的RB位置
  • Case 1: Intra-slot FH,每个hop起始RB如下所示
    在这里插入图片描述
    i = 0 i=0 i=0代表第一个hop, i = 1 i=1 i=1代表第二个hop。 R B s t a r t RB_{start} RBstart 是UL BWP的起始RB, R B o f f s e t RB_{offset} RBoffset是两个hop之间的偏移值。第一个hop中的符号数目为 ⌊ N s y m b P U S C H , s ⌋ \lfloor N^{PUSCH,s}_{symb}\rfloor NsymbPUSCH,s,第二个hop中的符号数目为 N s y m b P U S C H , s − ⌊ N s y m b P U S C H , s ⌋ N^{PUSCH,s}_{symb}-\lfloor N^{PUSCH,s}_{symb}\rfloor NsymbPUSCH,sNsymbPUSCH,s,其中 N s y m b P U S C H , s N^{PUSCH,s}_{symb} NsymbPUSCH,s是一个slot中PUSCH占据的OFDM符号数目。
  • Case 2: Inter-slot FH,每个hop起始start

在这里插入图片描述
其中 n s μ n^{\mu}_{s} nsμ是无线帧内的slot编号,其他字母含义与Intra-slot相同。

注释

  • 在学习PUSCH repetition type A之前,应该先学习PUSCH resource allocation的时频域分配,NR中slot的上下行slot配置等相关知识。
  • 笔者第一篇正式撰写的3gpp提案与PUSCH repetition type A有关,故写下此文,聊表纪念。
  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值