这个例子展示了如何使用LTE工具箱™创建一个帧的数据,通过一个衰落信道和执行信道估计和均衡。创建了两个数据说明收到的帧。
这个例子显示了一个简单的transmitter-channel-receiver仿真可以使用LTE功能创建工具。示例生成一个帧的数据在一个天线端口。因为没有传输通道中创建这个示例数据随机比特,QPSK调制和映射到子帧中的每个符号。一个细胞特定参考信号和中小学创建和映射到子帧同步信号。十子帧生成单独创建一个框架。帧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);%线性信噪比rng (“默认”);%配置随机数生成器
配置使用的信道模型结构。在这个例子中衰落信道和延长车辆(EVA)延迟和120赫兹使用多普勒频率。这些参数以及MIMO相关和其他通道模型具体参数设置。
cfg。年代eed = 1;%通道种子cfg。NRxAnts = 1;% 1接收天线cfg。DelayProfile =“爱娃”;% EVA延迟扩展cfg。DopplerFreq = 120;% 120 hz多普勒频率cfg。MIMOCorrelation =“低”;%低(无)天线系统的相关性cfg。InitTime = 0;%初始化时为零cfg。NTerms = 16;%振荡器用于衰落模型cfg。ModelType =“GMEDS”;%瑞利衰落模型类型cfg。InitPhase =“随机”;%随机初始阶段cfg。NormalizePathGains =“上”;%正常化延迟概要文件的权力cfg。NormalizeTxAnts =“上”;%正常化传输天线
一个用户定义的窗口用于飞行员符号平均减少噪声的影响。方面的平均窗口大小配置资源元素(REs),在时间和频率。保守9-by-9窗口中使用这个例子作为一个伊娃延迟概要和120赫兹多普勒频率导致通道迅速随时间和频率的变化。9-by-9窗口包括4飞行员平均时立即周围感兴趣的飞行员。选择一个平均窗口中讨论信道估计。
cec。PilotAverage =“UserDefined”;%飞行员平均方法cec。FreqWindow = 9;在REs %频率平均窗口cec。TimeWindow = 9;%的时间平均在REs窗口
插值是由飞行员之间的信道估计估计创建一个对所有研究改善信道估计估计多个子帧插值时可以使用。一个插值窗口为中心的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)numberOfBits = K * L * P * 2;%建立随机比特流inputBits =兰迪([0 1]numberOfBits 1);%调节输入位inputSym = lteSymbolModulate (inputBits,“正交相移编码”);
框架将通过生成创建一个循环中的各个子帧,将每个子帧创建附加到前面的子帧。附加的子帧中包含txGrid
。这个附加是重复十次来创建一个框架。在时域OFDM调制波形通过一个通道的波形将会延迟。避免任何样本被错过由于延迟生成额外的子帧,因此11子帧生成。对于每个子帧特异性参考信号(细胞RS)补充道。主同步信号(PSS)和辅助同步信号(SSS)也补充道。注意,这些只发生在子帧同步信号0和5,但生成的LTE工具箱负责空信号和其他指标的子帧的调用语法可以完全统一的子帧。
%为所有子帧画面中为科幻小说= 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调制是必需的。这是通过使用lteOFDMModulate
。函数返回两个值;一个矩阵txWaveform
和结构信息
包含采样率。txWaveform
由此产生的时域波形。每一列包含每个天线的时域信号端口。在本例中,只使用一个天线端口,只返回一列。info.SamplingRate
是时域波形的采样率。这个值所需的信道模型。
[txWaveform,信息]= lteOFDMModulate (enb txGrid);txGrid = txGrid (:, 1:140);
时域波形通过信道模型(lteFadingChannel
)配置的结构cfg
。通道模型需要时域波形的采样率参数cfg.SamplingRate
将返回的值lteOFDMModulate
。生成的波形信道模型函数包含一列每接收天线。在这个例子中使用一个接收天线,因此返回的波形有一列。
cfg.SamplingRate=info.SamplingRate;%通过衰落信道模型传递数据txWaveform rxWaveform = lteFadingChannel (cfg);
信噪比是由
在哪里
感兴趣的信号的能量和吗
噪声功率。噪声添加由FFT OFDM解调之前将被放大。因此规范化接收机的信噪比(OFDM解调之后)噪声必须按比例缩小的。放大是根号FFT的大小。FFT的大小可以确定从时域波形的采样率(info.SamplingRate
)和副载波间距(15 kHz)。添加噪声的力量可以这样
和
是归一化后OFDM解调来实现所需的信噪比(SNRdB
)。
%计算噪声增益N0 = 1 / (√(2.0 * enb.CellRefP *双(info.Nfft)) *信噪比);%建立加性高斯白噪声噪音= N0 *复杂(randn(大小(rxWaveform)), randn(大小(rxWaveform)));%添加噪声时域波形rxWaveform = rxWaveform +噪声;
造成的抵消信道在时域接收到的信号是获得使用lteDLFrameOffset
。这个函数返回一个值抵消
这表明多少样品波形被推迟。偏移量被认为是在所有天线收到的波形相同。接收到的时域波形可以操纵消除延迟使用抵消
。
抵消= lteDLFrameOffset (enb rxWaveform);rxWaveform = rxWaveform(1 +抵消:最终,);
时域波形进行OFDM解调,将其转换为频域网格并重新创建一个资源。这是完成使用lteOFDMDemodulate
。生成的网格是一个三维矩阵。的行数代表副载波的数量。列的数量等于OFDM符号的子帧的数量。副载波和符号的数量是相同的返回网格从OFDM解调网格传入lteOFDMModulate
。飞机的数量(三维)网格对应接收天线的数量。
rxGrid = lteOFDMDemodulate (enb rxWaveform);
创建一个估计的信道传播资源网格的持续时间lteDLChannelEstimate
使用。信道估计函数的配置结构cec
。lteDLChannelEstimate
假设资源网格内的第一子帧子帧数enb.NSubframe
因此子帧数调用函数前必须设置。在这个例子中整个接收帧将被估计在一个叫第一子帧内帧子帧数是0。复杂的权重的函数返回一个四维数组中的通道适用于每个资源元素传播网格为每个可能的传输和接收天线组合。可能的组合是基于eNodeB配置enb
和接收天线的数量(由收到资源网格的大小)。第一个维度是副载波,第二个维度是OFDM符号,第三维度是接收天线和第四维度是传输天线。在这个例子中一个传输和接收天线使用的大小estChannel
是180 -的- 140 - 1 - 1。
enb.NSubframe=0;[estChannel,噪音]= lteDLChannelEstimate (cec, enb rxGrid);
收到的频道资源网格的影响是平衡的lteEqualizeMMSE
。这个函数使用信道的估计estChannel
和噪音噪音
平衡收到资源网格rxGrid
。函数返回eqGrid
这是平衡的电网。平衡的网格的尺寸是一样的原始网格(传播txGrid
OFDM调制前)。
eqGrid = lteEqualizeMMSE (rxGrid estChannel、噪音);
接收到的资源网格是网格较平衡的资源。之间的误差传播和平衡的网格和网格计算发送和接收。这将创建两个矩阵(资源数组大小一样),包含每个符号错误。为了便于检查接收到的和平衡的电网经过对数运算后使用冲浪
在hDownlinkEstimationEqualizationResults.m
。这些图显示执行通道均衡大大减少了错误在收到资源网格。
%计算误差传播和平衡的电网eqError = txGrid - eqGrid;rxError = txGrid - rxGrid;%计算所有输入值的维生素%的维生素与pre-equalized接收信号维生素与= comm.EVM;维生素。AveragingDimensions = (1 - 2);preEqualisedEVM =维生素(txGrid rxGrid);流(的百分比RMS维生素Pre-Equalized信号:% 0.3 f % % \ n ',…preEqualisedEVM);
RMS维生素Pre-Equalized信号百分比:124.133%
%的维生素与post-equalized接收信号postEqualisedEVM =维生素(txGrid eqGrid);流(的百分比RMS维生素Post-Equalized信号:% 0.3 f % % \ n ',…postEqualisedEVM);
RMS维生素Post-Equalized信号百分比:15.598%
%绘制收到和平衡的资源网格hDownlinkEstimationEqualizationResults (rxGrid eqGrid);
下面的例子使用了辅助功能: