|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PUCCH / UCI in DetailPUCCH is an uplink physical channel that carries UCI (Uplink Control Information). As DCI (Downlink Control Information) is carried by PDCCH, UCI is carried by PUCCH. A big difference between DCI and UCI is that UCI can be carried either by PUCCH or PUSCH depending on situation whereas DCI can be carried only by PDCCH (not by PDSCH in any case).
UCIThe main purpose of PUCCH is to carry UCI (Uplink Control Information). Even though UCI can be taken as a part of PUCCH, I wrote a separate page here for UCI since it is a huge topics on its own (PUCCH is not the only channel that carries UCI, depending on cofiguration PUSCH also carries UCI. So it is reasonable to write a separate page for UCI) Summary of PUCCH FormatsThere are 5 different formats of PUCCH and which one of them is used is determined by how many bits of information should be carried and how many symbols are assigned, as summarized in the following table. < Based on 38.211 - Table 6.3.2.1-1: PUCCH formats.>
I think the description from 38.300 - 5.3.3 would give you another aspects of the description as below. The short PUCCH format of up to two UCI bits is based on sequence selection, while the short PUCCH format of more than two UCI bits frequency multiplexes UCI and DMRS. The long PUCCH formats time-multiplex the UCI and DMRS. Frequency hopping is supported for long PUCCH formats and for short PUCCH formats of duration of 2 symbols. Long PUCCH formats can be repeated over multiple slots. Following is the summary of PUCCH formats with more detailed parameter. For the overview of PUCCH parameters, I think this table would be enough but if you want to know of the detailed meaning of each of these parameters, you would need to go through the whole page.
Some background of adopting this kind of design is briefly described in V-B of this paper as follows Unlike LTE PUCCH that is located at the edges of the carrier bandwidth and is designed with fixed duration and timing, Which format to use ?
How to Determine PUCCH location ?Following is the illustration for the description on 38.213 - 9.2.1 PUCCH Resource Sets. As you see in the following illustration, some parameters applies to all PUCCH format but some parameters applies to only specific formats as below.
How to define PUCCH baseband signal ?As in LTE PUCCH(format 1,1a,1b, format 2,2a,2b and format 3), the baseband generation process for NR PUCCH is also very complicated. As you know, all the purpose of PUCCH is just to send a few bits to gNB. I've been thinking on why we need this kind of complicated way just to send a few bits. Actually PUCCH is not the only one that is designed in such a complicated way. Every channel processing in cellular technology is complicated. Main reason behind this complexity is for reliability of the delivery of the contents and for some channels we put some additional complication for handling multiple users with very limited physical resources. Anyway, I don't think I can explain fully about the design concept of PUCCH baseband generation in plain words and I don't want to pretend that I myself knows about the full detail. Full understanding on this process will be required only for a few physical layer development engineer and those engineer would not need this type of notes since they've already had bettern knowledge than I just by reading 3GPP documents. The main purpose of writing this note is to make a cheat sheet for overall PUCCH baseband process and figure out the link between RRC parameter and baseband process. Even if I don't completely understand the process, at least I can say 'Hmm... this RRC parameter seems to be related to this part of the baseband process'. PUCCH baseband process is made up of roughly three steps : This three steps applies to all PUCCH formats (Format 0,1,2,3,4) but depending on PUCCH format a little different parameters(see here) are used during this process and some format would require some extra steps in addition to this common part. < 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 >
Frequeny HoppingIt is possible to enable or disable PUCCH using RRC Parameter PUCCH-frequency-hopping. It is configured by following Rrc parameters.
PUCCH-Resource ::= SEQUENCE { pucch-ResourceId PUCCH-ResourceId, startingPRB PRB-Id, intraSlotFrequencyHopping ENUMERATED { enabled } OPTIONAL, -- Need R secondHopPRB PRB-Id OPTIONAL, -- Need R .... }
Followings are some of the examples of frequency hopping. For more diverse and accurate examples, refer to this note with Matlab 5G Toolbox. ModulationQPSK or BPSK is used depending on cases as below.
Channel CodingVarious types of Channel coding is applied to UCI(Uplink Control Information) depending on the number of bits to be carried.
UCI / PUSCH MultiplexingIs it allowed to transmit UCI and PUSCH at the same time ? This (transmition of UCI and PUSCH at the same time) is called Multiplexing and the UCI/PUSCH multiplexing is supported. This multiplexing happens in the way described as follows (38.300 - 5.3.3)
What is PUCCH Resource and what constitues it ?As described above, there are various parameters to define a specific PUCCH. The set of parameters for defining a specific PUCCH is called 'PUCCH Resource'. The list of parameters that are used to define a PUCCH Resource are as follows.
Not every PUCCH format uses all of these parameters. Depending on PUCCH format, a PUCCH uses different set of parameters. Following table shows which parameter is used for which PUCCH format.
How does UE figure out which resource to apply ?In previous section, we learned a lot of parameters are involved in defining a specific PUCCH. Then how the gNB transfer those information to UE ? In other words, how UE can figure out what kind of pucch format and parameters should be used for at the specific moment of PUCCH transmission ? How the PUCCH Resource allocation is determined ?There are two different ways of defining PUCCH Resource List(Table). One is to use the table predefined in 3GPP specification and the other one is to arbitrarily defined table using RRC message. you may get a brief but nicely described big picture of PUCCH resource allocation from V-B of this paper as follows :
For UCI transmission including HARQ-ACK bits, a UE may be configured with up to 4 PUCCH resource sets based on the UCI size. A UE determines the set based on the UCI size, and further indicates a PUCCH resource in the set based on a 3-bit field in DCI (complemented with an implicit rule for the first set with more than 8 resources)
This case is used in a specific case as stated below (38.213-9.2.1). It means that this table is used when there is no PUCCHResourceSet defined in PUCCH-Config in RRC. There are two RRC messages that would carry PUCCH-Config. One is RRCSetup and the other one is RRCReconfiguration in case of SA or RRCConnectionReconfiguration in case of NSA. So if PUCCH-Config is configured in RRCSetup, this table is used for only a few steps before RRCSetup message. If PUCCH-Config is not configured in RRCSetup, this table is used for pretty long time until the rrc procedure reaches 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 >
When this table is used, only one of these items (resource) can be used for a specific cell and the specific resource to be used for the cell is configured by PUCCH-ConfigCommon.pucch-ResourceCommon in SIB1 as shown below.
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 ... }
As you see, pucch-ResourceCommon can specify a number between 0 and 15 which indicate the table Index in 38.213 Table 9.2.1-1. For example, if pucch-ResourceCommon = 1. Following PUCCH configuration (resource) is used PUCCH Format = Format 0 FirstSymbol = 12 Number of Symbols = 2 PRB Offset = 0 Set of Initial CS Indexes = {0,4,8}
You may notice that 38.213 Table 9.2.1-1 defines the pucch format and time domain resource allocation but it does not specify the exact frequency domain resource allocation. The frequency domain resource allocation is determined by a little bit complicated algorithm as illustrated below based on 38.213-9.2.1. Simply put, the frequency domain resource is determined by DCI and PDCCH CCE location.
PUCCH Resource table is defined in RRC message(e.g, RRCSetup(NR), RRCReconfiguration(NR), RRCConnectionReconfiguration(LTE for NR Addition). One example of creating the PUCCH resource allocation table is shown below. Basically it has a structure and steps as follows. Step i) : Define all the possible PUCCH Format resource a gNB would use in the IE resourceToAddModList Step ii) : Define one or multipe Set of resources by combining the elements of resourceSetToAddModList From the resource allocation table constructed as above, how a specific resource is picked up for UCI transmission at a specific moment. It can be determined by the two step procedure as below. Step 1 : Select a PUCCH Resource Set from ResourceSetToAddModList based on UCI bit length Step 2 : Select a specific resource from the resourceList within the selected resource set based on DCI Following is an illustration showing the Step 1 (PUCCH Resource Set Selection) Following is an illustration showing the Step 2 (PUCCH Resource Selection) ExamplesThese examples are from 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 resourceToAddModList { 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 }, RRC ParametersBased 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 ... } 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}
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 ... }
Reference[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 YouTube (Korean)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||