微信目前更新稍快,欢迎关注同名“modem协议笔记”
这篇看下PUCCH resource的配置规则及调用流程。
在初始接入阶段,UE还没有和网络端通信,并不知道dedicated PUCCH 配置;但是SIB1里会配置common PUCCH resource用于初始接入UCI的发送,下面就分别看下common PUCCH resource 和dedicated PUCCH resource。
如果UE还没有配置dedicated PUCCH resource时,例如初始接入阶段,这时候就要根据SIB1中pucch-ResourceCommon提供的index,结合38.213 Table 9.2.1-1的信息确定PUCCH resource用于传输HARQ-ACK info,初始接入对应的PUCCH 资源只能是PUCCH format 0/1(38.213 Table 9.2.1-1中只配置的PUCCH format 0/1)。
PUCCH-ConfigCommon 用于配置小区级PUCCH参数(common),用于初始接入。SA场景下,SIB1 中参数配置路径:SIB1 ->PUCCH-configCommon;PUCCH-configCommon 对应的PUCCH只能在initial uplink BWP内发送;R16中 添加了useinterlacePUCCH-PUSCH IE,如果RRC层没有配置useinterlacePUCCH-PUSCH,UE在PUCCH Common 资源上,使用时隙内跳频;否则不能使用跳频。注意在初始接入时PUCCH format 1 的OCC 默认是0。
PUCCH resource 第一/二跳频PRB位置及循环移位的确定
没有配置useInterlacePUCCH-PUSCH的情况
38.211 PUCCH format 0/1资源映射的描述
PUCCH format 0和1 在频域上都只占用一个RB,根据38.211 PUCCH format 0/1 的资源映射的描述,如果进行的是interlace传输,就要在BWP 内的interlace RB的所有RB进行传输。假设initial BWP 对应CRB10~20, 那在IRB 0和1 上都要传输PUCCH format 0或者1,interlace传输资源映射情况如下。
Dedicated PUCCH resource
下面看下dedicated PUCCH resource。在完成初始接入,进入connected mode后 网络端会通过RRC setup/RRCReconfiguration 配置deidated PUCCH resoure;一般是由PUCCH-Config配置UE specific PUCCH 参数(每BWP配置);UE在指定BWP配置Dedicated PUCCH 后就可以替代PUCCH Common 配置。
Dedicated PUCCH resource 会通过PUCCH ResourceSet 的方式配置。
对于dedicated PUCCH resource 的配置,会有对应Resource Set 的定义;resource set 中会包含1个或多个PUCCH Resource,对应不同PUCCH 格式,下面看下具体参数的含义。
PUCCH-Config中最多配置4个 PUCCH resource sets 即PUCCH-ResourceSetId:PUCCH ResourceSet ID,0-3,即UE最多被配置4个PUCCH 资源集。
在配置PUCCH resource set时,PUCCH-ResourceSetId为资源集的ID, resourceListSet是PUCCH Resource Set 中包含的PUCCH resource列表,对应PUCCH Resource ID,其中仅PUCCH resource set 0可配置32个PUCCH 资源,其他set最多只能配置8个PUCCH resource。PUCCH 0和1 只能配置在第一个ResourceSet资源集中,例如Set 0,PUCCH 2/3/4只能配置在ResourceSetId>0 资源集中;其中PUCCH-ResourceId 取值范围为 0~127 即最多配置128个PUCCH resource。
参数maxPayloadSize 用于指示一个PUCCH resource可传输的最大UCI bits,对于第一个PUCCH resource set 最大的UCI bits 只能是2 bits,下面会有介绍。
PUCCH resource sets的选择规则
当UE配置了多个PUCCH Resource sets 时(例如4个),UE需要根据UCI 信息长度选择对应的PUCCH 资源集,Ouci 表示UE要发送UCI bits 长度。
UE需要发送1或者2 bits 的HARQ-ACK 信息和SR时,如果Ouci<=2则UE选择pucch-ResourceSetId=0资源集;
如果2 如果N2 如果N3<0uci<=1706,则UE选择pucch-ResourceSetId=3。 综上PUCCH 资源集和UCI 长度的关系;对于第一个PUCCH 资源集,发送的最多UCI 长度不超过2bits;对于最后一个PUCCH 资源集(非第一个),发送那个最大UCI长度为1706bits;其他PUCCH 资源集,发送的最大UCI 长度由高层参数maxPayloadSize确定。maxpayloadsize 实际取用时需要乘4。 PUCCH format的选取 确定了选用的PUCCH resource set,但是set中还会有多个PUCCH format,那到底用哪个PUCCH format发送UCI 呢?先看下PUCCH format的总体选择规定。 UE 不需要传输PUSCH 但是要传输UCI ,这时候就要用PUCCH 传输UCI;当传输的UCI 超过1个符号或只有2个符号且HARQ-ACK 及SR 只有1或2bit时,用PUCCH format0传输UCI;传输符号大于4个符号且HARQ-ACK/SR 只有1~2bits时,用PUCCH format 1传输UCI;当传输的UCI 超过1个符号或只有2个符号且HARQ-ACK 及SR 大于2bit时,就用PUCCH forma 3传输UCI;当传输的UCI 超过4个符号且UCI 大于2bit,若此时没有配置OCC 或有配置useInterlacePUCCH-PUSCH,则用PUCCH format 3传输UCI(这里为什么这样描述,参见上一篇中interlace的配置结构就可以知道原因);当传输的UCI 超过4个符号且UCI 大于2bit,若此时有配置OCC且没有配置useInterlacePUCCH-PUSCH,则用PUCCH format4传输UCI。 ackNackFeedbackMode-r16: ENUMERATED {joint, separate}:Indicates which among the joint and separate ACK/NACK feedback modes to use within a slot。 UE可能需要在一个时隙内的不同符号发送1~2个PUCCH;当UE没有被配置ackNackFeedbackMode=separate且需要在一个时隙内发送2个PUCCH时,那这两个PUCCH 至少要有一个是短PUCCH,即PUCCH format0/2;如果有配置ackNackFeedbackMode=separate时,那UE 可以用2个PUCCH 在同一个时隙的不同符号发送HARQ-ACK 信息。 当UE 收到下行DCI 即DCI 1_0/1_1时需要向网络端反馈HARQ-ACK 信息。对于DCI format 1_0, PDSCH-to-HARQ_feedback timing indicator field带的值就代表 K1值;对于DCI format 1_1,PDSCH-to-HARQ_feedback timing indicator field带的值需要根据RRC 层参数dl-DataToUL-ACK/dl-DataToUL-ACK-r16/dl-DataToUL-ACKForDCIFormat1_2,进行映射确定K1值;K1值就代表PDSCH 接收的slot n与 要进行HARQ-ACK 的时隙偏移,即UE 在slot n收到PDSCH 后 ,需要在n+K1 slot发送对应的HARQ-ACK信息。 例如对于DCI 1_1,PDSCH-to-HARQ_feedback timing indicator 是8 bits,value为 0,则K1 需要取dl-DataToUL-ACK/dl-DataToUL-ACK-r16/dl-DataToUL-ACKForDCIFormat1_2 中的第一个值,以此类推。 其中dl-DataToUL-ACK 用于DCI format 1_1 ,dl-DataToUL-ACK-DCI-1-2 用于DCI format 1_2。 如果网络有配置 dl-DataToUL-ACK-r16 ,UE要忽略dl-DataToUL-ACK 。 HARQ ACK 的发送时隙和PUCCH format所在的PUCCH resource set 都确定了,下一步还需要确定要用PUCCH resource set中的哪个PUCCH resource对应的format ,HARQ-ACK PUCCH resource 的确定与DCI 中的PUCCH resource indicator 相关。 当PUCCH resource set中的 PUCCH resource 个数不超过8个时,只需要根据DCI 中的PUCCH resource indicator的值确定即可,例如value 为0,则用resourceList 中的第一个PUCCH resource,依次类推。 UE 使用PUCCH 2/3 发送HARQ-ACK时,有可能实际使用的PRB 个数小于配置的PUCCH 2/3(最大16个PRB)资源的PRB 个数。 UE 根据实际情况确定需要使用的最小PRB 个数(从配置的PRB起点开始)。对于PUCCH format 3,如果最小RB个数 不满足2/3/5的倍数关系,就取最接近要求的RB作为最小RB。 如果最终确定发送HARQ-ACK 所需要的RB 恰巧大于(PUCCH format 2/3的RB数-1),UE就用PUCCH format配置的RB数传输。 在配置interlace传输的情况,UE就在interlace RB上传输HARQ-ACK;如果传输HARQ-ACK所需要的RB大于interlace0中的RB个数,恰巧也配置了interlace 1时,就在interlace 0和1上传输HARQ-ACK。 我们知道在connected mode 时,上下行交互是实时存在的,UE不可避免收到DL DCI 然后要在上行发送HARQ-ACK;SR和CSI 相对来说没有HARQ-ACK发送的频繁,所以HARQ-ACK/SR/CSI 很可能撞在一起发送,即存在资源复用问题,所以也需要确定具体的复用方式,下面就简单看下复用情况。 对于HARQ-ACK和SR复用同一个PUCCH的情况,和单发HACK-ACK的情况一样,都要确定传输所需的最小RB数,根据实际所需RB数确定用哪些RB传输。 对于HARQ-ACK/SR/CSI 复用的情况,如果PUCCH format 足以发送HARQ-ACK/SR/CSI,就正常发送;否则 就按照CSI 的优先级,选择出部分CSI 和HARQ-ACK/SR 一起发送。 这里只是简单概括,具体内容比较多,可以查看38.213 9.2.5 UE procedure for reporting multiple UCI types。 PUCCH format 1/3/4,可以配置多时隙重复发送,重复时隙个数由RRC 层参数nrofSlots 配置,重复时隙N_repeat_PUCCH 可以取值2,4,8,inter slot frequency hopping 和intra-slot frequency hopping不能同时enable。 如果UE配置了TDD-UL-DL-ConfigurationCommon或dedicated参数,时隙的确定根据上下行满足要求的上行时隙、符号确定;如果没有配置就按照连续N_repeat_PUCCH个时隙传输。 当不配置时隙间跳频时,UE不进行时隙间跳频,进行时隙内跳频(如果配置);当配置时隙间跳频时,不进行时隙内跳频,进行时隙间跳频: 当进行inter slot frequency hopping时,偶数时隙开始PRB为startingPRB;奇数时隙开始PRB为secondHopPRB;重复次数从0开始编号到N_repeat_PUCCH,如果在某个时隙没有实际发送,编号正常递增。 PUCCH 重复发送的时隙,如果不满足上行符号数要求,例如是下行时隙,则取消发送。 对于重复传输场景,不同类型的UCI不能复用在一个PUCCH 传输中。 如果first PUCCH与second PUCCH 在slot上overlap时,在overlap的时隙内,不应该包含相同优先级的UCI;如果first PUCCH与second PUCCH不可避免地要传输相同优先级的UCI 时,UE应该在刚开始的slot上发送这个UCI,不要放在后面的时隙上发送,以便尽可能的避免上述情况;如果first PUCCH 和second PUCCH要传输不同优先级的UCI时,UE要先传输高优先级的UCI。微信同步更新欢迎关注同名“modem协议笔记”。