ORAN C平面传输和基本功能——基于DMRS的波束赋形和SINR报告

基于DMRS的波束赋形

在基于DMRS的波束赋形方法中,O-DU按slot为每个用户组向O-RU提供DMRS配置信息。O-RU使用该信息从上行链路接收数据中提取DMRS数据,然后基于提取的DMRS数据,计算波束赋形权重,或计算采用均衡的波束赋形权重,并将这些权重应用于相关的上行链路PUSCH数据。

与基于SRS权重的波束赋形相比,基于DMRS权重的波束赋形可以提升PUSCH的性能,这是因为权重是基于与PUSCH数据和可选DMRS数据所经历的完全相同的干扰环境,并反映在DMRS数据中的。

同时,可以预期上行链路的前传吞吐量会降低,因为在上行前传中传输用户数据层,而非空间流,数据层通常比空间流更少。此外,省略从O-DU到O-RU的上行链路波束赋形权重传输,也可以降低下行链路的前传吞吐量。

关于基于DMRS的波束赋形的更详细描述,参考基于DMRS的波束赋形(DMRS-BF)章节中的介绍。

SINR报告

当使用DMRS-BF-EQ(基于DMRS的采用均衡的波束赋形),并且未启用向O-DU发送DMRS symbol时,对于O-DU,后均衡SINR(信号与干扰加噪声比)是非常有用的。如果O-RU的RX端点被配置为DMRS-BF-EQ,并且未启用发送DMRS symbol,或O-RU支持同时发送DMRS symbol和SINR数据,则O-DU可以启用SINR报告。

如果启用SINR报告,O-DU应遵循O-RU通过M平面在supported-sinr-resolutions列表中报告的每个RX端点类型的能力,设置一对M平面参数,来配置频率和时间上的SINR报告分辨率:

  • sinr-per-prb,每个PRB的SINR值数量。
  • sinr-slot-mask,以整数表示的位掩码。在每个slot的SINR报告中,每个bit指示对应symbol是否启用SINR报告。

如果O-RU支持由O-RU控制SINR报告的时间分辨率(参见M平面YANG功能ORU-CONTROL-SINR-TIME-RESOLUTION),并且O-DU配置为使用它(O-DU应同时启用SINR报告和O-RU控制SINR报告的时间分辨率,分别通过设置sinr-reporting-enabled为true来启用SINR报告,通过设置oru-control-sinr-time-resolution-enabled为true来启用O-RU控制SINR报告的时间分辨率),则O-DU应该配置O-RU可以动态使用的sinr-slot-mask值的列表(通过M平面参数sinr-slot-masks)。

O-RU将从配置的列表中为每个SINR报告选择并使用其中一个sinr-slot-mask值。使用的sinr-slot-mask值在每个ST9消息的common报头中指示,并应用于ST9消息的所有section中的SINR报告。使用不同sinr-slot-mask值的SINR报告应在不同的ST9消息中发送。

如果使用配置的sinr-slot-mask值列表,应遵循O-RU通过M平面在supported-sinr-resolutions列表中报告的每个RX端点类型的能力。配置列表中的任何sinr-slot-mask值都应该是supported-sinr-resolutions列表中列出的值之一。

如果O-RU支持由O-DU控制SINR报告的频率分辨率,并且O-DU配置为使用它,则O-DU可以通过SE28向O-RU配置SINR报告在频率中的分辨率,并且O-RU应该使用在SE28中收到的numSinrPerPrb值,作为SINR报告的频率分辨率。使用的numSinrPerPrb值在每个ST9消息的common报头中指示,并应用于ST9消息的所有section中的SINR报告。使用不同numSinrPerPrb值的SINR报告应在不同的ST9消息中发送。

当任何用户组中调度的数据层数量不超过sinr-max-data-layers中报告的最大值时,M平面列表supported-sinr-resolutions中的条目传递了O-RU支持的sinr-per-prb和sinr-slot-mask值的组合。supported-sinr-resolutions列表中的条目包括:

  • 一个sinr-per-prb值的列表
  • 一个O-RU支持的sinr-slot-mask值的列表,sinr-slot-mask值的列表为空指示支持每一种mask
  • 一个sinr-max-data-layers,指示supported-sinr-resolutions中的条目适用的最大数据层数

sinr-per-prb的值应该是12的整数除数,即,1,2,3,4,6或12。

sinr-slot-mask的值应该是以整数表示的bitmask,表示bit m,m=0,1,2,...,13,其中最低有效位表示symbol 0,即空口中一个slot内最早到达的symbol。如果=1,指示在symbol m中报告SINR。否则,如果=0,指示在symbol m中不报告SINR。

一个支持DMRS-BF-EQ的端点,对于任何支持的数据层数量,应支持至少"每个slot每个PRB一个SINR值"的SINR分辨率,即sinr-per-prb = 1,sinr-slot-mask = 1。

配置SINR报告后,O-RU应为请求DMRS-BF-EQ接收的每一层,每个PRB和每个slot,向O-DU报告SINR。后续会说明SINR报告的时间和频率分辨率的更多细节。O-RU应使用特定于该层的eAxC,在ST9 C平面消息中向O-DU发送该层特定的SINR数据。本文后续的描述考虑了一个eAxC(一层),相同的描述应该适用于每个具有DMRS-BF-EQ接收请求的eAxC。

ST9中传输的SINR数据与均衡后的IQ数据一起用于解调和解码。ST9中的SINR数据与U平面中的IQ数据有很多共同属性:

  • SINR数据报告遵循U平面/C平面定时中为上行链路U平面定义的时间约束,这是为了避免影响解调时延
  • SINR数据格式遵循U平面的格式,以允许数据section应用层分段和低延迟处理
  • C平面和U平面耦合的方法适用于SINR数据,就像ST9承载上行链路U平面数据一样。虽然ST9 section报头包括参数startPrbu和numPrbu,以使C平面和U平面耦合方法应用于ST9,但参数的值不需要与U平面消息中的值相同,例如,当应用层分段用于U平面或ST9时。

与DMRS-BF相关的U平面symbol重排中定义的每个窗口的symbol重排和每个section的tx窗口重新分配,是改变上行链路U平面消息中symbol数据顺序的方法,该方法也适用于传输SINR数据的消息,与U平面消息具有相同的方式。更多细节参考U平面/C平面定时,以及SE25中的说明。携带SINR数据的C平面消息应由O-RU在U平面/C平面定时中定义的发送窗内传输,以下限制仅适用于SINR数据报告中使用的每个窗口的symbol重排:

  • 当O-RU端点支持DMRS-BF-EQ,每个窗口的symbol重排,以及DMRS symbol和SINR数据同时发送,并且该端点配置了DMRS-BF-EQ,并启用DMRS symbol发送时,允许同时启用每个窗口的symbol重排和SINR数据报告。
  • 当O-RU端点支持DMRS-BF-EQ和不发送DMRS symbol时每个窗口的symbol重排,并且该端点配置了DMRS-BF-EQ,但没有启用DMRS symbol发送时,允许同时启用每个窗口的symbol重排和SINR数据报告。

注:上述对于每个窗口symbol重排所定义的限制不适用于每个section的tx窗口重新分配。

除非另有说明,否则后续描述和示例假定不使用每个窗口的symbol重排和每个section的tx窗口重新分配。

ST9消息的数据section中传输的SINR数据与C平面消息中DMRS-BF-EQ接收的指令是耦合的。SINR数据与U平面中传输的IQ数据有很多相同的属性,因此,SINR报告使用C平面和U平面耦合中描述的耦合方法之一,并且在应用耦合方法时,ST9 C平面消息应被视为U平面消息。因此,请求使用DMRS-BF-EQ进行UL接收的C平面消息和传输所请求的UL PRB的SINR数据的ST9 C平面消息是耦合的。

ST9消息的数据section报头中的参数sectionId,rb,symInc,startPrbu,numPrbu按U平面消息数据section报头中相应的参数处理。如果C平面消息请求非连续PRB范围的DMRS-BF接收,则应在单独的ST9 section中传输每个连续PRB范围的SINR数据。这不限制通过频率和时间耦合中定义的优化,当使用适当的耦合方法时,优化适用于ST9,这种情况下,频率和时间耦合中为U平面消息定义的规则适用于ST9消息。

根据M平面参数sinr-slot-mask中配置的SINR时间分辨率,或者如果O-RU支持由O-RU控制SINR报告的时间分辨率,并由O-DU启用,则由O-RU决定并在ST9消息中指示SINR时间分辨率,SINR数据在每个slot被报告一次或多次。当O-RU支持由O-RU控制SINR报告的时间分辨率并由O-DU启用时,O-RU应对一个slot中相同UE的层的所有PRB和symbol使用相同的时间分辨率,无论UE是在一个用户组,还是在多个用户组中调度。

= 1时,O-RU应在ST9消息中报告symbol S + m的SINR数据,这里m = 0,...,M - S,其中S和M分别是分配给UE请求DMRS-BF-EQ接收的第一个和最后一个symbol。

为symbol S + m报告的SINR数据适用于:

  • 当m = M - S(分配的最后一个symbol)或 = 1(为接下来的symbol配置了SINR数据报告)时,仅适用于symbol S + m。可以理解为,当前是分配的最后一个symbol,或下一个symbol也配置了SINR数据报告时,当前的SINR数据报告仅适用于当前的symbol。
  • 当symbol S + m + 1,S + m + 2,...都没有配置SINR数据报告时,即,...,全都为0时,symbol S + m报告的SINR数据适用于连续的symbol范围S + m,S + m + 1,S + m + 2,...

如果sinr-slot-mask值中相应的bit =1,并且为symbol S + m报告的SINR适用于任何包含PUSCH数据的symbol,则O-RU应报告symbol S + m的SINR。如果sinr-slot-mask值中相应的bit =0,或为symbol S + m报告的SINR适用的所有symbol都不包含PUSCH数据,则O-RU不应报告symbol S + m的SINR。

无论SINR报告粒度如何,SINR计算的实现是O-RU的选择。例如,当SINR报告的粒度是每两个RE和每两个symbol时,SINR的计算可以使用报告的RE范围和symbol范围之内的RE和symbol,也可以使用报告的RE范围和symbol范围之外的RE和symbol。

示例1:在sinr-slot-mask = 0x0001 (00 0000 0000 0001b),以及整个slot请求DMRS-BF-EQ接收的情况下,为PRB报告的SINR值适用于整个slot(slot内所有symbol),并在symbolId = 0的消息中发送。

示例2:在sinr-slot-mask = 0x0081 (00 0000 1000 0001b),以及整个slot请求DMRS-BF-EQ接收的情况下,为PRB报告的SINR值分别适用于半个slot,即,在symbolId = 0的消息中发送的SINR报告适用于前半个slot中的symbol,在symbolId = 7的消息中发送的SINR报告适用于后半个slot中的symbol。

示例3:在sinr-slot-mask = 0x3FFF (11 1111 1111 1111b),以及整个slot请求DMRS-BF-EQ接收的情况下,为PRB报告的SINR值仅适用于各自的symbol,如果PUSCH与DMRS在symbol中复用,则SINR报告在symbolId 0到13中分别发送。对于PUSCH未与DMRS复用的symbol,则不需要为DMRS symbol发送SINR报告。

示例4:在sinr-slot-mask = 0x3FFF (11 1111 1111 1111b),以及symbol 7到13请求DMRS-BF-EQ接收的情况下,为PRB报告的SINR值仅适用于各自的symbol,如果PUSCH与DMRS在symbol中复用,则SINR报告在symbolId 7到13中分别发送。对于PUSCH未与DMRS复用的symbol,则不需要为DMRS symbol发送SINR报告。

示例5:在sinr-slot-mask = 0x0081 (00 0000 1000 0001b),以及symbol 7到13请求DMRS-BF-EQ接收的情况下,为PRB报告的SINR值仅适用于symbol 7到13,并且在symbolId = 7的消息中发送。需要注意的是,sinr-slot-mask中的最低bit对应请求DMRS-BF-EQ接收的最低symbol编号,即=1发送的SINR报告在symbolId = 7的消息中发送。

示例6:在sinr-slot-mask = 0x0081 (00 0000 1000 0001b),以及symbol 2到13请求DMRS-BF-EQ接收的情况下,为PRB报告的SINR值仅适用于symbol 2到13,并且在symbolId = 2和symbolId = 9的消息中发送。即,在symbolId = 2的消息中发送的SINR报告适用于symbol 2到8,在symbolId = 9的消息中发送的SINR报告适用于symbol 9到13。

示例7:在sinr-slot-mask = 0x0891 (00 1000 1001 0001b),以及symbol 3到13请求DMRS-BF-EQ接收的情况下,为PRB报告的SINR值仅适用于symbol 3到13,并且在symbolId = 3,symbolId = 7和symbolId = 10的消息中发送。在symbolId = 3的消息中发送的SINR报告适用于symbol 3到6,在symbolId = 7的消息中发送的SINR报告适用于symbol 7到9,在symbolId = 10的消息中发送的SINR报告适用于symbol 10到13。

根据配置的SINR频率分辨率,每个PRB报告sinr-per-prb个SINR值。每个报告的SINR值适用于将PRB(12个子载波)划分为sinr-per-prb个子载波块后得到的子载波范围。划分后的子载波块包含相同数量的连续子载波,即每个子载波块由12/sinr-per-prb个子载波组成。

按照SINR值的存在顺序,将SINR值应用于子载波块,即,处于最低频率的子载波块应用PRB中的第一个SINR值。O-RU应使用配置的频率分辨率报告SINR,与DMRS配置以及子载波块是否包含PUSCH无关。

示例8:在sinr-per-prb = 1的情况下,每个PRB报告一个SINR值。为PRB报告的SINR值应用于整个PRB(12个子载波)。

示例9:在sinr-per-prb = 2的情况下,每个PRB报告两个SINR值。为PRB报告的SINR值分别应用于半个PRB(6个子载波的子载波块)。即,第一个SINR值应用于子载波0到5,第二个SINR值应用于子载波6到11。

示例10:在sinr-per-prb = 12的情况下,每个PRB报告12个SINR值。为PRB报告的SINR值分别应用于PRB中的每个子载波。即,第一个SINR值应用于子载波0,第二个SINR值应用于子载波1,第三个SINR值应用于子载波2,以此类推。

SINR数据的格式是静态的,即,通过M平面作为载波创建的一部分进行配置。SINR数据格式的配置独立于上行链路U平面IQ数据的配置。O-RU应该通过在M平面参数中列出支持的参数组合,来报告支持的SINR数据格式。参数组合中包括:

  • sinr-compression-method:压缩方法,块浮点或非压缩。
  • sinr-bitwidth:位宽。
  • sinr-block-size:可选的数据块大小。

省略数据块大小表示SINR数据格式没有零填充,即,没有将每个PRB的值数量与数据块大小对齐。

O-RU应支持没有数据块大小的块浮点,即,为每个PRB报告sinr-per-prb个SINR值,不做零填充,不需要将每个PRB的值数量与大于sinr-per-prb的数据块大小对齐。O-RU可以支持具有数据块大小的非压缩和块浮点格式。

O-DU通过M平面,使用M平面参数sinr-compression-method,sinr-bitwidth和sinr-block-size配置SINR数据的格式,以选择支持的压缩方法,位宽和可选的数据块大小的组合。如果O-DU配置了数据块大小,则O-DU应确保配置的数据块大小足够传输配置的SINR值的数量,即,确保sinr-block-size ≥ sinr-per-prb。

O-RU应使用M平面参数sinr-reference-level-min和sinr-reference-level-max报告支持的SINR参考基准范围。O-DU应通过M平面参数sinr-reference-level-config(单位dB)配置SINR参考基准。O-RU在只读的M平面参数sinr-reference-level-used中报告使用的SINR参考基准(sinr-reference-level-config的最佳近似值)。

对于一个slot中的每个SINR报告,以及请求DMRS-BF-EQ接收的每个PRB,后均衡SINR值按照以下过程打包到ST9消息的PRB字段中。

为了应用块浮点压缩过程,SINR值(实数)被映射到压缩过程中期望的复数fPRB。

For k = 0 to 11:

if 2k < N

Re(fPRB(k+1)) =

else

Re(fPRB(k+1)) = 0

if 2k+1 < N

Im(fPRB(k+1)) =

else

Im(fPRB(k+1)) = 0

即,按照实部,虚部,实部,虚部交替的方式映射SINR值。

其中,

  • N是通过M平面参数sinr-per-prb配置的每个PRB的SINR值的数量。
  • fPRB(k),k = 1,2,...,12,是压缩算法的复数输入值。
  • Re(x)和Im(x)分别是复数x的实部和虚部。
  • ,n = 0,...,N-1,是为一层(layer)计算的后均衡SINR值(实数)的缩放值,以使与M平面参数sinr-reference-level-used中报告的值相对应SINR值,被映射到通过M平面选择的数据格式的接口分辨率。
  • ,n = 0,...,N-1,是缩放前的后均衡SINR值。

通过M平面配置的SINR数据的格式参数,块浮点压缩中为U平面定义的IQ压缩应用于fPRB。压缩后输出的cPRB(12个复数值)被映射到ST9中的参数。

For k = 0 to floor((Z-1)/2):

if 2k < Z

= Re(cPRB(k+1))

if 2k+1 < Z

= Im(cPRB(k+1))

即,按照压缩后的实部,虚部,实部,虚部交替的方式,映射回SINR值。

其中,

  • 如果未配置sinr-block-size,Z是通过M平面参数sinr-per-prb配置的每个PRB的SINR值的数量;如果配置了sinr-block-size,Z是通过M平面参数sinr-block-size配置的SINR数据块的大小。
  • floor(x)是小于或等于x的最大整数,即下取整。
  • ,z = 0,...,Z-1,是ST9中的SINR值。
  • cPRB(k),k = 1,...,12,是压缩后的复数,即块浮点压缩算法的输出。
  • Re(x)和Im(x)分别是复数x的实部和虚部。

对于每个PRB,有一个sinrCompParam和N个SINR值 ,z = 0,...,N-1。当配置sinr-block-size时,如果Z > N,则将Z - N个0值添加到 ,z = N,...,Z-1。如果需要为下一个PRB对齐字节边界,则在每个PRB的最后一个 之后添加0 bit,以补足字节。

示例11:如果sinr-per-prb = 3且未配置sinr-block-size,则ST9 section中的一个PRB将包括sinrCompParam,第一个SINR值 ,第二个SINR值 和第三个SINR值 。每个SINR值应用于4个子载波。DMRS配置对每个PRB如何报告SINR数据没有影响。当O-RU发送PRB的SINR数据时,O-RU总是发送M平面配置的每个PRB的指定数量的SINR值,这里没有排除O-RU因为SINR不适用于任何PUSCH数据而不发送的情况。下图说明了sinr-per-prb = 3时,SINR值与 值的映射示例,以及SINR值应用于子载波的情况。

示例12:如果sinr-per-prb = 4且未配置sinr-block-size,则ST9 section中的一个PRB将包括sinrCompParam,第一个SINR值 ,第二个SINR值 ,第三个SINR值 和第四个SINR值 。每个SINR值应用于3个子载波。DMRS配置对如何报告SINR数据没有影响。下图说明了sinr-per-prb = 4时,SINR值与 值的映射示例,以及SINR值应用于子载波的情况。

为了应用非压缩格式的SINR值(实数)映射到ST9中的参数。

For z = 0 to Z-1:

if z < N

=

else

= 0

其中,

  • N是通过M平面参数sinr-per-prb配置的每个PRB的SINR值的数量。
  • 如果未配置sinr-block-size,Z是通过M平面参数sinr-per-prb配置的每个PRB的SINR值的数量;如果配置了sinr-block-size,Z是通过M平面参数sinr-block-size配置的SINR数据块的大小。
  • ,z = 0,...,Z-1,是ST9中的SINR值。
  • ,n = 0,...,N-1,是为一层(layer)计算的后均衡SINR值(实数)的缩放值,以使与M平面参数sinr-reference-level-used中报告的值相对应SINR值,被映射到通过M平面选择的数据格式的接口分辨率。
  • ,n = 0,...,N-1,是缩放前的后均衡SINR值。

对于每个PRB,N个SINR值在参数 ,z = 0,...,N-1中表示。当配置sinr-block-size时,如果Z > N,则将Z - N个0值添加到 ,z = N,...,Z-1。如果需要为下一个PRB对齐字节边界,则在每个PRB的最后一个 之后添加0 bit,以补足字节。

参考 《O-RAN.WG4.TS.CUS.0-R004-v19.00.pdf》

相关推荐
之歆2 小时前
Seedance 使用指南 (下)
网络
枷锁—sha3 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 050】详解:动态链接下的 mprotect 与 ROP 链艺术
网络·笔记·安全·网络安全
8125035336 小时前
DNS监控:生产实践
linux·网络·网络协议·tcp/ip·计算机网络
罗技1236 小时前
记一次硬盘满了导致 Coco Server 无法启动的排查
网络·网络协议·rpc
饮长安千年月6 小时前
Linux下的敏感目录
linux·网络·数据库·web安全
NEXT066 小时前
从输入 URL 到页面展示的完整链路解析
网络协议·面试·浏览器
楼田莉子7 小时前
Linux网络学习:网络的基础概念
linux·运维·服务器·网络·c++·学习
Starry_hello world8 小时前
Linux 网络 (4)
linux·网络
MediaTea8 小时前
Python:比较协议
运维·服务器·开发语言·网络·python