5G学习笔记之BWP
我们只会经历一种人生,我们选择的人生。
参考:《5G NR标准》、《5G无线系统指南:如微见著,赋能数字化时代》
目录
- 1. 概述
- 2. BWP频域位置
- 3. 初始与专用BWP
- 4. 默认BWP
- 5. 切换BWP
1. 概述
在LTE的设计中,默认所有终端均能处理最大20MHz的整个载波带宽。在NR的设计中,NR支持非常大的载波带宽,让所有终端都可以接收整个载波带宽是不合理的。因此,NR设计需要考虑如下:
- 如果不要求所有终端都具备接收整个载波带宽的能力,那么需要为如何处理不同带宽能力的终端而特别设计;
- 如果要求所有终端都可以接收整个载波带宽,终端接收大带宽信号所引起的功耗增加是一个非常重要的问题。为了解决这个问题,引入了接收带宽自适应技术。通过接收带宽自适应技术,终端只在较小的带宽上监听下行控制信道,以接收少量的下行数据传输。当终端有大量的数据接收时,则打开整个带宽进行接收
为了支持没有能力处理整个载波带宽的终端和接收带宽自适应这两个功能,定义了部分带宽(Bandwidth Part,BWP):从公共资源块的某个起始位置开始,一组连续的资源块。每个部分带宽都对应一种参数集(子载波间隔和CP长度)。
对于每个服务小区,至少配置一个初始下行 BWP,一个(服务小区只配置了一个UL)或者两个((配置了Supplementary Uplink,即SUL)初始上行BWP,初始BWP ID为0;还可以配置上行专用BWP和下行专用BWP,专用BWP ID为1~4。在同一时间内,只有1个下行BWP和1个上行BWP处于激活状态(包括初始BWP和专用 BWP),UE不应在BWP之外接收和发送数据。
每个BWP包含公共(common)参数和专用(dedicated)参数,所有BWP的公共参数都属于小区级,所有BWP的专用参数都属于UE级。
2. BWP频域位置
UE获取BWP频域位置的步骤如下:
- UE盲检测得出SSB位置;
- MIB:UE通过MIB参数 pdcch-ConfigSIB1,可获得CORESET0相对于特定CRB的偏移offset,得出CORESET0(COntrol REsource SET,控制资源集)的位置;
- SIB1:在CORESET0上盲检调度 SIB1的DCI1_0,检测到DCI1_0后进一步解析;
- 通过PBCH参数Kssb和SIB1参数 offsetToPointA,得出 pointA 的位置;
- 通过 SIB1参数 scs-SpecifcCarrierList(offsetToCarrier 和 carrierBandwidth)得到下行载波的起始位置和带宽;
- 通过SIB1参数,可获得BWP0的频域范围;
- 通过BWP参数locationAndBandwidbh得出BWP的起始位置和大小
3. 初始与专用BWP
(1)初始BWP
PCell通过SIB1和RRC信令配置初始BWP;PSCell 和 SCell通过RRC重配消息配置。
对于PCell,初始BWP的公共参数通过SIB1下发;初始BWP的专用参数可以配置,也可以不配置,取决于厂商策略,若配置,通过RRC Setup或RRC Reconfiguration。
对于PSCeIl和SCell,初始BWP的公共参数通过RRC Reconfiguration下发;初始BWP的专用参数可以配置,也可以不配置,取决于厂商策略,若配置,依然是通过RRC Reconfiguration。
(2)专用BWP
专用BWP都是通过RRC Reconfiguration配置的。对于一个UE,在每个服务小区最多可以配置4个专用BWP,每个专用BWP可以配置专用参数(UE级)和公共参数(小区级)。
(3)BWP配置选择
- BWP0没有专用配置:如果UE只支持一个BWP,那么除了BWP0,还可以配置BWP1;如果UE支持多个BWP,那么最多还可以配置4个专用BWP,UE不能通过DCI切回到 BWP0。
- )BWP0有专用配置:如果UE只支持一个BWP,那么只能配置为BWP0;如果UE支持多个BWP,那么最多还可以配置3个专用BWP,UE可以在这些BWP之间通过DCI来回切换。
4. 默认BWP
对于一个服务小区,UE可以通过参数 ServingCellConfig->defaultDownlinkBWP-Id,在所有配置的下行BWP内配置一个默认下行BWP。如果没有配置defaultDownlinkBWP-Id,则初始下行BWP为默认下行 BWP。
如果UE配置了ServingCellConfig->bwp-InactivityTimer,则该定时器超时,UE回落到默认下行 BWP;如果收到RRC消息,但是没有配置bwp-InactivityTimer,且此时存在运行的 bwp-InactivityTimer,则停止该定时器。
defaultDownlinkBWP-Id和bwp-InactivityTimer都属于UE的服务小区级参数,不属于BWP 级参数。
若配置了 bwp-InactivityTimer,启动或者重启bwp-InactivityTimer定时器的两种情况:
-
以下3个条件同时成立:
- 当前激活的下行BWP不是默认下行BWP(配置了defaultDownlinkBWP-Id)或者不是初始下行BWP(没有配置 defaultDownlinkBWP-Id);
- 当前激活 BWP 收到了C-RNTI/CS-RNTI加扰的DCI0或DCI1(包括CA的跨载波调度),或者在配置的授权上发送或收到了MACPDU;
- 没有正在进行的RA过程(SCell发生的RA过程,对SpCell也认为存在RA过程)
-
如果收到了指示下行BWP切换的DCI,并且指示切换到的BWP不是默认下行BWP(配置了 defaultDownlinkBWP-Id)或者不是初始下行 BWP( 没有配置 defaultDownlinkBWPId )
停止bwp-InactivityTimer定时器的情况:
- 在SpCell 发起RA;
- 在SCell发起 RA过程时
- 收到RRC消息,但是没有配置bwp-InactivityTimer
5. 切换BWP
BWP切换:激活一个非激活态的BWP,同时去激活一个激活的BWP。BWP切换有4种方式:
-
DCI指示:基站可以通过DC1_1或 DCI0_1的Bandwidth part indicator字段指示来切换 BWP。若UE不支持通过 DCI切换BWP,则忽略该字段。
- 下行BWP:当 UE 接收到 DC1_1,若包含 Bandwidth part indicator 字段,并且字段指示的不是当前激活的下行BWP时,则UE切换到指示的下行BWP
- 上行BWP:当 UE 接收到 DC0_1,若包含 Bandwidth part indicator 字段,并且字段指示的不是当前激活的上行BWP时,则UE切换到指示的上行BWP
-
bwp-inactivityTimer 超时:UE 的定时器 bwp-InactivityTimer(RRC 配置,单位为ms)超时后,UE回落到默认下行BWP。(how about uplink bwp???)
-
通过RRC信令
-
RA过程:发起RA时,当前使用的BWP没有配置RACH资源,则切回到初始BWP。
相关文章:

5G学习笔记之BWP
我们只会经历一种人生,我们选择的人生。 参考:《5G NR标准》、《5G无线系统指南:如微见著,赋能数字化时代》 目录 1. 概述2. BWP频域位置3. 初始与专用BWP4. 默认BWP5. 切换BWP 1. 概述 在LTE的设计中,默认所有终端均能处理最大2…...
Spark 介绍
Spark 架构 Spark 是一个基于内存计算的大数据处理框架,相比 Hadoop 的 MapReduce,它能够提供 更高效的迭代计算 和 流式计算能力。Spark 采用 主从架构(Master-Slave),主要包括 Driver、Cluster Manager、Worker、Ex…...
mac Homebrew安装、更新失败
我这边使用brew安装git-lfs 一直报这个错: curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL更新brew update也是报这个错误。最后使用使用大佬提供的脚本进行操作: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/mast…...

【实战 ES】实战 Elasticsearch:快速上手与深度实践-2.2.3案例:电商订单日志每秒10万条写入优化
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 Elasticsearch批量写入性能调优实战:2.2.3 案例:电商订单日志每秒10万条写入优化1. 原始架构与瓶颈分析1.1 初始集群配置1.2 性能瓶颈定位 2. 全链路…...
http的post请求不走http的整个缓存策略吗?
http的post请求不走http的整个缓存策略吗? DeepSeek R1 思考 33 秒 思考过程 嗯,用户问的是HTTP的POST请求是否不遵循整个缓存策略。我需要先回忆一下HTTP缓存的基本机制,然后考虑不同请求方法的缓存处理。 首先,HTTP缓存通常涉…...
c++ 预处理器和iostream 文件
在C中,预处理器和<iostream>头文件各自扮演关键角色,二者协同工作以实现程序的输入输出功能。以下是它们的详细关系和作用: 1. 预处理器的作用 处理预处理指令:预处理器在编译前执行,处理所有以#开头的指令&…...

【前端】前端设计中的响应式设计详解
文章目录 前言一、响应式设计的定义与作用二、响应式设计的原则三、响应式设计的实现四、响应式设计的最佳实践总结 前言 在当今数字化时代,网站和应用程序需要适应各种设备,从桌面电脑到平板电脑和手机。响应式设计应运而生,成为一种可以适…...

探秘基带算法:从原理到5G时代的通信变革【四】Polar 编解码(二)
文章目录 2.3.3 极化编码巴氏参数与信道可靠性比特混合生成矩阵编码举例 2.3.4 极化译码最小单元译码串行抵消译码(SC译码)算法SCL译码算法 2.3.5 总结**Polar 码的优势****Polar 码的主要问题****Polar 码的应用前景** 2.3.6 **参考文档** 本博客为系列…...

打开 Windows Docker Desktop 出现 Docker Engine Stopped 问题
一、关联文章: 1、Docker Desktop 安装使用教程 2、家庭版 Windows 安装 Docker 没有 Hyper-V 问题 3、安装 Windows Docker Desktop - WSL问题 二、问题解析 打开 Docker Desktop 出现问题,如下: Docker Engine Stopped : Docker引擎停止三、解决方法 1、检查服务是否…...
6.人工智能与机器学习
一、人工智能基本原理 1. 人工智能(AI)定义与范畴 核心目标:模拟人类智能行为(如推理、学习、决策)分类: 弱人工智能(Narrow AI):专精单一任务(如AlphaGo、…...
RabbitMQ怎么实现延时支付?
一、使用“死信队列”消息过期时间 1、原理: 设置消息”存活时间“,如果没有被及时消费,就会被丢弃到一个”死信队列“,然后消费者监听这个死信队列处理消息 2、步骤: 2.1、创建两个队列: 2.1.1、普通队…...
vite-vue3使用web-worker应用指南和报错解决
主线程:初始化worker和监听子线程的消息 let worker: any; const salesConfigData ref<any[]>([]); // 显示非上架 const showNotList ref(false);// /src/views/ceshi/salesConfig/worker.js worker new Worker(new URL("/src/views/ceshi/salesConf…...

校园快递助手小程序毕业系统设计
系统功能介绍 管理员端 1)登录:输入账号密码进行登录 2)用户管理:查看编辑添加删除 学生信息 3)寄件包裹管理:查看所有的包裹信息,及物流信息 4)待取件信息:查看已到达的…...

python量化交易——金融数据管理最佳实践——使用qteasy管理本地数据源
文章目录 统一定义的金融历史数据表最重要的数据表数据表的定义交易日历表的定义:交易日历表: trade_calendar qteasy是一个功能全面且易用的量化交易策略框架, Github地址在这里。使用它,能轻松地获取历史数据,创建交易策略并完…...
BIO、NIO、AIO、Netty从简单理解到使用
Java编程中BIO、NIO、AIO是三种不同的I/O(输入/输出)模型,它们代表了不同的I/O处理方式。 Netty就是基于Java的NIO(New Input/Output)类库编写的一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可…...

计算机毕业设计SpringBoot+Vue.js工厂车间管理系统源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
一、图形图像的基本概念
文章目录 一、分辨率概念二、图形图像的区别三、位图和矢量图的区别 一、分辨率概念 图形显示计数中的分辨率概念有三种,即屏幕分辨率、显示分辨率和显卡分辨率。它们既有区别又有着密切的联系,对图形显示的处理有极大的影响。 1.屏幕分辨率 显示器分辨…...
前端跨域问题初探:理解跨域及其解决方案概览
在当今的Web开发中,跨域问题是一个常见且棘手的挑战 随着前端技术的不断进步,越来越多的应用需要从不同的域名、协议或端口获取资源 然而,浏览器的同源策略(Same-Origin Policy)限制了这种跨域请求,以确保…...
SQL分组问题
下列为电商公司用户访问时间数据 统计某个用户连续的访问记录,如果时间间隔小于60s,就分为一组 id ts 1001 17523641234 1001 17523641256 1002 17523641278 1001 17523641334 1002 17523641434 1001 17523641534 1001 17523641544 1002 17523…...
Oracle 数据库基础入门(二):深入理解表的约束
在 Oracle 数据库的学习进程中,表的约束是构建健壮、准确且高效数据库的关键要素。约束如同数据库的 “规则守护者”,它通过对数据的限制,确保了数据的完整性和一致性,就如同交通规则保障道路上车辆行驶的有序性一样。对于 Java 全…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...

Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...
React核心概念:State是什么?如何用useState管理组件自己的数据?
系列回顾: 在上一篇《React入门第一步》中,我们已经成功创建并运行了第一个React项目。我们学会了用Vite初始化项目,并修改了App.jsx组件,让页面显示出我们想要的文字。但是,那个页面是“死”的,它只是静态…...

医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...

使用VMware克隆功能快速搭建集群
自己搭建的虚拟机,后续不管是学习java还是大数据,都需要集群,java需要分布式的微服务,大数据Hadoop的计算集群,如果从头开始搭建虚拟机会比较费时费力,这里分享一下如何使用克隆功能快速搭建一个集群 先把…...

Java高级 |【实验八】springboot 使用Websocket
隶属文章:Java高级 | (二十二)Java常用类库-CSDN博客 系列文章:Java高级 | 【实验一】Springboot安装及测试 |最新-CSDN博客 Java高级 | 【实验二】Springboot 控制器类相关注解知识-CSDN博客 Java高级 | 【实验三】Springboot 静…...

MATLAB生成大规模无线通信网络拓扑(任意节点数量)
功能: 生成任意节点数量的网络拓扑,符合现实世界节点空间分布和连接规律 效果: 30节点: 100节点: 500节点: 程序: %创建时间:2025年6月8日 %zhouzhichao %自然生长出n节点的网络% …...