1 什么是BWP
BWP:整个载波带宽中的一组连续的公共资源块;总小区带宽的一个子集。
特点:
-
每个BWP都有各自的SCS和CP。
-
一个UE在下行链路最多配置4个BWP,并且同一时间只能激活1个BWP。
- 激活的BWP是指:UE的工作带宽在小区的工作带宽内;
- 除激活BWP之外,UE配置的其他BWPs都是去激活的;
- 在去激活的BWP上,UE不进行数据的收发;
- 对于TDD而言,BWP对(激活的上下行BWP)必须有相同的中心频率。
-
UE不能在BWP外接收PDSCH/PDCCH/CSI-RS (除了RRM)。
-
一个UE在上行链路最多配置4个BWP,并且同一时间只能激活1个BWP。
-
如果UE配置了SUL,可以最多再配置4个BWP用于辅助上行链路,并且同一时间只能激活1个BWP。
-
UE不能在激活BWP之外发送PUSCH/PUCCH。
-
对于一个活动小区,UE不能在激活BWP之外发送SRS。
-
网络可以命令UE动态的切换BWP。
2 为什么使用BWP
LTE带宽最多只有20MB,但是NR最高有200MB(FR1)和400MB(FR2),如果没有限制就需要所有的UE都支持这么宽的带宽,这无形中会增加UE的成本。
3 带宽适应
利用带宽适应,UE发送和接收带宽可以不用和小区带宽一样大,并且可以调整。带宽可以通过命令进行改变,比如UE待机状态时可以分配小的带宽以降低功耗。BWP在频域的位置可以调整,比如可以增加调度的灵活性。子载波间隔可以通过命令改变,比如,可以允许不同的服务。

上图描述了3个不同的BWP场景:
- BWP1带宽为40MHz,子载波间隔为15kHz;
- BWP2带宽为10MHz,子载波间隔为15kHz;
- BWP3带宽为20MHz,子载波间隔为60kHz;
4 BWP的位置
对于小区内的一组上下行BWP会分别为UE提供如下参数:
- subcarrierSpacing提供SCS;
- cyclicPrefix提供循环前缀,如果网络没有设置就使用默认值,正常循环前缀;
- BWP-Id用于区分每个上下行BWP;
- BWP-DownlinkCommon和BWP-DownlinkDedicated提供用于DL BWP的BWP-common和BWP-dedicated参数;
- BWP-UplinkDedicated提供用于UL BWP的BWP-UplinkCommon;
- BWP的起始PRB位置以及连续的RB数量;
BWP相对于CRB0的位置:

其中:
-
:对于每个SCS的offsetToCarrier
TS38214-5.1.2.2.2
--------------------------------------(1)
---------------------(2)
假设SCS=30kHz,,对于FR1:
CBW | max RB | Equation | RIV Calculation | locationAndBandwidth |
---|---|---|---|---|
20 | 51 | (1) | 275*(51-1)+0 | 13750 |
40 | 106 | (1) | 275*(106-1)+0 | 28875 |
50 | 133 | (1) | 275*(133-1)+0 | 36300 |
60 | 162 | (2) | 275*(275-162+1)+(275-1-0) | 31624 |
80 | 217 | (2) | 275*(275-217+1)+(275-1-0) | 16499 |
100 | 273 | (2) | 275*(275-273+1)+(275-1-0) | 1099 |
假设SCS=120kHz,,对于FR2:
CBW | max RB | Equation | RIV Calculation | locationAndBandwidth |
---|---|---|---|---|
50 | 32 | (1) | 275*(32-1)+0 | 8525 |
100 | 66 | (1) | 275*(66-1)+0 | 17875 |
200 | 132 | (1) | 275*(132-1)+0 | 36025 |
400 | 264 | (2) | 275*(275-264+1)+(275-1-0) | 3574 |
5 如何选择BWP
UE最多可以配置4个下行和4个上行BWP,但是同一时间只能激活1个,所以需要动态的进行切换来满足不同的业务或者场景。BWP切换的方法:
- 通过PDCCH(比如DCI)
- 通过bwp-InactivityTimer
- 通过RRC信令;
- 通过MAC实体初始的随机接入过程;
举例:
Case 1 : Reconfiguration with sync (based on 38.331 - 5.3.5.5.2)
-
"Reconfiguration with sync" 是NSA中激活NR小区的通用机制,通过下面的参数激活BWP:
- 激活下行BWP = firstActiveDownlinkBWP-Id
- 激活上行BWP = firstActiveUplinkBWP-Id
Case 2 : 初始随机接入过程(based on 38.321 - 5.15)
-
如果PRACH occasions 没有配置激活上行BWP:
- 对于上行,设置激活上行BWP = initialUplinkBWP
- 对于下行,如果服务小区是SpCell:
- 设置激活下行BWP = initialDownlinkBWP
- 对于下行,如果服务小区是SpCell:
-
如果PRACH occasions已经配置了激活上行BWP:
- 对于上行,设置激活上行BWP = 已经配置的上行BWP
- 对于下行,如果服务小区是SpCell:
- 设置激活下行BWP = 和上行BWP具有相同BWP-ID的下行BWP;
-
在选择的BWP上进行随机接入过程。
Case 3 : 接收到BWP指示的DCI:
- 接收到C-RNTI加绕的DCI时,如果没有正在进行RACH流程,或者RACH流程刚结束。
- 设置激活的BWP = DCI中指定的BWP
6 BWP操作
对于配置了BWP的每个激活小区,MAC实体将:
- 如果BWP已经激活:
- 在BWP上传送UL-SCH;
- 如果PRACH occasions配置了,在BWP上传送RACH;
- 在BWP上监听PDCCH;
- 如果配置了,在BWP上传送PUCCH;
- 为BWP报告CSI;
- 如果配置了,在BWP上传送SRS;
- 在BWP上接收DL-SCH;
- 如果存在,就根据存储的信息,(重新)初始化在激活的BWP上已配置的授权类型1的,任何已暂停的已配置的上行链路授权。根据5.8.2的规则启动。
- 如果BWP已经去激活:
- 不在BWP上传送UL-SCH;
- 不在BWP上传送PRACH;
- 不在BWP上监听PDCCH;
- 不在BWP上传送PUCCH;
- 不为报告这个BWP的CSI;
- 不在BWP上传送SRS;
- 不在BWP上接收DL-SCH;
- 清除在BWP上已经配置的下行任务,以及已经配置的授权类型2的上行链路授权;
- 清除在未激活BWP上暂停的任何已经配置的授权类型1的上行链路授权;
随机接入过程中,MAC实体对于这个服务小区的选择载波进行如下操作:
- 如果active UL BWP没有配置PRACH occasion:
- 切换active UL BWP = initialUplinkBWP
- 如果服务小区是SpCell:
- 切换active DL BWP = initialDownlinkBWP
- 或者
- 如果服务小区是SpCell:
- 如果active DL BWP和active UL BWP没有相同的bwp-Id
- 切换active DL BWP为和active UL BWP相同bwp-Id的DL BWP;
- 如果active DL BWP和active UL BWP没有相同的bwp-Id
- 如果服务小区是SpCell:
- 该服务小区的active DL BWP相关的bwp-InactivityTimer如果正在运行就停止掉;
- 如果服务小区是SCell;
- 该SpCell的active DL BWP相关的bwp-InactivityTimer如果正在运行就停止掉;
- 在该SpCell的active DL BWP上 和该服务小区的active UL BWP上进行随机接入过程;
如果MAC实体接收到包含服务小区的BWP切换的PDCCH,MAC实体将:
- 如果在服务小区上没有进行随机接入过程;
- 如果在接收到按照C-RNTI寻址的PDCCH时,与该小区相关的正在进行的随机接入过程成功完成;
- 按照PDCCH的BWP指示进行BWP切换;
当MAC实体正在进行随机接入时,接收到指示BWP切换的PDCCH,这个时候由UE确定是否进行BWP切换,如果确定进行BWP切换,那么MAC实体将停止正在进行的随机接入过程,等到BWP切换成功之后重新初始化随机接入过程;如果忽略BWP切换,那么MAC实体将继续进行随机接入过程。
当MAC实体正在进行随机接入时,接收到网络下发的指示BWP切换的RRC重配,MAC实体将停止正在进行的随机接入过程,等完成BWP切换之后,重新初始化随机接入过程。
MAC实体将为每个激活了的服务小区配置bwp-InactivityTimer;
-
如果配置了defaultDownlinkBWP-Id,并且active DL BWP不是defaultDownlinkBWP-Id表示的BWP;
-
如果没有配置defaultDownlinkBWP-Id,并且active DL BWP不是initialDownlinkBWP表示的BWP;
- 如果在active BWP上接收到指示下行链路分配或者上行链路授权的C-RNTI 或者CS-RNTI的PDCCH;
- 如果MAC PDU是在配置的上行链路授权中发送的或在配置的下行链路分配中接收的;
- 如果没有在进行随机接入过程;
- 如果正在进行的随机接入过程已经成功完成,接收到PDCCH;
- 启动或者重启和active DL BWP相关联的bwp-InactivityTimer;
- 如果与active DL BWP相关联的bwp-InactivityTimer超时;
- 如果配置了defaultDownlinkBWP-Id;
- BWP切换到defaultDownlinkBWP-Id指定的BWP;
- 或者
- BWP切换到initialDownlinkBWP;
- 如果配置了defaultDownlinkBWP-Id;
-
如果接收到了BWP切换的PDCCH,MAC实体切换active DL BWP;
- 如果配置了defaultDownlinkBWP-Id,并且MAC实体切换到没有defaultDownlinkBWP-Id指示的DL BWP;
- 如果没有配置defaultDownlinkBWP-Id,并且MAC实体切换到没有initialDownlinkBWP指示的DL BWP;
- 启动或者重启和active DL BWP相关联的bwp-InactivityTimer;
7 RRC参数
ServingCellConfig ::= SEQUENCE {
tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL, -- Cond TDD
initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Need M
downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N
downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink OPTIONAL, -- Need N
firstActiveDownlinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd
bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL, --Need R
defaultDownlinkBWP-Id BWP-Id OPTIONAL, -- Need S
uplinkConfig UplinkConfig OPTIONAL, -- Need M
supplementaryUplink UplinkConfig OPTIONAL, -- Need M
}
UplinkConfig ::= SEQUENCE {
initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Need M
uplinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N
uplinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink OPTIONAL, -- Need N
firstActiveUplinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd
...,
}
BWP ::= SEQUENCE {
locationAndBandwidth INTEGER (0..37949),
subcarrierSpacing SubcarrierSpacing,
cyclicPrefix ENUMERATED { extended } OPTIONAL -- Need R
}
BWP-Downlink ::= SEQUENCE {
bwp-Id BWP-Id,
bwp-Common BWP-DownlinkCommon OPTIONAL, -- Cond SetupOtherBWP
bwp-Dedicated BWP-DownlinkDedicated OPTIONAL, -- Cond SetupOtherBWP
...
}
BWP-Id ::= INTEGER (0..maxNrofBWPs)
BWP-DownlinkCommon ::= SEQUENCE {
genericParameters BWP,
pdcch-ConfigCommon SetupRelease { PDCCH-ConfigCommon } OPTIONAL, -- Need M
pdsch-ConfigCommon SetupRelease { PDSCH-ConfigCommon } OPTIONAL, -- Need M
...
}
BWP-DownlinkDedicated ::= SEQUENCE {
pdcch-Config SetupRelease { PDCCH-Config } OPTIONAL, -- Need M
pdsch-Config SetupRelease { PDSCH-Config } OPTIONAL, -- Need M
sps-Config SetupRelease { SPS-Config } OPTIONAL, -- Need M
radioLinkMonitoringConfig SetupRelease { RadioLinkMonitoringConfig } OPTIONAL, -- Need M
...
}
BWP-Uplink ::= SEQUENCE {
bwp-Id BWP-Id,
bwp-Common BWP-UplinkCommon OPTIONAL, -- Cond SetupOtherBWP
bwp-Dedicated BWP-UplinkDedicated OPTIONAL, -- Cond SetupOtherBWP
...
}
BWP-UplinkCommon ::= SEQUENCE {
genericParameters BWP,
rach-ConfigCommon SetupRelease { RACH-ConfigCommon } OPTIONAL, -- Need M
pusch-ConfigCommon SetupRelease { PUSCH-ConfigCommon } OPTIONAL, -- Need M
pucch-ConfigCommon SetupRelease { PUCCH-ConfigCommon } OPTIONAL, -- Need M
...
}
BWP-UplinkDedicated ::= SEQUENCE {
pucch-Config SetupRelease { PUCCH-Config } OPTIONAL, -- Need M
pusch-Config SetupRelease { PUSCH-Config } OPTIONAL, -- Need M
configuredGrantConfig SetupRelease { ConfiguredGrantConfig } OPTIONAL, -- Need M
srs-Config SetupRelease { SRS-Config } OPTIONAL, -- Need M
beamFailureRecoveryConfig SetupRelease { BeamFailureRecoveryConfig } OPTIONAL, -- Cond SpCellOnly
...
}
网友评论