建模和测试的LTE射频接收器

这个例子演示了如何建模和使用LTE工具箱™和RF模块库™测试的LTE RF接收器。

型号说明

下图显示了本实施例中的主要部分。一个LTE波形使用LTE工具箱中产生。这个波形进行滤波,并将其输送到与RF模块库实现的RF接收器模型之前通过一传播信道来发送。这个模型是基于商用部件。然后被提供用于RF接收器的输出EVM数字。

这个例子是使用MATLAB®和Simulink®中,其在运行时进行交互来实现。万博1manbetx功能划分在下面的图中示出

在MATLAB脚本实现模拟测试台,和Simulink模型是被测(DUT)的装置。万博1manbetxLTE帧在测试台和DUT之间流式传输。

生成LTE波形

在本节中,我们生成使用LTE工具箱中的LTE波形。我们使用参考测量信道(RMC)R.6如TS 36.101 [定义1]。此RMC指定25个资源元素(RE)的带宽,相当于5兆赫。64 QAM调制。所有的RE分配。此外,OCNG噪声在未被使用的RE启用。

仅生成一个帧。然后,该帧将被重复许多次,以执行EVM测量。

%配置TS 36.101 25个RE(5兆赫),64-QAM,全部分配RMC = lteRMCDL('R.6');rmc.OCNGPDSCHEnable ='上';%创建具有固定PDSCH数据的eNodeB传输RNG(2);%固定的随机种子(任意)数据=兰迪([0 1],和(rmc.PDSCH.TrBlkSizes),1);%生成1帧,进行多次,以模拟总共N个帧的[TX,〜,信息] = lteRMCDLTool(RMC,数据);%1帧%计算的采样周期和帧的长度。SamplePeriod = 1 / info.SamplingRate;帧长=长度(TX);

初始化仿真组件

本节初始化一些模拟组件:

  • 限带滤波器:设计的滤波器系数,这将是由仿真模型中使用。万博1manbetx该过滤器具有顺序32,具有通带频率等于2.25兆赫,和阻带频率等于2.7兆赫。

  • 信噪比和信号能量

  • 帧的数量:这是被重复所产生的帧的次数

  • 预分配结果向量

%频带限制内插滤波器FiltOrd = 32;H = firpm(FiltOrd,[0 2.25e6 * 2 * SamplePeriod 2.7e6 * 2 * SamplePeriod 1],[1 1 0 0]);FilterDelaySamples = FiltOrd / 2;%滤波器群延迟%传播模型SNRdB = 57;%ES / NOC以dBNocdBm = -98;%NOC以dBm / 15kHz的NocdBW = NocdBm  -  30;%NOC在DBW / 15kHz57SNR = 10 ^(SNRdB / 10);%线性ES / NOCES = SNR *(10 ^(NocdBW / 10));%线性每RE居FFTLength = info.Nfft;SymbolPower = ES /双(FFTLength);模拟帧的%数N> = 1N = 3;%预分配向量结果N-1帧%EVM未在第一帧,以避免瞬态效应测量evmpeak =零(N-1,1);预分配%的结果evmrms =零(N-1,1);预分配%的结果

装入射频模块组测试平台

这部分负荷下图所示的Simulink模型。万博1manbetx该模型包括以下组件:

  • 阅读从工作区的LTE波形和采样周期

  • 带限滤波

  • 信道模型:这包括自由空间路径损耗和AWGN

  • RF接收器,其中包括直接转换解调器

  • ADC和DC偏移消除

  • 结果保存到工作区

%指定和开放的Simulink模型万博1manbetx模型='RFLTEReceiverModel';DISP(“开始的Simuli万博1manbetxnk”);open_system(模型);
Simulink的万博1manbetx开始

射频接收器模型

RF接收器模型包括下面示出的元件

该RF解调器包括下列组件,如下所示:

  • 本地振荡器(LO)和相位噪声模型

  • 相移I和Q分量发电机

  • 搅拌机

模拟框架

本节模拟帧的指定数量。这两个阶段完成:

  • 模拟的第一帧

  • 模拟帧的其余部分在一个循环

之所以在这两个阶段的分割处理是为了简化代码。在第一帧的处理,我们需要考虑到的限带滤波器的延迟。这不是为后续帧的情况下,由于过滤器状态被保持的帧之间。因此,第一帧的长度必须被稍微增加,以考虑到由滤波器引入的延迟。

模拟首个LTE帧

作为用于第一模拟的帧提到我们需要增加供给到Simulink模型的信号的长度,以补偿由滤波器引入的延迟。万博1manbetx接下来,我们推出了Simulink模型的模拟,而无需加载任何初始状态。万博1manbetx与仿真模型,它的状态处理第一帧之后(万博1manbetxxFinal)被存储并分配给xInitial下一次运行模型。

仿真模型的输出被存储在变量万博1manbetxRX,这是在工作区中可用。引入到该信号的任何延迟执行同步之后被去除。该EVM对所得到的波形进行测定。

%生成用于RF接收器的测试数据时间=(0:帧长+ FilterDelaySamples)* SamplePeriod;%追加到框架足够的样本的端部,以补偿延迟过滤器的%txWaveform =时间序列([TX; TX(1:FilterDelaySamples + 1)],时间);RF RX的%模拟RF模块库模型set_param(模型,'LoadInitialState'“关”);DISP(“模拟”);SIM(模型,时间(结束));%保存在xInitial下一帧处理的模型的最终状态xInitial = xFinal;%同步以接收波形偏移量= lteDLFrameOffset(RMC,挤压器(RX),'TestEVM');%在这种情况下偏移= FilterDelaySamples因此以下%的帧不需要同步
模拟

模拟连续LTE帧

现在帧的其余部分可以模拟。首先,模型状态被使用存储在设定值xInitial在上一次迭代的输出。

%先前帧的执行之后负载状态。因为我们都在重复着%同一帧中的模型状态将是每一帧执行后的相同。set_param(模型,'LoadInitialState''上'“初始化状态”'xInitial');%修改输入向量来考虑到带限的延迟过滤%RepeatFrame = [TX(FilterDelaySamples + 1:结束);TX(1:FilterDelaySamples + 1)];EVMalg.EnablePlotting =“关”;cec.PilotAverage ='TestEVM';对于n = 2时:N%对于所有剩余帧%数据生成时间=((N-1)*帧长度+(0:帧长)+ FilterDelaySamples)* SamplePeriod;txWaveform =时间序列(RepeatFrame,时间);%的Simulink万博1manbetx执行RF模块组测试平台SIM(模型,时间(结束));xInitial = xFinal;%保存模型状态%计算并显示EVM测量evmmeas = hPDSCHEVM(RMC,CEC,挤压器(RX),EVMalg);evmpeak第(n-1)= evmmeas.Peak;evmrms第(n-1)= evmmeas.RMS;结束
低边缘EVM,子帧0:2.907%高边缘EVM,子帧0:2.918%低边缘EVM,子帧1:2.651%的高边缘EVM,子帧1:2.665%的低边缘EVM,子帧2:2.925%高边缘EVM,子帧2:2.933%低边缘EVM,子帧3:3.428%的高边缘EVM,子帧3:3.422%低边缘EVM,子帧4:2.941%高边缘EVM,子帧4:2.956%低边缘EVM,子帧6:3.095%高边缘EVM,子帧6:3.091%低边缘EVM,子帧7:3.142%的高边缘EVM,子帧7:3.145%低边缘EVM,子帧8:3.195%的高边缘EVM,子帧8:3.195%低边缘EVM,子帧9:3.160%的高边缘EVM,子帧9:3.157%场均低边缘EVM,帧0:3.059%均得到高的边缘EVM,帧0:3.062%平均EVM,帧0:3.062%场均整体EVM:3.062%低边缘EVM,子帧0:2.889%高边缘EVM,子帧0:2.899%低边缘EVM,子帧1:2.625%的高边缘EVM,子帧1:2.640%低边缘EVM,子帧2:2.930%高边缘EVM,子帧2:2.938%低边缘EVM,子帧3:3.437%的高边缘EVM,子帧3:3.432%低边缘EVM,子帧4:2.905%高边缘EVM,子帧4:2.917%低边缘EVM,子帧6:3.114%的高边缘EVM,子帧6:3.109%低边缘EVM,子帧7:3.143%的高边缘EVM子帧7:3.145%低边缘EVM,子帧8:3.177%的高边缘EVM,子帧8:3.176%低边缘EVM,子帧9:3.144%的高边缘EVM,子帧9:3.141%场均低边缘EVM,帧0:3.051%均得到高的边缘EVM,帧0:3.054%平均EVM,帧0:3.054%场均整体EVM:3.054%

可视化测量EVM

本节绘制每个模拟帧中的测量的峰值和RMS EVM。

数字;积((2:N),100 * evmpeak,“邻”)标题('EVM峰值%');xlabel(“帧的数量”);数字;积((2:N),100个* evmrms,“邻”);标题('RMS EVM%');xlabel(“帧的数量”);

打扫干净

关闭Simulink万博1manbetx模型并删除生成的文件。

bdclose(模型);清除([模型,'_ACC']);

附录

此示例使用以下辅助功能:

选择的参考书目

  1. 3GPP TS 36.101“用户设备(UE)无线电发射和接收”