主要内容

LTE-M下行波形生成

这个例子展示了如何创建一个下行LTE-M传动组成的矿渣MTC物理下行控制信道(MPDCCH)以及相关的物理下行共享信道(PDSCH)和物理广播信道(PBCH),包括重复和跳频。预发布13设备相比,Cat-M设备提供更低的成本和复杂性,引入增强报道的重复和扩展DRX进一步节电。

介绍

LTE-M LTE标准的引入增加了专门针对手写体的支持通信(MTC)。金宝app从Cat-0设备释放12,这是进一步扩展,后续版本中定义一个单独的Cat-M类设备。两类已经被添加到LTE, Cat-M1发布13(通过eMTC工作项)其次是Cat-M2发布14 (feMTC)。

有两种覆盖增强Cat-M设备(CE)的操作模式(也称为提单/ CE问题在3 gpp标准文档),CE模式和CE模式B . CE模式目标适度覆盖增强高达32重复而CE模式B目标广泛覆盖增强与2048重复的数据通道。CE模式是通过DCI表示格式6-0A / 6-1A消息和CE模式B通过6-0B / 6-1B消息。MPDCCH处理链,DM-RS创建和映射是几乎相同的增强物理下行控制信道(EPDCCH),加上新增的重复和跳频的行为。这个例子具体使用LTE工具箱™EPDCCH功能实现MPDCCH模型。LTE-M数据通道是LTE PDSCH添加重复和跳频。LTE-M广播通道由两部分组成;相对应的“核心”部分LTE PBCH LTE-M特定的“重复”部分的符号和RS细胞信号的“核心”部分是重复的。

LTE-M可以在标准部署LTE细胞,因此并不是所有的子帧必然是用于提单/ CE传播。提单/ CE子帧由位图表示发送MIB-M消息中(类似于NB-IoT机制)。为简单起见,在这个例子中,我们假设所有的子帧定义提单/ CE。MPDCCH / PDSCH起始OFDM符号LTE-M传输是特异性和播放系统中信息(SI)。

这个MATLAB®的例子的主要输出是一个multi-subframe Cat-M1 / Cat-M2资源网格包含MPDCCH资源元素(RE), DM-RS有关,在LTE-M PDSCH REs, PBCH REs(“核心”和“重复”部分连同相应的细胞参考信号)和其他参考信号配置完整的传输顺序。这个网格也是OFDM调制生成时域基带波形有关。情节提供可视化的创建网格中的重新分配和基带信号的大小。

LTE-M物理层的概念

  • 重复,使显著延长LTE-M设备,重复MPDCCH, PDSCH和介绍了PBCH Cat-M设备发布13。这将至少提供15分贝在预发布13设备性能改善。MPDCCH最多可以重复了256次,PDSCH 2048和PBCH 5包括“核心”的部分。

  • 窄带。LTE-M使用窄带的概念来分配副载波的宽带LTE载体数据和控制通道。每个窄带由连续6 PRBs但不是所有伪随机位序列必然是窄带的一部分(依赖于整个航母BW)。

  • 宽带,发布14 LTE-M使用宽带的概念来分配更高的带宽的数据通道。可以有一个或多个宽带,每个组成的4窄带或一个宽带由1、2或3窄带。在CE Cat-M2设备配置模式(DCI格式6-1A),在单个宽带数据传输通道ce-pdsch-maxBandwidth-config设置为5 mhz或资源块分配国旗设置为1或跨整个LTE载波带宽通过一个篮板的位图资源块分配国旗设置为0。的资源块分配国旗只是现在的如果ce-pdsch-maxBandwidth-config设置为20 mhz。在CE Cat-M2设备配置模式B (DCI格式6-1B),在单个宽带数据传输通道ce-pdsch-maxBandwidth-config设置为5 mhz 4宽带如果ce-pdsch-maxBandwidth-config设置为20 mhz。

  • 跳频-虽然发布13 eMTC装置的瞬时带宽为1.4 mhz(最简单的LTE-M设备最大带宽为1.4 mhz),它可以访问更广泛的LTE通过不同的子帧之间的窄带载波。如果传输涉及到重复多个子帧,可选inter-subframe可以应用跳频。不同的窄带和之间的跳频发生1到16块子帧根据CE模式。跳跃的块长度和跳跃抵消特异性参数。在下行,对于控制和数据,可以将跳频/ 2窄带或4等距的窄带。

PDSCH物理层处理和程序

LTE-M数据传输使用相同的物理信道(PDSCH)在LTE。不同的是,然而LTE-M支持可选的重复和跳频。

  • 传输模式,有效的传播模式为PDSCH LTE-M 1(单天线),2(发射分集),6(基于闭环电报密码本的预编码)和9 (non-codebook预编码为基础,单层)。传输模式6在CE模式下只支持一个,而1、2和9都支持这个金宝app模式和CE模式b与LTE PDSCH不同,多输入多输出(MIMO)操作不支持在LTE-M因为大多数LTE-M设备预计将低成本设备用一个接收天线。

  • 重复和不规则块-PDSCH传播NRepPDSCH连续(> = 1)提单/ CE下行子帧。这些NRepPDSCH子帧传输块Nacc子帧(见TS 36.211 b 6.8节。2 (1])和加扰序列应用到所有的子帧块。Nacc可以在FDD 1或4双工模式和1或10 TDD双工模式。可以有多达32重复在CE模式和CE 2048重复模式b PDSCH重复的数量由semi-static配置和定义动态选择特定的传播。

  • 窄带和宽带伪随机位序列用于LTE-M PDSCH传输必须属于窄带(s)(如果Cat-M2宽带(s))。Cat-M1设备有一个瞬时窄带传输带宽为1.4 mhz。Cat-M2设备5 mhz或20 mhz的带宽越高表明层参数ce-pdsch-maxBandwidth-config,在这种情况下,PDSCH传输可以在宽带(s)每个宽带由4重叠的窄带。

  • 跳频-如果PDSCH重复多个子帧,inter-subframe跳频可以选择性地应用的跳跃产生的子帧块长度1,2,4,8为设备在CE模式和2、4、8、16在CE模式b跳跃块长度和跳跃抵消特异性参数。跳频可以除以2窄带或4等距的窄带。苏格兰皇家银行(RBs)的相对位置携带PDSCH在每个跳跃窄带是相同的。

MPDCCH物理层处理和程序

MPDCCH携带LTE-M下行控制信息(DCI)。MPDCCH和相应的解调参考信号(DM-RS)在一个或多个传输端口的设置(107108109110)。物理层处理阶段和运营的MPDCCH EPDCCH非常相似,差异是重复,可选的跳频和加扰是如何应用的。

  • 重复和不规则块-MPDCCH传播使用一个聚合的一个或多个连续增强控制通道(ecc)的元素NRepMPDCCH连续(> = 1)提单/ CE下行子帧。这些NRepMPDCCH子帧传输块Nacc子帧(见TS 36.211 b 6.8节。2 (1])和加扰序列应用到所有的子帧块。作为一个例子,MPDCCH与P-RNTI无关或与CE SC-RNTI和配置模式,Nacc= 1 b TS 36.211 6.8节所述。2 (1]因此,纷纷被初始化,每个提单/ CE子帧,如EPDCCH的情况。Nacc可以在FDD 1或4双工模式和1或10 TDD双工模式。MPDCCH重复的数量由semi-static配置和定义动态选择特定的传播。网络semi-statically配置最大重复征求从一组(1、2、4、8、16、32、64128256)然后动态选择实际的重复特定传输从集合(征求征求/ 2,征求/ 4,征求/ 8)。

  • 窄带。MPDCCH传播在2、4或6苏格兰皇家银行在一个窄带在每个子帧。MPDCCH复审委员会设置由ecc编号从0…N 'ECCEpk N 'ECCEpk MPDCCH-PRB-set p的ecc的子帧k。ecc的数量用于一个MPDCCH由TS 36.211表6.8给出。1 - 2 (1]为2或4 PRBs如果没有重复配置和表6.8 b。所有其他情况下1 - 2。

  • 跳频-如果MPDCCH重复多个子帧,inter-subframe跳频可以选择性地应用的跳跃产生的子帧块长度1,2,4,8为设备在CE模式和2、4、8、16在CE模式b跳跃块长度和跳跃抵消特异性参数。跳频可以除以2窄带或4等距的窄带。苏格兰皇家银行(RBs)的相对位置携带MPDCCH在每个跳跃窄带是相同的。

PBCH物理层处理和程序

类似于PDSCH, LTE-M使用相同的物理广播频道(PBCH)在LTE,但可选的重复。

  • 核心PBCH和非核心PBCH -LTE-M PBCH分为两部分;正常的“核心”PBCH LTE PBCH和传播与40毫秒每一帧的第一子帧周期。非核心部分是LTE-M特定的重复,“核心”PBCH符号重复5次根据双工模式和循环前缀长度。

  • 重复,PBCH重复发生在前框架和子帧子帧9 0当前广播帧的FDD如表6.6.4-1[由TS 36.2111]。TDD的重复出现在子帧0和5一样的广播帧6.6.4-2给出的表。核心部分的副载波保持不变和重复。注意与核心部分,PBCH重复不应该映射到REs CSI所使用的参考信号。根据定义的重复是双工模式和循环前缀长度。对于FDD,所有PBCH核心符号重复4次如果正常循环前缀和3次扩展循环前缀。TDD,如果延长循环前缀,所有符号都重复3次。TDD和正常循环前缀,PBCH核心0和1的重复5次和符号象征2和3重复3次。

仿真设置

这个例子中分为以下步骤:

  • 配置仿真参数(它和MPDCCH / PDSCH具体)

  • 创建和编码DCI MPDCCH消息有效负载的传输

  • 创建和编码DL-SCH载荷PDSCH传输

  • 生成的符号MPDCCH子帧序列和DM-RS,并将它们映射到资源multi-subframe资源网格的元素

  • 生成的符号LTE-M PDSCH子帧序列,将它们映射到资源multi-subframe资源网格的元素

  • 生成的符号LTE-M PBCH子帧序列,将它们映射到资源multi-subframe资源网格的元素

  • CP-OFDM灯适用于最终网格创建相关的基带波形

  • 土地资源网格和时间序列的波形显示

在第一节中,我们指定仿真参数在后面的部分用于DCI, MPDCCH和DM-RS创建。这个例子使用一个LTE FDD载体与5 mhz带宽和正常循环前缀。结构中包含的单元范围的设置enb,MPDCCH特定结构中包含的参数mpdcch和PDSCH特定结构中包含的参数pdsch

enb =结构();enb。NDLRB = 25;% LTE BW载体enb。NCellID = 1;%细胞IDenb。CellRefP = 1;%的特异性港口enb。CFI = 3;% CFI指示器enb。DuplexMode =“FDD”;%双工模式enb。TDDConfig = 1;%上行/下行配置(TDD)enb。CyclicPrefix =“正常”;%循环前缀长度enb。NSubframe = 0;%子帧数enb。NFrame = 0;%帧数enb。CSIRSPeriod =“关闭”;% CSI-RS周期控制enb。CSIRSConfig = 0;% CSI-RS配置enb。CSIRefP = enb.CellRefP;% CSI-RS天线端口的数量enb。ZeroPowerCSIRSPeriod =“关闭”;%零功率控制CSI-RS时期enb。ZeroPowerCSIRSConfig = 0;%零功率CSI-RS配置enb。Ng =“六”;%脑出血组乘数enb。PHICHDuration =“扩展”;% PHICH持续时间%建立跳跃具体参数enb。HoppingOffset = 1;%跳跃抵消1…maxAvailableNarrowbands (TS 36.331)enb。NChDLNBhop = 2;%的数量的窄带MPDCCH / PDSCH啤酒花(2 - 4)enb。NChDLNB = 2;%的子帧跳一跳/块长度
% MPDCCH配置mpdcch =结构();mpdcch。跳= true;%启用/禁用跳频(仅为1.4 mhz)mpdcch。NRepMPDCCH = 8;% MPDCCH重复的总数mpdcch。EPDCCHECCE = [0 7];%瞧范围用于此MPDCCH(8瞧)mpdcch。EPDCCHType =“本地化”;%传输类型(“本地化”、“分布式”)mpdcch。EPDCCHNID = 1;%细胞根据ID / MPDCCH ID搜索空间类型mpdcch。EPDCCHStart = 4;在每个子帧% MPDCCH开始OFDM符号mpdcch。RNTI = 1;% RNTI使用“本地化”的传播

MPDCCH分配- - - - - -(初始)的伪随机位序列用于MPDCCH传输是由一个向量的定义基于复审委员会索引指定的绝对位置在宽带载波审查委员。这些伪随机位序列应该属于一个有效的窄带。如果MPDCCH跳频是禁用的,伪随机位序列的MPDCCH候选人总是会传播“InitPRBSet”指定的参数。MPDCCH如果启用了跳频,一个MPDCCH候选人将在相同的相对位置伪随机位序列传播,但在不同的窄带TS 36.211 6.8节b.5中定义。使用的5 mhz LTE载体在这个例子中,有四个窄带的TS 36.211节6.2.7 [1]。第一个窄带PRBs 0…5,第二PRBs 6…11, third has PRBs 13...18 and the fourth has PRBs 19...24. All other PRBs within the 5MHz band fall outside the narrowbands and cannot be used for LTE-M transmission. In this example, we use MPDCCH format 2, where 8 ECCEs are used for the MPDCCH transmission. Each PRB slot pair consists of 4 ECCEs therefore we need to define a minimum allocation of 2 PRB. In this example, we select the 3rd and 4th PRBs in the first narrowband

mpdcch。InitPRBSet = (2:3) ';mpdcch。InitNSubframe = 0;%绝对子帧的数量第一次MPDCCH子帧
% PDSCH配置pdsch =结构();pdsch。跳= true;%启用/禁用跳频(仅为1.4 mhz)pdsch。NRepPDSCH = 16;% PDSCH重复的总数pdsch。CEMode =“一个”;%为CE CE模式A和B模式Bpdsch。TxScheme =“Port0”;%端口0 TxDiversity或空间Mux端口7pdsch。调制=“正交相移编码”;%调制方案(正交相移编码/ 16 qam)pdsch。NLayers = 1;%的层数pdsch。房车= 0;% DL-SCH处理冗余版本pdsch。RNTI = 1;% RNTI用于问题pdsch。NSCID = 0;%匆忙身份pdsch。TrBlkSizes = 100;%的传输块大小

PDSCH分配- - - - - -复审委员会分配灵活的CE模式(暗示通过DCI格式6-1A)和固定在CE模式B(暗示通过DCI格式6-1B)。在这个模式下,配置可以在1到6伪随机位序列在一个或多个窄带所定义的资源分配2型或通过资源分配整个LTE载波带宽类型0。CE模式B,横跨整个6伪随机位序列或分配的第一个4 PRBs窄带(s)配置。对于Cat-M1设备,在一个窄带传输。Cat-M2设备,如果层参数越高ce-pdsch-maxBandwidth-config设置为20 mhz CE模式B,传输可以跨多个窄带和整体分配最多可达到96伪随机位序列(分为宽带,每个宽带由4窄带)。使用的宽带是通过宽带信号组合索引字段DCI TS 36.213中描述表7.1.6-2 [3]。如果ce-pdsch-maxBandwidth-config设置为5 mhz,传播发生在一个宽带由1、2、3或4窄带根据LTE载波带宽(NDLRB)。

在这个示例中,我们指定分配使用InitPRBSet参数和InitNarrowbandIndex。如果跳频是禁用的,LTE-M PDSCH总是会传播在指定的伪随机位序列InitPRBSetInitNarrowbandIndex参数。如果启用了跳频,将传播PDSCH伪随机位序列的相对位置相同,但在不同的窄带TS 36.211节中定义6.4.1 [1]。如果分配横跨多个窄带或一个或多个宽带InitNarrowbandIndex应该是一个向量指定组成窄带指数。作为一个例子,如果ce-pdsch-maxBandwidth-config是20 mhz LTE-M传输是在20 mhz LTE载体,有4个宽带(0,1,2,3)可用于LTE-M PDSCH与相应的窄带传输指标{(0 1 2 3)(4 5 6 7)(8 9 10 11)(12 13 14 15)}。如果宽带2 & 3所需的配置,然后InitNarrowbandIndex必须将[8 9 10 11 12 13 14 15]。

pdsch。InitPRBSet = (1:2) ';%基于复审委员会指数pdsch。InitNarrowbandIndex = 0;%基于宽带指数%在这个例子中,我们关闭跳频传输结束后2%以上的窄带如果元素个数(pdsch.InitNarrowbandIndex) > 1 pdsch。跳= false;mpdcch。跳= false;结束

启用或禁用PBCH重复

enb。RepPBCHEnable = true;%为MPDCCH指定扩展在dB, MPDCCH DM-RS, PDSCH和%的参考信号(RS细胞或DM-RS)mpdcch。MPDCCHPower = 30;mpdcch。MPDCCHDMRSPower = 32;pdsch。ρ= 25;pdsch。RSPower = 80;%功率对PBCH核心和代表部分enb。PBCHPower = 33;enb。PBCHRepsPower = 36;%对PBCH细胞RS代表功率enb。PBCHCellRSRepsPower = 28;

总子帧来模拟(下行子帧都是提单/ CE子帧)和MPDCCH PDSCH传播没有任何子窗体的缺口

totmtcSubframes = mpdcch.InitNSubframe + mpdcch.NRepMPDCCH + 2 + pdsch.NRepPDSCH;%识别所有下行帧的子帧信息= arrayfun (@ (x) lteDuplexingInfo (setfield (enb,“NSubframe”,x)), 0:9);dlsfs = arrayfun (@ (x) strcmpi (x.SubframeType,“下行”),信息);%总绝对的子帧来模拟sfsnumlastFrame = getlastabsSF (dlsfs totmtcSubframes);totSubframes =地板(totmtcSubframes /笔(dlsfs)) * 10 + sfsnumlastFrame;%绝对子帧的数量第一次PDSCH子帧,这将是两个%子帧后MPDCCH子帧(假设没有非提单/ CE子帧)lastSfForMPDCCHPlus2 = getlastabsSF (dlsfs mpdcch。NRepMPDCCH + 2);%最后子帧数MPDCCH + 2的最后一帧pdsch。InitNSubframe = mpdcch。((mpdcch InitNSubframe +地板。NRepMPDCCH+ 2)/sum(dlsfs)) *10 + lastSfForMPDCCHPlus2;%为MPDCCH找到最后一个绝对的子帧传输lastSfForMPDCCH = getlastabsSF (dlsfs mpdcch.NRepMPDCCH);%最后子帧MPDCCH最后一帧的数量mtclastabsSfForMPDCCH = mpdcch。((mpdcch InitNSubframe +地板。NRepMPDCCH)/sum(dlsfs)) *10 + lastSfForMPDCCH;

DCI消息编码

位向量dciBits传递给函数lteDCIEncode执行CRC掩蔽和插入tail-biting卷积编码和匹配率,TS 36.212部分5.3.3.2 5.3.3.4。请注意,第三个参数lteDCIEncode指定的速度匹配输出尺寸等于MPDCCH子帧数据位的能力。这里我们使用一个虚拟的26位DCI消息的,对应于DCI格式6-1A 5.3.3.1.12 TS 36.212中指定的信息部分。

%找到MPDCCH数据位能力[~,信息]= lteEPDCCHIndices (enb setfield (mpdcch,“EPDCCHPRBSet”mpdcch.InitPRBSet));% #好< SFLD >%定义DCI消息碎片dciBits = 1(26日1);% DCI创建编码比特codedDciBits = lteDCIEncode (mpdcch dciBits info.EPDCCHG);

DL-SCH编码

%找到LTE-M PDSCH数据能力,这应该不包括PBCH,% PSS,瑞士与CSI-RS研究》,所以我们选择子帧9 DL%子帧FDD和TDD双工模式(注:子帧9不DL% TDDConfig 0, TDDConfig 0没有“正常”DL子帧)fullPDSCHsf = 9;[~,fullInfo] = ltePDSCHIndices (setfield (enb,“NSubframe”fullPDSCHsf)、pdsch getPDSCHAllocation (enb pdsch));% #好< SFLD >%定义DL-SCH消息碎片trData = 1 (pdsch.TrBlkSizes (1), 1);%创建编码DL-SCH碎片codedTrBlock = lteDLSCH (enb pdsch、fullInfo.G trData);

MPDCCH代

在这个例子中,我们使用局部类型与MPDCCH格式2和2伪随机位序列。MPDCCH 2或4伪随机位序列,没有重复使用相同的格式表作为EPDCCH (TS 36.211表6.8 a.1-2)。对于所有其他情况下,格式是由表6.8 b.1-2 TS 36.211。也与CE模式,没有重复,所有LTE-M子帧,纷纷被初始化,每个子帧EPDCCH和cinit都是一样的(因为Nacc= 1CEmodeANabsMPDCCH= 1)。所有其他的处理阶段即符号调制、层映射,预编码和映射到资源对于EPDCCH和MPDCCH元素是相同的。因此,我们使用EPDCCH功能生成MPDCCH符号和指数。

%的子帧数块Nacc = 1;如果strcmpi (enb.DuplexMode“FDD”)& & mpdcch。NRepMPDCCH>= 4 Nacc = 4;elseifstrcmpi (enb.DuplexMode“TDD”)& & mpdcch。NRepMPDCCH>= 10 Nacc = 10;结束%创建资源网格对整个传输。MPDCCH PDSCH和% DM-RS符号将在这个数组映射。注意,我们正在创造的%为4天线平面网格MPDCCH传输端口上可以发送%从集合中选择(107、108、109和110年)subframeSize = lteDLResourceGridSize (enb 4);sfgrid = 0 ([subframeSize (1) subframeSize (2) * totSubframes subframeSize(3:结束)]);mpdcchSym = [];%初始化MPDCCH符号mpdschSym = [];%初始化PDSCH符号mpbchCoreSymFull = [];%初始化PBCH符号startSubframe = enb.NFrame * 10 + enb.NSubframe;%初始绝对子帧数科幻小说= startSubframe + (0: totSubframes 1)
%设置当前绝对子帧和帧数enb。NSubframe = mod(科幻,10);enb。NFrame =地板((sf) / 10);%如果这不是一个下行子帧跳过处理duplexInfo = lteDuplexingInfo (enb);如果~ strcmpi (duplexInfo.SubframeType“下行”)继续结束%将MPDCCH如果(科幻> = mpdcch.InitNSubframe) & &(科幻小说< mtclastabsSfForMPDCCH)%计算PRBSet用于当前的子帧prbset = getHoppingAllocation (enb mpdcch);%计算MPDCCH指数当前的子帧mpdcch。EPDCCHPRBSet = prbset;[mpdcchIndices,信息]= lteEPDCCHIndices (enb mpdcch);%创建一个空的子帧网格子帧= lteDLResourceGrid (enb 4);%从DCI MPDCCH符号编码码字%在重复的情况下,相同的符号是重复的%一块NRepMPDCCH子帧。跳频应用的要求如果~国防部(科幻,Nacc) | | isempty (mpdcchSym) mpdcchSym = lteEPDCCH (enb, mpdcch codedDciBits) * db2mag (mpdcch.MPDCCHPower);结束% MPDCCH符号映射到子帧网格子帧(mpdcchIndices) = mpdcchSym;%创建MPDCCH DM-RS% MPDCCH及其引用符号在同一传输%港口(s)和传播的伪随机位序列%相应MPDCCH映射。DM-RS序列是一样的%的EPDCCH TS 36.211节中给出的方程6.10.3AmpdcchDMRS = lteEPDCCHDMRS (enb mpdcch) * db2mag (mpdcch.MPDCCHDMRSPower);% MPDCCH DM-RS符号mpdcchDMRSIndices = lteEPDCCHDMRSIndices (enb mpdcch);% MPDCCH DM-RS指数子帧(mpdcchDMRSIndices) = mpdcchDMRS;% DM-RS信号映射到网格%现在当前的子帧分配到整体网格sfgrid (:, (1: subframeSize(2)) +科幻* subframeSize(2):) =子帧;结束

提单/ CE PDSCH一代

为LTE-M PDSCH、PBCH PSS, SSS和CSI-RS再保险位置计算的映射,但不是用于传输。这意味着速度匹配能力应该包括这些位置,但这些位置的符号不传播。所以我们创建相应的码字和穿刺相对应的符号相互矛盾的地方

如果(科幻> = pdsch.InitNSubframe)%计算PRBSet用于当前的子帧prbset = getPDSCHAllocation (enb pdsch);%计算PDSCH指数当前的子帧pdsch。PRBSet = PRBSet;mpdschIndices = ltePDSCHIndices (enb pdsch pdsch.PRBSet);%如果子帧包含PBCH, PSS,瑞士,CSI-RS或零功率% CSI-RS REs,那么我们需要穿刺相应的符号%的映射,但速度匹配的应该是完整的% PDSCH能力可能忽略了这些符号的存在。%这是通过设置子帧和TDDConfig(如果TDD模式)%的子帧包含没有PBCH, PSS和SSS和关闭% CSI-RS和ZP CSI-RS。的全套PDSCH指数%重新计算每个子帧时这些可以改变频率%跳跃enbTemp = enb;enbTemp。TDDConfig = 1;% TDDConfig 0没有完整PDSCH子帧enbTemp。NSubframe = fullPDSCHsf;%设置子帧完全PDSCH子帧enbTemp。CSIRSPeriod =“关闭”;% CSI-RS周期控制enbTemp。ZeroPowerCSIRSPeriod =“关闭”;%零功率控制CSI-RS时期mpdschIndicesFull = ltePDSCHIndices (enbTemp pdsch pdsch.PRBSet);[~,txmpdschIndicesPositions] =相交(mpdschIndicesFull mpdschIndices);%创建一个空的子帧网格子帧= lteDLResourceGrid (enb 4);% PDSCH符号编码码字%在重复的情况下,相同的符号是重复的%一块NRepPDSCH子帧。跳频应用的要求如果~国防部(科幻,Nacc) | | isempty (mpdschSym) mpdschSym = ltePDSCH (enb, pdsch codedTrBlock) * db2mag (pdsch.Rho);结束%穿刺PDSCH符号映射到子帧网格子帧(mpdschIndices) = mpdschSym (txmpdschIndicesPositions);%传输UE-specific参考信号(DM-RS)如果适用如果任何(strcmpi (pdsch.TxScheme, {“Port5”“Port7-8”“Port8”“Port7-14”}))ueRSIndices = lteDMRSIndices (enb pdsch);ueRSSymbols = lteDMRS (enb pdsch);子帧(ueRSIndices) = ueRSSymbols * db2mag (pdsch.RSPower);%符号映射到网格结束%现在当前的子帧分配到整体网格sfgrid (:, (1: subframeSize(2)) +科幻* subframeSize(2):) =子帧;结束

提单/ CE PBCH一代

PBCH象征REs资源的网格生成和映射。LTE-M PBCH由正常的LTE的“核心”部分和LTE-M特定的重复。核心PBCH符号只出现在第一子帧的周期性4帧。

子帧= sfgrid (:, (1: subframeSize(2)) +科幻* subframeSize (2):);如果(国防部(enb.NSubframe 10) = = 0)%如果第一个模拟框架或生成符号%时,国防部(NFrame 4) = 0;如果~国防部(enb.NFrame, 4) | | isempty (mpbchCoreSymFull) mpbchCoreSymFull = getMPBCHCore (enb);结束mpbchCoreIndices = ltePBCHIndices (enb, {“基于1”});%现在提取框架的核心部分mpbchCoreSym = mpbchCoreSymFull(:,国防部(enb.NFrame, 4) + 1);% PBCH核心符号映射到子帧子帧(mpbchCoreIndices) = mpbchCoreSym * db2mag (enb.PBCHPower);%现在当前的子帧分配到整体网格sfgrid (:, (1: subframeSize(2)) +科幻* subframeSize(2):) =子帧;%的细胞如果PBCH RS符号和指数被重复%的重复使[mpbchCoreCellRSSymbols, mpbchCoreCellRSIndices] = getPBCHCoreCellRS (enb);elseifenb。RepPBCHEnable & & strcmpi (enb.DuplexMode“FDD”)& & (mod (enb.NSubframe, 10) = = 9)%如果这是第九子帧在FDD模式中,然后创建的核心%符号和指数用于PBCH第二帧%在这个子帧重复enbNext = enb;enbNext。NSubframe = 0;enbNext。NFrame = enbNext.NFrame + 1;%推进到下一帧%如果当前帧包含最后PBCH块,然后我们需要%的新设置PBCH符号如果国防部(enb.NFrame 4) = = 3 mpbchCoreSymFull = getMPBCHCore (enbNext);结束%现在提取框架的核心部分mpbchCoreSym = mpbchCoreSymFull(:,国防部(enbNext.NFrame, 4) + 1);mpbchCoreIndices = ltePBCHIndices (enbNext, {“基于1”});[mpbchCoreCellRSSymbols, mpbchCoreCellRSIndices] = getPBCHCoreCellRS (enbNext);结束如果启用了% PBCH重复部分如果(enb.RepPBCHEnable)%得到PBCH重复重复PBCH符号的组成部分%和重复RS细胞信号和相应的指标[pbchrepSymbols, pbchrepIndices pbchCellRSrepSymbols pbchCellRSrepIndices] = getPBCHRep (mpbchCoreSym, enb mpbchCoreIndices, mpbchCoreCellRSSymbols, mpbchCoreCellRSIndices);% PBCH重复映射到网格子帧(pbchrepIndices) = pbchrepSymbols * db2mag (enb.PBCHRepsPower);%细胞RS重复映射到网格子帧(pbchCellRSrepIndices) = pbchCellRSrepSymbols * db2mag (enb.PBCHCellRSRepsPower);结束%现在当前的子帧分配到整体网格sfgrid (:, (1: subframeSize(2)) +科幻* subframeSize(2):) =子帧;
结束

创建时间域基带波形

创建时间域基带OFDM调制波形的网格资源。由此产生的矩阵有四列;其中一个将包含复杂的基带MPDCCH时域波形样本

波形= lteOFDMModulate (enb sfgrid);

情节网格和基带波形传播

绘制网格和时域基带波形。如果传输使用多个端口,只显示第一个端口。注意,资源网格图使用单个通道和信号的功率分配颜色资源元素。

%创建一个图像的整体资源网格%的阴谋所使用的端口MPDCCH连同所有其他渠道的第一个港口图我=图像(abs (sfgrid (:,:, info.EPDCCHPorts (1) + sfgrid (:,: 1)));提出= parula (64);colormap (im.Parent提出);轴xy;标题(sprintf (“LTE-M CEMode % s下行再保险网格(NRepMPDCCH = % d, NRepPDSCH = % d)”,mpdcch.NRepMPDCCH pdsch.CEMode pdsch.NRepPDSCH)包含(OFDM符号的)ylabel (副载波的)%创建传奇框来显示频道/信号类型与物有关重命名= {“MPDCCH”;“MPDCCH DRS”;“PDSCH”;“PBCH核心”;“PBCH代表”;“细胞RS代表”};clevels =圆(db2mag ([mpdcch。MPDCCHPower mpdcch。MPDCCHDMRSPower pdsch。ρenb。PBCHPower enb。PBCHRepsPower enb.PBCHCellRSRepsPower]));%如果使用DM-RS,包括在传奇如果任何(strcmpi (pdsch.TxScheme, {“Port5”“Port7-8”“Port8”“Port7-14”}))重命名{结束+ 1}=dmr的;clevels结束(+ 1)= pdsch.RSPower;结束N =元素个数(重命名);L =线((N), (N),“线宽”8);%生成线%根据提出设置颜色集(L, {“颜色”},mat2cell(提出(min (1 + clevels长度城市规划机构(cmap)),:), (1, N), 3));%根据提出设置颜色传奇(重命名{:});%创建单独的块控制/数据波形图绘制(abs(波形(:,info.EPDCCHPorts(1))))标题(MPDCCH时域波形的)包含(“样本”)ylabel (“振幅”)图绘制(abs(波形(:1)))标题(PBCH和PDSCH时域波形)包含(“样本”)ylabel (“振幅”)

本地函数

下面的本地函数中使用这个例子:

  • calcNarrowbandPRBSets——计算窄带和相关的伪随机位序列

  • getHoppingAllocation——计算子帧分配

  • getPDSCHAllocation——计算PDSCH分配

  • getPBCHCore——计算核心PBCH符号和指数

  • getPBCHCoreCellRS——计算核心PBCH符号和指数

  • getPBCHRep——计算PBCH重复的部分

选定的参考书目

  1. 3 gpp TS 36.211”物理通道和调制”

  2. 3 gpp TS 36.212“多路复用和信道编码”

  3. 3 gpp TS 36.213“物理层程序”

  4. 3 gpp TS 36.331”无线资源控制(RRC)协议规范”

  5. o . Liberg m·桑德博格Y.-P。王,j·伯格曼和j . (goldman Sachs)、移动互联网的东西:技术、标准和性能,爱思唯尔,2018年。

  6. 大肠Dahlman, . . s . Parkvall和J Skold教授4 g LTE-Advanced Pro和5 g的道路

本地函数

%计算宽带、窄带、PRBSets LTE载波带宽函数[prbsets, nNB nWB] = calcNarrowbandPRBSets (NDLRB)%窄带和宽带6.2.7(见36.211部分)NDLNB =地板(NDLRB / 6);nNB = 0: (NDLNB-1);%窄带如果NDLNB > = 4 NDLWB =地板(NDLNB / 4);其他的NDLWB = 1;结束nWB = 0: (NDLWB-1);%宽带%在窄带伪随机位序列2 = 0:5;ii0 =地板(NDLRB / 2) - 6 * (NDLNB / 2);prbsets = 0(6元素个数(nNB));nb = 1:元素个数(nNB)如果国防部(NDLRB, 2) & & nNB (nb) > = (NDLNB / 2) prbsets (:, nb) = 6 * (nNB (nb)) + ii0 + 2 + 1;其他的prbsets (:, nb) = 6 * (nNB (nb)) + ii0 + 2;结束结束结束%计算资源块分配跳跃窄带函数prbset = getHoppingAllocation (enb chs)%如果跳频是禁用的,分配与最初相同如果~ chs。跳跃prbset = chs.InitPRBSet;返回结束%跳跃窄带计算根据6.8节b.5 TS 36.211nNBi0ss = 0;%得到可能的窄带和PRBSets有关如果strcmpi (enb.DuplexMode“FDD”)idelta = 0;其他的idelta = enb.NChDLNB-2;结束j₀地板= ((chs.InitNSubframe + idelta) / enb.NChDLNB);%的窄带和相应的资源[prbsets, nNB] = calcNarrowbandPRBSets (enb.NDLRB);%计算子帧的窄带enb。NSubframe = enb.NFrame * 10 + enb.NSubframe;%得到绝对的子帧数nnBi =国防部(地板(nNBi0ss + (mod (((enb.NSubframe + idelta) / enb。NChDLNB - j₀), enb.NChDLNBhop)) * enb.HoppingOffset),元素个数(nNB));%计算PRBSet子帧,他们是在相同的苏格兰皇家银行%在窄带内[rbstartIndex, nbstartIndex] =找到(prbsets = = chs.InitPRBSet (1));[rbendIndex, nbendIndex] =找到(prbsets = = chs.InitPRBSet(结束));如果(isempty (rbstartIndex) | | isempty (rbendIndex)) | | (nbstartIndex ~ = nbendIndex)错误(“无效PRBSet指定,必须在单一的窄带的资源);结束prbset = prbsets (rbstartIndex: rbstartIndex +元素个数(chs.InitPRBSet) 1, nnBi + 1);结束%计算PDSCH分配函数prbset = getPDSCHAllocation (enb PDSCH)如果PDSCH.Hopping% Cat-M1模式与跳跃prbset = getHoppingAllocation (enb PDSCH);其他的%计算分配在窄带(s)[prbsets, nNB] = calcNarrowbandPRBSets (enb.NDLRB);%计算PRBSet子帧,他们是在相同的苏格兰皇家银行%在所有窄带rbstartIndex =国防部(找到(prbsets = = PDSCH.InitPRBSet (1) 1、6) + 1;rbendIndex =国防部(找到(prbsets = = PDSCH.InitPRBSet(结束))1,6)+ 1;如果isempty (rbstartIndex) | | isempty (rbendIndex)错误(“无效PRBSet指定,必须在窄带的资源);结束如果任何(PDSCH。InitNarrowbandIndex > max (nNB))错误(“无效InitNarrowbandIndex指定,必须从一组0…% d '马克斯(nNB));结束prbset = prbsets (rbstartIndex: rbendIndex PDSCH.InitNarrowbandIndex + 1);prbset = prbset (:);结束结束%计算细胞RS REs和符号对应的“核心”PBCH%的部分函数[pbchCoreCellRSSymbols, pbchCoreCellRSIndices] = getPBCHCoreCellRS (enb)%我们需要重复单元参考信号(k, l)内的地区NscRB = 12;k = -36 (enb.NDLRB * NscRB) / 2 + (0:71) + 1;基于%的全部可能PBCH副载波的位置如果strcmpi (enb.CyclicPrefix“正常”)NsymbDL = 7;其他的NsymbDL = 6;结束l = NsymbDL + (0:3) + 1;基于%的OFDM符号数字相对应的子帧PBCH核心部分%注意:细胞RS符号和指数可以抬起头来的%网格如果提供或可以创建如下所示cellRSIndices = lteCellRSIndices (enb);cellRSSymbols = lteCellRS (enb);rsgrid = lteDLResourceGrid (enb);rsgrid (cellRSIndices) = cellRSSymbols;%现在删除所有RS符号以外的核心PBCH乐队excludeSubs = setdiff (1: enb.NDLRB * NscRB k);excludeofdmSymbols = setdiff (1: NsymbDL * 2, l);%现在删除所有多余的位置rsgrid (:, excludeofdmSymbols:) = 0;rsgrid (excludeSubs,:,) = 0;%在网格是RS符号重复pbchCoreCellRSIndices =找到(rsgrid);pbchCoreCellRSSymbols = rsgrid (pbchCoreCellRSIndices);结束%计算PRBCH和细胞RS REs和符号对应%重复部分函数[pbchrepSymbols, pbchrepIndices pbchCellRSrepSymbols pbchCellRSrepIndices] = getPBCHRep (pbchCoreSymbols, enb pbchCoreIndices, pbchCoreCellRSSymbols, pbchCoreCellRSIndices) pbchrepIndices = [];pbchrepSymbols = [];symMappings = {};pbchCellRSrepIndices = [];pbchCellRSrepSymbols = [];%对FDD和TDD模式,没有重复如果NDLRB = 6如果enb.NDLRB = = 6返回结束%得到PBCH副载波的核心部分[pbchCoreSubcarriers、ofdmSymbols ~] = ind2sub (lteDLResourceGridSize (enb) pbchCoreIndices);%得到细胞的副载波RS核心部分[pbchCellRSCoreSubcarriers、ofdmSymbolsCellRS ~] = ind2sub (lteDLResourceGridSize (enb) pbchCoreCellRSIndices);% FDD代表只有在子帧9 (n - 1)帧和0(坐标系n)和TDD%代表0和5子帧的帧相同%得到的子帧符号数字代表进入如果strcmpi (enb.DuplexMode“FDD”)如果strcmpi (enb.CyclicPrefix“正常”)NsymbDL = 7;如果(国防部(enb.NSubframe 10) = = 0) symMappings = {5;12;13;14 [4]};elseif(国防部(enb.NSubframe 10) = = 9) symMappings = {(4 8 12);(5 9 13);(6 10 14);11 [7]};结束其他的NsymbDL = 6;如果(国防部(enb.NSubframe 10) = = 0) symMappings = {[];4;11;12};elseif(国防部(enb.NSubframe 10) = = 9) symMappings = {7 [4];8 [5];9 [6];11 [10]};结束结束其他的如果strcmpi (enb.CyclicPrefix“正常”)NsymbDL = 7;如果(国防部(enb.NSubframe 10) = = 0) symMappings = {12 [4];13 [5];6;7};elseif(国防部(enb.NSubframe 10) = = 5) & & enb。NDLRB > 15 symMappings = {(4 8 12);(5 9 13);10 [6];11 [7]};结束其他的NsymbDL = 6;如果(国防部(enb.NSubframe 10) = = 0) symMappings = {4;5;6;11};elseif(国防部(enb.NSubframe 10) = = 5) & & enb。NDLRB > 15 symMappings = {7 [4];8 [5];9 [6];11 [10]};结束结束结束%如果这是一个重复子帧,找到指数如果~ isempty (symMappings)%创建一个空的子帧网格sfgrid = lteDLResourceGrid (enb);sfgridRS = lteDLResourceGrid (enb);osymb = 1:4%对所有4 PBCH符号%提取出每个核心符号映射到一个或多个OFDM%符号coreOFDMsymb = pbchCoreSymbols (ofdmSymbols = = (osymb + NsymbDL));coreOFDMsymbRS = pbchCoreCellRSSymbols (ofdmSymbolsCellRS = = (osymb + NsymbDL));%映射到所有新的OFDM符号在当前重复%子帧m = 1:元素个数(symMappings {osymb, 1})%为当前创建索引符号(副载波%是一样的核心符号)symtoMap = symMappings {osymb 1} (m);sfgrid (pbchCoreSubcarriers (ofdmSymbols = = (osymb + NsymbDL)), symtoMap,:) = coreOFDMsymb;sfgridRS (pbchCellRSCoreSubcarriers (ofdmSymbolsCellRS = = (osymb + NsymbDL)), symtoMap,:) = coreOFDMsymbRS;结束结束%按照TS 36.211节6.6.4,PBCH重复和细胞RS%重复穿刺的CSI (& ZP CSI) RS信号。如此清晰%这些职位csirsIndices = lteCSIRSIndices (enb);sfgrid (csirsIndices) = 0;sfgridRS (csirsIndices) = 0;%现在PBCH重复符号和指数pbchrepIndices =找到(sfgrid);pbchrepSymbols = sfgrid (pbchrepIndices);%现在CellRS重复符号和指数pbchCellRSrepIndices =找到(sfgridRS);pbchCellRSrepSymbols = sfgridRS (pbchCellRSrepIndices);结束结束%得到MPBCH核心部分符号函数mpbchCoreSym = getMPBCHCore (enb) bchBits = lteMIB (enb);pbchBits = lteBCH (enb bchBits);mpbchCoreSym = ltePBCH (enb pbchBits);%重塑继续4帧的四个部分mpbchCoreSym =重塑(mpbchCoreSym元素个数(mpbchCoreSym) / 4, 4);结束%得到绝对的子帧数在一个框架用于最后一次%的传输通道函数sfsnumlastFrame = getlastabsSF (dlsfs totmtcSubframes) sfslastFrame =国防部(totmtcSubframes, sum (dlsfs));%子帧在最后一帧tx如果sfslastFrame%找到相对应的子帧数最后一子帧传输sfsnumlastFrame =找到(dlsfs sfslastFrame);sfsnumlastFrame = sfsnumlastFrame(结束);其他的%不需要分帧sfsnumlastFrame = 0;结束结束