主要内容

LTE下行链路信道估计和均衡

此示例显示如何使用LTE工具箱™创建帧的数据,通过衰落通道并执行信道估计和均衡。创建两个图形,示出了接收和均衡的帧。

介绍

此示例显示了如何使用来自LTE工具箱的功能创建简单的发射机 - 通道接收器模拟。该示例在一个天线端口上生成一个值的数据。由于在该示例中未创建传输信道,则数据是随机位,QPSK调制并映射到子帧中的每个符号。将小区特定的参考信号和主和次级同步信号创建并映射到子帧。单独生成10个子帧以创建帧。框架是OFDM调制,通过扩展车辆型号(EVA5)衰落通道,添加和解调添加白色高斯噪声。使用信道和噪声估计的MMSE均衡,最后绘制接收和均衡资源网格。

单元格设置

单元格范围的设置在结构中指定eNB..此示例中使用的许多函数需要下面指定的设置的子集。在该示例中,仅使用一个发射天线。

enb。NDLRB = 15;%资源块数enb.cellrefp = 1;%一个传输天线端口enb。NCellID = 10;%细胞IDenb。CyclicPrefix ='普通的';正态循环前缀eNB.DuplexMode ='FDD';%FDD.

信噪比配置

工作信噪比以分贝值为单位进行配置SNRDB.它也被转换成线性信噪比。

SNRDB = 22;期望的信噪比在dB信噪比= 10 ^ (SNRdB / 20);%线性snr.rng (“默认”);%配置随机数生成器

频道模型配置

使用结构配置通道模型。在该示例中,使用具有扩展车辆A(EVA)延迟分布和120Hz多普勒频率的衰落通道。设置这些参数以及MIMO相关性和其他通道模型特定参数。

cfg.seed = 1;%沟道种子cfg。NR.xAnts = 1;% 1接收天线cfg。DelayProfile =“爱娃”;%EVA延迟传播cfg.dopplerfreq = 120;%120Hz多普勒频率cfg。MIMOCorrelation ='低的';%低(否)MIMO相关性cfg.inittime = 0;%零初始化为零cfg.nterms = 16;衰落模型中使用的振荡器cfg。ModelType =“GMEDS”;%瑞利衰落模型类型cfg.initphase =.“随机”;%随机初始阶段cfg.normalizepathgains ='上';%标准化延迟配置文件cfg.normalizetxants ='上';传输天线的%标准化

信道估计配置

用户定义的窗口用于平均导频符号以降低噪声的效果。平均窗口大小以资源元素(RES),时间和频率在一起。在该示例中使用保守派的9×9窗口,作为EVA延迟配置文件,120Hz多普勒频率导致通道随时间和频率快速变化。9×9窗口包括在平均时立即围绕着感兴趣的飞行员的4个飞行员。选择平均窗口信道估计

cec.pilotaverage =.'用户自定义';%飞行员平均方法cec.freqwindow = 9;频率平均窗口在REscec.timewindow = 9;res中的%time平均窗口

通过导频估计之间的信道估计器来执行插值以创建所有RE的信道估计。为了改进估计,可以在内插时使用多个子帧。具有居中插值窗口的3个子帧的插值窗口使用来自3个连续子帧的导频估计来估计中心子帧。

cec.interpype =.'立方体';%三次插值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 = RANDI([0 1],NumberOfbits,1);%调制输入位inputSym = lteSymbolModulate (inputBits,“正交相移编码”);

帧生成

将通过在循环内生成各个子帧并将每个创建的子帧附加到先前子帧来创建帧。附加子帧的集合包含在内txgrid..这个附加重复十次来创建一个帧。当OFDM调制的时域波形通过一个信道时,该波形将经历一个延迟。为了避免由于这个延迟而导致任何样本丢失,会产生额外的子帧,因此总共会产生11个子帧。对于每一个子帧,添加细胞特定参考信号(细胞RS)。增加了主同步信号(PSS)和次同步信号(SSS)。注意,这些同步信号只出现在子帧0和5中,但是LTE工具箱负责在其他子帧中生成空信号和索引,因此这里的调用语法可以跨子帧完全统一。

帧内所有子帧的百分比为了SF = 0:10%设置子帧号enb.nsubframe = mod(sf,10);%生成空子帧子帧= lteDLResourceGrid (enb);%映射到网格的输入符号子帧(:) = inputsym;%生成同步信号psssym = ltepss(eNB);SSSSYM = LTESS(eNB);pssind = ltepssindices(eNB);SSSIND = LTESSINDICES(eNB);%映射到网格的同步信号子帧(pssInd) = pssSym;子帧(sssInd) = sssSym;%生成小区特定的参考信号符号和索引Cellrssym = LTECellrs(eNB);cellrsind = ltecellrsindices(eNB);%映射单元格特定的参考信号到网格子帧(Cellrsind)= Cellrssym;将子帧附加到要传输的网格txgrid = [txgrid子帧];%#好的结尾

OFDM调制

为了将频域OFDM符号转换为时域,需要OFDM调制。这是实现的lteofdmodulate..该函数返回两个值;矩阵txwaveform.和一个结构信息包含采样率。txwaveform.是结果的时域波形。每个列包含每个天线端口的时域信号。在此示例中,仅使用一个天线端口,只返回一个列。info.samplingrate.是产生时域波形时的采样率。通道模型需要这个值。

[TxWaveForm,Info] = LTEOfdmodulate(eNB,TxGrid);txgrid = txgrid(:,1:140);

衰落信道

时域波形通过通道模型(LTEFADINGCHANNEL.),由结构配置CFG..信道模型要求时域波形的采样率,因此参数cfg.samplingrate.设置为返回的值lteofdmodulate..由信道模型函数产生的波形包含每个接收天线一列。在本例中使用一个接收天线,因此返回的波形有一列。

cfg.samplingrate.=info.samplingrate.;%通过衰落通道模型传递数据rxwaveform = ltefadingChannel(CFG,TxWaveForm);

添加剂噪声

SNR是给出的 S. N R. = E. S. / N 0. 在哪里 E. S. 是感兴趣的信号的能量和 N 0. 是噪音力量。在OFDM解调之前添加的噪声将由FFT放大。因此,要将接收器(OFDM解调后)标准化SNR,必须缩放噪声。扩增是FFT大小的平方根。FFT的大小可以从时域波形的采样率确定(info.samplingrate.)和副载波间距(15khz)。要添加的噪声的功率可以按比例放大 E. S. N 0. OFDM解调后归一化以达到所需的SNR(SNRDB.)。

计算噪声增益N0 = 1 /(√(2.0 * enb.CellRefP *双(info.Nfft)) *信噪比);%添加高斯白噪声噪声= N0 *复合物(Randn(randn(rxwaveform)),randn(size(rxwaveform)));%为接收的时域波形添加噪声rxwaveform = rxwaveform +噪声;

同步

使用所接收的时域信号中的信道引起的偏移量lteDLFrameOffset.这个函数返回一个值抵消这表示有多少采样波形被延迟。对于所有天线接收的波形,偏移被认为是相同的。接收到的时域波形,然后可以操纵以消除延迟使用抵消

offset = ltedlframeoffset(eNB,rxwaveform);rxwaveform = rxwaveform(1 + offset:结束,:);

OFDM解调

时域波形经过OFDM解调,变换到频域,重建资源网格。这是通过使用lteofdmdemodulate..得到的网格是一个三维矩阵。行数表示子载波数。列数等于一个子帧中的OFDM符号数。OFDM解调返回的网格经过时,其子载波数和符号数相同lteofdmodulate..网格中的平面的数量(第3维度)对应于接收天线的数量。

rxGrid = lteOFDMDemodulate (enb rxWaveform);

信道估计

在传输的资源网格的持续时间内创建频道的估计LtedlchanneLeStimate用来。信道估计函数由结构配置CEC.LtedlchanneLeStimate假设资源网格中的第一个子帧是子帧号enb.nsubframe.因此,必须在调用函数之前设置子帧号。在该示例中,整个接收的帧将在一个呼叫中估计,并且帧内的第一子帧是子帧编号。函数返回一个4-D阵列的复重权重,该信道适用于每个资源元素的每个资源元素可能的发射和接收天线组合。可能的组合基于eNodeB配置eNB.和接收天线的数量(由接收资源网格的大小决定)。第1维是子载波,第2维是OFDM符号,第3维是接收天线,第4维是发射天线。在本例中,使用一个发射天线和一个接收天线,因此尺寸estChannel是180 -的- 140 - 1 - 1。

enb.nsubframe = 0;[Estchannel,噪声] =拉登中限(eNB,CEC,RxGrid);

MMSE均衡

信道对接收的资源网格的影响被使用均衡lteEqualizeMMSE.此功能使用频道的估计值estChannel和噪音噪音均衡所接收的资源网格rxGrid.函数返回eqgrid.这就是均衡的网格。均化网格的尺寸与原始传输网格相同(txgrid.)在OFDM调制之前。

eqgrid = lteequalizemse(rxgrid,estchannel,噪音);

分析

将接收到的资源网格与均衡的资源网格进行比较。计算了传输与均衡网格与传输与接收网格之间的误差。这将创建两个矩阵(与资源数组大小相同),其中包含每个符号的错误。为了便于检查,接收和均衡的网格被绘制在对数刻度上使用冲浪hdbeLinkestimationequalizationResults.m..这些图表明,执行信道均衡极大地减少了接收到的资源网格中的错误。

%计算传输和均衡网格之间的误差eqError = txGrid - eqGrid;rxError = txGrid - rxGrid;%计算所有输入值的EVM预均衡接收信号的%EVM维生素与= comm.EVM;维生素。AveragingDimensions = [1 2];preEqualisedEVM =维生素(txGrid rxGrid);流(预均衡信号的RMS EVM百分比:% 0.3% f%%\n'......preEqualisedEVM);
预均衡信号的百分比RMS EVM:124.133%
后均衡接收信号的% EVMpostEqualisedEVM =维生素(txGrid eqGrid);流('均衡信号的百分比RMS EVM:%0.3f %% \ n'......postEqualisedEVM);
均衡信号的百分比RMS EVM:15.598%
%绘制接收和均衡的资源网格hdbeLinkestimationequalizationResults(RxGrid,EqGrid);

图包含轴。具有标题所接收的资源网格的轴包含类型曲面的对象。

图包含轴。具有标题均衡资源网格的轴包含类型表面的对象。

附录

此示例使用辅助功能: