本文翻译自 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)

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

< Group and sequence hopping >

< Cyclic Shift >

< PUCCH Format 0 Baseband Sequence >

< PUCCH Format 1 Baseband Sequence >

< 38.211 - Table 6.3.2.4.1-1: Number of PUCCH symbols and the corresponding >

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

< PUCCH Format 2 Baseband Sequence >

< PUCCH Format 3 Baseband Sequence >

< PUCCH Format 4 Baseband Sequence >

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

调制

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

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

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

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

实例

这些例子来自 Amarisoft Network Simulator.

实例 1

pucch_ConfigsetupresourceSetToAddModListpucch-ResourceSetID  = 0resourceList{0, // these are the pucch-ResourceId defined in resourceToAddModList.1, // you can make any combination of the list here2, //   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}maxPayloadMinus1pucch_ConfigsetupresourceToAddModList{pucch-ResourceId = 0startingPRB = 0intraSlotFrequencyHopping = OmittedsecondHopPRB = 0format = format0format 0{initialCyclicShift = 0nrofSymbols = 1startingSymbolIndex = 13}}{pucch-ResourceId = 1startingPRB = 0intraSlotFrequencyHopping = OmittedsecondHopPRB = 0format = format0format 0{initialCyclicShift = 1nrofSymbols = 1startingSymbolIndex = 13}}{pucch-ResourceId = 2startingPRB = 0intraSlotFrequencyHopping = OmittedsecondHopPRB = 0format = format0format 0{initialCyclicShift = 3nrofSymbols = 1startingSymbolIndex = 13}}{pucch-ResourceId = 3startingPRB = 0intraSlotFrequencyHopping = OmittedsecondHopPRB = 0format = format0format 0{initialCyclicShift = 7nrofSymbols = 1startingSymbolIndex = 13}}{pucch-ResourceId = 4startingPRB = 0intraSlotFrequencyHopping = OmittedsecondHopPRB = 0format = format0format 0{initialCyclicShift = 0nrofSymbols = 1startingSymbolIndex = 13}}{pucch-ResourceId = 5startingPRB = 0intraSlotFrequencyHopping = OmittedsecondHopPRB = 0format = format0format 0{initialCyclicShift = 1nrofSymbols = 1startingSymbolIndex = 13}}{pucch-ResourceId = 6startingPRB = 0intraSlotFrequencyHopping = OmittedsecondHopPRB = 0format = format0format 0{initialCyclicShift = 3nrofSymbols = 1startingSymbolIndex = 13}}{pucch-ResourceId = 7startingPRB = 0intraSlotFrequencyHopping = OmittedsecondHopPRB = 0format = format0format 0{initialCyclicShift = 7nrofSymbols = 1startingSymbolIndex = 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 NresourceSetToReleaseList    SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId      OPTIONAL,  -- Need NresourceToAddModList       SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource        OPTIONAL,  -- Need NresourceToReleaseList      SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId       OPTIONAL,  -- Need Nformat1             SetupRelease { PUCCH-FormatConfig } OPTIONAL,  -- Need Mformat2             SetupRelease { PUCCH-FormatConfig } OPTIONAL,  -- Need Mformat3             SetupRelease { PUCCH-FormatConfig } OPTIONAL,  -- Need Mformat4             SetupRelease { PUCCH-FormatConfig } OPTIONAL,  -- Need MschedulingRequestResourceToAddModList  SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig   OPTIONAL, -- Need MschedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId     OPTIONAL, -- Need Mmulti-CSI-PUCCH-ResourceList  SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId OPTIONAL,-- Need Mdl-DataToUL-ACK        SEQUENCE (SIZE (8)) OF INTEGER (0..15)  OPTIONAL,  -- Need MspatialRelationInfoToAddModList  SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo  OPTIONAL,  -- Need NspatialRelationInfoToReleaseList  SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId OPTIONAL,  -- Need Npucch-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 RadditionalDMRS             ENUMERATED {true}   OPTIONAL,  -- Need RmaxCodeRate               PUCCH-MaxCodeRate   OPTIONAL,  -- Need RnrofSlots                ENUMERATED {n2,n4,n8}  OPTIONAL,  -- Need Spi2PBSK                 ENUMERATED {enabled}  OPTIONAL,  -- Need RsimultaneousHARQ-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 ::= 4PUCCH-ResourceSetId ::=             INTEGER (0..maxNrofPUCCH-ResourceSets-1)PUCCH-Resource ::=                SEQUENCE {pucch-ResourceId                PUCCH-ResourceId,startingPRB                   PRB-Id,intraSlotFrequencyHopping            ENUMERATED { enabled } OPTIONAL,  -- Need RsecondHopPRB                  PRB-Id   OPTIONAL,  -- Need Rformat       CHOICE {format0        PUCCH-format0,   - Cond InFirstSetOnlyformat1        PUCCH-format1,   - Cond InFirstSetOnlyformat2        PUCCH-format2,   - Cond NotInFirstSetformat3        PUCCH-format3,   - Cond NotInFirstSetformat4        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 slotsl2                   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 Mresource                  PUCCH-ResourceId   OPTIONAL  -- Need M
}PUCCH-PowerControl ::=    SEQUENCE {deltaF-PUCCH-f0      INTEGER (-16..15)   OPTIONAL,  -- Need RdeltaF-PUCCH-f1      INTEGER (-16..15)   OPTIONAL,  -- Need RdeltaF-PUCCH-f2      INTEGER (-16..15)   OPTIONAL,  -- Need RdeltaF-PUCCH-f3      INTEGER (-16..15)   OPTIONAL,  -- Need RdeltaF-PUCCH-f4      INTEGER (-16..15)   OPTIONAL,  -- Need Rp0-Set           SEQUENCE (SIZE (1..maxNrofPUCCH-P0-PerSet)) OF P0-PUCCH      OPTIONAL, -- Need MpathlossReferenceRSs    SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSs)) OF PUCCH-PathlossReferenceRS OPTIONAL, -- Need MtwoPUCCH-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 Rpucch-GroupHopping          ENUMERATED { neither, enable, disable },hoppingId                  INTEGER (0..1023) OPTIONAL, -- Need Rp0-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

NR PUCCH UCI相关推荐

  1. NR PUCCH(一) PUCCH format 0/1

    欢迎关注同名微信公众号"modem协议笔记". NR中PUCCH物理信道用来发送上行控制信息Uplink Control Information(UCI),当然UCI也可以在PUS ...

  2. 5G NR PUCCH资源配置

    公共PUCCH资源 在UE没有配置专用PUCCH资源(PUCCH-Config ->PUCCH-ResourceSet)时,就用PUCCH-ConfigCommon配置的公共资源. pucch- ...

  3. NR PUCCH(三) PUCCH resource 的配置与调用

    欢迎关注同名微信公众号"modem协议笔记" 这篇看下PUCCH resource的配置规则及调用流程. 在初始接入阶段,UE还没有和网络端通信,并不知道dedicated PUC ...

  4. NR PUCCH(二)PUCCH format 2/3/4 and interlaced RB

    微信同步更新欢迎关注同名"modem协议笔记" 继续看PUCCH2/3/4. PUCCH 0和1所携带的信息bits少,UCI bits<=2 bits:而PUCCH 2/3 ...

  5. 5G NR上行控制信道PUCCH

    一.PUCCH概述 PUCCH用于承载上行控制信息,相比LTE,NR PUCCH支持5种不同的格式,按照时域上所占用的符号数量可以分为短格式和长格式两种,如下表所示,短格式占用1-2个符号,可以承载1 ...

  6. PUCCH(2)格式与DTX检测(源于5G上行控制信道增强技术研究)

    目录 上行时隙结构与物理资源 PUCCH格式与流程 PUCCH简介 PUCCH格式 PUCCH format 0 PUCCH format 1 PUCCH format 2 PUCCH format ...

  7. NR基础2-物理信道和物理信号

    2 物理信号和物理参数 2.1 参考信号 在此简单说明一下,解调参考信号(DM-RS) NR上下行业务信道和控制信道均依靠DM-RS进行信道估计,实现相干解调.为降低解调和解码时延,NR数据信道(PU ...

  8. NR HARQ(二) CBG HARQ-ACK codebook

    微信公众号同步更新,欢迎关注同名modem协议笔记 这篇开始看下HARQ-ACK codebook的相关内容,先看CBG-based HARQ-ACK codebook.那第一个关注点就是CBG 的划 ...

  9. NR PUSCH(五) DMRS

    微信同步更新欢迎关注同名modem协议笔记 PUSCH DMRS和PDSCH DMRS内容基本一样,但也有不同的地方,例如PUSCH 可能需要Transform precoding,port 对应0~ ...

最新文章

  1. K8S 1.9.0二进制包部署(五)
  2. mysql 修改字段为1-10的随机数
  3. Git undo 操作
  4. CTreeCtrl鼠标双击响应函数中怎么知道双击的是哪个子项?
  5. JavaScript学习总结(三)——逻辑And运算符详解
  6. 关于jdk1.5之后的自定拆装箱
  7. 企业管理软件开发不能割裂各系统的功能
  8. 【SSH进阶之路】一步步重构MVC实现Struts框架——封装业务逻辑和跳转路径(四)...
  9. jtag接口原理图_在开始高速接口前,我们来试试IBERT测试吧!
  10. Android必学之数据适配器BaseAdapter
  11. Visual Studio 添加外部工具
  12. 在vue-cli中使用v-for动态设置img的src值,路径对,但是不显示图片
  13. STM32的FlyMcu程序下载
  14. win10支持8t 硬盘_WIN8.1/ WIN10磁盘分区详解
  15. QCloud服务停止 ,解决WINDOWS防火墙开启后Ping不通的问题
  16. MFC基础知识与课程设计思路
  17. 笔记本ghostwin10系统后只有C盘了别的盘的数据怎样找到
  18. 【Qt编程】基于QWT的曲线绘制及图例显示操作
  19. C#---百度图像识别SDK的控制台简单应用;
  20. 2021最全大数据面试题汇总---hadoop篇,附答案!

热门文章

  1. 那个把说了20年大话都实现了的男人,这次说要制造芯片,我信了
  2. (附源码)计算机毕业设计ssm火车订票系统
  3. emlog百度快速收录自动秒推送插件
  4. java 组合 聚合_关联,组合和聚合-用Java实现
  5. [附源码]java毕业设计龙虎时代健身房管理系统
  6. 高效钉钉小程序开发丨详解Hello,dingtalk
  7. python处理json文件操作
  8. python 协程 gevent
  9. 使用FFmpeg的SDK库实现将H.264流封装进MP4文件时全局SPS、PPS与流中SPS、PPS冲突的问题
  10. C语言字符界面,输入一串字符时可以随时按Esc键退出的工具函数