NR PUCCH UCI-程序员宅基地

技术标签: 5g  ShareTechnote翻译  5GNR  

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

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

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。

img

如何定义 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步:

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

< PUCCH Baseband Sequence Generation >

img

< Group and sequence hopping >

img

< Cyclic Shift >

在这里插入图片描述

img

< PUCCH Format 0 Baseband Sequence >

img

< PUCCH Format 1 Baseband Sequence >

在这里插入图片描述

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

img

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

img

< PUCCH Format 2 Baseband Sequence >

img

< PUCCH Format 3 Baseband Sequence >

在这里插入图片描述

在这里插入图片描述

< PUCCH Format 4 Baseband Sequence >

img

在这里插入图片描述

img

< 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。

img

调制

根据如下条件选择使用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的时候使用哪种格式和参数?

img

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 >

在这里插入图片描述

每个小区只能使用表中的一个资源,使用哪个资源由 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)。

img

< 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 资源集的选择)

img

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

img

实例

这些例子来自 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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhooou33/article/details/122463564

智能推荐

手机邮箱注册技术分析及运用-网站如何发送验证码到手机注册账号_手机号登录邮箱咋发验证码-程序员宅基地

文章浏览阅读2.1k次。手机邮箱注册技术分析及运用-如何用邮箱注册账号,请参考以下文章: https://blog.csdn.net/weixin_42828741/article/details/82625077本文主要讲述如何使用手机注册账号~目前了解到的服务商有以下几种: 阿里云短信 -腾讯云短信 -百度云SMS -容联云通讯(本文介绍的是这种)接入步骤(以容联云通讯为例测试) 1.注册开发..._手机号登录邮箱咋发验证码

开发钉钉和企业微信微应用_做个app用于钉钉和企业微信用什么编程软件-程序员宅基地

文章浏览阅读1.1k次。1、登录企业微信管理后台 -- 创建企业内部应用 -- 填写logo和应用名称--配置域名 (与钉钉类似)这样ios在点击输入框的时候就不会出现页面被顶起来导致页面变形的问题了。3、配置首页可访问地址:打包到线上的路径(注意配置正式环境和本地环境)2、安装对应的插件和依赖。axios、router、scss等。2、上传内部应用logo和名字。注意需要添加可访问域名的配置。开发上线后会遇到很多有关安卓和ios的兼容性问题。4、在所在公司的工作台搜索应用名称即可。如果不添加配置会自动跳转到线上的地址。_做个app用于钉钉和企业微信用什么编程软件

CentOS 部署easy-mock注意事项_easymock部署在centos7中 不能访问-程序员宅基地

文章浏览阅读255次。https://github.com/easy-mock/easy-mock常用linux命令查看端口占用情况netstat -lnpt |grep 80netstat -an|grep 7301系统管理角色,里面切换rootsudo su -查找一个叫 app 的进程ps -ef|grep app杀掉进程kill -9 pid1、安装nodejs 一定要安装8..._easymock部署在centos7中 不能访问

RILD - 第二章 - EventLoop机制的建立_rild_event-程序员宅基地

文章浏览阅读734次。二、EventLoop机制LibRIL负责接收来自RILJ的数据,并传递给ReferenceRIL。实现这一功能的主要机制就是EventLoop机制。 分析LibRIL主要就是分析EventLoop。2.1 EventLoop相关预备知识2.1.1 EventLoop中的Event在ril_event.h头文件中可以看到ril_event的结构体定义//定义Event回调函数指针typedef_rild_event

[JS 工具] 格式化显示 mailman 上的 diff 文本-程序员宅基地

文章浏览阅读122次。公司使用 mailman 来显示 patch,mailman 显示的改动只有一堆黑白文字,难以辨认。有时候还把 patch 当成文件再 git add 一遍后再生成一个新的 patch,这时候对于原来 patch 的代码改动来说,整个 patch 都是新增代码,就更加难以看出改动在哪,给 review patch 带来不必要的不便。有天我想可不可以做成跟 github 一样,至少增删有不..._diff2htmlui

Qt 之 信号参数为QSharedPointer 智能指针类型_qsharedpointer 引用自定义类型-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏15次。文章目录智能指针作为信号参数QSharedPointer智能指针作为信号参数/*! connect a module to the event bus*/Q_DECLARE_METATYPE( QSharedPointer<GitlEvent> )bool GitlEventBus::registerModule(GitlModuleDelegate* pcModule){ qRegisterMetaType< QSharedPointer<GitlEve_qsharedpointer 引用自定义类型

随便推点

linux中chdir函数,linux之chdir函数解析-程序员宅基地

文章浏览阅读891次。[lingyun@localhost chdir]$ lschdir.c[lingyun@localhost chdir]$ cat chdir.c/********************************************************************************** Copyright: (C) 2013 fulinux* ..._linux chdir 函数

python批量录入学生信息_基于Python的学生信息管理系统-程序员宅基地

文章浏览阅读1.5k次。开发环境要求本系统的软件开发及运行环境具体如下。操作系统:Windows 7、Windows 10。Python版本:Python 3.7.0。开发工具:Python IDLE。运行方法在项目文件studentsystem.py上单击鼠标右键,在弹出快捷菜单中选择“Edit with IDLE\Edit with IDLE 3.7(64-bit)”菜单项,如图1所示。在打开的Python Shel..._python从键盘输入 n 个学生信息,包括学号、姓名、成绩。保存到 e:\students.txt

基于SpringBoot+Vue工厂生产设备维护管理系统设计和实现(源码+LW+部署讲解)-程序员宅基地

文章浏览阅读826次,点赞12次,收藏22次。随着社会的发展,系统的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但各种信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得工厂生产设备维护信息,因此,设计一种安全高效的工厂生产设备维护管理系统极为重要。为设计一个安全便捷,并且使用户更好获取工厂生产设备维护信息,本文主要有安全、简洁为理念,实现用户快捷寻找工厂生产设备维护信息,从而解决工厂生产设备维护信息复杂难辨的问题。该系统采用java语言、Spring Boot框架和mysql数据库进行开发设计,通过对。

mysql基准测试-程序员宅基地

文章浏览阅读708次。mysql 基准测试_mysql基准测试

两个八进制小数怎么相加_八进制怎么算-程序员宅基地

文章浏览阅读1.4k次。展开全部1、八进制化为32313133353236313431303231363533e78988e69d8331333366306436十进制:例:将八进制数12转换成十进制数 2、八进制化为二进制:规则:按照顺序,每1位八进制数改写成等值的3位二进制数,次序不变。例: (17.36)8 = (001 111 .011 110)2 = (1111.01111)23、八进制化为十六进制先..._两个八进制相加

【十年开发积累】STM32产品开发代码案例合集,嵌入式物联网工程师珍贵资料(物联技术666)_基于stm32f103单片机的经典应用实例源码合集(76例)-程序员宅基地

文章浏览阅读1k次,点赞30次,收藏15次。例程涵盖:STM32各类功能配置,外围传感器初始化,模块初始化,物联网协议,操作系统移植,功能开发,产品案例等等,十分具有参考价值。_基于stm32f103单片机的经典应用实例源码合集(76例)

推荐文章

热门文章

相关标签