技术标签: 5g ShareTechnote翻译 5GNR
本文翻译自 http://www.sharetechnote.com
PUCCH是上行物理信道的一种,用来承载UCI(上行控制信息)。正如DCI在PDCCH信道上发送一样,UCI在PUCCH信道上发送。但DCI与UCI的不同之处是,UCI根据不同情况可以承载在PUCCH或PUSCH上发送,而DCI只能在PDCCH上发送,任何情况下都无法在PDSCH上发送。
PUCCH的主要任务是承载UCI(上行控制信息)。虽然UCI可以作为PUCCH的一部分来介绍,但由于UCI也是很大的一个主题,我还是写了一个单独的网页here来介绍它(UCI不仅仅在PUCCH上发送,根据配置有可能在PUSCH上发送,所以有必要用单独的页面介绍它)。
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 |
以下是 38.213 - 9.2.1 PUCCH Resource Sets 描述PUCCH参数的示例。从这些示例可以看出,有些参数适用于所有格式的PUCCH,而有的参数只用于特定格式的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),但不同的格式会在处理过程中有部分不同参数,有的格式还需要一些额外的步骤。
< 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 >
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 调制。
根据 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 复用场景在 38.300 - 5.3.3 里描述。
UCI 携带 1/2 bits HARQ-ACK 反馈通过 PUSCH 打孔进行复用
其他场景下UCI通过 PUSCH 速率匹配进行复用
如上文描述,PUCCH有多种参数,而这些用来定义一个特定PUCCH的参数集就叫做PUCCH资源。参数列表如下。
不是每种PUCCH格式都会用到以上所有参数,不同的PUCCH格式用到不同的参数集,下表描述了每个参数用于哪些PUCCH资源。
之前章节我们知道PUCCH由一组参数定义,那么gNB如何给UE传输这些信息?换句话说,UE如何知道在发送PUCCH的时候使用哪种格式和参数?
PUCCH Resource List(Table) 有两种定义方式。一种是使用3GPP协议里预先定义的资源集配置,另一种是通过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之前都会使用。
<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)。
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.
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
}
}
........
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
},
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.1k次。手机邮箱注册技术分析及运用-如何用邮箱注册账号,请参考以下文章: https://blog.csdn.net/weixin_42828741/article/details/82625077本文主要讲述如何使用手机注册账号~目前了解到的服务商有以下几种: 阿里云短信 -腾讯云短信 -百度云SMS -容联云通讯(本文介绍的是这种)接入步骤(以容联云通讯为例测试) 1.注册开发..._手机号登录邮箱咋发验证码
文章浏览阅读1.1k次。1、登录企业微信管理后台 -- 创建企业内部应用 -- 填写logo和应用名称--配置域名 (与钉钉类似)这样ios在点击输入框的时候就不会出现页面被顶起来导致页面变形的问题了。3、配置首页可访问地址:打包到线上的路径(注意配置正式环境和本地环境)2、安装对应的插件和依赖。axios、router、scss等。2、上传内部应用logo和名字。注意需要添加可访问域名的配置。开发上线后会遇到很多有关安卓和ios的兼容性问题。4、在所在公司的工作台搜索应用名称即可。如果不添加配置会自动跳转到线上的地址。_做个app用于钉钉和企业微信用什么编程软件
文章浏览阅读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中 不能访问
文章浏览阅读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
文章浏览阅读122次。公司使用 mailman 来显示 patch,mailman 显示的改动只有一堆黑白文字,难以辨认。有时候还把 patch 当成文件再 git add 一遍后再生成一个新的 patch,这时候对于原来 patch 的代码改动来说,整个 patch 都是新增代码,就更加难以看出改动在哪,给 review patch 带来不必要的不便。有天我想可不可以做成跟 github 一样,至少增删有不..._diff2htmlui
文章浏览阅读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 引用自定义类型
文章浏览阅读891次。[lingyun@localhost chdir]$ lschdir.c[lingyun@localhost chdir]$ cat chdir.c/********************************************************************************** Copyright: (C) 2013 fulinux* ..._linux chdir 函数
文章浏览阅读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
文章浏览阅读826次,点赞12次,收藏22次。随着社会的发展,系统的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但各种信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得工厂生产设备维护信息,因此,设计一种安全高效的工厂生产设备维护管理系统极为重要。为设计一个安全便捷,并且使用户更好获取工厂生产设备维护信息,本文主要有安全、简洁为理念,实现用户快捷寻找工厂生产设备维护信息,从而解决工厂生产设备维护信息复杂难辨的问题。该系统采用java语言、Spring Boot框架和mysql数据库进行开发设计,通过对。
文章浏览阅读708次。mysql 基准测试_mysql基准测试
文章浏览阅读1.4k次。展开全部1、八进制化为32313133353236313431303231363533e78988e69d8331333366306436十进制:例:将八进制数12转换成十进制数 2、八进制化为二进制:规则:按照顺序,每1位八进制数改写成等值的3位二进制数,次序不变。例: (17.36)8 = (001 111 .011 110)2 = (1111.01111)23、八进制化为十六进制先..._两个八进制相加
文章浏览阅读1k次,点赞30次,收藏15次。例程涵盖:STM32各类功能配置,外围传感器初始化,模块初始化,物联网协议,操作系统移植,功能开发,产品案例等等,十分具有参考价值。_基于stm32f103单片机的经典应用实例源码合集(76例)