概述
公共PUCCH资源
在UE没有配置专用PUCCH资源(PUCCH-Config ->PUCCH-ResourceSet)时,就用PUCCH-ConfigCommon配置的公共资源。
pucch-ResourceCommon:38.213-Table9.2.1-1中规定了16个公共PUCCH资源集,这个IE用来指定其中一个资源集。通过查表可以得到该PUCCH资源集format、时域的首符号位置和持续时长、频域的在初始UL BWP中的PRB偏移,以及循环移位。
pucch-GroupHopping:基序列分成组
u
u
u以及组中的序列编号
v
v
v两部分。对于group-hopping和sequence-hopping的使能配置决定了组号和序列号的取值,具体见38.211-6.3.2.2.1。"neither"表示group-hopping和sequence-hopping都不使能;"enable"表示使能group-hopping,去使能sequence-hopping;"disable"表示去使能group-hopping,使能sequence-hopping。
hoppingId:小区特定的加扰ID,用于确定序列组号和序列号的取值,具体见38.211-6.3.2.2.1。
p0-nominal:PUCCH传输使用的功控参数P0。
确定频域资源
38.213-Table9.2.1-1每一行定义个PUCCH资源集,而每一个PUCCH资源集又包含了16个资源,那么在RRC连接建立前,UE检测到了DCI format 1_0或DCI format 1_1,这时要发送HARQ-ACK以响应检测到的DCI,UE会选哪个PUCCH资源呢?
假如在高层参数指定的PUCCH资源集中,最终选定的PUCCH资源索引为
γ
P
U
C
C
H
{gamma}_{PUCCH}
γPUCCH,这个索引有两个特征:
0
≤
γ
P
U
C
C
H
≤
15
0leq{gamma}_{PUCCH}leq15
0≤γPUCCH≤15
γ
P
U
C
C
H
=
⌊
2
⋅
n
C
C
E
,
0
÷
N
C
C
E
⌋
+
2
⋅
Δ
P
R
I
{gamma}_{PUCCH}=lfloor{2cdot{n}_{CCE,0}}div{N_{CCE}}rfloor+2cdot{Delta}_{PRI}
γPUCCH=⌊2⋅nCCE,0÷NCCE⌋+2⋅ΔPRI
其中,
N
C
C
E
N_{CCE}
NCCE是承载DCI format 1_0或DCI format 1_1的PDCCH的CORESET的CCE数目;
n
C
C
E
,
0
n_{CCE,0}
nCCE,0是PDCCH的第一个CCE的索引;
Δ
P
R
I
Delta_{PRI}
ΔPRI是在DCI format 1_0或DCI format 1_1中带的一个值PUCCH resource indicator。
当 ⌊ γ P U C C H / 8 ⌋ = 0 lfloor{gamma_{PUCCH}/8}rfloor=0 ⌊γPUCCH/8⌋=0时:
-
UE在PUCCH传输第一跳使用的PRB索引为 R B B W P o f f s e t + ⌊ γ P U C C H / N C S ⌋ RB_{BWP}^{offset}+lfloor{gamma_{PUCCH}/N_{CS}}rfloor RBBWPoffset+⌊γPUCCH/NCS⌋,在第二跳使用的PRB索引为 N B W P s i z e − 1 − R B B W P o f f s e t − ⌊ γ P U C C H / N C S ⌋ N_{BWP}^{size}-1-RB_{BWP}^{offset}-lfloor{gamma_{PUCCH}/N_{CS}}rfloor NBWPsize−1−RBBWPoffset−⌊γPUCCH/NCS⌋,其中 N C S N_{CS} NCS指在初始循环移位索引集中初始循环移位索引的个数。
-
γ P U C C H m o d N C S gamma_{PUCCH} mod N_{CS} γPUCCHmodNCS作为初始循环移位索引,在初始循环移位索引集中查找
当 ⌊ γ P U C C H / 8 ⌋ = 1 lfloor{gamma_{PUCCH}/8}rfloor=1 ⌊γPUCCH/8⌋=1时:
-
UE在PUCCH传输第一跳使用的PRB索引为 N B W P s i z e − 1 − R B B W P o f f s e t − ⌊ ( γ P U C C H − 8 ) / N C S ⌋ N_{BWP}^{size}-1-RB_{BWP}^{offset}-lfloor{(gamma_{PUCCH}-8)/N_{CS}}rfloor NBWPsize−1−RBBWPoffset−⌊(γPUCCH−8)/NCS⌋,第二跳使用的PRB索引为 R B B W P o f f s e t + ⌊ ( γ P U C C H − 8 ) / N C S ⌋ RB_{BWP}^{offset}+lfloor{(gamma_{PUCCH}-8)/N_{CS}}rfloor RBBWPoffset+⌊(γPUCCH−8)/NCS⌋
-
( γ P U C C H − 8 ) m o d N C S (gamma_{PUCCH}-8)modN_{CS} (γPUCCH−8)modNCS作为初始循环索引,在初始循环移位索引集中查找
专用PUCCH资源
关于专用PUCCH资源,要关注PUCCH-ResourceSet、PUCCH-Resource、PUCCH-FormatConfig这几个类型的配置参数。
PUCCH-ResourceSet
resourceList:,每个PUCCH资源都会配置ID,这个IE就是组成这个PUCCH资源集的PUCCH资源ID列表。
maxPayloadMinus1:UE使用该PUCCH资源集可以传输的最大负荷比特数减1。在PUCCH发送时刻,UE会选择第一个满足它要传输的比特数的PUCCH资源集。第一个资源集(即Set0)不会携带该字段,因为按规定Set0最大传输3比特。最后一个Set也不用携带该字段,因为UE可以推出这个值。这个值应该设置成4的倍数。
maxNrofPUCCH-ResourcesPerSet:集合可配置的最大PUCCH资源数。
确定PUCCH资源集
可以看到PUCCH-Config中会配置多个PUCCH资源集,根据UE要传输的UCI信息的比特数 O U C I O_{UCI} OUCI以及其中包含的信息,来决定使用哪个PUCCH资源集:
-
当 O U C I ≤ 2 O_{UCI}leq2 OUCI≤2,UCI包含了1或2比特的HARQ-ACK信息,如果是HARQ-ACK和SR同时发送还包含了positiv SR或negative SR(即有或没有SR),选择第一个PUCCH资源集(即pucch-ResourceSetId=0)
-
当 2 < O U C I ≤ N 2 2<O_{UCI}le{N_2} 2<OUCI≤N2,其中 N 2 N_2 N2是这个资源集的参数maxPayloadMinus1,选择第二个PUCCH资源集(即pucch-ResourceSetId=1)
-
当 N 2 < O U C I ≤ N 3 N_2<O_{UCI}le{N_3} N2<OUCI≤N3,其中 N 3 N_3 N3是这个资源集的参数maxPayloadMinus1,选择第三个PUCCH资源集(即pucch-ResourceSetId=2)
-
当 N 3 < O U C I ≤ 1706 N_3<O_{UCI}le1706 N3<OUCI≤1706,选择第四个PUCCH资源集(即pucch-ResourceSetId=3),最后一个集合可传输的比特下限由 N 3 N_3 N3决定,上限固定是1706,这就是不用配置maxPayloadMinus1的原因
PUCCH-Resource
startingPRB:没有配置跳频时使用的PRB索引,或者配置了跳频时在跳频前的第一个PRB索引。
intraSlotFrequencyHopping:是否支持时隙内跳频。对于占据了多个时隙的长PUCCH,不能同时支持时隙内跳频和时隙间跳频。
secondHopPRB:跳频后的第一个PRB索引,这个参数用于时隙内跳频场景。
根据format取值,决定由PUCCH-format0/1/2/3/4提供时域的起始符号索引startingSymbolIndex和持续符号数nrofSymbols:
在PUCCH-format 2和PUCCH-format3中规定了nrofPRBs表示传输PUCCH format时使用的PRB数,具体的用法要根据UCI中包含的信息来决定。
PUCCH-FormatConfig
interslotFrequencyHopping:当PUCCH format 1、3、4在多个时隙重复时,UE是否支持时隙间的跳频。如果支持,那么UE在偶数编号的时隙频域开始于startingPRB,在奇数编号的时隙频域开始于secondHopPRB。这个地方时隙编号的规则是:第一次PUCCH传输时的时隙编号为0,一直到PUCCH重复发送结束,每个时隙都按序编号,不管PUCCH是否在这个时隙上发送。
nrofSlots:同一个PUCCH format 1、3、4重复发送时占据的时隙数
Group & Sequence hopping
PUCCH format 0、1、3、4需要由low-PAPR(Peak-to-Average-Power-Ratio)序列 γ u , v α , δ gamma_{u,v}^{alpha,delta} γu,vα,δ来生成。这个序列的定义与循环偏移 α alpha α和基序列 γ ˉ u , v ( n ) bar{gamma}_{u,v}(n) γˉu,v(n)相关。而基序列被分了组,组号是 u ∈ { 0 , 1 , . . . , 29 } uin{0,1,...,29} u∈{0,1,...,29}, v v v是在一个组里面的序列编号。
可以看到,生成PUCCH format时使用的序列由 u u u和 v v v共同决定,而序列组 u = ( f g h + f s s ) m o d 30 u=(f_{gh}+f_{ss})mod30 u=(fgh+fss)mod30和组中编号 v v v则是由高层参数pucch-GroupHopping和hoppingId决定,具体的方式如下:
首先对下文中的几个参数做个说明,
hoppingId就是下文中的
n
I
D
n_{ID}
nID,如果高层没有配置这个参数,那么
n
I
D
=
N
I
D
c
e
l
l
n_{ID}=N_{ID}^{cell}
nID=NIDcell;
n
s
,
f
μ
n_{s,f}^mu
ns,fμ是无线帧中的时隙编号;
n
h
o
p
n_{hop}
nhop是跳频索引,如果没有配置高层参数intraSlotFrequencyHopping,则
n
h
o
p
=
0
n_{hop}=0
nhop=0,如果配置为*‘enabled’*,则第一跳时
n
h
o
p
=
0
n_{hop}=0
nhop=0,第二跳时
n
h
o
p
=
1
n_{hop}=1
nhop=1。
-
如果pucch-GroupHopping配置为’neither’,那么:
f g h = 0 f_{gh}=0 fgh=0
f s s = n I D m o d 30 f_{ss}=n_{ID}mod30 fss=nIDmod30
v = 0 v=0 v=0
可以看到,一旦 n I D n_{ID} nID确定,序列组就确定,最终的序列就是这个组中的第一个序列,不会再跳。 -
如果pucch-GroupHopping配置为’enable,那么:
f g h = ( ∑ m = 0 7 2 m c ( 8 ( 2 n s , f μ + n h o p ) + m ) ) m o d 30 f_{gh}=(sum_{m=0}^72^{m}c(8(2n_{s,f}^{mu+n_{hop}})+m))mod30 fgh=(∑m=072mc(8(2ns,fμ+nhop)+m))mod30
f s s = n I D m o d 30 f_{ss}=n_{ID}mod30 fss=nIDmod30
v = 0 v=0 v=0序列组的选定与PUCCH format发送的时隙以及跳频相关,随着时隙和跳频的变化序列组也会跟着变,但在组内始终选取第一个序列,最终达到了序列跳的目的。
-
如果pucch-GroupHopping配置为’disable’,那么:
f g h = 0 f_{gh}=0 fgh=0
f s s = n I D m o d 30 f_{ss}=n_{ID}mod30 fss=nIDmod30
v = c ( 2 n s , f μ + n h o p ) v=c(2n_{s,f}^mu+n_{hop}) v=c(2ns,fμ+nhop)一旦 n I D n_{ID} nID确定,序列组就确定;在组内选取到的序列会随着PUCCH format发送的时隙和跳频索引而改变,最终达到序列跳的目的。
最后
以上就是默默飞机为你收集整理的5G NR PUCCH资源配置公共PUCCH资源专用PUCCH资源Group & Sequence hopping的全部内容,希望文章能够帮你解决5G NR PUCCH资源配置公共PUCCH资源专用PUCCH资源Group & Sequence hopping所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复