LTE下行信道估计与均衡

该示例示出了如何使用LTE工具箱™创建数据的帧的价值,使其通过衰落信道和执行信道估计和均衡。两个图中创建示出所接收的和均衡的帧。

介绍

此示例示出了如何一个简单的发射机信道 - 接收器的仿真可以使用从LTE工具箱函数来创建。的示例生成的数据的帧的价值的一个天线端口。由于没有传送信道在该示例中创建的数据是随机比特,QPSK调制并映射到在子帧中的每个符号。小区特定参考信号,并且初级和次级同步信号被创建并映射到子帧。10个子帧分别产生以创建帧。该帧是OFDM调制,通过扩展的车载模型(EVA5)衰落信道通过,加性高斯白噪声添加和解调。使用信道和噪声估计MMSE均衡施加最后所接收的和均衡的资源网格绘制。

单元范围设置

小区范围的设置在一个结构中指定基站。许多用于本实施例的功能要求的下面指定的设置的一个子集。在这个例子中仅一个发射天线被使用。

enb.NDLRB = 15;资源块的数量%enb.CellRefP = 1;%一个发射天线端口enb.NCellID = 10;%小区IDenb.CyclicPrefix ='正常';%正常循环前缀enb.DuplexMode ='FDD';FDD%

信噪比配置

操作SNR以分贝由值配置SNRdB其也被转换成线性SNR。

SNRdB = 22;%所需SNR以dB为单位SNR = 10 ^(SNRdB / 20);%线性SNRRNG('默认');%配置随机数生成器

信道模型配置

信道模型是使用结构构成。在这个例子中,使用具有扩展的车载A(EVA)的延迟分布与120Hz的多普勒频率衰落信道。与MIMO相关和其他信道模型的特定参数沿这些参数集。

cfg.Seed = 1;%频道种子cfg.NRxAnts = 1;%1接收天线cfg.DelayProfile ='EVA';%EVA时延扩展cfg.DopplerFreq = 120;%120Hz的多普勒频率cfg.MIMOCorrelation ='低';%低(无)MIMO相关cfg.InitTime = 0;%初始化时间为零cfg.NTerms = 16;在衰落模型用于%振荡器cfg.ModelType ='GMEDS';%瑞利衰落模型类型cfg.InitPhase ='随机';%随机初始阶段cfg.NormalizePathGains ='上';%正常化延迟分布电源cfg.NormalizeTxAnts ='上';用于发射天线%规格化

信道估计配置

用户定义的窗口用于平均的导频符号,以减少噪声的影响。平均窗的大小在资源元素(RE),在时间和频率方面进行配置。保守9乘9窗口在这个例子中作为EVA延迟分布和120Hz的多普勒频率原因迅速在时间和频率信道的变化使用。A 9乘9窗口包括4个导频平均化时直接围绕所关注的导频。选择一个平均窗口中讨论信道估计的概念

cec.PilotAverage ='用户自定义';%导频平均化方法cec.FreqWindow = 9;在res%频率平均窗cec.TimeWindow = 9;在res%的时间平均窗

内插是由导频估计之间的信道估算器来执行创建用于所有RE的信道估计。为了提高估计多子帧插值可以时使用。的3个子帧具有位于中心的窗口内插的内插窗口使用从连续的3个子帧导频估计来估计中心子帧。

cec.InterpType ='立方体';%立方插值cec.InterpWinSize = 3;%插值最多3个子帧% 同时cec.InterpWindow =“中心”;%插值窗方法

子帧的资源网格大小

在这个例子中是有用的接入子帧资源网格的尺寸。这些使用确定lteDLResourceGridSize。该函数返回一个包含子载波的顺序数,OFDM符号的数目和发射天线端口数的阵列。

gridsize = lteDLResourceGridSize(ENB);K = gridsize(1);子载波的数量%L = gridsize(2);在一个子帧的OFDM符号的数量%P = gridsize(3);发射天线端口的数目%

传输资源网格

空资源网格txGrid创建将与子帧进行填充。

txGrid = [];

有效载荷数据生成

由于没有传送信道在该实施例中使用通过信道发送的数据将是随机的QPSK调制的符号。被创建符号的子帧值得这样一个符号可以被映射到每一个资源元素。需要用于发送和接收其他信号将覆盖资源网格这些符号。

所需要的比特数量%是资源网格(K * L * P)的大小*比特数%每符号(2 QPSK)numberOfBits = K * L * P * 2;%创建随机比特流inputBits =兰迪([0 1],numberOfBits,1);%调制输入比特inputSym = lteSymbolModulate(inputBits,'QPSK');

帧生成

该帧将通过环内产生单个子帧和追加每个所创建的子帧的以前子帧来创建。附加子帧的集合都包含在txGrid。这追加是重复10次以创建一个框架。当OFDM调制时域波形通过一个信道传递的波形将经历延迟。为了避免被错过任何样品由于该延迟产生一个额外的子帧,因此11子帧中总生成。对于每个子帧中的小区特定参考信号(RS细胞)加入。还加入主同步信号(PSS)和辅同步信号(SSS)。请注意,这些同步信号只发生在子帧0和5,但LTE工具箱负责生成中的其他子空信号和指标,使这里的调用语法可以跨子帧完全一致。

%对于帧中的所有子帧对于SF = 0:10%设定子帧号enb.NSubframe = MOD(SF,10);%生成空子子帧= lteDLResourceGrid(ENB);%映像输入符号电网子帧(:) = inputSym;%生成同步信号pssSym = ltePSS(ENB);sssSym = lteSSS(ENB);pssInd = ltePSSIndices(ENB);sssInd = lteSSSIndices(ENB);%地图同步信号到电网子帧(pssInd)= pssSym;子帧(sssInd)= sssSym;%生成小区特定参考信号符号和标记cellRsSym = lteCellRS(ENB);cellRsInd = lteCellRSIndices(ENB);%地图小区特定参考信号至电网子帧(cellRsInd)= cellRsSym;%追加子帧网格要被发送txGrid = [txGrid子帧]。%#好结束

OFDM调制

为了在频域中的OFDM符号变换成时域,需要OFDM调制。这是使用实现lteOFDMModulate。该函数返回两个值;矩阵txWaveform和结构信息含的采样率。txWaveform是得到的时域波形。每列包含各天线端口的时域信号。在这个例子中,因为只有一个天线端口被使用,则仅返回一列。info.SamplingRate在其时域波形创建的采样率。此值由信道模型所要求。

[txWaveform,信息] = lteOFDMModulate(ENB,txGrid);txGrid = txGrid(:,1:140);

衰落信道

时域波形通过信道模型传递(lteFadingChannel)由结构配置CFG。信道模型要求时域波形的采样速率,从而所述参数cfg.SamplingRate被设置为返回的值lteOFDMModulate。由信道模型函数产生的波形含有每接收天线一个列。在这个例子中一个接收天线被使用,因此返回的波形具有一列。

cfg.SamplingRate = info.SamplingRate;通过衰落信道模型%通行证数据rxWaveform = lteFadingChannel(CFG,txWaveform);

加性噪声

信噪比由下式给出 小号 ñ [R = Ë 小号 / ñ 0 哪里 Ë 小号 是感兴趣的信号的能量和 ñ 0 是噪声功率。OFDM解调之前添加的噪声将由FFT被放大。因此归一化在接收机(OFDM解调之后)的SNR噪声必须被缩放。扩增是FFT的大小的平方根。可以从时域波形的采样率(来确定FFT的大小info.SamplingRate)和子载波间隔(15千赫)。要添加的噪声的功率可被缩放,使得 Ë 小号 ñ 0 OFDM解调后归一化以获得所需的SNR(SNRdB)。

%计算噪声增益N0 = 1 /(SQRT(2.0 * * enb.CellRefP双(info.Nfft))* SNR);%创建加性高斯白噪声噪声= N0 *复合物(randn(大小(rxWaveform)),randn(大小(rxWaveform)));%增加噪声接收到的时域波形rxWaveform = rxWaveform +噪声;

同步

引起的偏移,通过使用获得的接收到的时域信号中的信道lteDLFrameOffset。这个函数返回一个值抵消这表明了多少样本波形已被推迟。被认为是在所有天线上接收到的波形相同的偏移量。然后,将接收的时域波形可以被操纵使用,以除去延迟抵消

偏移量= lteDLFrameOffset(ENB,rxWaveform);rxWaveform = rxWaveform(1 +偏移量:端,:);

OFDM解调

时域波形经历OFDM解调以将其转换到频域,并重新创建的资源网格。这是使用完成lteOFDMDemodulate。将得到的网格是三维基质。的行数表示子载波的数量。列数等于在一个子帧中的OFDM符号的数量。子载波和符号的数目是从OFDM解调返回的网格相同网格传递到lteOFDMModulate。面(第3尺寸)在网格对应的数目的数目个接收天线。

rxGrid = lteOFDMDemodulate(ENB,rxWaveform);

信道估计

要通过传输资源网格的持续时间创建信道的估计lteDLChannelEstimate用来。信道估计函数由以下结构构成CEClteDLChannelEstimate假定资源网格内的第一子帧帧号enb.NSubframe因此,子帧编号之前必须调用函数来设定。在该例子中整个接收到的帧将在一个呼叫被估计,并且在所述框架内的第一子帧是子帧号0。函数返回复权重的4 d阵列的信道适用于每个资源元素在所发送的网格的每个可能的发射和接收天线的组合。可能的组合是基于所述eNodeB配置基站和接收天线的数目(由接收到的资源网格的尺寸确定)。所述第一尺寸是子载波,所述第二尺寸是OFDM符号,所述第三尺寸为所述接收天线和所述第四尺寸是发射天线。在这个例子中一个发射与一个接收天线被使用,因此大小的estChannel是180通过-140×1×1。

enb.NSubframe = 0;[estChannel,noiseEst] = lteDLChannelEstimate(ENB,CEC,rxGrid);

MMSE均衡

所接收的资源网格中的信道的影响使用均衡lteEqualizeMMSE。该函数使用信道的估计estChannel和噪声noiseEst以均衡接收的资源网格rxGrid。该函数返回eqGrid这是均衡的网格。均衡的栅格的尺寸是相同的原始发送的网格(txGrid)OFDM调制之前。

eqGrid = lteEqualizeMMSE(rxGrid,estChannel,noiseEst);

分析

接收到的资源网格与均衡的资源网格进行比较。所发射的和均衡的网格和发送和接收网格之间的误差进行计算。这产生两个矩阵(大小相同的资源阵列)包含每个符号的误差。为了能够轻松地检查所接收到的和均衡的网格绘制在使用对数刻度冲浪hDownlinkEstimationEqualizationResults.m。这些图表明,执行信道均衡大幅度降低在所接收的资源网格的误差。

发送和均衡电网之间%计算误差eqError = txGrid  -  eqGrid;rxError = txGrid  -  rxGrid;%计算EVM所有输入值的%EVM预均衡接收信号EVM = comm.EVM;EVM.AveragingDimensions = [1 2];preEqualisedEVM = EVM(txGrid,rxGrid);fprintf中('预均衡信号的百分比RMS EVM:%0.3f %% \ N'...preEqualisedEVM);
百分比RMS预均衡信号的EVM:124.133%
的%EVM后均衡接收信号postEqualisedEVM = EVM(txGrid,eqGrid);fprintf中('均衡后信号的百分比RMS EVM:%0.3f %% \ N'...postEqualisedEVM);
百分比RMS均衡后信号的EVM:15.598%
%绘制接收和均衡的资源网格hDownlinkEstimationEqualizationResults(rxGrid,eqGrid);

附录

本例使用辅助函数: