介绍
开发5 g的新收音机(NR)无线系统需要广泛的模拟和测试。能够模拟系统在建筑前的行为提供了重要的成本效益,大大降低了整体时间发布新系统投入生产。尽管仿真的好处,最终在真实条件下系统需要测试使用原型发射器和接收器。无线测试(OTA)中扮演一个重要的角色在这个阶段的系统开发。无论你是模拟或测试系统空气,MATLAB®和仿真软金宝app件®可以帮助你移动你的无线系统从早期设计到生产。
挑战
当开发5 g无线系统,系统组件构成了设计的复杂性和测试的挑战。工程师需要解决以下问题:
- 遵守标准——你需要设计发射机和信道模型完全符合标准规范。这意味着开发算法,代表5 g的规范文档中描述的数学模型。
- 算法测试所需的参数范围——你必须生成一系列5 g-compliant测试信号,以确保所有可能的操作模式。您还需要添加各种射频损伤和使用大量的恢复信号接收机模型。所有这些增加了测试端到端链路级别的复杂性系统的性能。这里,误比特率(BER)等指标,块错误率(提单),误差向量幅度(维生素),和吞吐量用于验证系统性能符合设计规范。
- 测试设备验证——毕竟算法在硬件实现,您需要测试系统的性能与使用OTA hardware-under-test传输和/或接收。
- 集成测试和参数优化——最后,你需要确保所期望的性能标准可以在不同的变形条件下实现。执行测量资格在任何给定的时间多少失真可以容忍。
图1显示了一些关键部件。我们从用户数据如语音、视频,或文本,从更高层次的物理层通信堆栈。这些信息然后流到发射机子系统,它定义了所需的信道编码和调制生成基带IQ信号。例如,在一个5 g-compliant信号,信道编码可能包括low-density-parity检查(LDPC)或极性编码,这是一个编码方案,帮助纠正错误的噪声和干扰。一旦通道编码,数据会调制使用如QPSK调制方案,16 qam, 64 qam,或256 qam。然后使用MIMO技术,如波束形成。利用OFDM调制,基线信号生成和绘制在多个天线作为输出层和元素。然后产生的信号传输。
扭曲的通道传输信号后,它是获取和处理的接收器。这里,我们执行的“逆操作”在发射机恢复执行的最佳估计传播信息。这些操作包括同步和OFDM解调、信道估计和均衡,解调,descrambling和信道解码。
工作流
在本节中,我们将讨论如何应对许多挑战5 g系统设计和测试通过利用MATLAB,5 g工具箱™,仪器控制工具箱™,无线波形发生器的应用。我们将在整个测试和验证工作流程:
- 使用5 g波形发生器生成基带波形应用。
- 传输信号在空气中。
- 从一个信号读取智商数据分析仪/ TCP / IP。
- 执行测量收到5 g波形。
具体来说,我们将生成一个5 g NR测试模型(NR-TM)波形使用5 g波形发生器的应用和Keysight下载生成的波形®E4438C矢量信号发生器使用仪器控制工具箱进行无线传输。我们将会捕获无线信号传输使用Keysight N9030A信号分析仪和MATLAB分析信号。这个图表显示了通用工作流。
使用5 g波形发生器生成基带波形应用
首先你需要5 g测试波形。5 g工具箱附带功能,应用程序,和参考的例子,使您能够描述并生成5 g NR上行和下行波形。波形生成完成编程方式(通过编写MATLAB程序使用5 g工具箱函数)或交互(通过使用一个应用程序)。
无线波形发生器的应用程序本质上是一个用户界面,使波形生成的任务更简单、更互动。的应用程序,您可以创建一个各种各样的信号,包括5 g NR、LTE, 802.11 (wi - fi®),蓝牙®无需编写任何代码。为了评估射频设计对系统性能的影响,您可以添加障碍如相抵消,信号频率偏移,和智商不平衡。一旦您创建了你的信号,你可以想象内置的信号频谱分析仪。5 g NR标准定义了一组预定义的链接和波形配置一致性测试的目的。这些包括NR测试模型(NR-TM)为目的的基站(eNodeB)射频测试和下行固定参考通道(FRC)用户设备(UE)输入测试。
无线波形发生器的应用程序使您能够根据两个选择:生成波形预定义NR-TM或FRC集,或自定义设计5 g NR波形。让我们首先生成预定义的NR测试模型。
在MATLAB应用程序选项卡上,单击5 g波形发生器应用程序启动的应用程序。波形类型部分中,点击NR测试模型设置参数选中的波形。对于这个示例,我们选择以下参数:
- 集频率范围FR1 (410 mhz - 7.125 GHz)
- 集测试模型NR-FR1-TM3.1(完整的乐队,统一64 QAM)
- 集通道带宽(MHz)10
- 集副载波间距(赫兹)30
- 集双工模式,FDD
在应用程序将来发布,点击生成。现在的应用程序显示5 g NR测试信号的频谱。
通过一系列参数和不同类型的5 g NR波形,如上面高亮显示,您可以确保您的设计,各种测试条件。
频率范围在5 g是FR1,小于7兆赫,或FR2,毫米波。接下来,你选择一个带宽取决于频率范围和设置参数。然后,您可以选择不同的组件的一个信号。当你点击生成,应用程序会自动提供了两种信号的可视化。第一个可视化是一个标准的频域频谱分析仪的信号。第二可视化显示时间和频率资源网格。与出口选项卡上,您可以导出波形工作区文件或MATLAB脚本。你选择的所有选择定义波形反映在MATLAB中逐行参数化。可以使用此生成的MATLAB代码之外的应用程序生成一个各种各样的5 g波形进行大规模测试你的设计。
截至2021年发布一个MATLAB,您还可以使用无线波形发生器的应用程序来生成定制的下行和上行波形通道和信号分别通过设置参数。
指定参数的波形,可以使用不同的选项卡提供的应用程序。例如,如果你想生成自定义5 g下行波形,您可以配置选定的参数集的党卫军破裂(同步信号破裂)和PDSCH(物理下行共享信道)标签,和控制数据中包含PDCCH(物理下行控制信道)和CSI-RS(信道状态信息参考信号)选项卡。你可以分配多个用户不同的带宽(BP)和为每个用户分配不同的参数。图4显示了5 g的可视化结果NR下行自定义波形使用默认参数。
在本文的其余部分,我们使用的是NR-TM生成的波形。
发射无线信号
发出的信号在空气中,您可以使用发射机选项卡上的无线波形发生器的应用。在这里,你可以连接到信号从Keysight发电机,罗德与施瓦茨和其他供应商。应用程序支持信号金宝app发电机连接在TCP / IP和20或计划将驱动程序。您可以配置载波频率和输出功率的应用。应用自动发现信号发生器,通过TCP / IP连接接口。
很容易做到这一点。在发射机选项卡无线波形发生器的应用:
- 集司机安捷伦/ Keysight信号发生器计划
- 集中心频率(GHz)到3.4
- 集输出功率(dbM)到-15年
应用自动获得基带采样率从生成的波形。开始传播,我们需要做的就是点击传输在将来发布。在这一点上我们已经生成并传播5 g NR波形而无需编写任何代码。
读取智商数据信号分析仪
既然我们已经传送信号在空气中,我们需要接受IQ信号分析仪的数据。在我们的例子中,信号分析仪的天线接收信号。我们将使用MATLAB代码执行信号采集。下面的代码部分是代表和说明了关键步骤获取和分析在MATLAB中智商数据。获得完整的代码,看这个例子。
读取同相正交(智商)数据到MATLAB进行分析,我们首先配置Keysight N9030A信号分析仪使用仪器控制工具箱。我们将需要定义基于被测信号的仪器配置参数。
%频谱分析仪的设置参数centerFrequency = 3.4 e9;sampleRate = 15.36 e6;measurementTime = 20 e - 3;mechanicalAttenuation = 0;% dBstartFrequency = 3.39 e9;stopFrequency = 3.41 e9;resolutionBandwidth = 220年e3;videoBandwidth = 220000;
我们还需要连接到频谱分析仪之前执行这些步骤。可以实现这几行MATLAB代码。
- 找到的资源ID Keysight N9030A信号分析仪。
- 连接到仪器使用虚拟仪器软件体系结构(签证)接口。
- 调整输入缓冲区大小将仪器返回的数据。
- 设置超时,允许足够的时间测量和数据传输。
foundVISA = visadevlist;resourceID = foundVISA (foundVISA。模型= =“N9030A”、:).ResourceName;resourceID = resourceID(包含(resourceID,“N9030A”));sigAnalyzerObj = visadev (resourceID);sigAnalyzerObj。ByteOrder =“大端法”;sigAnalyzerObj。超时= 20;
接下来,我们重置仪器到一个已知状态使用适当的标准命令可编程仪器(计划)。查询仪器标识,以确保正确的仪器连接。
writeline (sigAnalyzerObj“* RST”);instrumentInfo = writeread (sigAnalyzerObj,“* IDN ?”);流(“仪器识别信息:% s”,instrumentInfo);
x系列信号和频谱分析仪进行智商测试以及光谱测量。在这个例子中,我们获得时域智商数据,使用MATLAB可视化数据,并执行信号分析获得的数据。配置仪器设置中心频率和触发属性和定义数据传输的格式,您可以使用命令详细计划例子。仪器设置后,我们准备获得波形。
获得智商波形,我们首先需要触发测量仪器进行测量,等待操作完成。在处理数据之前,我们将单独的I和Q组件从交叉从仪器接收到的数据并创建一个复杂的矢量在MATLAB如下面的代码示例所示。
作为第一步分析接收到的波形,我们可以捕捉和显示最近获取的数据信息,看看有多少分我们收购的最大和最小值的信号。
%触发并启动测量工具writeline (sigAnalyzerObj“*丹”);writeline (sigAnalyzerObj”:启动:波形”);%等到测量操作完成measureComplete = writeread (sigAnalyzerObj,“* OPC ?”);%读取IQ数据writeline (sigAnalyzerObj”:阅读:WAV0 ?”);data = readbinblock (sigAnalyzerObj“替身”);%分离数据和构建复杂的智商向量同相的=数据(1:2:结束);交=数据(2:2:结束);rxWaveform =同相的+ 1我*交;
writeline (sigAnalyzerObj”:获取:WAV1 ?”);signalSpec = readbinblock (sigAnalyzerObj,“替身”);%显示测量信息captureSampleRate = 1 / signalSpec (1);流(“采样率(Hz) = % s”num2str (captureSampleRate));
采样率(Hz) = 15360000
流(“点读的数量= % s”num2str (signalSpec (4)));
点读= 307201
流(“最大价值的信号(dBm) = % s”num2str (signalSpec (6)));
马克思的价值信号(dBm) = -39.0019
最小值的信号(dBm) = -107.9755
流(“最小值的信号(dBm) = % s”num2str (signalSpec (7)));
接下来,我们使用下面的代码来绘制了波形的频谱来确认接收信号的带宽。图6显示了信号带宽传输OTA看起来非常类似于带宽的信号,我们使用无线波形发生器生成应用程序。
%确保rxWaveform是一个列向量如果~ iscolumn (rxWaveform) rxWaveform = rxWaveform。”;结束%画出了信号的功率谱密度(PSD)spectrumPlotRx = dsp.SpectrumAnalyzer;spectrumPlotRx。SampleRate = captureSampleRate;spectrumPlotRx。SpectrumType =“能量密度”;spectrumPlotRx。PowerUnits =“dBm”;spectrumPlotRx。窗口=“汉明”;spectrumPlotRx。SpectralAverages = 10;spectrumPlotRx。YLimits = (-140 - -90);spectrumPlotRx。YLabel =“PSD”;spectrumPlotRx。ShowLegend = false;spectrumPlotRx。Title =“接收信号频谱:10 MHz 5 g NR-TM波形”;spectrumPlotRx (rxWaveform);
现在我们已经准备好执行额外的测量在收到智商数据。
执行测量收到5 g波形
信号传输空气后,接收机子系统是用来检测信号解调和解码。接收者解码信号之前,信道估计和均衡是用来战斗的影响由于对接收机的多路径信号衰落。解调参考信号(DM-RS)用于信道估计。一旦信号解调,进一步解码重建原始文本,视频或语音信号。
首先,使用generateWaveform
的函数hNRReferenceWaveformGenerator
helper文件提取相同的波形信息具体NR-TM我们使用无线波形发生器生成应用程序。
%设置NR-TM接收机的参数nrtm =“NR-FR1-TM3.1”;%参考通道bw =“10 mhz”;%通道带宽scs =“30千赫”;%副载波间距dm =“FDD”;%双工模式
tmwavegen = hNRReferenceWaveformGenerator (scs nrtm, bw, dm);[~,tmwaveinfo resourcesInfo] = generateWaveform (tmwavegen);
然后我们寻找粗频率偏移量的增量1千赫到100千赫使用解调参考符号(DM-RS)。
frequencyCorrectionRange = -100 e3:1e3:100e3;[rxWaveform, coarseOffset] = DMRSFrequencyCorrection (rxWaveform、captureSampleRate…frequencyCorrectionRange, tmwavegen, resourcesInfo);流(“粗频率偏移= %。0 f赫兹”,coarseOffset)
现在我们找好频率补偿使用DM-RS偏移量的增量5赫兹到100赫兹。
frequencyCorrectionRange = 100:5:100;[rxWaveform, fineOffset] = DMRSFrequencyCorrection (rxWaveform、captureSampleRate frequencyCorrectionRange, tmwavegen, resourcesInfo);流(“好频率偏移= %。1 f赫兹”,fineOffset)
维生素与测量
我们使用hNRPDSCHEVM
辅助函数来分析波形。函数执行以下步骤:
- 同步DM-RS在一帧频分双工(FDD),两个帧时分双工(TDD)
- 解调接收到的波形
- 估计通道
- 使得车内外的符号
- 常见的相位误差的估计和补偿(CPE)
下面的代码,我们定义的配置设置hNRPDSCHEVM
函数和输出结果。
cfg =结构();cfg。PlotEVM = true;%情节维生素与统计cfg。DisplayEVM = true;%打印维生素与统计cfg。标签= nrtm;%将TM捕获的波形cfg。SampleRate = captureSampleRate;%使用采样率在捕获[evmInfo, eqSym refSym] = hNRPDSCHEVM (tmwavegen.Config、rxWaveform cfg);
然后我们计算结果的维生素与信号。我们把RMS和峰值EVMs每个OFDM符号,槽和副载波。我们也算挣值管理的整体都挣值管理(RMS都平均超过完整的波形)。注意维生素的直流副载波也计算。根据您的实现,您可能不得不放弃副载波在整个信号质量评估。
观察维生素与测量资源网格的每个资源元素,我们注意到我们有合理的低失真在每副载波OFDM符号。星座图也证实,由此产生的16 qam信号可以很容易地解调和解码。
测量表明,该解调接收的波形是成功的。直流分量的干扰频谱分析仪的直流副载波导致高维生素值测量。两个辅助函数(DMRSFrequencyCorrection
和referenceGrid
)被用来协助处理5 g波形。这些都包括在完整的辅助功能例子代码。
总结
MATLAB便于设计和测试您的无线系统。5 g无线波形发生器的应用和工具箱,您可以生成5 g和其他标准的信号来模拟你的5 g通信系统在MATLAB编写任何代码。一旦你优化你的模拟、仪器控制工具箱和无线波形发生器的应用让你测试你的无线系统在现实条件下空气(OTA)使用标准的射频测试设备。
最后,您可以执行接收机操作和分析信号在MATLAB计算质量指标如维生素来验证你的设计。MathWorks工具让你专注于你的设计迭代和优化,帮助你加快你的设计从早期研究到生产。
你也可以从下面的列表中选择一个网站
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
欧洲