主要内容

NR SRS配置

此示例显示如何生成TS 38.211节6.4.1.4中定义的探测参考信号(SRS) [1],包括SRS配置、符号和指标生成、OFDM资源网格映射、SRS波形生成等。该示例演示了如何选择适当的参数来定位SRS的频率和设置:

  • Full-band传输:生成一个覆盖所有可用带宽的SRS。

  • 跳频传输:生成不同跳频模式的周期性和非周期性SRS传输。

  • 多用户传输:使用时间、频率和循环位移生成正交SRS。

简介

探测参考信号是用户设备用于上行通道探测的上行链路物理信号,包括信道质量估计和同步。与解调参考信号(DM-RS)不同,SRS不与任何物理上行通道相关联,支持上行通道相关的调度和链路自适应。金宝appSRS协助:

  • 基于代码本的闭环空间多路复用。

  • 控制上行链路发射定时。

  • 多用户MIMO设置中基于交互的下行预编码。

  • 物理通道与参考信号的准共定位。

频率定位

配置SRS在频域的位置,确定分配给SRS的带宽。

配置15mhz带宽载波和15khz子载波间距(SCS)。

carrier = nrCarrierConfig;母舰。NSizeGrid =79RB带宽百分比母舰。SubcarrierSpacing =15

带宽配置参数csr而且建筑控制分配给SRS的带宽,该带宽通常随着csr随着而减少建筑.使用这些交互控件来配置SRS带宽。

srs = nrSRSConfig;srs。csr=10带宽配置C_SRS(0…63)srs。建筑=1%带宽配置B_SRS(0…3)

的值可以修改SRS的频率位置FrequencyStart而且NRRCFrequencyStart指定RBs中SRS相对于载波原点的频率原点NRRC = 0

srs。FrequencyStart =30.RB中SRS在载流子中的频率位置(0…271)srs。NRRC=0% 4个PRB块的频域位置(0…67)hSRSGrid(载体,srs, 1,真的);创建并显示包含SRS的单槽资源网格标题([包含SRS的资源网格。NRRC = 'num2str (srs.NRRC)]);hSRSAnnotations(载体,srs);

图中包含一个轴对象。axis对象的标题为Resource Grid contains SRS。NRRC = 0包含4个类型为image, line, text的对象。该节点表示SRS 1。

该图显示了包含SRS的单槽OFDM资源网格。为CSRS = 10而且BSRS = 1为SRS的频率位置 F 0 变化的 NRB T NRRC在(3…5)范围内,由 2 NRB T NRRC在(6…8)范围内。SRS返回初始位置(FrequencyStart)当NRRC是9。 NRB T 是每次传输分配给SRS的资源块的数量。

该图说明了上面介绍的概念CSRS = 10而且BSRS = 1

NRRC是一个额外的频率偏移指定为4rbs的数字,它对应于较高的层参数freqDomainPosition(参见TS 38.331章节6.3.2 SRS-Config [2])。的值NRRC之间的 k NRB T / 4 而且 k + 1 NRB T / 4 - 1 时,SRS的频率位置移动为 k NRB T ,在那里 k 整数形式。TS 38.211参考章节6.4.1.4 NRB T 作为 SRS b b 建筑 .有关更多信息,请参见NRBPerTransmission的属性nrSRSConfig配置对象。

这个方程决定了SRS在频率上的起源:

F 0 FrequencyStart + NRB T 国防部 4 NRRC NRB T

为SRS子带数(大小的频带) NRB T ),其中SRS可以通过参数定位NRRC.计算 时,可以使用SRS带宽配置表(参见TS 38.211表6.4.1.4.3-1)。方法访问此表BandwidthConfigurationTable的属性nrSRSConfig对象。

csrs = srs.CSRS;disp(nrSRSConfig.BandwidthConfigurationTable(csrs+(0:2) +(csrs==0),:));
C_SRS m_SRS_0 N_0 m_SRS_1 N_1 m_SRS_2甲烷m_SRS_3 N_3  _____ _______ ___ _______ ___ _______ ___ _______ ___ 16 9 32 1 2 8 2 4 2 10 36 1 12 3 4 3 4 1 11 40 1 20 2 4 5 1

第一列包含参数的可能值csr.为CSRS = 10而且BSRS = 1,唯一SRS子带数为 N 0 N B SRS 3. ,在那里 N 0 1 而且 N 1 3.

计算并显示NRRC可配置的SRS子带数NSBTable = hSRSNumberOfSubbandsOrHoppingPatterns(srs);流(SRS子带数(NRRC < %d): %d, NSBTable * srs.NRBPerTransmission / 4, NSBTable);
SRS子带数(NRRC < 9): 3
计算第一个SRS符号的频率原点f0 = hSRSFrequencyOrigin(srs);流(SRS的频率原点为F0 = %d RB。f0);
SRS的频率原点为F0 = 30 RB。

确认SRS的频率位置信息nrSRSIndices的输出

[~,info] = nrSRSIndices(载体,srs);显示器(info.PRBSet (1))
30.

对于给定的值csr,即可分配SRS的频带NRRC FrequencyStart + 0 ... NRB T - 1 .为CSRS = 10时,SRS环绕 NRRC NRB T / 4 N 0 N B SRS SRS b / 4 SRS 0 / 4 9 的频率位置,与的频率位置相同 NRRC 0

流(对于CSRS (%d)的当前值,SRS频率范围限制在(%d,%d) RB范围内。、srs.FrequencyStart srs。FrequencyStart+讲Table*srs.NRBPerTransmission,srs.CSRS);
对于CSRS(10)的当前值,SRS频率范围限制在(30,66)RB范围内。

当使能槽内跳频时,计算FrequencyOrigin仅对槽中的第一个SRS符号有效。对于跳频SRS,使用输出信息。PRBset信息。SubcarrierOffsetnrSRSIndices函数确定后续符号的频率位置。

流(SRS的频率原点为F0 = %d RB。, info.PRBSet (1));
SRS的频率原点为F0 = 30 RB。

全部带宽配置

通过计算运营商的SRS带宽参数,配置并生成全频带SRS传输。

配置10mhz带宽载波和15khz SCS。

carrier = nrCarrierConfig;母舰。NSizeGrid =52;母舰。SubcarrierSpacing =15

带宽配置参数csr建筑,BHop控制分配给SRS的带宽。如果需要配置全频带SRS,请设置CSRS = 14而且BSRS = 0

srs = nrSRSConfig;srs。csr=13带宽配置C_SRS(0…63)srs。建筑=1%带宽配置B_SRS(0…3)hSRSGrid(载体,srs, 1, true);创建并显示包含SRS的单槽资源网格标题([全频带SRS资源网格。CSRS = 'num2str (srs.CSRS)]);hSRSAnnotations(载体,srs);

图中包含一个轴对象。axis对象的标题为Resource Grid with Full-Band SRS。CSRS = 13包含3个类型为image, line, text的对象。该节点表示SRS 1。

对于SRS频率分配,您可以找到适当的值csr建筑,BHop参见TS 38.211表6.4.1.4.3-1。另外,nrSRSConfig。B而且widthConfigurationTable提供访问和显示此表的简便方法。

%为了显示带宽配置表的相关行,需要计算全频带SRS的CSRS值[csrs,bsrs] = hSRSBandwidthConfiguration(srs,carrier.NSizeGrid);显示带宽配置表disp(nrSRSConfig.BandwidthConfigurationTable(csrs+(0:2) + 1*(csrs==0),:));
C_SRS m_SRS_0 N_0 m_SRS_1 N_1 m_SRS_2甲烷m_SRS_3 N_3  _____ _______ ___ _______ ___ _______ ___ _______ ___ 13 48 1 24 2 12 2 4 3 14 52 1 4 13 4 1 4 1 15 56 1 28 2 4 7 4 1

列标记为m_SRS_bb= 0…3.contain the number of RBs allocated to the SRS for the parameterb = BSRS非跳态。对应的行C_srs = 14包含多个RBsm_SRS_0 = 52,是最接近载波带宽的值。因此,参数CSRS = 14而且BSRS = 0为当前运营商配置全频带SRS传输。本例通过带宽配置表计算csr而且建筑使载波内的SRS带宽最大化。

流('对于%d RB载波带宽下的全频带SRS,设置CSRS = %d, BSRS = %d。'carrier.NSizeGrid csr,建筑);
对于52rb载波带宽下的全频带SRS,需要设置CSRS = 14, BSRS = 0。

您可以使用SRS只读属性NRBPerTransmission确认生成的SRS是否符合载波带宽。

流(' SRS带宽(%d RB)小于或等于载波带宽(%d RB)。'、srs.NRBPerTransmission carrier.NSizeGrid);
SRS带宽(24rb)小于等于载波带宽(52rb)。

跳频配置

多符号SRS传输可以配置槽内跳频,多槽SRS传输可以配置槽间跳频。每个OFDM符号的瞬时带宽在SRS OFDM符号之间是恒定的,并且小于SRS跳频所经过的带宽。

配置15mhz带宽载波和15khz SCS。

carrier = nrCarrierConfig;母舰。NSizeGrid =79;母舰。SubcarrierSpacing =15

在插槽的末端创建一个四符号SRS。选择重复因子来指示槽中相等的连续SRS传输(OFDM符号)的数量。对于跳频配置,重复必须小于SRS符号的数目。

srs = nrSRSConfig;srs。NumSRSSymbols =4;srs。重复=1;srs。SymbolStart =10% SRS在槽位的时域位置。(8…13)表示普通循环前缀(CP),(6…11)表示扩展循环前缀(CP)

下行链路控制信息(DCI)利用上层参数触发非周期性SRS传输resourceType(参见TS 38.331章节6.3.2 SRS-Config)。由于每个槽位的非周期性SRS资源类型的跳频模式被重置,请选择周期semi-persistent启用槽间跳频或SRS资源类型非周期禁用它。您可以使用该属性配置SRS传输的逐槽周期性和偏移量SRSPeriod.为非周期资源类型,参数SRSPeriod控制触发非周期性SRS传输的DCI信号的周期性和偏置。

srs。ResourceType =“周期”;srs。SRSPeriod = [20);槽(1,2,4,5,8,10,…)的周期性%srs.SRSPeriod (2) =0槽位的%偏移量必须小于周期性

使用这些交互控件来选择跳转配置并观察OFDM资源网格的变化。

srs。csr=19带宽配置C_SRS(0…63)srs。建筑=2%带宽配置B_SRS(0…3)srs。BHop =0%跳频配置(0…3)。设置“BHop >= BSRS”,关闭跳频功能srs。NRRC=14% 4个PRB块的频域位置(0…67)创建并显示包含SRS的多槽资源网格duration = 2*srs. srperiod (1);%插槽传输长度hSRSGrid(载体,srs,持续时间,true);标题(“含跳频SRS载波网格”

图中包含一个轴对象。轴对象的标题载波网格包含跳频SRS包含2个对象类型的图像,线。该节点表示SRS 1。

的值增加SRS符号所跳过的带宽csr随着而减少BHop(直到BHop = BSRS禁用跳跃)。增加建筑减少每个OFDM符号(属性)所分配的带宽NRBPerTransmission),可以减少槽内跳频。禁用跳频,请设置BHop >= BSRS.对于非跳变配置,的角色csr而且建筑是类似的,随着分配的带宽的增加csr随着而减少建筑

可以通过带宽配置表(TS 38.211表6.4.1.4.3-1)计算SRS参数可配置的不同跳频模式的个数NRRC作为 NFHP N BHop + 1 N B SRS .跳频模式重复 NRRC > NFHP NRB T / 4

N = hssrsnumberofsubbandsorhoppingpatterns (srs);如果srs。BHop < srs.BSRS && srs(1).NRB > 16唯一跳频模式个数流(唯一跳频模式的数目(可由NRRC < %d配置):%d。、N * srs.NRBPerTransmission / 4 N);其他的唯一SRS子带数%流(唯一SRS子带数(可由NRRC < %d配置):%d。、N * srs.NRBPerTransmission / 4 N);结束
唯一跳频模式数(可由NRRC < 18配置):6。

设置带宽配置参数为CSRS = 20, BSRS = 2,BHop = 1.的条件BHop < BSRS不保证跳频。然而,事实恰恰相反:BHop >= BSRS始终禁用跳频功能。您可以确定当SRS带宽配置(csr建筑BHop)产生跳频使用 N b 参数从带宽配置表和评估条件 NFHP N BHop + 1 N B SRS > 1

isFreqHoppingConfiguration = hSRSNumberOfSubbandsOrHoppingPatterns(srs) > 1;disp ([“跳频是”repmat (“不是”1 ~ isFreqHoppingConfiguration)“启用”。])
开启跳频功能。

在跳频情况下,只读属性NRBSRS所跳的带宽NRBPerTransmission指定分配给每个SRS OFDM符号的瞬时带宽。

t = table([srs.NRB;srs。NRBPerTransmission],“RowNames”, {“Freq-Hopping带宽”“瞬时带宽”},“VariableNames”“NRB”);disp (t)
NRB ___跳频带宽72瞬时带宽12

多用户配置

本节解释如何配置适合多用户设置的多个SRS传输。您可以使用时域、频域和序列域参数来创建一组正交(无干扰)SRS传输。

时域正交SRS

您可以通过多种方式创建时域正交SRS传输,例如:

  • 使用该属性为不同的SRS配置不同的插槽周期和偏移量SRSPeriod

  • 通过使用该属性为不同的SRS配置不同的符号级时域分配SymbolStart

配置10mhz带宽载波和15khz SCS。

carrier = nrCarrierConfig;母舰。NSizeGrid =52;母舰。SubcarrierSpacing =15

指定槽周期和偏移量以创建正交SRS传输。

初次配置SRS:

srs = nrSRSConfig;srs(1)。SRSPeriod = [1 0]; srs(1).SRSPeriod(1) =4槽周期和偏移量srs (1) .SRSPeriod (2) =0%第一个SRS的槽偏移量

二次SRS配置:

Srs (2) = Srs (1);创建已配置SRS的副本srs (2) .SRSPeriod (1) =2插槽的周期性srs (2) .SRSPeriod (2) =1槽内偏移量%

该图显示了包含配置的SRS传输的OFDM资源网格。

hSRSGrid(载体,srs, srs (1) .SRSPeriod(1) * 2,真的);生成包含SRS的多槽资源网格标题(具有不同槽偏移量的SRS (srperiod)) ylim([0 srs(1).NRBPerTransmission]);

图中包含一个轴对象。带有不同槽偏移的标题SRS (SRSPeriod)的axis对象包含3个类型为image、line的对象。这些对象表示SRS 1、SRS 2。

指定SRS符号的数量和插槽中的位置,以创建正交SRS传输。

初次配置SRS:

srs = nrSRSConfig;srs(1)。NumSRSSymbols =1插槽中SRS符号的百分比(1,2,4)srs(1)。SymbolStart =12% SRS在槽位的时域位置。(8…13)表示普通循环前缀(CP),(6…11)表示扩展循环前缀(CP)

二次SRS配置:

Srs (2) = Srs (1);创建已配置SRS的副本srs(2)。NumSRSSymbols =2;srs(2)。SymbolStart =9

该图显示了包含SRS传输的OFDM资源网格。

hSRSGrid(载体,srs, 2, true);生成并显示包含SRS的2槽资源网格标题(不同符号位置的SRS (SymbolStart));ylim ([0 srs (1) .NRBPerTransmission]);

图中包含一个轴对象。标题为SRS with Different Symbol Locations (SymbolStart)的坐标轴对象包含3个类型为image、line的对象。这些对象表示SRS 1、SRS 2。

频域正交SRS

您可以通过多种方式创建频域正交SRS传输:

  • 使用该属性为不同的SRS配置不同的梳距KBarTC

  • 使用配置不同的跳频模式csr建筑BHop而且NRRC

配置10mhz带宽载波和15khz SCS。

carrier = nrCarrierConfig;母舰。NSizeGrid =52;母舰。SubcarrierSpacing =15

指定梳数和偏移量以创建正交SRS传输。

初次配置SRS:

srs = nrSRSConfig;srs(1)。KTC =2%梳数(2,4)。表示SRS在每个KTC子载波上的分配情况srs(1)。KBarTC=1%梳偏距(0…KTC-1)

二次SRS配置:

Srs (2) = Srs (1);创建已配置SRS的副本srs(2)。KTC =4;srs(2)。KBarTC=0

该图显示了包含SRS传输的OFDM资源网格。

hSRSGrid(载体,srs, 2,真的);标题(不同梳距的SRS (KBarTC)) ylim([0 srs(1).NRBPerTransmission]);

图中包含一个轴对象。轴对象的标题SRS与不同梳偏移(KBarTC)包含3个对象类型的图像,线。这些对象表示SRS 1、SRS 2。

使用不同的跳频模式创建频域正交SRS配置。

srs = nrSRSConfig;srs。NumSRSSymbols =4%槽位中SRS符号的数量srs。SymbolStart =8在OFDM符号中分配SRS 10:13

选择带宽配置参数、资源类型和重复因子。

srs。csr=10带宽配置C_SRS(0…63)srs。建筑=2%带宽配置B_SRS(0…3)srs。BHop =0%跳频配置(0…3)。设置“BHop >= BSRS”,关闭跳频功能srs。ResourceType =“周期”%(“周期”,“semi-persistent”、“周期”)srs。重复=1%相等的连续SRS传输数(1,2,4)。它必须低于NumSRSSymbols

此示例计算可以配置的正交SRS序列的数量NRRC并创建频率不重叠的SRS配置。图中显示了包含SRS传输的OFDM资源网格。

NRRC = num2cell(hNRRCSet(srs));srs(2:长度(NRRC)) = srs(1);为配置的SRS创建N-1份副本(srs(:)。NRRC] = deal(NRRC{:});为每个SRS配置分配适当的NRRChSRSGrid(载体,srs, 3, true);生成并显示包含SRS的3槽资源网格标题(“不同跳频模式的SRS”);ylim ([0 srs (1) .NRBPerTransmission * hSRSNumberOfSubbandsOrHoppingPatterns (srs (1))));

图中包含一个轴对象。标题为“SRS with Different Frequency-Hopping Patterns”的坐标轴对象包含10个类型为image、line的对象。这些对象分别代表SRS 1、SRS 2、SRS 3、SRS 4、SRS 5、SRS 6、SRS 7、SRS 8、SRS 9。

N = hSRSNumberOfSubbandsOrHoppingPatterns(srs(1));如果srs(1)。BHop< srs(1).BSRS%跳频案例流(唯一跳频模式的数目(可由NRRC < %d配置):%d。N * srs(1)。NRBPerTransmission/4, N);其他的流('唯一子带数(可由NRRC < %d配置):%d。'N * srs (1) .NRBPerTransmission / 4, N);结束
唯一跳频模式数(可由NRRC < 9配置):9。

注意SRS传输从不重叠,不管重复因素和ResourceType非周期禁用槽间跳频)。通过设置禁用跳频功能BHop >= BSRS并观察到不同的SRS仍然分配到不同的子带。

循环位移正交SRS

本节生成分配给相同时间和频率资源(OFDM符号和子载波)但时域循环移位不同的多个SRS。由于Zadoff-Chu序列的性质,这种结构产生正交SRS。为了演示配置的SRS之间的正交性,本节执行CP-OFDM调制并计算时域波形的互相关。

配置10mhz带宽载波和15khz SCS。carrier = nrCarrierConfig;母舰。NSizeGrid = 52; carrier.SubcarrierSpacing = 15;创建一个全频带SRSsrs = nrSRSConfig;srs。csr=hSRSBandwidthConfiguration(srs,carrier.NSizeGrid);%所有SRS共享相同的物理资源,但是它们被配置为%不同的循环位移。I = 1:8 srs(I) = srs(1);srs(我)。CyclicShift = i-1;结束创建包含SRS的资源网格numSlots = 1;%要生成的插槽数ich = length(srs):-1:1 slotGrid{ich} = hSRSGrid(carrier,srs(ich),numSlots);结束获取OFDM调制相关信息ofdmInfo = nrOFDMInfo(载体);% OFDM调制NSRS =长度(srs);% SRS波形数*ofdmInfo.SampleRate/1000/carrier.SlotsPerSubframe;tx波形=零(numSamples,srs(1).NumSRSPorts,nsrs);i = 1:nsrs tx波形(:,:,i) = nrofdmmodulation(载波,slotGrid{i});结束不同周期位移产生的SRS波形的相互关联tx波形=重塑(tx波形,[],nsrs*srs(1).NumSRSPorts);C = tx波形'* tx波形;srsCorr = C /diag(C);

该图显示了不同周期位移下SRS波形的时域互相关关系。

显示亮度图像(abs (srsCorr))标题(“SRS与不同CyclicShift的相关性”)包含(“SRS配置”);ylabel (“SRS配置”);colorbar

图中包含一个轴对象。带有不同CyclicShift的SRS相关性的axis对象包含一个image类型的对象。

用不同的时域周期位移产生的SRS波形之间的低相关性表明了它们的正交性。

disp (相关矩阵绝对值:);disp (' ');disp (abs (srsCorr));
相关矩阵绝对值:第一至第七列1.0000 0.0027 0.0021 0.0008 0.0003 0.0010 0.0007 0.0027 1.0000 0.0030 0.0006 0.0006 0.0006 0.0030 1.0000 0.0041 0.0007 0.0008 0.0003 0.0006 0.0041 1.0000 0.0040 0.0004 0.0009 0.0003 0.0004 0.0039 1.0000 0.0039 0.0007 0.0008 0.0009 0.0003 0.0039第8列0.0038 0.0005 0.0008 0.0009 0.0003 0.0039

总结与进一步探索

本例描述了如何生成SRS序列并将其映射到OFDM载波资源网格,以及如何为多个载波和SRS配置生成相应的波形。该实例强调了SRS配置参数及其对资源网格和SRS波形属性的影响之间的关系。例如:

  • 分配给SRS的带宽通常随着csr随着而减少建筑.对于跳频配置,瞬时带宽和跳频带宽随着跳频配置的增加而减小建筑而且BHop,分别。

  • SRS的频率位置取决于FrequencyStart而且NRRC参数。NRRC允许选择不同的SRS子带和跳频模式。

  • BHop < BSRS一般会产生跳频,但不能保证。然而,BHop >= BSRS足以禁用跳频。

  • 槽间跳频仅用于周期而且semi-persistent资源类型。

  • 时间、频率和序列相关参数可用于创建正交SRS传输。

该示例还演示了如何从SRS带宽配置表和只读属性中提取有用的信息,例如,唯一SRS子带的数量和可配置的跳频模式NRRC

多端口配置的SRS序列生成采用了中提出的正交化机制循环位移正交SRS.为了验证多端口间的正交性,需要配置多端口SRS,生成符号和索引,将符号映射到资源网格中,生成SRS波形,并计算不同端口波形之间的相互关系。

参考文献

[1] 3gpp ts 38.211。“NR;物理通道和调制。”第三代伙伴计划;技术规范集团无线接入网

[2] 3gpp ts 38.331。“NR;无线电资源控制协议规范。第三代伙伴计划;技术规范集团无线接入网

本地函数

下面的例子使用了这些局部函数:

函数[csrs,bsrs] = hSRSBandwidthConfiguration(srs, NRB)% [CSRS,BSRS] = hBandwidthConfiguration(SRS, NRB)返回SRS%带宽配置参数的CSRS和BSRS传输NRB指定带宽中的% SRS。该函数计算CSRS和% BSRS考虑SRS属性FrequencyStart和NRRC,因此%可用带宽NRB被SRS的频率原点降低。%对于跳频情况,返回的BSRS值等于该值输入SRS配置对象中BSRS属性的%。f0 = hSRSFrequencyOrigin(srs);NRB = NRB - f0;如果NRB < 4错误(可用带宽不足以分配SRS传输。提高载波带宽或将SRS配置在较低的频率。结束%用于跳频配置如果srs。BHop >= srs.BSRS && nargout == 2%无跳频和BSRS要求BSRS = 0:3;其他的BSRS = 0;结束初始化SRS频率分配与载波带宽之间的差距NRBGap = NRB;为每个BSRS找到合适的CSRS,只使差距最小化%在非跳跃情况下。对于跳频,只需要找到CSRS值即可。b = BSRS% NRB分配给BSRS = b和所有CSRSsrsNRBb = srs.BandwidthConfigurationTable{:,2*(b+1)};mSRSbMax = max(srsNRBb(srsNRBb <= NRB);计算SRS分配和载波带宽之间的差距缺口= NRB - mSRSbMax;如果gap < NRBGap csrs = srs。B而且widthConfigurationTable{ srsNRBb == mSRSbMax ,1}; bsrs = b; NRBGap = gap;结束结束CSRS = CSRS (1);如果srs。BHop < bsrs bsrs = srs.BSRS;结束结束函数out = hSRSNumberOfSubbandsOrHoppingPatterns(srs)% N = hSRSNumberOfSubbandsOrHoppingPatterns(SRS)返回%唯一SRS子带或跳频模式N由% SRS属性NRRC。SRS子带是为SRS分配的频段%在给定的OFDM符号(见SRS属性NRBPerTransmission)。N是TS 38.211计算的带宽如表6.4.1.4.3-1所示%配置参数SRS中指定的CSRS、BSRS和BHop%配置对象SRS。bwct = nrSRSConfig.BandwidthConfigurationTable{:,:};如果srs。BHop < srs.BSRS唯一跳频模式个数b0 = srs.BHop+1;其他的唯一SRS子带数%B0 = 0;结束out = prod(bwct(srs.CSRS+1,2*(b0:srs.BSRS)+3));结束函数[Grid, disgrid] = hSRSGrid(carrier,srs,Duration,displayGrid,chplevels)% [GRID, disgrid] = hSRSGrid(CARRIER,SRS,DURATION,DISPLAYGRID,CHPLEVELS)返回包含一组探测的多槽OFDM资源网格grid%载波中的引用信号,由配置对象指定% CARRIER和SRS。该函数还返回网格的缩放版本%用于显示。可选输入DURATION(默认1)%表示生成网格的槽位数。资源网格%可以使用可选输入DISPLAYGRID(默认为false)显示。% CHPLEVELS指定仅用于显示的通道功率级别%,且必须与SRS大小相同。numSRS =长度(srs);如果nargin < 5 chplevels = 1:-1/numSRS:1/numSRS;如果nargin < 4 displayGrid = false;如果nargin < 3 Duration = 1;结束结束结束SymbolsPerSlot = carrier.SymbolsPerSlot;emptySlotGrid = nrResourceGrid(carrier,max([srs(:).NumSRSPorts]));初始化槽网格创建SRS符号和索引,并用SRS符号填充网格Grid = repmat(emptySlotGrid,1,Duration);disgrid = repmat(emptySlotGrid,1,Duration);%用于显示的帧大小的网格ns = 0:Duration-1 slotGrid = emptySlotGrid;disslotgrid = emptslotgrid;用于显示的槽大小网格ich = 1:numSRS srsIndices = nrSRSIndices(载体,srs(ich));srsSymbols = nrSRS(载体,srs(ich));slotGrid(srsIndices) = srsSymbols;disslotgrid (srsIndices) = chplevels(ich)*srsSymbols;缩放SRS仅用于显示结束OFDMSymIdx = ns*SymbolsPerSlot + (1:SymbolsPerSlot);Grid(:,OFDMSymIdx,:) = slotGrid;disgrid (:,OFDMSymIdx,:) = disslotgrid;母舰。NSlot = carrier.NSlot+1;结束如果displayGrid plotGrid (dispGrid (:,: 1), chplevels,“SRS”+ (1: numSRS) ');结束结束函数varargout = plotGrid(Grid,chplevels,leg)% plotGrid(GRID, chpllevel,LEG)显示GRID包含的资源网格%的通道或信号在不同的功率电平chpllevel,并创建一个使用字符向量LEG的单元格数组如果Nargin < 3 leg = {SRS的};如果Nargin < 2 chplevels = 1;结束结束Cmap = colormap(gcf);Chpscale =长度(cmap);比例因子H =数字;图像(0:大小(网格,2)1(0:大小(网格,1)1)/ 12,chpscale * abs(网格(:,:1)));%与比例因子相乘,以获得更好的可视化xy;标题(“包含SRS的载波网格”)包含(OFDM符号的);ylabel (RB的);Clevels = chpscale*chplevels(:);N =长度(clevels);L = line(ones(N),ones(N),“线宽”8);%生成行索引颜色图并将所选颜色与线条关联集(L, {“颜色”}, mat2cell(提出(min(1 +修复(clevels),城市规划机构(cmap)长度),:),(1,N), 3));根据cmap设置颜色%创建图例传奇(腿(:));如果varargout = {h};结束结束函数hSRSAnnotations(载体,srs)% hSRSAnnotations(carrier,srs)为当前图形添加注释%表示SRS的频率原点和每个SRS使用的RB数% OFDM符号,用于配置对象CARRIER和SRS。计算第一个SRS符号的频率原点f0 = hSRSFrequencyOrigin(srs);持有;Hfig = gcf;集(hfig,“单位”“归一化”);Sym0 = srs.SymbolStart-0.5;如果isnumeric(srs.SRSPeriod) Sym0 = srs.SRSPeriod(2)*载体。SymbolsPerSlot + srs.SymbolStart-0.5;结束IP = get(gca,“位置”);SRS频率位置f0的当前轴% y坐标Yf0 = f0/carrier.NSizeGrid*IP(4)+IP(2);Xc = Sym0/((carrier.NSlot+1)*carrier.SymbolsPerSlot)*IP(3)+IP(1);在RB中为包含f0的图形添加注释如果f0 /载体。NSizeGrid > 0.08只在y轴有足够空间时绘制f0为F0创建doublearrowYMin = IP(2);注释(hfig“doublearrow”,Xc*[1 1], [YMin Yf0],...“颜色”,[1 0.4 0.15]);% F0的文本STR = sprintf('$$F_0 = %d $$ RB'f0);Ystr = f0/carrier.NSizeGrid/2;文本(gca, (Xc-IP (1) / IP (3) -0.25, Ystr, str,...“颜色”,[1 0.4 0.15],“字形大小”14岁的...“单位”“归一化”“翻译”“乳胶”);结束从f0创建doublearrow并跨越SRS带宽Yf1 = Yf0 + srs.NRBPerTransmission/carrier.NSizeGrid*IP(4);注释(hfig“doublearrow”,Xc*[1 1], [Yf0 Yf1],...“颜色”,[1 0.4 0.15]);%文本为NRBtSTR = sprintf('$$\\textrm{NRB}_T = %d $$ RB', srs.NRBPerTransmission);Ystr = (f0 + 0.5*srs.NRBPerTransmission)/carrier.NSizeGrid;text(gca,(Xc-IP(1))/IP(3)-0.32, Ystr,str,...“颜色”,[1 0.4 0.15],“字形大小”14岁的...“单位”“归一化”“翻译”“乳胶”);结束函数f0 = hSRSFrequencyOrigin(srs)计算槽中第一个SRS符号的频率原点NSBTable = hSRSNumberOfSubbandsOrHoppingPatterns(srs);NRBt = srs.NRBPerTransmission;%频率在RB中SRS的起源F0 = srs。FrequencyStart + NRBt*mod(floor(4*srs.NRRC/NRBt),NSBTable);结束函数[NRRC,NRB] = hNRRCSet(srs)计算在频率上产生唯一一组正交SRS的NRRC值如果srs。BHop < srs.BSRS%跳频案例NRB = srs(1).NRB;%跳频带宽其他的NRB = nrSRSConfig.BandwidthConfigurationTable{srs(1).CSRS+1,2};结束%跳频模式或SRS子带数,由BSRS和BHop值决定N = hssrsnumberofsubbandsorhoppingpatterns (srs);NRRC = nrb /4*(0: n -1)/ n;结束

参考文献

[1]3gpp ts 38.211。“NR;物理通道和调制。”第三代伙伴计划;技术规范集团无线接入网

另请参阅

功能

对象

相关的话题