NR R16 上行满功率传输(ULFPTx)

news2024/11/15 10:58:47

微信公众号同步更新,欢迎关注同名“modem协议笔记”

UL full power Tx(ULFPTx Mode),上行满功率传输,是R16版本的一个增强,R15由于受限于codebook和PUSCH功率控制,某些情况下无法达到满功率传输(例如26dBm),这就影响了上行覆盖和速率。R16对其进行了增强,因为并不是在所有情况下,每个 PA都一定能达到终端的功率等级所对应的最大输出功率,针对具有不同功放(PA)能力的终端设计了不同的上行满功率传输方案(不同的ULFPTx Mode),可以使得上行双发的终端在小区边缘以上行满功率( 26dBm)发送,相比 R15 部分终端因协议限制采用 23dBm 单发情况可提升上行覆盖 2~3dB。该功能主要影响上行双发终端的软件修改,能够保证上行双发终端满功率发射上行信号,保证覆盖,是 R16 阶段UE关键技术之一。

在spec上,ul-fullpowerTransmission主要对应在38.213 7.1 PUSCH power control部分,整本spec对ul-fullpowerTransmission的描述就那短短的几行,但是看完后其实并不太清楚这个东西具体是怎么工作的,于是在3GPP 官网开始探索,直到搜到R1-1913107及R4-1900737,加上看了下其他相关的tdoc,才有点拨云见日的感觉。

为搞清楚其工作机制,先看下PA相关的定义,根据R4-19007373中的描述,UE的PA的capability定义如下 :

b145eab30d3942e8b82faee3e7b38a4e.png

ue capability 1:在各个tx chain中都支持输出最大额定功率的pa((all full rated PAs));

ue capability 2:任一个tx chain均不支持全额定pa(non full rated PAs);

ue capability 3:tx chain的子集(某一部分)支持全额定pa(Partial full rated PAs)。

以PC3 =23bdm 为例,下图是上述三种PA结构的一种可能。

f6bef84d08354dc58870f944961e8ca9.png 

上述ue capability1/2/3对应的到spec 38.213 7.1 PUSCH power control分别是fullpower/fullpowerMode1/fullpowerMode2。

如开头所述 ULFPTX 产生的背景主要是针对小区边缘的UE,其rank 一般比较低,这时候实现full power 传输对于提升覆盖就显得尤为重要,因而希望在UE采用低阶预编码矩阵也能获得最大的性能,ULFPTX应运而生。考虑到 PA 架构最坏情况的功率缩放机制导致的功率限制;对于一些预编码矩阵,UE只有部分天线端口可以用于传输,所以通过UE报告其不同PA架构的部分能力的方式,然后根据UE能力实现ULFUTX。

 

这里先看下dbm(功率绝对值)和功率线性值的转换公式如下,dBm表示功率绝对值=10lg(功率线性值/1mw)。

如果功率绝对值是46dbm,其功率线性值= 10^(46 / 10) = 40000mw = 40W,如果功率绝对值是43dbm,其其功率线性值 = 10^(43 / 10) = 40000mw = 20W;从这个例子可以看出以dBm为单位时,加减3dBm相当于线性值下乘除2,也就是2倍的关系。因为3dBm转换成线性值时:功率线性值= 10^(3 / 10) = 2mw,更进一步的dBmValue = 46dBm时,功率线性值= 10^(43 / 10) * 10^(3 / 10) = 20000 * 2 = 40000mw = 40W。因此,当功率加了3dBm,对于功率线性值而言,其实是翻了一倍,如果功率减3dBm,对于线性值而言,其实是缩小了一倍。

接下来主要看下spec中的描述:

b2ae94c97b0a4ddb8e2ccccf5c540972.png

ULFPTx主要通过上图中的IE ul-FullPowerTransmission进行区分,根据不同的Mode对线性功率值^P_PUSCH,b,f,c(i,j,qd,l)进行scaling的操作,根据上述功率线性值和功率绝对值之间的关系,其与P_PUSCH,b,f,c(i,j,qd,l)的关系是P_PUSCH,b,f,c(i,j,qd,l)=10lg(^P_PUSCH,b,f,c(i,j,qd,l)),如果UE在对应场景支持full power 传输时,就不会对线性功率^P_PUSCH,b,f,c(i,j,qd,l)进行缩放操作,即下文的s=1,其他情况,就按照s的确定方式进行缩放就行了。下面就具体看下38.213中相关内容。

网络侧根据UE上报的能力(相关的capaility IE附在结尾处),当UE支持ULFPTx时,网络侧会在PUSCH-Config中配置ul-FullPowerTransmission,其值可以配置为fullpower和fullpowerMode1/2。

fullpower和fullpowerMode1 

650470589bd740e19518232af8540f0d.png

如果 PUSCH-Config 中的 ul-FullPowerTransmission= fullpower时(对应的是all full rated PAs),s=1;

如果 PUSCH-Config 中的 ul-FullPowerTransmission = fullpowerMode1(non full rated PAs)时,并且usage= 'codebook'的 SRS-ResourceSet 中的每个 SRS resource都有一个以上的 SRS 端口时,s为非零PUSCH发射功率的天线端口数与UE在一个SRS resource中支持的最大SRS端口数的比值;

 

fullpowerMode2

3c18d21faa444b7ca1ff6c9517f2f897.png

如果PUSCH-Config 中的 ul-FullPowerTransmission = fullpowerMode2(Partial full rated PAs),

1 DCI 中的SRI 对应的SRS resource 是single port,那s=1

2 其他情况 s是非零 PUSCH 传输功率的天线端口数量与 SRS port 数量之比,

而SRS ports数量根据不同的场景确定

(1)当SRS-ResourceSet usage=codebook且配置的SRS Resource 不止一个时,SRS port由DCI 中的SRI对应SRS resource的port决定;

(2)configured grant type 1配置中的SRS-Resourceindicator 对应的SRS resource 的port决定;

(3)当SRS-ResourceSet usage=codebook且配置的SRS Resource 只有一个时,就由这个SRS resource port决定。

但是要注意,如果最终选用的传输TPMI是UE report 的full power TPMI时,s=1,即不进行任何缩放。

值得注意的是在支持fullpowerMode2 时,UE根据自己的能力通过ul-FullPwrMode2-TPMIGroup-r16 上报支持full power的TPMI group,当实际PUSCH传输时如果用的就是支持full power 的TPMI,那UE就可以进行full power传输,即s=1; 其配置结构如下:

c279ff09773e4968bab903faeb75db67.png

ul-FullPwrMode2-TPMIGroup-r16上报的能力包括的IE有(1)twoPorts-r16 对应2bits的bitmap,最左边的bit代表TPMI index=0,第二bit代表TPMI index=1,其中的TPMI index指的是38.211 Table 6.3.1.5-1中的index(Single layer传输),如上图;

(2)fourPortsNonCoherent-r16 和fourPortsPartialCoherent-r16 可配置的TPMI group value 如下表中的G0~6。

62af82bfa8664267ab220f45912926e9.png

 efb0941bb6ce472f9eddea73734df489.png

 

另外在38.214中还有找到下面有关fullpowerMode2的描述,

184ff60bafef4259821377e66a56180a.png

在ul-FullPowerTransmission设置为fullpowerMode2时:

(1)在usage设置为“codebook”的SRS resource set 中,可以配置有一个SRS resource或多个SRS resources,这些SRS resource的SRS 端口数可以相同也可以不同。

(2)当在SRS资源集中配置了多个SRS资源时,可以为usage ='codebook'的SRS resource set中的所有SRS resource 配置最多2个不同的 spatial 关系。

(3)根据 UE 能力,usage设置为“codebook”的SRS resource set 中支持最多 2 个或 4 个 SRS resource。

6ed944e4dccd463cbead9a525e18b502.png

在ul-FullPowerTransmission设置为fullpowerMode2 且RRC层配置codebookSubset=‘partialAndNonCoherent’ 外加usage=codebook的SRS-resourceSet中包含至少一个 4 ports SRS resource和一个2 ports SRS resource时,2-port的SRS resource的codebookSubset 应该设置为nonCoherent。

 

没有配置ul-FullPowerTransmission时,

4142234e390840c790e3e53e7ae3373d.png

spec还会考虑到R15中原有的情况,即没有ULFPTX的场景,如果PUSCH-Config中没有配置ul-FullPowerTransmission且usage=codebook的SRS-ResourceSet 中的SRS resource 的port大于1个时,s为非零PUSCH发射功率的天线端口数与UE在一个SRS资源中支持的最大SRS端口数的比值。还有最后一句话,即计算出来的PUSCH功率,最后是要在各个非零功率port之间均分的。这里正好看下要对PUSCH 线性功率进行缩放的原因。以上面的non full rated PAs举例说明。

62c07ad95b984a37b36ab90aa33886b9.png

以PC2 26dbm为例,此时max antenna ports =4,有3个非零功率antenna ports, 用最大power 26 dbm 传输的话,如果不进行缩放,P/3=21dbm 即每根天线的传输power 超过了最大额定功率 20dbm;如果按照缩放规则,要对26 dbm的线性功率值400mw 进行3/4的缩放后再均分功率,此时 计算出来的功率正好为20dbm。也就是说对线性功率值要进行缩放的一方面原因是为了防止计算出来的Tx power超过antenna port的最大power能力。

除了上面的描述,在38.101-1中也有对支持UL MIMO ULFPTx UE的描述,即Table6.2D.1-1中的最大输出功率应该满足Table6.2D.1-3中几个场景的ULFPTX 配置。

acb98c59e8744109bca3ad38a03d78cc.png 

更具体的,(1)对于fullpowerMode1 UE,2 tx port进行1 layer传输时,ULFPTx 对应上图中的TPMI index 2时;

(2)对于fullpowerMode2 UE,2 tx port进行1 layer传输时,ULFPTx 对应上图中的TPMI index 0和1时;

(3)对于fullpowerMode UE,2 tx port进行1 layer传输时,ULFPTx 对应上图中的TPMI index 0和1时:

上述3个场景中对应的s肯定要为1的,但是最后的ULFPTx power 肯定要与UE 支持的power class有一定的权衡过程。

 

下面看个例子

ba35689d22fd436bb9e79a1455bd5348.png

如38.211 PUSCH precoding的矩阵,左侧的z(pi)(i)代表每根天线要传输的复值符号,右侧的y(v)(i)就代表各layer要传输的符号,中间的矩阵W就是根据TPMI确定的。

d2002095226840658b53c6aab7eb5b77.png 

在根据选取TPMI时,要根据SRI指示的SRS resource中的nrofSRS-Ports进行选择(只配置了一个用于codebook 传输的SRS resource时,就不需要SRI指示),假如此时是power class 3(26dbm) UE,SRI 对应 SRS resource 的nrofSRS-Ports=2,UE在一个SRS resource中支持的最大SRS端口数为4 ,进行single layer传输,那UE要根据上面的table 选取TPMI进行 single layer传输,TPMI=0 对应的W= √2[1 0] T; T就当作矩阵转置的意思。

此时W ×[y(0)(i)]=√2[ y(0)(i) 0] T 即z(p0)(i) =√2* y(0)(i) ,z(p1)(i) =0,就是此时只有一根天线有实际符号要传输,另一根天线不用传输任何符号,也就是非零功率天线port个数 =1;

(1)如果ul-FullPowerTransmission=fullpower 时(对应的是all full rated PAs),s=1,此时UE 可以用26dbm 进行传输;   

(2)如果ul-FullPowerTransmission = fullpowerMode1(non full rated PAs)时,s=1/4,即此时UE只能用17dbm进行传输;

(3)如果ul-FullPowerTransmission = fullpowerMode2(Partial full rated PAs),如果UE上报的ul-FullPwrMode2-TPMIGroup-r16包含上述TPMI,则可以进行26dbm传输;如果该TPMI不支持UL full power tx,s=1/2,即此时UE只能用23dbm进行传输。

这里只是一个假设,实际配置中还要考虑codebooksbset的限制和UE支持ULFPTx的TPMI的情况,进而不同fullpowermode的UE可用的TPMI也不一样。

 

最后把ULFPTx相关的能力IE列在下面。

8901edeb20dc4db5834f7d875adad3d4.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/181661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文投稿指南——中文核心期刊推荐(建筑科学 2)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

齐晖医药冲刺上市:毛利率持续下滑,刘祥宜和朱建民夫妇为实控人

近日,江苏齐晖医药科技股份有限公司(下称“齐晖医药”)递交预披露招股书,准备在上海证券交易所主板上市。本次冲刺上市,齐晖医药计划募资6.97亿元,将用于动保原料药生产基地项目、研发中心建设项目&#xf…

“编辑距离”系列总结,一文读懂(Java实现)

目录 一、判断子序列 ——>删除元素 1.1、dp定义 1.2、递推公式 1.3、初始化 1.4、遍历顺序 1.5、解题代码 二、不同的子序列 ——>删除元素 2.1、dp定义 2.2、递推公式 2.3、初始化 2.4、遍历顺序 2.5、解题代码 三、两个字符串的删除操作 ——>删除元素…

设计模式 - 六大设计原则之DIP(依赖倒置原则)

文章目录概述CaseBad ImplBetter Impl概述 设计代码架构时,高层模块不应该依赖于底层模块,二者都应该依赖于抽象。 抽象不应该依赖于细节,细节应该依赖于抽象。 依赖倒置原则是实现开闭原则的重要途径之一, 它降低了类之间的耦合…

代码随想录算法训练营第十天 | 理论基础,232.用栈实现队列,225. 用队列实现栈

一、参考资料理论基础文章讲解:https://programmercarl.com/%E6%A0%88%E4%B8%8E%E9%98%9F%E5%88%97%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 用栈实现队列题目链接/文章讲解/视频讲解:https://programmercarl.com/0232.%E7%94%A8%E6%A0%88%E5%AE%9E%E…

【Linux】多线程详解(上)

🎇Linux: 博客主页:一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 看似不起波澜的日复一日,一定会在某一天让你看见坚持…

百度2015年系统工程师笔试题:判断当前机器的大小端

本篇文章主要讲解大小端的判断问题,需要拥有指针,位段,联合体的知识。 目录 一.题目呈现 二.三种解题方法 1.巧妙利用指针和强制转换 2.利用位段的特性 3.利用联合体的性质 一.题目呈现 请简述大端字节序和小端字节序的概念,…

剑指 Offer 03. 无重复字符的最长子串 [C语言]

目录题目思路1代码1结果1思路2代码2结果2该文章只是用于记录考研复试刷题题目 Leetcode 03: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所…

A股上市公司招投标数据

一、数据简介 招投标是指在市场经济条件下进行大宗货物的买卖、工程建设项目的发包与承包以及服务项目的采购与提供时所采取的一种普遍交易方式。招标和投标是一种商品交易行为,是交易过程的两个方面。历经三十多年的发展,我国已经形成了覆盖全国各领域、…

Java类和对象的学习笔记

本篇介绍了面向对象和面向过程的关系,类的定义,对象的成员(成员变量,成员方法)和对象成员访问,类和对象的关系 对象的初始化,对象的构造(构造方法的定义和使用),对象内的this介绍和用法… 细节较多.建议收藏,看完此篇,踏上面向对象的第一步~ 类和对象的学习一.初识面向对象1.什…

一文读透JVM虚拟机结构[迭代中]

注: 码字辛苦, 转载请标注转载来源 jvm结构图: [1] 整个JVM架构包含三部分: 类加载 加载 双亲委派机制 链接 初始化 静态变量的初始值赋值 运行时数据区域 线程私有区域线程共享区域 执行引擎 解释器JIT即时编译器GC 运行时数据区域 线程私有区域: 线程私有区域主…

Springboot整合分布式链路追踪SkyWalking之探针使用和链路采集实战(二)

目录 1.链路追踪-框架Springboot项目搭建 1.1 创建一个Springboot项目 1.2 SpringBootMybaitsPlusMysql开发测试接口 1.2.1 添加依赖配置pom.xml 1.2.2 添加配置 application.properties 1.2.3 开发接口 ​ 2.分布式链路追踪的卧底 Skywalking Agent 探针介绍 2.1 Skyw…

Java设计模式-解释器模式Interpreter

介绍 在编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法 分析树,最终形成一颗抽象的语法分析树。这里的词法分析器和语法分析器都可以看做是解释器解释器模式(Interpreter Patte…

Linux操作系统使用git提交代码

引言: 北京时间 2023/1/27/9:50,今天的起床时间9:05,可以看出我们是提前了一些些,但是不是我的功劳,当然也不是我的闹钟的功劳,毕竟我的闹钟是8:20和8:50的,因为我亲爱的老妈……懂…

threejs相机控件使用记录

文章目录前言控件列表轨迹球控制器(TrackBallControls)第一人称控制器(FirstPersonControls)飞行控制器(FlyControls)轨道控制器(OrbitControls)总结前言 threejs提供了很多摄像机控…

mixamo和ue小白人映射关系以及让mixamo绑定的人物在场景中运动的多种方法实践...

ue中的root->Hips ue中 ik_foot_l ik_foot_r下面有foot_r 在mixamo下面leftfoot对应ik_foot_l 但是foot_l 只能给他对应leftToeBase 了 image.pngspline 盆骨对应pelvis 在绑定控制中进行修改即可. image.png方法一 拷贝动画蓝图 [本人原创方法] 此方法毕竟操蛋,虽然完美兼容…

Linux驱动开发基础__休眠与唤醒

目录 1 适用场景 2 内核函数 2.1 休眠函数 2.2 唤醒函数 3 驱动框架 4 编程 4.1 gpio_key_drv.c 4.2 button_test.c 4.3 Makefile 1 适用场景 在前面引入中断时,我们曾经举过一个例子: 妈妈怎么知道卧室里小孩醒了? 休眠-唤醒&…

pytorch深度学习案例(一)——手写数学符号识别

文章目录前言简介数据集项目结构utils模块dataLoadermodelsplotShowtrain模块predict模块下载地址前言 在前面的两篇文章中我们介绍了现代计算机视觉中常见的结构化和非结构化的CNN模型,本篇我们将使用这些CNN模型在手写数学符号数据集上进行识别。 CNN模型的介绍请…

2022回顾

2022年回顾 前言 新年和亲朋好友的相聚差不多接近尾声,假期也所剩无几,开始静下心来写作,回顾一下我的2022年,看下自己去年 做得好的和不足,展望下2023,开始新一年的生活。(因为是公历2023年…

Grafana 系列文章(一):基于 Grafana 的全栈可观察性 Demo

📚️Reference: https://github.com/grafana/intro-to-mlt 这是关于 Grafana 中可观察性的三个支柱的一系列演讲的配套资源库。 它以一个自我封闭的 Docker 沙盒的形式出现,包括在本地机器上运行和实验所提供的服务所需的所有组件。 Grafana 全栈可观察…