一、PRACH功率控制

图片来源于http://www.sharetechnote.com/

1、前导目标功率P_{PRACH,target,f,c}

 P_{PRACH,target,f,c}由高层参数PREAMBLE_RECEIVED_TARGET_POWER提供。计算公式为:

PREAMBLE_RECEIVED_TARGET_POWER = preambleReceivedTargetPower + DELTA_PREAMBLE + (PREAMBLE_POWER_RAMPING_COUNTER – 1) × PREAMBLE_POWER_RAMPING_STEP;

其中preambleReceivedTargetPower在SIB1中配置,为前导目标接收功率。

DELTA_PREAMBLE根据每种前导格式不同进行调整,计算过程为:

(1)SIB1中获取prach-ConfigurationIndex 。

(2)查表TS38.211 Table 6.3.3.2-2: 确定Preamble format。

(3)如果前导为长格式,查表TS38.321 7.3-1确定DELTA_PREAMBLE values。

(4)如果为短格式前导,则根据表7.3-2确定计算公式,其中μ根据SIB1中msg1-SubcarrierSpacing参数确定。如果msg1-SubcarrierSpacing参数没有配置

msg1-SubcarrierSpacing

Subcarrier spacing of PRACH (see TS 38.211 [16], clause 5.3.2). Only the values 15 or 30 kHz (FR1), and 60 or 120 kHz (FR2) are applicable. If absent, the UE applies the SCS as derived from the prach-ConfigurationIndex in RACH-ConfigGeneric (see tables Table 6.3.3.1-1 and Table 6.3.3.2-2, TS 38.211 [16]). The value also applies to contention free random access (RACH-ConfigDedicated), to SI-request and to contention-based beam failure recovery (CB-BFR). But it does not apply for contention free beam failure recovery (CF-BFR) (see BeamFailureRecoveryConfig).

PREAMBLE_POWER_RAMPING_COUNTER 为前导发送次数,初始值为1,如果参考SSB或CSI-RS不变则每次发送加1。

PREAMBLE_POWER_RAMPING_STEP由SIB1中参数powerRampingStep确定。

 

2、路损PL_{b,f,c}

PL_{b,f,c}根据 referenceSignalPower – higher layer filtered RSRP计算。

其中referenceSignalPower 为SIB1配置的ss-PBCH-BlockPower参数

higher layer filtered RSRP为UE测量到的RSRP。

 

3、示例

SIB1中PRACH配置如下图:

prach-ConfigurationIndex 202,

preambleReceivedTargetPower -100,

powerRampingStep dB2,

msg1-SubcarrierSpacing kHz15,

ss-PBCH-BlockPower -6 (该参数图中未截取)

根据前述:

根据prach-ConfigurationIndex = 202查表TS 38.211 Table 6.3.3.2-2确定Preamble format为B4,再查表TS 38.321 7.3-2得到DELTA_PREAMBLE为3×μ。

根据msg1-SubcarrierSpacing =15khz确定μ=0。

根据物理层测量得到RSRP = -116dbm

P_{PRACH} = P_{PRACH,target,f,c} + PL_{b,f,c} = (preambleReceivedTargetPower + DELTA_PREAMBLE + (PREAMBLE_POWER_RAMPING_COUNTER – 1) × PREAMBLE_POWER_RAMPING_STEP + (referenceSignalPower – higher layer filtered RSRP

= (-100 +  3×0 + (1-1)*2) + (-6+116)

= -100 + 110 

= 10dbm

这里从终端log看计算出来发射功率为15dbm,查看RACH流程,prach-ConfigurationIndex = 202对应Preamble format为C2,与TS 38.211不一致。

如果根据C2计算则得到的DELTA_PREAMBLE 比格式B4高5db,最终计算出来PRACH为15dbm。

 

二、PUSCH功率控制

图片来源于http://www.sharetechnote.com/

1、配置索引j

接收目标功率谱P_{O\_PUSCH_{b,f,c}}(j) = P_{O\_NOMINAL\_PUSCH_{,f,c}}(j) + P_{O\_UE\_PUSCH_{b,f,c}}(j)j\in \{0,1,2,...,J-1\}

j为配置集索引,根据j值不同P_{O\_PUSCH_{b,f,c}}(j)\alpha _{b,c,f}(j)PL_{b,f,c}(q_{d})不同。

l为PUSCH功率控制调整状态索引。

P_{O\_PUSCH_{b,f,c}}(j)分公共配置P_{O\_NOMINAL\_PUSCH_{,f,c}}(j)和UE专用配置P_{O\_UE\_PUSCH_{b,f,c}}(j)两部分。

主要根据j值不同分为三种情况:

(1)j=0

如果没有配置P0-PUSCH-AlphaSet参数或者PUSCH为RAR消息上行调度则j=0。

此时P_{O\_UE\_PUSCH_{b,f,c}}(0)=0

P_{O\_NOMINAL\_PUSCH_{,f,c}}(0) = P_{O\_PRE} +\Delta _{PREAMBLE\_Msg3} 

P_{O\_PRE}由SIB1中参数preambleReceivedTargetPower配置。

\Delta _{PREAMBLE\_Msg3}由SIB1中参数msg3-DeltaPreamble配置,如果没有配置msg3-DeltaPreamble参数则\Delta _{PREAMBLE\_Msg3}为0dB。

注意根据38.331 msg3-DeltaPreamble配置值与真实值之间的关系为真实值= 配置值*2(dB)

38.331 msg3-DeltaPreamble

Power offset between msg3 and RACH preamble transmission. Actual value = field value * 2 [dB] (see TS 38.213 [13], clause 7.1)

\alpha _{b,c,f}(j):如果SIB1配置了msg3-Alpha参数,则\fn_cm \alpha _{b,c,f}(0) = msg3-Alpha,否则\fn_cm \alpha _{b,c,f}(0) = 1

(2)j=1

对于ConfiguredGrantConfig配置的PUSCH传输或重传(半静态调度),j=1

P_{O\_NOMINAL\_PUSCH_{,f,c}}(1)由SIB1中参数p0-NominalWithoutGrant配置,如果SIB1中没有配置p0-NominalWithoutGrant参数,则P_{O\_NOMINAL\_PUSCH_{,f,c}}(1) = P_{O\_NOMINAL\_PUSCH_{,f,c}}(0)参照j=0来计算。

P_{O\_UE\_PUSCH_{b,f,c}}(1)\alpha _{b,c,f}(1)根据ConfiguredGrantConfig信元中配置的p0-PUSCH-Alpha参数得到P0-PUSCH-AlphaSetId,然后在SIB1的P0-PUSCH-AlphaSet信元中找到P0-PUSCH-AlphaSetId对应的p0作为P_{O\_UE\_PUSCH_{b,f,c}}(1)、alpha作为\alpha _{b,c,f}(1)

 

(3)j=2

如果DCI format 0_0或者 DCI format 0_1不包含SRI域,或者没有配置SRI-PUSCH-PowerControl,则j=2

P_{O\_NOMINAL\_PUSCH_{,f,c}}(2)由SIB1中参数p0-NominalWithGrant配置,如果SIB1中没有配置p0-NominalWithGrant参数,则P_{O\_NOMINAL\_PUSCH_{,f,c}}(2) = P_{O\_NOMINAL\_PUSCH_{,f,c}}(0)参照j=0来计算。

P_{O\_UE\_PUSCH_{b,f,c}}(2)\alpha _{b,c,f}(2)由p0-AlphaSets信元第一个p0-Pusch-AlphaSet提供的p0确定P_{O\_UE\_PUSCH_{b,f,c}}(2),alpha确定\alpha _{b,c,f}(2)

 

(4)j\in \{2,...,J-1\}

如果UE通过SRI-PUSCH-PowerControl配置了多于1个p0-PUSCH-AlphaSetId值,并且DCI format 0_1包含SRI域,则j\in \{2,...,J-1\}

P_{O\_NOMINAL\_PUSCH_{,f,c}}(j)由SIB1中参数p0-NominalWithGrant配置,如果SIB1中没有配置p0-NominalWithGrant参数,则P_{O\_NOMINAL\_PUSCH_{,f,c}}(j) = P_{O\_NOMINAL\_PUSCH_{,f,c}}(0)参照j=0来计算。

P_{O\_UE\_PUSCH_{b,f,c}}(j)\alpha _{b,c,f}(j)首先根据DCI format 0_1中的SRI域映射到sri-PUSCH-PowerControlId,映射方法见38.212,然后通过索引p0-PUSCH-AlphaSetId映射到对应的p0和alpha。

2、路损PL_{b,f,c}(q_{d})

PL_{b,f,c}(q_{d})为UE根据参考信号q_{d}进行的下行路损估计。重点需要关注计算路损的参考信号,可以为SSB或者CSI-RS。

(1)随机接入

如果UE没有配置PUSCH-PathlossReferenceRS或者在UE配置专用高层参数之前,根据获取MIB的SSB作为参考信号计算路损。

如果PUSCH由RAR上行授权调度(Msg3),则UE用的RS资源索引q_{d}与PRACH传输使用的参考信号相同

(2)半静态调度

根据ConfiguredGrantConfig配置传输PUSCH时(半静态调度),如果配置了rrc-ConfiguredUplinkGrant信元,则RS资源索引 q_{d}由信元中pathlossReferenceIndex参数提供。此时RS资源属于服务小区c,或者在配置了参数pathlossReferenceLinking的情况下指向配置的服务小区。

根据ConfiguredGrantConfig配置传输PUSCH时(半静态调度),如果没有配置rrc-ConfiguredUplinkGrant信元,则根据触发DCI的SRI域映射到PUSCH-PathlossReferenceRS-Id,然后得到RS资源索引 q_{d}。如果触发PUSCH传输的DCI不包含SRI域,则根据PUSCH-PathlossReferenceRS-Id =0得到RS资源索引 q_{d}。此时RS资源属于服务小区c,或者在配置了参数pathlossReferenceLinking的情况下指向配置的服务小区。

(3)动态调度

如果UE在PUSCH-PathlossReferenceRS配置了一系列参考信号(RS)资源索引,数量最多为maxNrofPUSCH-PathlossReferenceRS个。RS资源索引由pusch-PathlossReferenceRS-Id指示,可以包含SSB索引或者CSI-RS索引,或者两者都包括。UE根据PUSCH-PathlossReferenceRS中的pusch-PathlossReferenceRS-Id确定RS资源索引 q_{d}是参考SSB还是CSI-RS

如果PUSCH由DCI format 0_0调度,并且最小索引的PUCCH资源配置了PUCCH-Spatialrelationinfo参数,则UE使用与最小索引PUCCH资源相同的RS资源索引 q_{d}

如果PUSCH由DCI format 0_0调度,并且PUCCH传输没有配置空域设置(没有PUCCH-Spatialrelationinfo参数),或者由没有SRI域的DCI format 0_1调度,或者没有配置SRI-PUSCH-PowerControl参数,则根据PUSCH-PathlossReferenceRS-Id =0得到RS资源索引q_{d}此时RS资源属于服务小区c,或者在配置了参数pathlossReferenceLinking的情况下指向配置的服务小区。

PL_{b,f,c}(q_{d})= referenceSignalPower – higher layer filtered RSRP,其中referenceSignalPower由高层参数配置,RSRP滤波器由rrcReconfiguration信令中高层参数QuantityConfig配置。

如果没有配置周期性CSI-RS接收,则referenceSignalPower由高层参数ss-PBCH-BlockPower配置。如果配置了周期性CSI-RS接收,则referenceSignalPower由高层参数ss-PBCH-BlockPower或者powerControlOffsetSS配置。powerControlOffsetSS配置了CSI-RS相对于SSB的功率偏移。如果powerControlOffsetSS没有配置则表示偏移为默认值0dB

 

3、PUSCH RB数量M_{RB,b,f,c}^{PUSCH}(i)

 

4、MCS功率调整量\Delta _{TF,b,f,c}(i)

deltaMCS

Indicates whether to apply delta MCS. When the field is absent, the UE applies Ks = 0 in delta_TFC formula for PUSCH (see TS 38.213 [13], clause 7.1).

MCS功率调整量\Delta _{TF,b,f,c}(i)由SIB1中参数deltaMCS确定,如果deltaMCS的值为enabled则Ks=1.25,如果没有配置该参数Ks=0。

当Ks=0时,\Delta _{TF,b,f,c}(i) = 0。

当Ks=1.25时\Delta _{TF,b,f,c}(i)由下式确定,此时计算功率调整量较复杂,需要考虑

(1)对于上行数据传输

  

C为码块数量,Kr为码块大小,N_{RE}为RE的数量,M_{RB,b,f,c}^{PUSCH}(i)为RB数量,N_{symb,b,f,c}^{PUSCH}(i)为传输时机i每个RB的PUSCH符号数量,N_{sc,data}^{RB}(i,j)为符号j不包括DMRS和PTRS的子载波数量。

当PUSCH包含上行数据时\beta _{offset}^{PUSCH} = 1

(2)对于没有上行数据的CSI传输

其中Qm为调制阶数,R是目标码率,在TS 38.214中描述。这些参数在DCI中提供。

当PUSCH仅包含CSI不包含上行数据时\beta _{offset}^{PUSCH} = \beta _{offset}^{CSI,1} 。具体值根据表TS 38.213 表9.3-2确定。

 

5、PUSCH功率调整量f_{b,f,c}(i,l)

l为功率控制调整状态索引,注意后续计算时只计算l相同的TPC指令。

如果配置了参数twoPUSCH-PC-AdjustmentStates l\in \{0,1\}

如果没有配置twoPUSCH-PC-AdjustmentStates参数或者RAR上行授权的PUSCH传输(Msg3)则 l=0

\delta _{PUSCH,b,f,c}(i,l)是调度PUSCH传输DCI format 0_0或者DCI format 0_1中TPC指令值。或者TPC-PUSCH-RNTI 加扰的DCI format 2_2中联合编码TPC指令。

(1)率控制调整状态索引l

a)半静态调度(j=1)

对于ConfiguredGrantConfig配置的PUSCH传输或重传, l\in \{0,1\}由高层参数powerControlLoopToUse配置。

如果UE得到了TPC-PUSCH-RNTI加扰的DCI format 2_2 TPC指令,则l的值根据DCI format 2_2中闭环指示(closed loop indicator)域确定。

b)动态调度(j>1)

如果PUSCH由DCI format 0_0调度,或者DCI format 0_1调度但是没有包含SRI域,或者没有配置高层参数SRI-PUSCH-PowerControl,则l=0。

如果配置了SRI-PUSCH-PowerControl信元,且PUSCH由DCI format 0_1调度包含SRI域,则根据DCI format 0_1中的SRI域映射sri-PUSCH-PowerControlId,再根据对应的sri-PUSCH-ClosedLoopIndex确定l的值。

(2)功率调整计算

PUSCH功率调整量f_{b,f,c}(i,l)计算方式由参数tpc-Accumulation确定,当该参数配置为enabled时或者该参数不配置时,采用累积方式进行功率调整。当该参数配置为disabled时采用绝对值进行功率调整。

tpc-Accumulation

If enabled, UE applies TPC commands via accumulation. If not enabled, UE applies the TPC command without accumulation. If the field is absent, TPC accumulation is enabled (see TS 38.213 [13], clause 7.1).

a)累积方式功率调整

\delta _{PUSCH,b,f,c}的值根据TS 38.213表7.1.1-1得到,Di为从PUSCH传输时机i-i_{0}之前K_{PUSCH}\(i-i_{0}\)-1个符号到PUSCH传输时机i之前K_{PUSCH}\(i\)个符号之间收到的TPC指令,其中i_{0}>0是满足传输时机i-i_{0}之前K_{PUSCH}\(i-i_{0}\)个符号在传输时机i之前K_{PUSCH}\(i\)个符号之前的最小正整数。也即上次功率调整后收到的所有TPC指令都累加起来。

如果PUSCH由DCI format 0_0或者 DCI format 0_1调度(动态调度), K_{PUSCH}\(i\)为PDCCH最后一个符号到PUSCH传输第一个符号之间的符号数量。

如果PUSCH传输由ConfiguredGrantConfig配置(半静态调度),K_{PUSCH}\(i\)的值K_{PUSCH,min}为每时隙符号数量N_{symb}^{slot} 乘以PUSCH-ConfigCommon中最小的k2值。

b)绝对值方式功率调整

\delta _{PUSCH,b,f,c}的值根据TS 38.213表7.1.1-1得到。

c)初始值

当高层重新配置P_{O\_UE\_PUSCH_{b,f,c}}(j)\alpha _{b,c,f}(j)参数时,PUSCH功率调整初始化为f_{b,f,c}(0,l) = 0

d)Msg3计算

如果UE收到了RAR消息,则msg3发射功率调整根据下式计算,其中l=0\delta _{msg2,b,f,c}来自于RAR消息中的TPC指令。

\Delta P_{rampuprequested,b,f,c}为msg1功率抬升总量。

\Delta P_{rampup,b,f,c}计算公式的意思为如果根据PUSCH计算出来的msg3功率超过P_{CMAX,f,c},则根据P_{CMAX,f,c}发送Msg3。

 

6、计算实例

SIB1ZHONG配置的PRACH、PUSCH功率控制主要参数如下:

prach-ConfigurationIndex 17,

preambleReceivedTargetPower -100,

powerRampingStep dB2,

msg3-DeltaPreamble 4,

p0-NominalWithGrant -76

ss-PBCH-BlockPower 14

(1)PRACH功率

prach-ConfigurationIndex 17, => 前导格式0 => DELTA_PREAMBLE = 0dB

PREAMBLE_POWER_RAMPING_COUNTER 根据终端log为4

P_{PRACH} = P_{PRACH,target,f,c} + PL_{b,f,c} = (preambleReceivedTargetPower + DELTA_PREAMBLE + (PREAMBLE_POWER_RAMPING_COUNTER – 1) × PREAMBLE_POWER_RAMPING_STEP + (referenceSignalPower – higher layer filtered RSRP

= (-100 + 0 + (4-1)*2) + 105 = 11dbm

(2)Msg3功率

对于Msg3, j= 0;分析终端log,Msg3发送为帧号754,时隙8。

P_{O\_NOMINAL\_PUSCH_{,f,c}}(0) = P_{O\_PRE} +\Delta _{PREAMBLE\_Msg3} = -100 + 8

P_{O\_UE\_PUSCH_{b,f,c}}(0)=0

M_{RB,b,f,c}^{PUSCH}(i) = 3,通过终端log  “NR5G MAC UL Physical Channel Schedule Report”得到。

\alpha _{b,c,f}(0) = 1

\Delta _{TF,b,f,c}(i) = 0

PL_{b,f,c}(q_{d}) = 105

\Delta P_{rampuprequested,b,f,c} = (4-1)*2 = 6dB    (PRACH发送4次)

f_{b,f,c}(0,l)根据终端log,NR5G MAC UL TB Stats可以看到f_{b,f,c}(0,l) = 2db

 

P_{PUSCH} = P_{O\_NOMINAL\_PUSCH_{,f,c}}(0) + P_{O\_UE\_PUSCH_{b,f,c}}(0) + 10lg(2*M_{RB,b,f,c}^{PUSCH}(i)PL_{b,f,c}(q_{d}) *\alpha _{b,c,f}(0)\Delta _{TF,b,f,c}(i)  + f_{b,f,c}(0,l)

= (-100 + 8) + 0 + 10lg(2*3) + PL_{b,f,c}(q_{d})*1 + 0 + f_{b,f,c}(0,l)

=  -100 + 8 + 8 + 105 + 0 + 2 = 23dbm

(3)PUSCH功率

在未配置P0-PUSCH-AlphaSet时,PUSCH功率计算与Msg3相似,在配置P0-PUSCH-AlphaSet后,如果未配置SRI-PUSCH-PowerControl,则j=2。

这里以帧号897时隙18为例,计算PUSCH功率。

 

在j=2情况下

P_{O\_NOMINAL\_PUSCH_{,f,c}}(2)由SIB1中参数p0-NominalWithGrant配置,为-76

P_{O\_UE\_PUSCH_{b,f,c}}(2)\alpha _{b,c,f}(2)由p0-AlphaSets信元第一个p0-Pusch-AlphaSet确定。P_{O\_UE\_PUSCH_{b,f,c}}(2) = 0dB,\alpha _{b,c,f}(2) = 0.8。

M_{RB,b,f,c}^{PUSCH}(i) = 4

\Delta _{TF,b,f,c}(i) = 0

PL_{b,f,c}(q_{d}) = 115

f_{b,f,c}(i,l)根据终端log,NR5G MAC UL TB Stats可以看到f_{b,f,c}(i,l) = -2db

P_{PUSCH} = P_{O\_NOMINAL\_PUSCH_{,f,c}}(2) + P_{O\_UE\_PUSCH_{b,f,c}}(2) + 10lg(2*M_{RB,b,f,c}^{PUSCH}(i)PL_{b,f,c}(q_{d}) *\alpha _{b,c,f}(2)\Delta _{TF,b,f,c}(i)  + f_{b,f,c}(i,l)

= -76 + 0 + 10lg(2*4) + 115*0.8 + 0 + (-2)

=  23dBm

 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐