主要内容

释放12下行载波聚合波形生成、解调和分析

这个例子展示了如何生成多个下行运营商,聚合,进一步使用LTE工具箱™解调。

介绍

这个示例模型LTE发布12波形与载波聚合(CA)。副载波的数量和他们的带宽可以指定为一个参数。一个intra-band连续CA案件被认为是。

生成一个聚合下行波形为每个组件配置eNodeB母舰。组件载波参数计算和用于生成每个eNodeB配置的调制波形。CC调制波形都重新取样,一个共同的采样率,这样他们可以组合创建一个聚合波形。

组件的航母数量和带宽

一个向量NDLRB指定资源块的数量为每个组件(RBs)载体(CC)。这个向量的长度对应于CCs的数量。的元素NDLRB必须在集合{6日,15日,25、50、75、100}苏格兰皇家银行。表5.6 TS 36.101。1 - 1 (1)列出了载波聚合带宽的有效组合。

%配置组NDLRB值来描述运营商%聚合NDLRB = (50 75 100);%建立组件的航空公司的数量numCC =元素个数(NDLRB);如果numCC < 2错误(“请指定超过一个CC带宽值。);结束

组件载波配置

为每个CC使用生成一个配置结构lteRMCDL。所有的配置结构CCs存储单元阵列。

%配置子帧生成的数量numSubframes = 10;% CC配置enb =细胞(1、numCC);我= 1:numCC开关NDLRB(我)情况下6 enb{我}= lteRMCDL (“R.4”);情况下15 enb{我}= lteRMCDL (“R.5”);情况下25 enb{我}= lteRMCDL (“R.6”);情况下50 enb{我}= lteRMCDL (“R.7”);情况下75年enb{我}= lteRMCDL (“R.8”);情况下100年enb{我}= lteRMCDL (“R.9”);否则流(”不是一个有效的资源块:% d \ n ',NDLRB (i));返回结束enb {}。NDLRB= NDLRB(i); enb{i}.Bandwidth = hNRBToBandwidth(NDLRB(i)); enb{i}.TotSubframes = numSubframes; enb{i}.PDSCH.PRBSet = (0:enb{i}.NDLRB-1).'; enb{i}.PDSCH.RVSeq = 0; enb{i}.NCellID = 10;结束

信道估计配置

信道估计在接收端使用结构参数化cec下面的定义。

cec =结构;%信道估计配置结构cec。PilotAverage =“UserDefined”;%的试点,平均象征cec。FreqWindow = 15;%频率窗口大小cec。TimeWindow = 15;%的时间窗口大小cec。InterpType =“立方”;% 2 d插值类型cec。InterpWindow =“中心”;%插值窗口类型cec。InterpWinSize = 1;%插值窗口大小

载波聚合参数计算

执行载波聚合TS 36.101中描述的频率参数,章节5.6和5.7 (1)计算。总结了这些参数如下图所示。

这导致三个变量:

  • F_c是一个向量包含每个CC的中心频率吗

  • ccSpacing包含间距CC MHz

  • BW_channel_CA是所有CCs的聚合通道带宽

在以下代码中,我们首先计算值CCs假设下的一个是集中在基带(0赫兹)。一旦BW_channel_CA计算所有值转移聚合带宽的中心位于基带(0赫兹)。

%为名义保护带和定义Delta_f1参数MHz的频率%偏移量的计算。在下行Delta_f1副载波间距% (TS 36.101,表5.6 a - 1)Delta_f1 = 0.015;%在兆赫,LTE副载波间距MHzmaxBW = hNRBToBandwidth (max (NDLRB));numCC F_c = 0 (1);numCC-1 ccSpacing = 0 (1);% CC间距%计算名义保护带,TS 36.101 - 5.6 a - 1nominalGuardBand = 0.05 * maxbw - 0.5 * Delta_f1;%最初假设降低载波频率在基带F_c (1) = 0;%计算CC间距和载体值k = 2: numCC ccSpacing (k - 1) = hCarrierAggregationChannelSpacing (enb {k - 1}。带宽,enb {k} .Bandwidth);F_c (k) = F_c (k - 1) + ccSpacing (k - 1);结束%计算低和更高的频率偏移,TS 36.101 - 5.6F_offset_low = (0.18 * NDLRB (1) + Delta_f1) / 2 + nominalGuardBand;F_offset_high = (0.18 * NDLRB(结束)+ Delta_f1) / 2 + nominalGuardBand;%计算低和高频率边缘,TS 36.101 - 5.6F_edge_low = F_c (1) - F_offset_low;F_edge_high = F_c(结束)+ F_offset_high;%计算聚合通道带宽,TS 36.101 - 5.6BW_channel_CA = F_edge_high - F_edge_low;流(“BW_channel_CA: f % 0.4 MHz \ n”,BW_channel_CA);%计算转向中心基带shiftToCenter = 1 * (BW_channel_CA / 2 + F_edge_low);集中在基带%聚合带宽F_c = F_c + shiftToCenter;F_edge_low = F_c (1) - F_offset_low;F_edge_high = F_c(结束)+ F_offset_high;%显示频带边缘流(“F_edge_low: f % 0.4 MHz \ n”,F_edge_low);流(“F_edge_high: f % 0.4 MHz \ n”,F_edge_high);流(“F_offset_low: f % 0.4 MHz \ n”,F_offset_low);流(“F_offset_high: f % 0.4 MHz \ n”,F_offset_high);%显示载波频率流(' \ n ');i = 1: numCC流(“分量载波% d: \ n”,我);流(舰队指挥官:f % 0.4 MHz \ n的F_c(我));结束
BW_channel_CA: 44.6000 MHz F_edge_low: -22.3000 MHz F_edge_high: 22.3000 MHz F_offset_low: 5.5000 MHz F_offset_high: 10.0000 MHz分量载波1:Fc: -16.8000 MHz分量载波2:Fc: -4.8000 MHz分量载波3:Fc: 12.3000 MHz

需要过采样率计算

为每个组件所需的过采样因素osr计算为一个共同聚合的信号采样率。

%的带宽利用率为85%bwfraction = 0.85;%计算组件运营商的采样率numCC CCSR = 0 (1);i = 1: numCC信息= lteOFDMInfo (enb{我});CCSR (i) = info.SamplingRate;结束%计算聚合整体采样率信号%计算过采样率(最大的BW CC)确保占总数的%信号占85% (bwfraction)带宽OSR = (BW_channel_CA / bwfraction) / (max (CCSR) / 1 e6);%,以简化重采样操作选择的过采样率%是2的乘方:计算下一两个以上OSR的力量OSR = 2 ^装天花板(log2 (OSR));SR = OSR *马克斯(CCSR);流(女士' \ nOutput采样率:% 0.4 f / s \ n \ n”1、SR / e6);%计算单个组件的过采样因素运营商老osr = / CCSR;
输出采样率:61.4400 Ms / s

波形生成和载波聚合

lteRMCDLTool用于生成波形为每个CC。每个人都是一个常见的采样率重新取样。最后,多波段组合器用于频率调节每个CC到适当的中心频率,并将它们添加在一起,形成聚合的信号。

%生成组件运营商tx =细胞(1、numCC);i = 1: numCC tx{我}= lteRMCDLTool (enb{},兰迪([0,1],1000,1));tx{我}=重新取样(tx {}, osr(我),1)/ osr(我);结束%聚合所有CC. comm.MultibandCombiner适用频率偏移量%并添加一起产生的信号。sigAggregator = comm.MultibandCombiner (InputSampleRate =老,e6 FrequencyOffsets = F_c * 1,OutputSampleRateSource =“属性”,OutputSampleRate = SR);波形= sigAggregator ((tx {:}));

情节载波聚合波形频谱

载波聚合信号的功率谱显示使用hPlotSpectrum.m。在光谱中各个载波带宽是可见的。注意,聚合带宽的中心位于基带(0 Hz),即在本例中,没有调制射频信号。

specPlot = hPlotSpectrum(波形、SR、载波聚合的功率谱,{信号频谱的});

感兴趣的解调和过滤的CC

本节解调,过滤器和downsamples CCs之一。接下来的步骤是:

  • 解调的CC兴趣和基带(0赫兹)。

  • 过滤掉邻国CCs和downsample。一个合适的滤波器是为了消除不必要的邻近CCs将采样过程。滤波器的设计会影响恢复信号的质量和维生素。过滤器可能需要调整不同的带宽和CC值解调。

我们开始通过选择CC解调和设计适当的将采样滤波器。通带和阻带频率计算。

%选择CC解调CCofInterest = 1;如果CCofInterest > numCC | | CCofInterest < = 0错误(”无法解调CC % d,有% d CCs \ n ',CCofInterest numCC);结束%定义将采样滤波器秩序filterOrder = 201;% Precalculate通带和阻带所有CC值firPassbandVec = (0.18 * NDLRB + Delta_f1) / 2 / (SR / 1 e6/2);firStopbandVec = hCarrierAggregationStopband (ccSpacing NDLRB, SR);%定义通带和阻带载体的兴趣firPassband = firPassbandVec (CCofInterest);firStopband = firStopbandVec (CCofInterest);%提取和解码CC的兴趣流(1,“提取CC % d: \ n”,CCofInterest);%垫与零信号,考虑滤波器的瞬态响应%的长度波形=[波形;0 (filterOrder + 1、大小(波形,2)));%解调载波的兴趣demodulatedCC =hCarrierAggregationModulate(波形、SR、-F_c (CCofInterest) * 1 e6);%将采样是在两个阶段完成,如果过滤器太窄。这%简化了滤波器设计要求。如果这是一个初始的情况%将采样因子4。你可能想要考虑不同%滤波器设计在这个初期如果结果的质量%信号是不能接受的。如果(firStopband < 0.1)% Down-sample除以4SRC = 4;demodulatedCC =重新取样(demodulatedCC 1 SRC);%更新传递和阻带考虑首先将采样firPassband = firPassband * SRC;firStopband = firStopband * SRC;其他的%不预滤器SRC = 1;结束%设计低通滤波器过滤掉CC的兴趣frEdges = [0 firPassband firStopband 1];firFilter = dsp.FIRFilter;firFilter。分子= firpm (filterOrder、frEdges [1 1 0 0]);
提取CC数字1:

显示设计滤波器的响应。

fvtool (firFilter“分析”,“频率”);

解调波形然后过滤提取感兴趣的CC。的光谱解调前后的波形绘制过滤。

%过滤信号提取感兴趣的组件rxWaveform = firFilter (demodulatedCC);%画出解调和过滤后的光谱信号filteredSpecPlot =hPlotSpectrum ([demodulatedCC rxWaveform],老“解调和过滤后的波形功率谱”,{“载波聚合信号”“过滤信号”});

此时可以将过滤后的波形downsampled基带率。

rxWaveform = downsample (rxWaveform osr (CCofInterest) / SRC);

同步

同步应用于产生的信号。

% CC感兴趣的参数eNodeB = enb {CCofInterest};PDSCH = eNodeB.PDSCH;%同步接收波形抵消= lteDLFrameOffset (eNodeB rxWaveform);rxWaveform = rxWaveform(1 +抵消:最终,);

维生素与测量和PDSCH解码

下面的代码提供了每个子帧和平均维生素与测量。情节与维生素和时间、资源块和副载波也显示出来。

的PDSCH恢复信号解码并生成的CRC检查错误。

%为维生素与信道估计结构测量cecEVM = cec;cecEVM。PilotAverage =“TestEVM”;[evmmeas,情节]= hPDSCHEVM (enb {CCofInterest}, cecEVM, rxWaveform);% OFDM解调rxGrid = lteOFDMDemodulate (eNodeB rxWaveform);%的数量获得每个子帧子帧和OFDM符号= lteOFDMInfo dim (eNodeB);samplesPerSubframe = dims.SamplingRate / 1000;nRxSubframes =地板(大小(rxWaveform 1) / samplesPerSubframe);eNodeB。TotSubframes = 1;resGridSize = lteResourceGridSize (eNodeB);L = resGridSize (2);disp (传播子帧,并检查CRC解码。);n = 0: nRxSubframes-1%提取子帧rxSubframe = rxGrid (:, (1: L) + (n * L):);%当前子帧传输块大小eNodeB。NSubframe = n;trBlkSize = PDSCH.TrBlkSizes (n + 1);%信道估计[estChannelGrid,噪音]= lteDLChannelEstimate (eNodeB、cec rxSubframe);%执行deprecoding层demapping解调和descrambling%接收的数据使用信道估计[rxEncodedBits, pdschsymbols] = ltePDSCHDecode (eNodeB PDSCH,rxSubframe * (10 ^ (-PDSCH.Rho / 20)), estChannelGrid,噪音);%下行共享信道解码(DL-SCH)(decbits, crc) =lteDLSCHDecode (eNodeB PDSCH、trBlkSize rxEncodedBits {1});如果crc disp ([“子帧”num2str (n)“:CRC失败”]);其他的disp ([“子帧”num2str (n):CRC传递的]);结束结束
低维生素,子帧0:0.647%高维生素,子帧0:0.629%低维生素,子帧1:0.682%高维生素,子帧1:0.650%低维生素,子帧2:0.680%高维生素,子帧2:0.676%低维生素,子帧3:0.676%高维生素,子帧3:0.641%低维生素,子帧4:0.640%高维生素,子帧4:0.648%低维生素,子帧6:0.698%高维生素,子帧6:0.642%低维生素,子帧7:0.645%高维生素,子帧7:0.649%低维生素,子帧8:0.700%高维生素,子帧8:0.647%低维生素,子帧9:0.694%高维生素,子帧9:0.685%平均低维生素,帧0:0.674%平均高维生素,0:帧平均0.652%维生素与帧0:0.674%平均总体维生素:0.674% CRC解码传播子帧和检查。子帧0:CRC通过子帧1:CRC通过子帧2:CRC通过子帧3:CRC通过子帧4:CRC通过子帧5:CRC通过子帧6:CRC通过子帧7:CRC通过子帧8:CRC通过子帧9:CRC过去了

参考书目

  1. 3 gpp TS 36.101”用户设备(UE)无线电发射和接受“