5GNR学习理解系列——利用matlab工具生成5GNR信源

5GNR学习理解系列——利⽤matlab⼯具⽣成5GNR信源
提⽰:⽂章写完后,⽬录可以⾃动⽣成,如何⽣成可参考右边的帮助⽂档
5G NR学习理解系列——利⽤matlab⼯具⽣成5G NR信源
前⾔
既然发现了4G LTE toolbox的matlab⼯具箱,那5G NR是否也有类似的⼯具箱呢,⼀查,果然也有,不过matlab版本要2021b才有图形化app⽣成NR信源。没办法,⽹上搜集资源,安装上。
NR⼯具箱的使⽤
暂时没有到怎么输⼊指令直接打开,只能通过matlab的app菜单,到
这个按钮,打开,选择
⽤法很简洁,都不需要⽤⽂字来描述了,看图就知道怎么操作了,跟4G LTE的操作差不多
⾥⾯有我们常⽤的⼀些测试模式,例如TM11、TM31之类的。⽽且可以设定CELL ID,⽽我们做同步,解出CELLID,也就需要这些信息就⾏了。还多了⼀个可以设置采样率的选项,这点很好哦
不过似乎没看到哪⾥可以配置时隙配⽐的,不知道是没有这个接⼝配置,还是暂时我没发现。这个以后要是到了再来补充了。
直接使⽤代码
但每次通过这样使⽤tool界⾯还是有点⿇烦,需要⼿动⽣成,导出数据(mat格式),然后在把mat数据导⼊到需要仿真的程序中。
newData1 =load('-mat', 'TEST.mat');
lte_data = newData1.waveStruct.waveform;
lte_data = lte_data.';(这个转置,看实际是否需要)
可惜,暂时还没到类似于4G LTE的lteTestModel函数来替代上述图形交互过程。不过,在上⾯图形化界⾯导出按钮中,可以选择
可以得到以下代码
% Generated by MATLAB(R)9.11(R2021b)and 5G Toolbox 2.3(R2021b).
% Generated on:22-Feb-202220:09:27
%% Generating NR Test Models waveform
% NR Test Models configuration沙滩棒球
cfgDLTM = nrDLCarrierConfig;
cfgDLTM.Label = 'NR-FR1-TM3.1a';
cfgDLTM.FrequencyRange = 'FR1';
cfgDLTM.ChannelBandwidth =100;
cfgDLTM.NCellID =1;
cfgDLTM.NumSubframes =20;
cfgDLTM.WindowingPercent =0;
cfgDLTM.SampleRate =122880000;
cfgDLTM.CarrierFrequency =0;
%% SCS specific carriers
scscarrier = nrSCSCarrierConfig;
scscarrier.SubcarrierSpacing =30;
scscarrier.NSizeGrid =273;
scscarrier.NStartGrid =0;
cfgDLTM.SCSCarriers ={scscarrier};
%% Bandwidth Parts
bwp = nrWavegenBWPConfig;
bwp.BandwidthPartID =1;
bwp.Label = 'BWP1';
bwp.SubcarrierSpacing =30;
bwp.CyclicPrefix = 'normal';
bwp.NSizeBWP =273;
bwp.NStartBWP =0;
cfgDLTM.BandwidthParts ={bwp};
%% Synchronization Signals Burst
ssburst = nrWavegenSSBurstConfig;
ssburst.BlockPattern = 'Case B';
ssburst.TransmittedBlocks =[1000];
ssburst.Period =10;
ssburst.NCRBSSB =[];
ssburst.KSSB =0;
ssburst.DataSource = 'MIB';
ssburst.DMRSTypeAPosition =2;
ssburst.CellBarred =false;
ssburst.IntraFreqReselection =false;
ssburst.PDCCHConfigSIB1 =0;
ssburst.SubcarrierSpacingCommon =30;
ssburst.Enable =false;
ssburst.Power =0;
cfgDLTM.SSBurst = ssburst;
%% CORESET and Search Space Configuration
coreset = nrCORESETConfig;
coreset.CORESETID =1;
coreset.Label = 'CORESET1';
coreset.FrequencyResources =1;
coreset.Duration =2;
coreset.CCEREGMapping = 'noninterleaved';
coreset.REGBundleSize =2;
coreset.InterleaverSize =2;
coreset.ShiftIndex =0;
cfgDLTM.CORESET ={coreset};
% Search Spaces
searchspace = nrSearchSpaceConfig;
searchspace.SearchSpaceID =1;
searchspace.Label = 'SearchSpace1';
searchspace.CORESETID =1;
searchspace.SearchSpaceType = 'common';
searchspace.StartSymbolWithinSlot =0;
searchspace.SlotPeriodAndOffset =[10];
searchspace.Duration =1;
searchspace.NumCandidates =[88000];
cfgDLTM.SearchSpaces ={searchspace};
%% PDCCH Instances Configuration
pdcch = nrWavegenPDCCHConfig;
pdcch.Enable =true;
pdcch.Label = 'PDCCH1';
pdcch.Power =0;
pdcch.BandwidthPartID =1;
pdcch.SearchSpaceID =1;
pdcch.AggregationLevel =1;
pdcch.AllocatedCandidate =1;
pdcch.SlotAllocation =0:7;
pdcch.Period =10;
pdcch.Coding =false;
pdcch.DataBlockSize =20;
pdcch.DataSource = 'PN23';
pdcch.RNTI =0;抗氧化剂386
pdcch.DMRSScramblingID =1;
pdcch.DMRSPower =0;毛辊清洗机
cfgDLTM.PDCCH ={pdcch};
%% PDSCH Instances Configuration
% PDSCH 1
pdsch1 = nrWavegenPDSCHConfig;
pdsch1.Enable =true;
pdsch1.Label = 'Partial band PDSCH sequence with 256QAM modulation scheme (target, RNTI =0)(Full downlink slots)'; pdsch1.Power =0;
pdsch1.BandwidthPartID =1;
pdsch1.Modulation = '256QAM';
pdsch1.NumLayers =1;
pdsch1.MappingType ='A';
pdsch1.ReservedCORESET =[];
pdsch1.SymbolAllocation =[014];
pdsch1.SlotAllocation =0:6;
pdsch1.Period =10;
pdsch1.PRBSet =3:272;
pdsch1.VRBToPRBInterleaving =0;
pdsch1.VRBBundleSize =2;
pdsch1.NID =[];
pdsch1.RNTI =0;
pdsch1.RNTI =0;
pdsch1.Coding =false;
pdsch1.TargetCodeRate =0.4785;
pdsch1.TBScaling =1;
pdsch1.XOverhead =0;
pdsch1.RVSequence =0;
pdsch1.DataSource = 'PN23';
pdsch1.DMRSPower =0;
pdsch1.EnablePTRS =false;
pdsch1.PTRSPower =0;
% PDSCH Reserved PRB
pdsch1ReservedPRB = nrPDSCHReservedConfig;
pdsch1ReservedPRB.PRBSet =0:2;
pdsch1ReservedPRB.SymbolSet =[01];
pdsch1ReservedPRB.Period =1;
pdsch1.ReservedPRB ={pdsch1ReservedPRB};
% PDSCH DM-RS
阻焊油墨
pdsch1DMRS = nrPDSCHDMRSConfig;
pdsch1DMRS.DMRSConfigurationType =1;
pdsch1DMRS.DMRSReferencePoint = 'CRB0';
pdsch1DMRS.DMRSTypeAPosition =2;
pdsch1DMRS.DMRSAdditionalPosition =1;
pdsch1DMRS.DMRSLength =1;
pdsch1DMRS.CustomSymbolSet =[];
pdsch1DMRS.DMRSPortSet =[];
pdsch1DMRS.NIDNSCID =[];
pdsch1DMRS.NSCID =0;
pdsch1DMRS.NumCDMGroupsWithoutData =1;
pdsch1.DMRS = pdsch1DMRS;
% PDSCH PT-RS
pdsch1PTRS = nrPDSCHPTRSConfig;
pdsch1PTRS.TimeDensity =4;
pdsch1PTRS.FrequencyDensity =2;
pdsch1PTRS.REOffset = '00';
pdsch1PTRS.PTRSPortSet =[];
pdsch1.PTRS = pdsch1PTRS;
% PDSCH 2
pdsch2 = nrWavegenPDSCHConfig;
pdsch2.Enable =true;
pdsch2.Label = 'Partial band PDSCH sequence with 256QAM modulation scheme (target, RNTI =2)(Full downlink slots)'; pdsch2.Power =0;
pdsch2.BandwidthPartID =1;
pdsch2.Modulation = '256QAM';
pdsch2.NumLayers =1;
pdsch2.MappingType ='A';
pdsch2.ReservedCORESET =[];
pdsch2.SymbolAllocation =[212];
pdsch2.SlotAllocation =0:6;
pdsch2.Period =10;
pdsch2.PRBSet =0:2;
pdsch2.VRBToPRBInterleaving =0;
pdsch2.VRBBundleSize =2;
pdsch2.NID =[];
pdsch2.RNTI =2;
pdsch2.Coding =false;
pdsch2.TargetCodeRate =0.4785;
pdsch2.TBScaling =1;
pdsch2.XOverhead =0;
李逢鹏pdsch2.RVSequence =0;
pdsch2.RVSequence =0;
pdsch2.DataSource = 'PN23';
pdsch2.DMRSPower =0;
pdsch2.EnablePTRS =false;
pdsch2.PTRSPower =0;
pdschreserved = nrPDSCHReservedConfig;
pdschreserved.PRBSet =0:2;
pdschreserved.SymbolSet =[01];
pdschreserved.Period =1;
pdsch2.ReservedPRB ={pdschreserved};
pdschdmrs = nrPDSCHDMRSConfig;
磷酸氧钛钾
pdschdmrs.DMRSConfigurationType =1;
pdschdmrs.DMRSReferencePoint = 'CRB0';
pdschdmrs.DMRSTypeAPosition =2;
pdschdmrs.DMRSAdditionalPosition =1;
pdschdmrs.DMRSLength =1;
pdschdmrs.CustomSymbolSet =[];
pdschdmrs.DMRSPortSet =[];
pdschdmrs.NIDNSCID =[];
pdschdmrs.NSCID =0;
pdschdmrs.NumCDMGroupsWithoutData =1;
pdsch2.DMRS = pdschdmrs;
pdschptrs = nrPDSCHPTRSConfig;
pdschptrs.TimeDensity =4;
pdschptrs.FrequencyDensity =2;
pdschptrs.REOffset = '00';
pdschptrs.PTRSPortSet =[];
pdsch2.PTRS = pdschptrs;
% PDSCH 3
pdsch3 = nrWavegenPDSCHConfig;
pdsch3.Enable =true;
pdsch3.Label = 'Partial band PDSCH sequence with 256QAM modulation scheme (target, RNTI =0)(Partial downlink slots)'; pdsch3.Power =0;
pdsch3.BandwidthPartID =1;
pdsch3.Modulation = '256QAM';
pdsch3.NumLayers =1;
pdsch3.MappingType ='A';
pdsch3.ReservedCORESET =[];
pdsch3.SymbolAllocation =[06];
pdsch3.SlotAllocation =7;
pdsch3.Period =10;
pdsch3.PRBSet =3:272;
pdsch3.VRBToPRBInterleaving =0;
pdsch3.VRBBundleSize =2;
pdsch3.NID =[];
pdsch3.RNTI =0;
pdsch3.Coding =false;
pdsch3.TargetCodeRate =0.4785;
pdsch3.TBScaling =1;
pdsch3.XOverhead =0;
pdsch3.RVSequence =0;
pdsch3.DataSource = 'PN23';
pdsch3.DMRSPower =0;
pdsch3.EnablePTRS =false;
pdsch3.PTRSPower =0;
pdschreserved = nrPDSCHReservedConfig;
pdschreserved.PRBSet =0:2;
pdschreserved.SymbolSet =[01];

本文发布于:2024-09-23 22:33:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/206356.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:需要   找到   按钮
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议