微信同步更新欢迎关注同名modem协议笔记

相比于LTE,NR的带宽很大,而UE用于收发的部分可能用不到cell的全部带宽,但是UE如果一直工作在小区的全带宽上,耗电会大大增加,因而引出BWP 的概念,简单的说就是根据业务类型动态调整UE的工作带宽,进而实现节能。

38.300 6.10 Bandwidth Adaptation

针对UE 业务不同,BWP 的带宽可以调整,例如UE在不活跃的时间段,可以降低带宽省电。为增加调度的灵活性,BWP的频域范围可以变化。根据不同的业务,BWP可以动态调整。当然BWP 对应的带宽必须是小区带宽的子集,不能超过小区带宽范围。当配置了多个BWP时,网络端需要告知UE当前要激活哪个BWP。

下图对应的是配置3个不同BWP的场景,其中 BWP1 SCS 15khz 带宽40MHZ;BWP2 SCS 15khz 带宽10MHZ;BWP3 SCS 60khz 带宽20MHZ。

看下38.331 BWP 配置参数

 

offsetToCarrier:指Point A和该载波上的最低可用子载波之间的频域偏移量。

BWP的配置包含几个参数  :

1  SCS, CyclePrefix 和locationAndBandwidth。

BWP频域起始位置N_start_BWP=Ocarrier+RBstart,其中Ocarrier 由RRC层参数offsetToCarrier决定。

locationAndBandwidth 根据RIV可以计算出RBstart和 BWP的频域长度Lrb(通过RIV计算时N_size_BWP要先设置为275再计算)。 由此可以确定BWP 的频域位置。N_size_BWP=Lrb

2 配置的DL/UL BWP要带BWP-Id

3 BWP-common 和BWP-dedicated 的set参照38.331中的结构这里不再赘述。

38.211   4.4.5    Bandwidth part

BWP 就是频域上连续的RB资源,N_start_BWP 代表BWP的频域起始位置,BWP 的起始位置和配置的RB范围应该在当前carrier的带宽范围之内,不能超越carrier对应的带宽范围。

根据上面的描述,BWP相对于carrier的带宽图示如下

UE 最多可以配置4个UL/DL BWP,但是DL/UL 分别只能激活一个。如果UE 有配置SUL的话,可以对SUL额外配置最多4个BWP,但也是只能激活其中一个。

38.213 

BWP-Downlink/initialDownlinkBWP中只能最多配置4个BWP。

对应UL也是同样的道理,BWP-Uplink/initialUplinkBWP中只能最多配置4个BWP。

TDD 下,DL/UL的bwp-id保持一致,且DL/UL BWP的中心频率应该相同。

initialDownlinkBWP可以不配置,不配置时由CORESET0决定,SCS 等参数也跟随CORESET0,CORESET0 的信息在MIB subcarrierSpacingCommon 和PDCCHconfig-SIB1中配置;initialUplinkBWP则一定会配置。initial BWP在SIB1中配置,initial access就是在initial BWP上进行。

UE 配置SUL时,也是通过initialUplinkBWP下发initial UL BWP信息。

没有配置defaultDownlinkBWP-id时,default DL BWP 就是initial DL BWP。

BWP 切换

38.321

NR支持BWPswitch方式包括:

1 通过RRC信令重配

2 基于bwp-InactiveTimer的BWP切换

3 基于RACH的BWP切换

4 还可以通过DCI bandwidth part indicator field 进行BWP切换。在上下行调度时切换BWP

下面开始分别介绍

1 通过RRC信令重配firstActiveDownlinkBWP-Id(firstActiveUplinkBWP-Id)

firstActiveDownlinkBWP-Id: 对于Spcell,在执行RRC重配置时,这个参数会指定要激活的DL BWP的ID,缺省状态下RRC 重配置不会强制要求BWP switch。

对于SCell,这个参数会指定在SCell激活后的 DL BWP id。对于initial BWP,其BWP-ID=0。

reconfigurationWithSync场景,网络端需要将firstActiveDownlinkBWP-Id和firstActiveUplinkBWP-Id 配置成相同的值。

firstActiveUplinkBWP-Id:Spcell,在执行RRC重配置时,这个参数会指定要激活的DL BWP的ID,缺省状态下RRC 重配置不会强制要求BWP switch。

Scell,这个参数会指定在SCell激活后的 DL BWP id。对于initial BWP,其BWP-ID=0。

PCell,当UE配置有dedicated BWP时,可以通过firstActiveDownlinkBWP-Id和firstActiveUplinkBWP-Id分别指定第一个要激活的BWP信息。

在进行RA的时候收到RRC 重配置的BWP切换,UE 要先停止RA ,执行BWP切换成功后再重新开始RA 过程。

举个例子:SIB1中配置

initialUplinkBWP/initialDownlinkBWP 根据规定其BWP-ID=0。之后注册过程也一直在initial BWP上。 

之后RRCReconfiguration 中将initialBWP release ,新增加了一个BWP-id 1,通过firstActiveDownlinkBWP-Id(firstActiveUplinkBWP-Id) 将BWP-id 1激活。

这个过程就是通过RRC重配置的BWP 切换。

2 基于bwp-inactivityTimer的BWP切换

bwp-InactivityTimer:超时后UE要返回default BWP;如果网络release掉这个timer的配置,UE就停止timer,保持在目前激活的BWP上,不用切换到default BWP。 

如果收到激活目标BWP,DCI 上下行调度或半静态调度时的上下行接收发送或没有RACH 随机接入流程触发或RACH 随机接入流程走完后,UE启动或重启BWP-InactivityTimer 定时器。

如果bwp-InactivityTimer expiry,从当前激活BWP返回到default DL BWP(有配置defaultDownlinkBWP-id时)或者返回initialDownlinkBWP。

bwp-InactivityTimer 在正常run的过程中,UE要在FR1 子帧结束或FR2 half子帧结束位置对Timer 值进行递减。

3 动态BWP切换---通过DCI 的bandwidth part indicator字段切换BWP。

DL/UL最多只能配置4个BWP,所以2bits足以表示,更具体的,UE支持基于DCI的BWP change 时,DCI field BWP indicator才有效,其bits由RRC层配置的BWP数量决定(不考虑initial BWP,DL/UL的描述时一样的,这里截的是DL部分),如果n_BWP=n_BWP,RRC+1(n_BWP,RRC<=3),这时候按照BWP id由小到大得顺序,根据BWP ind确定;假设这里除了initial BWP外,还配置其他了4个BWP,那这时候要采用Table 7.3.1.1.2-1确定BWP id,如下。

R16 针对URLLC业务增加了几个DCI format,但是对于bandwidth part indicator,没有实质改变。

DCI 0_1/0_2

DCI 1_1/1_2

如38.212中所示,值得注意的是DCI 0_0/1_0 是初级DCI 是没有bandwidth part indicator。所以如果手机支持基于DCI的BWP 切换,且有配置高级DCI时,才可能进行基于DCI 的BWP切换。

下面先看下38.331中关于BWP的一个概念。

First option:只配置 BWP-DownlinkCommon and BWP-UplinkCommon in ServingCellConfigCommon,不配置 dedicated configurations in BWP-DownlinkDedicated or BWP-UplinkDedicated in ServingCellConfig.    这种不是RRC 配置的BWP

Second option:既有common配置 也有dedicated 配置  的BWP 叫做RRC 配置的BWP

由于common的配置 一般只配置的DCI 1_0/0_0的初级功能,不支持DCI based的BWP 切换,

因此 对于First option中的情况,只能基于RRC 配置进行BWP 切换。

但是RRC 配置的BWP,既有BWP-common 配置也有BWP-dedicated 配置,一般BWP-dedicated中已经有配置高级DCI ,所以可以进行基于DCI 进行BWP 切换。

UE 支持基于DCI 的BWP切换,当DCI 中的information field 指定的UL/DL BWP 与激活的UL/DL BWP不一样时,

要先进DCI information field size的对齐,再进行DCI decode 执行BWP的切换。

因为BWP的带宽不同,在时频域分配上所需要的DCI bit 长度就可能不一样,因此网络端需要对DCI进行对齐操作。

如果当前接收到DCI 的字段长度小于目标BWP DCI 字段长度(例如小带宽BWP切换到大带宽BWP),UE首先在DCI 信息字段高位补0,达到目标BWP的DCI 信息字段长度后,再进行DCI 解析;

如果当前接收到的DCI 字段长度大于目标BWP的DCI 字段长度(例如大带宽BWP切换到小带宽BWP),UE在DCI 信息字段 仅用其中的低位一部分,进行DCI 解析;

通过DCI切换下行/上行BWP时,UE在接收到DCI 时隙的第三个符号结束位置开始,就不再收发接,直到切换到目标BWP后的对应接收/发送时隙后再恢复收发。

通过DCI切换下行/上行BWP时,PDCCH只能位于时隙内的前三个符号。

当在进行RA 过程中收到DCI BWP切换信息时,UE 可以忽略该切换命令,也可以执行。

如果要执行BWP切换:UE 在CBRA 没有完成时 收到DCI BWP切换消息,应该先执行BWP 切换,成功之后再重新进行RA 过程。

如果忽略切换命令时,就继续进行RA 过程。

4 基于RACH的BWP切换

翻看38.321 只找到了上面这段话,如果active UL BWP没有配置PRACH资源的话,需要切换到initial UL BWP发起RACH;或者在RA过程发生BWP切换的话,应该也算RACH 引起的BWP切换。

最后看下BWP的相关能力,毕竟能否支持所有的切换方式,还是靠能力说话。

bwp-SameNumerology:指示通过DCI或BWP-InactivityTime进行BWP切换时,UE支持的SCS相同的最大BWP个数。

bwp-DiffNumerology:指示通过DCI或bwp-Inactivitytimer进行BWP切换时,UE支持的不同SCS的最大BWP个数。

bwp-WithoutRestriction:指示UE是否支持无限制带宽的BWP 操作。

要是UE不上报任何BWP相关的配置,那就只能通过RRC配置的方式进行BWP切换,这也算是最基本的能力。

协议中还有规定切换时延的问题,这里就不介绍了。另外关于R16 dormant BWP的内容,等整理好再说。

Bandwidth Part相关推荐

  1. python采集bandwidth信息

    旧博文,搬到 csdn 原文:http://rebootcat.com/2018/05/21/analyze_bandwidth/ python脚本采集bandwidth 经常要做一些 linux 系 ...

  2. Priority VS Bandwidth

    Priority and Bandwidth是我们在QOS里经常会用到的两个命令,但是他们的区别倒底是什么 Priority 在cisco官方文档里经常被这样描述:reserved bandwidth ...

  3. 网速测量、流量监控软件 Bandwidth Meter Pro

    介绍 Bandwidth Meter Pro 是一款易于使用的网络带宽使用监视程序,主要提供以下功能: 网络连接带宽使用监视功能, 实时 图表/ 数字化显示网络速度, 支持同时监视多个网络连接的速度, ...

  4. 利用Bandwidth Splitter限制带宽

    利用Bandwidth Splitter限制带宽 前面我们讲了ISA的一些应用技巧,今天我们来看一下利用ISA来控制局域网内的用户带宽吧,局域网内里的用户,利用上班之便利,肆意下载,自私的占用大量的带 ...

  5. 理一理Latency、Bandwidth、Throughput、Response Time概念的区别

    2019独角兽企业重金招聘Python工程师标准>>> 经常,一些性能测试人员对延时(Latency).吞吐(Throughput).带宽(Bandwidth)和响应时间(Respo ...

  6. 成功解决Runtime Error Selected KDE bandwidth is 0. Cannot estiam

    成功解决RuntimeError: Selected KDE bandwidth is 0. Cannot estiamte density Runtime Error Selected KDE ba ...

  7. 成功解决RuntimeError: Selected KDE bandwidth is 0. Cannot estiamte density

    成功解决RuntimeError: Selected KDE bandwidth is 0. Cannot estiamte density 目录 解决问题 解决思路 解决方法 1.重新定义bw参数 ...

  8. 5G NR Operating bands and channel bandwidth

    1.NR frequency range NR支持两种频率范围:FR1和FR2 2. Operating band Operating band是指NR中有编号的.实实际际规定了上下频率边界的一段频带 ...

  9. UVA140 Bandwidth带宽

    给出一个图节点数为n(n8)让这些节点排序,使得节点的最大带宽要最小,最大带宽就是排列里面与节点相离最远的距离. 有两种方法,第一,因为n比较小就可以枚举全部,然后一个一个的比较,还有一种就是边排列边 ...

  10. 论文总结:Fast and Light Bandwidth Testing for Internet Users(21‘ NSDI)

    总担心自己看论文看完就过了,所以做个记录! 这篇论文主要解决的是互联网用户的带宽测量问题.即优化了现有的带宽测量技术,提出了FastBTS(fast bandwidth testing service ...

最新文章

  1. from developer to data scientist cros entopy
  2. 源码阅读心得11-13
  3. 人生百味,浓缩到最后就是一个淡字
  4. open pwrite
  5. 分布式实时计算—实时计算相关问题及解决方案
  6. mysql中的order by
  7. java代码复数包括虚部和实部,Java中编写Applet程序验证复数类(在问题补充中)实现接收用户输入的复数的实部和虚部,计算复数与复数,复数与实数的加减,乘除操作...
  8. 数据库发展研究报告(2021年)
  9. 信息学奥赛C++语言:成绩等级
  10. Memcache监控工具 -- memkeys
  11. sql server2008 远程过程调用失败
  12. Futter基础第4篇: 实现基础列表组件、 水平列表组件 、 图标组件【ListView、Axis.vertical、Axis.horizontal】
  13. macfee怎么生成释放代码_批处理应用:使用FLASHGET检查Mcafee SuperDat更新
  14. [Java,IDEA]连接oracle的关于oracle.jdbc.driver.OracleDriver一直驱动加载失败的原因
  15. 制作u盘winpe启动盘_Ventoy启动盘制作工具,Win、Linux、PE多系统镜像装进同1个U盘...
  16. return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Replacing columns cSerDe may be incompati
  17. 如何设置Xiuno BBS URL-Rewrite(伪静态设定)
  18. kill和killall的区别
  19. CORBA协议相关的概念
  20. 21 个好用的持续集成工具,总有一款适合你

热门文章

  1. 理论物理极础8:哈密顿力学和时间平移不变性
  2. [半监督学习] Democratic Co-Learning
  3. 跟我一起玩Win32开发(2):完整的开发流程
  4. 20亿老子不卖了!阿里与网易考拉谈崩
  5. “百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100 文钱买100 只鸡,那么各有公鸡、母鸡、小鸡多少只?
  6. 16个自媒体平台吐血推荐
  7. hive moving data报错,unable to move source...,yarn显示任务执行成功
  8. 工信部计算机二级证书有什么用,公务员考试,这三个证书用处大,持证年薪10W+...
  9. 数据结构复习题(绪论)
  10. MQTT 在 Elixir 中的应用