主要内容

NR SRS配置

本示例演示如何生成ts38.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)。

载体= nrCarrierConfig;母舰。NSizeGrid =79rb中的%带宽carrier.subcarrierspacing =15.

带宽配置参数csrBSR.控制分配给SRS的带宽,带宽通常随csr和减少BSR..使用这些交互式控件配置SRS带宽。

srs = nrSRSConfig;srs。csr=10.%带宽配置srs.bsrs =.1带宽配置B_SRS(0…3)

要改变SRS的频率位置,需要改变的值频率打架NRRC频率打架指定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);

图中包含一个轴对象。具有包含SRS的标题资源网格的轴对象。nrrc = 0包含类型图像,行,文本的4个对象。该对象表示SRS 1。

该图显示了包含SRS的单槽OFDM资源网格。为csr = 10建筑= 1, SRS的频率位置 F 0 变化的 NRB T NRRC在范围内(3 ... 5)和通过 2 NRB T NRRC在(6…8)的范围内。SRS返回初始位置(频率打架) 什么时候NRRC是9。 NRB T 是分配给每个传输的SRS的资源块(RBS)的数量。

这个图说明了上面介绍的概念csr = 10建筑= 1

NRRC是指定为4个RB的额外频率偏移,它对应于更高的图层参数弗赖琴魁北欧地位(见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 BSR. .有关更多信息,请参见NRBPerTransmission财产的nrsrsconfig配置对象。

该方程式确定SRS频率的原点:

F 0 频率打架 + NRB T 国防部 4 NRRC NRB T NSB.

NSB. 表示SRS子带的数量(大小的频带 NRB T ),通过该参数可以定位SRSNRRC.计算 NSB. 时,可使用SRS带宽配置表(参见TS 38.211表6.4.1.4.3-1)。属性也可以访问此表BandwidthConfigurationTable财产的nrsrsconfig对象。

csr = srs.CSRS;disp (nrSRSConfig.BandwidthConfigurationTable (csr + (0:2) + (csr = = 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.为csr = 10建筑= 1,唯一SRS子带的数量是 NSB. 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的输出

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

对于给定的价值csr,可以使用SRS分配SR的频带NRRC 频率打架 + 0 ... NSB. NRB T - 1 .为csr = 10, SRS会在什么时候环绕 NRRC NSB. NRB T / 4 N 0 N B SRS SRS b / 4 SRS 0 / 4 9 的频率位置,与的频率位置相同 NRRC 0

流(“SRS频率范围被限制在(%d,%d) RB范围内,即当前的SRS (%d)值。”、srs.FrequencyStart srs。频率打架+NSB.Table*srs.NRBPerTransmission,srs.CSRS);
SRS频率范围限于CSRS(10)的当前值的范围(30,66)RB。

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

流(“SRS的频率来源是F0 =%d rb。”, info.PRBSet (1));
SRS的频率原点为F0 = 30 RB。

全带宽配置

本节介绍如何通过计算运营商的适当的SRS带宽参数来配置和生成全带SRS传输。

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

载体= nrCarrierConfig;母舰。NSizeGrid =52;carrier.subcarrierspacing =15.

带宽配置参数csrBSR.,BHop控制分配给SRS的带宽。要配置全频带SRS,请设置csr = 14建筑= 0

srs = nrSRSConfig;srs。csr=13.%带宽配置srs.bsrs =.1带宽配置B_SRS(0…3)hSRSGrid(载体,srs, 1,真的);%创建并显示包含SRS的单个插槽资源网格标题(['具有全带SR的资源网格。CSRS ='num2str(srs.csrs)]);HSRSANNOTATIONS(载体,SRS);

图中包含一个轴对象。轴对象的标题资源网格与全波段SRS。CSRS = 13包含3个类型为image, line, text的对象。该对象表示SRS 1。

对于SRS频率分配,可以找到合适的值csrBSR.,BHop,请参见TS 38.211表6.4.1.4.3-1。另外,nrSRSConfig。B和widthConfigurationTable提供访问和显示此表的简单方法。

%要显示带宽配置表的相关行,计算满频带SR的CSR的值[CSRS,BSRS] = HSRSBANDWidthConfiguration(SRS,CARRAT.NSIZEGRID);%显示带宽配置表disp (nrSRSConfig.BandwidthConfigurationTable (csr + (0:2) + 1 * (csr = = 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 = BSR.和非跳跃配置。相对对应的行C_SRS = 14包含一些RBsm_srs_0 = 52.,这是最接近载波带宽的值。因此,参数csr = 14建筑= 0为当前载波配置配置全频带SRS传输。本例使用带宽配置表计算csrBSR.使载波内的SRS带宽最大化。

流(对于载波带宽为%d RB的全频带SRS,设置crs = %d和BSRS = %d。carrier.NSizeGrid csr,建筑);
对于52 RB载波带宽的全频带SRS,设置crs = 14, BSRS = 0。

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

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

跳频配置

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

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

载体= nrCarrierConfig;母舰。NSizeGrid =79;carrier.subcarrierspacing =15.

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

srs = nrSRSConfig;srs。NumSRSSymbols =4;srs.repetition =.1;srs。SymbolStart =10.槽中SRS的%时域位置。(8 ... 13)对于普通循环前缀(CP)和(6 ... 11),用于扩展CP

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

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

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

srs。csr=19.%带宽配置srs.bsrs =.2带宽配置B_SRS(0…3)srs。BHop =0%跳频配置(0 ... 3)。设置BHOP> = BSRS以禁用跳频srs。NRRC=14.% 4个PRB块的频域位置(0…67)%创建并显示包含SRS的多槽资源网格时间= 2 * srs.SRSPeriod (1);槽中的速度传输长度hSRSGrid(载体,srs,持续时间,真);标题(“包含跳频SRS的载波网格”

图中包含一个轴对象。以“含跳频SRS载波网格”为标题的轴对象包含两个类型为图像、线的对象。该对象表示SRS 1。

的值增加SRS符号跳跃所经过的带宽csr和减少BHop(直到Bhop = BSR禁用跳跃)。增加BSR.减少每个OFDM符号分配的带宽(属性)NRBPerTransmission),并能减少槽内跳频。若要禁用跳频,请设置BHop > =建筑.对于非跳变配置,csrBSR.是类似的,当分配的带宽随csr和减少BSR.

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

N = hSRSNumberOfSubbandsOrHoppingPatterns (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。

将带宽配置参数设置为crs = 20, BSRS = 2,Bhop = 1.的条件BHop <建筑不能保证跳频。然而,事实正好相反:BHop > =建筑总是禁用频率跳频。您可以确定何时SRS带宽配置(csrBSR.BHop)产生频率跳变使用 N b 参数,并评估条件 NFHP N BHop + 1 N B SRS > 1

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

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

t =表([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。

载体= nrCarrierConfig;母舰。NSizeGrid =52;carrier.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(SRSperiod)') ylim ([0 srs (1) .NRBPerTransmission]);

图中包含一个轴对象。标题为“SRS with Different Slot offset (srperiod)”的轴对象包含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,真的);%生成并显示包含SRS的2槽资源网格标题(“不同符号位置的SRS (SymbolStart)”);ylim ([0 srs (1) .NRBPerTransmission]);

图中包含一个轴对象。轴对象与标题SRS与不同的符号位置(SymbolStart)包含3个对象类型的图像,线。这些对象代表SRS 1, SRS 2。

频域正交SRS

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

  • 使用该属性为不同的SRS配置不同的梳状偏移量KBarTC

  • 使用配置不同的跳频模式csrBSR.BHopNRRC

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

载体= nrCarrierConfig;母舰。NSizeGrid =52;carrier.subcarrierspacing =15.

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

第一个SRS配置:

srs = nrSRSConfig;srs(1)。KTC =2%梳编号(2,4)。它表示每个KTC子载波的SRS分配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.%带宽配置srs.bsrs =.2带宽配置B_SRS(0…3)srs。BHop =0%跳频配置(0 ... 3)。设置BHOP> = BSRS以禁用跳频srs.resourceType =.“周期”%(“周期”,“semi-persistent”、“周期”)srs.repetition =.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{:});%将适当的NRRC分配给每个SRS配置HSRSGrid(承运人,SRS,3,TRUE);%生成并显示包含SRS的3槽资源网格标题(“具有不同跳频模式的SRS”);ylim ([0 srs (1) .NRBPerTransmission * hSRSNumberOfSubbandsOrHoppingPatterns (srs (1))));

图中包含一个轴对象。具有不同跳频模式的标题SRS的轴对象包含10个类型图像,线路。这些对象代表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 %跳频情况下流(“唯一跳频模式(可通过NRRC <%d):%d。'N * srs(1)。NRBPerTransmission/4, N);其他的流('唯一子带数量(可由NRRC < %d配置):%d。'N * srs (1) .NRBPerTransmission / 4, N);结束
唯一跳频模式的数量(可通过NRRC <9):9。

请注意,SRS传输永远不会重叠,无论重复因素和resourcetype.非周期性禁用插槽间跳频)。通过设置禁用跳频BHop > =建筑并观察到不同的SRS仍然被分配到不同的子带。

循环移位正交SRS

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

%配置10mhz带宽载波和15khz SCS。载体= nrCarrierConfig;母舰。NSizeGrid = 52; carrier.SubcarrierSpacing = 15;%创建一个全带SRSsrs = nrSRSConfig;srs.csrs = hsrsbandwidthconfiguration(srs,carrier.nsizegrid);%所有SRS共享相同的物理资源,但它们被配置为%不同的循环移位。I = 1:8 srs(I) = srs(1)srs(我)。CyclicShift =张;结束%创建包含SRS的资源网格numslots = 1;%要生成的槽位数ich = length(srs):-1:1 slotGrid{ich} = hSRSGrid(carrier,srs(ich),numSlots);结束%获取OFDM调制相关信息OFDMINFO = NROFDMINFO(载体);% OFDM调制nsr =长度(srs);% SRS波形数numsamples = numslots * ofdminfo.samplevere / 1000 / cross.slotspersubframe;txwaveform = zeros(numsamples,srs(1).numsrsports,nsrs);i = 1:nsrs txWaveform(:,:,i) = nrOFDMModulate(carrier,slotGrid{i});结束用不同循环移位产生的SRS波形的递交互相关TxwaveForm = REPAPE(TXWAVEFORM,[],NSRS * SRS(1).NUMSrsports);c = txwaveform'* txwaveform;srscorr = c./diag(c);

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

ImageC(ABS(SRSCorr))标题(“SRS与不同周期位移的相关性”)包含(“SRS配置”);ylabel(“SRS配置”);colorbar

图中包含一个轴对象。具有不同自由度的SR标题相关的轴对象包含类型图像的对象。

不同时域循环移位产生的SRS波形之间的低相关性显示出它们的正交性。

DISP(相关矩阵的绝对值:);DISP('');DISP(ABS(SRSCorr));
相关矩阵的绝对值:柱1到7 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.0001 0.0006 0.0007 0.0008 0.0003 0.0007 0.0008 0.0009 0.0003 0.0004 0.000 0.0003 0.0006 0.000 0. 0.0001 0.0002 0.0010 0.0001 0.0008 0.0010 0.0001 0.0008 0.0010 0.0001 0.0008 0.0010 0.0001 0.0008 0.0010 0.0001 0.0008 0.0010 0.0001 0.0008 0.0010 0.0001 0.0008 0.0010 0.0001 0.0008 0.0010 0.0001 0.0008 0.000 0.00391.0000 0.0039 0.0007 0.0006 0.0003 0.0009 0.0002 0.0039 1.0000 0.0038 0.0005 0.0008 0.0000 0.0009 0.0003 0.0039栏8 0.0038 0.0005 0.0008 0.0000 0.0009 0.0003 0.0039 1.0000 0.0003 0.0039 1.0000

总结与进一步探索

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

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

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

  • BHop <建筑通常会产生跳频,但不能保证。然而,BHop > =建筑足以使跳频失效。

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

  • 可以使用时间,频率和序列相关的参数来创建正交的SRS传输。

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

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

参考文献

[1] 3gpp ts 38.211。“NR;物理通道和调制。”第三代合作伙伴项目;技术规范无线电接入网

[2] 3gpp ts 38.331。“NR;无线电资源控制(RRC)协议规范。第三代合作伙伴项目;技术规范无线电接入网

本地函数

下面的例子使用了这些本地函数:

函数[csrs,bsrs] = hSRSBandwidthConfiguration(srs, NRB)% [CSRS,BSRS] = hBandwidthConfiguration(SRS, NRB)返回SRS%带宽配置参数crs和BSRS需要传输%SRS在NRB指定的带宽中。该功能计算CSR和考虑到SRS属性频率和NRRC的%BSR,所以%可用带宽NRB减少了SRS的频率来源。%对于跳频情况,返回的BSRS值等于该值输入SRS配置对象中BSRS属性的百分比。f0 = hSRSFrequencyOrigin (srs);NRB = NRB - f0;如果NRB < 4错误(“可用带宽不足以分配一次SRS传输。增加载波带宽或将SRS配置在较低的频率。”结束%用于跳频配置如果srs。BHop >= srs.BSRS && nargout == 2%没有要求跳频和BSRS建筑= 0:3;其他的建筑= 0;结束初始化SRS频率分配和载波带宽之间的差距NRBGap = NRB;为每个BSRS找到适当的csr,使差距最小化%在非跳跃情况下。对于频率跳变,只查找crs的值。B = BSR.为BSRS = b和所有crs分配给SRS的% NRBsrsNRBb = srs.BandwidthConfigurationTable {: 2 * (2 + 1)};mSRSbMax = max(srsNRBb(srsNRBb <= NRB));计算SRS分配和载波带宽之间的差距gap = NRB - mSRSbMax;如果gap < NRBGap csrs = srs。B和widthConfigurationTable{ srsNRBb == mSRSbMax ,1}; bsrs = b; NRBGap = gap;结束结束csr = csr (1);如果srs.bhop 结束结束函数Out = Hsrsnumberofsubbandsorhoppingpatterns(SRS)% N = hSRSNumberOfSubbandsOrHoppingPatterns(SRS)返回数量%唯一的SRS子频带或跳频模式% SRS属性NRRC。SRS子带是为SRS分配的频带%在给定的OFDM符号中(参见SRS属性NRBPerTransmission)。N是使用TS 38.211表3.4.1.4.3-1计算的%在SRS中指定的%配置参数CSR,BSR和BHOP配置对象SRS。bwct = nrSRSConfig.BandwidthConfigurationTable {:,:};如果srs。BHop < srs.BSRS%唯一跳频模式数b0 = srs.BHop + 1;其他的唯一的SRS子带数b0 = 0;结束= prod (bwct (srs.CSRS + 1, 2 * (b0: srs.BSRS) + 3));结束函数[网格,DiveGrid] = HSRSGrid(载体,SRS,持续时间,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持续时间= 1;结束结束结束SymbolsPerSlot = carrier.SymbolsPerSlot;emptySlotGrid = nrResourceGrid(载体,马克斯((srs (:) .NumSRSPorts)));%初始化插槽网格%创建SRS符号和索引,并用SRS符号填充网格Grid = Repmat(EmptySlotgrid,1,持续时间);dispgrid = repmat(emptyslotgrid,1,持续时间);%用于显示的帧大小网格ns = 0:Duration-1 slotGrid = emptySlotGrid;dispSlotGrid = emptySlotGrid;用于显示的槽大小网格ich = 1:numSRS srsIndices = nrSRSIndices(carrier,srs(ich));srsSymbols = nrSRS(载体,srs(我));slotGrid (srsIndices) = srsSymbols;dispSlotGrid (srsIndices) = chplevels(我)* srsSymbols;%缩放SRS只用于显示结束OFDMSymIdx = ns*SymbolsPerSlot + (1:SymbolsPerSlot);OFDMSymIdx,网格(::)= slotGrid;OFDMSymIdx, dispGrid (::) = dispSlotGrid;母舰。NSlot = carrier.NSlot+1;结束如果displayGrid plotGrid (dispGrid (:,: 1), chplevels,“SRS”+ (1: numSRS) ');结束结束函数varargout = plotGrid(网格、chplevels、腿)% 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 =线((N), (N),“线宽”,8);%生成线%索引颜色映射并将所选颜色与线相关联set(l,{'颜色'}, mat2cell(提出(min(1 +修复(clevels),城市规划机构(cmap)长度),:),(1,N), 3));%根据cmap设置颜色%创建传奇传奇(腿(:));如果Nargout > 0 varargout = {h};结束结束函数hSRSAnnotations(载体,srs)%hsrsannotations(载体,srs)向当前数字添加注释%表示SRS的频率来源和每用于配置对象CARRIER和SRS的% OFDM符号。%计算第一个SRS符号的频率原点f0 = hSRSFrequencyOrigin (srs);持有;hfig = gcf;套(HFIG,“单位”“归一化”);Sym0 = srs.symbolstart - 0.5;如果isnumeric(srs. srsperperiod) Sym0 = srs. srsperperiod(2)*载波。SymbolsPerSlot + srs.symbolstart - 0.5;结束IP =得到(gca,“位置”);在SRS FREQ位置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],......'颜色'0.4 - 0.15 [1]);%文本为F0str = 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],......'颜色'0.4 - 0.15 [1]);NRBT的%文本str = sprintf ('$$\\textrm{NRB}_T = %d $$ RB', srs.NRBPerTransmission);str = (f0 + 0.5*sr . nrbpertransmission)/carrier.NSizeGrid;文本(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)%计算NRRC的值,该值在频率上生成一组唯一的正交SRS如果srs。BHop < srs.BSRS%跳频情况下NRB = srs (1) .NRB;%跳跃带宽其他的NRB = nrSRSConfig.BandwidthConfigurationTable {srs (1) csr + 1, 2};结束%跳频模式或SRS子带的数量,取决于BSRS和BHop的值N = hSRSNumberOfSubbandsOrHoppingPatterns (srs);NRRC = NRB / 4 * (0: N - 1) / N;结束

参考文献

[1]3 gpp TS 38.211。“NR;物理通道和调制。”第三代合作伙伴项目;技术规范无线电接入网

另请参阅

功能

对象

相关话题