主要内容

手机搜索、MIB和SIB1复苏

这个例子展示了如何使用LTE工具箱™完全同步解调和解码现场eNodeB信号。在用户设备(UE)可以与网络通信必须执行单元的搜索和选择程序和获取初始系统信息。这涉及到收购槽和帧同步,发现细胞身份和解码主信息块(MIB)和系统信息块(兄弟姐妹)。这个例子演示了这一过程和解码MIB和SIB1,第一个系统信息块。解码MIB和SIB1综合接收机是必需的,能够解调和解码的大多数下行通道和信号。

介绍

为了与网络通信问题必须得到一些基本的系统信息。这是由MIB和兄弟姐妹。MIB携带最基本系统信息:

  • 系统带宽

  • 系统帧数(SFN)

  • 物理混合自动重发请求(HARQ)指示器通道(PHICH)配置

MIB是进行了广播频道(BCH)映射到物理广播信道(PBCH)。这是传播与一个固定的编码和调制方案,可以解码后初始细胞搜索过程。的信息从MIB问题现在可以获得解码格式控制指标(CFI),这表明物理下行控制信道(PDCCH)长度。这允许PDCCH解码,寻找下行控制信息(DCI)消息。DCI的信息与系统信息广播网络临时CRC蒙面标识符(SI-RNTI)表明SIB在同一子帧。兄弟姐妹是广播控制信道的传输(BCCH)逻辑通道。一般来说,BCCH消息进行下行共享信道(DL-SCH)和物理下行共享信道上传输(PDSCH)。PDSCH传输的格式和资源分配是由DCI消息PDCCH上表示。

这个例子中解码MIB和SystemInformationBlockType1 (SIB1)。后者是传送到指定其他系统的调度信息,随着细胞的身份等方面公共陆地移动网络(PLMN)身份。虽然在一个固定的时间表,SIB1传播PDSCH携带SIB1是动态的资源分配和DCI表示在一个相关消息。

加载和处理I / Q波形

MATLAB®可以用来获得从一个广泛的I / Q数据使用仪器控制工具箱™工具。在这个例子中单个天线的I / Q capture eNodeB两个传输天线使用。捕获执行15.36 Msamples / s足以正确样品所有有效eNodeB带宽10 MHz: 1.4 MHz, 3兆赫,5 MHz, 10 MHz。捕获的数据存储在文件eNodeBOutput.mat。

或者,可以生成一个合适的LTE信号使用LTE工具箱。这可以控制的变量loadFromFile

loadFromFile = 1;%在本地生成eNodeB输出设置为0

MIB对应于一个BCH传输块。BCH传输时间间隔(创科实业),或者发送一个传输块,所需的时间是40毫秒或4帧。BCH传播四部分,每个部分映射到第一子帧(帧的子帧0)和可能每个传输独立解码了,根据信号的条件。确保子帧收到0,捕捉应该至少11子帧长,占捕获的可能性是在子帧0开始。可怜的信号条件下,所有可能需要创科实业的4部分,在这种情况下,捕捉应该至少41子帧长。类似的情况申请SIB1;甚至是传播的子帧5架,有四个不同的冗余版本(旅游房车)传输连续给整个80毫秒或8帧。因此21子帧捕获需要确保接待一个房车SIB1(偶数帧的子帧5中),但是需要81子帧捕获如果信号条件下,所有的旅游房车都需要的总和。

如果loadFromFile负载eNodeBOutput.mat% I / Q capture eNodeB输出负载eNodeBOutput = (eNodeBOutput) / 32768年翻一番;%样本规模sr = 15.36 e6;%为加载样品采样率其他的rmc = lteRMCDL (“R.3”);% #好< UNRCH >rmc。NCellID = 17;rmc。TotSubframes = 41;rmc.PDSCH。RNTI = 61;% SIB参数rmc.SIB。使=“上”;rmc.SIB。DCIFormat =“Format1A”;rmc.SIB。所有ocationType = 0; rmc.SIB.VRBStart = 8; rmc.SIB.VRBLength = 8; rmc.SIB.Gap = 0;% SIB数据字段充满随机位,这不是一个有效的SIB%的消息rmc.SIB。Data =兰迪([0,1],176,1);[eNodeBOutput ~,信息]= lteRMCDLTool (rmc中,[1,0,0,1]);sr = info.SamplingRate;%生成的样本的采样率结束

解码MIB之前,问题不知道整个系统带宽。中小学同步信号(PSS和SSS)和PBCH(包含MIB)躺在中央72副载波资源(6块)系统的带宽,使问题最初解调就在中部地区。因此初步制定带宽资源块6。I / Q相应波形需要重新取样。在这个阶段我们也显示输入信号的频谱eNodeBOutput

%设置一些家务变量:%分离器的命令窗口日志记录分隔符= repmat (“- - -”1、50);%的情节如果(~ (“channelFigure”,“var”)| | ~ isvalid (channelFigure) channelFigure =图(“可见”,“关闭”);结束(简介、synchCorrPlot pdcchConstDiagram] =hSIB1RecoveryExamplePlots (channelFigure sr);% PDSCH维生素pdschEVM = comm.EVM ();pdschEVM。MaximumEVMOutputPort = true;%的采样率初始细胞建立搜索使用% lteOFDMInfo资源配置为6块。enb。CyclicPrefix设置%的临时调用lteOFDMInfo压制一个默认值%的警告(它不会影响采样率)。enb =结构;% eNodeB配置结构enb.NDLRB= 6;%资源块的数量ofdmInfo = lteOFDMInfo (setfield (enb“CyclicPrefix”,“正常”));% #好< SFLD >如果(isempty (eNodeBOutput))流(”不能为空。\ n \ nReceived信号”);返回;结束%显示接收信号频谱流(“\ nPlotting收到信号频谱…\ n”);简介(awgn (eNodeBOutput, 100.0));如果(sr ~ = ofdmInfo.SamplingRate)如果(sr < ofdmInfo.SamplingRate)警告(接收信号的采样率(% 0.3 fms / s)低于细胞搜索/ MIB译码所需的采样率(% 0.3 fms / s);手机搜索/ MIB解码可能会失败。”1、sr / 1 e6 ofdmInfo.SamplingRate / e6);结束流(的\ nResampling % 0.3 fms / s % 0.3 fms / s细胞搜索/ MIB解码…\ n '1、sr / 1 e6 ofdmInfo.SamplingRate / e6);其他的流(' \ nResampling不是必需的;接收信号在细胞搜索/ MIB译码所需的采样率(% 0.3 fms / s)。\ n”1、sr / e6);结束% Downsample接收信号nSamples =装天花板(ofdmInfo.SamplingRate /轮(sr) *大小(eNodeBOutput, 1));nRxAnts =大小(eNodeBOutput, 2);downsampled = 0 (nSamples nRxAnts);i = 1: nRxAnts downsampled (:, i) =重新取样(eNodeBOutput(:,我),ofdmInfo。SamplingRate圆(sr));结束
策划接收信号频谱……重采样从15.360 ms / s为1.920 ms / s细胞搜索/ MIB解码…

手机搜索、循环前缀长度和双工模式检测

调用lteCellSearch获得细胞身份和定时偏移量抵消第一帧头。细胞为每个组合搜索重复的循环前缀长度和双工模式,并结合最强的相关性可以确定这些参数。一块接收信号之间的相关性和PSS /瑞士发现细胞产生认同。检测到PSS使用时域相关性和瑞士使用频域相关检测。瑞士前检测、频率偏移估计/校正使用循环前缀执行相关。时域PSS检测健壮的小频率补偿,但更大的补偿将降低PSS相关。

流(“搜索…\ n \ nPerforming细胞”);%设置双工模式和循环前缀长度组合搜索;如果%这两种参数配置| enb |值%认为是正确的如果(~ isfield (enb“DuplexMode”))duplexModes = {“TDD”“FDD”};其他的duplexModes = {enb.DuplexMode};结束如果(~ isfield (enb“CyclicPrefix”))cyclicPrefixes = {“正常”“扩展”};其他的cyclicPrefixes = {enb.CyclicPrefix};结束%执行细胞搜索全双工模式和循环前缀长度%的组合和记录结合的最大相关性;如果%搜索配置多个细胞,这个例子将解码第一%(强大)检测细胞searchalg。MaxCellCount = 1;searchalg。SSSDetection =“PostFFT”;peakMax =无穷;duplexMode = duplexModescyclicPrefix = cyclicPrefixes enb。DuplexMode = DuplexMode {1};enb。CyclicPrefix = CyclicPrefix {1};[enb。NCellID、抵消、峰值]= lteCellSearch (enb, downsampled searchalg);enb。NCellID = enb.NCellID (1);抵消=抵消(1);峰=峰(1);如果(峰值> peakMax) enbMax = enb;offsetMax =抵消;peakMax =峰值;结束结束结束%使用细胞的身份,循环前缀长度、双工模式和时机%抵消使最大相关细胞搜索enb = enbMax;抵消= offsetMax;%计算相关的三种可能的主要细胞%的身份;细胞的相关身份的峰值%以上的峰值相比其他两个相关性%原代细胞的身份为了建立的质量%的相关性。相关系数=细胞(1、3);idGroup =地板(enbMax.NCellID / 3);i = 0:2 enb。NCellID = idGroup * 3 +国防部(enbMax。NCellID +我,3);{i + 1}] [~, corr = lteDLFrameOffset (enb downsampled);corr {i + 1} =总和(corr {i + 1}, 2);结束阈值= 1.3 *马克斯([corr {2};corr {3}]);%的乘数为1.3经验如果{1}(max (corr) <阈值)警告(的同步信号相关性弱;检测细胞的身份可能是不正确的。”);结束%回到最初发现细胞的身份enb。NCellID = enbMax.NCellID;%情节PSS /瑞士相关性和阈值synchCorrPlot。YLimits =[0马克斯([corr {1};阈值)* 1.1);{1}synchCorrPlot ([corr阈值*的(大小{1})(corr)]);%完成定时同步流(帧的定时偏移量开始:\ n % d样本”,抵消);downsampled = downsampled(1 +抵消:最终,);enb。NSubframe = 0;%显示单元范围的设置流(“它是设置后细胞搜索:\ n”);disp (enb);
执行单元的搜索…时间抵消帧开始:481个样本单元范围的设置后细胞搜索:NDLRB: 6 DuplexMode:“FDD”CyclicPrefix:“正常”NCellID: 17 NSubframe: 0

频率偏移估计和修正

OFDM解调之前,必须删除任何重要的频率偏移。I / Q波形的频率偏移估计和修正lteFrequencyOffsetlteFrequencyCorrect。频率偏移估计通过相关的循环前缀,因此可以估计补偿+ / -副载波间距的一半即+ / - 7.5 khz。

流(“……\ n \ nPerforming频差估计”);%对TDD, TDDConfig和SSC违约为0。这些参数不%建立于系统直到SIB1解码,所以在这个阶段%值0做最保守的假设(下行最少%子帧和最短的特殊的子帧)。如果(strcmpi (enb.DuplexMode“TDD”enb))。TDDConfig = 0;enb。SSC = 0;结束delta_f = lteFrequencyOffset (enb downsampled);流(“频率偏移:% 0.3 fhz \ n”,delta_f);downsampled = lteFrequencyCorrect (enb downsampled delta_f);
执行频率偏移估计…频率偏移:-14.902赫兹

OFDM解调和信道估计

OFDM downsampled I / Q波形解调产生资源网格rxgrid。这是用于执行信道估计。命令信道估计,是一个估计的噪声(MMSE均衡)和cec信道估计是配置。

信道估计的例子假设4细胞特定参考信号。这意味着每个接收机天线信道估计从所有可能的特异性参考信号端口可用。特异性的真实数量参考信号端口还不知道。信道估计是只执行第一子帧,即首先使用lOFDM符号rxgrid

保守13-by-9飞行员平均使用窗口,频率和时间,减少噪音的影响在飞行员估计信道估计。

%信道估计配置cec。PilotAverage =“UserDefined”;%的试点,平均cec。FreqWindow = 13;%频率窗口大小cec。TimeWindow = 9;%的时间窗口大小cec。InterpType =“立方”;% 2 d插值类型cec。InterpWindow =“中心”;%插值窗口类型cec。InterpWinSize = 1;%插值窗口大小%假设4特异性首次解码尝试参考信号;%保证信道估计对所有特异性可用参考%的信号enb.CellRefP= 4; fprintf(“执行OFDM解调。\ n \ n”);griddims = lteResourceGridSize (enb);%资源网格尺寸L = griddims (2);%的OFDM符号数子帧% OFDM解调信号rxgrid = lteOFDMDemodulate (enb downsampled);如果(isempty (rxgrid))流(的定时同步后,信号比一副框架短所以没有进一步解调将被执行。\ n”);返回;结束%进行信道估计[命令,巢]= lteDLChannelEstimate (cec, enb rxgrid (::, 1: L));
执行OFDM解调……

PBCH解调,BCH译码、MIB解析

现在MIB解码以及特异性参考信号端口的数量在BCH CRC传播作为一个面具。这个函数ltePBCHDecode建立帧时间模4和返回的nfmod4参数。它还返回MIB位向量mib和真正的数量分为特异性参考信号端口enb.CellRefP在这个函数调用的输出。如果特异性参考信号端口的数量是解码enb.CellRefP = 0,这表明BCH译码失败。这个函数lteMIB用于解析位向量mib并将相关字段添加到配置结构enb。MIB解码后,存在于检测带宽enb.NDLRB

%解码MIB%提取资源元素(REs)对应PBCH从第一%子帧所有接收天线和信道估计流(“执行MIB解码…\ n”);pbchIndices = ltePBCHIndices (enb);[pbchRx, pbchHest] = lteExtractResources (pbchIndices rxgrid (::, 1: L),命令(:,:,1:L:));%解码PBCH[bchBits, pbchSymbols nfmod4 mib, enb。CellRefP] = ltePBCHDecode (pbchRx, enb pbchHest、巢);%解析MIB比特enb = lteMIB (mib, enb);%将nfmod4 ltePBCHDecode输出函数值,% NFrame值建立MIB的系统帧数% (SFN)模4(存储在MIB地板(SFN / 4))enb。NFrame = enb.NFrame + nfmod4;% MIB解码后显示细胞宽设置流(“MIB解码后计算单元范围的设置:\ n”);disp (enb);如果(enb.CellRefP = = 0)流(的MIB解码失败(enb.CellRefP = 0)。\ n \ n”);返回;结束如果(enb.NDLRB = = 0)流(的MIB解码失败(enb.NDLRB = 0)。\ n \ n”);返回;结束
执行MIB解码…MIB解码后计算单元范围的设置:NDLRB: 50 DuplexMode:“FDD”CyclicPrefix:“正常”NCellID: 17 NSubframe: 0 CellRefP: 2 PHICHDuration:“正常”Ng:‘一个’NFrame: 406

OFDM解调全带宽

现在已知信号带宽,信号重新取样所使用的名义采样率LTE工具箱的带宽(见lteOFDMModulate详情)。频率偏移估计和校正进行重新取样信号。然后要进行时间同步和OFDM解调。

流(现在重新启动接收带宽(NDLRB = % d)是已知…\ n ',enb.NDLRB);%重新取样现在我们知道真正的带宽ofdmInfo = lteOFDMInfo (enb);如果(sr ~ = ofdmInfo.SamplingRate)如果(sr < ofdmInfo.SamplingRate)警告(接收信号的采样率(% 0.3 fms / s)低于所需的采样率NDLRB = % d (% 0.3 fms / s);PDCCH搜索/ SIB1解码可能会失败。”sr / 1 e6, enb.NDLRB ofdmInfo.SamplingRate / 1 e6);结束流(“\ nResampling从% 0.3 fms / s % 0.3 fms / s…\ n '1、sr / 1 e6 ofdmInfo.SamplingRate / e6);其他的流(' \ nResampling不是必需的;接收信号在NDLRB = % d所需的采样率(% 0.3 fms / s)。\ n”1、enb.NDLRB sr / e6);结束nSamples =装天花板(ofdmInfo.SamplingRate /轮(sr) *大小(eNodeBOutput, 1));重新取样= 0 (nSamples nRxAnts);i = 1: nRxAnts重新取样(:,i) =重新取样(eNodeBOutput(:,我),ofdmInfo。SamplingRate圆(sr));结束%进行频率偏移估计和修正流(“……\ n \ nPerforming频差估计”);delta_f = lteFrequencyOffset (enb、重新取样);流(“频率偏移:% 0.3 fhz \ n”,delta_f);重新取样= lteFrequencyCorrect(重新取样,enb delta_f);%找到帧的开始流(“\ nPerforming定时偏移估计…\ n”);抵消= lteDLFrameOffset (enb、重新取样);流(帧的定时偏移量开始:\ n % d样本”,抵消);%将信号与帧的开始重新取样=重新取样(1 +抵消:最终,);% OFDM解调流(“\ nPerforming OFDM解调。\ n \ n”);rxgrid = lteOFDMDemodulate (enb、重新取样);
重新启动接收现在的带宽(NDLRB = 50)是已知的……重采样不需要;接收信号是在所需的采样率NDLRB = 50 (15.360 ms / s)。执行频率偏移估计…执行定时偏移估计频率偏移:5.221赫兹……时间抵消帧开始:3848个样本进行OFDM解调……

SIB1解码

在本节中执行以下步骤:

  • 物理控制格式指示器通道(PCFICH)解调,CFI解码

  • PDCCH解码

  • 盲目PDCCH搜索

  • SIB比特恢复:PDSCH解调和DL-SCH解码

  • 缓冲和重置DL-SCH HARQ的状态

恢复后的SIB CRC应该是0。

这些解码步骤为每个发生在一个循环中执行的子帧携带SIB1收到信号。正如上面提到的,子帧5中的SIB1传播甚至每一帧,所以首先检查输入信号建立至少一个发生SIB1存在。对于每个SIB1子窗体,信道估计绘制级响应,收到PDCCH的星座。

%检查该框架包含SIB1,如果不是提前1我们提供框架%有足够的数据,否则终止。如果(mod (enb.NFrame, 2) ~ = 0)如果(大小(rxgrid, 2) > = (L * 10)) rxgrid (:, 1: (L * 10):) = [];流(“跳帧% d(奇数帧数不包含SIB1)。\ n \ n”,enb.NFrame);其他的rxgrid = [];结束enb。NFrame = enb。NFrame + 1;结束% 5子帧,或者终止如果我们有不到5子帧如果(大小(rxgrid, 2) > = (L * 5)) rxgrid (:, 1: (L * 5):) = [];%删除子帧0到4其他的rxgrid = [];结束enb。NSubframe = 5;如果(isempty (rxgrid))流(的接收信号不包含子帧携带SIB1。\ n \ n”);结束%重置HARQ缓冲区decState = [];%,我们还有更多的数据,试图解码SIB1(大小(rxgrid, 2) > 0)流(“% s \ n”、分离器);流(“SIB1解码帧% d \ n”,国防部(enb.NFrame, 1024));流(“% s \ n \ n”、分离器);%重置HARQ缓冲与每个新的SIB1 8帧%的信息可能会有所不同如果(mod (enb.NFrame 8) = = 0)流(“重置HARQ缓冲区。\ n \ n”);decState = [];结束%提取当前子帧rxsubframe = rxgrid (::, 1: L);%进行信道估计[命令,巢]= lteDLChannelEstimate (cec, enb rxsubframe);% PCFICH解调,CFI解码。CFI现在解调%解码使用类似的资源开采和解码功能%显示已经对BCH接待。lteExtractResources用于%从接收到的子帧中提取REs PCFICH对应% rxsubframe命令和信道估计。流(“解码CFI。\ n \ n”);pcfichIndices = ltePCFICHIndices (enb);%得到PCFICH指数[pcfichRx, pcfichHest] = lteExtractResources (pcfichIndices rxsubframe,命令);%解码PCFICHcfiBits = ltePCFICHDecode (pcfichHest, enb, pcfichRx巢);cfi = lteCFIDecode (cfiBits);%得到CFI如果(isfield (enb“CFI”)& & cfi ~ = enb.CFI)释放(pdcchConstDiagram);结束enb。CFI = CFI;流(“解码CFI值:% d \ n \ n ',enb.CFI);%对TDD, PDCCH必须解码盲目地在可能的值% PHICH配置因素m_i (0, 1, 2) TS36.211表6.9 - 1。% m_i值= 0,1和2可以通过配置TDD% uplink-downlink配置1,6 - 0。如果(strcmpi (enb.DuplexMode“TDD”)tddConfigs = (1 6 0);其他的tddConfigs = 0;%不用于FDD,只用于控制while循环结束alldci = {};(isempty (alldci) & & ~ isempty (tddConfigs))%配置TDD uplink-downlink配置如果(strcmpi (enb.DuplexMode“TDD”enb))。TDDConfig = tddConfigs (1);结束tddConfigs (1) = [];% PDCCH解调。现在PDCCH解调和解码%使用类似的资源开采和解码功能%显示已经对BCH和CFI接待pdcchIndices = ltePDCCHIndices (enb);%得到PDCCH指数[pdcchRx, pdcchHest] = lteExtractResources (pdcchIndices rxsubframe,命令);%解码PDCCH和星座[dciBits, pdcchSymbols] = ltePDCCHDecode (pdcchHest, enb, pdcchRx巢);pdcchConstDiagram (pdcchSymbols);% PDCCH盲目搜索系统(SI)和DCI解码的信息。% PDCCH的LTE工具箱提供了完整的盲目搜索% DCI RNTI指定的消息,在这种情况下,SI-RNTI。流(“PDCCH搜索SI-RNTI…\ n \ n”);pdcch =结构(“RNTI”,65535);pdcch。ControlChannelType =“PDCCH”;pdcch。EnableCarrierIndication =“关闭”;pdcch。SearchSpace =“普通”;pdcch。EnableMultipleCSIRequest =“关闭”;pdcch。EnableSRSRequest =“关闭”;pdcch。NTxAnts = 1;alldci = ltePDCCHSearch (enb pdcch dciBits);% PDCCH搜索DCI结束%如果DCI解码,进行解码PDSCH / DL-SCHi = 1:元素个数(alldci) dci = alldci {};流(“与SI-RNTI DCI消息:\ n”);disp (dci);%得到DCI PDSCH配置[pdsch, trblklen] = hPDSCHConfiguration (dci, enb pdcch.RNTI);%如果创建PDSCH配置,进行解码PDSCH% / DL-SCH如果~ isempty (pdsch) pdsch。NTurboDecIts = 5;流(“DCI解码后PDSCH设置:\ n”);disp (pdsch);% PDSCH解调和DL-SCH解码恢复SIB碎片。% DCI消息现在解析给的配置%的相应PDSCH SIB1, PDSCH%解调,最后接收到的比特DL-SCH解码%,收益率SIB1碎片。流(“解码SIB1。\ n \ n”);%得到PDSCH指数[pdschIndices, pdschIndicesInfo] = ltePDSCHIndices (pdsch, enb pdsch.PRBSet);[pdschRx, pdschHest] = lteExtractResources (pdschIndices rxsubframe,命令);%解码PDSCH[dlschBits, pdschSymbols] = ltePDSCHDecode (pdsch, enb pdschRx, pdschHest,巢);%解码DL-SCH HARQ结合软缓冲输入/输出如果~ isempty (decState)流(的重组与先前的传播。\ n \ n”);结束[sib1, crc, decState] = lteDLSCHDecode (pdsch, enb trblklen, dlschBits, decState);%计算PDSCH维生素记录= lteDLSCH (pdsch, enb pdschIndicesInfo。G, sib1);remod = ltePDSCH (enb pdsch记录);[~,refSymbols] = ltePDSCHDecode (pdsch, enb remod);[rmsevm, peakevm] = pdschEVM (refSymbols {1}, pdschSymbols {1});流(“PDSCH RMS维生素:% 0.3 f % % \ n ',rmsevm);流(' PDSCH高峰维生素:% 0.3 f % % \ n \ n”,peakevm);流(“SIB1 CRC: % d \ n”,crc);如果crc = = 0流(“成功SIB1复苏。\ n \ n”);其他的流(“SIB1解码失败。\ n \ n”);结束其他的%显示创建一个PDSCH DCI的配置%消息失败流(“创建从DCI PDSCH配置消息失败。\ n \ n”);结束结束如果(元素个数(alldci) = = 0)%显示DCI解码失败了流(“DCI解码失败。\ n \ n”);结束%更新信道估计阴谋图(channelFigure);冲浪(abs(命令(:,:,1,1)));hSIB1RecoveryExamplePlots (channelFigure);channelFigure.CurrentAxes。XLim =[0大小(命令,2)+ 1);channelFigure.CurrentAxes。YLim =[0大小(命令,1)+ 1];%跳过2帧,并尝试再次SIB1解码,如果我们或终止%剩下不到2帧。如果(大小(rxgrid, 2) > = (L * 20)) rxgrid (:, 1: (L * 20):) = [];%去除2更多的帧其他的rxgrid = [];%小于2帧了结束enb。NFrame =国防部(enb。NFrame + 2, 1024);结束
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SIB1解码帧406 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -解码CFI……解码CFI值:2 PDCCH搜索SI-RNTI…DCI SI-RNTI消息:DCIFormat:“Format1A”CIF: 0 AllocationType: 0配置:[1 x1 struct] ModCoding: 6 HARQNo: 0 NewData: 0房车:1 TPCPUCCH: 0 TDDIndex: 0 SRSRequest: 0 HARQACKResOffset: 0 DCI解码后PDSCH设置:RNTI: 65535 PRBSet: x1 uint64 [8] NLayers: 2 CSI:”“调制:{“正交相移编码”}房车:1 TxScheme:“TxDiversity”NTurboDecIts: 5解码SIB1……挣值管理PDSCH RMS维生素:27.072% PDSCH峰值都:75.981% SIB1 CRC: 0成功SIB1复苏。

附录

这个示例使用这些辅助函数。