NR PUCCH UCI

本文翻译自 http://www.sharetechnote.com

PUCCH是上行物理信道的一种,用来承载UCI(上行控制信息)。正如DCI在PDCCH信道上发送一样,UCI在PUCCH信道上发送。但DCI与UCI的不同之处是,UCI根据不同情况可以承载在PUCCH或PUSCH上发送,而DCI只能在PDCCH上发送,任何情况下都无法在PDSCH上发送。

文章目录

      • UCI
      • PUCCH格式总结
      • 如何选择 PUCCH 格式?
      • 如何决定 PUCCH 的位置?
      • 如何定义 PUCCH 基带信号?
        • < PUCCH Baseband Sequence Generation >
        • < Group and sequence hopping >
        • < Cyclic Shift >
        • < PUCCH Format 0 Baseband Sequence >
        • < PUCCH Format 1 Baseband Sequence >
        • < PUCCH Format 2 Baseband Sequence >
        • < PUCCH Format 3 Baseband Sequence >
        • < PUCCH Format 4 Baseband Sequence >
        • < Baseband Parameters for PUCCH Format >
      • 跳频
      • 调制
      • 信道编码
      • UCI / PUSCH 复用
      • PUCCH资源由什么组成?
      • UE如何决定使用哪个资源?
      • PUCCH资源分配如何决定?
        • < Case 1 > 使用预定义表格 : Before PUCCH-Config in RRC
        • < Case 2 > 使用RRC信令配置的表格 : After PUCCH-Config in RRC
      • 实例
        • 实例 1
        • 实例 2
      • RRC配置参数
      • 参考资料

UCI

PUCCH的主要任务是承载UCI(上行控制信息)。虽然UCI可以作为PUCCH的一部分来介绍,但由于UCI也是很大的一个主题,我还是写了一个单独的网页here来介绍它(UCI不仅仅在PUCCH上发送,根据配置有可能在PUSCH上发送,所以有必要用单独的页面介绍它)。

PUCCH格式总结

PUCCH共有5种不同的格式,具体使用哪种格式取决于有多少bits的信息要发送,以及时域上分配了多少symbols,总结如下表所示。

< Based on 38.211 - Table 6.3.2.1-1: PUCCH formats.>

Format Types Lengh of Symbols Number of bits Descriptions (based on 38.300 - 5.3.3)
Format 0 1~2 <= 2 Short PUCCH.with UE multiplexing in the same PRB.Based on sequence selection.
Format 1 4~14 <= 2 Long PUCCH.with multiplexing in the same PRB.time-multiplex the UCI and DMRS
Format 2 1~2 > 2 Short PUCCH.with no multiplexing in the same PRB.frequency multiplexes UCI and DMRS
Format 3 4~14 > 2 Long PUCCH.with large UCI payloads and with no multiplexing capacity in the same PRBtime-multiplex the UCI and DMRS
Format 4 4~14 > 2 Long PUCCH.with moderate UCI payloads and with some multiplexing capacity(max 4 UE) in the same PRB.

通过 38.300 - 5.3.3 中的描述可以帮助你从另一个方面了解不同格式的区别。

最大 2bits 的短格式PUCCH是基于序列选择的,而大于 2bits 的短格式PUCCH 在频域复用UCI和DMRS。长格式的PUCCH时域复用UCI和DMRS。长格式PUCCH和占2符号的短格式PUCCH能够支持跳频。长格式PUCCH能多slots重复。

PUCCH不同格式的详细参数如下表所示。通过这个表格可以概览PUCCH的参数,但如果要了解每个参数的具体含义,需要继续学习此页面后边内容。

Parameter Format 0 Format 1 Format 2 Format 3 Format 4
UCI Bit Length <= 2 <= 2 > 2 > 2 > 2
PUCCH Length Short Long Short Long Long
UE Multiplexing in Same PRB YES(CS) YES(CS&OCC) NO NO YES(PreDFT OCC)
UCI/DMRS Multiplexing Method N/A TDM FDM TDM TDM
starting PRB/PRB offset PRB-Id PRB-Id PRB-Id PRB-Id PRB-Id
nrofPRBs 1 1 1~16 1~16 1
intraSlotFrequencyHopping enabled enabled enabled enabled enabled
secondHopPRB PRB-Id PRB-Id PRB-Id PRB-Id PRB-Id
startingSymbolIndex 0~13 0~10 0~13 0~10 0~10
nrofSymbols 1~2 4~14 1~2 4~14 4~14
initialCyclicShift 0~11 0~11 N/A N/A N/A
timeDomainOCC N/A 0~6 N/A N/A N/A
occ-Length N/A N/A N/A N/A 2,4
occ-Index N/A N/A N/A N/A 0,1,2,3
interslotFrequencyHopping N/A enabled enabled enabled enabled
additionalDMRS N/A true true true true
maxCodeRate N/A
nrofSlots N/A 2,4,8 2,4,8 2,4,8 2,4,8
pi2BPSK N/A enabled enabled enabled enabled
simultaneousHARQ_ACK_CSI N/A true true true true

如何选择 PUCCH 格式?

  • 第一个原则是根据需要发送的UCI bits数量决定,根据上表可以看到根据bits长度不同分为两类。当UCI bits小于等于2,选择Format 0 或 1; 当UCI bits大于等于3,选择Format 2/3/4。
  • 第二个原则是根据UE在相同PRB上复用的可能性决定。Format 0/1/4 支持复用而 Format 2/3 不支持复用。
  • 最后一个原则是根据不同信道条件下的健壮性来决定。一般来说基于序列的PUCCH会比基于DMRS的更健壮,相同格式的PUCCH在发送bits数不同或DMRS不同时其健壮性也会不同。具体参考 Physical Uplink Control Channel Design for 5G NewvRadio

如何决定 PUCCH 的位置?

以下是 38.213 - 9.2.1 PUCCH Resource Sets 描述PUCCH参数的示例。从这些示例可以看出,有些参数适用于所有格式的PUCCH,而有的参数只用于特定格式的PUCCH。

  • number of PRBs : 仅应用于 PUCCH format 2 and 3 (See PUCCH-format2, PUCCH-format3 in RRC) .
  • starting PRB : 应用于所有的 PUCCH Format (See PUCCH-Resource in RRC)
  • starting symbol : 应用于所有的 PUCCH Format, 但取值范围不同格式有所不同( See PUCCH-format0, PUCCH-format1, PUCCH-format2, PUCCH-format3, PUCCH-format4)
  • number of symbols : 应用于所有的 PUCCH Format, 但取值范围不同格式有所不同( See PUCCH-format0, PUCCH-format1, PUCCH-format2, PUCCH-format3, PUCCH-format4)

NR PUCCH UCI_第1张图片

如何定义 PUCCH 基带信号?

NR PUCCH 基带信号的生成过程与 LTE PUCCH(format 1,1a,1b, format 2,2a,2b and format 3) 同样复杂。PUCCH 的作用只是为了发送很少的几个bits给gNB,为什么需要如此复杂的过程呢?

实际上 PUCCH 不是唯一设计成如此复杂的信道,在通信技术中每个信道的处理都非常复杂。主要原因是为了保证信息传输的可靠性,或通过增加一些复杂性来将有限的物理资源能够给多用户复用。

总之,我不认为自己能够用简单的语言描述 PUCCH 基带信号产生的设计概念,也不会假装自己了解所有细节。

只有部分物理层开发工程师需要完全理解这一处理过程,而这些工程师不需要通过阅读此文章来学习这些内容。

这一部分主要目的是为了写一个PUCCH 基带处理的备忘表,并搞清楚RRC参数和基带处理之间的联系,尽管我们无法完全搞懂这一过程,但至少能够了解这些RRC参数与基带处理的哪些部分有关系。

PUCCH 基带处理分3步:

  • Baseband Sequence Generation
  • Apply Group and Sequence Hopping
  • Apply Cyclic Shift

这3步对所有PUCCH格式都适用(Format 0,1,2,3,4),但不同的格式会在处理过程中有部分不同参数,有的格式还需要一些额外的步骤。

< PUCCH Baseband Sequence Generation >

NR PUCCH UCI_第2张图片

< Group and sequence hopping >

NR PUCCH UCI_第3张图片

< Cyclic Shift >

NR PUCCH UCI_第4张图片

NR PUCCH UCI_第5张图片

< PUCCH Format 0 Baseband Sequence >

NR PUCCH UCI_第6张图片

< PUCCH Format 1 Baseband Sequence >

NR PUCCH UCI_第7张图片

< 38.211 - Table 6.3.2.4.1-1: Number of PUCCH symbols and the corresponding 在这里插入图片描述>

NR PUCCH UCI_第8张图片

< 38.211 - Table 6.3.2.4.1-2: Orthogonal sequences imgfor PUCCH format 1 >

NR PUCCH UCI_第9张图片

< PUCCH Format 2 Baseband Sequence >

NR PUCCH UCI_第10张图片

< PUCCH Format 3 Baseband Sequence >

NR PUCCH UCI_第11张图片

NR PUCCH UCI_第12张图片

< PUCCH Format 4 Baseband Sequence >

NR PUCCH UCI_第13张图片

NR PUCCH UCI_第14张图片

NR PUCCH UCI_第15张图片

< Baseband Parameters for PUCCH Format >
RRC Parameters Related PUCCH Format Description
PUCCH-F0-F1-initial-cyclic-shift Format 0 / 1 The index of the cyclic shift = {0,1,…11}
PUCCH-F1-time-domain-OCC Format 1 The index of the orthogonal cover code
dataScramblingIdentityPUSCH Format 2 / 3 / 4 Initialization of scrambling
PUCCH-F4-preDFT-OCC-index Format 4 The index of the orthogonal cover code = {0,1,2,3}
PUCCH-F4-preDFT-OCC-length Format 4 The length of the orghogonal cover code = {2,4}

跳频

通过RRC参数PUCCH-frequency-hopping可以打开或关闭PUCCH跳频,配置参数如下。

PUCCH-Resource ::= SEQUENCE {

pucch-ResourceId PUCCH-ResourceId,

startingPRB PRB-Id,

intraSlotFrequencyHopping ENUMERATED { enabled } OPTIONAL, – Need R

secondHopPRB PRB-Id OPTIONAL, – Need R

​ …

}

如下是一些跳频的例子,更多例子请参考 this note with Matlab 5G Toolbox。

NR PUCCH UCI_第16张图片

调制

根据如下条件选择使用QPSK 或 BPSK 调制。

  • 长格式 PUCCH 发送大于等于 2 bits 信息 : QPSK
  • 短格式 PUCCH 发送大于 2 bits 信息 : QPSK
  • 长格式 PUCCH 发送 1 bit 信息 : BPSK

信道编码

根据 UCI bits 数选择不同的信道编码方式。

UCI size including CRC, if present Channel Code
1 Repetition code
2 Simplex Code
3-11 Reed Muller Code
> 11 Polar Code

UCI / PUSCH 复用

UCI可以和PUSCH同时发送,也被称作复用。UCI / PUSCH 复用场景在 38.300 - 5.3.3 里描述。

  • UCI 携带 1/2 bits HARQ-ACK 反馈通过 PUSCH 打孔进行复用

  • 其他场景下UCI通过 PUSCH 速率匹配进行复用

PUCCH资源由什么组成?

如上文描述,PUCCH有多种参数,而这些用来定义一个特定PUCCH的参数集就叫做PUCCH资源。参数列表如下。

  • startingPRB/PRB offset
  • intraSlotFrequencyHopping
  • secondHopPRB
  • First symbol (Starting Symbol)/startingSymbolIndex
  • Number of symbols/nrofSymbols
  • initial CS indexes(initialCyclicShift)
  • Number of PRBs/nrofPRBs
  • timeDomainOCC
  • occ-Length
  • occ-Index
  • interslotFrequencyHopping
  • additionalDMRS
  • maxCodeRate
  • nrofSlots
  • pi2BPSK
  • simultaneousHARQ_ACK_CSI

不是每种PUCCH格式都会用到以上所有参数,不同的PUCCH格式用到不同的参数集,下表描述了每个参数用于哪些PUCCH资源。

Parameter Applicable PUCCH Format
starting PRB/PRB offset Common to All format(Format 0, Format 1, Format 2, Format 3, Format 4)
intraSlotFrequencyHopping Common to All format(Format 0, Format 1, Format 2, Format 3, Format 4)
secondHopPRB Common to All format(Format 0, Format 1, Format 2, Format 3, Format 4)
startingSymbolIndex Common to All format(Format 0, Format 1, Format 2, Format 3, Format 4)
nrofSymbols Common to All format(Format 0, Format 1, Format 2, Format 3, Format 4)
initialCyclicShift Format 0, Format 1
nrofPRBs Format 2, Format 3
timeDomainOCC Format 1
occ-Length Format 4
occ-Index Format 4
interslotFrequencyHopping Format 1, Format 2, Format 3, Format 4 (See PUCCH-FormatConfig)
additionalDMRS Format 1, Format 2, Format 3, Format 4 (See PUCCH-FormatConfig)
maxCodeRate Format 2, Format 3, Format 4 (See PUCCH-FormatConfig)
nrofSlots Format 1, Format 2, Format 3, Format 4 (See PUCCH-FormatConfig)
pi2BPSK Format 1, Format 2, Format 3, Format 4 (See PUCCH-FormatConfig)
simultaneousHARQ_ACK_CSI Format 1, Format 2, Format 3, Format 4 (See PUCCH-FormatConfig)

UE如何决定使用哪个资源?

之前章节我们知道PUCCH由一组参数定义,那么gNB如何给UE传输这些信息?换句话说,UE如何知道在发送PUCCH的时候使用哪种格式和参数?

NR PUCCH UCI_第17张图片

PUCCH资源分配如何决定?

PUCCH Resource List(Table) 有两种定义方式。一种是使用3GPP协议里预先定义的资源集配置,另一种是通过RRC信令进行配置。

< Case 1 > 使用预定义表格 : Before PUCCH-Config in RRC

这种场景在 38.213-9.2.1 里描述如下,在没有收到RRC信令携带PUCCH-Config及PUCCHResourceSet配置时,使用协议预定义的表格。有两个RRC信令会携带PUCCH-Config,RRCSetup和SA场景的RRCReconfiguration或NSA场景的RRCConnectionReconfiguration。所以如果RRCSetup中配置了PUCCH-Config,预定义的表格只在RRCSetup之前一小段时间使用。而如果RRCSetup没有配置PUCCH-Config,则在RRCReconfiguration之前都会使用。

  • If a UE does not have dedicated PUCCH resource configuration, provided by higher layer parameter PUCCHResourceSet in PUCCH-Config, a PUCCH resource set is provided by higher layer parameter pucch-ResourceCommon in SystemInformationBlockType1 through an index to a row of Table 9.2.1-1 for transmission of HARQ-ACK information on PUCCH in an initial active UL BWP of N_size_BWP PRBs provided by SystemInformationBlockType1

<38.213 v15.3 - Table 9.2.1-1: PUCCH resource sets before dedicated PUCCH resource configuration >

NR PUCCH UCI_第18张图片

每个小区只能使用表中的一个资源,使用哪个资源由 SIB1中的PUCCH-ConfigCommon.pucch-ResourceCommon字段指示,如下。

  • PUCCH-ConfigCommon ::= SEQUENCE {

  • pucch-ResourceCommon INTEGER (0…15) OPTIONAL, – Need R

  • pucch-GroupHopping ENUMERATED { neither, enable, disable },

  • hoppingId INTEGER (0…1023) OPTIONAL, – Need R

  • p0-nominal INTEGER (-202…24) OPTIONAL, – Need R

  • }

pucch-ResourceCommon 指示 0 到 15 的资源索引,使用此索引在 38.213 Table 9.2.1-1 找到对应资源信息。

例如,如果 pucch-ResourceCommon = 1 将使用如下的PUCCH资源配置。

  • PUCCH Format = Format 0

  • FirstSymbol = 12

  • Number of Symbols = 2

  • PRB Offset = 0

  • Set of Initial CS Indexes = {0,4,8}

在 38.213 Table 9.2.1-1表格中定义了PUCCH的格式和时域资源信息,但是没有指明频域资源信息。其频域信息需要通过 DCI 和 PDCCH CCE位置计算得到(38.213-9.2.1)。

NR PUCCH UCI_第19张图片

< Case 2 > 使用RRC信令配置的表格 : After PUCCH-Config in RRC

PUCCH资源表在RRC消息中定义(e.g, RRCSetup(NR), RRCReconfiguration(NR), RRCConnectionReconfiguration(LTE for NR Addition),创建一个PUCCH资源分配表格主要由以下步骤构成。

  • 第 1 步: 在resourceToAddModList中定义gNB可能用到的所有PUCCH Format 资源

  • 第 2 步: 通过将以上资源组合,在resourceSetToAddModList中定义一个或多个资源集

当由UCI需要传输的时候,如何从上述资源分配表格中选出特定的资源,可以分以下两步。

  • 第 1 步: 根据UCI bit长度从ResourceSetToAddModList中选出一个资源集

  • 第 2 步: 根据DCI指示从选出的资源集中选出特定资源

下图描述了步骤1的过程(PUCCH 资源集的选择)

NR PUCCH UCI_第20张图片

下图描述了步骤2的过程(PUCCH 资源的选择)

NR PUCCH UCI_第21张图片

实例

这些例子来自 Amarisoft Network Simulator.

实例 1
pucch_Config
 setup
  resourceSetToAddModList
     pucch-ResourceSetID  = 0
     resourceList
        {
           0, // these are the pucch-ResourceId defined in resourceToAddModList.
           1, // you can make any combination of the list here
           2, //   example : {0,1,2,3,4,5,6,7}
           3, //   example : {0,1,2,3,0,1,2,3}
           4, //   example : {0,0,0,0,0,0,0,0}
           5,
           6,
           7
        }
    maxPayloadMinus1
   pucch_Config
   setupresourceToAddModList
     {
        pucch-ResourceId = 0
        startingPRB = 0
        intraSlotFrequencyHopping = Omitted
        secondHopPRB = 0
        format = format0
           format 0
              {
                 initialCyclicShift = 0
                 nrofSymbols = 1
                 startingSymbolIndex = 13
              }
    }
    {
        pucch-ResourceId = 1
        startingPRB = 0
        intraSlotFrequencyHopping = Omitted
        secondHopPRB = 0
        format = format0
           format 0
              {
                 initialCyclicShift = 1
                 nrofSymbols = 1
                 startingSymbolIndex = 13
              }
    }
    {
        pucch-ResourceId = 2
        startingPRB = 0
        intraSlotFrequencyHopping = Omitted
        secondHopPRB = 0
        format = format0
           format 0
              {
                 initialCyclicShift = 3
                 nrofSymbols = 1
                 startingSymbolIndex = 13
              }
    }
    {
        pucch-ResourceId = 3
        startingPRB = 0
        intraSlotFrequencyHopping = Omitted
        secondHopPRB = 0
        format = format0
           format 0
              {
                 initialCyclicShift = 7
                 nrofSymbols = 1
                 startingSymbolIndex = 13
              }
    }
    {
        pucch-ResourceId = 4
        startingPRB = 0
        intraSlotFrequencyHopping = Omitted
        secondHopPRB = 0
        format = format0
           format 0
              {
                 initialCyclicShift = 0
                 nrofSymbols = 1
                 startingSymbolIndex = 13
              }
    }
    {
        pucch-ResourceId = 5
        startingPRB = 0
        intraSlotFrequencyHopping = Omitted
        secondHopPRB = 0
        format = format0
           format 0
              {
                 initialCyclicShift = 1
                 nrofSymbols = 1
                 startingSymbolIndex = 13
              }
    }
    {
        pucch-ResourceId = 6
        startingPRB = 0
        intraSlotFrequencyHopping = Omitted
        secondHopPRB = 0
        format = format0
           format 0
              {
                 initialCyclicShift = 3
                 nrofSymbols = 1
                 startingSymbolIndex = 13
              }
    }
    {
        pucch-ResourceId = 7
        startingPRB = 0
        intraSlotFrequencyHopping = Omitted
        secondHopPRB = 0
        format = format0
           format 0
              {
                 initialCyclicShift = 7
                 nrofSymbols = 1
                 startingSymbolIndex = 13
              }
    }
 ........
实例 2
uplinkConfig {
  initialUplinkBWP {
    pucch-Config setup: {
      resourceSetToAddModList {
        {
          pucch-ResourceSetId 0,
          resourceList {
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          }
        },
        {
          pucch-ResourceSetId 1,
          resourceList {
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15
          }
        }
      },
      resourceToAddModList {
        {
          pucch-ResourceId 0,
          startingPRB 0,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 50,
          format format1: {
            initialCyclicShift 0,
            nrofSymbols 14,
            startingSymbolIndex 0,
            timeDomainOCC 0
          }
        },
        {
          pucch-ResourceId 1,
          startingPRB 0,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 50,
          format format1: {
            initialCyclicShift 4,
            nrofSymbols 14,
            startingSymbolIndex 0,
            timeDomainOCC 0
          }
        },
        {
          pucch-ResourceId 2,
          startingPRB 0,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 50,
          format format1: {
            initialCyclicShift 8,
            nrofSymbols 14,
            startingSymbolIndex 0,
            timeDomainOCC 0
          }
        },
        {
          pucch-ResourceId 3,
          startingPRB 0,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 50,
          format format1: {
            initialCyclicShift 0,
            nrofSymbols 14,
            startingSymbolIndex 0,
            timeDomainOCC 1
          }
        },
        {
          pucch-ResourceId 4,
          startingPRB 0,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 50,
          format format1: {
            initialCyclicShift 4,
            nrofSymbols 14,
            startingSymbolIndex 0,
            timeDomainOCC 1
          }
        },
        {
          pucch-ResourceId 5,
          startingPRB 0,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 50,
          format format1: {
            initialCyclicShift 8,
            nrofSymbols 14,
            startingSymbolIndex 0,
            timeDomainOCC 1
          }
        },
        {
          pucch-ResourceId 6,
          startingPRB 0,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 50,
          format format1: {
            initialCyclicShift 0,
            nrofSymbols 14,
            startingSymbolIndex 0,
            timeDomainOCC 2
          }
        },
        {
          pucch-ResourceId 7,
          startingPRB 0,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 50,
          format format1: {
            initialCyclicShift 4,
            nrofSymbols 14,
            startingSymbolIndex 0,
            timeDomainOCC 2
          }
        },
        {
          pucch-ResourceId 8,
          startingPRB 50,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 0,
          format format4: {
            nrofSymbols 14,
            occ-Length n4,
            occ-Index n0,
            startingSymbolIndex 0
          }
        },
        {
          pucch-ResourceId 9,
          startingPRB 50,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 0,
          format format4: {
            nrofSymbols 14,
            occ-Length n4,
            occ-Index n1,
            startingSymbolIndex 0
          }
        },
        {
          pucch-ResourceId 10,
          startingPRB 50,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 0,
          format format4: {
            nrofSymbols 14,
            occ-Length n4,
            occ-Index n2,
            startingSymbolIndex 0
          }
        },
        {
          pucch-ResourceId 11,
          startingPRB 50,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 0,
          format format4: {
            nrofSymbols 14,
            occ-Length n4,
            occ-Index n3,
            startingSymbolIndex 0
          }
        },
        {
          pucch-ResourceId 12,
          startingPRB 1,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 49,
          format format4: {
            nrofSymbols 14,
            occ-Length n4,
            occ-Index n0,
            startingSymbolIndex 0
          }
        },
        {
          pucch-ResourceId 13,
          startingPRB 1,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 49,
          format format4: {
            nrofSymbols 14,
            occ-Length n4,
            occ-Index n1,
            startingSymbolIndex 0
          }
        },
        {
          pucch-ResourceId 14,
          startingPRB 1,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 49,
          format format4: {
            nrofSymbols 14,
            occ-Length n4,
            occ-Index n2,
            startingSymbolIndex 0
          }
        },
        {
          pucch-ResourceId 15,
          startingPRB 1,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 49,
          format format4: {
            nrofSymbols 14,
            occ-Length n4,
            occ-Index n3,
            startingSymbolIndex 0
          }
        },
        {
          pucch-ResourceId 16,
          startingPRB 49,
          intraSlotFrequencyHopping enabled,
          secondHopPRB 1,
          format format1: {
            initialCyclicShift 8,
            nrofSymbols 14,
            startingSymbolIndex 0,
            timeDomainOCC 0
          }
        }
      },
      format1 setup: {
      },
      format4 setup: {
        maxCodeRate zeroDot25
 },

RRC配置参数

Based on 38.331 v15.3

PUCCH-Config ::=     SEQUENCE {
  resourceSetToAddModList     SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSet       OPTIONAL,  -- Need N
  resourceSetToReleaseList    SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId      OPTIONAL,  -- Need N
  resourceToAddModList       SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource        OPTIONAL,  -- Need N
  resourceToReleaseList      SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId       OPTIONAL,  -- Need N
  format1             SetupRelease { PUCCH-FormatConfig } OPTIONAL,  -- Need M
  format2             SetupRelease { PUCCH-FormatConfig } OPTIONAL,  -- Need M
  format3             SetupRelease { PUCCH-FormatConfig } OPTIONAL,  -- Need M
  format4             SetupRelease { PUCCH-FormatConfig } OPTIONAL,  -- Need M
  schedulingRequestResourceToAddModList  SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig   OPTIONAL, -- Need M
  schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId     OPTIONAL, -- Need M
  multi-CSI-PUCCH-ResourceList  SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId OPTIONAL,-- Need M
  dl-DataToUL-ACK        SEQUENCE (SIZE (8)) OF INTEGER (0..15)  OPTIONAL,  -- Need M
  spatialRelationInfoToAddModList  SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo  OPTIONAL,  -- Need N

  spatialRelationInfoToReleaseList  SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId OPTIONAL,  -- Need N
  pucch-PowerControl         [PUCCH-PowerControl]  OPTIONAL,  -- Need M
  ...
}

maxNrofPUCCH-ResourceSets = 4

maxNrofPUCCH-Resources = 127

resourceSetToAddModList : List of PUCCH-ResourceSet

resourceToAddModList : Lists for adding PUCCH resources applicable for the UL BWP and serving cell in which the PUCCH-Config is defined. The resources defined herein are referred to from other parts of the configuration to determine which resource the UE shall use for which report.

format1 : Parameters that are common for all PUCCH resources of format 1

format2 : Parameters that are common for all PUCCH resources of format 2

format3 : Parameters that are common for all PUCCH resources of format 3

format4 : Parameters that are common for all PUCCH resources of format 4

dl-DataToUL-ACK : List of timiing for given PDSCH to the DL ACK. In this version of the specification only the values [0…8] are applicable. Corresponds to L1 parameter ‘Slot-timing-value-K1’

spatialRelationInfoToAddModList : Configuration of the spatial relation between a reference RS and PUCCH. Reference RS can be SSB/CSI-RS/SRS. If the list has more than one element, MAC-CE selects a single element. Corresponds to L1 parameter ‘PUCCH-SpatialRelationInfo’

PUCCH-FormatConfig ::=         SEQUENCE {
  interslotFrequencyHopping        ENUMERATED {enabled} OPTIONAL,  -- Need R
  additionalDMRS             ENUMERATED {true}   OPTIONAL,  -- Need R
  maxCodeRate               PUCCH-MaxCodeRate   OPTIONAL,  -- Need R
  nrofSlots                ENUMERATED {n2,n4,n8}  OPTIONAL,  -- Need S
  pi2PBSK                 ENUMERATED {enabled}  OPTIONAL,  -- Need R
  simultaneousHARQ-ACK-CSI        ENUMERATED {true}    OPTIONAL  -- Need R
}

PUCCH-MaxCodeRate ::=     ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80}

interslotFrequencyHopping : Enabling inter-slot frequency hopping when PUCCH Format 1, 3 or 4 is repetead over multiple slots. The field is not applicable for format 2

additionalDMRS : Enabling 2 DMRS symbols per hop of a PUCCH Format 3 or 4 if both hops are more than X symbols when FH is enabled (X=4). Enabling 4 DMRS sybmols for a PUCCH Format 3 or 4 with more than 2X+1 symbols when FH is disabled (X=4). Corresponds to L1 parameter ‘PUCCH-F3-F4-additional-DMRS’. The field is not applicable for format 1 and 2.

maxCodeRate : Max coding rate to determine how to feedback UCI on PUCCH for format 2, 3 or 4. Corresponds to L1 parameter ‘PUCCH-F2-maximum-coderate’, ‘PUCCH-F3-maximum-coderate’ and ‘PUCCH-F4-maximum-coderate’ . The field is not applicable for format 1.

nrofSlots : Number of slots with the same PUCCH F1, F3 or F4. When the field is absent the UE applies the value n1. Corresponds to L1 parameter ‘PUCCH-F1-number-of-slots’, ‘PUCCH-F3-number-of-slots’ and ‘PUCCH-F4-number-of-slots’. The field is not applicable for format 2.

pi2PBSK : Enabling pi/2 BPSK for UCI symbols instead of QPSK for PUCCH. Corresponds to L1 parameter ‘PUCCH-PF3-PF4-pi/2PBSK’. The field is not applicable for format 1 and 2.

simultaneousHARQ-ACK-CSI : Enabling simultaneous transmission of CSI and HARQ-ACK feedback with or without SR with PUCCH Format 2, 3 or 4. Corresponds to L1 parameter ‘PUCCH-F2-Simultaneous-HARQ-ACK-CSI’, ‘PUCCH-F3-Simultaneous-HARQ-ACK-CSI’ and ‘PUCCH-F4-Simultaneous-HARQ-ACK-CSI’. When the field is absent the UE applies the value OFF. The field is not applicable for format 1.

PUCCH-SpatialRelationInfo ::=        SEQUENCE {
  pucch-SpatialRelationInfoId         PUCCH-SpatialRelationInfoId,
  referenceSignal               CHOICE {
    ssb-Index                  SSB-Index,
    csi-RS-Index               NZP-CSI-RS-ResourceId,
    srs                        SRS-ResourceId
  },
  pucch-PathlossReferenceRS-Id         PUCCH-PathlossReferenceRS-Id,
  p0-PUCCH-Id                 P0-PUCCH-Id,
  closedLoopIndex               ENUMERATED { i0, i1 }
}

PUCCH-SpatialRelationInfoId ::=       INTEGER (1..maxNrofSpatialRelationInfos)

PUCCH-ResourceSet ::=            SEQUENCE {
  pucch-ResourceSetId             PUCCH-ResourceSetId,
  resourceList                SEQUENCE (SIZE (8..maxNrofPUCCH-ResourcesPerSet)) OF PUCCH-ResourceId,
  maxPayloadMinus1              INTEGER (4..256) OPTIONAL  -- Need R
}
 

maxNrofPUCCH-ResourcesPerSet ::= 4

PUCCH-ResourceSetId ::=             INTEGER (0..maxNrofPUCCH-ResourceSets-1)

PUCCH-Resource ::=                SEQUENCE {
  pucch-ResourceId                PUCCH-ResourceId,
  startingPRB                   PRB-Id,
  intraSlotFrequencyHopping            ENUMERATED { enabled } OPTIONAL,  -- Need R
  secondHopPRB                  PRB-Id   OPTIONAL,  -- Need R

 

  format       CHOICE {
    format0        PUCCH-format0,   - Cond InFirstSetOnly
    format1        PUCCH-format1,   - Cond InFirstSetOnly
    format2        PUCCH-format2,   - Cond NotInFirstSet
    format3        PUCCH-format3,   - Cond NotInFirstSet
    format4        PUCCH-format4    - Cond NotInFirstSet
  }
}

PUCCH-ResourceId ::=              INTEGER (0..maxNrofPUCCH-Resources-1)

PUCCH-format0 ::=                SEQUENCE {
  initialCyclicShift               INTEGER(0..11),
  nrofSymbols                   INTEGER (1..2),
  startingSymbolIndex               INTEGER(0..13)
}

PUCCH-format1 ::=                SEQUENCE {
  initialCyclicShift               INTEGER(0..11),
  nrofSymbols                   INTEGER (4..14),
  startingSymbolIndex               INTEGER(0..10),
  timeDomainOCC                  INTEGER(0..6)
}

PUCCH-format2 ::=                SEQUENCE {
  nrofPRBs                    INTEGER (1..16),
  nrofSymbols                   INTEGER (1..2),
  startingSymbolIndex               INTEGER(0..13)
}

PUCCH-format3 ::=                SEQUENCE {
  nrofPRBs                    INTEGER (1..16),
  nrofSymbols                   INTEGER (4..14),
  startingSymbolIndex               INTEGER(0..10)
}

PUCCH-format4 ::=                SEQUENCE {
  nrofSymbols                   INTEGER (4..14),
  occ-Length                   ENUMERATED {n2,n4},
  occ-Index                    ENUMERATED {n0,n1,n2,n3},
  startingSymbolIndex               INTEGER(0..10)
}

SchedulingRequestResourceConfig ::=  SEQUENCE {
  schedulingRequestResourceId       SchedulingRequestResourceId,
  schedulingRequestID           SchedulingRequestId,
  periodicityAndOffset           CHOICE {
    sym2                  NULL,            
    sym6or7                 NULL,            
    sl1                   NULL,   -- Recurs in every slot
    sl2                   INTEGER (0..1),
    sl4                   INTEGER (0..3),
    sl5                   INTEGER (0..4),
    sl8                   INTEGER (0..7),
    sl10                  INTEGER (0..9),
    sl16                  INTEGER (0..15),
    sl20                  INTEGER (0..19),
    sl40                  INTEGER (0..39),
    sl80                  INTEGER (0..79),
    sl160                  INTEGER (0..159),
    sl320                  INTEGER (0..319),
    sl640                  INTEGER (0..639)
  }     OPTIONAL,  -- Need M
  resource                  PUCCH-ResourceId   OPTIONAL  -- Need M
}

PUCCH-PowerControl ::=    SEQUENCE {
  deltaF-PUCCH-f0      INTEGER (-16..15)   OPTIONAL,  -- Need R
  deltaF-PUCCH-f1      INTEGER (-16..15)   OPTIONAL,  -- Need R
  deltaF-PUCCH-f2      INTEGER (-16..15)   OPTIONAL,  -- Need R
  deltaF-PUCCH-f3      INTEGER (-16..15)   OPTIONAL,  -- Need R
  deltaF-PUCCH-f4      INTEGER (-16..15)   OPTIONAL,  -- Need R
  p0-Set           SEQUENCE (SIZE (1..maxNrofPUCCH-P0-PerSet)) OF P0-PUCCH      OPTIONAL, -- Need M
  pathlossReferenceRSs    SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSs)) OF PUCCH-PathlossReferenceRS OPTIONAL, -- Need M
  twoPUCCH-PC-AdjustmentStates   ENUMERATED {twoStates} OPTIONAL, -- Need R
  ...
}

P0-PUCCH ::=              SEQUENCE {
  p0-PUCCH-Id               P0-PUCCH-Id,
  p0-PUCCH-Value             INTEGER (-16..15)
}

P0-PUCCH-Id ::=             INTEGER (1..8)

PUCCH-PathlossReferenceRS ::=      SEQUENCE {
  pucch-PathlossReferenceRS-Id         PUCCH-PathlossReferenceRS-Id,
  referenceSignal               CHOICE {
     ssb-Index                  SSB-Index,
     csi-RS-Index               NZP-CSI-RS-ResourceId
  }
}

PUCCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1)

PUCCH-ConfigCommon ::= SEQUENCE {
   pucch-ResourceCommon        INTEGER (0..15) OPTIONAL, -- Need R
   pucch-GroupHopping          ENUMERATED { neither, enable, disable },
   hoppingId                  INTEGER (0..1023) OPTIONAL, -- Need R
   p0-nominal                 INTEGER (-202..24) OPTIONAL, -- Need R
   ...
}

参考资料

[1] Physical Uplink Control Channel Design for 5G New Radio

[2] 5G NR UCI | Uplink Control Information (UCI) in 5G NR

[3] Physical Uplink Control Channel Design for 5G NewvRadio

你可能感兴趣的:(5GNR,ShareTechnote翻译,5g)